Skip to content

Commit

Permalink
Revert "Fix Trade Skill Limit (#192)"
Browse files Browse the repository at this point in the history
This reverts commit 2a23663.

This commit broke guild creation
  • Loading branch information
billy1arm committed Jun 3, 2024
1 parent 4602e95 commit 3afa475
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 9 deletions.
2 changes: 1 addition & 1 deletion cmake/MangosParams.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
set(MANGOS_EXP "CLASSIC")
set(MANGOS_PKG "Mangos Zero")
set(MANGOS_WORLD_VER 2023053000)
set(MANGOS_WORLD_VER 2023031100)
set(MANGOS_REALM_VER 2021010100)
set(MANGOS_AHBOT_VER 2021010100)
21 changes: 13 additions & 8 deletions src/game/Object/Player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3661,11 +3661,12 @@ void Player::removeSpell(uint32 spell_id, bool disabled, bool learn_low_rank)
UpdateFreeTalentPoints(false);
}

// update free primary prof.points (if any, can be none in case GM .learn prof. learning)
// update free primary prof.points (if not overflow setting, can be in case GM use before .learn prof. learning)
if (sSpellMgr.IsPrimaryProfessionFirstRankSpell(spell_id))
{
uint32 freeProfs = GetFreePrimaryProfessionPoints() + 1;
if (freeProfs <= sWorld.getConfig(CONFIG_UINT32_MAX_PRIMARY_TRADE_SKILL))
uint32 maxProfs = GetSession()->GetSecurity() < AccountTypes(sWorld.getConfig(CONFIG_UINT32_TRADE_SKILL_GMIGNORE_MAX_PRIMARY_COUNT)) ? sWorld.getConfig(CONFIG_UINT32_MAX_PRIMARY_TRADE_SKILL) : 10;
if (freeProfs <= maxProfs)
{
SetFreePrimaryProfessions(freeProfs);
}
Expand Down Expand Up @@ -4312,6 +4313,8 @@ TrainerSpellState Player::GetTrainerSpellState(TrainerSpell const* trainer_spell
return TRAINER_SPELL_RED;
}

bool prof = SpellMgr::IsProfessionSpell(trainer_spell->spell);

// check level requirement
uint32 spellLevel = reqLevel ? reqLevel : TriggerSpell->spellLevel;
if (getLevel() < spellLevel)
Expand All @@ -4335,11 +4338,11 @@ TrainerSpellState Player::GetTrainerSpellState(TrainerSpell const* trainer_spell
}

// check skill requirement
bool prof = SpellMgr::IsProfessionSpell(trainer_spell->spell);
if (prof || trainer_spell->reqSkill && GetBaseSkillValue(trainer_spell->reqSkill) < trainer_spell->reqSkillValue)
{
return TRAINER_SPELL_RED;
}
if (!prof || GetSession()->GetSecurity() < AccountTypes(sWorld.getConfig(CONFIG_UINT32_TRADE_SKILL_GMIGNORE_SKILL)))
if (trainer_spell->reqSkill && GetBaseSkillValue(trainer_spell->reqSkill) < trainer_spell->reqSkillValue)
{
return TRAINER_SPELL_RED;
}

// exist, already checked at loading

Expand Down Expand Up @@ -20814,7 +20817,9 @@ void Player::UpdateVisibilityOf(WorldObject const* viewPoint, WorldObject* targe

void Player::InitPrimaryProfessions()
{
SetFreePrimaryProfessions(sWorld.getConfig(CONFIG_UINT32_MAX_PRIMARY_TRADE_SKILL));
uint32 maxProfs = GetSession()->GetSecurity() < AccountTypes(sWorld.getConfig(CONFIG_UINT32_TRADE_SKILL_GMIGNORE_MAX_PRIMARY_COUNT))
? sWorld.getConfig(CONFIG_UINT32_MAX_PRIMARY_TRADE_SKILL) : 10;
SetFreePrimaryProfessions(maxProfs);
}

void Player::SetComboPoints()
Expand Down
4 changes: 4 additions & 0 deletions src/game/WorldHandlers/World.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -649,6 +649,10 @@ void World::LoadConfigSettings(bool reload)

setConfigMinMax(CONFIG_UINT32_MAX_PRIMARY_TRADE_SKILL, "MaxPrimaryTradeSkill", 2, 0, 10);

setConfigMinMax(CONFIG_UINT32_TRADE_SKILL_GMIGNORE_MAX_PRIMARY_COUNT, "TradeSkill.GMIgnore.MaxPrimarySkillsCount", SEC_CONSOLE, SEC_PLAYER, SEC_CONSOLE);
setConfigMinMax(CONFIG_UINT32_TRADE_SKILL_GMIGNORE_LEVEL, "TradeSkill.GMIgnore.Level", SEC_CONSOLE, SEC_PLAYER, SEC_CONSOLE);
setConfigMinMax(CONFIG_UINT32_TRADE_SKILL_GMIGNORE_SKILL, "TradeSkill.GMIgnore.Skill", SEC_CONSOLE, SEC_PLAYER, SEC_CONSOLE);

setConfigMinMax(CONFIG_UINT32_MIN_PETITION_SIGNS, "MinPetitionSigns", 9, 0, 9);

setConfig(CONFIG_UINT32_GM_LOGIN_STATE, "GM.LoginState", 2);
Expand Down
3 changes: 3 additions & 0 deletions src/game/WorldHandlers/World.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@ enum eConfigUInt32Values
CONFIG_UINT32_TRAIN_EPIC_MOUNT_COST,
CONFIG_UINT32_RABBIT_DAY,
CONFIG_UINT32_MAX_PRIMARY_TRADE_SKILL,
CONFIG_UINT32_TRADE_SKILL_GMIGNORE_MAX_PRIMARY_COUNT,
CONFIG_UINT32_TRADE_SKILL_GMIGNORE_LEVEL,
CONFIG_UINT32_TRADE_SKILL_GMIGNORE_SKILL,
CONFIG_UINT32_MIN_PETITION_SIGNS,
CONFIG_UINT32_GM_LOGIN_STATE,
CONFIG_UINT32_GM_VISIBLE_STATE,
Expand Down
15 changes: 15 additions & 0 deletions src/mangosd/mangosd.conf.dist.in
Original file line number Diff line number Diff line change
Expand Up @@ -715,6 +715,18 @@ SD3ErrorLogFile = "scriptdev3-errors.log"
# Default: 2
# Max : 10
#
# TradeSkill.GMIgnore.MaxPrimarySkillsCount
# GM level starting from max primary skill count requirement ignored.
# Default: 4 (Console as noneone)
#
# TradeSkill.GMIgnore.Level
# GM level starting from trade skill level requirement ignored.
# Default: 4 (Console as noneone)
#
# TradeSkill.GMIgnore.Skill
# GM level starting from trade skill skill requirement ignored.
# Default: 4 (Console as noneone)
#
# MinPetitionSigns
# Min signatures count to creating guild (0..9).
# Default: 9
Expand Down Expand Up @@ -824,6 +836,9 @@ TimerBar.Breath.Max = 60
TimerBar.Fire.GMLevel = 4
TimerBar.Fire.Max = 1
MaxPrimaryTradeSkill = 2
TradeSkill.GMIgnore.MaxPrimarySkillsCount = 4
TradeSkill.GMIgnore.Level = 4
TradeSkill.GMIgnore.Skill = 4
MinPetitionSigns = 9
MaxGroupXPDistance = 74
MailDeliveryDelay = 3600
Expand Down

0 comments on commit 3afa475

Please sign in to comment.