Skip to content

Commit

Permalink
[9420] Implement aura dummy effect for spell 35357
Browse files Browse the repository at this point in the history
Also adjusting dummy spell 45990 slightly, despawn after some time instead of die instantly.

Signed-off-by: NoFantasy <nofantasy@nf.no>
  • Loading branch information
NoFantasy committed Feb 20, 2010
1 parent 9ca439d commit 6442466
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
10 changes: 10 additions & 0 deletions src/game/SpellAuras.cpp
Expand Up @@ -2280,6 +2280,16 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
if (Unit* caster = GetCaster())
caster->CastSpell(caster, 13138, true, NULL, this);
return;
case 35357: // Spawn Feign Death
if (m_target->GetTypeId() == TYPEID_UNIT)
{
// flags not set like it's done in SetFeignDeath(), also this aura expected to be existing always/from spawn
m_target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_29);
m_target->SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH);

m_target->addUnitState(UNIT_STAT_DIED);
}
return;
case 39850: // Rocket Blast
if(roll_chance_i(20)) // backfire stun
m_target->CastSpell(m_target, 51581, true, NULL, this);
Expand Down
8 changes: 5 additions & 3 deletions src/game/SpellEffects.cpp
Expand Up @@ -1222,9 +1222,11 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT)
return;

m_caster->CastSpell(m_caster, 45991, true);
unitTarget->setDeathState(JUST_DIED);
unitTarget->SetHealth(0);
if (const SpellEntry *pSpell = sSpellStore.LookupEntry(45991))
{
unitTarget->CastSpell(unitTarget, pSpell, true);
((Creature*)unitTarget)->ForcedDespawn(GetSpellDuration(pSpell) + 1);
}
return;
}
case 50243: // Teach Language
Expand Down
2 changes: 1 addition & 1 deletion src/shared/revision_nr.h
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "9419"
#define REVISION_NR "9420"
#endif // __REVISION_NR_H__

0 comments on commit 6442466

Please sign in to comment.