From c0d8dba15a1a25756f4297eaa0647797ca13e376 Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 28 Nov 2024 17:08:56 +0100 Subject: [PATCH 1/2] Core/Vmaps: Don't ignore model rotation when calculating liquid level Closes #30205 (cherry picked from commit 53b4501ce9b072cfffe7de7f348094f443e36950) --- src/common/Collision/Models/ModelInstance.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/common/Collision/Models/ModelInstance.cpp b/src/common/Collision/Models/ModelInstance.cpp index 32415be8fc0..5ed144f12c1 100644 --- a/src/common/Collision/Models/ModelInstance.cpp +++ b/src/common/Collision/Models/ModelInstance.cpp @@ -112,8 +112,7 @@ namespace VMAP if (info.hitModel->GetLiquidLevel(pModel, zDist)) { // calculate world height (zDist in model coords): - // assume WMO not tilted (wouldn't make much sense anyway) - liqHeight = zDist * iScale + iPos.z; + liqHeight = (Vector3(pModel.x, pModel.y, zDist) * iInvRot * iScale + iPos).z; return true; } return false; From 65e2474ff264e40f579ce2aa29921e9d72c75c6f Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Fri, 29 Nov 2024 07:03:37 -0500 Subject: [PATCH 2/2] Core/Players: Add separate config option for starting money for Death Knight characters (#30466) --- src/server/game/Entities/Player/Player.cpp | 4 +++- src/server/game/World/World.cpp | 13 +++++++++++++ src/server/game/World/World.h | 1 + src/server/worldserver/worldserver.conf.dist | 8 ++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index c6d3ba5f308..66a46284fb3 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -543,7 +543,9 @@ bool Player::Create(ObjectGuid::LowType guidlow, CharacterCreateInfo* createInfo InitRunes(); - SetMoney(sWorld->getIntConfig(CONFIG_START_PLAYER_MONEY)); + SetMoney(GetClass() != CLASS_DEATH_KNIGHT + ? sWorld->getIntConfig(CONFIG_START_PLAYER_MONEY) + : sWorld->getIntConfig(CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY)); SetHonorPoints(sWorld->getIntConfig(CONFIG_START_HONOR_POINTS)); SetArenaPoints(sWorld->getIntConfig(CONFIG_START_ARENA_POINTS)); diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index b49ef889c1a..eece2729411 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -917,6 +917,19 @@ void World::LoadConfigSettings(bool reload) m_int_configs[CONFIG_START_PLAYER_MONEY] = MAX_MONEY_AMOUNT; } + m_int_configs[CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY] = sConfigMgr->GetIntDefault("StartDeathKnightPlayerMoney", 2000); + if (int32(m_int_configs[CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY]) < 0) + { + TC_LOG_ERROR("server.loading", "StartDeathKnightPlayerMoney ({}) must be in range 0..{}. Set to {}.", m_int_configs[CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY], MAX_MONEY_AMOUNT, 2000); + m_int_configs[CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY] = 2000; + } + else if (m_int_configs[CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY] > MAX_MONEY_AMOUNT) + { + TC_LOG_ERROR("server.loading", "StartDeathKnightPlayerMoney ({}) must be in range 0..{}. Set to {}.", + m_int_configs[CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY], MAX_MONEY_AMOUNT, MAX_MONEY_AMOUNT); + m_int_configs[CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY] = MAX_MONEY_AMOUNT; + } + m_int_configs[CONFIG_MAX_HONOR_POINTS] = sConfigMgr->GetIntDefault("MaxHonorPoints", 75000); if (int32(m_int_configs[CONFIG_MAX_HONOR_POINTS]) < 0) { diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index c8e7ffd0ff2..18bf66d7e22 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -238,6 +238,7 @@ enum WorldIntConfigs : uint32 CONFIG_START_PLAYER_LEVEL, CONFIG_START_DEATH_KNIGHT_PLAYER_LEVEL, CONFIG_START_PLAYER_MONEY, + CONFIG_START_DEATH_KNIGHT_PLAYER_MONEY, CONFIG_MAX_HONOR_POINTS, CONFIG_START_HONOR_POINTS, CONFIG_MAX_ARENA_POINTS, diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index 90ad17d3181..971eebc6cf9 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -845,6 +845,14 @@ StartDeathKnightPlayerLevel = 55 StartPlayerMoney = 0 +# +# StartDeathKnightPlayerMoney +# Description: Amount of money (in Copper) that a death knight character has after creation. +# Default: 2000 +# 100 - (1 Silver) + +StartDeathKnightPlayerMoney = 2000 + # # MaxHonorPoints # Description: Maximum honor points a character can have.