добавил сигареты как бонус + анимации моделе врагов
This commit is contained in:
@@ -96,6 +96,58 @@ var coyoteJumpOn : bool = false
|
||||
@onready var ceilingCheck : RayCast3D = $Raycasts/CeilingCheck
|
||||
@onready var floorCheck : RayCast3D = $Raycasts/FloorCheck
|
||||
|
||||
|
||||
|
||||
|
||||
# --- МЕХАНИКА БОНУСНОГО УСКОРЕНИЯ (АДРЕНАЛИН) ---
|
||||
var is_speed_boosted: bool = false
|
||||
|
||||
func activate_speed_boost() -> void:
|
||||
if is_speed_boosted: return # Защита от повторного накладывания эффекта
|
||||
|
||||
is_speed_boosted = true
|
||||
print("[ИГРОК] Адреналин подействовал на ноги!")
|
||||
|
||||
# 1. Запоминаем твои текущие настройки скорости из инспектора
|
||||
var old_walk: float = walkSpeed
|
||||
var old_run: float = runSpeed
|
||||
|
||||
# 2. Принудительно разгоняем базовые переменные, которые стейт-машина читает каждый кадр!
|
||||
walkSpeed = old_walk * 1.8
|
||||
runSpeed = old_run * 1.8
|
||||
|
||||
# Сразу толкаем текущую скорость moveSpeed вперед, чтобы разгон пошел без задержки в один кадр
|
||||
if "walkOrRun" in self and walkOrRun == "RunState":
|
||||
moveSpeed = runSpeed
|
||||
else:
|
||||
moveSpeed = walkSpeed
|
||||
|
||||
# Визуальный эффект: плавно растягиваем камеру (FOV) на +20 градусов для сочности
|
||||
if player_camera:
|
||||
var tween = create_tween()
|
||||
tween.tween_property(player_camera, "fov", normal_fov + 20.0, 0.2)
|
||||
|
||||
# 3. ВРЕМЯ ДЕЙСТВИЯ: Бонус работает ровно 5 секунд
|
||||
await get_tree().create_timer(5.0).timeout
|
||||
|
||||
# 4. СБРОС: Возвращаем базовые скорости в норму
|
||||
walkSpeed = old_walk
|
||||
runSpeed = old_run
|
||||
|
||||
if "walkOrRun" in self and walkOrRun == "RunState":
|
||||
moveSpeed = runSpeed
|
||||
else:
|
||||
moveSpeed = walkSpeed
|
||||
|
||||
# Плавно возвращаем камеру назад
|
||||
if player_camera:
|
||||
var tween = create_tween()
|
||||
tween.tween_property(player_camera, "fov", normal_fov, 0.3)
|
||||
|
||||
is_speed_boosted = false
|
||||
print("[ИГРОК] Действие адреналина закончилось. Скорость в норме.")
|
||||
|
||||
|
||||
# НАЙДИ ЭТУ ФУНКЦИЮ ВНУТРИ СKРИПТА PlayerCharacter.gd И ЗАМЕНИ ЕЁ:
|
||||
|
||||
func _ready():
|
||||
|
||||
Reference in New Issue
Block a user