diff --git a/scripts/Statemachine/CooldownTimer.gd b/scripts/Statemachine/CooldownTimer.gd index 332bd09..b98f5e6 100644 --- a/scripts/Statemachine/CooldownTimer.gd +++ b/scripts/Statemachine/CooldownTimer.gd @@ -2,12 +2,15 @@ class_name CooldownTimer var cooldown: float = 100 var lastStart: int = 0 +var speedScale: float = 1 func _init(cd: float = 100): cooldown = cd +func centralTime(): + return cooldown / speedScale func isCooldowned(): - return timeSinceLastStart() >= cooldown + return timeSinceLastStart() >= centralTime() func start(): var state = isCooldowned() if state: diff --git a/scripts/Structs/Weapon.gd b/scripts/Structs/Weapon.gd index ec45ccd..f3b30e9 100644 --- a/scripts/Structs/Weapon.gd +++ b/scripts/Structs/Weapon.gd @@ -171,6 +171,7 @@ func playSound(sound: String): await cloned.finished cloned.queue_free() func tryAttack(entity: EntityBase): + cooldownTimer.speedScale = entity.fields.get(FieldStore.Entity.ATTACK_SPEED) if cooldownTimer.start(): if entity.useEnergy(needEnergy): return await attack(entity)