From aaebdac9ae5a059dbf4ba0fd25769579b9bc8b1a Mon Sep 17 00:00:00 2001 From: Delmar Buchheit <89236434+dongkui555@users.noreply.github.com> Date: Wed, 17 Jan 2024 13:58:51 +0800 Subject: [PATCH 1/3] Update boss_thorim.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 二次修复托里姆bug打法 --- .../Northrend/Ulduar/Ulduar/boss_thorim.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index 1dbc75d9eb7701..8d7cf40b8bdcb7 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -354,6 +354,7 @@ class boss_thorim : public CreatureScript bool _hardMode; bool _isHitAllowed; bool _isAlly; + bool _isBUG; uint8 _trashCounter; InstanceScript* m_pInstance; @@ -469,15 +470,11 @@ class boss_thorim : public CreatureScript _hardMode = false; _isArenaEmpty = false; _hitByLightning = false; + _isBUG = true; if (Player* t = SelectTargetFromPlayerList(1000)) if (t->GetTeamId() == TEAM_HORDE) _isAlly = false; - const Map::PlayerList& pl = me->GetMap()->GetPlayers(); - for (Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr) - if (Player* p = itr->GetSource()) - if (!p->IsGameMaster() && p->GetExactDist(2227.6055f, -381.212555f, 412.133575f) < 140.5f && (p->GetExactDist(2170.8400f, -262.182f, 419.361f) > 33.6f || p->GetPositionZ() > 430)) - p->TeleportTo(603, 2075.286621, -106.205582, 412.298859, 5.607742); //传送BUG玩家 SpawnAllNPCs(); @@ -510,6 +507,7 @@ class boss_thorim : public CreatureScript events.SetPhase(EVENT_PHASE_START); events.ScheduleEvent(EVENT_THORIM_START_PHASE1, 20s); _trashCounter = 0; + _isBUG = false; } } else if (param == ACTION_ALLOW_HIT) @@ -571,6 +569,17 @@ class boss_thorim : public CreatureScript if (who && who->GetPositionZ() > 430 && who->GetTypeId() == TYPEID_PLAYER) damage = 0; + if (who && _isBUG && who->GetTypeId() == TYPEID_PLAYER) + { + const Map::PlayerList& bug = me->GetMap()->GetPlayers(); + for (Map::PlayerList::const_iterator itr = bug.begin(); itr != bug.end(); ++itr) + if (Player* p = itr->GetSource()) + { + Unit::Kill(me, p); //秒杀BUG玩家 + std::string pname = p->GetPlayerName(); + LOG_ERROR("module", "{}尝试BUG托里姆,杀", pname.c_str()); + } + } if (damage >= me->GetHealth()) { From e0bfc48c6d195d284935ffaa58ad0e408780e928 Mon Sep 17 00:00:00 2001 From: Delmar Buchheit <89236434+dongkui555@users.noreply.github.com> Date: Wed, 17 Jan 2024 14:07:24 +0800 Subject: [PATCH 2/3] Update instance_ulduar.cpp --- .../Northrend/Ulduar/Ulduar/instance_ulduar.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 52afe2a2b68df5..c0aa344ca799d3 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -714,6 +714,21 @@ class instance_ulduar : public InstanceMapScript m_hodirHardmodeChest.Clear(); } break; + case TYPE_HODIR_HM_RESET: + if (GameObject* go = instance->GetGameObject(m_hodirHardmodeChest)) + { + LOG_ERROR("module", "发现宝箱未损坏,跳过"); + break; + } + if (m_auiEncounter[TYPE_HODIR] != DONE) + { + if (Creature* hodir = instance->GetCreature(m_uiHodirGUID)) + { + LOG_ERROR("module", "发现宝箱损坏,重新召唤"); + SpawnHodirChests(instance->GetDifficulty(), hodir); + } + } + break; case TYPE_WATCHERS: m_auiEncounter[type] |= 1 << data; break; From e48488f66c583527eecff454e00e445faa8a9e97 Mon Sep 17 00:00:00 2001 From: Delmar Buchheit <89236434+dongkui555@users.noreply.github.com> Date: Wed, 17 Jan 2024 14:08:36 +0800 Subject: [PATCH 3/3] Update ulduar.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复霍迪尔H宝箱一次消失 --- src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h index ac91d148881920..3b8e6e4a6e685e 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h @@ -48,7 +48,8 @@ enum UlduarEncounters TYPE_ALGALON = 13, TYPE_WATCHERS = 14, TYPE_HODIR_HM_FAIL = 15, - TYPE_WINTER_CACHE = 16 + TYPE_WINTER_CACHE = 16, + TYPE_HODIR_HM_RESET = 17 }; enum UlduarData