mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-22 21:26:23 +00:00
refactor(Scripts/Pets): Move Mojo to SAI (#9662)
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1639260543081586700');
|
||||
|
||||
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`='' WHERE `entry`=24480;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=24480 AND `source_type`=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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
(24480,0,0,1,22,0,100,0,58,15000,15000,0,1,0,1,0,0,0,0,7,0,0,0,0,0,0,0,'Mojo - On Emote Received - Say Line 0'),
|
||||
(24480,0,1,2,61,0,100,0,0,0,0,0,11,43906,0,0,0,0,0,7,0,0,0,0,0,0,0,'Mojo - Linked Event - Cast \'Feeling Froggy\''),
|
||||
(24480,0,2,0,61,0,100,0,0,0,0,0,11,43919,0,0,0,0,0,1,0,0,0,0,0,0,0,'Mojo - Linked Event - Cast \'Feeling Froggy\'');
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=24480 AND `SourceGroup`=1;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22,1,24480,0,0,33,0,1,2,0,0,0,0,'','SAI triggers only if player in raid or party');
|
||||
@@ -30,56 +30,6 @@
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum Mojo
|
||||
{
|
||||
SAY_MOJO = 0,
|
||||
|
||||
SPELL_FEELING_FROGGY = 43906,
|
||||
SPELL_SEDUCTION_VISUAL = 43919
|
||||
};
|
||||
|
||||
struct npc_pet_gen_mojo : public ScriptedAI
|
||||
{
|
||||
npc_pet_gen_mojo(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
_victimGUID.Clear();
|
||||
|
||||
if (Unit* owner = me->GetOwner())
|
||||
me->GetMotionMaster()->MoveFollow(owner, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/) override { }
|
||||
void UpdateAI(uint32 /*diff*/) override { }
|
||||
|
||||
void ReceiveEmote(Player* player, uint32 emote) override
|
||||
{
|
||||
me->HandleEmoteCommand(emote);
|
||||
Unit* owner = me->GetOwner();
|
||||
if (emote != TEXT_EMOTE_KISS || !owner || owner->GetTypeId() != TYPEID_PLAYER ||
|
||||
owner->ToPlayer()->GetTeamId(true) != player->GetTeamId(true))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Talk(SAY_MOJO, player);
|
||||
|
||||
if (_victimGUID)
|
||||
if (Player* victim = ObjectAccessor::GetPlayer(*me, _victimGUID))
|
||||
victim->RemoveAura(SPELL_FEELING_FROGGY);
|
||||
|
||||
_victimGUID = player->GetGUID();
|
||||
|
||||
DoCast(player, SPELL_FEELING_FROGGY, true);
|
||||
DoCast(me, SPELL_SEDUCTION_VISUAL, true);
|
||||
me->GetMotionMaster()->MoveFollow(player, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
private:
|
||||
ObjectGuid _victimGUID;
|
||||
};
|
||||
|
||||
enum soulTrader
|
||||
{
|
||||
SPELL_STEAL_ESSENCE_VISUAL = 50101,
|
||||
@@ -828,7 +778,6 @@ struct npc_pet_gen_moth : public NullCreatureAI
|
||||
|
||||
void AddSC_generic_pet_scripts()
|
||||
{
|
||||
RegisterCreatureAI(npc_pet_gen_mojo);
|
||||
RegisterCreatureAI(npc_pet_gen_soul_trader_beacon);
|
||||
RegisterCreatureAI(npc_pet_gen_argent_pony_bridle);
|
||||
RegisterCreatureAI(npc_pet_gen_target_following_bomb);
|
||||
|
||||
Reference in New Issue
Block a user