Change battle actions to use battle decisions instead.
This commit is contained in:
11
battle/action/BattleAction.gd
Normal file
11
battle/action/BattleAction.gd
Normal file
@@ -0,0 +1,11 @@
|
||||
class_name BattleAction
|
||||
|
||||
var speedModifier:float
|
||||
|
||||
func _init(params:Dictionary) -> void:
|
||||
self.speedModifier = params.get("speedModifier", 1.0)
|
||||
|
||||
func perform(params:Dictionary) -> void:
|
||||
assert(params.has("user"))
|
||||
assert(params.has("target"))
|
||||
pass
|
||||
1
battle/action/BattleAction.gd.uid
Normal file
1
battle/action/BattleAction.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ref2clyh0nc2
|
||||
13
battle/action/BattleDecision.gd
Normal file
13
battle/action/BattleDecision.gd
Normal file
@@ -0,0 +1,13 @@
|
||||
class_name BattleDecision
|
||||
|
||||
var action:BattleAction
|
||||
var user:BattleFighter
|
||||
var target:BattleFighter
|
||||
|
||||
func _init(_action:BattleAction, _user:BattleFighter, _target:BattleFighter) -> void:
|
||||
action = _action
|
||||
user = _user
|
||||
target = _target
|
||||
|
||||
func getPriority() -> float:
|
||||
return 1.0
|
||||
1
battle/action/BattleDecision.gd.uid
Normal file
1
battle/action/BattleDecision.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bhdv13g6t1h01
|
||||
50
battle/action/BattleMove.gd
Normal file
50
battle/action/BattleMove.gd
Normal file
@@ -0,0 +1,50 @@
|
||||
class_name BattleMove extends BattleAction
|
||||
|
||||
enum MoveType {
|
||||
PHYSICAL,
|
||||
ABILITY,
|
||||
MAGICAL,
|
||||
}
|
||||
|
||||
var name:String
|
||||
var power:int
|
||||
var mpCost:int
|
||||
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 getPriority(_fighter:BattleFighter) -> float:
|
||||
return 1.0
|
||||
|
||||
# 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
|
||||
})
|
||||
1
battle/action/BattleMove.gd.uid
Normal file
1
battle/action/BattleMove.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://gb08hhwk0paw
|
||||
Reference in New Issue
Block a user