refactor(Scripts/Ashenvale): Move Naga Brazier script to SAI (#17733)
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
--
|
||||||
|
UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI', `ScriptName` = '' WHERE `entry` = 178247;
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 178247) AND (`source_type` = 1) AND (`id` IN (0));
|
||||||
|
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
|
||||||
|
(178247, 1, 0, 0, 64, 0, 100, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 19, 12717, 10, 0, 0, 0, 0, 0, 0, 'Naga Brazier - On Gossip Hello - Do Action ID 0');
|
||||||
@@ -53,7 +53,9 @@ enum Muglash
|
|||||||
NPC_WRATH_SEAWITCH = 3715,
|
NPC_WRATH_SEAWITCH = 3715,
|
||||||
|
|
||||||
NPC_VORSHA = 12940,
|
NPC_VORSHA = 12940,
|
||||||
NPC_MUGLASH = 12717
|
NPC_MUGLASH = 12717,
|
||||||
|
|
||||||
|
ACTION_EXTINGUISH_BLAZIER = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
Position const FirstNagaCoord[3] =
|
Position const FirstNagaCoord[3] =
|
||||||
@@ -88,6 +90,15 @@ public:
|
|||||||
_isBrazierExtinguished = false;
|
_isBrazierExtinguished = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DoAction(int32 actionId) override
|
||||||
|
{
|
||||||
|
if (actionId == ACTION_EXTINGUISH_BLAZIER)
|
||||||
|
{
|
||||||
|
Talk(SAY_MUG_BRAZIER_WAIT);
|
||||||
|
_isBrazierExtinguished = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void JustEngagedWith(Unit* /*who*/) override
|
void JustEngagedWith(Unit* /*who*/) override
|
||||||
{
|
{
|
||||||
if (Player* player = GetPlayerForEscort())
|
if (Player* player = GetPlayerForEscort())
|
||||||
@@ -202,7 +213,6 @@ public:
|
|||||||
private:
|
private:
|
||||||
uint32 eventTimer;
|
uint32 eventTimer;
|
||||||
uint8 waveId;
|
uint8 waveId;
|
||||||
public:
|
|
||||||
bool _isBrazierExtinguished;
|
bool _isBrazierExtinguished;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -212,30 +222,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class go_naga_brazier : public GameObjectScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
go_naga_brazier() : GameObjectScript("go_naga_brazier") { }
|
|
||||||
|
|
||||||
bool OnGossipHello(Player* /*player*/, GameObject* go) override
|
|
||||||
{
|
|
||||||
if (Creature* creature = GetClosestCreatureWithEntry(go, NPC_MUGLASH, INTERACTION_DISTANCE * 2))
|
|
||||||
{
|
|
||||||
if (npc_muglash::npc_muglashAI* pEscortAI = CAST_AI(npc_muglash::npc_muglashAI, creature->AI()))
|
|
||||||
{
|
|
||||||
creature->AI()->Talk(SAY_MUG_BRAZIER_WAIT);
|
|
||||||
|
|
||||||
pEscortAI->_isBrazierExtinguished = true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
void AddSC_ashenvale()
|
void AddSC_ashenvale()
|
||||||
{
|
{
|
||||||
new npc_muglash();
|
new npc_muglash();
|
||||||
new go_naga_brazier();
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user