This commit is contained in:
Skjalf
2026-07-25 17:16:03 -03:00
6 changed files with 110 additions and 12 deletions

View File

@@ -0,0 +1,14 @@
-- DB update 2026_07_25_00 -> 2026_07_25_01
-- SPELL_TRANSFORM_GHOST and SPELL_FORGIVENESS
DELETE FROM `spell_script_names` WHERE `spell_id` IN (28443, 28697);
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(28443, 'spell_transform_ghost_visual'),
(28697, 'spell_forgiveness_dummy_visual');
-- Smartscript
-- Deleted 28 due to SPELL_FORGIVENESS attack death
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 3976) AND (`source_type` = 0) AND (`id` IN (24, 28, 29));
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
(3976, 0, 24, 28, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Scarlet Commander Mograine - On Reached Point 1 - Start Attacking'),-- Change link 29 to 28
(3976, 0, 28, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Scarlet Commander Mograine - On Reached Point 1 - Enable Evade');-- Change id 29 to 28

View File

@@ -0,0 +1,3 @@
-- DB update 2026_07_25_01 -> 2026_07_25_02
--
UPDATE `creature_template` SET `KillCredit1` = 0 WHERE (`entry` = 27370);

View File

@@ -0,0 +1,3 @@
-- DB update 2026_07_25_02 -> 2026_07_25_03
--
UPDATE `quest_offer_reward` SET `Emote1` = 5, `Emote2` = 1, `Emote3` = 1, `EmoteDelay2` = 1000, `RewardText` = 'WHAT?!$B$B<The image before you distorts for a moment as the archmage attempts to regain his composure.>$B$BOf course, we should have guessed that this was what they were up to all along. Quickly, there\'s no time to waste.$B$BWyrmrest must be warned!' WHERE (`ID` = 12110);

View File

@@ -0,0 +1,30 @@
-- DB update 2026_07_25_03 -> 2026_07_25_04
--
DELETE FROM `creature` WHERE (`id` = 24516) AND (`guid` IN (114439, 114440));
INSERT INTO `creature` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `Comment`, `CreateObject`, `VerifiedBuild`) VALUES
(114439, 24516, 571, 0, 0, 1, 1, 0, 2319.6106, -3020.8176, 136.57187, 2.20952, 300, 0, 0, 0, 0, 2, 0, 0, 0, '', NULL, 1, 65512);
DELETE FROM `creature_addon` WHERE `guid` = 114439;
INSERT INTO `creature_addon` (`guid`, `path_id`) VALUES
(114439, 1144390);
DELETE FROM `waypoint_data` WHERE `id` = 1144390;
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`) VALUES
(1144390, 1 , 2319.6106, -3020.8176, 136.57187, NULL),
(1144390, 2 , 2293.5505, -3033.0613, 136.70703, NULL),
(1144390, 3 , 2270.9585, -3049.1892, 136.7957, NULL),
(1144390, 4 , 2261.9817, -3069.591, 137.1125, NULL),
(1144390, 5 , 2244.4805, -3111.4001, 136.79797, NULL),
(1144390, 6 , 2234.3372, -3129.741, 138.23094, NULL),
(1144390, 7 , 2205.1501, -3149.454, 140.47078, NULL),
(1144390, 8 , 2178.7832, -3143.6543, 139.04956, NULL),
(1144390, 9 , 2159.131, -3118.843, 138.94107, NULL),
(1144390, 10, 2157.4236, -3090.9448, 138.66618, NULL),
(1144390, 11, 2184.6926, -3076.7776, 137.69681, NULL),
(1144390, 12, 2205.2817, -3067.4485, 138.47263, NULL),
(1144390, 13, 2241.1084, -3040.399, 136.02086, NULL),
(1144390, 14, 2251.2544, -3001.0442, 135.393, NULL),
(1144390, 15, 2261.8438, -2975.5894, 137.61548, NULL),
(1144390, 16, 2288.5696, -2967.9568, 134.09793, NULL),
(1144390, 17, 2312.0784, -2973.8508, 131.73712, NULL),
(1144390, 18, 2327.24, -2996.011, 135.02109, NULL);

View File

@@ -18,6 +18,8 @@
#include "InstanceMapScript.h"
#include "scarletmonastery.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
enum AshbringerEventMisc
{
@@ -39,17 +41,6 @@ enum AshbringerEventMisc
GO_HIGH_INQUISITOR_DOOR = 104600
};
enum AshbringerSpell
{
//Highlord Mograine Spells
//Needs Fix: Increased the visual effect of spells on hit
SPELL_FORGIVENESS = 28697,
//High Inquisitor Fairbanks
//Needs Fix: Increased the visual effect of spells on hit
SPELL_TRANSFORM_GHOST = 28443
};
enum DataTypes
{
TYPE_MOGRAINE_AND_WHITE_EVENT = 1,
@@ -66,7 +57,7 @@ enum DataTypes
GAMEOBJECT_PUMPKIN_SHRINE = 10
};
float const CATHEDRAL_PULL_RANGE = 80.0f; // Distance from the Cathedral doors to where Mograine is standing
float constexpr CATHEDRAL_PULL_RANGE = 80.0f; // Distance from the Cathedral doors to where Mograine is standing
class instance_scarlet_monastery : public InstanceMapScript
{
@@ -271,7 +262,63 @@ public:
};
};
enum AshbringerSpell
{
SPELL_FORGIVENESS = 28697,
SPELL_FORGIVENESS_IMPACTKIT = 317,
SPELL_TRANSFORM_GHOST = 28443,
SPELL_TRANSFORM_IMPACTKIT=500
};
// SPELL_FORGIVENESS = 28697
class spell_forgiveness_dummy_visual : public SpellScript
{
PrepareSpellScript(spell_forgiveness_dummy_visual);
void HandleDummy(SpellEffIndex /*effIndex*/)
{
Unit* target = GetHitUnit();
if (!target)
return;
target->SendPlaySpellVisual(SPELL_FORGIVENESS_IMPACTKIT);//SPELL_FORGIVENESS IMPACTKIT 317 SpellVisualEntry.ImpactKit can't be used
//Delay death to prevent the death of the creature from interrupting the animation display
target->m_Events.AddEventAtOffset([target]() -> void
{
target->KillSelf();
}, 500ms);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_forgiveness_dummy_visual::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
// SPELL_TRANSFORM_GHOST = 28443
class spell_transform_ghost_visual: public SpellScript
{
PrepareSpellScript(spell_transform_ghost_visual);
void HandleAfterHit()
{
Unit* target = GetHitUnit();
if (!target)
return;
target->SendPlaySpellVisual(SPELL_TRANSFORM_IMPACTKIT); //SPELL_TRANSFORM_GHOST IMPACTKIT 500
}
void Register() override
{
AfterHit += SpellHitFn(spell_transform_ghost_visual::HandleAfterHit);
}
};
void AddSC_instance_scarlet_monastery()
{
new instance_scarlet_monastery();
RegisterSpellScript(spell_forgiveness_dummy_visual);
RegisterSpellScript(spell_transform_ghost_visual);
}

View File

@@ -16,6 +16,7 @@
*/
#include "CreatureScript.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"