aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorclick <click@gonnamakeyou.com>2015-04-07 23:51:19 +0200
committerclick <click@gonnamakeyou.com>2015-04-07 23:51:19 +0200
commit6c1e4bc20d68d9fb548eb4896bd8b84a4c3ec4ff (patch)
tree0e516c48ad83deecd88100d674562af635a06718 /src/server/game/Entities
parentb321f84a39c1c790a6519f8c0910f99c60fb536d (diff)
Core/Spells: Reinstate helperfunction removed in commit 0e3607df (with a new functionname to make more sense out of it), and adjust the remaining code slightly to accomodate that.
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Player/Player.cpp7
-rw-r--r--src/server/game/Entities/Player/Player.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index e2da8e1e8d9..d31b0ebfb05 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -25085,6 +25085,13 @@ uint32 Player::CalculateTalentsPoints() const
return uint32(talentPointsForLevel * sWorld->getRate(RATE_TALENT));
}
+bool Player::canFlyInZone(uint32 mapid, uint32 zone) const
+{
+ // continent checked in SpellInfo::CheckLocation at cast and area update
+ uint32 v_map = GetVirtualMapForMapAndZone(mapid, zone);
+ return v_map != 571 || HasSpell(54197); // 54197 = Cold Weather Flying
+}
+
void Player::LearnSpellHighestRank(uint32 spellid)
{
LearnSpell(spellid, false);
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 8394193f8c1..ea073456a1d 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -2136,6 +2136,8 @@ class Player : public Unit, public GridObject<Player>
void SetFallInformation(uint32 time, float z);
void HandleFall(MovementInfo const& movementInfo);
+ bool canFlyInZone(uint32 mapid, uint32 zone) const;
+
void SetClientControl(Unit* target, bool allowMove);
void SetMover(Unit* target);