From 0a0698b1d41cca4ae19f84b1c62c97d2964e13a5 Mon Sep 17 00:00:00 2001 From: horn Date: Sun, 3 Mar 2013 22:19:57 +0100 Subject: Scripts/Ulduar: Yogg-Saron Known issues: - encounter doesn't start immediately after you enter the room, you need to go closer - players standing outside of the room are not turned Insane after 15 seconds - encounter resets if the last living player is gripped by Constrictor Tentacle or encased in Hodir's Flash Freeze - Hodir won't freeze multiple players when they die at the same moment - Flash Freeze missile (64176) won't hit anybody, probably cast too soon (cosmetic issue) - there are some unused spells, don't know when or why they should be cast - some spell animations hit multiple players, but they shouldn't do that --- src/server/game/Entities/Unit/Unit.cpp | 1 + src/server/game/Scripting/ScriptLoader.cpp | 2 ++ src/server/game/Spells/Spell.cpp | 3 ++- src/server/game/Spells/SpellMgr.cpp | 11 +++++++++++ 4 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src/server/game') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index f8add7e8691..3872f9154b9 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7773,6 +7773,7 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg Aura* charge = GetAura(50241); if (charge && charge->ModStackAmount(-1, AURA_REMOVE_BY_ENEMY_SPELL)) RemoveAurasDueToSpell(50240); + break; } } break; diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index edabc7b4284..5f5024729ca 100644 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -445,6 +445,7 @@ void AddSC_ulduar_teleporter(); void AddSC_boss_mimiron(); void AddSC_boss_hodir(); void AddSC_boss_freya(); +void AddSC_boss_yogg_saron(); void AddSC_boss_algalon_the_observer(); void AddSC_instance_ulduar(); void AddSC_boss_keleseth(); //Utgarde Keep @@ -1184,6 +1185,7 @@ void AddNorthrendScripts() AddSC_boss_mimiron(); AddSC_boss_hodir(); AddSC_boss_freya(); + AddSC_boss_yogg_saron(); AddSC_boss_algalon_the_observer(); AddSC_instance_ulduar(); AddSC_boss_keleseth(); //Utgarde Keep diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 8f887cebe38..dfec24f3996 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2633,7 +2633,8 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA { // for delayed spells ignore negative spells (after duel end) for friendly targets /// @todo this cause soul transfer bugged - if (m_spellInfo->Speed > 0.0f && unit->GetTypeId() == TYPEID_PLAYER && !m_spellInfo->IsPositive()) + // 63881 - Malady of the Mind jump spell (Yogg-Saron) + if (m_spellInfo->Speed > 0.0f && unit->GetTypeId() == TYPEID_PLAYER && !m_spellInfo->IsPositive() && m_spellInfo->Id != 63881) return SPELL_MISS_EVADE; // assisting case, healing and resurrection diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 66f7121adf3..026c61d4965 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -84,6 +84,9 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto, // ToC Icehowl Arctic Breath else if (spellproto->SpellVisual[0] == 14153) return DIMINISHING_NONE; + // Black Plague + else if (spellproto->Id == 64155) + return DIMINISHING_NONE; break; } // Event spells @@ -3327,6 +3330,14 @@ void SpellMgr::LoadDbcDataCorrections() // that will be clear if we get more spells with problem like this spellInfo->AttributesEx |= SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY; break; + case 61791: // Ride Vehicle (Yogg-Saron) + // TODO: remove this when basepoints of all Ride Vehicle auras are calculated correctly + spellInfo->EffectBasePoints[0] = 1; + break; + case 64468: // Empowering Shadows (Yogg-Saron) + case 64486: // Empowering Shadows (Yogg-Saron) + spellInfo->MaxAffectedTargets = 3; // same for both modes? + break; case 62301: // Cosmic Smash (Algalon the Observer) spellInfo->MaxAffectedTargets = 1; break; -- cgit v1.2.3