Advertisement
ChilliVonWilly

Attack1-State

Oct 21st, 2024
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class_name State_Attack extends State
  2.  
  3. @export var attack_sound: AudioStream
  4.  
  5. @export var move_speed: float = 75
  6. @onready var idle: State = $"../Idle"
  7. @onready var walk: State = $"../Walk"
  8. @onready var attack2: State = $"../Attack2"
  9. @onready var animation_player: AnimationPlayer = $"../../AnimationPlayer"
  10. @onready var attack_anim: AnimationPlayer = $"../../AttackAnimationPlayer"
  11.  
  12. @onready var combo_timer = $"../../weapon/combo_timer"
  13. @onready var weapon = $"../../weapon"
  14. @onready var audio : AudioStreamPlayer2D = $"../../Audio/AudioStreamPlayer2D"
  15. @onready var weapon_sprite: Sprite2D = $"../../weapon/WeaponSprite"
  16.  
  17.  
  18.  
  19. var attacking: bool = false
  20. var counter: int = 1
  21. var can_combo: bool = false
  22.  
  23. ## What happens when the player enters this state?
  24. func Enter() -> void:
  25.     weapon.enable()
  26.     attacking = true
  27.     can_combo = false
  28.     player.UpdateAttackAnimation("attack1")
  29.     audio.stream = attack_sound
  30.     audio.pitch_scale = randf_range(0.9, 1.1)
  31.     audio.play()
  32.     combo_timer.start()
  33.     pass
  34.  
  35. ## What happens when the player exits this state?
  36. func Exit() -> void:
  37.     weapon.disable()
  38.     pass
  39.  
  40.  
  41. func Process( _delta : float) -> State:
  42.     player.velocity = player.direction * move_speed
  43.    
  44.     if attacking == false:
  45.         if player.direction == Vector2.ZERO:
  46.             return idle
  47.         else:
  48.             return walk
  49.     return null
  50.  
  51.  
  52. func Physics( _delta : float) -> State:
  53.     return null
  54.  
  55.  
  56. func HandleInput( _event : InputEvent) -> State:
  57.     if _event.is_action_pressed("Attack"):
  58.         return attack2
  59.     return null
  60.  
  61.  
  62. func EndAttack(_newAnimName: String) -> void:
  63.     attacking = false
  64.     weapon.disable()
  65.  
  66.  
  67. func _on_combo_timer_timeout():
  68.     attacking = false
  69.     weapon.disable()
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement