mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-15 00:06:11 +00:00
fix(Core/Scripts): Fix the wrong run in npc_escortAI (#23293)
Co-authored-by: 天鹭 <18535853+PkllonG@users.noreply.github.com>
This commit is contained in:
@@ -424,7 +424,7 @@ public:
|
||||
{
|
||||
Talk(SAY_PHASE201);
|
||||
actionEvents.ScheduleEvent(EVENT_ACTION_PHASE2, 12s);
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
eventInRun = true;
|
||||
|
||||
me->SummonCreature(NPC_CITY_MAN, EventPos[EVENT_SRC_TOWN_CITYMAN1]);
|
||||
@@ -434,14 +434,14 @@ public:
|
||||
{
|
||||
waveGroupId = 10;
|
||||
eventInRun = true;
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
actionEvents.ScheduleEvent(EVENT_ACTION_PHASE2 + 9, 10s);
|
||||
}
|
||||
else if (param == ACTION_START_TOWN_HALL)
|
||||
{
|
||||
Talk(SAY_PHASE301);
|
||||
SetEscortPaused(false);
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
|
||||
if (Creature* cr = me->SummonCreature(NPC_CITY_MAN3, EventPos[EVENT_SRC_HALL_CITYMAN1]))
|
||||
{
|
||||
@@ -460,13 +460,13 @@ public:
|
||||
{
|
||||
Talk(SAY_PHASE401);
|
||||
SetEscortPaused(false);
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
}
|
||||
else if (param == ACTION_START_LAST_CITY)
|
||||
{
|
||||
Talk(SAY_PHASE404);
|
||||
SetEscortPaused(false);
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
}
|
||||
else if (param == ACTION_START_MALGANIS)
|
||||
{
|
||||
@@ -480,7 +480,7 @@ public:
|
||||
}
|
||||
Talk(SAY_PHASE501);
|
||||
SetEscortPaused(false);
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
}
|
||||
else if (param == ACTION_KILLED_MALGANIS)
|
||||
{
|
||||
@@ -533,7 +533,7 @@ public:
|
||||
break;
|
||||
// After intro, in front of bridge
|
||||
case 3:
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
Talk(SAY_PHASE118);
|
||||
summons.DespawnAll(); // uther, jaina and horses
|
||||
break;
|
||||
@@ -574,7 +574,7 @@ public:
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_REACHED_TOWN_HALL);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
SetEscortPaused(true);
|
||||
break;
|
||||
// Inside Town Hall first scene pos
|
||||
@@ -600,7 +600,7 @@ public:
|
||||
break;
|
||||
// Town Hall, upper floor third fight
|
||||
case 31:
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
SpawnTimeRift();
|
||||
SpawnTimeRift();
|
||||
Talk(SAY_PHASE312);
|
||||
@@ -616,14 +616,14 @@ public:
|
||||
break;
|
||||
// Reached book shelf
|
||||
case 36:
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
if (pInstance)
|
||||
if (GameObject* pGate = pInstance->instance->GetGameObject(pInstance->GetGuidData(DATA_SHKAF_GATE)))
|
||||
pGate->SetGoState(GO_STATE_ACTIVE);
|
||||
break;
|
||||
// Behind secred passage
|
||||
case 45:
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
SetEscortPaused(true);
|
||||
if (pInstance)
|
||||
@@ -631,11 +631,11 @@ public:
|
||||
break;
|
||||
// Some walk talk
|
||||
case 47:
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
Talk(SAY_PHASE405);
|
||||
break;
|
||||
case 48:
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
Talk(SAY_PHASE406);
|
||||
break;
|
||||
case 53:
|
||||
@@ -674,7 +674,7 @@ public:
|
||||
switch (uint32 currentEvent = actionEvents.ExecuteEvent())
|
||||
{
|
||||
case EVENT_ACTION_PHASE1:
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
me->SummonCreature(NPC_JAINA, EventPos[EVENT_SRC_JAINA], TEMPSUMMON_DEAD_DESPAWN, 180000);
|
||||
if (Creature* uther = me->SummonCreature(NPC_UTHER, EventPos[EVENT_SRC_UTHER], TEMPSUMMON_DEAD_DESPAWN, 180000))
|
||||
{
|
||||
@@ -690,6 +690,7 @@ public:
|
||||
break;
|
||||
case EVENT_ACTION_PHASE1+1:
|
||||
// Start Event
|
||||
me->SetWalk(true);
|
||||
Start(true);
|
||||
SetDespawnAtEnd(false);
|
||||
SetDespawnAtFar(false);
|
||||
@@ -958,7 +959,7 @@ public:
|
||||
break;
|
||||
// After waypoint 23
|
||||
case EVENT_ACTION_PHASE3+3:
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
if (Creature* cr = GetEventNpc(NPC_CITY_MAN3))
|
||||
me->CastSpell(cr, SPELL_ARTHAS_CRUSADER_STRIKE, true);
|
||||
ScheduleNextEvent(currentEvent, 2s);
|
||||
|
||||
@@ -316,12 +316,12 @@ public:
|
||||
events.ScheduleEvent(EVENT_THRALL_EMOTE, 1300ms);
|
||||
break;
|
||||
case 9:
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
events.ScheduleEvent(EVENT_KILL_ARMORER, 500ms);
|
||||
events.ScheduleEvent(EVENT_TALK_KILL_ARMORER, 3s);
|
||||
break;
|
||||
case 10:
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
events.ScheduleEvent(EVENT_DRESSING_KNEEL, 500ms);
|
||||
events.ScheduleEvent(EVENT_DRESSING_ARMOR, 3s);
|
||||
events.ScheduleEvent(EVENT_DRESSING_STAND, 4s);
|
||||
@@ -374,7 +374,7 @@ public:
|
||||
}
|
||||
UnMountSelf();
|
||||
_mounted = false;
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
me->SetFacingTo(6.0388f);
|
||||
break;
|
||||
case 60:
|
||||
@@ -386,12 +386,12 @@ public:
|
||||
}
|
||||
Talk(SAY_EMOTE_HORSE);
|
||||
SetEscortPaused(true);
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetFacingTo(4.1364f);
|
||||
break;
|
||||
case 64:
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
break;
|
||||
case 67:
|
||||
events.ScheduleEvent(EVENT_LOOK_1, 1200ms);
|
||||
@@ -418,12 +418,12 @@ public:
|
||||
summon->AI()->Talk(SAY_LOOKOUT_INN);
|
||||
break;
|
||||
case 92:
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
break;
|
||||
case 94:
|
||||
summons.DespawnAll();
|
||||
SetEscortPaused(true);
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
instance->SetData(DATA_ESCORT_PROGRESS, ENCOUNTER_PROGRESS_TARETHA_MEET);
|
||||
if (Creature* Taretha = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TARETHA_GUID)))
|
||||
{
|
||||
@@ -664,7 +664,7 @@ public:
|
||||
me->SetFacingTo(2.0071f);
|
||||
break;
|
||||
case EVENT_SUMMON_GUARDS:
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
me->SummonCreature(NPC_TM_PROTECTOR, 2501.5708f, 699.38086f, 55.64138f, 3.8571f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30 * IN_MILLISECONDS);
|
||||
me->SummonCreature(NPC_TM_LOOKOUT, 2500.7002f, 698.26746f, 55.618248f, 3.7350f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30 * IN_MILLISECONDS);
|
||||
if (Creature* guardsman = me->SummonCreature(NPC_TM_GUARDSMAN, 2500.0908f, 699.9389f, 55.629555f, 4.2935f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30 * IN_MILLISECONDS))
|
||||
@@ -1018,7 +1018,7 @@ public:
|
||||
{
|
||||
if (waypointId == 7)
|
||||
{
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
Talk(SAY_TARETHA_FREE);
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
|
||||
if (Creature* thrall = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THRALL_GUID)))
|
||||
|
||||
@@ -209,7 +209,6 @@ struct npc_general_andorov : public npc_escortAI
|
||||
_initialAttackTimer = 5 * IN_MILLISECONDS;
|
||||
_paused = false;
|
||||
|
||||
me->SetWalk(false);
|
||||
Start(false);
|
||||
|
||||
me->SetImmuneToNPC(true);
|
||||
|
||||
@@ -121,7 +121,8 @@ public:
|
||||
{
|
||||
Talk(SAY_MUG_START1);
|
||||
me->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_PASSIVE);
|
||||
npc_escortAI::Start(true, player->GetGUID());
|
||||
me->SetWalk(true);
|
||||
Start(true, player->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -258,7 +258,7 @@ public:
|
||||
case 28:
|
||||
player->GroupEventHappens(QUEST_A_CRY_FOR_HELP, me);
|
||||
_events.ScheduleEvent(EVENT_TALK_END, 2s);
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
break;
|
||||
case 29:
|
||||
if (Creature* cowlen = me->FindNearestCreature(NPC_COWLEN, 50.0f, true))
|
||||
@@ -289,7 +289,8 @@ public:
|
||||
case EVENT_START_ESCORT:
|
||||
if (Player* player = ObjectAccessor::GetPlayer(*me, _player))
|
||||
{
|
||||
npc_escortAI::Start(true, player->GetGUID());
|
||||
me->SetWalk(true);
|
||||
Start(true, player->GetGUID());
|
||||
}
|
||||
_events.ScheduleEvent(EVENT_STAND, 2s);
|
||||
break;
|
||||
|
||||
@@ -397,7 +397,10 @@ public:
|
||||
if (quest->GetQuestId() == QUEST_ABSENT_MINDED_PT2)
|
||||
{
|
||||
if (npc_escortAI* pEscortAI = CAST_AI(npc_prospector_remtravel::npc_prospector_remtravelAI, creature->AI()))
|
||||
{
|
||||
creature->SetWalk(true);
|
||||
pEscortAI->Start(false, player->GetGUID());
|
||||
}
|
||||
|
||||
creature->SetFaction(FACTION_ESCORTEE_A_NEUTRAL_PASSIVE);
|
||||
}
|
||||
|
||||
@@ -396,7 +396,6 @@ public:
|
||||
case EVENT_RESTART_ESCORT:
|
||||
CheckCaravan();
|
||||
SetDespawnAtEnd(false);
|
||||
SetRun(true);
|
||||
Start(true, ObjectGuid::Empty, 0, false, false, true);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -384,6 +384,7 @@ public:
|
||||
AddWaypoint(i, Clintar_spirit_WP[i][0], Clintar_spirit_WP[i][1], Clintar_spirit_WP[i][2], (uint32)Clintar_spirit_WP[i][4]);
|
||||
}
|
||||
PlayerGUID = player->GetGUID();
|
||||
me->SetWalk(true);
|
||||
Start(true, PlayerGUID);
|
||||
}
|
||||
return;
|
||||
|
||||
@@ -137,7 +137,10 @@ public:
|
||||
if (quest->GetQuestId() == QUEST_PROTECT_KAYA)
|
||||
{
|
||||
if (npc_escortAI* pEscortAI = CAST_AI(npc_kaya_flathoof::npc_kaya_flathoofAI, creature->AI()))
|
||||
{
|
||||
creature->SetWalk(true);
|
||||
pEscortAI->Start(true, player->GetGUID());
|
||||
}
|
||||
|
||||
creature->AI()->Talk(SAY_START);
|
||||
creature->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_PASSIVE);
|
||||
|
||||
@@ -260,6 +260,7 @@ public:
|
||||
float Radius = 10.0f;
|
||||
if (me->IsWithinDistInMap(who, Radius))
|
||||
{
|
||||
me->SetWalk(true);
|
||||
Start(false, who->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,10 @@ public:
|
||||
creature->AI()->Talk(SAY_GIL_START, player);
|
||||
|
||||
if (npc_giltharesAI* pEscortAI = CAST_AI(npc_gilthares::npc_giltharesAI, creature->AI()))
|
||||
{
|
||||
creature->SetWalk(true);
|
||||
pEscortAI->Start(false, player->GetGUID(), quest);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -499,7 +502,7 @@ public:
|
||||
Talk(SAY_STARTUP1);
|
||||
break;
|
||||
case 9:
|
||||
SetRun(false);
|
||||
me->SetWalk(true);
|
||||
break;
|
||||
case 17:
|
||||
if (Creature* temp = me->SummonCreature(NPC_MERCENARY, 1128.489f, -3037.611f, 92.701f, 1.472f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000))
|
||||
@@ -528,7 +531,7 @@ public:
|
||||
break;
|
||||
case 18:
|
||||
Talk(SAY_PROGRESS_1, player);
|
||||
SetRun(true);
|
||||
me->SetWalk(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -594,7 +597,10 @@ public:
|
||||
creature->SetFaction(FACTION_RATCHET);
|
||||
creature->AI()->Talk(SAY_START);
|
||||
if (npc_escortAI* pEscortAI = CAST_AI(npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI, creature->AI()))
|
||||
{
|
||||
creature->SetWalk(true);
|
||||
pEscortAI->Start(true, player->GetGUID());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,10 @@ public:
|
||||
creature->SetFaction(FACTION_ESCORTEE_H_NEUTRAL_ACTIVE); //guessed
|
||||
|
||||
if (npc_lakota_windsongAI* pEscortAI = CAST_AI(npc_lakota_windsong::npc_lakota_windsongAI, creature->AI()))
|
||||
{
|
||||
creature->SetWalk(true);
|
||||
pEscortAI->Start(false, player->GetGUID(), quest);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -148,7 +151,10 @@ public:
|
||||
creature->SetFaction(FACTION_ESCORTEE_H_NEUTRAL_ACTIVE); // guessed
|
||||
|
||||
if (npc_paoka_swiftmountainAI* pEscortAI = CAST_AI(npc_paoka_swiftmountain::npc_paoka_swiftmountainAI, creature->AI()))
|
||||
{
|
||||
creature->SetWalk(true);
|
||||
pEscortAI->Start(false, player->GetGUID(), quest);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ public:
|
||||
{
|
||||
if (quest->GetQuestId() == QUEST_CHASING_AME)
|
||||
{
|
||||
creature->SetWalk(true);
|
||||
CAST_AI(npc_escortAI, (creature->AI()))->Start(false, player->GetGUID());
|
||||
creature->AI()->Talk(SAY_READY, player);
|
||||
creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
|
||||
@@ -286,7 +286,10 @@ public:
|
||||
creature->SetFaction(FACTION_ESCORT_A_NEUTRAL_PASSIVE);
|
||||
|
||||
if (npc_ranshallaAI* escortAI = dynamic_cast<npc_ranshallaAI*>(creature->AI()))
|
||||
{
|
||||
creature->SetWalk(true);
|
||||
escortAI->Start(false, player->GetGUID(), quest);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user