Add BackupKit and mid-game kit selection

Introduce a BackupKit and allow players holding it to change kits mid-game while preventing normal kits from being picked once the game started. Changes:
- Add BackupKit implementation (kit with no abilities/items used for mid-round kit selection).
- Update KitCommand: import BackupKit and GameState, add isIngame helper, disallow normal kit picks during INGAME/INVINCIBILITY, permit BackupKit to swap kits mid-game (but prevent picking the same kit) and apply playstyles accordingly.
- Fix GoblinKit to also copy/restore the target's playstyle when stealing a kit and restore the player's original playstyle after timeout.
- Tweak IceMageKit slow effect chance (now ~1/3 chance using random.nextInt(3) < 1).
- Update en_US.yml: add messages and kit strings for backup and icemage, adjust ability_charged color, and add game/cannot-pick messages.

Also includes small import and formatting adjustments.
This commit is contained in:
TDSTOS
2026-03-25 17:47:42 +01:00
parent ea86272c01
commit e199ae24d4
5 changed files with 157 additions and 6 deletions

View File

@@ -48,6 +48,8 @@ commands:
usage: '<red>Usage: /kit <kitName> <playstyle></red>'
kitNotFound: '<red><kit> is not a registered kit!</red>'
playstyleNotFound: '<red><playstyle> is not an available playstyle!</red>'
gameHasStarted: '<red>The game has already started. You cannot select a kit right now!</red>'
cannotPickSameKit: '<red>You cannot pick the same kit!</red>'
selected: '<green>You have selected <kit> as your Kit with playstyle <playstyle>!</green>'
scoreboard:
@@ -71,6 +73,17 @@ scoreboard:
- "<yellow>play.mcscrims.club"
kits:
backup:
name: '<gradient:gold:#ff841f>Backup</gradient>'
lore:
- ' '
- 'Select a kit mid-round at any time.'
- 'All kits are available to pick.'
- ' '
- 'PlayStyle: §e%playstyle%'
- ' '
- 'Left-click to select'
- 'Right-click to change playstyle'
goblin:
name: '<gradient:dark_green:gray><bold>Goblin</bold></gradient>'
lore:
@@ -92,4 +105,23 @@ kits:
messages:
stole_kit: '<green>You have stolen the kit of your opponent (Kit: <kit>)!</green>'
spawn_bunker: '<green>You have created a bunker around yourself!'
ability_charged: '<aqua>Your ability has been recharged!</aqua>'
ability_charged: '<yellow>Your ability has been recharged!</yellow>'
icemage:
name: '<gradient:dark_aqua:aqua>IceMage</gradient>'
lore:
- ' '
- 'Use your abilities to freeze players'
- 'or gain speed in ice biomes and slow'
- 'enemies.'
- ' '
- 'PlayStyle: §e%playstyle%'
- ' '
- 'Left-click to select'
- 'Right-click to change playstyle'
items:
snowball:
name: '§bFreeze'
description: 'Freeze your enemies by throwing snowballs in all directions'
messages:
shoot_snowballs: '<aqua>You have shot frozen snowballs in all directions!</aqua>'
ability_charged: '<yellow>Your ability has been recharged!</yellow>'