@@ -65,36 +65,22 @@ class AutomaticOrdersCombatPlugin : BaseEveryFrameCombatPlugin() {
6565 val ship = fleetManager.getShipFor(member)
6666 if (! ship.isAlive) continue
6767
68- val needsInitialOrders = shipsGivenInitialOrders.add(ship.id)
69- val needsInitialAiOrders = ship.shipAI == null && shipsGivenInitialAiOrders.add(ship.id)
70- var directRetreat = false
71- var retreatNoMissiles = false
72- for (hullMod in ship.variant.hullMods) {
73- if (needsInitialOrders) {
74- when (hullMod) {
75- EscortLight ().id -> orderEscort(ship, CombatAssignmentType .LIGHT_ESCORT )
76- EscortMedium ().id -> orderEscort(ship, CombatAssignmentType .LIGHT_ESCORT )
77- EscortHeavy ().id -> orderEscort(ship, CombatAssignmentType .LIGHT_ESCORT )
78- }
79- }
80- if (needsInitialAiOrders && hullMod == OrderSearchAndDestroy .ID ) {
81- orderSearchAndDestroy(ship)
82- }
68+ val hullMods = ship.variant.hullMods
8369
84- if (ship.shipAI == null ) continue
85- when (hullMod) {
86- RetreatNoMissiles .ID -> {
87- retreatNoMissiles = true
88- }
89- DirectRetreat .ID -> {
90- directRetreat = true
91- }
92- }
70+ if (shipsGivenInitialOrders.add(ship.id)) {
71+ if (EscortLight ().id in hullMods) orderEscort(ship, CombatAssignmentType .LIGHT_ESCORT )
72+ if (EscortMedium ().id in hullMods) orderEscort(ship, CombatAssignmentType .MEDIUM_ESCORT )
73+ if (EscortHeavy ().id in hullMods) orderEscort(ship, CombatAssignmentType .HEAVY_ESCORT )
9374 }
9475
9576 if (ship.shipAI == null ) continue
9677
97- if (retreatNoMissiles && outOfMissiles(ship)) {
78+ if (shipsGivenInitialAiOrders.add(ship.id)) {
79+ if (OrderSearchAndDestroy .ID in hullMods) orderSearchAndDestroy(ship)
80+ }
81+
82+ val directRetreat = DirectRetreat .ID in hullMods
83+ if (RetreatNoMissiles .ID in hullMods && outOfMissiles(ship)) {
9884 orderRetreat(ship, RetreatReason .MISSILES , CR_COLOR , directRetreat)
9985 }
10086
0 commit comments