You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RPG_Prototype/Test Scenes/Player.gd

41 lines
975 B
GDScript

extends Sprite2D
@onready var ATB = $battle_menu/ATB
@onready var ActionState = $battle_menu/ActionState
var NextAction
var ActionReady = false
func _ready():
var menu = $battle_menu
var item = menu.add_action($Combatant/Actions/attack)
item.action_selected.connect(do_action)
item.action.action_finished.connect(action_done)
item = menu.add_action($Combatant/Actions/spin_attack)
item.action_selected.connect(do_action)
item.action.action_finished.connect(action_done)
func _process(delta):
var combatant = $Combatant
if ActionReady and ATB.value == 100:
NextAction.execute()
ActionState.text = "Action Executing: %s" % NextAction.ActionName
combatant.ATBCurrent = 0
ATB.value = 0
ActionReady = false
return
combatant.tick_atb(delta)
ATB.value = combatant.ATBCurrent
func do_action(action):
ActionState.text = "Action Queued: %s" % action.ActionName
NextAction = action
ActionReady = true
func action_done():
ActionState.text = ""