Skip to content

Guard the honor system behind patch 1.4.0.#3440

Open
mserajnik wants to merge 1 commit into
vmangos:developmentfrom
mserajnik:guard-honor-system-pre-1-4
Open

Guard the honor system behind patch 1.4.0.#3440
mserajnik wants to merge 1 commit into
vmangos:developmentfrom
mserajnik:guard-honor-system-pre-1-4

Conversation

@mserajnik
Copy link
Copy Markdown
Contributor

@mserajnik mserajnik commented May 29, 2026

🍰 Pullrequest

This effectively disables the honor system pre patch 1.4.0 (when PvP.AccurateTimeline is also set true), including the weekly honor maintenance and all the honor-related GM commands.

A few edge cases not covered on purpose:

  • If rank gets set through the database directly, VMaNGOS will still read the rank as-is; this could be tightened to force an in-memory rank of 0 when a higher one is detected with the honor system disabled, but I decided against overriding DB data (happy to add this if wanted).
  • If a bot gets copied from a character with existing rank it will still inherit the rank; I think it would be incorrect to prevent the copy of the rank here if the bot is supposed to be a verbatim copy of the character (regardless of how the character acquired the rank).
  • If a premade gear template includes an item with a required honor rank, that item is no longer auto-granted the rank and so ends up unequipped in the recipient's bags instead of being skipped outright; this could be tightened to skip such items entirely when the honor system is disabled, but that should only affect custom templates, so it didn't seem worth explicitly covering.

Note: I also removed the now-redundant inline 1.4.0 guards in Player::RewardHonor() and Player::RewardHonorOnDeath(), since HonorMgr::Add() is guarded centrally now.

Proof

  • None

Issues

How2Test

  • None; not reachable on currently supported patches (>= 1.5.1); only affects an unsupported pre-1.4.0 config, so this is effectively just some groundwork for later.

Todo / Checklist

  • None

@ratkosrb
Copy link
Copy Markdown
Contributor

But honor gain is already disabled before 1.4, so what difference do all these checks make.

@mserajnik
Copy link
Copy Markdown
Contributor Author

mserajnik commented May 29, 2026

But honor gain is already disabled before 1.4, so what difference do all these checks make.

Honor gain through regular gameplay is already guarded, yes.

This adds a few things:

  1. The weekly honor maintenance doesn't run at all with this (there is no need for it pre-1.4.0, so imo it should be skipped outright).
  2. GM commands can't be used to modify honor and rank (which, granted, is mostly a UX change to explicitly state "the honor system is disabled").
  3. Any potential future code introduced that calls HonorMgr::Add() doesn't need to be guarded separately.

I think 1.) is worth having and 3.) is a good pattern even if at the moment the only "beneficiaries" are the two call sites that currently (pre-PR) have the inline guard (since the content that would trigger other call sites only exists from 1.4.0 onwards).

If you think 2.) is unnecessary, I'm happy to drop it. Or, of course, feel free to close the PR if you think it adds nothing of value altogether. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐛 [Bug][WowPatch = 0] The server shuts down to count honor every time it is turned on.

2 participants