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

Halls_of_reflection.cpp question? #10754

Closed
w137000133 opened this issue Sep 10, 2013 · 8 comments
Closed

Halls_of_reflection.cpp question? #10754

w137000133 opened this issue Sep 10, 2013 · 8 comments

Comments

@w137000133
Copy link
Contributor

I carefully read the source code written by _events.ScheduleEvent found that
1067th lines (EVENT_ESCAPE_22, 1000);
It should be _events.ScheduleEvent (EVENT_ESCAPE_23, 1000);
Otherwise the code will go into an infinite loop, isn't it?
Please forgive my English is the Chinese people

@Demonid
Copy link
Contributor

Demonid commented Sep 10, 2013

That was what i reported, an infinite loop of spwans on the last part of the Heroic.

@w137000133
Copy link
Contributor Author

22 infinite loop if not corrected. Will not jump into the 23

@FireEmerald
Copy link
Contributor

Reference #10698 / [3.3.5] HoR: Lich King Escape Event Infinite Spawns

@joschiwald
Copy link
Contributor

ScheduleEvent EVENT_ESCAPE_23 is handled in an other way

there is a bit more incorrect stuff

@RedSonja
Copy link

Mine works fine the only thing is the quest does not complete at end, but I think that it is something to do with the quest not the scripting for HoR.

@SnakeIceBr
Copy link
Contributor

 case EVENT_ESCAPE_22:
                        if (Creature* lichking = me->GetCreature(*me, _lichkingGUID))
                        {
                            if (_icewall >= 2 && _icewall < 4)
                                lichking->AI()->DoCast(lichking, SPELL_SUMMON_LUMBERING_ABOMINATION);
                        }
                        if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE)
                        {
                            me->AI()->DoCast(me, SPELL_SYLVANAS_DESTROY_ICE_WALL, false);
                            if (_isattackingwall)
                                _events.ScheduleEvent(EVENT_ESCAPE_22, 1000);
                        }
                        break;

Change it to:

 case EVENT_ESCAPE_22:
                        if (Creature* lichking = me->GetCreature(*me, _lichkingGUID))
                        {
                            if (_icewall >= 2 && _icewall < 4)
                                lichking->AI()->DoCast(lichking, SPELL_SUMMON_LUMBERING_ABOMINATION);
                        }
                       _events.ScheduleEvent(EVENT_ESCAPE_22h, 1000);
case EVENT_ESCAPE_22h:
                        if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE)
                        {
                            me->AI()->DoCast(me, SPELL_SYLVANAS_DESTROY_ICE_WALL, false);
                            if (_isattackingwall)
                                _events.ScheduleEvent(EVENT_ESCAPE_22h, 1000);
                        }
                        break;

Dont forget to add the EVENT_ESCAPE_22h at the top of the file.

  • SnakeIce

@SnakeIceBr
Copy link
Contributor

To explain: EVENT_ESCAPE_22 was supposed to be about Sylvannas hitting the wall all the time. Have NO idea how that Lumbering Abomination summon end up there.

@joschiwald
Copy link
Contributor

raczman pushed a commit to raczman/TrinityCore that referenced this issue Apr 20, 2014
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

6 participants