Abstracted default class creation logic into dedicated FighterCreator class for better modularity. Updated GameManager and ClassSelectionPhase to utilize this new structure, enabling dynamic class creation based on team color. Adjusted TODO.md to mark completed changes.
2.2 KiB
2.2 KiB
- Game manager
- Stores/creates/modifies teams
- Allows for rollback of world through CoreProtect
- Creates teams (load from config?)
- Stores all players
- Allows starting, restarting, and ending game
- Limit playing area (x, y, and z) (could be done through WorldGuard)
- Stores location for ppl to watch/wait in or handles putting them in gmsp
- Team
- Stores members
- Stores score
- Stores respawn location
- Respawn player on team by calling respawn function
- Functions as starting point for team
- Check if player is in respawn point (for class changes
- Stores team colors (for armor)
- Allows creation of Team player object (exclusively)
- Manages respawns (config timer)
- Tracks flag
- Handles team losing
- Stops respawns after team loses flag
- Buff/Debuff for flag carrier and dead teams and chases?
- Flag location indicator (beacon beams, compass, particles)
- Snowball storage
- Team player
- Must be member of team
- Stores max health
- Stores individual score
- Class manager
- Stores list of all classes
- Allows Team member to select class
- Classes
- Fighter: lower health, higher dmg/throwing speed
- Tank: Has shield, invincibility effect, slower (short + long cooldown)?
- Engineer: Better shovel, lower health, lower dmg, (can drop snowballs to team members?) store snow at base, can build?
- HARD Mage: Drops snowballs in area (casting cost)
- HARD Scout: low dmg, high speed, (invisible sometimes?) can see flag carrier through walls or maybe see their path in particles?
- Game events
- Blocks dropping items (could be done through WorldGuard flag)
- Hit by snowball (handles damage) (no friendly fire)
- Only allows breaking snow (for snowballs)
- Blocks building with anything other than snow (could be done through WorldGuard flag)
- Blocks breaking anything other than snow (could be done through WorldGuard flag)
- OPTIONAL: Wind to move players a bit if they are high up to discourage towering