aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcrom <malcromdev@gmail.com>2023-12-09 19:25:40 -0400
committerGitHub <noreply@github.com>2023-12-10 00:25:40 +0100
commit624dfafeb2458922bdad6f3764002b96c2c5ff5d (patch)
tree563001392f1c01b6f5c6b6d80acad60b5704e88c
parente8f98d8d84402754520e5266229efc94c925e345 (diff)
Scripts/ExilesReach: Fix some cosmetic issues (#29486)
* instantly update NPCs for Emergency First Aid after healing them to instantly make them stand * fixed actor guid and conditions for conversation of Finding the Lost Expedition * fixed issue of Won'za/Alaria not laying injured after turning Cooking Meat quest in
-rw-r--r--sql/updates/world/master/2023_12_10_00_world.sql10
-rw-r--r--src/server/scripts/ExilesReach/zone_exiles_reach.cpp19
2 files changed, 17 insertions, 12 deletions
diff --git a/sql/updates/world/master/2023_12_10_00_world.sql b/sql/updates/world/master/2023_12_10_00_world.sql
new file mode 100644
index 00000000000..6f629ec0d35
--- /dev/null
+++ b/sql/updates/world/master/2023_12_10_00_world.sql
@@ -0,0 +1,10 @@
+-- Fix guid for Wonza error in a previous commit
+UPDATE `conversation_actors` SET `ConversationActorGuid`=1051211 WHERE `ConversationId`=12058 AND `ConversationActorId`=76284; -- CONVERSATION_LINE_ESCORT_SURVIVOR_CAMP Wonza
+
+-- Missing Conditions on conversation lines for "Finding the lost Expedition"
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=29 AND `SourceEntry` IN (29322,34645,36152,36153);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(29,0,29322,0,0,6,0,469,0,0,0,0,0,'','Allow conversation line 29322 if team is Alliance'),
+(29,0,34645,0,0,6,0,469,0,0,0,0,0,'','Allow conversation line 34645 if team is Alliance'),
+(29,0,36152,0,0,6,0,67,0,0,0,0,0,'','Allow conversation line 36152 if team is horde'),
+(29,0,36153,0,0,6,0,67,0,0,0,0,0,'','Allow conversation line 36153 if team is horde');
diff --git a/src/server/scripts/ExilesReach/zone_exiles_reach.cpp b/src/server/scripts/ExilesReach/zone_exiles_reach.cpp
index 1c56bbe29b5..9f1083c9cea 100644
--- a/src/server/scripts/ExilesReach/zone_exiles_reach.cpp
+++ b/src/server/scripts/ExilesReach/zone_exiles_reach.cpp
@@ -1418,8 +1418,8 @@ struct npc_alliance_survivors_beach_laying : public ScriptedAI
if (Player* player = caster->ToPlayer())
{
player->KilledMonsterCredit(me->GetEntry());
-
Conversation::CreateConversation(ConversationId, player, *player, player->GetGUID(), nullptr);
+ player->UpdateVisibilityForPlayer(); // Needed to make survivor stand instantly
}
}
};
@@ -1729,15 +1729,9 @@ CreatureAI* AustinBeachStandingAISelector(Creature* creature)
enum LostExpeditionFollowerData
{
- ACTOR_ID_EMPTY = 0,
ACTOR_ID_ALLIANCE_SURVIVOR = 69830,
ACTOR_ID_HORDE_SURVIVOR = 76283,
- ACTOR_INDEX_SURVIVOR_ZERO = 0,
- ACTOR_INDEX_SURVIVOR_ONE,
- ACTOR_INDEX_SURVIVOR_TWO,
- ACTOR_INDEX_SURVIVOR_THREE,
-
AREA_ABANDONED_CAMP = 10452,
CONVERSATION_LINE_ESCORT_ALLIANCE_SURVIVOR = 12044,
@@ -1787,7 +1781,7 @@ struct npc_garrick_summoned_beach : public ScriptedAI
if (Player* player = caster->ToPlayer())
{
Conversation* conversation = Conversation::CreateConversation(CONVERSATION_LINE_ESCORT_SURVIVOR_CAMP, player, *player, _playerGUID, nullptr, false);
- conversation->AddActor(ACTOR_ID_ALLIANCE_SURVIVOR, ACTOR_INDEX_SURVIVOR_ONE, me->GetGUID());
+ conversation->AddActor(ACTOR_ID_ALLIANCE_SURVIVOR, 1, me->GetGUID());
conversation->Start();
me->GetMotionMaster()->Remove(FOLLOW_MOTION_TYPE);
@@ -1833,7 +1827,7 @@ struct npc_garrick_summoned_beach : public ScriptedAI
else
{
Conversation* conversation = Conversation::CreateConversation(CONVERSATION_LINE_ESCORT_ALLIANCE_SURVIVOR, player, *player, _playerGUID, nullptr, false);
- conversation->AddActor(ACTOR_ID_ALLIANCE_SURVIVOR, ACTOR_INDEX_SURVIVOR_ONE, me->GetGUID());
+ conversation->AddActor(ACTOR_ID_ALLIANCE_SURVIVOR, 1, me->GetGUID());
conversation->Start();
_events.ScheduleEvent(EVENT_FOLLOW_PLAYER, 2s);
@@ -1884,7 +1878,7 @@ struct npc_grimaxe_summoned_beach : public ScriptedAI
if (Player* player = caster->ToPlayer())
{
Conversation* conversation = Conversation::CreateConversation(CONVERSATION_LINE_ESCORT_SURVIVOR_CAMP, player, *player, _playerGUID, nullptr, false);
- conversation->AddActor(ACTOR_ID_HORDE_SURVIVOR, ACTOR_INDEX_SURVIVOR_THREE, me->GetGUID());
+ conversation->AddActor(ACTOR_ID_HORDE_SURVIVOR, 3, me->GetGUID());
conversation->Start();
me->GetMotionMaster()->Remove(FOLLOW_MOTION_TYPE);
@@ -1930,7 +1924,7 @@ struct npc_grimaxe_summoned_beach : public ScriptedAI
else
{
Conversation* conversation = Conversation::CreateConversation(CONVERSATION_LINE_ESCORT_HORDE_SURVIVOR, player, *player, _playerGUID, nullptr, false);
- conversation->AddActor(ACTOR_ID_HORDE_SURVIVOR, ACTOR_INDEX_SURVIVOR_TWO, me->GetGUID());
+ conversation->AddActor(ACTOR_ID_HORDE_SURVIVOR, 2, me->GetGUID());
conversation->Start();
_events.ScheduleEvent(EVENT_FOLLOW_PLAYER, 2s);
@@ -2106,7 +2100,8 @@ public:
if (!injured)
break;
- injured->SummonPersonalClone(InjuredNpcPositionAbandonedCamp, TEMPSUMMON_TIMED_DESPAWN, 2s, 0, 0, player);
+ Creature* injuredTemp = injured->SummonPersonalClone(InjuredNpcPositionAbandonedCamp, TEMPSUMMON_TIMED_DESPAWN, 2s, 0, 0, player);
+ injuredTemp->SetAIAnimKitId(ANIMATION_KIT_INJURED);
break;
}
default: