Skip to content

Conversation

@davidklaw
Copy link
Contributor

@davidklaw davidklaw commented May 5, 2025

This PR introduces a new PenaltyManager system that replaces the old, progressive penalty model with a flat, deterministic one. The new system unifies how item, spell, and skill penalties are applied and includes a server-side toggle for easy testing or rollback.

Motivation

The legacy system is somewhat complex—mixing progressive scaling, randomness, and escalation—which makes it hard to tune and frustrating for players. PvP players in particular have raised concerns about both overly harsh penalties and loopholes, like cycling through alts to avoid them. Knowing how contentious this topic is, I’ve made the new system configurable so it can be rolled out gradually.

Key Changes

  • Introduces a centralized PenaltyManager class to handle logoff and (eventually) death penalties. Long term, this aims to phase out logoff ghosts as a PvP meta in favor of meaningful deaths.
  • Penalties are now deterministic: base * multiplier, no randomness or escalation.
  • Admins can configure base values and adjust multipliers for murderers and PvP participants (including outlaws, warring guilds, and faction soldiers) while keeping non-PVP penalties at a minimum (including a freebie).
  • A server property allows switching between the old and new systems at any time.
  • Eligible (read: non-PVP) players receive a server-configurable number of penalty-free logoffs.

This commit introduces a new, configurable PenaltyManager system for handling player penalties (items, HP, spells, skills) with multipliers for murderers and PvP, and adds a server-wide switch to enable or disable the new system, allowing admins to choose between the legacy and new penalty logic.
@davidklaw davidklaw marked this pull request as draft May 5, 2025 14:15
@davidklaw
Copy link
Contributor Author

One challenge for me with this is determining whether these new properties belong in System or Settings.

@davidklaw
Copy link
Contributor Author

Latest commit adds a server-configurable number of penalty-free logoffs for eligible players.

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.

1 participant