[10458] Changes to corpse decay/respawn times for creatures

*CORPSE_DECAY values adjusted (Rare/RareElite values are guessed) with more proper.
*RATE_CORPSE_DECAY_LOOTED is now 0.0 as default and a modifier of the creatures spawntimesecs are used for corpse decay.

Respawn time for creature is now set at death (result: database spawntimesecs are in most cases the time it takes from kill to respawn)

Overall, this will affect four things:
* corpse will stay visible longer before looted
* corpse will stay visible longer after looted, when creature has long respawn time
* creature without loot will "skip" the default decay times and then fix a "should respawn almost instant" -problem
* creature with loot and very short respawn time may respawn instantly after looted

Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
NoFantasy 2010-09-09 11:57:20 +02:00
parent c196045d15
commit 334398b3f7
7 changed files with 95 additions and 55 deletions

View file

@ -797,7 +797,10 @@ uint32 Unit::DealDamage(Unit *pVictim, uint32 damage, CleanDamage const* cleanDa
cVictim->DeleteThreatList();
// only lootable if it has loot or can drop gold
cVictim->PrepareBodyLootState();
// may have no loot, so update death timer if allowed
cVictim->AllLootRemovedFromCorpse();
}
// Call creature just died function
if (cVictim->AI())
cVictim->AI()->JustDied(this);