aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.h')
-rw-r--r--src/game/Player.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/game/Player.h b/src/game/Player.h
index 6643b3c2615..6b883f3f05c 100644
--- a/src/game/Player.h
+++ b/src/game/Player.h
@@ -48,6 +48,7 @@ class Pet;
class PlayerMenu;
class Transport;
class UpdateMask;
+class SpellCastTargets;
class PlayerSocial;
class OutdoorPvP;
class AchievementMgr;
@@ -65,6 +66,17 @@ enum SpellModType
SPELLMOD_PCT = 108 // SPELL_AURA_ADD_PCT_MODIFIER
};
+// 2^n values, Player::m_isunderwater is a bitmask. These are mangos internal values, they are never send to any client
+enum PlayerUnderwaterState
+{
+ UNDERWATER_NONE = 0x00,
+ UNDERWATER_INWATER = 0x01, // terrain type is water and player is afflicted by it
+ UNDERWATER_WATER_TRIGGER = 0x02, // m_breathTimer has been initialized
+ UNDERWATER_WATER_BREATHB = 0x04, // breathbar has been send to client
+ UNDERWATER_WATER_BREATHB_RETRACTING = 0x10, // breathbar is currently refilling - the player is above water level
+ UNDERWATER_INLAVA = 0x80 // terrain type is lava and player is afflicted by it
+};
+
enum PlayerSpellState
{
PLAYERSPELL_UNCHANGED = 0,
@@ -1857,6 +1869,7 @@ class TRINITY_DLL_SPEC Player : public Unit
void ApplyEquipSpell(SpellEntry const* spellInfo, Item* item, bool apply, bool form_change = false);
void UpdateEquipSpellsAtFormChange();
void CastItemCombatSpell(Item *item,Unit* Target, WeaponAttackType attType);
+ void CastItemUseSpell(Item *item,SpellCastTargets const& targets,uint8 cast_count, uint32 glyphIndex);
void SendInitWorldStates(bool force = false, uint32 forceZoneId = 0);
void SendUpdateWorldState(uint32 Field, uint32 Value);