diff --git a/Dreadnought.xml b/Dreadnought.xml
index b6a345d..44253fd 100644
--- a/Dreadnought.xml
+++ b/Dreadnought.xml
@@ -103,7 +103,7 @@ send("config aethermap off", false)
local reset = dreadnought.reset.empath()
dreadnought.aetherbeastsTotal = reset.aetherbeastsTotal
-dreadnought.currentModule = matches[2]
+dreadnought.currentModule = "grid"
dreadnought.empath = reset.empath
sendGMCP([[Char.Skills.Get {"group":"aethercraft"}]])
@@ -164,14 +164,16 @@ enableTrigger("Targetting - Callout")
send("config shipsight 0", false)
send("config aethermap off", false)
-dreadnought.currentModule = matches[2]
-
-sendGMCP([[Char.Skills.Get {"group":"aethercraft"}]])
-send("\n")
-deleteLineP()
+local reset = dreadnought.reset.combateer()
+dreadnought.aetherbeastsTotal = reset.aetherbeastsTotal
+dreadnought.currentModule = "turret"
+dreadnought.combateer = reset.combateer
enableTrigger("Turret Setup")
-send("p turret", false)
+send("p turret", false)
+
+sendGMCP([[Char.Skills.Get {"group":"aethercraft"}]])
+send("\n")
0
39
0
@@ -183,10 +185,10 @@ send("p turret", false)
#000000
#000000
- ^You step up to a battle (\w+), locking yourself into the module and linking your mind to the controls of the ship\. After a moment, you begin to sense your command of the module in your own brain\.$
+ You step up to a battle turret, locking yourself into the module and linking your mind to the controls of the ship. After a moment, you begin to sense your command of the module in your own brain.
- 1
+ 3
@@ -198,7 +200,10 @@ disableTrigger("Targetting - Callout")
send("config shipsight 0", false)
send("config aethermap off", false)
-dreadnought.currentModule = ""
+local reset = dreadnought.reset.combateer()
+dreadnought.aetherbeastsTotal = reset.aetherbeastsTotal
+dreadnought.currentModule = matches[2]
+dreadnought.combateer = reset.combateer
0
0
0
@@ -511,12 +516,10 @@ end
#000000
#000000
- ^(?:\w+\s){3}suddenly explodes\!$
- A six-headed scyllus suddenly explodes!
+ ^(?:\w+(?:\-\w+)?\s){3}suddenly explodes\!$
1
- 3
@@ -572,7 +575,7 @@ end
Shockwave Timer
3
-
- Gnome traders
-
- 0
- 39
- 0
-
-
- #ff0000
- #ffff00
-
- #000000
- #000000
-
- glides off towards the (\w+)\.$
-
-
- 1
-
-
Empath
@@ -907,7 +890,7 @@ dreadnought.repairShip(dreadnought.actions)
Call
-
Emergency
-
Aetherbeast Dead
-
@@ -1007,27 +990,6 @@ end
-
- Slivven Check
-
- 0
- 0
- 0
-
-
- #ff0000
- #ffff00
-
- #000000
- #000000
-
- ^\(Ship\): \w+ (?:say|says), "Check\."$
-
-
- 1
-
-
Grid Setup
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+
+
+ Launch
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^(?:\w+\s?)+ into the aetherways\.$
+
+
+ 1
+
+
+
+ Covey
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^You point out to (?:\w+\s?)+ that \w+ has a covey\.$
+
+
+ 1
+
+
+
+ Planarbond
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^You direct (?:\w+\s?)+ to form a deep planar bond with the crew, rooting each of them to the distant aetherwaves\.$
+
+
+ 1
+
+
+
+
+ Slivven Check
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^\(Ship\): \w+ (?:say|says), "Check\."$
+
+
+ 1
+
+
Combateer
@@ -1100,12 +1176,12 @@ dmsg("The empathic grid is set up and ready for your control.")#000000
-
+
Turret Setup
0
0
- 13
+ 10
#ff0000
@@ -1181,7 +1257,10 @@ disableTrigger("Turret Setup")
Aetherbeast Summoned
-
0
99
@@ -1204,8 +1283,12 @@ dreadnought.fireTurret()
Karibidean Summoned
-
+
0
0
0
@@ -1241,8 +1324,26 @@ dreadnought.fireTurret()
Targeting
-
+
0
99
0
@@ -1254,8 +1355,8 @@ dreadnought.fireTurret()
#000000
#000000
- ^\(Ship\): \w+ says, "Target (\w+)\."$
- ^\(Ship\): \w+ says, "Gunners, train your sights upon the (\w+)\."$
+ ^\(Ship\): \w+ (?:say|says), "Target (the aethership )?(\w+)\."$
+ ^\(Ship\): \w+ (?:say|says), "Gunners, train your sights upon the (\w+)\."$
1
@@ -1263,30 +1364,15 @@ dreadnought.fireTurret()
-
- Turret Balance
-
- 0
- 39
- 0
-
-
- #ff0000
- #ffff00
-
- #000000
- #000000
-
- A battle turret whirrs quietly, ready to be used once again.
-
-
- 3
-
-
Target Acquired
-
+
0
0
0
@@ -1298,19 +1384,20 @@ dreadnought.fireTurret()
#000000
#000000
- ^You tune the weapon module to target a \w+ \w+\.$
- ^You tune the weapon module to target a six-headed \w+\.$
+ ^You tune the weapon module to target (?:a|an) (?:\w+\-?\s?)+\.$
+ No such creature is close enough for a battle turret to get a targeting lock.
1
- 1
+ 3
Vortex
0
0
@@ -1324,39 +1411,6 @@ end
#000000
^\(Ship\): \w+ says, "Vortex\."$
- ^\(Ship\): \w+ says, "Turret vortex.\"$
- ^\(Ship\): \w+ says, "TURRET VORTEX.\"$
- ^\(Ship\): \w+ says, "Turret Vortex\."$
-
-
- 1
- 1
- 1
- 1
-
-
-
- Targetted Vortex
-
- 0
- 99
- 0
-
-
- #ff0000
- #ffff00
-
- #000000
- #000000
-
- ^\(Ship\): \w+ says, \"(\w+), vortex.\"$
1
@@ -1364,7 +1418,13 @@ end
Vortex Fired
-
+
0
0
0
@@ -1386,8 +1446,11 @@ end
Shockwave
-
+
0
99
0
@@ -1399,38 +1462,23 @@ dreadnought.fireTurret()
#000000
#000000
- ^\(Ship\): (\w+) says, \"Shockwave.\"$
+ ^\(Ship\): \w+ says, \"Shockwave.\"$
+ ^(?:\w+\s)+lacks the power to do that\.$
1
-
-
-
- Targetted Shockwave
-
- 0
- 0
- 0
-
-
- #ff0000
- #ffff00
-
- #000000
- #000000
-
- ^\(Ship\): \w+ says, \"(\w+), shockwave.\"$
-
-
1
Shockwave Fired
-
+
0
0
0
@@ -1452,11 +1500,42 @@ end
3
+
+ Turret Fired
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ The floor shakes as you fire a blast that slams into
+ As you attempt to operate a battle turret, it sputters and gyrates without producing a noticeable result.
+
+
+ 2
+ 3
+
+
Beast Dies
-
+
0
0
0
@@ -1476,8 +1555,14 @@ dreadnought.fireTurret()
No Target
-
+
0
0
0
@@ -1500,7 +1585,7 @@ table.remove(dreadnought.combateer.targets, 1)
Turret Exhaustion
+dreadnought.fireTurret(dreadnought.actions)
0
99
0
@@ -1674,7 +1759,7 @@ end
Siphoning Vortex
-
+
0
99
0
@@ -1714,7 +1799,7 @@ end
Full Collector
-
0
@@ -1736,7 +1821,7 @@ disableTrigger("Siphoning - Callout")
Exhaustion
-
0
0
@@ -1756,6 +1841,48 @@ dreadnought.siphonVortex(dreadnought.aetherbeastsTotal)
+
+ Aetherbeast Enters
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^Drawn by the flux of energy, (?:a|an) \w+(?:\-\w+)? \w+ suddenly wanders into the nearby area\.$
+
+
+ 1
+
+
+
+ Aetherbeast Dies
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^(?:\w+(?:\-\w+)?\s){3}suddenly explodes\!$
+
+
+ 1
+
+
Activate/Deactivate calls
@@ -1927,6 +2054,26 @@ tempTimer(0.1, [[send("shipt Aye aye, Captain! Deactivating my collector&qu
1
+
+ Gnome traders
+
+ 0
+ 39
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ glides off towards the (\w+)\.$
+
+
+ 1
+
+
@@ -2239,10 +2386,11 @@ end
Grid Repair
- ^gr(?: (reset))?$
+ ^gr$
Slivven Check
@@ -2255,7 +2403,7 @@ send("grid modules")
Clarity
@@ -2307,24 +2455,29 @@ end
Set Target
-
+ if matches[2] == "karibidean" then
+ dreadnought.heap.insert(dreadnought.actions,
+ dreadnought.action("target karibidean", 5, "turret target creature karibidean"))
+ dreadnought.heap.insert(dreadnought.actions,
+ dreadnought.action("fire on karibidean", 6, "turret fire"))
+ else
+ dreadnought.heap.insert(dreadnought.actions,
+ dreadnought.action("target creature", 3, "turret target creature " ..matches[2]))
+ dreadnought.heap.insert(dreadnought.actions,
+ dreadnought.action("fire on creature", 4, "turret fire"))
+ end
+end
+
+dreadnought.fireTurret(dreadnought.actions)
- ^ttar (\w+)$
+ ^ttar (\w+)(?: (ship))?$
@@ -2359,6 +2512,13 @@ end
^smode (call|auto|off)$
+
+ Ship Look
+
+
+
+ ^sl$
+
Finish Hunting
@@ -2416,7 +2578,7 @@ dmsg("All Dreadnought reflexes have been disabled.")
assert(type(x.priority) == "number")
assert(type(y.priority) == "number")
- return x.priority >= y.priority
+ return x.priority > y.priority
end
local exch = function(h, x, y)
@@ -2676,8 +2838,9 @@ end
cube = ""
},
+ skills = {},
+
flags = {
- haveClarity = false,
checkSlivven = false
},
@@ -2703,10 +2866,9 @@ function dreadnought.reset.empath()
cube = ""
},
- commands = heap.new(),
+ skills = {},
flags = {
- haveClarity = false,
checkSlivven = false
},
@@ -2725,40 +2887,27 @@ end
end
-
-
-
Combateer
@@ -2766,24 +2915,13 @@ end
+end
+
+
@@ -2797,7 +2935,7 @@ end
+
+
+
if gmcp.Char.Vitals.modulebal == "1" then
dreadnought.balance = true
- raiseEvent("dreadnought.onFireAction", dreadnought.currentModule)
+ if not dreadnought.locked then
+ raiseEvent("dreadnought.onFireAction", dreadnought.currentModule)
+ end
else
dreadnought.balance = false
end
@@ -2833,6 +3022,8 @@ registerAnonymousEventHandler("gmcp.Char.Vitals", "dreadnought.ba
if currentModule ~= "" and not dreadnought.locked then
if currentModule == "grid" then
dreadnought.repairShip(dreadnought.actions)
+ elseif currentModule == "turret" then
+ dreadnought.fireTurret(dreadnought.actions)
end
end
end