Files
Dawn-Godot/battle/fighter/BattleMove.gd
2026-01-11 20:22:15 -06:00

52 lines
1.1 KiB
GDScript

class_name BattleMove
enum MoveType {
PHYSICAL,
ABILITY,
MAGICAL,
}
var name:String
var power:int
var mpCost:int
var speedModifier:float
var accuracy:float
var moveType:MoveType
var fieldUse:bool
func _init(params:Dictionary) -> void:
self.name = params.get("name", "Unknown Move")
self.power = params.get("power", 0)
self.mpCost = params.get("mpCost", 0)
self.speedModifier = params.get("speedModifier", 1.0)
self.accuracy = params.get("accuracy", 1.0)
self.moveType = params.get("moveType", MoveType.PHYSICAL)
self.fieldUse = params.get("fieldUse", false)
func start(_params:Dictionary) -> void:
# Implement move execution logic here
await UI.TEXTBOX.setTextAndWait("Action")
# Moves
static var MOVE_PUNCH = BattleMove.new({
"name": "Punch",
"power": 15,
"accuracy": 0.95,
"moveType": MoveType.PHYSICAL
})
static var MOVE_FIRE1 = BattleMove.new({
"name": "Fire",
"power": 25,
"mpCost": 5,
"accuracy": 0.9,
"moveType": MoveType.MAGICAL
})
static var MOVE_HEAL1 = BattleMove.new({
"name": "Heal",
"power": -20,
"mpCost": 8,
"accuracy": 1.0,
"moveType": MoveType.ABILITY
})