aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSorikoff <46191832+Sorikoff@users.noreply.github.com>2020-04-11 20:47:09 +0300
committerShauren <shauren.trinity@gmail.com>2022-01-01 14:38:52 +0100
commit26ae6df032d6ed67c05384eab4a614773b21adb7 (patch)
tree5ad948f12fa8cdf3389bd774f4708c3f5b7be441
parent7eff81f9dbf93e6f1efbd77b2623a0ee881f82cf (diff)
Scripts/Pets: Mojo (#24431)
* Mojo * Update * Rename 9999_99_99_99_world.sql to 2020_04_11_01_world.sql Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com> (cherry picked from commit 194691f7c3992fbea13227a190007f05451d742a)
-rw-r--r--sql/updates/world/master/2022_01_01_07_world_2020_04_11_01_world.sql11
-rw-r--r--src/server/scripts/Pet/pet_generic.cpp65
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);
}