26 lines
540 B
GDScript
26 lines
540 B
GDScript
extends PlayerState
|
|
class_name PlayerDodgeRoll
|
|
|
|
|
|
|
|
const DODGE_SPEED : float = 20.0
|
|
const DODGE_TIME : float = .1
|
|
var dodge_timer = DODGE_TIME
|
|
|
|
func Enter():
|
|
character.anim_player.play("dodge")
|
|
character.visible = false
|
|
|
|
func Physics_Update(delta):
|
|
if dodge_timer > 0:
|
|
dodge_timer -= delta
|
|
else:
|
|
dodge_timer = DODGE_TIME
|
|
Transitioned.emit(self,"on floor")
|
|
|
|
character.velocity.x = character.dodge_direction.x * DODGE_SPEED
|
|
character.velocity.z = character.dodge_direction.y * DODGE_SPEED
|
|
|
|
func Exit():
|
|
character.visible = true
|