Skip to content

feat: wire condition into match simulation so exhausted players underperform #282

Description

@NicoRuedaA

Problem or opportunity

Player condition (0–100, short-term energy) is fully implemented: it depletes after matches and training, and recovers daily. However, it has zero effect on live match simulation. A player with \condition = 1\ performs identically to \condition = 100. This makes rotation irrelevant and removes the strategic cost of running the same five starters every match.

Proposed solution

Apply condition as a multiplier to the engine's combat/duel/teamfight calculations. The approach that was previously removed as dead code (\�ffective_overall()\ in \�ngine/src/types.rs) points the way: multiply effective OVR by \condition / 100.

The key change is in \�ngine/src/live_match/lol_map.rs\ (or equivalent sim paths) where player stats are read during combat resolution. Each stat lookup should be scaled by \player.condition / 100.

UX impact

  • No new UI — existing condition display is sufficient.
  • Players will see their exhausted roster underperform in matches, making rest and rotation meaningful.
  • Training intensity choices now have a gameplay consequence beyond cosmetic numbers.

Acceptance criteria

  • Condition scales player effectiveness in match simulation (attacks, defenses, objective fights)
  • A player with condition=50 performs measurably worse than condition=100 in the engine
  • Existing tests pass; new tests cover the condition scaling path
  • No regression on non-condition match paths (academy sim, background leagues)

Scope

Gameplay

Approval pre-flight

  • I searched existing issues and did not find a duplicate.
  • I understand maintainers must add \status:approved\ before implementation starts.
  • I will branch from \development\ using \ ype/lowercase-slug\ if this is approved.
  • I identified whether this changes docs, release behavior, licensing, or data provenance.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions