Browse Source

Use std::move for premiumitems shift

pull/2218/head
qndel 5 years ago committed by Anders Jenbo
parent
commit
92d1006134
  1. 18
      Source/items.cpp

18
Source/items.cpp

@ -5,6 +5,7 @@
*/
#include "items.h"
#include <algorithm>
#include <climits>
#include <cstdint>
#include <bitset>
@ -4341,25 +4342,16 @@ void SpawnPremium(int pnum)
while (premiumlevel < lvl) {
premiumlevel++;
if (gbIsHellfire) {
premiumitems[0] = premiumitems[3];
premiumitems[1] = premiumitems[4];
premiumitems[2] = premiumitems[5];
premiumitems[3] = premiumitems[6];
premiumitems[4] = premiumitems[7];
premiumitems[5] = premiumitems[8];
premiumitems[6] = premiumitems[9];
premiumitems[7] = premiumitems[10];
premiumitems[8] = premiumitems[11];
premiumitems[9] = premiumitems[12];
// Discard first 3 items and shift next 10
std::move(&premiumitems[3], &premiumitems[12] + 1, &premiumitems[0]);
SpawnOnePremium(10, premiumlevel + premiumLvlAddHellfire[10], pnum);
premiumitems[11] = premiumitems[13];
SpawnOnePremium(12, premiumlevel + premiumLvlAddHellfire[12], pnum);
premiumitems[13] = premiumitems[14];
SpawnOnePremium(14, premiumlevel + premiumLvlAddHellfire[14], pnum);
} else {
premiumitems[0] = premiumitems[2];
premiumitems[1] = premiumitems[3];
premiumitems[2] = premiumitems[4];
// Discard first 2 items and shift next 3
std::move(&premiumitems[2], &premiumitems[4] + 1, &premiumitems[0]);
SpawnOnePremium(3, premiumlevel + premiumlvladd[3], pnum);
premiumitems[4] = premiumitems[5];
SpawnOnePremium(5, premiumlevel + premiumlvladd[5], pnum);

Loading…
Cancel
Save