TrinityCore
operation_gnomeregan.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#include "
ScriptMgr.h
"
19
#include "
SpellScript.h
"
20
#include "
Unit.h
"
21
22
enum
BasicOrdersEmote
23
{
24
SPELL_TEST_SALUTE
= 73835,
25
SPELL_TEST_ROAR
= 73836,
26
SPELL_TEST_CHEER
= 73725,
27
SPELL_TEST_DANCE
= 73837,
28
SPELL_TEST_STOP_DANCE
= 73886
29
};
30
31
/* 73725 - [DND] Test Cheer
32
73835 - [DND] Test Salute
33
73836 - [DND] Test Roar
34
73837 - [DND] Test Dance
35
73886 - [DND] Test Stop Dance */
36
class
spell_operation_gnomeregan_basic_orders_emote
:
public
AuraScript
37
{
38
void
HandlePeriodic
(
AuraEffect
const
*
/*aurEff*/
)
39
{
40
Unit
* target =
GetTarget
();
41
42
switch
(
GetId
())
43
{
44
case
SPELL_TEST_SALUTE
:
45
target->
HandleEmoteCommand
(
EMOTE_ONESHOT_SALUTE
);
46
break
;
47
case
SPELL_TEST_ROAR
:
48
target->
HandleEmoteCommand
(
EMOTE_ONESHOT_ROAR
);
49
break
;
50
case
SPELL_TEST_CHEER
:
51
target->
HandleEmoteCommand
(
EMOTE_ONESHOT_CHEER
);
52
break
;
53
case
SPELL_TEST_DANCE
:
54
target->
SetEmoteState
(
EMOTE_STATE_DANCE
);
55
break
;
56
case
SPELL_TEST_STOP_DANCE
:
57
target->
SetEmoteState
(
EMOTE_STATE_NONE
);
58
break
;
59
default
:
60
return
;
61
}
62
Remove
();
63
}
64
65
void
Register
()
override
66
{
67
OnEffectPeriodic
+=
AuraEffectPeriodicFn
(
spell_operation_gnomeregan_basic_orders_emote::HandlePeriodic
,
EFFECT_0
,
SPELL_AURA_PERIODIC_DUMMY
);
68
}
69
};
70
71
void
AddSC_event_operation_gnomeregan
()
72
{
73
RegisterSpellScript
(
spell_operation_gnomeregan_basic_orders_emote
);
74
}
ScriptMgr.h
RegisterSpellScript
#define RegisterSpellScript(spell_script)
Definition:
ScriptMgr.h:1369
EFFECT_0
@ EFFECT_0
Definition:
SharedDefines.h:30
EMOTE_ONESHOT_CHEER
@ EMOTE_ONESHOT_CHEER
Definition:
SharedDefines.h:3235
EMOTE_ONESHOT_ROAR
@ EMOTE_ONESHOT_ROAR
Definition:
SharedDefines.h:3244
EMOTE_ONESHOT_SALUTE
@ EMOTE_ONESHOT_SALUTE
Definition:
SharedDefines.h:3279
EMOTE_STATE_DANCE
@ EMOTE_STATE_DANCE
Definition:
SharedDefines.h:3239
EMOTE_STATE_NONE
@ EMOTE_STATE_NONE
Definition:
SharedDefines.h:3259
SPELL_AURA_PERIODIC_DUMMY
@ SPELL_AURA_PERIODIC_DUMMY
Definition:
SpellAuraDefines.h:320
SpellScript.h
AuraEffectPeriodicFn
#define AuraEffectPeriodicFn(F, I, N)
Definition:
SpellScript.h:2046
Unit.h
AuraEffect
Definition:
SpellAuraEffects.h:30
AuraScript
Definition:
SpellScript.h:1069
AuraScript::OnEffectPeriodic
HookList< EffectPeriodicHandler > OnEffectPeriodic
Definition:
SpellScript.h:2045
AuraScript::GetTarget
Unit * GetTarget() const
Definition:
SpellScript.cpp:1160
AuraScript::Remove
void Remove(AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition:
SpellScript.cpp:1035
AuraScript::GetId
uint32 GetId() const
Definition:
SpellScript.cpp:996
Unit
Definition:
Unit.h:627
Unit::SetEmoteState
void SetEmoteState(Emote emote)
Definition:
Unit.h:852
Unit::HandleEmoteCommand
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
Definition:
Unit.cpp:1598
spell_operation_gnomeregan_basic_orders_emote
Definition:
operation_gnomeregan.cpp:37
spell_operation_gnomeregan_basic_orders_emote::HandlePeriodic
void HandlePeriodic(AuraEffect const *)
Definition:
operation_gnomeregan.cpp:38
spell_operation_gnomeregan_basic_orders_emote::Register
void Register() override
Definition:
operation_gnomeregan.cpp:65
BasicOrdersEmote
BasicOrdersEmote
Definition:
operation_gnomeregan.cpp:23
SPELL_TEST_STOP_DANCE
@ SPELL_TEST_STOP_DANCE
Definition:
operation_gnomeregan.cpp:28
SPELL_TEST_ROAR
@ SPELL_TEST_ROAR
Definition:
operation_gnomeregan.cpp:25
SPELL_TEST_SALUTE
@ SPELL_TEST_SALUTE
Definition:
operation_gnomeregan.cpp:24
SPELL_TEST_CHEER
@ SPELL_TEST_CHEER
Definition:
operation_gnomeregan.cpp:26
SPELL_TEST_DANCE
@ SPELL_TEST_DANCE
Definition:
operation_gnomeregan.cpp:27
AddSC_event_operation_gnomeregan
void AddSC_event_operation_gnomeregan()
Definition:
operation_gnomeregan.cpp:71
server
scripts
Events
operation_gnomeregan.cpp
Generated on Thu Mar 14 2024 23:39:27 for TrinityCore by
1.9.4