Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
pet_generic.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
/*
7
* Ordered alphabetically using scriptname.
8
* Scriptnames of files in this file should be prefixed with "npc_pet_gen_".
9
*/
10
11
#include "
ScriptMgr.h
"
12
#include "
ScriptedCreature.h
"
13
#include "
Player.h
"
14
15
enum
Mojo
16
{
17
SAY_MOJO
= 0,
18
19
SPELL_FEELING_FROGGY
= 43906,
20
SPELL_SEDUCTION_VISUAL
= 43919
21
};
22
23
class
npc_pet_gen_mojo
:
public
CreatureScript
24
{
25
public
:
26
npc_pet_gen_mojo
() :
CreatureScript
(
"npc_pet_gen_mojo"
) { }
27
28
struct
npc_pet_gen_mojoAI
:
public
ScriptedAI
29
{
30
npc_pet_gen_mojoAI
(
Creature
* creature) :
ScriptedAI
(creature)
31
{
32
_victimGUID
= 0;
33
}
34
35
void
Reset
()
OVERRIDE
36
{
37
_victimGUID
= 0;
38
39
if
(
Unit
* owner =
me
->GetOwner())
40
me
->GetMotionMaster()->MoveFollow(owner, 0.0f, 0.0f);
41
}
42
43
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
{ }
44
void
UpdateAI
(
uint32
/*diff*/
)
OVERRIDE
{ }
45
46
void
ReceiveEmote
(
Player
* player,
uint32
emote)
OVERRIDE
47
{
48
me
->HandleEmoteCommand(emote);
49
Unit
* owner =
me
->GetOwner();
50
if
(emote !=
TEXT_EMOTE_KISS
|| !owner || owner->
GetTypeId
() !=
TypeID::TYPEID_PLAYER
||
51
owner->
ToPlayer
()->
GetTeam
() != player->GetTeam())
52
{
53
return
;
54
}
55
56
Talk
(
SAY_MOJO
, player);
57
58
if
(
_victimGUID
)
59
if
(
Player
* victim =
ObjectAccessor::GetPlayer
(*
me
,
_victimGUID
))
60
victim->RemoveAura(
SPELL_FEELING_FROGGY
);
61
62
_victimGUID
= player->GetGUID();
63
64
DoCast
(player,
SPELL_FEELING_FROGGY
,
true
);
65
DoCast
(
me
,
SPELL_SEDUCTION_VISUAL
,
true
);
66
me
->GetMotionMaster()->MoveFollow(player, 0.0f, 0.0f);
67
}
68
69
private
:
70
uint64
_victimGUID
;
71
};
72
73
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
74
{
75
return
new
npc_pet_gen_mojoAI
(creature);
76
}
77
};
78
79
void
AddSC_generic_pet_scripts
()
80
{
81
new
npc_pet_gen_mojo
();
82
}
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
uint64
std::uint64_t uint64
Definition
Define.h:76
TypeID::TYPEID_PLAYER
@ TYPEID_PLAYER
Definition
Object.h:55
Player.h
ScriptMgr.h
ScriptedCreature.h
TEXT_EMOTE_KISS
@ TEXT_EMOTE_KISS
Definition
SharedDefines.h:1929
CreatureAI
Definition
CreatureAI.h:54
CreatureAI::Talk
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
Definition
CreatureAI.cpp:28
Creature
Definition
Creature.h:427
CreatureScript::CreatureScript
CreatureScript(const char *name)
Definition
ScriptMgr.cpp:1436
ObjectAccessor::GetPlayer
static Player * GetPlayer(WorldObject const &, uint64 guid)
Definition
ObjectAccessor.cpp:219
Object::ToPlayer
Player * ToPlayer()
Definition
Object.h:204
Object::GetTypeId
TypeID GetTypeId() const
Definition
Object.h:131
Player
Definition
Player.h:1289
Player::GetTeam
uint32 GetTeam() const
Definition
Player.h:2527
UnitAI::DoCast
void DoCast(uint32 spellId)
Definition
UnitAI.cpp:110
Unit
Definition
Unit.h:1367
npc_pet_gen_mojo
Definition
pet_generic.cpp:24
npc_pet_gen_mojo::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
pet_generic.cpp:73
npc_pet_gen_mojo::npc_pet_gen_mojo
npc_pet_gen_mojo()
Definition
pet_generic.cpp:26
Mojo
Mojo
Definition
pet_generic.cpp:16
SPELL_FEELING_FROGGY
@ SPELL_FEELING_FROGGY
Definition
pet_generic.cpp:19
SAY_MOJO
@ SAY_MOJO
Definition
pet_generic.cpp:17
SPELL_SEDUCTION_VISUAL
@ SPELL_SEDUCTION_VISUAL
Definition
pet_generic.cpp:20
AddSC_generic_pet_scripts
void AddSC_generic_pet_scripts()
Definition
pet_generic.cpp:79
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
npc_pet_gen_mojo::npc_pet_gen_mojoAI
Definition
pet_generic.cpp:29
npc_pet_gen_mojo::npc_pet_gen_mojoAI::ReceiveEmote
void ReceiveEmote(Player *player, uint32 emote) OVERRIDE
Definition
pet_generic.cpp:46
npc_pet_gen_mojo::npc_pet_gen_mojoAI::UpdateAI
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition
pet_generic.cpp:44
npc_pet_gen_mojo::npc_pet_gen_mojoAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
pet_generic.cpp:43
npc_pet_gen_mojo::npc_pet_gen_mojoAI::Reset
void Reset() OVERRIDE
Definition
pet_generic.cpp:35
npc_pet_gen_mojo::npc_pet_gen_mojoAI::_victimGUID
uint64 _victimGUID
Definition
pet_generic.cpp:70
npc_pet_gen_mojo::npc_pet_gen_mojoAI::npc_pet_gen_mojoAI
npc_pet_gen_mojoAI(Creature *creature)
Definition
pet_generic.cpp:30
src
server
scripts
Pet
pet_generic.cpp
Generated on
for Project SkyFire Core by
1.17.0