Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.3.5][Ulduar] Core/Scripts: Yogg-Saron Encounter Reset #16723

Closed
L30m4nc3r opened this issue Mar 4, 2016 · 11 comments
Closed

[3.3.5][Ulduar] Core/Scripts: Yogg-Saron Encounter Reset #16723

L30m4nc3r opened this issue Mar 4, 2016 · 11 comments

Comments

@L30m4nc3r
Copy link

Description: After start fight with Yogg-Saron not reseted Encounter.

Current behaviour: If raid wipe, the second attempt will not.

Branch(es): 335

TC hash/commit: e60f575

TDB version: TDB 335.60

Operating system: Ubuntu 14.04

@sirikfoll
Copy link
Contributor

The trigger Voice of Yogg Saron(33280) is responsable for the evade, but he gets threat with Sara (33134) and Brain of Yogg-Saron(33890) and not sure, but possible with Yogg-Saron(33288) too. Noone of the others evade, and consequently the trigger not evade and the encounter never resets

@sirikfoll
Copy link
Contributor

sirikfoll commented Mar 4, 2016

Well, dunno a better way to do it, this works at least:

diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
index 7da6717..363400c 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -522,6 +522,19 @@ class boss_voice_of_yogg_saron : public CreatureScript
                 if (!UpdateVictim())
                     return;

+                bool _canEvade = true;
+                for (std::list<HostileReference*>::const_iterator itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
+                {
+                    if ((*itr)->getTarget()->GetTypeId() == TYPEID_PLAYER)
+                    {
+                        _canEvade = false;
+                        break;
+                    }
+                }
+
+                if (_canEvade)
+                    EnterEvadeMode(EVADE_REASON_NO_HOSTILES);
+
                 events.Update(diff);
                 // don't summon tentacles when illusion is shattered, delay them
                 if (_illusionShattered)

@Rushor Rushor changed the title Ulduar/Yogg-Saron Encounter Reset [3.3.5][Ulduar] Core/Scripts: Yogg-Saron Encounter Reset Mar 30, 2016
@peycho
Copy link

peycho commented Apr 10, 2018

The code can't be compiled with the current state of the code.

/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp: In member function ‘virtual void boss_voice_of_yogg_saron::boss_voice_of_yogg_saronAI::UpdateAI(uint32)’:
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:32: error: ‘HostileReference’ was not declared in this scope
                 for (std::list<HostileReference*>::const_iterator itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
                                ^~~~~~~~~~~~~~~~
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:49: error: template argument 1 is invalid
                 for (std::list<HostileReference*>::const_iterator itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
                                                 ^
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:49: error: template argument 2 is invalid
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:67: error: qualified-id in declaration before ‘itr’
                 for (std::list<HostileReference*>::const_iterator itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
                                                                   ^~~
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:67: error: expected ‘;’ before ‘itr’
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:67: error: ‘itr’ was not declared in this scope
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:77: error: ‘class Creature’ has no member named ‘getThreatManager’; did you mean ‘GetThreatManager’?
                 for (std::list<HostileReference*>::const_iterator itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
                                                                             ^~~~~~~~~~~~~~~~
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:132: error: ‘class Creature’ has no member named ‘getThreatManager’; did you mean ‘GetThreatManager’?
                 for (std::list<HostileReference*>::const_iterator itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
                                                                                                                                    ^~~~~~~~~~~~~~~~
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:172: error: expected ‘)’ before ‘;’ token
                 for (std::list<HostileReference*>::const_iterator itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
                                                                                                                                                                            ^
/home/trinity/src/TrinityCore/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp:545:176: error: ‘itr’ was not declared in this scope
                 for (std::list<HostileReference*>::const_iterator itr = me->getThreatManager().getThreatList().begin(); itr != me->getThreatManager().getThreatList().end(); ++itr)
                                                                                                                                                                                ^~~
src/server/scripts/CMakeFiles/scripts.dir/build.make:8627: recipe for target 'src/server/scripts/CMakeFiles/scripts.dir/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp.o' failed
make[2]: *** [src/server/scripts/CMakeFiles/scripts.dir/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp.o] Error 1
CMakeFiles/Makefile2:1467: recipe for target 'src/server/scripts/CMakeFiles/scripts.dir/all' failed
make[1]: *** [src/server/scripts/CMakeFiles/scripts.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

@ghost
Copy link

ghost commented Apr 10, 2018

that code in #16723 (comment) is 2 years old, so it needs to be rewritten
(lots of changes in the TC source in that time, so it should not be a surprise)

@peycho
Copy link

peycho commented Apr 11, 2018

Yeah, but the boss still experience the same bug.

@Keader
Copy link
Member

Keader commented Apr 11, 2018

After new threat system, triggers can have threat list?

@Killyana
Copy link
Member

Yes npc_trigger that deal damage get stuck in combat.

@Killyana
Copy link
Member

Killyana commented Jan 8, 2020

Known issues:

  1. Ominous Cloud stop moving after a while: https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp#L1157
  2. Sara regen health even if she's in combat: * UNIT_FLAG_IN_COMBAT (0x80000)
  3. Sara and Voice of Yogg-Saron (Entry: 33280, ScriptName: boss_voice_of_yogg_saron) are in combat with each other during the combat and this will remains after a wipe so the encounter never reset.

.deb combat Sara
Combat refs: (Combat state: 1 | Manager state: 1)
[PvE] Voice of Yogg-Saron (SpawnID 62015)
.deb threat Sara
Sara (GUID 211) does not threaten any units.
Sara (GUID 211, SpawnID 62016) is not currently engaged.

.deb combat Voice of Yogg-Saron
Combat refs: (Combat state: 1 | Manager state: 1)
[PvE] Sara (SpawnID 62016)
.deb Threat Voice of Yogg-Saron
Voice of Yogg-Saron (GUID 204) does not threaten any units.
Voice of Yogg-Saron (GUID 204) is currently engaged. (This unit cannot have a threat list.)

@jackpoz
Copy link
Member

jackpoz commented Jan 17, 2020

c1df161 fixed the clouds movement.
Anything else or can we close this ?

@Killyana
Copy link
Member

No it's the only remaining issue

@Killyana
Copy link
Member

c1df161

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants