diff options
| author | Shauren <shauren.trinity@gmail.com> | 2018-10-01 21:01:10 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2018-10-01 21:01:10 +0200 |
| commit | ee682544d027c1e33dcade592422a2d5b5e57ddb (patch) | |
| tree | 2188a2f442f9fe13f08d979a08577adecce6167d /src/server/game/Entities | |
| parent | 056b6895ecfb43a241d6013ddcc71eb5b5b324fd (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.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 34 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.h | 9 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/RestMgr.cpp | 2 |
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; |
