fix(Scripts/ScarletMonastery): More NPCs become friendly during the Ashbringer Event (#27257)

This commit is contained in:
daobashun
2026-08-22 09:00:10 -03:00
committed by GitHub
parent c143cdaa7c
commit b70b14ed6b
2 changed files with 55 additions and 14 deletions
@@ -0,0 +1,17 @@
-- Clientside area trigger 4089 smart ai
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 22 AND `SourceEntry` = 4089 AND `SourceId` = 2;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `Comment`) VALUES
-- Change it so it can trigger without equipping a weapon
(22, 1, 4089, 2, 0, 2, 0, 22691, 1, 0, 0, 'Action invoker has 1 of item Corrupted Ashbringer (22691) in backpack'),
(22, 1, 4089, 2, 0, 13, 0, 2, 0, 0, 0, 'instance data 2 equals 0');
-- Change it to pause moving for 45 seconds before starting to move again
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 429400) AND (`source_type` = 9) AND (`id` IN (2));
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(429400, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 54, 45000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'AshbringerEvent - Actionlist - Pause Waypoint');
-- Update the cooldown time for repeated triggers
UPDATE `smart_scripts` SET `event_flags` = (`event_flags` & ~1),
`event_param3` = 45000,
`event_param4` = 45000
WHERE `source_type` = 0 AND `event_type` = 8 AND `entryorguid` IN (4294,4295,4298,4299,4300,4301,4302,4303,4540);
@@ -41,6 +41,25 @@ enum AshbringerEventMisc
GO_HIGH_INQUISITOR_DOOR = 104600
};
enum AshbringerEventUnrelated
{
//church
NPC_RABBIT = 721,
//cemetery
NPC_INTERROGATOR_VISHAS = 3983,
NPC_RAT = 4075,
NPC_SCARLET_SENTRY = 4283,
NPC_SCARLET_SCRYER = 4293,
NPC_UNFETTERED_SPIRIT = 4308,
NPC_SCARLET_TORTURER = 4306,
NPC_ANGUISHED_DEAD = 6426,
NPC_HAUNTING_PHANTASM = 6427,
NPC_FALLON_CHAMPION = 6488,
NPC_BLOODMAGE_THALNOS = 4543,
NPC_SUFFERING_VICTIM = 6547,
};
enum DataTypes
{
TYPE_MOGRAINE_AND_WHITE_EVENT = 1,
@@ -96,28 +115,33 @@ public:
{
switch (creature->GetEntry())
{
case NPC_SCARLET_MYRIDON:
case NPC_SCARLET_DEFENDER:
case NPC_SCARLET_CENTURION:
case NPC_SCARLET_SORCERER:
case NPC_SCARLET_WIZARD:
case NPC_SCARLET_ABBOT:
case NPC_SCARLET_MONK:
case NPC_SCARLET_CHAMPION:
case NPC_SCARLET_CHAPLAIN:
case NPC_FAIRBANKS:
_ashbringerNpcGUID.emplace(creature->GetGUID());
break;
//church
case NPC_RABBIT:
//cemetery
case NPC_INTERROGATOR_VISHAS:
case NPC_RAT:
case NPC_SCARLET_SENTRY:
case NPC_SCARLET_SCRYER:
case NPC_UNFETTERED_SPIRIT:
case NPC_SCARLET_TORTURER:
case NPC_ANGUISHED_DEAD:
case NPC_HAUNTING_PHANTASM:
case NPC_FALLON_CHAMPION:
case NPC_BLOODMAGE_THALNOS:
case NPC_SUFFERING_VICTIM:
return;
case NPC_COMMANDER_MOGRAINE:
_mograineGUID = creature->GetGUID();
_ashbringerNpcGUID.emplace(creature->GetGUID());
break;
case NPC_INQUISITOR_WHITEMANE:
_whitemaneGUID = creature->GetGUID();
_whitemaneGUID = creature->GetGUID();
break;
default:
break;
}
_ashbringerNpcGUID.emplace(creature->GetGUID());
}
void SetData(uint32 type, uint32 data) override