baddle
This commit is contained in:
@@ -37,29 +37,31 @@ static func playerDecisionCallable(_params:Dictionary) -> int:
|
||||
print("All enemies defeated! Victory!")
|
||||
assert(false)
|
||||
|
||||
# OK we are actually fighting.
|
||||
# Determine fighters and whether they're AI or player controlled
|
||||
var playerFighters:Array[BattleFighter] = []
|
||||
var aiFighters:Array[BattleFighter] = []
|
||||
|
||||
for fighter:BattleFighter in BATTLE.fighterMap.values():
|
||||
if !fighter || !fighter.canPlayerMakeDecision():
|
||||
continue
|
||||
playerFighters.append(fighter)
|
||||
|
||||
for fighter:BattleFighter in BATTLE.fighterMap.values():
|
||||
if !fighter || !fighter.canMakeDecision():
|
||||
continue
|
||||
if fighter in playerFighters:
|
||||
continue
|
||||
aiFighters.append(fighter)
|
||||
|
||||
# Get decisions
|
||||
var decisions:Array[BattleDecision] = []
|
||||
var playerDecisions = await BATTLE.battleScene.getBattleDecisions(playerFighters)
|
||||
decisions.append_array(playerDecisions)
|
||||
|
||||
for fighter:BattleFighter in BATTLE.fighterMap.values():
|
||||
if !fighter || !fighter.isPlayerControlled():
|
||||
continue
|
||||
|
||||
# Handle player decision
|
||||
BATTLE.battleScene.actionBox.visible = true
|
||||
var decision = await BATTLE.battleScene.actionBox.decisionMade
|
||||
BATTLE.battleScene.actionBox.visible = false
|
||||
if decision == null:
|
||||
continue
|
||||
decisions.append(decision)
|
||||
|
||||
# AI decisions
|
||||
for fighter:BattleFighter in BATTLE.fighterMap.values():
|
||||
if !fighter || fighter.isPlayerControlled():
|
||||
continue
|
||||
for fighter in aiFighters:
|
||||
var decision = fighter.getAIDecision()
|
||||
if decision == null:
|
||||
continue
|
||||
decisions.append(decision)
|
||||
if decision != null:
|
||||
decisions.append(decision)
|
||||
|
||||
# Here I could do something like cutscene specific logic?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user