aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-11-13 14:20:47 +0100
committerShauren <shauren.trinity@gmail.com>2025-11-13 14:20:47 +0100
commitb6526114f533373dfcf71f7a44f4779214fbdd4e (patch)
tree01d0deb4a220d202e9caead0ba571ec059143f38 /src/server
parentf574bdc578c706bf57f8535173516b0d3a85313a (diff)
Core/Creatures: Correct names of some creature static flagsHEADmaster
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp4
-rw-r--r--src/server/game/Entities/Creature/Creature.h16
-rw-r--r--src/server/game/Entities/Creature/CreatureData.h430
-rw-r--r--src/server/game/Entities/Creature/TemporarySummon.h4
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp4
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h14
6 files changed, 236 insertions, 236 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 236788de292..cb0c5d14a43 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -2947,7 +2947,7 @@ void Creature::UpdateMovementCapabilities()
// Some Amphibious creatures toggle swimming while engaged
if (IsAmphibious() && !HasUnitFlag(UNIT_FLAG_CANT_SWIM) && !HasUnitFlag(UNIT_FLAG_CAN_SWIM) && IsEngaged())
- if (!IsSwimPrevented() || (GetVictim() && !GetVictim()->IsOnOceanFloor()))
+ if (!CanOnlySwimIfTargetSwims() || (GetVictim() && !GetVictim()->IsOnOceanFloor()))
SetUnitFlag(UNIT_FLAG_CAN_SWIM);
SetSwim(IsInWater() && CanSwim());
@@ -3755,7 +3755,7 @@ void Creature::AtDisengage()
void Creature::ForcePartyMembersIntoCombat()
{
- if (!_staticFlags.HasFlag(CREATURE_STATIC_FLAG_2_FORCE_PARTY_MEMBERS_INTO_COMBAT) || !IsEngaged())
+ if (!_staticFlags.HasFlag(CREATURE_STATIC_FLAG_2_FORCE_RAID_COMBAT) || !IsEngaged())
return;
Trinity::Containers::FlatSet<Group const*> partiesToForceIntoCombat;
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 77821c0a901..bab44b0740b 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -150,11 +150,11 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
bool CannotPenetrateWater() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_CANNOT_PENETRATE_WATER); }
void SetCannotPenetrateWater(bool cannotPenetrateWater) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_3_CANNOT_PENETRATE_WATER, cannotPenetrateWater); }
- // Returns true if CREATURE_STATIC_FLAG_3_CANNOT_SWIM is set which prevents 'Amphibious' creatures from swimming when engaged
- bool IsSwimDisabled() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_CANNOT_SWIM); }
+ // Returns true if CREATURE_STATIC_FLAG_3_CANT_SWIM is set which prevents 'Amphibious' creatures from swimming when engaged
+ bool IsSwimDisabled() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_CANT_SWIM); }
- // Returns true if CREATURE_STATIC_FLAG_4_PREVENT_SWIM is set which prevents 'Amphibious' creatures from swimming when engaged until the victim is no longer on the ocean floor
- bool IsSwimPrevented() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_4_PREVENT_SWIM); }
+ // Returns true if CREATURE_STATIC_FLAG_4_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS is set which prevents 'Amphibious' creatures from swimming when engaged until the victim is no longer on the ocean floor
+ bool CanOnlySwimIfTargetSwims() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_4_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS); }
bool CanSwim() const override;
bool CanEnterWater() const override { return (CanSwim() || IsAmphibious()); };
@@ -217,8 +217,8 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
bool IsInEvadeMode() const { return HasUnitState(UNIT_STATE_EVADE); }
bool IsEvadingAttacks() const { return IsInEvadeMode() || CanNotReachTarget(); }
- bool IsStateRestoredOnEvade() const { return !HasFlag(CREATURE_STATIC_FLAG_5_NO_LEAVECOMBAT_STATE_RESTORE); }
- void SetRestoreStateOnEvade(bool restoreOnEvade) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_5_NO_LEAVECOMBAT_STATE_RESTORE, !restoreOnEvade); }
+ bool IsStateRestoredOnEvade() const { return !HasFlag(CREATURE_STATIC_FLAG_5_NO_LEAVE_COMBAT_STATE_RESTORE); }
+ void SetRestoreStateOnEvade(bool restoreOnEvade) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_5_NO_LEAVE_COMBAT_STATE_RESTORE, !restoreOnEvade); }
bool AIM_Destroy();
bool AIM_Create(CreatureAI* ai = nullptr);
@@ -375,8 +375,8 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
virtual uint32 GetPetAutoSpellOnPos(uint8 pos) const;
float GetPetChaseDistance() const;
- bool IsIgnoringChaseRange() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_6_ALWAYS_STAND_ON_TOP_OF_TARGET); }
- void SetIgnoreChaseRange(bool ignoreChaseRange) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_6_ALWAYS_STAND_ON_TOP_OF_TARGET, ignoreChaseRange); }
+ bool IsIgnoringChaseRange() const { return _staticFlags.HasFlag(CREATURE_STATIC_FLAG_6_ALWAYS_STAND_ON_TARGET); }
+ void SetIgnoreChaseRange(bool ignoreChaseRange) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_6_ALWAYS_STAND_ON_TARGET, ignoreChaseRange); }
void SetCannotReachTarget(bool cannotReach);
bool CanNotReachTarget() const { return m_cannotReachTarget; }
diff --git a/src/server/game/Entities/Creature/CreatureData.h b/src/server/game/Entities/Creature/CreatureData.h
index 81fcb06a14f..969cf8ddbf7 100644
--- a/src/server/game/Entities/Creature/CreatureData.h
+++ b/src/server/game/Entities/Creature/CreatureData.h
@@ -33,257 +33,257 @@
struct ItemTemplate;
enum class VisibilityDistanceType : uint8;
-enum CreatureStaticFlags
+enum CreatureStaticFlags : uint32
{
- CREATURE_STATIC_FLAG_MOUNTABLE = 0x00000001,
- CREATURE_STATIC_FLAG_NO_XP = 0x00000002, // CREATURE_FLAG_EXTRA_NO_XP
- CREATURE_STATIC_FLAG_NO_LOOT = 0x00000004,
- CREATURE_STATIC_FLAG_UNKILLABLE = 0x00000008,
- CREATURE_STATIC_FLAG_TAMEABLE = 0x00000010, // CREATURE_TYPE_FLAG_TAMEABLE
- CREATURE_STATIC_FLAG_IMMUNE_TO_PC = 0x00000020, // UNIT_FLAG_IMMUNE_TO_PC
- CREATURE_STATIC_FLAG_IMMUNE_TO_NPC = 0x00000040, // UNIT_FLAG_IMMUNE_TO_NPC
- CREATURE_STATIC_FLAG_CAN_WIELD_LOOT = 0x00000080,
- CREATURE_STATIC_FLAG_SESSILE = 0x00000100, // Rooted movementflag, creature is permanently rooted in place
- CREATURE_STATIC_FLAG_UNINTERACTIBLE = 0x00000200, // UNIT_FLAG_UNINTERACTIBLE
- CREATURE_STATIC_FLAG_NO_AUTOMATIC_REGEN = 0x00000400, // Creatures with that flag uses no UNIT_FLAG2_REGENERATE_POWER
- CREATURE_STATIC_FLAG_DESPAWN_INSTANTLY = 0x00000800, // Creature instantly disappear when killed
- CREATURE_STATIC_FLAG_CORPSE_RAID = 0x00001000,
- CREATURE_STATIC_FLAG_CREATOR_LOOT = 0x00002000, // Lootable only by creator(engineering dummies)
- CREATURE_STATIC_FLAG_NO_DEFENSE = 0x00004000,
- CREATURE_STATIC_FLAG_NO_SPELL_DEFENSE = 0x00008000,
- CREATURE_STATIC_FLAG_BOSS_MOB = 0x00010000, // CREATURE_TYPE_FLAG_BOSS_MOB, original description: Raid Boss Mob
- CREATURE_STATIC_FLAG_COMBAT_PING = 0x00020000,
- CREATURE_STATIC_FLAG_AQUATIC = 0x00040000, // aka Water Only, creature_template_movement.Ground = 0
- CREATURE_STATIC_FLAG_AMPHIBIOUS = 0x00080000, // Creatures will be able to enter and leave water but can only move on the ocean floor when CREATURE_STATIC_FLAG_CAN_SWIM is not present
- CREATURE_STATIC_FLAG_NO_MELEE_FLEE = 0x00100000, // "No Melee (Flee)" Prevents melee (moves as-if feared, does not make creature passive)
- CREATURE_STATIC_FLAG_VISIBLE_TO_GHOSTS = 0x00200000, // CREATURE_TYPE_FLAG_VISIBLE_TO_GHOSTS
- CREATURE_STATIC_FLAG_PVP_ENABLING = 0x00400000, // Old UNIT_FLAG_PVP_ENABLING, now UNIT_BYTES_2_OFFSET_PVP_FLAG from UNIT_FIELD_BYTES_2
- CREATURE_STATIC_FLAG_DO_NOT_PLAY_WOUND_ANIM = 0x00800000, // CREATURE_TYPE_FLAG_DO_NOT_PLAY_WOUND_ANIM
- CREATURE_STATIC_FLAG_NO_FACTION_TOOLTIP = 0x01000000, // CREATURE_TYPE_FLAG_NO_FACTION_TOOLTIP
- CREATURE_STATIC_FLAG_IGNORE_COMBAT = 0x02000000, // Actually only changes react state to passive
- CREATURE_STATIC_FLAG_ONLY_ATTACK_PVP_ENABLING = 0x04000000, // "Only attack targets that are PvP enabling"
- CREATURE_STATIC_FLAG_CALLS_GUARDS = 0x08000000, // Creature will summon a guard if player is within its aggro range (even if creature doesn't attack per se)
- CREATURE_STATIC_FLAG_CAN_SWIM = 0x10000000, // UnitFlags 0x8000 UNIT_FLAG_CAN_SWIM
- CREATURE_STATIC_FLAG_FLOATING = 0x20000000, // sets DisableGravity movementflag on spawn/reset
- CREATURE_STATIC_FLAG_MORE_AUDIBLE = 0x40000000, // CREATURE_TYPE_FLAG_MORE_AUDIBLE
- CREATURE_STATIC_FLAG_LARGE_AOI = 0x80000000 // UnitFlags2 0x200000
+ CREATURE_STATIC_FLAG_MOUNTABLE = 0x00000001, // Mountable
+ CREATURE_STATIC_FLAG_NO_XP = 0x00000002, // No XP | CREATURE_FLAG_EXTRA_NO_XP
+ CREATURE_STATIC_FLAG_NO_LOOT = 0x00000004, // No Loot
+ CREATURE_STATIC_FLAG_UNKILLABLE = 0x00000008, // Unkillable
+ CREATURE_STATIC_FLAG_TAMEABLE = 0x00000010, // Tameable | CREATURE_TYPE_FLAG_TAMEABLE
+ CREATURE_STATIC_FLAG_IMMUNE_PC = 0x00000020, // ImmunePC | UNIT_FLAG_IMMUNE_TO_PC
+ CREATURE_STATIC_FLAG_IMMUNE_NPC = 0x00000040, // ImmuneNPC | UNIT_FLAG_IMMUNE_TO_NPC
+ CREATURE_STATIC_FLAG_CAN_WIELD_LOOT = 0x00000080, // CanWieldLoot
+ CREATURE_STATIC_FLAG_SESSILE = 0x00000100, // Sessile | Rooted movementflag, creature is permanently rooted in place
+ CREATURE_STATIC_FLAG_UNINTERACTIBLE = 0x00000200, // Uninteractible | UNIT_FLAG_UNINTERACTIBLE
+ CREATURE_STATIC_FLAG_NO_AUTOMATIC_REGEN = 0x00000400, // No Automatic Regen | Creatures with that flag uses no UNIT_FLAG2_REGENERATE_POWER
+ CREATURE_STATIC_FLAG_DESPAWN_INSTANTLY = 0x00000800, // Despawn Instantly | Creature instantly disappear when killed
+ CREATURE_STATIC_FLAG_CORPSE_RAID = 0x00001000, // CorpseRaid
+ CREATURE_STATIC_FLAG_CREATOR_LOOT = 0x00002000, // Creator Loot | Lootable only by creator (engineering dummies)
+ CREATURE_STATIC_FLAG_NO_DEFENSE = 0x00004000, // No Defense
+ CREATURE_STATIC_FLAG_NO_SPELL_DEFENSE = 0x00008000, // No Spell Defense
+ CREATURE_STATIC_FLAG_RAID_BOSS_MOB = 0x00010000, // Raid Boss Mob | CREATURE_TYPE_FLAG_BOSS_MOB
+ CREATURE_STATIC_FLAG_COMBAT_PING = 0x00020000, // Combat Ping
+ CREATURE_STATIC_FLAG_AQUATIC = 0x00040000, // Aquatic (aka Water Only)
+ CREATURE_STATIC_FLAG_AMPHIBIOUS = 0x00080000, // Amphibious | Creatures will be able to enter and leave water but can only move on the ocean floor when CREATURE_STATIC_FLAG_CAN_SWIM is not present
+ CREATURE_STATIC_FLAG_NO_MELEE_FLEE = 0x00100000, // No Melee (Flee) | Prevents melee (moves as-if feared, does not make creature passive)
+ CREATURE_STATIC_FLAG_VISIBLE_TO_GHOSTS = 0x00200000, // Visible to Ghosts | CREATURE_TYPE_FLAG_VISIBLE_TO_GHOSTS
+ CREATURE_STATIC_FLAG_PVP_ENABLING = 0x00400000, // PvP Enabling | Old UNIT_FLAG_PVP_ENABLING, now UNIT_BYTES_2_OFFSET_PVP_FLAG from UNIT_FIELD_BYTES_2
+ CREATURE_STATIC_FLAG_DO_NOT_PLAY_WOUND_ANIM = 0x00800000, // Do Not Play Wound Anim | CREATURE_TYPE_FLAG_DO_NOT_PLAY_WOUND_ANIM
+ CREATURE_STATIC_FLAG_NO_FACTION_TOOLTIP = 0x01000000, // No Faction Tooltip | CREATURE_TYPE_FLAG_NO_FACTION_TOOLTIP
+ CREATURE_STATIC_FLAG_IGNORE_COMBAT = 0x02000000, // Ignore Combat | Actually only changes react state to passive
+ CREATURE_STATIC_FLAG_ONLY_ATTACK_TARGETS_THAT_ARE_PVP_ENABLING = 0x04000000, // Only attack targets that are PvP enabling
+ CREATURE_STATIC_FLAG_CALLS_GUARDS = 0x08000000, // Calls Guards | Creature will summon a guard if player is within its aggro range (even if creature doesn't attack per se)
+ CREATURE_STATIC_FLAG_CAN_SWIM = 0x10000000, // Can Swim | UnitFlags 0x8000 UNIT_FLAG_CAN_SWIM
+ CREATURE_STATIC_FLAG_FLOATING = 0x20000000, // Floating <Don't Use> | sets DisableGravity movementflag on spawn/reset
+ CREATURE_STATIC_FLAG_MORE_AUDIBLE = 0x40000000, // More Audible: Caution, Expensive | CREATURE_TYPE_FLAG_MORE_AUDIBLE
+ CREATURE_STATIC_FLAG_LARGE_AOI = 0x80000000 // Large (AOI): Caution, Expensive | UnitFlags2 0x200000
};
DEFINE_ENUM_FLAG(CreatureStaticFlags);
-enum CreatureStaticFlags2
+enum CreatureStaticFlags2 : uint32
{
- CREATURE_STATIC_FLAG_2_NO_PET_SCALING = 0x00000001,
- CREATURE_STATIC_FLAG_2_FORCE_PARTY_MEMBERS_INTO_COMBAT = 0x00000002, // Original description: Force Raid Combat
- CREATURE_STATIC_FLAG_2_LOCK_TAPPERS_TO_RAID_ON_DEATH = 0x00000004, // "Lock Tappers To Raid On Death", toggleable by 'Set "RAID_LOCK_ON_DEATH" flag for unit(s)' action, CREATURE_FLAG_EXTRA_INSTANCE_BIND
- CREATURE_STATIC_FLAG_2_SPELL_ATTACKABLE = 0x00000008, // CREATURE_TYPE_FLAG_SPELL_ATTACKABLE, original description(not valid anymore?): No Harmful Vertex Coloring
- CREATURE_STATIC_FLAG_2_NO_CRUSHING_BLOWS = 0x00000010, // CREATURE_FLAG_EXTRA_NO_CRUSHING_BLOWS
- CREATURE_STATIC_FLAG_2_NO_OWNER_THREAT = 0x00000020,
- CREATURE_STATIC_FLAG_2_NO_WOUNDED_SLOWDOWN = 0x00000040,
- CREATURE_STATIC_FLAG_2_USE_CREATOR_BONUSES = 0x00000080,
- CREATURE_STATIC_FLAG_2_IGNORE_FEIGN_DEATH = 0x00000100, // CREATURE_FLAG_EXTRA_IGNORE_FEIGN_DEATH
- CREATURE_STATIC_FLAG_2_IGNORE_SANCTUARY = 0x00000200, // Ignores SPELL_EFFECT_SANCTUARY
- CREATURE_STATIC_FLAG_2_ACTION_TRIGGERS_WHILE_CHARMED = 0x00000400,
- CREATURE_STATIC_FLAG_2_INTERACT_WHILE_DEAD = 0x00000800, // CREATURE_TYPE_FLAG_INTERACT_WHILE_DEAD
- CREATURE_STATIC_FLAG_2_NO_INTERRUPT_SCHOOL_COOLDOWN = 0x00001000,
- CREATURE_STATIC_FLAG_2_RETURN_SOUL_SHARD_TO_MASTER_OF_PET = 0x00002000,
- CREATURE_STATIC_FLAG_2_SKIN_WITH_HERBALISM = 0x00004000, // CREATURE_TYPE_FLAG_SKIN_WITH_HERBALISM
- CREATURE_STATIC_FLAG_2_SKIN_WITH_MINING = 0x00008000, // CREATURE_TYPE_FLAG_SKIN_WITH_MINING
- CREATURE_STATIC_FLAG_2_ALERT_CONTENT_TEAM_ON_DEATH = 0x00010000,
- CREATURE_STATIC_FLAG_2_ALERT_CONTENT_TEAM_AT_90_PCT_HP = 0x00020000,
- CREATURE_STATIC_FLAG_2_ALLOW_MOUNTED_COMBAT = 0x00040000, // CREATURE_TYPE_FLAG_ALLOW_MOUNTED_COMBAT
- CREATURE_STATIC_FLAG_2_PVP_ENABLING_OOC = 0x00080000,
- CREATURE_STATIC_FLAG_2_NO_DEATH_MESSAGE = 0x00100000, // CREATURE_TYPE_FLAG_NO_DEATH_MESSAGE
- CREATURE_STATIC_FLAG_2_IGNORE_PATHING_FAILURE = 0x00200000,
- CREATURE_STATIC_FLAG_2_FULL_SPELL_LIST = 0x00400000,
- CREATURE_STATIC_FLAG_2_DOES_NOT_REDUCE_REPUTATION_FOR_RAIDS = 0x00800000,
- CREATURE_STATIC_FLAG_2_IGNORE_MISDIRECTION = 0x01000000,
- CREATURE_STATIC_FLAG_2_HIDE_BODY = 0x02000000, // UNIT_FLAG2_HIDE_BODY
- CREATURE_STATIC_FLAG_2_SPAWN_DEFENSIVE = 0x04000000,
- CREATURE_STATIC_FLAG_2_SERVER_ONLY = 0x08000000,
- CREATURE_STATIC_FLAG_2_CAN_SAFE_FALL = 0x10000000, // Original description: No Collision
- CREATURE_STATIC_FLAG_2_CAN_ASSIST = 0x20000000, // CREATURE_TYPE_FLAG_CAN_ASSIST, original description: Player Can Heal/Buff
- CREATURE_STATIC_FLAG_2_NO_SKILL_GAINS = 0x40000000, // CREATURE_FLAG_EXTRA_NO_SKILL_GAINS
- CREATURE_STATIC_FLAG_2_NO_PET_BAR = 0x80000000 // CREATURE_TYPE_FLAG_NO_PET_BAR
+ CREATURE_STATIC_FLAG_2_NO_PET_SCALING = 0x00000001, // No Pet Scaling
+ CREATURE_STATIC_FLAG_2_FORCE_RAID_COMBAT = 0x00000002, // Force Raid Combat
+ CREATURE_STATIC_FLAG_2_LOCK_TAPPERS_TO_RAID_ON_DEATH = 0x00000004, // Lock Tappers To Raid On Death | toggleable by 'Set "RAID_LOCK_ON_DEATH" flag for unit(s)' action, CREATURE_FLAG_EXTRA_INSTANCE_BIND
+ CREATURE_STATIC_FLAG_2_NO_HARMFUL_VERTEX_COLORING = 0x00000008, // No Harmful Vertex Coloring
+ CREATURE_STATIC_FLAG_2_NO_CRUSHING_BLOWS = 0x00000010, // No Crushing Blows | CREATURE_FLAG_EXTRA_NO_CRUSHING_BLOWS
+ CREATURE_STATIC_FLAG_2_NO_OWNER_THREAT = 0x00000020, // No Owner Threat
+ CREATURE_STATIC_FLAG_2_NO_WOUNDED_SLOWDOWN = 0x00000040, // No Wounded Slowdown
+ CREATURE_STATIC_FLAG_2_USE_CREATOR_BONUSES = 0x00000080, // Use Creator Bonuses
+ CREATURE_STATIC_FLAG_2_IGNORE_FEIGN_DEATH = 0x00000100, // Ignore Feign Death | CREATURE_FLAG_EXTRA_IGNORE_FEIGN_DEATH
+ CREATURE_STATIC_FLAG_2_IGNORE_SANCTUARY = 0x00000200, // Ignore Sanctuary | Ignores SPELL_EFFECT_SANCTUARY
+ CREATURE_STATIC_FLAG_2_ACTION_TRIGGERS_WHILE_CHARMED = 0x00000400, // Action Triggers While Charmed
+ CREATURE_STATIC_FLAG_2_INTERACT_WHILE_DEAD = 0x00000800, // Interact While Dead | CREATURE_TYPE_FLAG_INTERACT_WHILE_DEAD
+ CREATURE_STATIC_FLAG_2_NO_INTERRUPT_SCHOOL_COOLDOWN = 0x00001000, // No Interrupt School Cooldown
+ CREATURE_STATIC_FLAG_2_RETURN_SOUL_SHARD_TO_MASTER_OF_PET = 0x00002000, // Return soul shard to master of pet
+ CREATURE_STATIC_FLAG_2_SKIN_WITH_HERBALISM = 0x00004000, // Skin With Herbalism | CREATURE_TYPE_FLAG_SKIN_WITH_HERBALISM
+ CREATURE_STATIC_FLAG_2_SKIN_WITH_MINING = 0x00008000, // Skin With Mining | CREATURE_TYPE_FLAG_SKIN_WITH_MINING
+ CREATURE_STATIC_FLAG_2_ALERT_CONTENT_TEAM_ON_DEATH = 0x00010000, // Alert Content Team on Death
+ CREATURE_STATIC_FLAG_2_ALERT_CONTENT_TEAM_AT_90_PCT_HEALTH = 0x00020000, // Alert Content Team at 90% Health
+ CREATURE_STATIC_FLAG_2_ALLOW_MOUNTED_COMBAT = 0x00040000, // Allow Mounted Combat | CREATURE_TYPE_FLAG_ALLOW_MOUNTED_COMBAT
+ CREATURE_STATIC_FLAG_2_PVP_ENABLING_OOC = 0x00080000, // PvP Enabling OOC
+ CREATURE_STATIC_FLAG_2_NO_DEATH_MESSAGE = 0x00100000, // No Death Message | CREATURE_TYPE_FLAG_NO_DEATH_MESSAGE
+ CREATURE_STATIC_FLAG_2_IGNORE_PATHING_FAILURE = 0x00200000, // Ignore Pathing Failure
+ CREATURE_STATIC_FLAG_2_FULL_SPELL_LIST = 0x00400000, // Full Spell List
+ CREATURE_STATIC_FLAG_2_DOESNT_REDUCE_REPUTATION_FOR_RAIDS = 0x00800000, // Doesn't Reduce Reputation for raids
+ CREATURE_STATIC_FLAG_2_IGNORE_MISDIRECTION = 0x01000000, // Ignore Misdirection
+ CREATURE_STATIC_FLAG_2_HIDE_BODY = 0x02000000, // Hide Body | UNIT_FLAG2_HIDE_BODY
+ CREATURE_STATIC_FLAG_2_SPAWN_DEFENSIVE = 0x04000000, // Spawn Defensive
+ CREATURE_STATIC_FLAG_2_SERVER_ONLY = 0x08000000, // Server Only
+ CREATURE_STATIC_FLAG_2_NO_COLLISION = 0x10000000, // No Collision
+ CREATURE_STATIC_FLAG_2_PLAYER_CAN_HEAL_OR_BUFF = 0x20000000, // Player Can Heal/Buff | CREATURE_TYPE_FLAG_CAN_ASSIST
+ CREATURE_STATIC_FLAG_2_NO_SKILL_GAINS = 0x40000000, // No Skill Gains | CREATURE_FLAG_EXTRA_NO_SKILL_GAINS
+ CREATURE_STATIC_FLAG_2_NO_PET_BAR = 0x80000000 // No Pet Bar | CREATURE_TYPE_FLAG_NO_PET_BAR
};
DEFINE_ENUM_FLAG(CreatureStaticFlags2);
-enum CreatureStaticFlags3
+enum CreatureStaticFlags3 : uint32
{
- CREATURE_STATIC_FLAG_3_NO_DAMAGE_HISTORY = 0x00000001,
- CREATURE_STATIC_FLAG_3_DONT_PVP_ENABLE_OWNER = 0x00000002,
- CREATURE_STATIC_FLAG_3_DO_NOT_FADE_IN = 0x00000004, // UNIT_FLAG2_DO_NOT_FADE_IN
- CREATURE_STATIC_FLAG_3_MASK_UID = 0x00000008, // CREATURE_TYPE_FLAG_MASK_UID, original description: Non-Unique In Combat Log
- CREATURE_STATIC_FLAG_3_SKIN_WITH_ENGINEERING = 0x00000010, // CREATURE_TYPE_FLAG_SKIN_WITH_ENGINEERING
- CREATURE_STATIC_FLAG_3_NO_AGGRO_ON_LEASH = 0x00000020,
- CREATURE_STATIC_FLAG_3_NO_FRIENDLY_AREA_AURAS = 0x00000040,
- CREATURE_STATIC_FLAG_3_EXTENDED_CORPSE_DURATION = 0x00000080,
- CREATURE_STATIC_FLAG_3_CANNOT_SWIM = 0x00000100, // UNIT_FLAG_CANNOT_SWIM
- CREATURE_STATIC_FLAG_3_TAMEABLE_EXOTIC = 0x00000200, // CREATURE_TYPE_FLAG_TAMEABLE_EXOTIC
- CREATURE_STATIC_FLAG_3_GIGANTIC_AOI = 0x00000400, // Since MoP, creatures with that flag have UnitFlags2 0x400000
- CREATURE_STATIC_FLAG_3_INFINITE_AOI = 0x00000800, // Since MoP, creatures with that flag have UnitFlags2 0x40000000
- CREATURE_STATIC_FLAG_3_CANNOT_PENETRATE_WATER = 0x00001000, // Waterwalking
- CREATURE_STATIC_FLAG_3_NO_NAME_PLATE = 0x00002000, // CREATURE_TYPE_FLAG_NO_NAME_PLATE
- CREATURE_STATIC_FLAG_3_CHECKS_LIQUIDS = 0x00004000,
- CREATURE_STATIC_FLAG_3_NO_THREAT_FEEDBACK = 0x00008000,
- CREATURE_STATIC_FLAG_3_USE_MODEL_COLLISION_SIZE = 0x00010000, // CREATURE_TYPE_FLAG_USE_MODEL_COLLISION_SIZE
- CREATURE_STATIC_FLAG_3_ATTACKER_IGNORES_FACING = 0x00020000, // In 3.3.5 used only by Rocket Propelled Warhead
- CREATURE_STATIC_FLAG_3_ALLOW_INTERACTION_WHILE_IN_COMBAT = 0x00040000, // CREATURE_TYPE_FLAG_ALLOW_INTERACTION_WHILE_IN_COMBAT
- CREATURE_STATIC_FLAG_3_SPELL_CLICK_FOR_PARTY_ONLY = 0x00080000,
- CREATURE_STATIC_FLAG_3_FACTION_LEADER = 0x00100000,
- CREATURE_STATIC_FLAG_3_IMMUNE_TO_PLAYER_BUFFS = 0x00200000,
- CREATURE_STATIC_FLAG_3_COLLIDE_WITH_MISSILES = 0x00400000, // CREATURE_TYPE_FLAG_COLLIDE_WITH_MISSILES
- CREATURE_STATIC_FLAG_3_CAN_BE_MULTITAPPED = 0x00800000, // Original description: Do Not Tap (Credit to threat list)
- CREATURE_STATIC_FLAG_3_DO_NOT_PLAY_MOUNTED_ANIMATIONS = 0x01000000, // CREATURE_TYPE_FLAG_DO_NOT_PLAY_MOUNTED_ANIMATIONS, original description: Disable Dodge, Parry and Block Animations
- CREATURE_STATIC_FLAG_3_CANNOT_TURN = 0x02000000, // UNIT_FLAG2_CANNOT_TURN
- CREATURE_STATIC_FLAG_3_ENEMY_CHECK_IGNORES_LOS = 0x04000000,
- CREATURE_STATIC_FLAG_3_FOREVER_CORPSE_DURATION = 0x08000000, // 7 days
- CREATURE_STATIC_FLAG_3_PETS_ATTACK_WITH_3D_PATHING = 0x10000000, // "Pets attack with 3d pathing (Kologarn)"
- CREATURE_STATIC_FLAG_3_LINK_ALL = 0x20000000, // CREATURE_TYPE_FLAG_LINK_ALL
- CREATURE_STATIC_FLAG_3_AI_CAN_AUTO_TAKEOFF_IN_COMBAT = 0x40000000,
- CREATURE_STATIC_FLAG_3_AI_CAN_AUTO_LAND_IN_COMBAT = 0x80000000
+ CREATURE_STATIC_FLAG_3_NO_DAMAGE_HISTORY = 0x00000001, // No Damage History
+ CREATURE_STATIC_FLAG_3_DONT_PVP_ENABLE_OWNER = 0x00000002, // Don't PvP Enable Owner
+ CREATURE_STATIC_FLAG_3_DONT_FADE_IN = 0x00000004, // Don't Fade In | UNIT_FLAG2_DO_NOT_FADE_IN
+ CREATURE_STATIC_FLAG_3_NON_UNIQUE_IN_COMBAT_LOG = 0x00000008, // Non-Unique In Combat Log
+ CREATURE_STATIC_FLAG_3_SKIN_WITH_ENGINEERING = 0x00000010, // Skin With Engineering | CREATURE_TYPE_FLAG_SKIN_WITH_ENGINEERING
+ CREATURE_STATIC_FLAG_3_NO_AGGRO_ON_LEASH = 0x00000020, // No Aggro On Leash
+ CREATURE_STATIC_FLAG_3_NO_FRIENDLY_AREA_AURAS = 0x00000040, // No Friendly Area Auras
+ CREATURE_STATIC_FLAG_3_EXTENDED_CORPSE_DURATION = 0x00000080, // Extended Corpse Duration
+ CREATURE_STATIC_FLAG_3_CANT_SWIM = 0x00000100, // Can't Swim | UNIT_FLAG_CANNOT_SWIM
+ CREATURE_STATIC_FLAG_3_TAMEABLE_EXOTIC = 0x00000200, // Tameable (Exotic) | CREATURE_TYPE_FLAG_TAMEABLE_EXOTIC
+ CREATURE_STATIC_FLAG_3_GIGANTIC_AOI = 0x00000400, // Gigantic (AOI): Caution, Expensive | UnitFlags2 0x400000
+ CREATURE_STATIC_FLAG_3_INFINITE_AOI = 0x00000800, // Infinite (AOI): Caution, Expensive | UnitFlags2 0x40000000
+ CREATURE_STATIC_FLAG_3_CANNOT_PENETRATE_WATER = 0x00001000, // Cannot Penetrate Water | Waterwalking
+ CREATURE_STATIC_FLAG_3_NO_NAME_PLATE = 0x00002000, // No Name Plate | CREATURE_TYPE_FLAG_NO_NAME_PLATE
+ CREATURE_STATIC_FLAG_3_CHECKS_LIQUIDS = 0x00004000, // Checks Liquids: Caution, Expensive
+ CREATURE_STATIC_FLAG_3_NO_THREAT_FEEDBACK = 0x00008000, // No Threat Feedback
+ CREATURE_STATIC_FLAG_3_USE_MODEL_COLLISION_SIZE = 0x00010000, // Use Model Collision Size (TALK TO A PROGRAMMER FIRST) | CREATURE_TYPE_FLAG_USE_MODEL_COLLISION_SIZE
+ CREATURE_STATIC_FLAG_3_ATTACKER_IGNORES_FACING = 0x00020000, // Attacker Ignores Facing
+ CREATURE_STATIC_FLAG_3_ALLOW_INTERACTION_WHILE_IN_COMBAT = 0x00040000, // Allow Interaction While in Combat | CREATURE_TYPE_FLAG_ALLOW_INTERACTION_WHILE_IN_COMBAT
+ CREATURE_STATIC_FLAG_3_SPELL_CLICK_FOR_PARTY_ONLY = 0x00080000, // Spell Click for Party Only
+ CREATURE_STATIC_FLAG_3_FACTION_LEADER = 0x00100000, // Faction Leader
+ CREATURE_STATIC_FLAG_3_IMMUNE_TO_PLAYER_BUFFS = 0x00200000, // Immune to Player Buffs
+ CREATURE_STATIC_FLAG_3_COLLIDE_WITH_MISSILES = 0x00400000, // Collide With Missiles | CREATURE_TYPE_FLAG_COLLIDE_WITH_MISSILES
+ CREATURE_STATIC_FLAG_3_DO_NOT_TAP = 0x00800000, // Do Not Tap (Credit to threat list)
+ CREATURE_STATIC_FLAG_3_DISABLE_DODGE_PARRY_AND_BLOCK_ANIMATIONS = 0x01000000, // Disable Dodge, Parry and Block Animations | CREATURE_TYPE_FLAG_DO_NOT_PLAY_MOUNTED_ANIMATIONS
+ CREATURE_STATIC_FLAG_3_CANNOT_TURN = 0x02000000, // Cannot Turn | UNIT_FLAG2_CANNOT_TURN
+ CREATURE_STATIC_FLAG_3_ENEMY_CHECK_IGNORES_LINE_OF_SIGHT = 0x04000000, // Enemy Check Ignores Line of Sight
+ CREATURE_STATIC_FLAG_3_FOREVER_CORPSE_DURATION = 0x08000000, // Forever Corpse Duration (7 days)
+ CREATURE_STATIC_FLAG_3_PETS_ATTACK_WITH_3D_PATHING = 0x10000000, // Pets attack with 3d pathing (Kologarn)
+ CREATURE_STATIC_FLAG_3_LINK_ALL_FLAG = 0x20000000, // LinkAll flag (TALK TO A PROGRAMMER FIRST) | CREATURE_TYPE_FLAG_LINK_ALL
+ CREATURE_STATIC_FLAG_3_AI_CAN_AUTO_TAKEOFF_IN_COMBAT = 0x40000000, // AI Can Auto Takeoff in Combat
+ CREATURE_STATIC_FLAG_3_AI_CAN_AUTO_LAND_IN_COMBAT = 0x80000000 // AI Can Auto Land in Combat
};
DEFINE_ENUM_FLAG(CreatureStaticFlags3);
-enum CreatureStaticFlags4
+enum CreatureStaticFlags4 : uint32
{
- CREATURE_STATIC_FLAG_4_NO_BIRTH_ANIM = 0x00000001, // SMSG_UPDATE_OBJECT's "NoBirthAnim"
- CREATURE_STATIC_FLAG_4_TREAT_AS_PLAYER_FOR_DIMINISHING_RETURNS = 0x00000002, // Primarily used by ToC champions
- CREATURE_STATIC_FLAG_4_TREAT_AS_PLAYER_FOR_PVP_DEBUFF_DURATION = 0x00000004, // Primarily used by ToC champions
- CREATURE_STATIC_FLAG_4_INTERACT_ONLY_WITH_CREATOR = 0x00000008, // CREATURE_TYPE_FLAG_INTERACT_ONLY_WITH_CREATOR, original description: Only Display Gossip for Summoner
- CREATURE_STATIC_FLAG_4_DO_NOT_PLAY_UNIT_EVENT_SOUNDS = 0x00000010, // CREATURE_TYPE_FLAG_DO_NOT_PLAY_UNIT_EVENT_SOUNDS, original description: No Death Scream
- CREATURE_STATIC_FLAG_4_HAS_NO_SHADOW_BLOB = 0x00000020, // CREATURE_TYPE_FLAG_HAS_NO_SHADOW_BLOB, original description(wrongly linked type flag or behavior was changed?): Can be Healed by Enemies
- CREATURE_STATIC_FLAG_4_DEALS_TRIPLE_DAMAGE_TO_PC_CONTROLLED_PETS = 0x00000040,
- CREATURE_STATIC_FLAG_4_NO_NPC_DAMAGE_BELOW_85PTC = 0x00000080,
- CREATURE_STATIC_FLAG_4_OBEYS_TAUNT_DIMINISHING_RETURNS = 0x00000100, // CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHING_RETURNS
- CREATURE_STATIC_FLAG_4_NO_MELEE_APPROACH = 0x00000200, // "No Melee (Approach)" Prevents melee (chases into melee range, does not make creature passive)
- CREATURE_STATIC_FLAG_4_UPDATE_CREATURE_RECORD_WHEN_INSTANCE_CHANGES_DIFFICULTY = 0x00000400, // Used only by Snobold Vassal
- CREATURE_STATIC_FLAG_4_CANNOT_DAZE = 0x00000800, // "Cannot Daze (Combat Stun)"
- CREATURE_STATIC_FLAG_4_FLAT_HONOR_AWARD = 0x00001000,
- CREATURE_STATIC_FLAG_4_IGNORE_LOS_WHEN_CASTING_ON_ME = 0x00002000, // "Other objects can ignore line of sight requirements when casting spells on me", used only by Ice Tomb in 3.3.5
- CREATURE_STATIC_FLAG_4_GIVE_QUEST_KILL_CREDIT_WHILE_OFFLINE = 0x00004000,
- CREATURE_STATIC_FLAG_4_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS = 0x00008000, // CREATURE_TYPE_FLAG_TREAT_AS_RAID_UNIT, "Treat as Raid Unit For Helpful Spells (Instances ONLY)", used by Valithria Dreamwalker
- CREATURE_STATIC_FLAG_4_DONT_REPOSITION_IF_MELEE_TARGET_IS_TOO_CLOSE = 0x00010000, // "Don't reposition because melee target is too close"
- CREATURE_STATIC_FLAG_4_PET_OR_GUARDIAN_AI_DONT_GO_BEHIND_TARGET = 0x00020000,
- CREATURE_STATIC_FLAG_4_5_MINUTE_LOOT_ROLL_TIMER = 0x00040000, // Used by Lich King
- CREATURE_STATIC_FLAG_4_FORCE_GOSSIP = 0x00080000, // CREATURE_TYPE_FLAG_FORCE_GOSSIP
- CREATURE_STATIC_FLAG_4_DONT_REPOSITION_WITH_FRIENDS_IN_COMBAT = 0x00100000,
- CREATURE_STATIC_FLAG_4_DO_NOT_SHEATHE = 0x00200000, // CREATURE_TYPE_FLAG_DO_NOT_SHEATHE, original description: Manual Sheathing control
- CREATURE_STATIC_FLAG_4_IGNORE_SPELL_MIN_RANGE_RESTRICTIONS = 0x00400000, // UnitFlags2 0x8000000, original description: Attacker Ignores Minimum Ranges
- CREATURE_STATIC_FLAG_4_SUPPRESS_INSTANCE_WIDE_RELEASE_IN_COMBAT = 0x00800000,
- CREATURE_STATIC_FLAG_4_PREVENT_SWIM = 0x01000000, // UnitFlags2 0x1000000, original description: AI will only swim if target swims
- CREATURE_STATIC_FLAG_4_HIDE_IN_COMBAT_LOG = 0x02000000, // UnitFlags2 0x2000000, original description: Don't generate combat log when engaged with NPC's
- CREATURE_STATIC_FLAG_4_ALLOW_NPC_COMBAT_WHILE_UNINTERACTIBLE = 0x04000000,
- CREATURE_STATIC_FLAG_4_PREFER_NPCS_WHEN_SEARCHING_FOR_ENEMIES = 0x08000000,
- CREATURE_STATIC_FLAG_4_ONLY_GENERATE_INITIAL_THREAT = 0x10000000,
- CREATURE_STATIC_FLAG_4_DO_NOT_TARGET_ON_INTERACTION = 0x20000000, // CREATURE_TYPE_FLAG_DO_NOT_TARGET_ON_INTERACTION, original description: Doesn't change target on right click
- CREATURE_STATIC_FLAG_4_DO_NOT_RENDER_OBJECT_NAME = 0x40000000, // CREATURE_TYPE_FLAG_DO_NOT_RENDER_OBJECT_NAME, original description: Hide name in world frame
- CREATURE_STATIC_FLAG_4_QUEST_BOSS = 0x80000000 // CREATURE_TYPE_FLAG_QUEST_BOSS
+ CREATURE_STATIC_FLAG_4_NO_BIRTH_ANIM = 0x00000001, // No Birth Anim
+ CREATURE_STATIC_FLAG_4_TREAT_AS_PLAYER_FOR_DIMINISHING_RETURNS = 0x00000002, // Treat as Player for Diminishing Returns
+ CREATURE_STATIC_FLAG_4_TREAT_AS_PLAYER_FOR_PVP_DEBUFF_DURATION = 0x00000004, // Treat as Player for PvP Debuff Duration
+ CREATURE_STATIC_FLAG_4_ONLY_DISPLAY_GOSSIP_FOR_SUMMONER = 0x00000008, // Only Display Gossip for Summoner | CREATURE_TYPE_FLAG_INTERACT_ONLY_WITH_CREATOR
+ CREATURE_STATIC_FLAG_4_NO_DEATH_SCREAM = 0x00000010, // No Death Scream | CREATURE_TYPE_FLAG_DO_NOT_PLAY_UNIT_EVENT_SOUNDS
+ CREATURE_STATIC_FLAG_4_CAN_BE_HEALED_BY_ENEMIES = 0x00000020, // Can be Healed by Enemies | CREATURE_TYPE_FLAG_HAS_NO_SHADOW_BLOB
+ CREATURE_STATIC_FLAG_4_DEALS_TRIPLE_DAMAGE_TO_PC_CONTROLLED_PETS= 0x00000040, // Deals triple damage to PC controlled pets
+ CREATURE_STATIC_FLAG_4_NO_NPC_DAMAGE_BELOW_85_PCT = 0x00000080, // No NPC damage below 85%
+ CREATURE_STATIC_FLAG_4_OBEYS_TAUNT_DIMINISHING_RETURNS = 0x00000100, // Obeys Taunt Diminishing Returns | CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHING_RETURNS
+ CREATURE_STATIC_FLAG_4_NO_MELEE_APPROACH = 0x00000200, // No Melee (Approach) | Prevents melee (chases into melee range, does not make creature passive)
+ CREATURE_STATIC_FLAG_4_UPDATE_CREATURE_RECORD_WHEN_INSTANCE_CHANGES_DIFFICULTY = 0x00000400, // Update Creature Record when instance changes difficulty
+ CREATURE_STATIC_FLAG_4_CANNOT_DAZE = 0x00000800, // Cannot Daze (Combat Stun)
+ CREATURE_STATIC_FLAG_4_FLAT_HONOR_AWARD = 0x00001000, // Flat Honor Award
+ CREATURE_STATIC_FLAG_4_IGNORE_LOS_WHEN_CASTING_ON_ME = 0x00002000, // Other objects can ignore line of sight requirements when casting spells on me
+ CREATURE_STATIC_FLAG_4_GIVE_QUEST_KILL_CREDIT_WHILE_OFFLINE = 0x00004000, // Give quest kill credit while offline
+ CREATURE_STATIC_FLAG_4_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS = 0x00008000, // Treat as Raid Unit For Helpful Spells (Instances ONLY) | CREATURE_TYPE_FLAG_TREAT_AS_RAID_UNIT
+ CREATURE_STATIC_FLAG_4_DONT_REPOSITION_BECAUSE_MELEE_TARGET_IS_TOO_CLOSE = 0x00010000, // Don't reposition because melee target is too close
+ CREATURE_STATIC_FLAG_4_PET_OR_GUARDIAN_AI_DONT_GO_BEHIND_TARGET = 0x00020000, // Pet/Guardian AI Don't Go Behind Target
+ CREATURE_STATIC_FLAG_4_5_MINUTE_LOOT_ROLL_TIMER = 0x00040000, // 5 Minute loot roll timer
+ CREATURE_STATIC_FLAG_4_FORCE_GOSSIP = 0x00080000, // Force Gossip | CREATURE_TYPE_FLAG_FORCE_GOSSIP
+ CREATURE_STATIC_FLAG_4_DONT_REPOSITION_WITH_FRIENDS_IN_COMBAT = 0x00100000, // Don't reposition with friends in combat
+ CREATURE_STATIC_FLAG_4_MANUAL_SHEATHING_CONTROL = 0x00200000, // Manual Sheathing control | CREATURE_TYPE_FLAG_DO_NOT_SHEATHE
+ CREATURE_STATIC_FLAG_4_ATTACKER_IGNORES_MINIMUM_RANGES = 0x00400000, // Attacker Ignores Minimum Ranges | UnitFlags2 0x8000000
+ CREATURE_STATIC_FLAG_4_SUPPRESS_INSTANCE_WIDE_RELEASE_IN_COMBAT = 0x00800000, // Suppress Instance Wide Release in Combat
+ CREATURE_STATIC_FLAG_4_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS = 0x01000000, // AI will only swim if target swims | UnitFlags2 0x1000000
+ CREATURE_STATIC_FLAG_4_DONT_GENERATE_COMBAT_LOG_WHEN_ENGAGED_WITH_NPCS = 0x02000000, // Don't generate combat log when engaged with NPC's | UnitFlags2 0x2000000
+ CREATURE_STATIC_FLAG_4_ALLOW_NPC_COMBAT_WHILE_UNINTERACTIBLE = 0x04000000, // Allow NPC Combat while Uninteractible
+ CREATURE_STATIC_FLAG_4_PREFER_NPCS_WHEN_SEARCHING_FOR_ENEMIES = 0x08000000, // Prefer NPCs When Searching For Enemies
+ CREATURE_STATIC_FLAG_4_ONLY_GENERATE_INITIAL_THREAT = 0x10000000, // Only Generate Initial Threat
+ CREATURE_STATIC_FLAG_4_DOESNT_CHANGE_TARGET_ON_RIGHT_CLICK = 0x20000000, // Doesn't change target on right click | CREATURE_TYPE_FLAG_DO_NOT_TARGET_ON_INTERACTION
+ CREATURE_STATIC_FLAG_4_HIDE_NAME_IN_WORLD_FRAME = 0x40000000, // Hide name in world frame | CREATURE_TYPE_FLAG_DO_NOT_RENDER_OBJECT_NAME
+ CREATURE_STATIC_FLAG_4_QUEST_BOSS = 0x80000000 // Quest Boss | CREATURE_TYPE_FLAG_QUEST_BOSS
};
DEFINE_ENUM_FLAG(CreatureStaticFlags4);
-enum CreatureStaticFlags5
+enum CreatureStaticFlags5 : uint32
{
- CREATURE_STATIC_FLAG_5_UNTARGETABLE_BY_CLIENT = 0x00000001, // UnitFlags2 0x4000000 UNIT_FLAG2_UNTARGETABLE_BY_CLIENT
- CREATURE_STATIC_FLAG_5_FORCE_SELF_MOUNTING = 0x00000002,
- CREATURE_STATIC_FLAG_5_UNINTERACTIBLE_IF_HOSTILE = 0x00000004, // UnitFlags2 0x10000000
- CREATURE_STATIC_FLAG_5_DISABLES_XP_AWARD = 0x00000008,
- CREATURE_STATIC_FLAG_5_DISABLE_AI_PREDICTION = 0x00000010,
- CREATURE_STATIC_FLAG_5_NO_LEAVECOMBAT_STATE_RESTORE = 0x00000020,
- CREATURE_STATIC_FLAG_5_BYPASS_INTERACT_INTERRUPTS = 0x00000040,
- CREATURE_STATIC_FLAG_5_240_DEGREE_BACK_ARC = 0x00000080,
- CREATURE_STATIC_FLAG_5_INTERACT_WHILE_HOSTILE = 0x00000100, // UnitFlags2 0x4000 UNIT_FLAG2_INTERACT_WHILE_HOSTILE
- CREATURE_STATIC_FLAG_5_DONT_DISMISS_ON_FLYING_MOUNT = 0x00000200,
- CREATURE_STATIC_FLAG_5_PREDICTIVE_POWER_REGEN = 0x00000400, // CREATURE_TYPEFLAGS_2_UNK1
- CREATURE_STATIC_FLAG_5_HIDE_LEVEL_INFO_IN_TOOLTIP = 0x00000800, // CREATURE_TYPEFLAGS_2_UNK2
- CREATURE_STATIC_FLAG_5_HIDE_HEALTH_BAR_UNDER_TOOLTIP = 0x00001000, // CREATURE_TYPEFLAGS_2_UNK3
- CREATURE_STATIC_FLAG_5_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER = 0x00002000, // UnitFlags2 0x80000
- CREATURE_STATIC_FLAG_5_AI_PREFER_PATHABLE_TARGETS = 0x00004000,
- CREATURE_STATIC_FLAG_5_FREQUENT_AREA_TRIGGER_CHECKS = 0x00008000,
- CREATURE_STATIC_FLAG_5_ASSIGN_KILL_CREDIT_TO_ENCOUNTER_LIST= 0x00010000,
- CREATURE_STATIC_FLAG_5_NEVER_EVADE = 0x00020000,
- CREATURE_STATIC_FLAG_5_AI_CANT_PATH_ON_STEEP_SLOPES = 0x00040000,
- CREATURE_STATIC_FLAG_5_AI_IGNORE_LOS_TO_MELEE_TARGET = 0x00080000,
- CREATURE_STATIC_FLAG_5_NO_TEXT_IN_CHAT_BUBBLE = 0x00100000, // "Never display emote or chat text in a chat bubble", CREATURE_TYPEFLAGS_2_UNK4
- CREATURE_STATIC_FLAG_5_CLOSE_IN_ON_UNPATHABLE_TARGET = 0x00200000, // "AI Pets close in on unpathable target"
- CREATURE_STATIC_FLAG_5_DONT_GO_BEHIND_ME = 0x00400000, // "Pet/Guardian AI Don't Go Behind Me (use on target)"
- CREATURE_STATIC_FLAG_5_NO_DEATH_THUD = 0x00800000, // CREATURE_TYPEFLAGS_2_UNK5
- CREATURE_STATIC_FLAG_5_CLIENT_LOCAL_CREATURE = 0x01000000,
- CREATURE_STATIC_FLAG_5_CAN_DROP_LOOT_WHILE_IN_A_CHALLENGE_MODE_INSTANCE = 0x02000000,
- CREATURE_STATIC_FLAG_5_HAS_SAFE_LOCATION = 0x04000000,
- CREATURE_STATIC_FLAG_5_NO_HEALTH_REGEN = 0x08000000,
- CREATURE_STATIC_FLAG_5_NO_POWER_REGEN = 0x10000000,
- CREATURE_STATIC_FLAG_5_NO_PET_UNIT_FRAME = 0x20000000,
- CREATURE_STATIC_FLAG_5_NO_INTERACT_ON_LEFT_CLICK = 0x40000000, // CREATURE_TYPEFLAGS_2_UNK6
- CREATURE_STATIC_FLAG_5_GIVE_CRITERIA_KILL_CREDIT_WHEN_CHARMED = 0x80000000
+ CREATURE_STATIC_FLAG_5_UNTARGETABLE_BY_CLIENT = 0x00000001, // Untargetable By Client | UnitFlags2 0x4000000 UNIT_FLAG2_UNTARGETABLE_BY_CLIENT
+ CREATURE_STATIC_FLAG_5_FORCE_SELF_MOUNTING = 0x00000002, // Force Self Mounting
+ CREATURE_STATIC_FLAG_5_UNINTERACTIBLE_IF_HOSTILE = 0x00000004, // Uninteractible If Hostile | UnitFlags2 0x10000000 UNIT_FLAG2_UNINTERACTIBLE_IF_HOSTILE
+ CREATURE_STATIC_FLAG_5_DISABLES_XP_AWARD = 0x00000008, // Disables XP Award
+ CREATURE_STATIC_FLAG_5_DISABLE_AI_PREDICTION = 0x00000010, // Disable AI prediction
+ CREATURE_STATIC_FLAG_5_NO_LEAVE_COMBAT_STATE_RESTORE = 0x00000020, // No LeaveCombat State Restore
+ CREATURE_STATIC_FLAG_5_BYPASS_INTERACT_INTERRUPTS = 0x00000040, // Bypass Interact Interrupts
+ CREATURE_STATIC_FLAG_5_240_DEGREE_BACK_ARC = 0x00000080, // 240 Degree Back Arc
+ CREATURE_STATIC_FLAG_5_INTERACT_WHILE_HOSTILE = 0x00000100, // Interact while Hostile | UnitFlags2 0x4000 UNIT_FLAG2_INTERACT_WHILE_HOSTILE
+ CREATURE_STATIC_FLAG_5_DONT_DISMISS_ON_FLYING_MOUNT = 0x00000200, // Don't Dismiss On Flying Mount
+ CREATURE_STATIC_FLAG_5_PREDICTIVE_POWER_REGEN = 0x00000400, // Predictive Power Regen | CREATURE_TYPE_FLAG_2_PREDICTIVE_POWER_REGEN
+ CREATURE_STATIC_FLAG_5_HIDE_LEVEL_INFO_IN_TOOLTIP = 0x00000800, // Hide Level Info In Tooltip | CREATURE_TYPE_FLAG_2_HIDE_LEVEL_INFO_IN_TOOLTIP
+ CREATURE_STATIC_FLAG_5_HIDE_HEALTH_BAR_UNDER_TOOLTIP = 0x00001000, // Hide Health Bar Under Tooltip | CREATURE_TYPE_FLAG_2_HIDE_HEALTH_BAR_UNDER_TOOLTIP
+ CREATURE_STATIC_FLAG_5_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER = 0x00002000, // Suppress highlight when targeted or moused over | UnitFlags2 0x80000 UNIT_FLAG2_SUPPRESS_HIGHLIGHT_WHEN_TARGETED_OR_MOUSED_OVER
+ CREATURE_STATIC_FLAG_5_AI_PREFER_PATHABLE_TARGETS = 0x00004000, // AI Prefer pathable targets
+ CREATURE_STATIC_FLAG_5_FREQUENT_AREA_TRIGGER_CHECKS = 0x00008000, // Frequent Area Trigger Checks (EXPENSIVE/TALK TO A PROGRAMMER FIRST)
+ CREATURE_STATIC_FLAG_5_ASSIGN_KILL_CREDIT_TO_ENCOUNTER_LIST = 0x00010000, // Assign Kill Credit to Encounter List
+ CREATURE_STATIC_FLAG_5_NEVER_EVADE = 0x00020000, // Never Evade
+ CREATURE_STATIC_FLAG_5_AI_CANT_PATH_ON_STEEP_SLOPES = 0x00040000, // AI Can't path on Steep Slopes
+ CREATURE_STATIC_FLAG_5_AI_IGNORE_LOS_TO_MELEE_TARGET = 0x00080000, // AI Ignore Los To Melee Target
+ CREATURE_STATIC_FLAG_5_NEVER_DISPLAY_EMOTE_OR_CHAT_TEXT_IN_A_CHAT_BUBBLE = 0x00100000, // Never display emote or chat text in a chat bubble | CREATURE_TYPEFLAGS_2_UNK4
+ CREATURE_STATIC_FLAG_5_AI_PETS_CLOSE_IN_ON_UNPATHABLE_TARGET = 0x00200000, // AI Pets close in on unpathable target
+ CREATURE_STATIC_FLAG_5_PET_OR_GUARDIAN_AI_DONT_GO_BEHIND_ME = 0x00400000, // Pet/Guardian AI Don't Go Behind Me (use on target)
+ CREATURE_STATIC_FLAG_5_NO_DEATH_THUD = 0x00800000, // No Death Thud | CREATURE_TYPE_FLAG_2_NO_DEATH_THUD
+ CREATURE_STATIC_FLAG_5_CLIENT_LOCAL_CREATURE = 0x01000000, // Client Local Creature
+ CREATURE_STATIC_FLAG_5_CAN_DROP_LOOT_WHILE_IN_A_CHALLENGE_MODE_INSTANCE = 0x02000000, // Can drop loot while in a challenge mode instance
+ CREATURE_STATIC_FLAG_5_HAS_SAFE_LOCATION = 0x04000000, // Has Safe Location
+ CREATURE_STATIC_FLAG_5_NO_HEALTH_REGEN = 0x08000000, // No Health Regen
+ CREATURE_STATIC_FLAG_5_NO_POWER_REGEN = 0x10000000, // No Power Regen
+ CREATURE_STATIC_FLAG_5_NO_PET_UNIT_FRAME = 0x20000000, // No Pet Unit Frame
+ CREATURE_STATIC_FLAG_5_NO_INTERACT_ON_LEFT_CLICK = 0x40000000, // No Interact On Left Click | CREATURE_TYPE_FLAG_2_NO_INTERACT_ON_LEFT_CLICK
+ CREATURE_STATIC_FLAG_5_GIVE_CRITERIA_KILL_CREDIT_WHEN_CHARMED = 0x80000000 // Give criteria kill credit when charmed
};
DEFINE_ENUM_FLAG(CreatureStaticFlags5);
-enum CreatureStaticFlags6
+enum CreatureStaticFlags6 : uint32
{
- CREATURE_STATIC_FLAG_6_DO_NOT_AUTO_RESUMMON = 0x00000001, // "Do not auto-resummon this companion creature"
- CREATURE_STATIC_FLAG_6_REPLACE_VISIBLE_UNIT_IF_AVAILABLE = 0x00000002, // "Smooth Phasing: Replace visible unit if available"
- CREATURE_STATIC_FLAG_6_IGNORE_REALM_COALESCING_HIDING_CODE = 0x00000004, // "Ignore the realm coalescing hiding code (always show)"
- CREATURE_STATIC_FLAG_6_TAPS_TO_FACTION = 0x00000008,
- CREATURE_STATIC_FLAG_6_ONLY_QUESTGIVER_FOR_SUMMONER = 0x00000010,
- CREATURE_STATIC_FLAG_6_AI_COMBAT_RETURN_PRECISE = 0x00000020,
- CREATURE_STATIC_FLAG_6_HOME_REALM_ONLY_LOOT = 0x00000040,
- CREATURE_STATIC_FLAG_6_NO_INTERACT_RESPONSE = 0x00000080, // TFLAG2_UNK7
- CREATURE_STATIC_FLAG_6_NO_INITIAL_POWER = 0x00000100,
- CREATURE_STATIC_FLAG_6_DONT_CANCEL_CHANNEL_ON_MASTER_MOUNTING = 0x00000200,
- CREATURE_STATIC_FLAG_6_CAN_TOGGLE_BETWEEN_DEATH_AND_PERSONAL_LOOT = 0x00000400,
- CREATURE_STATIC_FLAG_6_ALWAYS_STAND_ON_TOP_OF_TARGET = 0x00000800, // "Always, ALWAYS tries to stand right on top of his move to target. ALWAYS!!", toggleable by 'Set "Always Stand on Target" flag for unit(s)' or not same?
- CREATURE_STATIC_FLAG_6_UNCONSCIOUS_ON_DEATH = 0x00001000,
- CREATURE_STATIC_FLAG_6_DONT_REPORT_TO_LOCAL_DEFENSE_CHANNEL_ON_DEATH = 0x00002000,
- CREATURE_STATIC_FLAG_6_PREFER_UNENGAGED_MONSTERS = 0x00004000, // "Prefer unengaged monsters when picking a target"
- CREATURE_STATIC_FLAG_6_USE_PVP_POWER_AND_RESILIENCE = 0x00008000, // "Use PVP power and resilience when players attack this creature"
- CREATURE_STATIC_FLAG_6_DONT_CLEAR_DEBUFFS_ON_LEAVE_COMBAT = 0x00010000,
- CREATURE_STATIC_FLAG_6_PERSONAL_LOOT_HAS_FULL_SECURITY = 0x00020000, // "Personal loot has full security (guaranteed push/mail delivery)"
- CREATURE_STATIC_FLAG_6_TRIPLE_SPELL_VISUALS = 0x00040000,
- CREATURE_STATIC_FLAG_6_USE_GARRISON_OWNER_LEVEL = 0x00080000,
- CREATURE_STATIC_FLAG_6_IMMEDIATE_AOI_UPDATE_ON_SPAWN = 0x00100000,
- CREATURE_STATIC_FLAG_6_UI_CAN_GET_POSITION = 0x00200000,
- CREATURE_STATIC_FLAG_6_SEAMLESS_TRANSFER_PROHIBITED = 0x00400000,
- CREATURE_STATIC_FLAG_6_ALWAYS_USE_GROUP_LOOT_METHOD = 0x00800000,
- CREATURE_STATIC_FLAG_6_NO_BOSS_KILL_BANNER = 0x01000000,
- CREATURE_STATIC_FLAG_6_FORCE_TRIGGERING_PLAYER_LOOT_ONLY = 0x02000000,
- CREATURE_STATIC_FLAG_6_SHOW_BOSS_FRAME_WHILE_UNINTERACTABLE= 0x04000000,
- CREATURE_STATIC_FLAG_6_SCALES_TO_PLAYER_LEVEL = 0x08000000,
- CREATURE_STATIC_FLAG_6_AI_DONT_LEAVE_MELEE_FOR_RANGED_WHEN_TARGET_GETS_ROOTED = 0x10000000,
- CREATURE_STATIC_FLAG_6_DONT_USE_COMBAT_REACH_FOR_CHAINING = 0x20000000,
- CREATURE_STATIC_FLAG_6_DO_NOT_PLAY_PROCEDURAL_WOUND_ANIM = 0x40000000,
- CREATURE_STATIC_FLAG_6_APPLY_PROCEDURAL_WOUND_ANIM_TO_BASE = 0x80000000 // TFLAG2_UNK14
+ CREATURE_STATIC_FLAG_6_DO_NOT_AUTO_RESUMMON_THIS_COMPANION_CREATURE = 0x00000001, // Do not auto-resummon this companion creature
+ CREATURE_STATIC_FLAG_6_SMOOTH_PHASING_REPLACE_VISIBLE_UNIT_IF_AVAILABLE = 0x00000002, // Smooth Phasing: Replace visible unit if available (ASK PROGRAMMER FIRST)
+ CREATURE_STATIC_FLAG_6_IGNORE_THE_REALM_COALESCING_HIDING_CODE = 0x00000004, // Ignore the realm coalescing hiding code (always show)
+ CREATURE_STATIC_FLAG_6_TAPS_TO_FACTION = 0x00000008, // Taps to Faction
+ CREATURE_STATIC_FLAG_6_ONLY_QUEST_GIVER_FOR_SUMMONER = 0x00000010, // Only QuestGiver for Summoner
+ CREATURE_STATIC_FLAG_6_AI_COMBAT_RETURN_PRECISE = 0x00000020, // AI Combat Return Precise
+ CREATURE_STATIC_FLAG_6_HOME_REALM_ONLY_LOOT = 0x00000040, // Home realm only loot
+ CREATURE_STATIC_FLAG_6_NO_INTERACT_RESPONSE = 0x00000080, // No Interact Response | TFLAG2_UNK7
+ CREATURE_STATIC_FLAG_6_NO_INITIAL_POWER = 0x00000100, // No Initial Power
+ CREATURE_STATIC_FLAG_6_DONT_CANCEL_CHANNEL_ON_MASTER_MOUNTING = 0x00000200, // Don't Cancel Channel On Master Mounting
+ CREATURE_STATIC_FLAG_6_CAN_TOGGLE_BETWEEN_DEATH_AND_PERSONAL_LOOT = 0x00000400, // Can Toggle between Death and Personal Loot
+ CREATURE_STATIC_FLAG_6_ALWAYS_STAND_ON_TARGET = 0x00000800, // Always, ALWAYS tries to stand right on top of his move to target. ALWAYS!!
+ CREATURE_STATIC_FLAG_6_UNCONSCIOUS_ON_DEATH = 0x00001000, // Unconscious on Death
+ CREATURE_STATIC_FLAG_6_DONT_REPORT_TO_LOCAL_DEFENSE_CHANNEL_ON_DEATH = 0x00002000, // Don't report to local defense channel on death
+ CREATURE_STATIC_FLAG_6_PREFER_UNENGAGED_MONSTERS_WHEN_PICKING_A_TARGET = 0x00004000, // Prefer unengaged monsters when picking a target
+ CREATURE_STATIC_FLAG_6_USE_PVP_POWER_AND_RESILIENCE_WHEN_PLAYERS_ATTACK_THIS_CREATURE = 0x00008000, // Use PVP power and resilience when players attack this creature
+ CREATURE_STATIC_FLAG_6_DONT_CLEAR_DEBUFFS_ON_LEAVE_COMBAT = 0x00010000, // Don't clear debuffs on leave combat
+ CREATURE_STATIC_FLAG_6_PERSONAL_LOOT_HAS_FULL_SECURITY = 0x00020000, // Personal loot has full security (guaranteed push/mail delivery)
+ CREATURE_STATIC_FLAG_6_TRIPLE_SPELL_VISUALS = 0x00040000, // Triple Spell Visuals
+ CREATURE_STATIC_FLAG_6_USE_GARRISON_OWNER_LEVEL = 0x00080000, // Use Garrison Owner Level
+ CREATURE_STATIC_FLAG_6_IMMEDIATE_AOI_UPDATE_ON_SPAWN = 0x00100000, // Immediate AOI Update On Spawn
+ CREATURE_STATIC_FLAG_6_UI_CAN_GET_POSITION = 0x00200000, // UI Can Get Position
+ CREATURE_STATIC_FLAG_6_SEAMLESS_TRANSFER_PROHIBITED = 0x00400000, // Seamless Transfer Prohibited
+ CREATURE_STATIC_FLAG_6_ALWAYS_USE_GROUP_LOOT_METHOD = 0x00800000, // Always use Group Loot Method
+ CREATURE_STATIC_FLAG_6_NO_BOSS_KILL_BANNER = 0x01000000, // No Boss Kill Banner
+ CREATURE_STATIC_FLAG_6_FORCE_TRIGGERING_PLAYER_LOOT_ONLY = 0x02000000, // Force Triggering Player Loot Only
+ CREATURE_STATIC_FLAG_6_SHOW_BOSS_FRAME_WHILE_UNINTERACTABLE = 0x04000000, // Show Boss Frame While Uninteractable
+ CREATURE_STATIC_FLAG_6_SCALES_TO_PLAYER_LEVEL = 0x08000000, // Scales to Player Level
+ CREATURE_STATIC_FLAG_6_AI_DONT_LEAVE_MELEE_FOR_RANGED_WHEN_TARGET_GETS_ROOTED = 0x10000000, // AI don't leave melee for ranged when target gets rooted
+ CREATURE_STATIC_FLAG_6_DONT_USE_COMBAT_REACH_FOR_CHAINING = 0x20000000, // Don't Use Combat Reach For Chaining
+ CREATURE_STATIC_FLAG_6_DO_NOT_PLAY_PROCEDURAL_WOUND_ANIM = 0x40000000, // Do not play procedural wound anim
+ CREATURE_STATIC_FLAG_6_APPLY_PROCEDURAL_WOUND_ANIM_TO_BASE = 0x80000000, // Apply procedural wound anim to Base | TFLAG2_UNK14
};
DEFINE_ENUM_FLAG(CreatureStaticFlags6);
-enum CreatureStaticFlags7
+enum CreatureStaticFlags7 : uint32
{
- CREATURE_STATIC_FLAG_7_IMPORTANT_NPC = 0x00000001,
- CREATURE_STATIC_FLAG_7_IMPORTANT_QUEST_NPC = 0x00000002,
- CREATURE_STATIC_FLAG_7_LARGE_NAMEPLATE = 0x00000004,
- CREATURE_STATIC_FLAG_7_TRIVIAL_PET = 0x00000008,
- CREATURE_STATIC_FLAG_7_AI_ENEMIES_DONT_BACKUP_WHEN_I_GET_ROOTED = 0x00000010,
- CREATURE_STATIC_FLAG_7_NO_AUTOMATIC_COMBAT_ANCHOR = 0x00000020,
- CREATURE_STATIC_FLAG_7_ONLY_TARGETABLE_BY_CREATOR = 0x00000040,
- CREATURE_STATIC_FLAG_7_TREAT_AS_PLAYER_FOR_ISPLAYERCONTROLLED = 0x00000080,
- CREATURE_STATIC_FLAG_7_GENERATE_NO_THREAT_OR_DAMAGE = 0x00000100,
- CREATURE_STATIC_FLAG_7_INTERACT_ONLY_ON_QUEST = 0x00000200,
- CREATURE_STATIC_FLAG_7_DISABLE_KILL_CREDIT_FOR_OFFLINE_PLAYERS = 0x00000400,
- CREATURE_STATIC_FLAG_7_AI_ADDITIONAL_PATHING = 0x00080000,
+ CREATURE_STATIC_FLAG_7_IMPORTANT_NPC = 0x00000001, // Important NPC
+ CREATURE_STATIC_FLAG_7_IMPORTANT_QUEST_NPC = 0x00000002, // Important Quest NPC
+ CREATURE_STATIC_FLAG_7_LARGE_NAMEPLATE = 0x00000004, // Large Nameplate
+ CREATURE_STATIC_FLAG_7_TRIVIAL_PET = 0x00000008, // Trivial Pet (Ignored by helpful AOEs)
+ CREATURE_STATIC_FLAG_7_AI_ENEMIES_DONT_BACKUP_WHEN_I_GET_ROOTED = 0x00000010, // AI Enemies Don't backup when I get rooted
+ CREATURE_STATIC_FLAG_7_NO_AUTOMATIC_COMBAT_ANCHOR = 0x00000020, // No Automatic Combat Anchor
+ CREATURE_STATIC_FLAG_7_ONLY_TARGETABLE_BY_CREATOR = 0x00000040, // Only Targetable By Creator
+ CREATURE_STATIC_FLAG_7_TREAT_AS_PLAYER_FOR_IS_PLAYER_CONTROLLED = 0x00000080, // 8.0.1 Flag - Treat as Player for IsPlayerControlled()
+ CREATURE_STATIC_FLAG_7_GENERATE_NO_THREAT_OR_DAMAGE = 0x00000100, // 8.0.1 Flag - Generate No Threat or Damage
+ CREATURE_STATIC_FLAG_7_INTERACT_ONLY_ON_QUEST = 0x00000200, // 8.0.1 Flag - Interact Only on Quest
+ CREATURE_STATIC_FLAG_7_DISABLE_KILL_CREDIT_FOR_OFFLINE_PLAYERS = 0x00000400, // Disable Kill Credit for Offline Players
+ CREATURE_STATIC_FLAG_7_AI_ADDITIONAL_PATHING = 0x00080000, // AI Additional Pathing
};
DEFINE_ENUM_FLAG(CreatureStaticFlags7);
-enum CreatureStaticFlags8
+enum CreatureStaticFlags8 : uint32
{
- CREATURE_STATIC_FLAG_8_FORCE_CLOSE_IN_ON_PATH_FAIL_BEHAVIOR = 0x00000002,
- CREATURE_STATIC_FLAG_8_USE_2D_CHASING_CALCULATION = 0x00000020,
- CREATURE_STATIC_FLAG_8_USE_FAST_CLASSIC_HEARTBEAT = 0x00000040,
+ CREATURE_STATIC_FLAG_8_FORCE_CLOSE_IN_ON_PATH_FAIL_BEHAVIOR = 0x00000002, // Force Close In On Path Fail Behavior
+ CREATURE_STATIC_FLAG_8_USE_2D_CHASING_CALCULATION = 0x00000020, // Use 2D Chasing Calculation
+ CREATURE_STATIC_FLAG_8_USE_FAST_CLASSIC_HEARTBEAT = 0x00000040, // Use Fast Classic Heartbeat
};
DEFINE_ENUM_FLAG(CreatureStaticFlags8);
diff --git a/src/server/game/Entities/Creature/TemporarySummon.h b/src/server/game/Entities/Creature/TemporarySummon.h
index a4e81d8c8d4..442969e3b09 100644
--- a/src/server/game/Entities/Creature/TemporarySummon.h
+++ b/src/server/game/Entities/Creature/TemporarySummon.h
@@ -71,8 +71,8 @@ class TC_GAME_API TempSummon : public Creature
bool IsDismissedOnFlyingMount() const { return !HasFlag(CREATURE_STATIC_FLAG_5_DONT_DISMISS_ON_FLYING_MOUNT); }
void SetDontDismissOnFlyingMount(bool dontDismissOnFlyingMount) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_5_DONT_DISMISS_ON_FLYING_MOUNT, dontDismissOnFlyingMount); }
- bool IsAutoResummoned() const { return !HasFlag(CREATURE_STATIC_FLAG_6_DO_NOT_AUTO_RESUMMON); }
- void SetDontAutoResummon(bool dontAutoResummon) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_6_DO_NOT_AUTO_RESUMMON, dontAutoResummon); }
+ bool IsAutoResummoned() const { return !HasFlag(CREATURE_STATIC_FLAG_6_DO_NOT_AUTO_RESUMMON_THIS_COMPANION_CREATURE); }
+ void SetDontAutoResummon(bool dontAutoResummon) { _staticFlags.ApplyFlag(CREATURE_STATIC_FLAG_6_DO_NOT_AUTO_RESUMMON_THIS_COMPANION_CREATURE, dontAutoResummon); }
SummonPropertiesEntry const* const m_Properties;
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 59ffb63a4b0..3339d973a53 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -1628,7 +1628,7 @@ void ObjectMgr::ChooseCreatureFlags(CreatureTemplate const* cInfo, uint64* npcFl
if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_CAN_SWIM))
*unitFlags |= UNIT_FLAG_CAN_SWIM;
- if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_CANNOT_SWIM))
+ if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_CANT_SWIM))
*unitFlags |= UNIT_FLAG_CANT_SWIM;
}
@@ -1638,7 +1638,7 @@ void ObjectMgr::ChooseCreatureFlags(CreatureTemplate const* cInfo, uint64* npcFl
if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_3_CANNOT_TURN))
*unitFlags2 |= UNIT_FLAG2_CANNOT_TURN;
- if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_4_PREVENT_SWIM))
+ if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_4_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS))
*unitFlags2 |= UNIT_FLAG2_AI_WILL_ONLY_SWIM_IF_TARGET_SWIMS;
if (staticFlags.HasFlag(CREATURE_STATIC_FLAG_5_INTERACT_WHILE_HOSTILE))
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 5695f70a322..a1971b9768f 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -5016,7 +5016,7 @@ enum CreatureTypeFlags
{
CREATURE_TYPE_FLAG_TAMEABLE = 0x00000001, // Makes the mob tameable (must also be a beast and have family set)
CREATURE_TYPE_FLAG_VISIBLE_TO_GHOSTS = 0x00000002, // Creature is also visible for not alive player. Allows gossip interaction if npcflag allows?
- CREATURE_TYPE_FLAG_BOSS_MOB = 0x00000004, // Changes creature's visible level to "??" in the creature's portrait - Immune Knockback.
+ CREATURE_TYPE_FLAG_BOSS_MOB = 0x00000004, // Changes creature's visible level to "??" in the creature's portrait
CREATURE_TYPE_FLAG_DO_NOT_PLAY_WOUND_ANIM = 0x00000008,
CREATURE_TYPE_FLAG_NO_FACTION_TOOLTIP = 0x00000010,
CREATURE_TYPE_FLAG_MORE_AUDIBLE = 0x00000020, // Sound related
@@ -5050,12 +5050,12 @@ enum CreatureTypeFlags
enum CreatureTypeFlags2
{
- CREATURE_TYPE_FLAG_2_UNK1 = 0x00000001,
- CREATURE_TYPE_FLAG_2_UNK2 = 0x00000002,
- CREATURE_TYPE_FLAG_2_UNK3 = 0x00000004,
- CREATURE_TYPE_FLAG_2_UNK4 = 0x00000008,
- CREATURE_TYPE_FLAG_2_UNK5 = 0x00000010,
- CREATURE_TYPE_FLAG_2_UNK6 = 0x00000020,
+ CREATURE_TYPE_FLAG_2_PREDICTIVE_POWER_REGEN = 0x00000001,
+ CREATURE_TYPE_FLAG_2_HIDE_LEVEL_INFO_IN_TOOLTIP = 0x00000002,
+ CREATURE_TYPE_FLAG_2_HIDE_HEALTH_BAR_UNDER_TOOLTIP = 0x00000004,
+ CREATURE_TYPE_FLAG_2_NEVER_DISPLAY_EMOTE_OR_CHAT_TEXT_IN_A_CHAT_BUBBLE = 0x00000008,
+ CREATURE_TYPE_FLAG_2_NO_DEATH_THUD = 0x00000010,
+ CREATURE_TYPE_FLAG_2_NO_INTERACT_ON_LEFT_CLICK = 0x00000020,
CREATURE_TYPE_FLAG_2_UNK7 = 0x00000040,
CREATURE_TYPE_FLAG_2_UNK8 = 0x00000080
};