diff --git a/src/Buffs.cpp b/src/Buffs.cpp index 430fab9..2369ddd 100644 --- a/src/Buffs.cpp +++ b/src/Buffs.cpp @@ -23,7 +23,7 @@ void Buff::onTick() { if(stack.durationTicks > 0) stack.durationTicks--; if(stack.durationTicks == 0) { it = stacks.erase(it); - stack.onExpire(self, &stack); + if(stack.onExpire != nullptr) stack.onExpire(self, &stack); } else it++; } } diff --git a/src/Items.cpp b/src/Items.cpp index 4eec2af..d2778f1 100644 --- a/src/Items.cpp +++ b/src/Items.cpp @@ -496,7 +496,7 @@ static void itemUseHandler(CNSocket* sock, CNPacketData* data) { eCSB, durationMilliseconds / MS_PER_PLAYER_TICK, sock, - BuffClass::CONSUMABLE, + BuffClass::CASH_ITEM, // or BuffClass::ITEM? Buffs::timeBuffUpdateAdd, nullptr, Buffs::timeBuffUpdateDelete, diff --git a/src/PlayerManager.cpp b/src/PlayerManager.cpp index a3b350c..8419a23 100644 --- a/src/PlayerManager.cpp +++ b/src/PlayerManager.cpp @@ -66,16 +66,6 @@ void PlayerManager::removePlayer(CNSocket* key) { // if the player was in a lair, clean it up Chunking::destroyInstanceIfEmpty(fromInstance); - // remove player's buffs from the server - auto it = Eggs::EggBuffs.begin(); - while (it != Eggs::EggBuffs.end()) { - if (it->first.first == key) { - it = Eggs::EggBuffs.erase(it); - } - else - it++; - } - std::cout << players.size() << " players" << std::endl; }