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