Core/Scripts: Boss Gluth + Spell Infected Wound ... (#937)

* Fixed infinite stacks (and eventually crash) of infected wound. (Also fixes the stranglethorn vale zombies' DoT stack issue and all the mobs using that spell)
* Fixed zombie spawn location (3 gates, only 1 used in 10man, all 3 in 25)
* Fix Gluth's "Zombie Chow" distance, now it's blizzlike. Closes #736
This commit is contained in:
FALL1N1
2018-07-06 16:23:42 +03:00
committed by Barbz
parent c15444a18e
commit cbc5172b1c
2 changed files with 16 additions and 9 deletions

View File

@@ -3099,6 +3099,7 @@ void SpellMgr::LoadSpellCustomAttr()
case 34655: // Snake Trap, Deadly Poison case 34655: // Snake Trap, Deadly Poison
case 11971: // Sunder Armor case 11971: // Sunder Armor
case 58567: // Player Sunder Armor case 58567: // Player Sunder Armor
case 29306: // Naxxramas(Gluth's Zombies): Infected Wound
spellInfo->AttributesCu |= SPELL_ATTR0_CU_SINGLE_AURA_STACK; spellInfo->AttributesCu |= SPELL_ATTR0_CU_SINGLE_AURA_STACK;
break; break;
case 43138: // North Fleet Reservist Kill Credit case 43138: // North Fleet Reservist Kill Credit

View File

@@ -76,7 +76,7 @@ public:
void MoveInLineOfSight(Unit *who) void MoveInLineOfSight(Unit *who)
{ {
if ((!me->GetVictim() || me->GetVictim()->GetEntry() != NPC_ZOMBIE_CHOW) && who->GetEntry() == NPC_ZOMBIE_CHOW && me->IsWithinDistInMap(who, 15)) if ((!me->GetVictim() || me->GetVictim()->GetEntry() != NPC_ZOMBIE_CHOW) && who->GetEntry() == NPC_ZOMBIE_CHOW && me->IsWithinDistInMap(who, 6.5f))
{ {
SetGazeOn(who); SetGazeOn(who);
me->MonsterTextEmote("%s spots a nearby zombie to devour!", 0, false); me->MonsterTextEmote("%s spots a nearby zombie to devour!", 0, false);
@@ -177,7 +177,13 @@ public:
uint8 rand = urand(0,2); uint8 rand = urand(0,2);
for (int32 i = 0; i < RAID_MODE(1,2); ++i) for (int32 i = 0; i < RAID_MODE(1,2); ++i)
{ {
me->SummonCreature(NPC_ZOMBIE_CHOW, zombiePos[urand(0,2)]); // In 10 man raid, normal mode - should spawn only from mid gate
// \1 |0 /2 pos
// In 25 man raid - should spawn from all 3 gates
if (me->GetMap()->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
me->SummonCreature(NPC_ZOMBIE_CHOW, zombiePos[0]);
else
me->SummonCreature(NPC_ZOMBIE_CHOW, zombiePos[urand(0, 2)]);
(rand == 2 ? rand = 0 : rand++); (rand == 2 ? rand = 0 : rand++);
} }