33 #define WORLD_TRIGGER 12999
125 #define MAX_SPELLMOD 38
186 const_iterator
end()
const
200 #define BASE_MINDAMAGE 1.0f
201 #define BASE_MAXDAMAGE 2.0f
202 #define BASE_ATTACK_TIME 2000
303 #define MAX_SHEATH_STATE 3
325 #define MAX_SPELL_CHARM 4
326 #define MAX_SPELL_VEHICLE 6
327 #define MAX_SPELL_POSSESS 8
328 #define MAX_SPELL_CONTROL_BAR 10
330 #define MAX_AGGRO_RESET_TIME 10 // in seconds
331 #define MAX_AGGRO_RADIUS 45.0f // yards
610 #define MAX_MOVE_TYPE 9
658 #define MAX_COMBAT_RATING 31
938 void ModifyDamage(
int32 amount);
939 void AbsorbDamage(
uint32 amount);
940 void ResistDamage(
uint32 amount);
941 void BlockDamage(
uint32 amount);
967 : _healer(healer), _target(target), _heal(heal), _absorb(0), _spellInfo(spellInfo), _schoolMask(schoolMask) { }
1099 #define MAX_DECLINED_NAME_CASES 5
1114 #define CURRENT_FIRST_NON_MELEE_SPELL 1
1115 #define CURRENT_MAX_SPELL 4
1144 #define UNIT_ACTION_BUTTON_ACTION(X) (uint32(X) & 0x00FFFFFF)
1145 #define UNIT_ACTION_BUTTON_TYPE(X) ((uint32(X) & 0xFF000000) >> 24)
1146 #define MAKE_UNIT_ACTION_BUTTON(A, T) (uint32(A) | (uint32(T) << 24))
1199 #define MAX_UNIT_ACTION_BAR_INDEX (ACTION_BAR_INDEX_END-ACTION_BAR_INDEX_START)
1206 void RestoreState();
1208 void SetPetNumber(
uint32 petnumber,
bool statwindow);
1214 void InitPossessCreateSpells();
1215 void InitCharmCreateSpells();
1216 void InitPetActionBar();
1217 void InitEmptyActionBar(
bool withAttack =
true);
1221 bool RemoveSpellFromActionBar(
uint32 spell_id);
1222 void LoadPetActionBar(
const std::string& data);
1224 void SetSpellAutocast(
SpellInfo const* spellInfo,
bool state);
1227 PetActionBar[index].SetActionAndType(spellOrAction, type);
1231 void ToggleCreatureAutocast(
SpellInfo const* spellInfo,
bool apply);
1235 void SetIsCommandAttack(
bool val);
1236 bool IsCommandAttack();
1237 void SetIsCommandFollow(
bool val);
1238 bool IsCommandFollow();
1239 void SetIsAtStay(
bool val);
1241 void SetIsFollowing(
bool val);
1243 void SetIsReturning(
bool val);
1245 void SaveStayPosition();
1246 void GetStayPosition(
float &
x,
float &
y,
float &
z);
1252 CharmSpellInfo _charmspells[4];
1270 #define REACTIVE_TIMER_START 4000
1279 #define MAX_REACTIVE 3
1280 #define SUMMON_SLOT_PET 0
1281 #define SUMMON_SLOT_TOTEM 1
1282 #define MAX_TOTEM_SLOT 5
1283 #define SUMMON_SLOT_MINIPET 5
1284 #define SUMMON_SLOT_QUEST 6
1285 #define MAX_SUMMON_SLOT 7
1287 #define MAX_GAMEOBJECT_SLOT 4
1297 #define MAX_EQUIPMENT_ITEMS 3
1300 #define ATTACK_DISPLAY_DELAY 200
1301 #define MAX_PLAYER_STEALTH_DETECT_RANGE 30.0f // max distance for detection targets by player
1312 typedef std::pair<AuraMap::const_iterator, AuraMap::const_iterator>
AuraMapBounds;
1337 void CleanupBeforeRemoveFromMap(
bool finalCleanup);
1349 float GetSpellMaxRangeForTarget(
Unit const* target,
SpellInfo const* spellInfo)
const;
1350 float GetSpellMinRangeForTarget(
Unit const* target,
SpellInfo const* spellInfo)
const;
1358 bool haveOffhandWeapon()
const;
1362 float GetMeleeReach()
const;
1363 bool IsWithinCombatRange(
const Unit* obj,
float dist2compare)
const;
1364 bool IsWithinMeleeRange(
const Unit* obj,
float dist =
MELEE_RANGE)
const;
1365 void GetRandomContactPoint(
const Unit* target,
float &
x,
float &
y,
float &
z,
float distance2dMin,
float distance2dMax)
const;
1369 void _addAttacker(
Unit* pAttacker);
1370 void _removeAttacker(
Unit* pAttacker);
1371 Unit* getAttackerForHelper()
const;
1372 bool Attack(
Unit* victim,
bool meleeAttack);
1374 void CastStop(
uint32 except_spellid = 0);
1376 void RemoveAllAttackers();
1378 bool isAttackingPlayer()
const;
1387 void CombatStop(
bool includingCast =
false);
1388 void CombatStopWithPets(
bool includingCast =
false);
1389 void StopAttackFaction(
uint32 faction_id);
1391 void SendMeleeAttackStop(
Unit* victim =
NULL);
1392 void SendMeleeAttackStart(
Unit* victim);
1397 bool CanFreeMove()
const;
1410 void SetLevel(
uint8 lvl);
1434 float GetHealthPct()
const {
return GetMaxHealth() ? 100.f * GetHealth() / GetMaxHealth() : 0.0f; }
1438 void SetHealth(
uint32 val);
1439 void SetMaxHealth(
uint32 val);
1445 void setPowerType(
Powers power);
1449 float GetPowerPct(
Powers power)
const {
return GetMaxPower(power) ? 100.f * GetPower(power) / GetMaxPower(power) : 0.0f; }
1460 void ApplyCastTimePercentMod(
float val,
bool apply);
1473 bool IsHostileTo(
Unit const* unit)
const;
1474 bool IsHostileToPlayers()
const;
1475 bool IsFriendlyTo(
Unit const* unit)
const;
1476 bool IsNeutralToAll()
const;
1477 bool IsInPartyWith(
Unit const* unit)
const;
1478 bool IsInRaidWith(
Unit const* unit)
const;
1479 void GetPartyMembers(std::list<Unit*> &units);
1480 bool IsContestedGuard()
const;
1483 virtual void SetPvP(
bool state);
1485 uint32 GetCreatureType()
const;
1486 uint32 GetCreatureTypeMask()
const;
1489 bool IsSitState()
const;
1490 bool IsStandState()
const;
1502 void SendDurabilityLoss(
Player* receiver,
uint32 percent);
1503 void PlayOneShotAnimKitId(
uint16 animKitId);
1504 void SetAIAnimKitId(
uint16 animKitId);
1506 void SetMovementAnimKitId(
uint16 animKitId);
1508 void SetMeleeAnimKitId(
uint16 animKitId);
1514 void Kill(
Unit* victim,
bool durabilityLoss =
true);
1515 void KillSelf(
bool durabilityLoss =
true) { Kill(
this, durabilityLoss); }
1521 void GetProcAurasTriggeredOnEvent(AuraApplicationList& aurasTriggeringProc, AuraApplicationList* procAuras,
ProcEventInfo eventInfo);
1523 void TriggerAurasProcOnEvent(AuraApplicationList* myProcAuras, AuraApplicationList* targetProcAuras,
1527 void TriggerAurasProcOnEvent(
ProcEventInfo& eventInfo, AuraApplicationList& procAuras);
1529 void HandleEmoteCommand(
uint32 anim_id);
1533 void DealMeleeDamage(
CalcDamageInfo* damageInfo,
bool durabilityLoss);
1534 void HandleProcExtraAttackFor(
Unit* victim);
1542 void ApplyResilience(
Unit const* victim,
int32* damage)
const;
1549 float GetUnitDodgeChanceAgainst(
Unit const* attacker)
const;
1550 float GetUnitParryChanceAgainst(
Unit const* attacker)
const;
1551 float GetUnitBlockChanceAgainst(
Unit const* attacker)
const;
1555 bool CanUseAttackType(
uint8 attacktype)
const;
1559 float GetWeaponProcChance()
const;
1560 float GetPPMProcChance(
uint32 WeaponSpeed,
float PPM,
const SpellInfo* spellProto)
const;
1578 bool IsServiceProvider()
const;
1585 bool IsInCombatWith(
Unit const* who)
const;
1586 void CombatStart(
Unit* target,
bool initialAggro =
true);
1587 void SetInCombatState(
bool PvP,
Unit* enemy =
NULL);
1588 void SetInCombatWith(
Unit* enemy);
1589 void ClearInCombat();
1592 bool HasAuraTypeWithFamilyFlags(
AuraType auraType,
uint32 familyName,
uint32 familyFlags)
const;
1594 bool HasBreakableByDamageAuraType(
AuraType type,
uint32 excludeAura = 0)
const;
1595 bool HasBreakableByDamageCrowdControlAura(
Unit* excludeCasterChannel =
NULL)
const;
1601 bool IsPolymorphed()
const;
1603 bool isFrozen()
const;
1605 bool isTargetableForAttack(
bool checkFakeDeath =
true)
const;
1607 bool IsValidAttackTarget(
Unit const* target)
const;
1610 bool IsValidAssistTarget(
Unit const* target)
const;
1611 bool _IsValidAssistTarget(
Unit const* target,
SpellInfo const* bySpell)
const;
1613 virtual bool IsInWater()
const;
1614 virtual bool IsUnderWater()
const;
1615 virtual void UpdateUnderwaterState(
Map* m,
float x,
float y,
float z);
1616 bool isInAccessiblePlaceFor(
Creature const* c)
const;
1646 void SendSpellDamageResist(
Unit* target,
uint32 spellId);
1647 void SendSpellDamageImmune(
Unit* target,
uint32 spellId,
bool isPeriodic);
1649 void NearTeleportTo(
float x,
float y,
float z,
float orientation,
bool casting =
false);
1650 void SendTeleportPacket(
Position& pos);
1651 virtual bool UpdatePosition(
float x,
float y,
float z,
float ang,
bool teleport =
false);
1653 virtual bool UpdatePosition(
const Position &pos,
bool teleport =
false);
1654 void UpdateOrientation(
float orientation);
1655 void UpdateHeight(
float newZ);
1657 void SendMoveKnockBack(
Player* player,
float speedXY,
float speedZ,
float vcos,
float vsin);
1658 void KnockbackFrom(
float x,
float y,
float speedXY,
float speedZ);
1659 void JumpTo(
float speedXY,
float speedZ,
bool forward =
true);
1660 void JumpTo(
WorldObject* obj,
float speedZ,
bool withOrientation =
false);
1662 void MonsterMoveWithSpeed(
float x,
float y,
float z,
float speed,
bool generatePath =
false,
bool forceDestination =
false);
1665 void SendSetPlayHoverAnim(
bool enable);
1670 bool SetWalk(
bool enable);
1671 bool SetDisableGravity(
bool disable,
bool packetOnly =
false);
1672 bool SetFall(
bool enable);
1673 bool SetSwim(
bool enable);
1674 bool SetCanFly(
bool enable);
1675 bool SetWaterWalking(
bool enable,
bool packetOnly =
false);
1676 bool SetFeatherFall(
bool enable,
bool packetOnly =
false);
1677 bool SetHover(
bool enable,
bool packetOnly =
false);
1678 bool SetCollision(
bool disable);
1679 void SendSetVehicleRecId(
uint32 vehicleId);
1682 void SetFacingTo(
float ori);
1683 void SetFacingToObject(
WorldObject const*
object);
1686 void SendClearThreatListOpcode();
1688 void SendThreatListUpdate();
1690 void SendClearTarget();
1714 ObjectGuid GetCharmerOrOwnerOrOwnGUID()
const;
1717 Player* GetSpellModOwner()
const;
1719 Unit* GetOwner()
const;
1721 Minion* GetFirstMinion()
const;
1722 Unit* GetCharmer()
const;
1723 Unit* GetCharm()
const;
1724 Unit* GetCharmerOrOwner()
const;
1725 Unit* GetCharmerOrOwnerOrSelf()
const;
1726 Player* GetCharmerOrOwnerPlayerOrPlayerItself()
const;
1727 Player* GetAffectingPlayer()
const;
1730 void GetAllMinionsByEntry(std::list<TempSummon*>& Minions,
uint32 entry);
1731 void RemoveAllMinionsByEntry(
uint32 entry);
1732 void SetCharm(
Unit* target,
bool apply);
1733 Unit* GetNextRandomRaidMemberOrPet(
float radius);
1735 void RemoveCharmedBy(
Unit* charmer);
1736 void RestoreFaction();
1739 Unit* GetFirstControlled()
const;
1740 void RemoveAllControlled();
1742 bool IsCharmed()
const {
return !GetCharmerGUID().IsEmpty(); }
1744 bool isPossessedByPlayer()
const;
1745 bool isPossessing()
const;
1746 bool isPossessing(
Unit* u)
const;
1750 void DeleteCharmInfo();
1751 void UpdateCharmAI();
1755 void AddPlayerToVision(
Player* player);
1756 void RemovePlayerFromVision(
Player* player);
1758 void RemoveBindSightAuras();
1759 void RemoveCharmAuras();
1769 void _ApplyAuraEffect(
Aura* aura,
uint8 effIndex);
1771 void _UnapplyAura(AuraApplicationMap::iterator &i,
AuraRemoveMode removeMode);
1773 void _RemoveNoStackAuraApplicationsDueToAura(
Aura* aura);
1774 void _RemoveNoStackAurasDueToAura(
Aura* aura);
1775 bool _IsNoStackAuraDueToAura(
Aura* appliedAura,
Aura* existingAura)
const;
1799 void RemoveOwnedAuras(std::function<
bool(
Aura const*)>
const&
check);
1803 void RemoveOwnedAuras(
uint32 spellId, std::function<
bool(
Aura const*)>
const&
check);
1813 void RemoveNotOwnSingleTargetAuras(
uint32 newPhase = 0x0,
bool phaseid =
false);
1814 void RemoveAurasWithInterruptFlags(
uint32 flag,
uint32 except = 0);
1818 void RemoveMovementImpairingAuras();
1820 void RemoveAreaAurasDueToLeaveWorld();
1821 void RemoveAllAuras();
1822 void RemoveArenaAuras();
1823 void RemoveAllAurasOnDeath();
1824 void RemoveAllAurasRequiringDeadTarget();
1825 void RemoveAllAurasExceptType(
AuraType type);
1829 void _RemoveAllAuraStatMods();
1830 void _ApplyAllAuraStatMods();
1848 void GetDispellableAuraList(
Unit* caster,
uint32 dispelMask, DispelChargesList& dispelList);
1853 bool HasAuraType(
AuraType auraType)
const;
1855 bool HasAuraTypeWithMiscvalue(
AuraType auratype,
int32 miscvalue)
const;
1856 bool HasAuraTypeWithAffectMask(
AuraType auratype,
SpellInfo const* affectedSpell)
const;
1860 bool HasAuraWithMechanic(
uint32 mechanicMask)
const;
1867 float GetTotalAuraMultiplier(
AuraType auratype)
const;
1872 float GetTotalAuraMultiplierByMiscMask(
AuraType auratype,
uint32 misc_mask)
const;
1877 float GetTotalAuraMultiplierByMiscValue(
AuraType auratype,
int32 misc_value)
const;
1878 int32 GetMaxPositiveAuraModifierByMiscValue(
AuraType auratype,
int32 misc_value)
const;
1879 int32 GetMaxNegativeAuraModifierByMiscValue(
AuraType auratype,
int32 misc_value)
const;
1882 float GetTotalAuraMultiplierByAffectMask(
AuraType auratype,
SpellInfo const* affectedSpell)
const;
1886 float GetResistanceBuffMods(
SpellSchools school,
bool positive)
const;
1887 void SetResistanceBuffMods(
SpellSchools school,
bool positive,
float val);
1888 void ApplyResistanceBuffModsMod(
SpellSchools school,
bool positive,
float val,
bool apply);
1889 void ApplyResistanceBuffModsPercentMod(
SpellSchools school,
bool positive,
float val,
bool apply);
1890 void InitStatBuffMods();
1891 void ApplyStatBuffMod(
Stats stat,
float val,
bool apply);
1892 void ApplyStatPercentBuffMod(
Stats stat,
float val,
bool apply);
1907 void SetCurrentCastSpell(
Spell* pSpell);
1908 void InterruptSpell(
CurrentSpellTypes spellType,
bool withDelayed =
true,
bool withInstant =
true);
1914 bool IsNonMeleeSpellCast(
bool withDelayed,
bool skipChanneled =
false,
bool skipAutorepeat =
false,
bool isAutoshoot =
false,
bool skipInstant =
true)
const;
1918 void InterruptNonMeleeSpells(
bool withDelayed,
uint32 spellid = 0,
bool withInstant =
true);
1922 Spell* FindCurrentSpellBySpellId(
uint32 spell_id)
const;
1923 int32 GetCurrentSpellCastTime(
uint32 spell_id)
const;
1935 bool IsInFeralForm()
const;
1937 bool IsInDisallowedMountForm()
const;
1945 float m_modAttackSpeedPct[3];
1954 float GetTotalStatValue(
Stats stat)
const;
1955 float GetTotalAuraModValue(
UnitMods unitMod)
const;
1961 virtual bool UpdateStats(
Stats stat) = 0;
1962 virtual bool UpdateAllStats() = 0;
1963 virtual void UpdateResistances(
uint32 school) = 0;
1964 virtual void UpdateAllResistances();
1965 virtual void UpdateArmor() = 0;
1966 virtual void UpdateMaxHealth() = 0;
1967 virtual void UpdateMaxPower(
Powers power) = 0;
1968 virtual void UpdateAttackPowerAndDamage(
bool ranged =
false) = 0;
1973 virtual void CalculateMinMaxDamage(
WeaponAttackType attType,
bool normalized,
bool addTotalPct,
float& minDamage,
float& maxDamage) = 0;
1977 bool isInFrontInMap(
Unit const* target,
float distance,
float arc =
float(
M_PI))
const;
1978 bool isInBackInMap(
Unit const* target,
float distance,
float arc =
float(
M_PI))
const;
1981 bool IsVisible()
const;
1982 void SetVisible(
bool x);
1992 bool CanHaveThreatList(
bool skipAliveCheck =
false)
const;
1995 void DeleteThreatList();
1996 void TauntApply(
Unit* victim);
1997 void TauntFadeOut(
Unit* taunter);
2006 void RemoveVisibleAura(
uint8 slot);
2010 void UpdateInterruptMask();
2013 virtual void SetDisplayId(
uint32 modelId);
2015 void RestoreDisplayId();
2024 void RemoveDynObject(
uint32 spellId);
2025 void RemoveAllDynObjects();
2029 void RemoveGameObject(
GameObject* gameObj,
bool del);
2030 void RemoveGameObject(
uint32 spellid,
bool del);
2031 void RemoveAllGameObjects();
2034 uint32 BuildAuraStateUpdateForTarget(
Unit* target)
const;
2036 void UnsummonAllTotems();
2037 bool IsMagnet()
const;
2049 float SpellHealingPctDone(
Unit* victim,
SpellInfo const* spellProto)
const;
2056 bool isBlockCritical();
2062 void SetContestedPvP(
Player* attackedPlayer =
NULL);
2071 virtual bool IsImmunedToSpell(
SpellInfo const* spellInfo)
const;
2072 uint32 GetSchoolImmunityMask()
const;
2073 uint32 GetMechanicImmunityMask()
const;
2076 bool IsImmunedToDamage(
SpellInfo const* spellInfo)
const;
2077 virtual bool IsImmunedToSpellEffect(
SpellInfo const* spellInfo,
uint32 index)
const;
2088 void SetSpeed(
UnitMoveType mtype,
float rate,
bool forced =
false);
2090 float ApplyEffectModifiers(
SpellInfo const* spellProto,
uint8 effect_index,
float value)
const;
2091 int32 CalculateSpellDamage(
Unit const* target,
SpellInfo const* spellProto,
uint8 effect_index,
int32 const* basePoints =
nullptr,
float* variance =
nullptr,
int32 itemLevel = -1)
const;
2096 float CalculateLevelPenalty(
SpellInfo const* spellProto)
const;
2118 bool IsSplineEnabled()
const;
2120 float GetPositionZMinusOffset()
const;
2125 void SendPetActionFeedback (
uint8 msg);
2126 void SendPetTalk (
uint32 pettalk);
2133 void ClearAllReactives();
2135 void UpdateReactives(
uint32 p_time);
2138 void UpdateAuraForGroup(
uint8 slot);
2142 void SetCantProc(
bool apply);
2147 void AddPetAura(
PetAura const* petSpell);
2148 void RemovePetAura(
PetAura const* petSpell);
2158 Unit* GetRedirectThreatTarget();
2163 bool CreateVehicleKit(
uint32 id,
uint32 creatureEntry,
bool loading =
false);
2164 void RemoveVehicleKit(
bool onRemoveFromWorld =
false);
2168 bool IsOnVehicle(
const Unit* vehicle)
const;
2169 Unit* GetVehicleBase()
const;
2170 Creature* GetVehicleCreatureBase()
const;
2177 bool HandleSpellClick(
Unit* clicker,
int8 seatId = -1);
2178 void EnterVehicle(
Unit* base,
int8 seatId = -1);
2180 void ChangeSeat(
int8 seatId,
bool next =
true);
2183 void _ExitVehicle(
Position const* exitPosition =
NULL);
2188 virtual bool CanFly()
const = 0;
2190 bool IsFalling()
const;
2192 void RewardRage(
uint32 baseRage,
bool attacker);
2196 void OutDebugInfo()
const;
2210 virtual void SetTarget(
ObjectGuid const& ) = 0;
2219 int32 GetHighestExclusiveSameEffectSpellGroupValue(
AuraEffect const* aurEff,
AuraType auraType,
bool checkMiscValue =
false,
int32 miscValue = 0)
const;
2220 bool IsHighestExclusiveAura(
Aura const* aura,
bool removeOtherAuraApplications =
false);
2225 virtual void TextEmote(std::string
const& text,
WorldObject const* target =
nullptr,
bool isBossEmote =
false);
2226 virtual void Whisper(std::string
const& text,
Language language,
Player* target,
bool isBossWhisper =
false);
2230 void TextEmote(
uint32 textId,
WorldObject const* target =
nullptr,
bool isBossEmote =
false);
2231 void Whisper(
uint32 textId,
Player* target,
bool isBossWhisper =
false);
2237 explicit Unit (
bool isWorldObject);
2244 void _UpdateSpells(
uint32 time);
2245 void _DeleteRemovedAuras();
2247 void _UpdateAutoRepeatSpell();
2313 void DisableSpline();
2320 bool HandleAuraRaidProcFromChargeWithValue(
AuraEffect* triggeredByAura);
2321 bool HandleAuraRaidProcFromCharge(
AuraEffect* triggeredByAura);
2323 void UpdateSplineMovement(
uint32 t_diff);
2324 void UpdateSplinePosition();
2331 void SetFeared(
bool apply);
2332 void SetConfused(
bool apply);
2333 void SetStunned(
bool apply);
2334 void SetRooted(
bool apply,
bool packetOnly =
false);
AuraList m_removedAuras
Definition: Unit.h:2275
bool HasStealthAura() const
Definition: Unit.h:1597
AuraType
Definition: SpellAuraDefines.h:58
bool HealthAbovePctHealed(int32 pct, uint32 heal) const
Definition: Unit.h:1433
UnitMoveType
Definition: Unit.h:597
Definition: MoveSpline.h:49
Definition: SpellAuraEffects.h:30
uint32 GetCreateMana() const
Definition: Unit.h:1897
bool IsBanker() const
Definition: Unit.h:1571
void setAttackTimer(WeaponAttackType type, uint32 time)
Definition: Unit.h:1354
time_t GetLastDamagedTime() const
Definition: Unit.h:2216
Definition: TemporarySummon.h:83
bool IsVendor() const
Definition: Unit.h:1564
ShapeshiftForm
Definition: Unit.h:260
BaseModGroup
Definition: Unit.h:523
uint32 SpellID
Definition: Unit.h:1048
uint32 procAttacker
Definition: Unit.h:1034
uint32 GetDispellerSpellId() const
Definition: Unit.h:895
Unit * EnsureVictim() const
Definition: Unit.h:1381
Movement flags that have change status opcodes associated for players.
Definition: Unit.h:830
uint32 GetThreatPct() const
Definition: Unit.h:1084
EventProcessor m_Events
Definition: Unit.h:1948
void SetActionAndType(uint32 action, ActiveStates type)
Definition: Unit.h:1163
uint32 GetDamageReduction(uint32 damage) const
Definition: Unit.h:1540
Spell * _spell
Definition: Unit.h:1014
uint32 m_removedAurasCount
Definition: Unit.h:2277
uint32 GetAction() const
Definition: Unit.h:1156
ObjectGuid _targetGUID
Definition: Unit.h:1080
const MotionMaster * GetMotionMaster() const
Definition: Unit.h:2102
bool IsFlying() const
Definition: Unit.h:2189
uint32 GetSpellTypeMask() const
Definition: Unit.h:996
Definition: UpdateFields.h:118
const_iterator end() const
Definition: Unit.h:186
UnitPVPStateFlags
Definition: Unit.h:306
void SetStat(Stats stat, int32 val)
Definition: Unit.h:1418
uint32 GetUInt32Value(uint16 index) const
Definition: Object.cpp:300
bool HasUnitMovementFlag(uint32 f) const
Definition: Unit.h:2109
Unit * attacker
Definition: Unit.h:1023
Definition: UpdateFields.h:89
uint16 _meleeAnimKitId
Definition: Unit.h:2360
#define MAX_MOVE_TYPE
Definition: Unit.h:610
Will ignore caster aura states including combat requirements and death state.
Definition: Unit.h:473
#define MAX_GAMEOBJECT_SLOT
Definition: Unit.h:1287
static ObjectGuid const Empty
Definition: ObjectGuid.h:196
Definition: ByteBuffer.h:70
UnitStandFlags
Definition: Unit.h:220
int8_t int8
Definition: Define.h:148
Definition: TemporarySummon.h:40
void KillSelf(bool durabilityLoss=true)
Definition: Unit.h:1515
bool m_ControlledByPlayer
Definition: Unit.h:2175
uint32 GetMaxHealth() const
Definition: Unit.h:1427
float m_modMeleeHitChance
Definition: Unit.h:1939
Definition: UpdateFields.h:146
uint8 _chargesRemoved
Definition: Unit.h:904
#define UNIT_ACTION_BUTTON_TYPE(X)
Definition: Unit.h:1145
bool IsSpiritHealer() const
Definition: Unit.h:1573
Definition: UpdateFields.h:84
AuraMap m_ownedAuras
Definition: Unit.h:2273
uint8 getLevelForTarget(WorldObject const *) const override
Definition: Unit.h:1409
uint32 createProcExtendMask(SpellNonMeleeDamage *damageInfo, SpellMissInfo missCondition)
Definition: Unit.cpp:12194
bool const _ascending
Definition: Unit.h:2419
std::list< DynamicObject * > DynObjectList
Definition: Unit.h:2263
bool _isCommandAttack
Definition: Unit.h:1259
SpellModOp
Definition: Unit.h:84
ActiveStates GetType() const
Definition: Unit.h:1155
ReputationRank
Definition: SharedDefines.h:211
std::list< GameObject * > GameObjectList
Definition: Unit.h:2266
std::pair< SpellValueMod, int32 > CustomSpellValueMod
Definition: Unit.h:169
bool IsArmorer() const
Definition: Unit.h:1577
ObjectGuid GetCharmGUID() const
Definition: Unit.h:1706
uint32 _absorb
Definition: Unit.h:961
uint32 GetDisplayId() const
Definition: Unit.h:2012
bool IsVehicle() const
Definition: Unit.h:1406
Definition: SpellAuraDefines.h:543
Definition: UpdateFields.h:96
AuraEffect const * auraEff
Definition: Unit.h:1066
CurrentSpellTypes
Definition: Unit.h:1106
void SetMinionGUID(ObjectGuid guid)
Definition: Unit.h:1703
VisibleAuraMap m_visibleAuras
Definition: Unit.h:2288
uint32 GetUnitMovementFlags() const
Definition: Unit.h:2110
SpellSchoolMask
Definition: SharedDefines.h:285
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
Definition: Unit.h:1431
virtual bool IsLoading() const
Definition: Unit.h:2197
UnitMods
Definition: Unit.h:482
bool IsControlledByPlayer() const
Definition: Unit.h:1712
#define M_PI
Definition: Common.h:163
Definition: SpellInfo.h:326
uint32 getFaction() const
Definition: Unit.h:1466
SpellHistory * _spellHistory
Definition: Unit.h:2364
bool IsTaxi() const
Definition: Unit.h:1568
uint32 blocked_amount
Definition: Unit.h:1029
void SetModifierValue(UnitMods unitMod, UnitModifierType modifierType, float value)
Definition: Unit.h:1952
uint16 GetMaxSkillValueForLevel(Unit const *target=NULL) const
Definition: Unit.h:1511
void AddUnitState(uint32 f)
Definition: Unit.h:1394
uint16 GetMovementAnimKitId() const override
Definition: Unit.h:1507
DamageInfo * _damageInfo
Definition: Unit.h:1015
bool m_shouldReacquireTarget
Definition: Unit.h:2257
bool CanProc() const
Definition: Unit.h:2141
float GetPosStat(Stats stat) const
Definition: Unit.h:1900
uint32 HitInfo
Definition: Unit.h:1030
void SetAttackTime(WeaponAttackType att, uint32 val)
Definition: Unit.h:1458
virtual void DestroyForPlayer(Player *target) const
Definition: Object.cpp:283
bool m_duringRemoveFromWorld
Definition: Unit.h:2353
float GetNegStat(Stats stat) const
Definition: Unit.h:1901
StorageType::const_iterator const_iterator
Definition: Unit.h:173
float _stayY
Definition: Unit.h:1265
SharedVisionList const & GetSharedVisionList()
Definition: Unit.h:1754
UnitModifierType
Definition: Unit.h:432
CharmSpellInfo * GetCharmSpell(uint8 index)
Definition: Unit.h:1233
Definition: SpellAuraDefines.h:76
Pet * ToPet()
Definition: Unit.h:2200
Unit * attacker
Definition: Unit.h:1047
CleanDamage(uint32 mitigated, uint32 absorbed, WeaponAttackType _attackType, MeleeHitOutcome _hitOutCome)
Definition: Unit.h:909
bool isInRoots() const
Definition: Unit.h:1600
void RemoveStandFlags(uint8 flags)
Definition: Unit.h:1494
Unit * GetHealer() const
Definition: Unit.h:976
int32 m_baseSpellCritChance
Definition: Unit.h:1942
Will ignore shapeshift checks.
Definition: Unit.h:472
bool const _ascending
Definition: Unit.h:2393
Movement::MoveSpline * movespline
Definition: Unit.h:2213
void addHatedBy(HostileReference *pHostileReference)
Definition: Unit.h:1999
uint32 procVictim
Definition: Unit.h:1035
uint32 hitTime
Definition: Unit.h:878
uint32 overDamage
Definition: Unit.h:1068
SharedVisionList m_sharedVision
Definition: Unit.h:2293
int next(int i, int n)
Definition: RecastContour.cpp:469
WeaponAttackType attackType
Definition: Unit.h:915
bool periodicLog
Definition: Unit.h:1053
AuraMap & GetOwnedAuras()
Definition: Unit.h:1779
bool IsPvP() const
Definition: Unit.h:1481
AuraStateType
Definition: SharedDefines.h:1754
Will ignore caster aura restrictions or requirements.
Definition: Unit.h:475
AuraStateAurasMap m_auraStateAuras
Definition: Unit.h:2282
uint32 resist
Definition: Unit.h:1028
void ModifyThreatPct(int32 amount)
Definition: Unit.h:1092
bool IsBattleMaster() const
Definition: Unit.h:1570
MotionMaster * GetMotionMaster()
Definition: Unit.h:2101
uint32 GetSpellPhaseMask() const
Definition: Unit.h:997
Definition: SpellAuras.h:50
SpellValueMod
Definition: Unit.h:127
bool operator()(WorldObject const *objA, WorldObject const *objB) const
Definition: Unit.h:2402
uint32 GetHitMask() const
Definition: Unit.h:998
bool IsInCombat() const
Definition: Unit.h:1584
TC_SHARED_API::google::protobuf::internal::ExtensionIdentifier< ::google::protobuf::FieldOptions,::google::protobuf::internal::EnumTypeTraits< ::bgs::protocol::LogOption,::bgs::protocol::LogOption_IsValid >, 14, false > log
Powers const _power
Definition: Unit.h:2392
Definition: UpdateFields.h:101
CharmInfo * m_charmInfo
Definition: Unit.h:2292
std::list< AuraEffect * > AuraEffectList
Definition: Unit.h:1322
UnitActionBarEntry()
Definition: Unit.h:1150
Vehicle * m_vehicleKit
Definition: Unit.h:2305
void SetRedirectThreat(ObjectGuid guid, uint32 pct)
Definition: Unit.h:2154
Talk
Definition: boss_noth.cpp:41
Definition: SpellAuraDefines.h:67
virtual void Update(uint32)
Definition: Object.h:430
void SetCreateHealth(uint32 val)
Definition: Unit.h:1894
bool HasByteFlag(uint16 index, uint8 offset, uint8 flag) const
Definition: Object.cpp:1298
Definition: UpdateFields.h:85
virtual bool HasSpell(uint32) const
Definition: Unit.h:1593
DiminishingGroup
Definition: SharedDefines.h:4369
Stats
Definition: SharedDefines.h:235
uint32 m_lastSanctuaryTime
Definition: Unit.h:1989
ChatMsg
Definition: SharedDefines.h:4228
void SetAI(UnitAI *newAI)
Definition: Unit.h:1332
uint32 mitigated_damage
Definition: Unit.h:913
void SetCanModifyStats(bool modifyStats)
Definition: Unit.h:1960
bool IsInFlight() const
Definition: Unit.h:1582
UnitTypeMask
Definition: Unit.h:855
arena_t NULL
Definition: jemalloc_internal.h:624
uint16 GetMeleeAnimKitId() const override
Definition: Unit.h:1509
#define UNIT_ACTION_BUTTON_ACTION(X)
Definition: Unit.h:1144
Definition: boss_warbringer_omrogg.cpp:70
void SetUInt32Value(uint16 index, uint32 value)
Definition: Object.cpp:996
Diminishing m_Diminishing
Definition: Unit.h:2344
AuraList const & GetSingleCastAuras() const
Definition: Unit.h:1834
SpellSchools
Definition: SharedDefines.h:272
Definition: UpdateFields.h:82
std::list< Aura * > AuraList
Definition: Unit.h:1323
TC_GAME_API float playerBaseMoveSpeed[MAX_MOVE_TYPE]
Definition: Unit.cpp:88
uint32 m_absorb
Definition: Unit.h:931
WeaponAttackType m_attackType
Definition: Unit.h:930
Definition: UpdateFields.h:97
ObjectGuid GetCharmerGUID() const
Definition: Unit.h:1704
uint16 _aiAnimKitId
Definition: Unit.h:2358
Will ignore most target checks (mostly DBC target checks)
Definition: Unit.h:479
Definition: Transport.h:28
CommandStates _CommandState
Definition: Unit.h:1253
void SetRemovedCharges(uint8 amount)
Definition: Unit.h:897
bool m_AutoRepeatFirstCast
Definition: Unit.h:2249
Will ignore Spell and Category cooldowns.
Definition: Unit.h:463
UnitBytes1Offsets
Definition: Unit.h:237
uint32 packedData
Definition: Unit.h:1152
Vehicle * m_vehicle
Definition: Unit.h:2304
PlayerTotemType
Definition: Unit.h:1289
void SetNativeDisplayId(uint32 modelId)
Definition: Unit.h:2016
bool m_cleanupDone
Definition: Unit.h:2352
Definition: ThreatManager.h:201
uint64_t uint64
Definition: g3dmath.h:170
virtual void CleanupsBeforeDelete(bool finalCleanup=true)
Definition: Object.cpp:1506
bool IsLevitating() const
Definition: Unit.h:1667
TimeTrackerSmall m_movesplineTimer
Definition: Unit.h:2342
Definition: Creature.h:467
Definition: FollowerReference.h:27
DispelType
Definition: SharedDefines.h:1836
RedirectThreatInfo()
Definition: Unit.h:1079
uint32 spellId
Definition: Unit.h:427
Not triggered.
Definition: Unit.h:461
bool critical
Definition: Unit.h:1072
UnitActionBarEntry const * GetActionBarEntry(uint8 index) const
Definition: Unit.h:1229
void SetGuidValue(uint16 index, ObjectGuid const &value)
Definition: Object.cpp:1120
DispelInfo(Unit *dispeller, uint32 dispellerSpellId, uint8 chargesRemoved)
Definition: Unit.h:891
ObjectGuid GetMinionGUID() const
Definition: Unit.h:1702
void RemoveExtraUnitMovementFlag(uint16 f)
Definition: Unit.h:2114
Definition: UpdateFields.h:145
uint32 GetHeal() const
Definition: Unit.h:978
bool _isAtStay
Definition: Unit.h:1261
#define MAX_DECLINED_NAME_CASES
Definition: Unit.h:1099
uint16 stack
Definition: Unit.h:877
void SetStatInt32Value(uint16 index, int32 value)
Definition: Object.cpp:1143
Unit * GetActionTarget() const
Definition: Unit.h:992
uint32 cleanDamage
Definition: Unit.h:1057
Definition: SpellAuraDefines.h:86
std::list< std::pair< Aura *, uint8 > > DispelChargesList
Definition: Unit.h:422
int32 GetPower(Powers power) const
Definition: Unit.cpp:11589
Will ignore GCD.
Definition: Unit.h:462
Unit * _dispellerUnit
Definition: Unit.h:902
ObjectGuid GetPetGUID() const
Definition: Unit.h:1708
bool IsHovering() const
Definition: Unit.h:1669
void apply(T *val)
Definition: ByteConverter.h:41
MeleeHitOutcome hitOutCome
Definition: Unit.h:1038
void AddExtraUnitMovementFlag(uint16 f)
Definition: Unit.h:2113
std::pair< AuraMap::iterator, AuraMap::iterator > AuraMapBoundsNonConst
Definition: Unit.h:1313
ShapeshiftForm GetShapeshiftForm() const
Definition: Unit.h:1932
uint32 m_transform
Definition: Unit.h:2269
Definition: UpdateFields.h:105
AuraApplicationList m_interruptableAuras
Definition: Unit.h:2281
uint32 _hitMask
Definition: Unit.h:1013
CharmInfo * GetCharmInfo()
Definition: Unit.h:1748
#define MAX_SPELL_SCHOOL
Definition: SharedDefines.h:283
uint32 absorb
Definition: Unit.h:1069
Will ignore combo point requirement.
Definition: Unit.h:468
UnitFlags2
Definition: Unit.h:709
Definition: SpellAuras.h:329
double distance(double x, double y)
Definition: g3dmath.h:731
bool operator()(WorldObject const *objA, WorldObject const *objB) const
Definition: Unit.h:2375
bool IsGuildMaster() const
Definition: Unit.h:1569
uint32 _oldFactionId
faction before charm
Definition: Unit.h:2355
time_t _lastDamagedTime
Definition: Unit.h:2362
uint32 m_state
Definition: Unit.h:2340
T max(const T &x, const T &y)
Definition: g3dmath.h:320
Definition: UpdateFields.h:113
HealInfo(Unit *healer, Unit *target, uint32 heal, SpellInfo const *spellInfo, SpellSchoolMask schoolMask)
Definition: Unit.h:966
void AddUnitMovementFlag(uint32 f)
Definition: Unit.h:2107
Definition: VehicleDefines.h:119
CommandStates
Definition: Unit.h:1135
TempSummon const * ToTempSummon() const
Definition: Unit.h:2207
void SetResistance(SpellSchools school, int32 val)
Definition: Unit.h:1424
uint32 procEx
Definition: Unit.h:1036
Unit *const m_victim
Definition: Unit.h:925
UnitAI * i_disabledAI
Definition: Unit.h:2242
void SetByteFlag(uint16 index, uint8 offset, uint8 newFlag)
Definition: Object.cpp:1252
uint8 getLevel() const
Definition: Unit.h:1408
ObjectGuid GetChannelObjectGuid() const
Definition: Unit.h:1904
int32 CountPctFromMaxPower(Powers power, int32 pct) const
Definition: Unit.h:1450
uint32 GetAbsorb() const
Definition: Unit.h:979
MeleeHitOutcome
Definition: Unit.h:882
#define MAX_SPELL_IMMUNITY
Definition: SharedDefines.h:1869
bool isMoving() const
Definition: Unit.h:2186
WeaponAttackType attackType
Definition: Unit.h:1033
MovementFlags2
Definition: Unit.h:834
void SetCommandState(CommandStates st)
Definition: Unit.h:1210
#define MAX_STATS
Definition: SharedDefines.h:244
virtual uint8 getLevelForTarget(WorldObject const *) const
Definition: Object.h:517
std::list< SpellImmune > SpellImmuneList
Definition: Unit.h:430
Definition: UpdateFields.h:92
int32 m_procDeep
Definition: Unit.h:2261
uint16 GetAIAnimKitId() const override
Definition: Unit.h:1505
TempSummon * ToTempSummon()
Definition: Unit.h:2206
void SetCharmerGUID(ObjectGuid owner)
Definition: Unit.h:1705
void setFaction(uint32 faction)
Definition: Unit.h:1467
bool IsSpiritGuide() const
Definition: Unit.h:1574
CharmType
Definition: Unit.h:1181
std::map< uint8, AuraApplication * > VisibleAuraMap
Definition: Unit.h:1327
Definition: DynamicObject.h:35
bool IsHunterPet() const
Definition: Unit.h:1404
CommandStates GetCommandState() const
Definition: Unit.h:1211
bool IsWalking() const
Definition: Unit.h:1668
float m_modSpellHitChance
Definition: Unit.h:1941
void ClearUnitState(uint32 f)
Definition: Unit.h:1396
std::list< DiminishingReturn > Diminishing
Definition: Unit.h:1325
uint32 getTransForm() const
Definition: Unit.h:2018
Powers getPowerType() const
Definition: Unit.h:1444
float GetCombatReach() const
Definition: Unit.h:1361
Totem * ToTotem()
Definition: Unit.h:2203
Pet const * ToPet() const
Definition: Unit.h:2201
Unit *const m_attacker
Definition: Unit.h:924
SpellSchoolMask GetSchoolMask() const
Definition: Unit.h:946
SpellInfo const *const _spellInfo
Definition: Unit.h:962
Definition: SpellHistory.h:42
Definition: TemporarySummon.h:66
void SetVehicle(Vehicle *vehicle)
Definition: Unit.h:2167
Definition: UpdateFields.h:137
Definition: SpellMgr.h:276
T min(const T &x, const T &y)
Definition: g3dmath.h:305
uint32 m_block
Definition: Unit.h:933
Will ignore interruptible aura's at cast.
Definition: Unit.h:470
SpellHistory * GetSpellHistory()
Definition: Unit.h:1926
Powers
Definition: SharedDefines.h:246
uint32 resist
Definition: Unit.h:1052
bool IsQuestGiver() const
Definition: Unit.h:1566
SpellHistory const * GetSpellHistory() const
Definition: Unit.h:1927
uint32 GetRedirectThreatPercent() const
Definition: Unit.h:2157
bool isFeared() const
Definition: Unit.h:1599
UnitStandStateType GetStandState() const
Definition: Unit.h:1488
virtual bool IsAlwaysVisibleFor(WorldObject const *) const
Definition: Object.h:639
virtual bool SetInPhase(uint32 id, bool update, bool apply)
Definition: Object.cpp:2879
Unit *const _actor
Definition: Unit.h:1007
AttackerSet const & getAttackers() const
Definition: Unit.h:1377
std::pair< AuraApplicationMap::const_iterator, AuraApplicationMap::const_iterator > AuraApplicationMapBounds
Definition: Unit.h:1316
DiminishingGroup DRGroup
Definition: Unit.h:876
bool _isReturning
Definition: Unit.h:1263
Definition: SpellMgr.h:433
Language
Definition: SharedDefines.h:959
GameObjectList m_gameObj
Definition: Unit.h:2267
UnitBytes2Offsets
Definition: Unit.h:244
bool IsInnkeeper() const
Definition: Unit.h:1572
ObjectGuid GetTargetGUID() const
Definition: Unit.h:1083
bool IsGuardian() const
Definition: Unit.h:1402
std::pair< AuraMap::const_iterator, AuraMap::const_iterator > AuraMapBounds
Definition: Unit.h:1312
HostileRefManager & getHostileRefManager()
Definition: Unit.h:2001
AuraApplicationMap & GetAppliedAuras()
Definition: Unit.h:1789
bool IsDuringRemoveFromWorld() const
Definition: Unit.h:2198
bool IsStopped() const
Definition: Unit.h:2104
Definition: SharedDefines.h:288
uint32 _spellTypeMask
Definition: Unit.h:1011
Definition: MotionMaster.h:82
uint32 GetPetNumber() const
Definition: Unit.h:1207
Definition: UpdateFields.h:138
const_iterator begin() const
Definition: Unit.h:181
void Set(ObjectGuid guid, uint32 pct)
Definition: Unit.h:1086
Definition: DBCStructure.h:789
bool IsFullHealth() const
Definition: Unit.h:1429
RedirectThreatInfo _redirectThreadInfo
Definition: Unit.h:2350
std::set< Unit * > AttackerSet
Definition: Unit.h:1308
virtual void SetCanDualWield(bool value)
Definition: Unit.h:1360
SheathState
Definition: Unit.h:296
MotionMaster * i_motionMaster
Definition: Unit.h:2297
bool HasInvisibilityAura() const
Definition: Unit.h:1598
bool IsAlive() const
Definition: Unit.h:1692
Unit * GetVictim() const
Definition: Unit.h:1379
void SetCreateMana(uint32 val)
Definition: Unit.h:1896
Unit * _unit
Definition: Unit.h:1250
SpellPeriodicAuraLogInfo(AuraEffect const *_auraEff, uint32 _damage, uint32 _overDamage, uint32 _absorb, uint32 _resist, float _multiplier, bool _critical)
Definition: Unit.h:1063
VisibleAuraMap const * GetVisibleAuras()
Definition: Unit.h:2003
MeleeHitOutcome hitOutCome
Definition: Unit.h:916
BaseModType
Definition: Unit.h:532
uint32 damage
Definition: Unit.h:1067
void SetByteValue(uint16 index, uint8 offset, uint8 value)
Definition: Object.cpp:1080
DeathState m_deathState
Definition: Unit.h:2259
G3D::int16 z
Definition: Vector3int16.h:46
bool IsActionBarForSpell() const
Definition: Unit.h:1157
DamageEffectType
Definition: Unit.h:660
Unit * m_attacking
Definition: Unit.h:2256
bool HealthBelowPct(int32 pct) const
Definition: Unit.h:1430
void SetLastDamagedTime(time_t val)
Definition: Unit.h:2217
void SetArmor(int32 val)
Definition: Unit.h:1420
SpellInterruptFlags
Definition: Unit.h:35
uint32 GetBlock() const
Definition: Unit.h:952
TriggerCastFlags
Definition: Unit.h:458
Definition: UpdateFields.h:99
virtual void RemoveFromWorld() override
Definition: Object.cpp:1515
AuraApplicationMap const & GetAppliedAuras() const
Definition: Unit.h:1790
float GetFloatValue(uint16 index) const
Definition: Object.cpp:312
Definition: SharedDefines.h:274
std::set< Unit * > ControlList
Definition: Unit.h:1309
int32 GetMinPower(Powers power) const
Definition: Unit.h:1447
Definition: ThreatManager.h:49
WeaponDamageRange
Definition: Unit.h:442
Definition: SpellInfo.h:238
SpellSchoolMask const _schoolMask
Definition: Unit.h:963
void SetCreateStat(Stats stat, float val)
Definition: Unit.h:1893
bool _isWalkingBeforeCharm
Are we walking before we were charmed?
Definition: Unit.h:2356
Spell * GetCurrentSpell(CurrentSpellTypes spellType) const
Definition: Unit.h:1920
void RemoveByteFlag(uint16 index, uint8 offset, uint8 newFlag)
Definition: Object.cpp:1271
std::multimap< uint32, Aura * > AuraMap
Definition: Unit.h:1311
uint32 absorbed_damage
Definition: Unit.h:912
UnitStandStateType
Definition: Unit.h:205
Unit *const _procTarget
Definition: Unit.h:1009
int32_t int32
Definition: Define.h:146
TC_GAME_API float baseMoveSpeed[MAX_MOVE_TYPE]
Definition: Unit.cpp:75
AuraList m_scAuras
Definition: Unit.h:2280
AuraEffectList const & GetAuraEffectsByType(AuraType type) const
Definition: Unit.h:1832
uint32_t uint32
Definition: Define.h:150
HostileRefManager m_HostileRefManager
Definition: Unit.h:2346
UnitRename
Definition: Unit.h:319
SpellInfo const * GetSpellInfo() const
Definition: Unit.h:945
uint32 blocked
Definition: Unit.h:1054
ActionBarIndex
Definition: Unit.h:1191
uint64_t uint64
Definition: Define.h:149
void AddUnitTypeMask(uint32 mask)
Definition: Unit.h:1400
uint32 absorb
Definition: Unit.h:1027
Will ignore mounted/on vehicle restrictions.
Definition: Unit.h:474
void SetUnitMovementFlags(uint32 f)
Definition: Unit.h:2111
uint32 TargetState
Definition: Unit.h:1031
FollowerRefManager m_FollowingRefManager
Definition: Unit.h:2348
G3D::int16 y
Definition: Vector2int16.h:38
SpellFacingFlags
Definition: Unit.h:195
void SetStandFlags(uint8 flags)
Definition: Unit.h:1493
ObjectGuid const & GetGuidValue(uint16 index) const
Definition: Object.cpp:332
uint16_t uint16
Definition: Define.h:151
UnitActionBarEntry CharmSpellInfo
Definition: Unit.h:1189
Definition: UpdateFields.h:140
uint32 m_movementCounter
Incrementing counter used in movement packets.
Definition: Unit.h:2336
Definition: GameObject.h:880
SpellMissInfo
Definition: SharedDefines.h:2019
uint32 resist
Definition: Unit.h:1070
void ClearDiminishings()
Definition: Unit.h:1346
bool isPossessed() const
Definition: Unit.h:1743
AuraList & GetSingleCastAuras()
Definition: Unit.h:1833
uint32 damageSchoolMask
Definition: Unit.h:1025
Definition: UpdateFields.h:117
Definition: UpdateFields.h:144
bool isAttackReady(WeaponAttackType type=BASE_ATTACK) const
Definition: Unit.h:1357
std::set< PetAura const * > PetAuraSet
Definition: Unit.h:2145
#define REACTIVE_TIMER_START
Definition: Unit.h:1270
void addFollower(FollowerReference *pRef)
Definition: Unit.h:2098
ReactiveType
Definition: Unit.h:1272
void SetAction(uint32 action)
Definition: Unit.h:1173
bool NeedChangeAI
Definition: Unit.h:2161
NPCFlags
Non Player Character flags.
Definition: Unit.h:732
void SetType(ActiveStates type)
Definition: Unit.h:1168
uint32 GetMountID() const
Definition: Unit.h:1497
DiminishingLevels
Definition: SharedDefines.h:4874
virtual void SetSheath(SheathState sheathed)
Definition: Unit.h:1463
std::pair< AuraApplicationMap::iterator, AuraApplicationMap::iterator > AuraApplicationMapBoundsNonConst
Definition: Unit.h:1317
SpellChannelInterruptFlags
Definition: Unit.h:46
#define MAX_REACTIVE
Definition: Unit.h:1279
ReactStates
Definition: Unit.h:1127
uint32 _petnumber
Definition: Unit.h:1254
uint32 GetDamage() const
Definition: Unit.h:949
VictimState
Definition: Unit.h:333
Will not adjust facing to target (if any)
Definition: Unit.h:471
void SetCritterGUID(ObjectGuid guid)
Definition: Unit.h:1709
T CalculatePct(T base, U pct)
Definition: Util.h:92
bool IsCharmedOwnedByPlayerOrPlayer() const
Definition: Unit.h:1715
void RemoveUnitMovementFlag(uint32 f)
Definition: Unit.h:2108
Definition: CombatLogPackets.h:29
WeaponAttackType GetAttackType() const
Definition: Unit.h:948
uint32 schoolMask
Definition: Unit.h:1050
virtual void AddToWorld()
Definition: Object.cpp:142
Definition: UpdateFields.h:116
void SetBaseWeaponDamage(WeaponAttackType attType, WeaponDamageRange damageRange, float value)
Definition: Unit.h:1972
SheathState GetSheath() const
Definition: Unit.h:1462
ThreatManager m_ThreatManager
Definition: Unit.h:2302
ControlList m_Controlled
Definition: Unit.h:1738
UnitAI * GetAI()
Definition: Unit.h:1331
virtual uint32 GetBlockPercent() const
Definition: Unit.h:1557
uint32 _heal
Definition: Unit.h:960
Definition: DBCStructure.h:433
Definition: BattlegroundMgr.h:57
uint32 m_extraAttacks
Definition: Unit.h:1366
uint32 GetArmor() const
Definition: Unit.h:1419
bool IsPet() const
Definition: Unit.h:1403
int64_t int64
Definition: g3dmath.h:169
Unit * GetProcTarget() const
Definition: Unit.h:993
Unit *const _actionTarget
Definition: Unit.h:1008
uint32 HitInfo
Definition: Unit.h:1055
bool HealthAbovePct(int32 pct) const
Definition: Unit.h:1432
Unit * GetActor()
Definition: Unit.h:991
bool isDying() const
Definition: Unit.h:1693
std::list< AuraApplication * > AuraApplicationList
Definition: Unit.h:1324
DeathState
Definition: Unit.h:539
float multiplier
Definition: Unit.h:1071
#define SUMMON_SLOT_PET
Definition: Unit.h:1280
float _stayZ
Definition: Unit.h:1266
uint32 hitCount
Definition: Unit.h:879
Totem const * ToTotem() const
Definition: Unit.h:2204
ObjectGuid GetTarget() const
Definition: Unit.h:2209
void removeFollower(FollowerReference *)
Definition: Unit.h:2099
uint32 GetInterruptMask() const
Definition: Unit.h:2008
std::multimap< AuraStateType, AuraApplication * > AuraStateAurasMap
Definition: Unit.h:1319
ActiveStates
Definition: Unit.h:1117
uint32 getClassMask() const
Definition: Unit.h:1414
uint8_t uint8
Definition: g3dmath.h:164
void MustReacquireTarget()
Definition: Unit.h:1373
bool HasFlag64(uint16 index, uint64 flag) const
Definition: Object.cpp:1327
uint32 damage
Definition: Unit.h:1049
Definition: UpdateFields.h:87
Will ignore power and reagent cost.
Definition: Unit.h:464
uint32 GetNativeDisplayId() const
Definition: Unit.h:2014
uint8 getRace() const
Definition: Unit.h:1411
bool isDead() const
Definition: Unit.h:1694
SpellAuraInterruptFlags
Definition: Unit.h:52
#define CURRENT_MAX_SPELL
Definition: Unit.h:1115
Unit * target
Definition: Unit.h:1046
#define MAKE_UNIT_ACTION_BUTTON(A, T)
Definition: Unit.h:1146
Vehicle * GetVehicle() const
Definition: Unit.h:2166
Unit *const _target
Definition: Unit.h:959
virtual void BuildValuesUpdate(uint8 updatetype, ByteBuffer *data, Player *target) const
Definition: Object.cpp:749
ObjectGuid GetCreatorGUID() const
Definition: Unit.h:1700
DynObjectList m_dynObj
Definition: Unit.h:2264
Definition: UpdateFields.h:109
uint16 _movementAnimKitId
Definition: Unit.h:2359
AuraMap::iterator m_auraUpdateIterator
Definition: Unit.h:2276
bool m_canDualWield
Definition: Unit.h:1367
AttackerSet m_attackers
Definition: Unit.h:2255
bool IsTotem() const
Definition: Unit.h:1405
bool IsCritter() const
Definition: Unit.h:1580
Unit * target
Definition: Unit.h:1024
Definition: UpdateFields.h:86
bool HasCommandState(CommandStates state) const
Definition: Unit.h:1212
float GetCreateStat(Stats stat) const
Definition: Unit.h:1902
void StartReactiveTimer(ReactiveType reactive)
Definition: Unit.h:2134
virtual void UpdateObjectVisibility(bool forced=true)
Definition: Object.cpp:3001
bool IsGossip() const
Definition: Unit.h:1567
bool CanModifyStats() const
Definition: Unit.h:1959
HitInfo
Definition: Unit.h:346
#define TC_GAME_API
Definition: Define.h:134
#define NOMINAL_MELEE_RANGE
Definition: Object.h:47
std::list< Player * > SharedVisionList
Definition: Unit.h:1179
#define MAX_UNIT_ACTION_BAR_INDEX
Definition: Unit.h:1199
UnitBytes0Offsets
Definition: Unit.h:230
Definition: Vehicle.h:121
uint32 m_unitTypeMask
Definition: Unit.h:2307
uint32 cleanDamage
Definition: Unit.h:1037
AuraRemoveMode
Definition: Unit.h:448
void SetChannelObjectGuid(ObjectGuid guid)
Definition: Unit.h:1905
ThreatManager & getThreatManager()
Definition: Unit.h:1998
AuraMap const & GetOwnedAuras() const
Definition: Unit.h:1780
StorageType storage_
Definition: Unit.h:192
void SetFloatValue(uint16 index, float value)
Definition: Object.cpp:1067
uint32 _typeMask
Definition: Unit.h:1010
uint8 getGender() const
Definition: Unit.h:1415
UnitFlags
Definition: Unit.h:671
bool IsAuctioner() const
Definition: Unit.h:1576
uint32 m_interruptMask
Definition: Unit.h:2283
uint8 GetRemovedCharges() const
Definition: Unit.h:896
uint32 m_CombatTimer
Definition: Unit.h:2341
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:143
float _stayX
Definition: Unit.h:1264
uint32 GetCreateHealth() const
Definition: Unit.h:1895
uint8 getClass() const
Definition: Unit.h:1413
Disallows proc events from triggered spell (default)
Definition: Unit.h:476
void SetActionBar(uint8 index, uint32 spellOrAction, ActiveStates type)
Definition: Unit.h:1225
Definition: EventProcessor.h:58
#define MAX_SUMMON_SLOT
Definition: Unit.h:1285
Definition: UpdateFields.h:124
virtual ObjectGuid GetTransGUID() const
Definition: Object.cpp:3102
void ModifyRedirectThreat(int32 amount)
Definition: Unit.h:2156
uint32 GetTypeMask() const
Definition: Unit.h:995
uint32 HasUnitTypeMask(uint32 mask) const
Definition: Unit.h:1399
bool HasUnitState(const uint32 f) const
Definition: Unit.h:1395
Will ignore equipped item requirements.
Definition: Unit.h:478
Unit * GetAttacker() const
Definition: Unit.h:943
Definition: SpellAuraDefines.h:78
uint8_t uint8
Definition: Define.h:152
Definition: Position.h:27
bool IsFFAPvP() const
Definition: Unit.h:1482
uint32 GetResistance(SpellSchools school) const
Definition: Unit.h:1422
void SetCreatorGUID(ObjectGuid creator)
Definition: Unit.h:1701
bool IsMounted() const
Definition: Unit.h:1496
HealthPctOrderPred(bool ascending=true)
Definition: Unit.h:2400
#define ASSERT
Definition: Errors.h:55
uint32 preHitHealth
Definition: Unit.h:1058
ReactStates _oldReactState
Definition: Unit.h:1257
#define MAX_SPELL_EFFECTS
Definition: DBCStructure.h:1026
Spell * GetCurrentSpell(uint32 spellType) const
Definition: Unit.h:1921
std::list< Unit * > UnitList
Definition: Unit.h:421
Definition: UpdateFields.h:135
SpellSchoolMask const m_schoolMask
Definition: Unit.h:928
uint32 damage
Definition: Unit.h:1026
uint32 getRaceMask() const
Definition: Unit.h:1412
PetAuraSet m_petAuras
Definition: Unit.h:2146
void SetExtraUnitMovementFlags(uint16 f)
Definition: Unit.h:2117
Will ignore aura scaling.
Definition: Unit.h:466
int32 GetMaxPower(Powers power) const
Definition: Unit.cpp:11598
DamageEffectType const m_damageType
Definition: Unit.h:929
uint32 m_damage
Definition: Unit.h:926
void propagateSpeedChange()
-------—End of Pet responses methods-------—
Definition: Unit.h:2130
const FieldDescriptor value
Definition: descriptor.h:1522
void setTransForm(uint32 spellid)
Definition: Unit.h:2017
HealInfo * GetHealInfo() const
Definition: Unit.h:1004
bool IsTabardDesigner() const
Definition: Unit.h:1575
float m_modRangedHitChance
Definition: Unit.h:1940
#define MELEE_RANGE
Definition: Object.h:48
Will not take away cast item or update related achievement criteria.
Definition: Unit.h:465
Definition: UpdateFields.h:107
void SetFullHealth()
Definition: Unit.h:1440
uint16 HasExtraUnitMovementFlag(uint16 f) const
Definition: Unit.h:2115
SpellFamilyNames
Definition: SharedDefines.h:4621
Definition: ObjectGuid.h:189
uint8 flags
Definition: DisableMgr.cpp:44
uint32_t uint32
Definition: g3dmath.h:168
std::multimap< uint32, AuraApplication * > AuraApplicationMap
Definition: Unit.h:1315
Definition: SharedDefines.h:3561
#define const
Definition: zconf.h:217
UnitState
Definition: Unit.h:548
uint32 type
Definition: Unit.h:426
std::pair< AuraStateAurasMap::const_iterator, AuraStateAurasMap::const_iterator > AuraStateAurasMapBounds
Definition: Unit.h:1320
G3D::int16 x
Definition: Vector2int16.h:37
Definition: DB2Structure.h:927
ObjectGuid GetOwnerGUID() const
Definition: Unit.h:1698
T check(T value)
Definition: format.h:305
bool HasFlag(uint16 index, uint32 flag) const
Definition: Object.cpp:1239
MovementFlags
Definition: Unit.h:773
bool CanDualWield() const
Definition: Unit.h:1359
virtual bool IsAlwaysDetectableFor(WorldObject const *) const
Definition: Object.h:642
void AddInterruptMask(uint32 mask)
Definition: Unit.h:2009
bool _isCommandFollow
Definition: Unit.h:1260
Definition: SpellAuras.h:116
bool IsTrainer() const
Definition: Unit.h:1565
bool HasSharedVision() const
Definition: Unit.h:1757
void AddSpellMod(SpellValueMod mod, int32 value)
Definition: Unit.h:176
ObjectGuid GetCritterGUID() const
Definition: Unit.h:1710
DiminishingReturn(DiminishingGroup group, uint32 t, uint32 count)
Definition: Unit.h:872
bool IsSummon() const
Definition: Unit.h:1401
uint32 CountPctFromCurHealth(int32 pct) const
Definition: Unit.h:1436
uint32 GetHealth() const
Definition: Unit.h:1426
SpellSchoolMask GetSchoolMask() const
Definition: Unit.h:981
WeaponAttackType
Definition: Unit.h:615
SpellInfo const *const m_spellInfo
Definition: Unit.h:927
HealInfo * _healInfo
Definition: Unit.h:1016
Type
Type of JSON value.
Definition: rapidjson.h:642
Definition: UpdateFields.h:119
uint32 GetResist() const
Definition: Unit.h:951
Unit * GetTarget() const
Definition: Unit.h:977
uint32 GetAbsorb() const
Definition: Unit.h:950
Definition: UpdateFields.h:83
CombatRating
Definition: Unit.h:623
UnitBytes1_Flags
Definition: Unit.h:251
void removeHatedBy(HostileReference *)
Definition: Unit.h:2000
Unit * GetVictim() const
Definition: Unit.h:944
Say
Definition: boss_broodlord_lashlayer.cpp:23
DamageInfo * GetDamageInfo() const
Definition: Unit.h:1003
void SetPetGUID(ObjectGuid guid)
Definition: Unit.h:1707
uint32 GetCombatTimer() const
Definition: Unit.h:1590
Player * m_movedPlayer
Definition: Unit.h:1753
Unit * GetDispeller() const
Definition: Unit.h:894
bool isTurning() const
Definition: Unit.h:2187
AuraApplicationMap m_appliedAuras
Definition: Unit.h:2274
uint32 _dispellerSpell
Definition: Unit.h:903
std::string name[MAX_DECLINED_NAME_CASES]
Definition: Unit.h:1103
LiquidTypeEntry const * _lastLiquid
Definition: Unit.h:2308
uint32 m_resist
Definition: Unit.h:932
Definition: HostileRefManager.h:32
Definition: WorldPacket.h:26
float GetStat(Stats stat) const
Definition: Unit.h:1417
void ResetRedirectThreat()
Definition: Unit.h:2155
bool _isFollowing
Definition: Unit.h:1262
Definition: SharedDefines.h:256
Unit * ToUnit()
Definition: Object.h:197
uint32 _spellPhaseMask
Definition: Unit.h:1012
uint8 GetByteValue(uint16 index, uint8 offset) const
Definition: Object.cpp:318
float GetPowerPct(Powers power) const
Definition: Unit.h:1449
DamageEffectType GetDamageType() const
Definition: Unit.h:947
uint16 GetExtraUnitMovementFlags() const
Definition: Unit.h:2116
void AbsorbHeal(uint32 amount)
Definition: Unit.h:969
Unit *const _healer
Definition: Unit.h:958
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
Definition: Unit.h:477
PowerPctOrderPred(Powers power, bool ascending=true)
Definition: Unit.h:2373
uint32 absorb
Definition: Unit.h:1051
bool IsCharmed() const
Definition: Unit.h:1742
In Spell::prepare, will be cast directly without setting containers for executed spell.
Definition: Unit.h:469
std::vector< CustomSpellValueMod > StorageType
Definition: Unit.h:170
uint32 _threatPct
Definition: Unit.h:1081
uint32 getAttackTimer(WeaponAttackType type) const
Definition: Unit.h:1356
Will not check if a current cast is in progress.
Definition: Unit.h:467
virtual float GetFollowAngle() const
Definition: Unit.h:2194
bool m_canModifyStats
Definition: Unit.h:2287
DeathState getDeathState() const
Definition: Unit.h:1695
Vehicle * GetVehicleKit() const
Definition: Unit.h:2165
uint32 m_regenTimer
Definition: Unit.h:2300
bool operator()(Unit const *a, Unit const *b) const
Definition: Unit.h:2384
float GetHealthPct() const
Definition: Unit.h:1434
InventorySlot
Definition: Unit.h:376
Definition: UpdateFields.h:139
ObjectGuid LastCharmerGUID
Definition: Unit.h:2162
bool IsSpiritService() const
Definition: Unit.h:1579
Definition: FollowerRefManager.h:27
SpellInfo const * GetSpellInfo() const
Definition: Unit.h:980
uint32 CountPctFromMaxHealth(int32 pct) const
Definition: Unit.h:1435
float GetSpeedRate(UnitMoveType mtype) const
Definition: Unit.h:2087