mirror of
https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk.git
synced 2026-10-10 07:06:38 +08:00
fix(Scripts/BoreanTundra): Model issues within Steeljaw's Caravan (#26954)
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
--
|
||||
DELETE FROM `creature_template_model` WHERE (`CreatureID` = 25350);
|
||||
INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
|
||||
(25350, 1, 23175, 1, 0, 51831),
|
||||
(25350, 0, 23173, 1, 1, 51831);
|
||||
|
||||
DELETE FROM `creature_template_model` WHERE `CreatureID` IN (25342, 25343);
|
||||
INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
|
||||
(25342, 0, 328, 1, 0, 51831),
|
||||
(25342, 1, 21342, 1, 1, 51831),
|
||||
|
||||
(25343, 0, 328, 1, 0, 51831),
|
||||
(25343, 1, 21342, 1, 1, 51831);
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 25342);
|
||||
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
|
||||
(25342, 0, 0, 1, 62, 0, 100, 512, 9155, 0, 0, 0, 0, 0, 56, 34842, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Option Selected - Add Item \'Warsong Outfit\''),
|
||||
(25342, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 30000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Option Selected - Despawn in 30s'),
|
||||
(25342, 0, 2, 8, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 45713, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Option Selected - Cast \'Naked Caravan Guard - Master Transform\''),
|
||||
(25342, 0, 3, 4, 8, 0, 100, 513, 45474, 0, 0, 0, 0, 0, 33, 25342, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Spellhit \'Ragefist\'s Torch\' - Quest Credit \'The Honored Dead\''),
|
||||
(25342, 0, 4, 5, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 50, 182071, 30, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Spellhit \'Ragefist\'s Torch\' - Spawn GO Small Chapel Fire'),
|
||||
(25342, 0, 5, 8, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 30000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Spellhit \'Ragefist\'s Torch\' - Despawn after 30 seconds'),
|
||||
(25342, 0, 6, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 3, 25340, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Respawn - Morph To Creature Dead Caravan Guard Transform'),
|
||||
(25342, 0, 7, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Respawn - Add Npc Flags Gossip'),
|
||||
(25342, 0, 8, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Option or Spellhit - Remove Npc Flags Gossip');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 25343);
|
||||
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
|
||||
(25343, 0, 0, 1, 62, 0, 100, 512, 9156, 0, 0, 0, 0, 0, 56, 34842, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Option Selected - Add Item \'Warsong Outfit\''),
|
||||
(25343, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 30000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Option Selected - Despawn in 30s'),
|
||||
(25343, 0, 2, 8, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 45713, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Option Selected - Cast \'Naked Caravan Guard - Master Transform\''),
|
||||
(25343, 0, 3, 4, 8, 0, 100, 513, 45474, 0, 0, 0, 0, 0, 33, 25342, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Spellhit \'Ragefist\'s Torch\' - Quest Credit \'The Honored Dead\''),
|
||||
(25343, 0, 4, 5, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 50, 182071, 30, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Spellhit \'Ragefist\'s Torch\' - Spawn GO Small Chapel Fire'),
|
||||
(25343, 0, 5, 8, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 30000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Spellhit \'Ragefist\'s Torch\' - Despawn after 30 seconds'),
|
||||
(25343, 0, 6, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 3, 25341, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Respawn - Morph To Creature Dead Caravan Worker Transform'),
|
||||
(25343, 0, 7, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Respawn - Add Npc Flags Gossip'),
|
||||
(25343, 0, 8, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Option or Spellhit - Remove Npc Flags Gossip');
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id` = 45713;
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(45713, 'spell_naked_caravan_guard_transform');
|
||||
@@ -1415,6 +1415,80 @@ private:
|
||||
bool _ejected;
|
||||
};
|
||||
|
||||
enum NakedCaravanGuard
|
||||
{
|
||||
// Models the Dead Caravan Guards / Workers spawn with
|
||||
MODEL_GUARD_ORC_MALE = 23246,
|
||||
MODEL_GUARD_FORSAKEN_MALE = 23247,
|
||||
MODEL_GUARD_ORC_FEMALE = 23248,
|
||||
MODEL_GUARD_TAUREN_MALE = 23249,
|
||||
MODEL_WORKER_ORC_MALE = 23124,
|
||||
MODEL_WORKER_FORSAKEN_MALE = 23125,
|
||||
MODEL_WORKER_ORC_FEMALE = 23126,
|
||||
MODEL_WORKER_TROLL_MALE = 23127,
|
||||
|
||||
// Their counterparts once the outfit has been looted
|
||||
MODEL_NAKED_GUARD_ORC_MALE = 23245,
|
||||
MODEL_NAKED_GUARD_FORSAKEN_MALE = 23250,
|
||||
MODEL_NAKED_GUARD_ORC_FEMALE = 23251,
|
||||
MODEL_NAKED_GUARD_TAUREN_MALE = 23252,
|
||||
MODEL_NAKED_WORKER_ORC_MALE = 23253,
|
||||
MODEL_NAKED_WORKER_FORSAKEN_MALE = 23254,
|
||||
MODEL_NAKED_WORKER_ORC_FEMALE = 23255,
|
||||
MODEL_NAKED_WORKER_TROLL_MALE = 23256
|
||||
};
|
||||
|
||||
// 45713 - Naked Caravan Guard - Master Transform
|
||||
class spell_naked_caravan_guard_transform : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_naked_caravan_guard_transform);
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
Creature* target = GetHitCreature();
|
||||
if (!target)
|
||||
return;
|
||||
|
||||
uint32 nakedModelId = 0;
|
||||
switch (target->GetDisplayId())
|
||||
{
|
||||
case MODEL_GUARD_ORC_MALE:
|
||||
nakedModelId = MODEL_NAKED_GUARD_ORC_MALE;
|
||||
break;
|
||||
case MODEL_GUARD_FORSAKEN_MALE:
|
||||
nakedModelId = MODEL_NAKED_GUARD_FORSAKEN_MALE;
|
||||
break;
|
||||
case MODEL_GUARD_ORC_FEMALE:
|
||||
nakedModelId = MODEL_NAKED_GUARD_ORC_FEMALE;
|
||||
break;
|
||||
case MODEL_GUARD_TAUREN_MALE:
|
||||
nakedModelId = MODEL_NAKED_GUARD_TAUREN_MALE;
|
||||
break;
|
||||
case MODEL_WORKER_ORC_MALE:
|
||||
nakedModelId = MODEL_NAKED_WORKER_ORC_MALE;
|
||||
break;
|
||||
case MODEL_WORKER_FORSAKEN_MALE:
|
||||
nakedModelId = MODEL_NAKED_WORKER_FORSAKEN_MALE;
|
||||
break;
|
||||
case MODEL_WORKER_ORC_FEMALE:
|
||||
nakedModelId = MODEL_NAKED_WORKER_ORC_FEMALE;
|
||||
break;
|
||||
case MODEL_WORKER_TROLL_MALE:
|
||||
nakedModelId = MODEL_NAKED_WORKER_TROLL_MALE;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
target->SetDisplayId(nakedModelId);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_naked_caravan_guard_transform::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_borean_tundra()
|
||||
{
|
||||
RegisterSpellScript(spell_q11919_q11940_drake_hunt_aura);
|
||||
@@ -1438,4 +1512,5 @@ void AddSC_borean_tundra()
|
||||
RegisterSpellScript(spell_bloodspore_haze);
|
||||
RegisterSpellScript(spell_q11652_rescue_injured_soldier);
|
||||
RegisterSpellScript(spell_q11652_soldier_rescued);
|
||||
RegisterSpellScript(spell_naked_caravan_guard_transform);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user