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