aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-10-01 21:01:10 +0200
committerShauren <shauren.trinity@gmail.com>2018-10-01 21:01:10 +0200
commitee682544d027c1e33dcade592422a2d5b5e57ddb (patch)
tree2188a2f442f9fe13f08d979a08577adecce6167d /src/server/game/Entities
parent056b6895ecfb43a241d6013ddcc71eb5b5b324fd (diff)
Core/PacketIO: Updated opcode enum to 8.0
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Item/Item.cpp8
-rw-r--r--src/server/game/Entities/Player/Player.cpp34
-rw-r--r--src/server/game/Entities/Player/Player.h9
-rw-r--r--src/server/game/Entities/Player/RestMgr.cpp2
4 files changed, 10 insertions, 43 deletions
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index a73541e4992..d63d5246d5a 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -316,14 +316,8 @@ bool Item::Create(ObjectGuid::LowType guidlow, uint32 itemId, Player const* owne
SetUInt32Value(ITEM_FIELD_DURABILITY, itemProto->MaxDurability);
for (std::size_t i = 0; i < itemProto->Effects.size(); ++i)
- {
if (i < 5)
SetSpellCharges(i, itemProto->Effects[i]->Charges);
- if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(itemProto->Effects[i]->SpellID))
- if (owner && spellInfo->HasEffect(SPELL_EFFECT_GIVE_ARTIFACT_POWER))
- if (uint32 artifactKnowledgeLevel = sWorld->getIntConfig(CONFIG_CURRENCY_START_ARTIFACT_KNOWLEDGE))
- SetModifier(ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL, artifactKnowledgeLevel + 1);
- }
SetUInt32Value(ITEM_FIELD_DURATION, itemProto->GetDuration());
SetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME, 0);
@@ -2565,8 +2559,6 @@ void Item::GiveArtifactXp(uint64 amount, Item* sourceItem, uint32 artifactCatego
uint32 artifactKnowledgeLevel = 1;
if (sourceItem && sourceItem->GetModifier(ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL))
artifactKnowledgeLevel = sourceItem->GetModifier(ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL);
- else if (artifactCategoryId == ARTIFACT_CATEGORY_PRIMARY)
- artifactKnowledgeLevel = sWorld->getIntConfig(CONFIG_CURRENCY_START_ARTIFACT_KNOWLEDGE) + 1;
if (GtArtifactKnowledgeMultiplierEntry const* artifactKnowledge = sArtifactKnowledgeMultiplierGameTable.GetRow(artifactKnowledgeLevel))
amount = uint64(amount * artifactKnowledge->Multiplier);
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 5bbe17cb277..39c79abdbe0 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -6434,8 +6434,6 @@ void Player::_InitHonorLevelOnLoadFromDB(uint32 honor, uint32 honorLevel, uint32
UpdateHonorNextLevel();
AddHonorXP(honor);
- if (CanPrestige())
- Prestige();
}
void Player::RewardPlayerWithRewardPack(uint32 rewardPackID)
@@ -6469,7 +6467,7 @@ void Player::AddHonorXP(uint32 xp)
uint32 newHonorXP = currentHonorXP + xp;
uint32 honorLevel = GetHonorLevel();
- if (xp < 1 || getLevel() < PLAYER_LEVEL_MIN_HONOR || IsMaxHonorLevelAndPrestige())
+ if (xp < 1 || getLevel() < PLAYER_LEVEL_MIN_HONOR || IsMaxHonorLevel())
return;
while (newHonorXP >= nextHonorLevelXP)
@@ -6483,7 +6481,7 @@ void Player::AddHonorXP(uint32 xp)
nextHonorLevelXP = GetUInt32Value(PLAYER_FIELD_HONOR_NEXT_LEVEL);
}
- SetUInt32Value(PLAYER_FIELD_HONOR, IsMaxHonorLevelAndPrestige() ? 0 : newHonorXP);
+ SetUInt32Value(PLAYER_FIELD_HONOR, IsMaxHonorLevel() ? 0 : newHonorXP);
}
void Player::SetHonorLevel(uint8 level)
@@ -6496,34 +6494,14 @@ void Player::SetHonorLevel(uint8 level)
UpdateHonorNextLevel();
UpdateCriteria(CRITERIA_TYPE_HONOR_LEVEL_REACHED);
-
- if (CanPrestige())
- Prestige();
-}
-
-void Player::Prestige()
-{
- SetUInt32Value(PLAYER_FIELD_PRESTIGE, GetPrestigeLevel() + 1);
- SetUInt32Value(PLAYER_FIELD_HONOR_LEVEL, 1);
- UpdateHonorNextLevel();
-
- UpdateCriteria(CRITERIA_TYPE_PRESTIGE_REACHED);
-}
-
-bool Player::CanPrestige() const
-{
- return false;
-}
-
-bool Player::IsMaxPrestige() const
-{
- return true;
}
void Player::UpdateHonorNextLevel()
{
- uint32 prestige = std::min(static_cast<uint32>(PRESTIGE_COLUMN_COUNT - 1), GetPrestigeLevel());
- SetUInt32Value(PLAYER_FIELD_HONOR_NEXT_LEVEL, sHonorLevelGameTable.GetRow(GetHonorLevel())->Prestige[prestige]);
+ // 5500 at honor level 1
+ // no idea what between here
+ // 8800 at honor level ~14 (never goes above 8800)
+ SetUInt32Value(PLAYER_FIELD_HONOR_NEXT_LEVEL, 8800);
}
void Player::_LoadCurrency(PreparedQueryResult result)
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 177c6aaeb4d..548efab34c1 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1034,7 +1034,7 @@ struct PlayerDynamicFieldSpellModByLabel
};
#pragma pack(pop)
-uint8 constexpr PLAYER_MAX_HONOR_LEVEL = 50;
+uint32 constexpr PLAYER_MAX_HONOR_LEVEL = 500;
uint8 constexpr PLAYER_LEVEL_MIN_HONOR = 110;
uint32 constexpr SPELL_PVP_RULES_ENABLED = 134735;
@@ -1990,11 +1990,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
uint32 GetHonorLevel() const { return GetUInt32Value(PLAYER_FIELD_HONOR_LEVEL); }
void AddHonorXP(uint32 xp);
void SetHonorLevel(uint8 honorLevel);
- void Prestige();
- bool CanPrestige() const;
- bool IsMaxPrestige() const;
- bool IsMaxHonorLevelAndPrestige() const { return IsMaxPrestige() && GetHonorLevel() == PLAYER_MAX_HONOR_LEVEL; }
- // Updates PLAYER_FIELD_HONOR_NEXT_LEVEL based on PLAYER_FIELD_HONOR_LEVEL and the smallest value of PLAYER_FIELD_PRESTIGE and (PRESTIGE_COLUMN_COUNT - 1)
+ bool IsMaxHonorLevel() const { return GetHonorLevel() == PLAYER_MAX_HONOR_LEVEL; }
+ // Updates PLAYER_FIELD_HONOR_NEXT_LEVEL based on PLAYER_FIELD_HONOR_LEVEL
void UpdateHonorNextLevel();
//End of PvP System
diff --git a/src/server/game/Entities/Player/RestMgr.cpp b/src/server/game/Entities/Player/RestMgr.cpp
index ba8c11c5ee0..a4309d79d54 100644
--- a/src/server/game/Entities/Player/RestMgr.cpp
+++ b/src/server/game/Entities/Player/RestMgr.cpp
@@ -49,7 +49,7 @@ void RestMgr::SetRestBonus(RestTypes restType, float restBonus)
break;
case REST_TYPE_HONOR:
// Reset restBonus (Honor only) for players with max honor level.
- if (_player->IsMaxHonorLevelAndPrestige())
+ if (_player->IsMaxHonorLevel())
restBonus = 0;
rest_rested_offset = REST_RESTED_HONOR;