diff --git a/Dreadnought.xml b/Dreadnought.xml
index 44253fd..3edadf9 100644
--- a/Dreadnought.xml
+++ b/Dreadnought.xml
@@ -104,6 +104,7 @@ send("config aethermap off", false)
local reset = dreadnought.reset.empath()
dreadnought.aetherbeastsTotal = reset.aetherbeastsTotal
dreadnought.currentModule = "grid"
+dreadnought.actions = reset.actions
dreadnought.empath = reset.empath
sendGMCP([[Char.Skills.Get {"group":"aethercraft"}]])
@@ -137,7 +138,8 @@ send("config aethermap off", false)
local reset = dreadnought.reset.empath()
dreadnought.aetherbeastsTotal = reset.aetherbeastsTotal
-dreadnought.currentModule = ""
+dreadnought.currentModule = reset.currentModule
+dreadnought.actions = reset.actions
dreadnought.empath = reset.empath
0
39
@@ -167,6 +169,7 @@ send("config aethermap off", false)
local reset = dreadnought.reset.combateer()
dreadnought.aetherbeastsTotal = reset.aetherbeastsTotal
dreadnought.currentModule = "turret"
+dreadnought.actions = reset.actions
dreadnought.combateer = reset.combateer
enableTrigger("Turret Setup")
@@ -202,7 +205,8 @@ send("config aethermap off", false)
local reset = dreadnought.reset.combateer()
dreadnought.aetherbeastsTotal = reset.aetherbeastsTotal
-dreadnought.currentModule = matches[2]
+dreadnought.currentModule = reset.currentModule
+dreadnought.actions = reset.actions
dreadnought.combateer = reset.combateer
0
0
@@ -361,7 +365,7 @@ end
^Drawn by the flux of energy, a \w+ (\w+) suddenly wanders into the nearby area\.$
^Drawn by the flux of energy, a six-headed (\w+) suddenly wanders into the nearby area\.$
^Drawn by the flux of energy, a swarm of (\w+) suddenly wanders into the nearby area\.$
- ^Drawn by the flux of energy, a school ofburning (\w+) suddenly wanders into the nearby area\.$
+ ^Drawn by the flux of energy, a school of burning (\w+) suddenly wanders into the nearby area\.$
1
@@ -642,6 +646,60 @@ resetFormat()
#000000
+
+ Grid Setup
+
+ 0
+ 0
+ 1
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^"(\D+)(\d+)"\s+(?:\w+\s){3}\s+\d+\%\ \/\ \w+ damage
+
+
+ 1
+
+
+ End Setup
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ return isPrompt()
+
+
+ 4
+
+
+
Repairing
@@ -678,7 +736,7 @@ resetFormat()
0
0
0
- gridra
+
#ff0000
#ffff00
@@ -704,11 +762,35 @@ resetFormat()
1
+
+ Repairing
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^You send a surge of strength through the empathic grid
+
+
+ 1
+
+
Repaired
-
+end
+
+action.postCommand()
0
0
0
@@ -733,12 +815,12 @@ end
local id = matches[3]
local damage = matches[4]
local operator = matches[5]
-local hasParasite = matches[6] ~= nil
+local hasParasite = (matches[6] ~= nil and matches[6] ~= "")
if damage ~= "no" then
local priority = 0
- if operator ~= nil then
+ if operator ~= "" then
if module == "grid" then
priority = 3
elseif module == "chair" then
@@ -755,17 +837,21 @@ if damage ~= "no" then
priority = 10
end
else
- priority = 11
+ if not hasParasite then
+ priority = 11
+ else
+ priority = 12
+ end
end
dreadnought.heap.insert(dreadnought.actions, dreadnought.action(module, priority, "grid repair module " .. id))
end
-if dreadnought.empath.flags.checkSlivvens and hasParasite then
- if operator ~= nil then
- send("shipt Captain, there's a slivven attacking " .. operator .. "'s " .. module)
+if dreadnought.empath.flags.checkSlivven and hasParasite then
+ if operator ~= "" then
+ send("shipt Captain, there's a slivven attacking " .. operator .. "'s " .. module, false)
else
- send("shipt Captain, there's a slivven attacking an unoccupied " .. module)
+ send("shipt Captain, there's a slivven attacking an unoccupied " .. module, false)
end
dreadnought.empath.slivvensFound = dreadnought.empath.slivvensFound + 1
@@ -781,7 +867,7 @@ end
#000000
#000000
- "(\D+)(\d+)"\s+(?:\w+\s?){3}\s+\d+\% \/ (\w+) damage(?: \[(\w+)\])?(?: (PARASITE)\!)?
+ ^"(\D+)(\d+)"\s+(?:\w+\s?){3}\s+\d+\% \/ (\w+) damage(?: \[(\w+)\])?(?: (PARASITE)\!)?$
1
@@ -792,11 +878,11 @@ end
local slivvensFound = dreadnought.empath.slivvensFound
if slivvensFound == 0 then
- send("shipt No slivvens detected upon the ship.")
+ send("shipt No slivvens detected upon the ship.", false)
elseif slivvensFound == 1 then
- send("shipt Only one slivven infecting the ship.")
+ send("shipt Only one slivven infecting the ship.", false)
else
- send("shipt A total of " .. slivvensFound .. " slivvens infecting the ship.")
+ send("shipt A total of " .. slivvensFound .. " slivvens infecting the ship.", false)
end
dreadnought.empath.slivvensFound = 0
@@ -990,62 +1076,6 @@ end
-
- Grid Setup
-
- 0
- 0
- 1
-
-
- #ff0000
- #ffff00
-
- #000000
- #000000
-
- ^"(\D+)(\d+)"\s+(?:\w+\s){3}\s+\d+\%\ \/\ \w+ damage
-
-
- 1
-
-
- End Setup
-
- 0
- 0
- 0
-
-
- #ff0000
- #ffff00
-
- #000000
- #000000
-
- return isPrompt()
-
-
- 4
-
-
-
Launch Setup
@@ -1080,7 +1110,7 @@ end
#000000
#000000
- ^(?:\w+\s?)+ into the aetherways\.$
+ ^(?:\w+\s?)+ launches into the aetherways\.$
1
@@ -1155,9 +1185,11 @@ send("grid modules", false)
#000000
^\(Ship\): \w+ (?:say|says), "Check\."$
+ I have been infested by an aetheretic slivven\!"$
1
+ 1
@@ -1341,9 +1373,7 @@ else
dreadnought.heap.insert(dreadnought.actions,
dreadnought.action("fire on creature", 4, "turret fire"))
end
-end
-
-dreadnought.fireTurret(dreadnought.actions)
+end
0
99
0
@@ -1356,11 +1386,9 @@ dreadnought.fireTurret(dreadnought.actions)
#000000
^\(Ship\): \w+ (?:say|says), "Target (the aethership )?(\w+)\."$
- ^\(Ship\): \w+ (?:say|says), "Gunners, train your sights upon the (\w+)\."$
1
- 1
@@ -1422,9 +1450,11 @@ end
if action.name == "vortex" then
dreadnought.heap.extract(dreadnought.actions)
+
+ action.postCommand()
end
-action.postCommand()
+
0
0
0
@@ -1438,10 +1468,12 @@ action.postCommand()
You focus your turret on the fabric of aetherspace itself and fire, ripping open a gaping vortex.
A focused blast rips through the fabric of aetherspace, ripping open a gaping vortex.
+ There is already an aether vortex located here.
3
3
+ 3
@@ -1476,9 +1508,9 @@ end
if action.name == "shockwave" then
dreadnought.heap.extract(dreadnought.actions)
-end
-action.postCommand()
+ action.postCommand()
+end
0
0
0
@@ -1502,11 +1534,7 @@ action.postCommand()
Turret Fired
-
+
0
0
0
@@ -1520,22 +1548,21 @@ end
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.
+ The floor shakes as you fire astray.
2
3
+ 3
Beast Dies
+end
0
0
0
@@ -1557,12 +1584,11 @@ dreadnought.fireTurret(dreadnought.actions)
No Target
+action.postCommand()
0
0
0
@@ -1575,16 +1601,14 @@ dreadnought.fireTurret(dreadnought.actions)
#000000
A battle turret is not targeting anything.
- No such creature is close enough for a battle turret to get a targeting lock.
3
- 3
Turret Exhaustion
-
0
99
@@ -1603,6 +1627,26 @@ dreadnought.fireTurret(dreadnought.actions)
3
+
+ Reset Lock
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ A battle turret is not yet ready to be used again.
+
+
+ 3
+
+
Collector
@@ -1779,7 +1823,7 @@ end
No Vortex
-
+
0
3
0
@@ -1948,6 +1992,9 @@ end
Collector On Targetted
@@ -1994,7 +2041,9 @@ end
Collector On
+if dreadnought.currentModule == "collector" then
+ send("shipt Aye aye, Captain! Activating my collector", false)
+end
0
0
0
@@ -2015,7 +2064,9 @@ tempTimer(0.1, [[send("shipt Aye aye, Captain! Activating my collector"
Collector Off
+if dreadnought.currentModule == "collector" then
+ send("shipt Aye aye, Captain! Deactivating my collector", false)
+end
0
39
0
@@ -2074,6 +2125,48 @@ tempTimer(0.1, [[send("shipt Aye aye, Captain! Deactivating my collector&qu
1
+
+ Gags
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+
+
+ Turrets
+
+ 0
+ 0
+ 0
+
+
+ #ff0000
+ #ffff00
+
+ #000000
+ #000000
+
+ ^The floor shakes as \w+ fires a blast that slams into
+ ^The floor shakes as \w+ fires astray\.$
+ ^The floor shakes as you fire a blast that slams into
+ A battle turret whirrs quietly, ready to be used once again.
+
+
+ 1
+ 1
+ 1
+ 3
+
+
+
@@ -2479,6 +2572,16 @@ dreadnought.fireTurret(dreadnought.actions)
^ttar (\w+)(?: (ship))?$
+
+ Vortex
+
+
+
+ ^tvort$
+
Collector
@@ -2545,6 +2648,19 @@ dmsg("All Dreadnought reflexes have been disabled.")
^hunt off$
+
+ Gags
+
+
+
+ ^gag (on|off)$
+
@@ -2855,6 +2971,7 @@ function dreadnought.reset.empath()
return {
aetherbeastsTotal = 0,
currentModule = "",
+ actions = dreadnought.heap.new(),
empath = {
modules = {
@@ -2902,6 +3019,7 @@ function dreadnought.reset.combateer()
return {
aetherbeastsTotal = 0,
currentModule = "",
+ actions = dreadnought.heap.new(),
combateer = {
skills = {},
@@ -3004,9 +3122,7 @@ registerAnonymousEventHandler("gmcp.Char.Skills.List", "dreadnoug
if gmcp.Char.Vitals.modulebal == "1" then
dreadnought.balance = true
- if not dreadnought.locked then
- raiseEvent("dreadnought.onFireAction", dreadnought.currentModule)
- end
+ raiseEvent("dreadnought.onFireAction", dreadnought.currentModule)
else
dreadnought.balance = false
end