azerothcore / azerothcore-wotlk

Complete Open Source and Modular solution for MMO
http://www.azerothcore.org
GNU Affero General Public License v3.0
6.57k stars 2.63k forks source link

ICC (Halls of Reflection) LK Moves too fast at the begining and too slow after and the leaders (Sylvana/Jaina) should be running instead of walking. #15641

Open Dr-Arayashiki opened 1 year ago

Dr-Arayashiki commented 1 year ago

Current Behaviour

LK Moves too fast at the begining and too slow after and the leaders (Sylvana/Jaina) should be running instead of walking.

Expected Blizzlike Behaviour

(Sylvana/Jaina) should run instead of walk and always stay ahead of Lich King. Linck King should maintain a default Blizzlike Speed

Source

Blizzard: https://www.youtube.com/watch?v=I0edUv7qWMI&t=227s

Steps to reproduce the problem

  1. Go to Hall of Reflecrion
  2. Reach the last stage
  3. Wait and see (Sylvana/Jaina) is walking and the lich king really takes the lead. She must run and the Lich King stay behind.

Extra Notes

No response

AC rev. hash/commit

AzerothCore rev. 5d55449b891c

Operating system

Windows 11 64x

Custom changes or Modules

No response

heyitsbench commented 1 year ago

Source

https://www.youtube.com/watch?v=QonHbWafJ5Q

Please attach a source that isn't from a private server.

Dr-Arayashiki commented 1 year ago

Source

https://www.youtube.com/watch?v=QonHbWafJ5Q

Please attach a source that isn't from a private server.

sorry, already fixed :) Blizzard: https://www.youtube.com/watch?v=I0edUv7qWMI&t=227s

indigowowserver commented 1 year ago

same goes for Lady Jaina . why no one is fixing this .

heyitsbench commented 1 year ago

why no one is fixing this .

Because fixes are made by volunteer contributors who choose to fix what they want. This issue was only made yesterday.

indigowowserver commented 1 year ago

well me myself tried to go to wow database editor to check this out . but i havent find any ai script for this event . i tried to search but no luck .

indigowowserver commented 1 year ago

here is a video from Alliance Lady Jaina in Hall of reflection

https://streamable.com/ygrq0v

[17:54:29] Welcome to Indigo Realm [17:54:29] This server runs on AzerothCore www.azerothcore.org [17:54:29] [1] Joined Channel: [1. General - Icecrown] [17:54:29] [3] Joined Channel: [3. LocalDefense - Icecrown] [17:54:29] [6] Joined Channel: [6. global] [17:54:55] AzerothCore rev. fc4a2f42de36+ 2023-03-27 17:28:13 +0000 (master branch) (Unix, Release, Static) [17:54:55] Using SSL version: OpenSSL 1.1.1f 31 Mar 2020 (library: OpenSSL 1.1.1f 31 Mar 2020) [17:54:55] Using Boost version: 1.71.0 [17:54:55] Using MySQL version: 80032 [17:54:55] Using CMake version: 3.16.3 [17:54:55] Compiled on: Linux 5.4.0-144-generic [17:54:55] Worldserver listening connections on port 8085 [17:54:55] Realmlist (Realm Id: 1) configured in port 8085 [17:54:55] VMAPs status: Enabled. LineOfSight: 1, getHeight: 1, indoorCheck: 1 [17:54:55] MMAPs status: Enabled [17:54:55] maps directory located in ./maps. Total size: 291014951 bytes [17:54:55] vmaps directory located in ./vmaps. Total size: 658130721 bytes [17:54:55] mmaps directory located in ./mmaps. Total size: 2192910844 bytes [17:54:55] Using enUS DBC Locale as default. All available DBC locales: enUS [17:54:55] Using World DB: ACDB 335.9-dev [17:54:55] LoginDatabase queue size: 0 [17:54:55] CharacterDatabase queue size: 0 [17:54:55] WorldDatabase queue size: 0 [17:54:55] No modules enabled

indigowowserver commented 1 year ago

blizzlike behavior

https://www.youtube.com/watch?v=RRLmxq3Q4Gc&t=106s

Dr-Arayashiki commented 1 year ago

well me myself tried to go to wow database editor to check this out . but i havent find any ai script for this event . i tried to search but no luck .

line 1586 of halls_of_reflection.cpp case EVENT_LK_START_FOLLOWING: /// @todo: LK Moves too fast at the begining and too slow after and the leaders (Sylvana/Jaina) should be running instead of walking.

there is already a comment in the code itself about this, but it seems that they only commented what should happen

indigowowserver commented 1 year ago

i found the fix from trinitycore but its a database and script fix . can't do it someone search it up

LeFroid commented 1 year ago

Can you share the link to TC for reference @indigowowserver ?

indigowowserver commented 1 year ago

Can you share the link to TC for reference @indigowowserver ?

yes https://github.com/TrinityCore/TrinityCore/blob/3df16c12b75c27c85b720a3eced4943a06f060f5/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp

line 824 inside the script there is link to database from trinitycore

inside it there script for database its also here class npc_jaina_or_sylvanas_escape_hor : public CreatureScript { public: npc_jaina_or_sylvanas_escape_hor() : CreatureScript("npc_jaina_or_sylvanas_escape_hor") { }

    struct npc_jaina_or_sylvanas_escape_horAI : public ScriptedAI
    {
        npc_jaina_or_sylvanas_escape_horAI(Creature* creature) : ScriptedAI(creature),
            _instance(creature->GetInstanceScript()), _icewall(0), _prefight(false), _invincibility(true) { }

        void Reset() override
        {
            _events.Reset();
            _icewall = 0;
            _events.ScheduleEvent(EVENT_ESCAPE, 1s);
        }

        void JustDied(Unit* /*killer*/) override
        {
            if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
                lichking->AI()->EnterEvadeMode(); // event failed
        }

        void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
        {
            if (damage >= me->GetHealth() && _invincibility)
                damage = me->GetHealth() - 1;
        }

        void DoAction(int32 actionId) override
        {
            switch (actionId)
            {
                case ACTION_START_PREFIGHT:
                    if (_prefight)
                        return;
                    _prefight = true;
                    _events.ScheduleEvent(EVENT_ESCAPE_1, 1s);
                    break;
                case ACTION_WALL_BROKEN:
                    ++_icewall;
                    if (_icewall < 4)
                        _events.ScheduleEvent(EVENT_ESCAPE_13, 3s);
                    else
                        _events.ScheduleEvent(EVENT_ESCAPE_15, 3s);
                    break;
                case ACTION_GUNSHIP_ARRIVAL:
                    _events.ScheduleEvent(EVENT_ESCAPE_16, 5s);
                    break;
                case ACTION_GUNSHIP_ARRIVAL_2:
                    _events.ScheduleEvent(EVENT_ESCAPE_17, 5s);
                    break;
                default:
                    break;
            }
        }
indigowowserver commented 1 year ago

i mean all this cores and to Azerothcore/TC/Mangus is all from same license and the license says to share code :D

Dr-Arayashiki commented 1 year ago

Can you share the link to TC for reference @indigowowserver ?

yes https://github.com/TrinityCore/TrinityCore/blob/3df16c12b75c27c85b720a3eced4943a06f060f5/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp

line 824 inside the script there is link to database from trinitycore

inside it there script for database its also here class npc_jaina_or_sylvanas_escape_hor : public CreatureScript { public: npc_jaina_or_sylvanas_escape_hor() : CreatureScript("npc_jaina_or_sylvanas_escape_hor") { }

    struct npc_jaina_or_sylvanas_escape_horAI : public ScriptedAI
    {
        npc_jaina_or_sylvanas_escape_horAI(Creature* creature) : ScriptedAI(creature),
            _instance(creature->GetInstanceScript()), _icewall(0), _prefight(false), _invincibility(true) { }

        void Reset() override
        {
            _events.Reset();
            _icewall = 0;
            _events.ScheduleEvent(EVENT_ESCAPE, 1s);
        }

        void JustDied(Unit* /*killer*/) override
        {
            if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
                lichking->AI()->EnterEvadeMode(); // event failed
        }

        void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
        {
            if (damage >= me->GetHealth() && _invincibility)
                damage = me->GetHealth() - 1;
        }

        void DoAction(int32 actionId) override
        {
            switch (actionId)
            {
                case ACTION_START_PREFIGHT:
                    if (_prefight)
                        return;
                    _prefight = true;
                    _events.ScheduleEvent(EVENT_ESCAPE_1, 1s);
                    break;
                case ACTION_WALL_BROKEN:
                    ++_icewall;
                    if (_icewall < 4)
                        _events.ScheduleEvent(EVENT_ESCAPE_13, 3s);
                    else
                        _events.ScheduleEvent(EVENT_ESCAPE_15, 3s);
                    break;
                case ACTION_GUNSHIP_ARRIVAL:
                    _events.ScheduleEvent(EVENT_ESCAPE_16, 5s);
                    break;
                case ACTION_GUNSHIP_ARRIVAL_2:
                    _events.ScheduleEvent(EVENT_ESCAPE_17, 5s);
                    break;
                default:
                    break;
            }
        }

npc_jaina_or_sylvanas_escape_horAI in AC is represented by npc_hor_leader_secondAI

heyitsbench commented 1 year ago

i mean all this cores and to Azerothcore/TC/Mangus is all from same license and the license says to share code :D

The licenses are not the same, for the record.