remove corpse owner on every corpse after every 10s

This commit is contained in:
ErikasKontenis 2019-11-13 21:26:42 +02:00
parent ae7672ee55
commit 93f6c328fc
3 changed files with 7 additions and 1 deletions

View File

@ -712,6 +712,7 @@ bool Creature::dropCorpse(Creature* lastHitCreature, Creature* mostDamageCreatur
if (corpse) {
g_game.internalAddItem(tile, corpse, INDEX_WHEREEVER, FLAG_NOLIMIT);
g_game.startDecay(corpse);
g_scheduler.addEvent(createSchedulerTask(10000, std::bind(&Game::RemoveCorpseOwner, &g_game, corpse)));
}
//scripting event - onDeath

View File

@ -3762,6 +3762,11 @@ void Game::internalDecayItem(Item* item)
}
}
void Game::RemoveCorpseOwner(Item* item)
{
item->removeAttribute(ITEM_ATTRIBUTE_CORPSEOWNER);
}
void Game::checkDecay()
{
g_scheduler.addEvent(createSchedulerTask(EVENT_DECAYINTERVAL, std::bind(&Game::checkDecay, this)));

View File

@ -485,7 +485,7 @@ class Game
void setBedSleeper(BedItem* bed, uint32_t guid);
void removeBedSleeper(uint32_t guid);
bool reload(ReloadTypes_t reloadType);
void Game::RemoveCorpseOwner(Item* item);
Groups groups;
Map map;
Raids raids;