Skip to content

[2pts] Implement player leveling and stat progression #15

@github-actions

Description

@github-actions

Description

Implement player leveling system with XP thresholds and stat progression.

Depends on: Player class issue

Level System

  • Define XP thresholds for levels 1-10
  • Example: Level 2 = 100 XP, Level 3 = 250 XP, etc.

Level Up Effects

When player levels up:

  • Increment Level property
  • Increase AttackPower (e.g., +2)
  • Increase Defense (e.g., +1)
  • Increase MaxHealth (e.g., +10)
  • Restore some Health (e.g., 50% of MaxHealth)
  • Publish PlayerLevelUpEvent via GameEventSystem

Progress Tracking

  • GetProgressToNextLevel() method
  • Returns double (0.0 - 1.0) representing progress
  • Used for UI progress bars

Acceptance Criteria

  • XP thresholds defined for levels 1-10
  • Level up logic implemented in Player.AddExperience()
  • AttackPower increases on level up
  • Defense increases on level up
  • MaxHealth increases on level up
  • Health restored partially on level up
  • PlayerLevelUpEvent published via GameEventSystem
  • GetProgressToNextLevel() method implemented
  • Returns 0.0 - 1.0 progress value
  • Method documented with XML comments

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions