feat(gameplay): implement hook sabotage, generator kick, jump listener, and boss bar UI
- Add HookSabotage system for survivors to disable hooks temporarily - Add GeneratorKick killer ability to regress generator progress - Add PlayerJumpListener to track survivor jump actions - Add BossBarManager for displaying game state and objectives - Update generator regression logic to support killer kick mechanic - Update KillerController to integrate generator kick ability - Update PlayerInteractListener to handle new interaction types - Refactor game phases to use BossBarManager for UI updates - Update .gitignore to exclude compiled bin/ directory - Simplify PLAN.md documentation for easier maintenance
This commit is contained in:
parent
3d6204cc83
commit
89dc9eb00d
78 changed files with 2293 additions and 1210 deletions
|
|
@ -5,116 +5,194 @@
|
|||
# Лобби
|
||||
lobby:
|
||||
# Минимум игроков для старта
|
||||
min-players: 5
|
||||
|
||||
min-players: 4
|
||||
|
||||
# Максимум игроков
|
||||
max-players: 5
|
||||
|
||||
# Обратный отсчёт (секунд)
|
||||
countdown-seconds: 60
|
||||
|
||||
|
||||
# Обратный отсчёт при 4 игроках (секунд)
|
||||
countdown-4-players: 45
|
||||
|
||||
# Обратный отсчёт при 5 игроках (секунд)
|
||||
countdown-5-players: 15
|
||||
|
||||
# Задержка перед назначением ролей (секунд)
|
||||
role-assign-delay: 5
|
||||
|
||||
# Количество серверных лобби (0 = только пользовательские)
|
||||
server-lobby-count: 3
|
||||
|
||||
# Сохранять лобби между перезапусками
|
||||
persist-lobbies: true
|
||||
|
||||
# Размеры игроков (1.0 = стандарт)
|
||||
players:
|
||||
survivor-scale: 1.0
|
||||
killer-scale: 1.5
|
||||
|
||||
# Генераторы
|
||||
generators:
|
||||
# Всего генераторов на карте
|
||||
total-count: 7
|
||||
|
||||
|
||||
# Сколько нужно починить для ворот
|
||||
required-count: 5
|
||||
|
||||
# Время починки одного генератора (секунд)
|
||||
repair-seconds: 80
|
||||
|
||||
|
||||
# Время починки одного генератора (секунд) [90 сек по ТЗ]
|
||||
repair-seconds: 90
|
||||
|
||||
# Скорость отката без чинильщика (%/сек)
|
||||
regression-rate: 0.25
|
||||
|
||||
# Скорость отката после пинка (%/сек)
|
||||
|
||||
# Скорость отката после удара (%/сек)
|
||||
kick-regression-rate: 2.5
|
||||
|
||||
# Длительность отката после пинка (секунд)
|
||||
|
||||
# Потеря прогресса после удара (%)
|
||||
kick-regression-percent: 20.0
|
||||
|
||||
# Длительность отката после удара (секунд)
|
||||
kick-duration-seconds: 30
|
||||
|
||||
# Кулдаун удара по генератору (секунд, общий для всех генераторов)
|
||||
kick-cooldown-seconds: 30
|
||||
|
||||
# Время зажатия Shift для удара (секунд)
|
||||
kick-charge-seconds: 3
|
||||
|
||||
# Расстояние для взаимодействия с генератором (блоков)
|
||||
interaction-range: 3.0
|
||||
|
||||
# Крюки
|
||||
hooks:
|
||||
# Длительность Фазы 1 (секунд)
|
||||
stage1-seconds: 60
|
||||
|
||||
|
||||
# Длительность Фазы 2 (секунд)
|
||||
stage2-seconds: 60
|
||||
|
||||
|
||||
# Интервал борьбы на Фазе 2 (секунд)
|
||||
struggle-interval: 2
|
||||
|
||||
# Максимум крюков на одного выжившего
|
||||
|
||||
# Максимум крюков на одного выжившего (= жизни)
|
||||
max-hooks: 3
|
||||
|
||||
# Расстояние для взаимодействия с крюком (блоков)
|
||||
interaction-range: 3.0
|
||||
|
||||
# Время спасения (секунд)
|
||||
rescue-seconds: 3
|
||||
|
||||
# Время саботажа крюка (секунд)
|
||||
sabotage-seconds: 10
|
||||
|
||||
# Время восстановления крюка (секунд)
|
||||
sabotage-recovery-seconds: 60
|
||||
|
||||
# Скорости (% от нормальной)
|
||||
movement:
|
||||
# Киллер
|
||||
killer: 115
|
||||
|
||||
|
||||
# Киллер с выжившим
|
||||
killer-carry: 92
|
||||
|
||||
|
||||
# Выживший шагом
|
||||
survivor-walk: 100
|
||||
|
||||
|
||||
# Выживший спринт
|
||||
survivor-sprint: 150
|
||||
|
||||
|
||||
# Выживший в нокдауне (ползком)
|
||||
survivor-crawl: 30
|
||||
|
||||
|
||||
# Длительность истощения (секунд)
|
||||
exhaustion-duration: 3
|
||||
|
||||
|
||||
# Кулдаун истощения (секунд)
|
||||
exhaustion-cooldown: 5
|
||||
|
||||
# Лечение
|
||||
healing:
|
||||
# Самолечение (секунд)
|
||||
self-heal-seconds: 30
|
||||
|
||||
# Лечение другого (секунд)
|
||||
other-heal-seconds: 16
|
||||
|
||||
other-heal-seconds: 15
|
||||
|
||||
# Самолечение аптечкой (секунд)
|
||||
self-heal-seconds: 30
|
||||
|
||||
# Бонус аптечки (0.5 = в 2 раза быстрее)
|
||||
medkit-bonus: 0.5
|
||||
|
||||
|
||||
# Прерывание при движении
|
||||
interrupt-on-move: true
|
||||
|
||||
# Максимум лечений за матч
|
||||
max-heals-per-match: 4
|
||||
|
||||
# Расстояние лечения (блоков)
|
||||
heal-range: 3.0
|
||||
|
||||
# Переноска выжившего
|
||||
carry:
|
||||
# Количество прыжков для заполнения шкалы побега
|
||||
escape-jumps: 15
|
||||
|
||||
# Speed I после побега (секунд)
|
||||
escape-speed-seconds: 3
|
||||
|
||||
# Приращение шкалы за прыжок (%)
|
||||
jump-fill-percent: 6.67
|
||||
|
||||
# Киллер
|
||||
killer:
|
||||
# Кулдаун атаки (секунд)
|
||||
attack-cooldown: 2.5
|
||||
|
||||
|
||||
# Дальность атаки (блоков)
|
||||
attack-range: 3.0
|
||||
|
||||
|
||||
# Длительность оглушения паллетом (секунд)
|
||||
pallet-stun-seconds: 2.5
|
||||
|
||||
pallet-stun-seconds: 2.0
|
||||
|
||||
# Время ломания паллета (секунд)
|
||||
pallet-break-seconds: 3.0
|
||||
|
||||
# Радиус ужаса (блоков)
|
||||
|
||||
# Радиус страха (блоков)
|
||||
terror-radius: 32
|
||||
|
||||
# Расстояние для взаимодействия с паллетом (блоков)
|
||||
pallet-interaction-range: 3.0
|
||||
|
||||
# BossBar радиуса страха
|
||||
bossbar:
|
||||
# Включить BossBar
|
||||
enabled: true
|
||||
|
||||
# Название (поддерживает MiniMessage)
|
||||
title: "<red>☠ МАНЬЯК РЯДОМ ☠</red>"
|
||||
|
||||
# Цвет: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
|
||||
color: RED
|
||||
|
||||
# Стиль: SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20
|
||||
style: SOLID
|
||||
|
||||
# Расстояние начала появления (блоков)
|
||||
appear-range: 32
|
||||
|
||||
# Расстояние полного заполнения (блоков)
|
||||
full-range: 8
|
||||
|
||||
# Окна
|
||||
window:
|
||||
# Быстрый волт выжившего (секунд)
|
||||
vault-survivor-fast: 1.0
|
||||
|
||||
|
||||
# Медленный волт выжившего (секунд)
|
||||
vault-survivor-slow: 1.5
|
||||
|
||||
|
||||
# Волт киллера (секунд)
|
||||
vault-killer: 1.5
|
||||
|
||||
|
||||
# Блокировка после 3 волтов подряд (секунд)
|
||||
vault-block-seconds: 15
|
||||
|
||||
|
|
@ -122,17 +200,39 @@ window:
|
|||
endgame:
|
||||
# Время открытия ворот (секунд)
|
||||
gate-open-seconds: 20
|
||||
|
||||
# Время до коллапса (секунд)
|
||||
|
||||
# Время до конца после открытия ворот (секунд)
|
||||
collapse-seconds: 120
|
||||
|
||||
|
||||
# Открытие сундуков (секунд)
|
||||
chest-open-seconds: 3
|
||||
|
||||
# Расстояние для взаимодействия с воротами (блоков)
|
||||
gate-interaction-range: 3.0
|
||||
|
||||
# Уведомление маньяка о генераторе
|
||||
killer-notification:
|
||||
# Время действия компаса (секунд)
|
||||
compass-duration-seconds: 5
|
||||
|
||||
# Скорборд
|
||||
scoreboard:
|
||||
# Показывать сердца (жизни)
|
||||
show-hearts: true
|
||||
|
||||
# Символ сердца
|
||||
heart-symbol: "♥"
|
||||
|
||||
# Цвет ника: HEALTHY, INJURED (красный), HEALING (зелёный), HOOKED (тёмно-красный)
|
||||
color-healthy: "WHITE"
|
||||
color-injured: "RED"
|
||||
color-healing: "GREEN"
|
||||
color-hooked: "DARK_RED"
|
||||
|
||||
# Люк
|
||||
hatch:
|
||||
# Минимум живых для открытия люка
|
||||
min-survivors-for-open: 1
|
||||
|
||||
|
||||
# Условие: живых < починенных генераторов
|
||||
require-more-gens-than-survivors: true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue