diff options
-rw-r--r-- | sql/updates/world/master/2022_01_01_07_world_2020_04_11_01_world.sql | 11 | ||||
-rw-r--r-- | src/server/scripts/Pet/pet_generic.cpp | 65 |
2 files changed, 11 insertions, 65 deletions
diff --git a/sql/updates/world/master/2022_01_01_07_world_2020_04_11_01_world.sql b/sql/updates/world/master/2022_01_01_07_world_2020_04_11_01_world.sql new file mode 100644 index 00000000000..e5e0cd0b64a --- /dev/null +++ b/sql/updates/world/master/2022_01_01_07_world_2020_04_11_01_world.sql @@ -0,0 +1,11 @@ +-- Mojo +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'); diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp index 7aeb18a9787..a1afcbb3a06 100644 --- a/src/server/scripts/Pet/pet_generic.cpp +++ b/src/server/scripts/Pet/pet_generic.cpp @@ -27,7 +27,6 @@ #include "ScriptMgr.h" #include "MotionMaster.h" -#include "ObjectAccessor.h" #include "PassiveAI.h" #include "PetDefines.h" #include "Player.h" @@ -124,69 +123,6 @@ public: } }; -enum Mojo -{ - SAY_MOJO = 0, - - SPELL_FEELING_FROGGY = 43906, - SPELL_SEDUCTION_VISUAL = 43919 -}; - -class npc_pet_gen_mojo : public CreatureScript -{ - public: - npc_pet_gen_mojo() : CreatureScript("npc_pet_gen_mojo") { } - - struct npc_pet_gen_mojoAI : public ScriptedAI - { - npc_pet_gen_mojoAI(Creature* creature) : ScriptedAI(creature) - { - } - - void Reset() override - { - _victimGUID.Clear(); - - if (Unit* owner = me->GetOwner()) - me->GetMotionMaster()->MoveFollow(owner, 0.0f, 0.0f); - } - - void JustEngagedWith(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()->GetTeam() != player->GetTeam()) - { - return; - } - - Talk(SAY_MOJO, player); - - if (!_victimGUID.IsEmpty()) - 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; - }; - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_pet_gen_mojoAI(creature); - } -}; - enum SoulTrader { SAY_SOUL_TRADER_INTRO = 0, @@ -218,6 +154,5 @@ struct npc_pet_gen_soul_trader : public ScriptedAI void AddSC_generic_pet_scripts() { new npc_pet_gen_pandaren_monk(); - new npc_pet_gen_mojo(); RegisterCreatureAI(npc_pet_gen_soul_trader); } |