aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 548ddfc3c72..d0742c76faa 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -134,7 +134,18 @@ PlayerTaxi::PlayerTaxi()
void PlayerTaxi::InitTaxiNodesForLevel(uint32 race, uint32 chrClass, uint32 level)
{
- // capital and taxi hub masks
+ // class specific initial known nodes
+ switch(chrClass)
+ {
+ case CLASS_DEATH_KNIGHT:
+ {
+ for(int i = 0; i < TaxiMaskSize; ++i)
+ m_taximask[i] |= sOldContinentsNodesMask[i];
+ break;
+ }
+ }
+
+ // race specific initial known nodes: capital and taxi hub masks
switch(race)
{
case RACE_HUMAN: SetTaximaskNode(2); break; // Human
@@ -150,12 +161,6 @@ void PlayerTaxi::InitTaxiNodesForLevel(uint32 race, uint32 chrClass, uint32 leve
case RACE_DRAENEI: SetTaximaskNode(94); break; // Draenei
}
- switch(chrClass)
- {
- case CLASS_DEATH_KNIGHT: // TODO: figure out initial known nodes
- break;
- }
-
// new continent starting masks (It will be accessible only at new map)
switch(Player::TeamForRace(race))
{
@@ -4588,9 +4593,7 @@ float Player::GetTotalBaseModValue(BaseModGroup modGroup) const
uint32 Player::GetShieldBlockValue() const
{
- BaseModGroup modGroup = SHIELD_BLOCK_VALUE;
-
- float value = GetTotalBaseModValue(modGroup) + GetStat(STAT_STRENGTH) * 0.5f - 10;
+ float value = (m_auraBaseMod[SHIELD_BLOCK_VALUE][FLAT_MOD] + GetStat(STAT_STRENGTH) * 0.5f - 10)*m_auraBaseMod[SHIELD_BLOCK_VALUE][PCT_MOD];
value = (value < 0) ? 0 : value;