what I'm looking for is advice on what I can do in the editor and what I have to do with custom code like deriving from TurnBasedBattleSystem, ORK selection/targeting classes, etc.
my game will be a sci-fi turn-based RPG in the style of CRPGs like Baldur's Gate, Divinity: Original Sin 2, Wasteland, Solasta, etc. I won't be using a grid.
my combat system is a little different than the typical. instead of executing actions as they are selected, all actions from all combatants are run at the end of the round simultaneously (using classic, dynamic options).
I won't be using the battle menu but instead use shortcuts. here is an example from BG3 (from official site) of what my UI will lean towards:
I have been trying to solve some of my issues individually with little progress. I was hoping more context would help.
Here is an example of typical CRPG combat mechanics:
1. combat order is determined (initiative).
2. combatants take turns in combat order.
3. action points are used. sometimes a separate move meter.
4. player’s turn starts in a "selection" type mode. examples of actions permitted (using mouse):
a. mouse over ground:
1. shows a target icon/effect on ground.
2. shows distance and AP required for move.
b. hovering over "things" (abilities, interactables, combatants, etc.): show an info UI.
c. clicking on ground moves character to that position.
d. clicking on interactable uses it (moves character to it first).
e. clicking on shortcut UI goes into target mode (if not use on self).
f. clicking on a combatant directly (not through shortcuts) uses the default attack (weapon in hand).
5. reactions/interrupts: attack of opportunity is an example.
6. player can end turn anytime.
7. if AP = 0 then the combatant’s turn ends (sometimes automatically).here are mechanics specific to my game:
as mentioned above actions are queued up during a combatant’s turn then at end of round all combatants run through the (their?) queue simultaneously (round-robin) – same as ORK does now I think.
8. on combatant’s turn they plan what they are going to do (see waypoint system below).
9. initiative is still used but in two ways. in the combatant’s turn (planning part) the order is reversed. there is a chance (combat awareness check) that the combatant can get insight on what previous combatants have planned and use that knowledge to plan their turn. during plan execution (end of round) the original initiative order is used.
10. just using action points.
11. waypoint system:
a. click on ground: places a "waypoint" which implies a move (action automatically added).
b. click on waypoint to select it (last waypoint placed is "selected" by default):
1. add action (via shortcut UI, etc.): choose an ability, item, etc.. player then picks targets.
2. remove waypoint. any associated actions are removed.
3. remove waypoint action(s).
c. drag waypoint to reposition. affects associated actions (action points, distance, etc.). may be too complicated (more trouble than it’s worth) to implement. this may fall into the "nice to have" bucket.
d. clicking on a combatant directly adds an "attack" action to the selected waypoint if one exists. If not, a waypoint is created at the player's current position.
e. hovering over waypoint displays an "indicator" (lines, highlighting, etc.) of all the targets of associated actions.
f. hovering over waypoint action does the same but just for that action.
12. if AP = 0 then the user will need to end their turn or modify waypoints. ending turn automatically may be an option.
13. reaction system: at end of round when all combatant's actions are running game state will be monitored. depending on what happens the AI may be allowed to change (replace?) what they do next. For the player, a UI will be shown with options.
combatant's target may not be in range or behind an obstacle, etc. by the time their current queued action is used.
combatant gets chance to decide to perform action or not.
scenario: AI targets player with a laser gun during planning part of turn.
at end of round (plan execute part of turn) the player goes behind an obstacle. AI has a choice to shoot or not. if the AI chooses to shoot the obstacle will be hit instead.
turn based (classic, dynamic)