Skip to content

Commit bf36a6f

Browse files
author
Rochet2
committed
Merge TrinityCore 3.3.5 to ElunaTrinityWotlk [skip ci]
2 parents c69986f + 6057f33 commit bf36a6f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+360
-296
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-- Add Utgarde GY for Howling Fjord Area for both factions
2+
DELETE FROM `graveyard_zone` WHERE `ID` IN (1337,1376) AND `GhostZone`=495;
3+
INSERT INTO `graveyard_zone` (`ID`, `GhostZone`, `Faction`, `Comment`) VALUES
4+
(1337, 495, 0, "Howling Fjord, Utgarde GY - Howling Fjord"),
5+
(1376, 495, 0, "Howling Fjord, Utgarde 2 GY - Howling Fjord");
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-- Update Lady Hoteshem Equipment, SheathState and level.
2+
UPDATE `creature_equip_template` SET `ItemID1`=19981, `VerifiedBuild`=0 WHERE `CreatureID`=15008 AND `ID`=1;
3+
UPDATE `creature_template_addon` SET `SheathState`=0 WHERE `entry`=15008;
4+
UPDATE `creature_template` SET `minlevel`=61, `maxlevel`=61 WHERE `entry`=15008;

src/server/game/AI/CreatureAI.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "UnitAI.h"
2626

2727
class AreaBoundary;
28+
class AuraApplication;
2829
class Creature;
2930
class DynamicObject;
3031
class GameObject;
@@ -156,6 +157,12 @@ class TC_GAME_API CreatureAI : public UnitAI
156157
// Called when a channeled spell finishes
157158
virtual void OnChannelFinished(SpellInfo const* /*spell*/) { }
158159

160+
// Called when aura is applied
161+
virtual void OnAuraApplied(AuraApplication const* /*aurApp*/) { }
162+
163+
// Called when aura is removed
164+
virtual void OnAuraRemoved(AuraApplication const* /*aurApp*/) { }
165+
159166
// Should return true if the NPC is currently being escorted
160167
virtual bool IsEscorted() const { return false; }
161168

src/server/game/AI/SmartScripts/SmartAI.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "PetDefines.h"
2828
#include "Player.h"
2929
#include "ScriptMgr.h"
30+
#include "SpellAuras.h"
3031
#include "Vehicle.h"
3132

3233
SmartAI::SmartAI(Creature* creature) : CreatureAI(creature), _charmed(false), _followCreditType(0), _followArrivedTimer(0), _followCredit(0), _followArrivedEntry(0), _followDistance(0.f), _followAngle(0.f),
@@ -634,6 +635,16 @@ void SmartAI::OnSpellStart(SpellInfo const* spellInfo)
634635
GetScript()->ProcessEventsFor(SMART_EVENT_ON_SPELL_START, nullptr, 0, 0, false, spellInfo);
635636
}
636637

638+
void SmartAI::OnAuraApplied(AuraApplication const* aurApp)
639+
{
640+
GetScript()->ProcessEventsFor(SMART_EVENT_ON_AURA_APPLIED, nullptr, 0, 0, false, aurApp->GetBase()->GetSpellInfo());
641+
}
642+
643+
void SmartAI::OnAuraRemoved(AuraApplication const* aurApp)
644+
{
645+
GetScript()->ProcessEventsFor(SMART_EVENT_ON_AURA_REMOVED, nullptr, 0, 0, false, aurApp->GetBase()->GetSpellInfo());
646+
}
647+
637648
void SmartAI::DamageTaken(Unit* doneBy, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/)
638649
{
639650
GetScript()->ProcessEventsFor(SMART_EVENT_DAMAGED, doneBy, damage);

src/server/game/AI/SmartScripts/SmartAI.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,12 @@ class TC_GAME_API SmartAI : public CreatureAI
132132
// Called when a spell starts
133133
void OnSpellStart(SpellInfo const* spellInfo) override;
134134

135+
// Called when aura is applied
136+
void OnAuraApplied(AuraApplication const* aurApp) override;
137+
138+
// Called when aura is removed
139+
void OnAuraRemoved(AuraApplication const* aurApp) override;
140+
135141
// Called at any Damage from any attacker (before damage apply)
136142
void DamageTaken(Unit* doneBy, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override;
137143

src/server/game/AI/SmartScripts/SmartScript.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2965,6 +2965,8 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
29652965
case SMART_EVENT_ON_SPELL_CAST:
29662966
case SMART_EVENT_ON_SPELL_FAILED:
29672967
case SMART_EVENT_ON_SPELL_START:
2968+
case SMART_EVENT_ON_AURA_APPLIED:
2969+
case SMART_EVENT_ON_AURA_REMOVED:
29682970
{
29692971
if (!spell)
29702972
return;

src/server/game/AI/SmartScripts/SmartScriptMgr.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,8 @@ bool SmartAIMgr::CheckUnusedEventParams(SmartScriptHolder const& e)
774774
case SMART_EVENT_ON_SPELL_CAST: return sizeof(SmartEvent::spellCast);
775775
case SMART_EVENT_ON_SPELL_FAILED: return sizeof(SmartEvent::spellCast);
776776
case SMART_EVENT_ON_SPELL_START: return sizeof(SmartEvent::spellCast);
777+
case SMART_EVENT_ON_AURA_APPLIED: return sizeof(SmartEvent::spellCast);
778+
case SMART_EVENT_ON_AURA_REMOVED: return sizeof(SmartEvent::spellCast);
777779
case SMART_EVENT_ON_DESPAWN: return NO_PARAMS;
778780
default:
779781
TC_LOG_WARN("sql.sql", "SmartAIMgr: Entry {} SourceType {} Event {} Action {} is using an event with no unused params specified in SmartAIMgr::CheckUnusedEventParams(), please report this.",
@@ -1108,6 +1110,8 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
11081110
case SMART_EVENT_ON_SPELL_CAST:
11091111
case SMART_EVENT_ON_SPELL_FAILED:
11101112
case SMART_EVENT_ON_SPELL_START:
1113+
case SMART_EVENT_ON_AURA_APPLIED:
1114+
case SMART_EVENT_ON_AURA_REMOVED:
11111115
{
11121116
if (!IsSpellValid(e, e.event.spellCast.spell))
11131117
return false;

src/server/game/AI/SmartScripts/SmartScriptMgr.h

Lines changed: 66 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,12 @@ enum SMART_EVENT
187187
SMART_EVENT_ON_SPELL_FAILED = 84, // SpellID, CooldownMin, CooldownMax
188188
SMART_EVENT_ON_SPELL_START = 85, // SpellID, CooldownMin, CooldownMax
189189
SMART_EVENT_ON_DESPAWN = 86, // NONE
190+
SMART_EVENT_SEND_EVENT_TRIGGER = 87, // UNUSED NEEDS CHERRYPICK
191+
SMART_EVENT_AREATRIGGER_EXIT = 88, // don't use on 3.3.5a
192+
SMART_EVENT_ON_AURA_APPLIED = 89, // SpellID, CooldownMin, CooldownMax
193+
SMART_EVENT_ON_AURA_REMOVED = 90, // SpellID, CooldownMin, CooldownMax
190194

191-
SMART_EVENT_END = 87
195+
SMART_EVENT_END = 91
192196
};
193197

194198
struct SmartEvent
@@ -601,7 +605,13 @@ enum SMART_ACTION
601605
SMART_ACTION_BECOME_PERSONAL_CLONE_FOR_PLAYER = 149, // don't use on 3.3.5a
602606
SMART_ACTION_TRIGGER_GAME_EVENT = 150, // eventId, useSaiTargetAsGameEventSource (RESERVED, PENDING CHERRYPICK)
603607
SMART_ACTION_DO_ACTION = 151, // actionId (RESERVED, PENDING CHERRYPICK)
604-
SMART_ACTION_END = 152
608+
SMART_ACTION_COMPLETE_QUEST = 152, // QuestId. Regular quests with objectives can't be completed with this action (only quests with QUEST_FLAGS_COMPLETION_EVENT, QUEST_FLAGS_COMPLETION_AREA_TRIGGER or QUEST_FLAGS_TRACKING_EVENT) (RESERVED, PENDING CHERRYPICK)
609+
SMART_ACTION_CREDIT_QUEST_OBJECTIVE_TALK_TO = 153, // (RESERVED, PENDING CHERRYPICK)
610+
SMART_ACTION_DESTROY_CONVERSATION = 154, // don't use on 3.3.5a
611+
SMART_ACTION_ENTER_VEHICLE = 155, // seat id (RESERVED, PENDING CHERRYPICK)
612+
SMART_ACTION_BOARD_PASSENGER = 156, // seat id (RESERVED, PENDING CHERRYPICK)
613+
SMART_ACTION_EXIT_VEHICLE = 157, // (RESERVED, PENDING CHERRYPICK)
614+
SMART_ACTION_END = 158
605615
};
606616

607617
enum class SmartActionSummonCreatureFlags
@@ -1381,19 +1391,19 @@ struct SmartTarget
13811391

13821392
enum SmartScriptType
13831393
{
1384-
SMART_SCRIPT_TYPE_CREATURE = 0, //done
1385-
SMART_SCRIPT_TYPE_GAMEOBJECT = 1, //done
1386-
SMART_SCRIPT_TYPE_AREATRIGGER = 2, //done
1387-
SMART_SCRIPT_TYPE_EVENT = 3, //
1388-
SMART_SCRIPT_TYPE_GOSSIP = 4, //
1389-
SMART_SCRIPT_TYPE_QUEST = 5, //
1390-
SMART_SCRIPT_TYPE_SPELL = 6, //
1391-
SMART_SCRIPT_TYPE_TRANSPORT = 7, //
1392-
SMART_SCRIPT_TYPE_INSTANCE = 8, //
1393-
SMART_SCRIPT_TYPE_TIMED_ACTIONLIST = 9, //
1394-
SMART_SCRIPT_TYPE_SCENE = 10, // RESERVED master branch
1395-
SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY = 11, // RESERVED master branch
1396-
SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY_SERVERSIDE = 12, // RESERVED master branch
1394+
SMART_SCRIPT_TYPE_CREATURE = 0,
1395+
SMART_SCRIPT_TYPE_GAMEOBJECT = 1,
1396+
SMART_SCRIPT_TYPE_AREATRIGGER = 2,
1397+
SMART_SCRIPT_TYPE_EVENT = 3, // NYI
1398+
SMART_SCRIPT_TYPE_GOSSIP = 4, // NYI
1399+
SMART_SCRIPT_TYPE_QUEST = 5, // NYI
1400+
SMART_SCRIPT_TYPE_SPELL = 6, // NYI
1401+
SMART_SCRIPT_TYPE_TRANSPORT = 7, // NYI
1402+
SMART_SCRIPT_TYPE_INSTANCE = 8, // NYI
1403+
SMART_SCRIPT_TYPE_TIMED_ACTIONLIST = 9,
1404+
SMART_SCRIPT_TYPE_SCENE = 10, // RESERVED master branch
1405+
SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY = 11, // RESERVED master branch
1406+
SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY_CUSTOM = 12, // RESERVED master branch
13971407
SMART_SCRIPT_TYPE_MAX
13981408
};
13991409

@@ -1408,30 +1418,32 @@ enum SmartAITypeMaskId
14081418
SMART_SCRIPT_TYPE_MASK_SPELL = 64,
14091419
SMART_SCRIPT_TYPE_MASK_TRANSPORT = 128,
14101420
SMART_SCRIPT_TYPE_MASK_INSTANCE = 256,
1411-
SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST = 512
1421+
SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST = 512,
1422+
SMART_SCRIPT_TYPE_MASK_SCENE = 1024,
1423+
SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY = 2048
14121424
};
14131425

14141426
const uint32 SmartAITypeMask[SMART_SCRIPT_TYPE_MAX][2] =
14151427
{
1416-
{SMART_SCRIPT_TYPE_CREATURE, SMART_SCRIPT_TYPE_MASK_CREATURE },
1417-
{SMART_SCRIPT_TYPE_GAMEOBJECT, SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
1418-
{SMART_SCRIPT_TYPE_AREATRIGGER, SMART_SCRIPT_TYPE_MASK_AREATRIGGER },
1419-
{SMART_SCRIPT_TYPE_EVENT, SMART_SCRIPT_TYPE_MASK_EVENT },
1420-
{SMART_SCRIPT_TYPE_GOSSIP, SMART_SCRIPT_TYPE_MASK_GOSSIP },
1421-
{SMART_SCRIPT_TYPE_QUEST, SMART_SCRIPT_TYPE_MASK_QUEST },
1422-
{SMART_SCRIPT_TYPE_SPELL, SMART_SCRIPT_TYPE_MASK_SPELL },
1423-
{SMART_SCRIPT_TYPE_TRANSPORT, SMART_SCRIPT_TYPE_MASK_TRANSPORT },
1424-
{SMART_SCRIPT_TYPE_INSTANCE, SMART_SCRIPT_TYPE_MASK_INSTANCE },
1425-
{SMART_SCRIPT_TYPE_TIMED_ACTIONLIST, SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST },
1426-
{SMART_SCRIPT_TYPE_SCENE, 0 },
1427-
{SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY, 0 },
1428-
{SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY_SERVERSIDE, 0 }
1428+
{SMART_SCRIPT_TYPE_CREATURE, SMART_SCRIPT_TYPE_MASK_CREATURE },
1429+
{SMART_SCRIPT_TYPE_GAMEOBJECT, SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
1430+
{SMART_SCRIPT_TYPE_AREATRIGGER, SMART_SCRIPT_TYPE_MASK_AREATRIGGER },
1431+
{SMART_SCRIPT_TYPE_EVENT, SMART_SCRIPT_TYPE_MASK_EVENT },
1432+
{SMART_SCRIPT_TYPE_GOSSIP, SMART_SCRIPT_TYPE_MASK_GOSSIP },
1433+
{SMART_SCRIPT_TYPE_QUEST, SMART_SCRIPT_TYPE_MASK_QUEST },
1434+
{SMART_SCRIPT_TYPE_SPELL, SMART_SCRIPT_TYPE_MASK_SPELL },
1435+
{SMART_SCRIPT_TYPE_TRANSPORT, SMART_SCRIPT_TYPE_MASK_TRANSPORT },
1436+
{SMART_SCRIPT_TYPE_INSTANCE, SMART_SCRIPT_TYPE_MASK_INSTANCE },
1437+
{SMART_SCRIPT_TYPE_TIMED_ACTIONLIST, SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST },
1438+
{SMART_SCRIPT_TYPE_SCENE, SMART_SCRIPT_TYPE_MASK_SCENE },
1439+
{SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY, SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY },
1440+
{SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY_CUSTOM, SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY }
14291441
};
14301442

14311443
const uint32 SmartAIEventMask[SMART_EVENT_END][2] =
14321444
{
14331445
{SMART_EVENT_UPDATE_IC, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_TIMED_ACTIONLIST},
1434-
{SMART_EVENT_UPDATE_OOC, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT + SMART_SCRIPT_TYPE_MASK_INSTANCE },
1446+
{SMART_EVENT_UPDATE_OOC, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT + SMART_SCRIPT_TYPE_MASK_INSTANCE + SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY },
14351447
{SMART_EVENT_HEALTH_PCT, SMART_SCRIPT_TYPE_MASK_CREATURE },
14361448
{SMART_EVENT_MANA_PCT, SMART_SCRIPT_TYPE_MASK_CREATURE },
14371449
{SMART_EVENT_AGGRO, SMART_SCRIPT_TYPE_MASK_CREATURE },
@@ -1476,7 +1488,7 @@ const uint32 SmartAIEventMask[SMART_EVENT_END][2] =
14761488
{SMART_EVENT_TRANSPORT_REMOVE_PLAYER, SMART_SCRIPT_TYPE_MASK_TRANSPORT },
14771489
{SMART_EVENT_TRANSPORT_RELOCATE, SMART_SCRIPT_TYPE_MASK_TRANSPORT },
14781490
{SMART_EVENT_INSTANCE_PLAYER_ENTER, SMART_SCRIPT_TYPE_MASK_INSTANCE },
1479-
{SMART_EVENT_AREATRIGGER_ONTRIGGER, SMART_SCRIPT_TYPE_MASK_AREATRIGGER },
1491+
{SMART_EVENT_AREATRIGGER_ONTRIGGER, SMART_SCRIPT_TYPE_MASK_AREATRIGGER + SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY },
14801492
{SMART_EVENT_QUEST_ACCEPTED, SMART_SCRIPT_TYPE_MASK_QUEST },
14811493
{SMART_EVENT_QUEST_OBJ_COMPLETION, SMART_SCRIPT_TYPE_MASK_QUEST },
14821494
{SMART_EVENT_QUEST_REWARDED, SMART_SCRIPT_TYPE_MASK_QUEST },
@@ -1490,8 +1502,8 @@ const uint32 SmartAIEventMask[SMART_EVENT_END][2] =
14901502
{SMART_EVENT_WAYPOINT_STOPPED, SMART_SCRIPT_TYPE_MASK_CREATURE },
14911503
{SMART_EVENT_WAYPOINT_ENDED, SMART_SCRIPT_TYPE_MASK_CREATURE },
14921504
{SMART_EVENT_TIMED_EVENT_TRIGGERED, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
1493-
{SMART_EVENT_UPDATE, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
1494-
{SMART_EVENT_LINK, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT + SMART_SCRIPT_TYPE_MASK_AREATRIGGER + SMART_SCRIPT_TYPE_MASK_EVENT + SMART_SCRIPT_TYPE_MASK_GOSSIP + SMART_SCRIPT_TYPE_MASK_QUEST + SMART_SCRIPT_TYPE_MASK_SPELL + SMART_SCRIPT_TYPE_MASK_TRANSPORT + SMART_SCRIPT_TYPE_MASK_INSTANCE },
1505+
{SMART_EVENT_UPDATE, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT + SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY },
1506+
{SMART_EVENT_LINK, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT + SMART_SCRIPT_TYPE_MASK_AREATRIGGER + SMART_SCRIPT_TYPE_MASK_EVENT + SMART_SCRIPT_TYPE_MASK_GOSSIP + SMART_SCRIPT_TYPE_MASK_QUEST + SMART_SCRIPT_TYPE_MASK_SPELL + SMART_SCRIPT_TYPE_MASK_TRANSPORT + SMART_SCRIPT_TYPE_MASK_INSTANCE + SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY },
14951507
{SMART_EVENT_GOSSIP_SELECT, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
14961508
{SMART_EVENT_JUST_CREATED, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
14971509
{SMART_EVENT_GOSSIP_HELLO, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
@@ -1508,32 +1520,36 @@ const uint32 SmartAIEventMask[SMART_EVENT_END][2] =
15081520
{SMART_EVENT_DISTANCE_CREATURE, SMART_SCRIPT_TYPE_MASK_CREATURE },
15091521
{SMART_EVENT_DISTANCE_GAMEOBJECT, SMART_SCRIPT_TYPE_MASK_CREATURE },
15101522
{SMART_EVENT_COUNTER_SET, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
1511-
{SMART_EVENT_SCENE_START, 0 },
1512-
{SMART_EVENT_SCENE_TRIGGER, 0 },
1513-
{SMART_EVENT_SCENE_CANCEL, 0 },
1514-
{SMART_EVENT_SCENE_COMPLETE, 0 },
1523+
{SMART_EVENT_SCENE_START, SMART_SCRIPT_TYPE_MASK_SCENE },
1524+
{SMART_EVENT_SCENE_TRIGGER, SMART_SCRIPT_TYPE_MASK_SCENE },
1525+
{SMART_EVENT_SCENE_CANCEL, SMART_SCRIPT_TYPE_MASK_SCENE },
1526+
{SMART_EVENT_SCENE_COMPLETE, SMART_SCRIPT_TYPE_MASK_SCENE },
15151527
{SMART_EVENT_SUMMONED_UNIT_DIES, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
15161528
{SMART_EVENT_ON_SPELL_CAST, SMART_SCRIPT_TYPE_MASK_CREATURE },
15171529
{SMART_EVENT_ON_SPELL_FAILED, SMART_SCRIPT_TYPE_MASK_CREATURE },
15181530
{SMART_EVENT_ON_SPELL_START, SMART_SCRIPT_TYPE_MASK_CREATURE },
15191531
{SMART_EVENT_ON_DESPAWN, SMART_SCRIPT_TYPE_MASK_CREATURE },
1532+
{SMART_EVENT_SEND_EVENT_TRIGGER, SMART_SCRIPT_TYPE_MASK_EVENT },
1533+
{SMART_EVENT_AREATRIGGER_EXIT, SMART_SCRIPT_TYPE_MASK_AREATRIGGER_ENTITY },
1534+
{SMART_EVENT_ON_AURA_APPLIED, SMART_SCRIPT_TYPE_MASK_CREATURE },
1535+
{SMART_EVENT_ON_AURA_REMOVED, SMART_SCRIPT_TYPE_MASK_CREATURE },
15201536
};
15211537

15221538
enum SmartEventFlags
15231539
{
1524-
SMART_EVENT_FLAG_NOT_REPEATABLE = 0x001, //Event can not repeat
1525-
SMART_EVENT_FLAG_DIFFICULTY_0 = 0x002, //Event only occurs in instance difficulty 0
1526-
SMART_EVENT_FLAG_DIFFICULTY_1 = 0x004, //Event only occurs in instance difficulty 1
1527-
SMART_EVENT_FLAG_DIFFICULTY_2 = 0x008, //Event only occurs in instance difficulty 2
1528-
SMART_EVENT_FLAG_DIFFICULTY_3 = 0x010, //Event only occurs in instance difficulty 3
1529-
SMART_EVENT_FLAG_RESERVED_5 = 0x020,
1530-
SMART_EVENT_FLAG_RESERVED_6 = 0x040,
1531-
SMART_EVENT_FLAG_DEBUG_ONLY = 0x080, //Event only occurs in debug build
1532-
SMART_EVENT_FLAG_DONT_RESET = 0x100, //Event will not reset in SmartScript::OnReset()
1533-
SMART_EVENT_FLAG_WHILE_CHARMED = 0x200, //Event occurs even if AI owner is charmed
1534-
1535-
SMART_EVENT_FLAG_DIFFICULTY_ALL = (SMART_EVENT_FLAG_DIFFICULTY_0|SMART_EVENT_FLAG_DIFFICULTY_1|SMART_EVENT_FLAG_DIFFICULTY_2|SMART_EVENT_FLAG_DIFFICULTY_3),
1536-
SMART_EVENT_FLAGS_ALL = (SMART_EVENT_FLAG_NOT_REPEATABLE|SMART_EVENT_FLAG_DIFFICULTY_ALL|SMART_EVENT_FLAG_RESERVED_5|SMART_EVENT_FLAG_RESERVED_6|SMART_EVENT_FLAG_DEBUG_ONLY|SMART_EVENT_FLAG_DONT_RESET|SMART_EVENT_FLAG_WHILE_CHARMED),
1540+
SMART_EVENT_FLAG_NOT_REPEATABLE = 0x001, // Event can not repeat
1541+
SMART_EVENT_FLAG_DIFFICULTY_0 = 0x002, // UNUSED, DO NOT REUSE
1542+
SMART_EVENT_FLAG_DIFFICULTY_1 = 0x004, // UNUSED, DO NOT REUSE
1543+
SMART_EVENT_FLAG_DIFFICULTY_2 = 0x008, // UNUSED, DO NOT REUSE
1544+
SMART_EVENT_FLAG_DIFFICULTY_3 = 0x010, // UNUSED, DO NOT REUSE
1545+
SMART_EVENT_FLAG_RESERVED_5 = 0x020,
1546+
SMART_EVENT_FLAG_RESERVED_6 = 0x040,
1547+
SMART_EVENT_FLAG_DEBUG_ONLY = 0x080, //Event only occurs in debug build
1548+
SMART_EVENT_FLAG_DONT_RESET = 0x100, //Event will not reset in SmartScript::OnReset()
1549+
SMART_EVENT_FLAG_WHILE_CHARMED = 0x200, //Event occurs even if AI owner is charmed
1550+
1551+
SMART_EVENT_FLAG_DIFFICULTY_ALL = (SMART_EVENT_FLAG_DIFFICULTY_0 | SMART_EVENT_FLAG_DIFFICULTY_1 | SMART_EVENT_FLAG_DIFFICULTY_2 | SMART_EVENT_FLAG_DIFFICULTY_3),
1552+
SMART_EVENT_FLAGS_ALL = (SMART_EVENT_FLAG_NOT_REPEATABLE| SMART_EVENT_FLAG_DIFFICULTY_ALL | SMART_EVENT_FLAG_RESERVED_5 | SMART_EVENT_FLAG_RESERVED_6 | SMART_EVENT_FLAG_DEBUG_ONLY | SMART_EVENT_FLAG_DONT_RESET | SMART_EVENT_FLAG_WHILE_CHARMED),
15371553

15381554
// Temp flags, used only at runtime, never stored in DB
15391555
SMART_EVENT_FLAG_TEMP_IGNORE_CHANCE_ROLL = 0x40000000, //Event occurs no matter what roll_chance_i(e.event.event_chance) returns.

0 commit comments

Comments
 (0)