/
Vibek
/
First_Game
Обзор
Документация
Войти
/
Vibek
/
First_Game
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
models/abilities/throw_ability.py
28 строк
983 B
Vibek
Добавлены звуки и реализован их менеджер
20 июн 2026, 19:28
20 июн 2026, 19:28
911d021
Код
Авторство
О чём код?
from models.abilities.base_ability import BaseAbility from core.config import Config class ThrowAbility(BaseAbility): def __init__(self, cost: float = 70.0, cooldown: float = 3.0): super().__init__(name="Throw", cost=cost, cooldown=cooldown) def activate(self, player, bus) -> bool: if not self.can_activate(player): return False if not player.start_throw(): return False throw_dir = player.facing_direction player.force -= self.cost player._last_emitted_force = int(player.force) player.bus.emit(Config.EVT_FORCE_CHANGED, {"value": player._last_emitted_force}) bus.emit("ability:throw_request", { "pos": player.center.copy(), "direction": throw_dir, "owner_id": id(player) }) self.current_cooldown = self.cooldown bus.emit(Config.EVT_ABILITY_THROW_USED, {"user_id": id(player), "ability": self.name}) return True