dreadnought/Dreadnought.xml
Zach Dziura e82c2058b0 v2.0
Lots and lots of changes in this release! The Combateer subsystem has
been totally fixed, with the proper parameters actually being passed to
the fireTurret() function. Various bug fixes all around as well,
especially pertaining to gathering Aethercraft skills and the like.

The big breaking change is the removal of the GM alias from the
Empathing subsystem. Empaths now should use GR, for "Grid Repair". GR
will, by default, only repair modules that are occupied. GR ALL to
repair all modules on the ship.
2016-03-01 23:38:00 -05:00

3204 lines
167 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MudletPackage>
<MudletPackage version="1.0">
<TriggerPackage>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Dreadnought</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>39</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Module Lock</name>
<script>sendGMCP([[Char.Skills.Get {&quot;group&quot;:&quot;aethercraft&quot;}]])
send(&quot;\n&quot;)
if matches[2] == &quot;chair&quot; then
enableAlias(&quot;Pilot&quot;)
enableTrigger(&quot;Pilot&quot;)
disableTrigger(&quot;Autopilot&quot;)
send(&quot;config shipsight 1&quot;)
send(&quot;config aethermap on&quot;)
local returned = dreadnought.reset.pilot()
dreadnought.aetherbeastsTotal = returned.aetherbeastsTotal
dreadnought.pilot = returned.pilot
dmsg(&quot;Welcome to the Pilot's Chair!&quot;)
dmsg(&quot;To toggle autopilot on and off, type in PAUTO &lt;ON|OFF&gt;&quot;)
dmsg(&quot;To toggle calling out for siphons, type in PCALL &lt;ON|OFF&gt;&quot;)
dmsg(&quot;And finally, to set autopilot's pathing... You know, that's a bit complicated. Consult the README at: https://github.com/zcdziura/dreadnought/blob/master/docs/Pilot.md&quot;)
elseif matches[2] == &quot;grid&quot; then
enableAlias(&quot;Empath&quot;)
enableTrigger(&quot;Empath&quot;)
enableTrigger(&quot;Grid Setup&quot;)
send(&quot;config shipsight 0&quot;)
send(&quot;config aethermap off&quot;)
local returned = dreadnought.reset.empath()
dreadnought.aetherbeastsTotal = returned.aetherbeastsTotal
dreadnought.empath = returned.empath
send(&quot;grid modules&quot;)
dmsg(&quot;Welcome to the Empathic Grid!&quot;)
dmsg(&quot;To repair the modules on the ship, type in GR. This will only repair modules which are occupied by crew members.&quot;)
dmsg(&quot;Typing in GR ALL will repair all of the modules on the ship.&quot;)
dmsg(&quot;To manually call out slivven locations, type in GSLIV. Happy hunting!&quot;)
elseif matches[2] == &quot;turret&quot; then
enableAlias(&quot;Combateer&quot;)
enableTrigger(&quot;Combateer&quot;)
enableTrigger(&quot;Targetting - Callout&quot;)
send(&quot;config shipsight 0&quot;)
send(&quot;config aethermap off&quot;)
local returned = dreadnought.reset.combateer()
dreadnought.aetherbeastsTotal = returned.aetherbeastsTotal
dreadnought.combateer = returned.combateer
enableTrigger(&quot;Turret Setup&quot;)
send(&quot;probe turret&quot;)
dmsg(&quot;Welcome to the Battle Turret!&quot;)
dmsg(&quot;To toggle targetting modes, type in TMODE &lt;CALL|AUTO&gt;, which will toggle whether to acquire targets by calling out or what's being called by the Captain.&quot;)
dmsg(&quot;Should you ever need to manually target an aetherbeast, type in TTAR &lt;target&gt;.&quot;)
dmsg(&quot;When done using the turret, just type in TMODE &lt;OFF&gt;.&quot;)
else -- An energy collector
enableAlias(&quot;Collector&quot;)
enableTrigger(&quot;Collector&quot;)
disableTrigger(&quot;Siphoning - Auto&quot;)
disableTrigger(&quot;Siphoning - Callout&quot;)
send(&quot;config shipsight 0&quot;)
send(&quot;config aethermap off&quot;)
dmsg(&quot;Welcome to the Energy Collector!&quot;)
dmsg(&quot;If you're the one siphoning, type in SMODE &lt;CALL|AUTO&gt;, to siphon when called out or automatically, respectively.&quot;)
dmsg(&quot;When done, type in SMODE OFF. Happy hunting!&quot;)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^You step up to (?:a|an|the) (\w+\s?)+</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Module Unlock</name>
<script>send(&quot;config shipsight 0&quot;)
send(&quot;config aethermap off&quot;)
if matches[2] == &quot;chair&quot; then
disableAlias(&quot;Pilot&quot;)
disableTrigger(&quot;Pilot&quot;)
disableTrigger(&quot;Autopilot&quot;)
local returned = dreadnought.pilot.reset()
dreadnought.aetherbeastsTotal = returned.aetherbeastsTotal
dreadnought.pilot = returned.pilot
elseif matches[2] == &quot;grid&quot; then
disableAlias(&quot;Empath&quot;)
disableTrigger(&quot;Empath&quot;)
local returned = dreadnought.empath.reset()
dreadnought.aetherbeastsTotal = returned.aetherbeastsTotal
dreadnought.empath = returned.empath
elseif matches[2] == &quot;turret&quot; then
disableAlias(&quot;Combateer&quot;)
disableTrigger(&quot;Combateer&quot;)
disableTrigger(&quot;Targetting - Auto&quot;)
disableTrigger(&quot;Targetting - Callout&quot;)
local returned = dreadnought.reset.combateer()
dreadnought.aetherbeastsTotal = returned.aetherbeastsTotal
dreadnought.combateer = returned.combateer
else -- An energy collector
disableAlias(&quot;Collector&quot;)
disableTrigger(&quot;Collector&quot;)
disableTrigger(&quot;Siphoning - Auto&quot;)
disableTrigger(&quot;Siphoning - Callout&quot;)
end
dmsg(&quot;If you're all done hunting, type in HUNT OFF.&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^With a long, slow blink, you allow your mind to drift free from the ship, and release your lock on the command of (?:a|an|the) (\w+\s?)+\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Shockwave Timer</name>
<script>table.insert(dreadnought.pilot.shockwaveTimers, tempTimer(3420, function () -- Fire after 57 minutes
flowerbox(&quot;red&quot;, &quot;YOUR SHOCKWAVES ARE ABOUT TO EXPIRE!!&quot;)
end))</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>A nearby turret blankets aetherspace with bolts of crackling energy, which ripple around this space in waves of coruscating power.</string>
<string>You blanket the aetherspace around you with bolts of crackling energy, which ripple around this space in waves of coruscating power.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Ship Implodes</name>
<script>expandAlias(&quot;hunt off&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>implodes and your body is instantly torn apart by the unstable reality of the Aetherways.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>0</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="yes" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Prompt</name>
<script>dreadnought.balance = false</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\[\d+\-hull, \d+\-power, \w+ damage, \d+\-will \*(\w+)?\*\]$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Module Balance</name>
<script>dreadnought.balance = true</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>x</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
</Trigger>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Pilot</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Autopilot</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="no" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Siphon Callout</name>
<script>if dreadnought.aetherbeastsTotal == 0 and dreadnought.pilot.flags.siphonCallout then
dreadnought.calloutSiphon()
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>An energy vortex pulsates brightly.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Aetherbeast Summoned</name>
<script>dreadnought.pilot.aetherbeastsPresent = dreadnought.pilot.aetherbeastsPresent + 1
dreadnought.aetherbeastsTotal = dreadnought.aetherbeastsTotal + 1
dreadnought.pilot.siphonCalloutCount = 0
send(&quot;shipt Target &quot; .. matches[2])
local newPosition = dreadnought.autopilot(dreadnought.balance, dreadnought.pilot.aetherbeastsPresent,
dreadnought.aetherbeastsTotal, dreadnought.pilot.currentPosition, dreadnought.pilot.flags)
if newPosition ~= 0 then
dreadnought.pilot.currentPosition = newPosition
end
if dreadnought.pilot.flags.siphonCallout then
killTimer(&quot;dreadnought.pilot.calloutTimer&quot;)
dreadnought.pilot.flags.siphonCallout = false
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^Drawn by the flux of energy, a \w+ (\w+) suddenly wanders into the nearby area\.$</string>
<string>^Drawn by the flux of energy, a six-headed (\w+) suddenly wanders into the nearby area\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Karibidean Summoned</name>
<script>dreadnought.pilot.aetherbeastsPresent = dreadnought.pilot.aetherbeastsPresent + 1
dreadnought.aetherbeastsTotal = dreadnought.aetherbeastsTotal + 1
send(&quot;shipt Batten down the hatches! A karibidean approaches!&quot;)
send(&quot;shipt Target karibidean&quot;)
flowerbox(&quot;red&quot;, &quot;KARIBIDEAN!!!&quot;)
dmsg(&quot;Switching to manual override!&quot;)
dreadnought.autopilot(dreadnought.balance, dreadnought.pilot.aetherbeastsPresent,
dreadnought.aetherbeastsTotal, dreadnought.pilot.currentPosition, dreadnought.pilot.flags)
disableTrigger(&quot;Siphon Callout&quot;)
</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand>shipt Target karibidean</mCommand>
<packageName></packageName>
<mFgColor>#aa55ff</mFgColor>
<mBgColor>#ff0000</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>The energy vortex flashes and a vortex karibidean flies out of it.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Aetherbeast Enters</name>
<script>dreadnought.pilot.aetherbeastsPresent = dreadnought.pilot.aetherbeastsPresent + 1
local newPosition = dreadnought.autopilot(dreadnought.balance, dreadnought.pilot.aetherbeastsPresent,
dreadnought.aetherbeastsTotal, dreadnought.pilot.currentPosition, dreadnought.pilot.flags)
if newPosition ~= 0 then
dreadnought.pilot.currentPosition = newPosition
end
</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^(?:\w+\s){3}enters from the \w+ on the aetherways\.$</string>
<string>^A six-headed scyllus enters from the \w+ on the aetherways\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Entering Shockwave</name>
<script>dreadnought.pilot.flags.shocked = true</script>
<triggerType>0</triggerType>
<conditonLineDelta>39</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^You are thrust forward as(?:\s\w+(?:\'\w+)?)+ shudders violently and comes to a complete stop\.$</string>
<string>The command chair is unresponsive to your requests.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Freed From Shockwave</name>
<script>dreadnought.pilot.flags.shocked = false
local newPosition = dreadnought.autopilot(dreadnought.balance, dreadnought.pilot.aetherbeastsPresent,
dreadnought.aetherbeastsTotal, dreadnought.pilot.currentPosition, dreadnought.pilot.flags)
if newPosition ~= 0 then
dreadnought.pilot.currentPosition = newPosition
end
</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>I am clearing the command chair of all impairments\.&quot;$</string>
<string>^With a ripple,(?:\s\w+(?:\'\w+)?)+ frees itself from its shockwave\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Aetherbeast Dies</name>
<script>if dreadnought.pilot.aetherbeastsPresent &gt; 0 then
dreadnought.pilot.aetherbeastsPresent = dreadnought.pilot.aetherbeastsPresent - 1
end
if dreadnought.aetherbeastsTotal &gt; 0 then
dreadnought.aetherbeastsTotal = dreadnought.aetherbeastsTotal - 1
end
if dreadnought.aetherbeastsTotal == 0 then
dreadnought.pilot.flags.siphonCallout = true
end
local newPosition = dreadnought.autopilot(dreadnought.balance, dreadnought.pilot.aetherbeastsPresent,
dreadnought.aetherbeastsTotal, dreadnought.pilot.currentPosition, dreadnought.pilot.flags)
if newPosition ~= 0 then
dreadnought.pilot.currentPosition = newPosition
end
</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^(?:\w+\s){3}suddenly explodes\!$</string>
<string>A six-headed scyllus suddenly explodes!</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Pilot Balance</name>
<script>dreadnought.balance = true
local newPosition = dreadnought.autopilot(dreadnought.balance, dreadnought.pilot.aetherbeastsPresent,
dreadnought.aetherbeastsTotal, dreadnought.pilot.currentPosition, dreadnought.pilot.flags)
if newPosition ~= 0 then
dreadnought.pilot.currentPosition = newPosition
end
</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>The command chair whirrs quietly, ready to be used once again.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Autopilot Movement Failsafe</name>
<script>tempTimer(5, function ()
dreadnought.pilot.currentPosition = dreadnought.autopilotFailsafe(
dreadnought.pilot.balance,
dreadnought.pilot.currentPosition,
dreadnought.aetherbeastsTotal,
dreadnought.pilot.flags
)
end)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^You steer(?:\s\w+(?:\'\w+)?)+ to the \w+\.$</string>
<string>^With a ripple,(?:\s\w+(?:\'\w+)?)+ frees itself from its shockwave\.$</string>
<string>The command chair whirrs quietly, ready to be used once again.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Ship Move</name>
<script>dreadnought.pilot.aetherbeastsPresent = 0</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^You steer(?:\s\w+(?:\'\w+)?)+ to the \w+\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Shockwave Timer</name>
<script>table.insert(dreadnought.pilot.shockwaveTimers, tempTimer(3420, function () -- Fire after 57 minutes
send(&quot;shipt The shockwaves are about to expire. We'll stop and collect the dust until then.&quot;)
killTimer(table.remove(dreadnought.pilot.shockwaveTimers, 1))
dreadnought.pilot.flags.siphonCallout = false
disableTrigger(&quot;Siphon Callout&quot;)
end))</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>A nearby turret blankets aetherspace with bolts of crackling energy, which ripple around this space in waves of coruscating power.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Highlights</name>
<script>selectCurrentLine()
fg(&quot;green&quot;)
deselect()
resetFormat()</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^With a ripple,(?:\s\w+(?:\'\w+)?)+ frees itself from its shockwave\.$</string>
<string>The command chair whirrs quietly, ready to be used once again.</string>
<string>^(?:\w+\s){3}suddenly explodes\!$</string>
<string>A six-headed scyllus suddenly explodes!</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>3</integer>
<integer>1</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="no" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Gnome traders</name>
<script>send(&quot;pilot steer &quot; ..matches[2])</script>
<triggerType>0</triggerType>
<conditonLineDelta>39</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>glides off towards the (\w+)\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Empath</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="no" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Grid Setup</name>
<script>if matches[2] == &quot;chair&quot; then
dreadnought.empath.modules.chair = matches[3]
elseif matches[2] == &quot;orb&quot; then
dreadnought.empath.modules.orb = matches[3]
elseif matches[2] == &quot;grid&quot; then
dreadnought.empath.modules.grid = matches[3]
elseif matches[2] == &quot;cube&quot; then
dreadnought.empath.modules.cube = matches[3]
elseif matches[2] == &quot;turret&quot; then
table.insert(dreadnought.empath.modules.turrets, matches[3])
elseif matches[2] == &quot;collector&quot; then
table.insert(dreadnought.empath.modules.collectors, matches[3])
end
</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>1</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^&quot;(\D+)(\d+)&quot;\s+(?:\w+\s){3}\s+\d+\%\ \/\ \w+ damage</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Finish Setup</name>
<script>setTriggerStayOpen(&quot;Grid Setup&quot;, 0)
disableTrigger(&quot;Grid Setup&quot;)
dmsg(&quot;The empathic grid is set up and ready for your control.&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>39</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>return isPrompt()</string>
</regexCodeList>
<regexCodePropertyList>
<integer>4</integer>
</regexCodePropertyList>
</Trigger>
</Trigger>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Repairing</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Hull</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Damaged</name>
<script>heap.insert(dreadnought.empath.commands, action(&quot;hull&quot;, 2, &quot;grid repair hull&quot;))
dreadnought.repairShip(dreadnought.balance, dreadnought.empath.commands)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand>gridra</mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>concussive shock rips through the hull\.$</string>
<string>swiftly shears through her hull\.$</string>
<string>rips apart her hull\.$</string>
<string>shreds deep rends through her hull\.$</string>
<string>^Violet sparks fly through the air and </string>
<string> cries out as bolts of jagged energy strike out from the ruptured fabric of aetherspace here\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Repaired</name>
<script>if heap.head(dreadnought.empath.commands).name == &quot;hull&quot; then
heap.extract(dreadnought.empath.commands)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>Bright tendrils of energy pulsate through the ship and heal the hull to full strength.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Module</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Damaged - Occupied</name>
<script>if matches[2] ~= nil and matches[2] ~= &quot;&quot; and matches[4] ~= &quot;no&quot; then
local module = matches[2]
local priority = 0
if module == &quot;grid&quot; then
priority = 3
elseif module == &quot;chair&quot; then
priority = 5
elseif module == &quot;turret&quot; then
priority = 6
elseif module == &quot;collector&quot; then
priority = 7
elseif module == &quot;orb&quot; then
priority = 8
elseif module == &quot;cube&quot; then
priority = 9
else
priority = 10
end
heap.insert(dreadnought.empath.commands, action(module, priority, &quot;grid repair module &quot; .. matches[3]))
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>1</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^&quot;(\D+)(\d+)&quot;\s+(?:\w+\s){3}\s+\d+\%\ \/\ (\w+) damage \[\w+\]</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>End Damaged</name>
<script>setTriggerStayOpen(&quot;Damaged - Occupied&quot;, 0)
dreadnought.repairShip(dreadnought.balance, dreadnought.empath.commands)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>return isPrompt()</string>
</regexCodeList>
<regexCodePropertyList>
<integer>4</integer>
</regexCodePropertyList>
</Trigger>
</Trigger>
<Trigger isActive="no" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Damaged - Unoccupied</name>
<script>if matches[2] ~= nil and matches[2] ~= &quot;&quot; and matches[4] ~= &quot;no&quot; then
local module = matches[2]
local priority = 0
if module == &quot;grid&quot; then
priority = 3
elseif module == &quot;chair&quot; then
priority = 5
elseif module == &quot;turret&quot; then
priority = 6
elseif module == &quot;collector&quot; then
priority = 7
elseif module == &quot;orb&quot; then
priority = 8
elseif module == &quot;cube&quot; then
priority = 9
else
priority = 10
end
heap.insert(dreadnought.empath.commands, action(module, priority, &quot;grid repair module &quot; .. matches[3]))
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>1</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^&quot;(\D+)(\d+)&quot;\s+(?:\w+\s){3}\s+\d+\%\ \/\ (\w+) damage</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>End Damaged</name>
<script>setTriggerStayOpen(&quot;Damaged - Unoccupied&quot;, 0)
disableTrigger(&quot;Damaged - Unoccupied&quot;)
enableTrigger(&quot;Damaged - Occupied&quot;)
dreadnought.repairShip(dreadnought.balance, dreadnought.empath.commands)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>return isPrompt()</string>
</regexCodeList>
<regexCodePropertyList>
<integer>4</integer>
</regexCodePropertyList>
</Trigger>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Repaired</name>
<script>if heap.head(dreadnought.empath.commands).name == matches[2] then
heap.extract(dreadnought.empath.commands)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^Crackling energy surges to \w+ \w+ (\w+), fully healing it\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Rapair Callout</name>
<script>heap.insert(dreadnought.empath.commands, action(&quot;hull&quot;, 2, &quot;grid repair hull&quot;))
dreadnought.repairShip(dreadnought.balance, dreadnought.empath.commands)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, \&quot;Repair.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Already Repaired</name>
<script>deleteLineP()
heap.extract(dreadnought.empath.commands)
dreadnought.repairShip(dreadnought.balance, dreadnought.empath.commands)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>That module is already in full repair.</string>
<string>The ship's hull is already at maximum strength.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Slivvens</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Infected</name>
<script>dreadnought.empath.slivvensFound = 0
enableTrigger(&quot;Slivven Check&quot;)
send(&quot;grid modules&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>39</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand>slvCheck</mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#5500ff</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>I have been infested by an aetheretic slivven!&quot;$</string>
<string>^\(Ship\): (\w+) says, \&quot;Check.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Slivven Check</name>
<script>dreadnought.empath.slivvensFound = 0</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>100</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>&quot;chair</string>
</regexCodeList>
<regexCodePropertyList>
<integer>2</integer>
</regexCodePropertyList>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Found Slivven</name>
<script>dreadnought.empath.slivvensFound = dreadnought.empath.slivvensFound + 1
if #matches &gt; 2 then
send(&quot;shipt Captain, there's a slivven attacking &quot; .. matches[3] .. &quot;'s &quot; .. matches[2])
else
send(&quot;shipt Captain, there's a slivven attacking an unoccupied &quot; .. matches[2])
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^&quot;(\D+)\d+&quot;\s+(?:\w+\s){3}\s+\d+% \/ \w+ damage\s?(?:\[(\w+)\])?\sPARASITE\!$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Finish Slivven Check</name>
<script>local slivvensFound = dreadnought.empath.slivvensFound
if slivvensFound == 0 then
send(&quot;shipt No slivvens detected upon the ship, Captain.&quot;)
elseif slivvensFound == 1 then
send(&quot;shipt Only one slivven infecting the ship, Captain.&quot;)
else
send(&quot;shipt A total of &quot; .. slivvensFound .. &quot; slivvens infecting the ship, Captain.&quot;)
end
setTriggerStayOpen(&quot;Slivven Check&quot;, 0)
disableTrigger(&quot;Slivven Check&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>return isPrompt()</string>
</regexCodeList>
<regexCodePropertyList>
<integer>4</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
</TriggerGroup>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Clarity</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Call</name>
<script>if dreadnought.empath.flags.haveClarity then
heap.insert(dreadnought.empath.commands, action(&quot;clarity&quot;, 4, &quot;grid clarity &quot; .. dreadnought.modules.chair))
else
send(&quot;shipt I can't, Captain! I'm not trained enough!&quot;)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): (\w+) says, \&quot;Clarity.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Emergency</name>
<script>if dreadnought.empath.flags.haveClarity then
heap.insert(dreadnought.empath.commands, action(&quot;emergency clarity&quot;, 1, &quot;grid clarity &quot; .. dreadnought.modules.chair))
else
send(&quot;shipt I can't, Captain! I'm not trained enough!&quot;)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, \&quot;Emergency clarity\!\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Finish</name>
<script>local actionName = heap.head(dreadnought.empath.commands).name
if actionName == &quot;emergency clarity&quot; or actionName == &quot;clarity&quot; then
heap.extract(dreadnought.empath.commands)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>I am clearing the command chair of all impairments.&quot;$</string>
<string>That module needs no clarity.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Aetherbeast Dead</name>
<script>if dreadnought.empath.flags.canClarity then
heap.insert(dreadnought.empath.commands, action(&quot;emergency clarity&quot;, 1, &quot;grid clarity &quot; .. dreadnought.empath.modules.chair))
dreadnought.repairShip(dreadnought.balance, dreadnought.empath.commands)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>suddenly explodes!$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Entering Shockwave</name>
<script>if dreadnought.empath.flags.haveClarity then
heap.insert(dreadnought.empath.commands, action(&quot;clarity&quot;, 4, &quot;grid clarity &quot; .. dreadnought.empath.modules.chair))
dreadnought.repairShip(dreadnought.balance, dreadnought.empath.commands)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^You are thrust forward as(?:\s\w+(?:\'\w+)?)+ shudders violently and comes to a complete stop\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Grid Balance</name>
<script>dreadnought.balance = true
dreadnought.repairShip(dreadnought.balance, dreadnought.empath.commands)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>The empathic grid whirrs quietly, ready to be used once again.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Combateer</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="yes" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Turret Setup</name>
<script>deleteLineP()</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>The battle turret is a spherical object, half of which is below the floor and the other half above. Made of a gleaming black metal, an opening on top of the turret leads to a cushioned interior. Handholds and other devices are attached within to operate the aetheric battle mechanisms. The entire interior is a sphere within a sphere that can rotate in all directions. An ominous hum vibrates up from deep within the turret itself.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Can Vortex</name>
<script>dreadnought.combateer.flags.canVortex = true</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>It has a spherical diamonut covered with surgically sharp blades installed.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Finish Setup</name>
<script>if dreadnought.combateer.flags.canVortex then
dmsg(&quot;You'll be the one to create vortexes.&quot;)
end
disableTrigger(&quot;Turret Setup&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>return isPrompt()</string>
</regexCodeList>
<regexCodePropertyList>
<integer>4</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Targetting - Auto</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Aetherbeast Summoned</name>
<script>table.insert(dreadnought.combateer.targets, matches[2])
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^Drawn by the flux of energy, a \w+ (\w+) suddenly wanders into the nearby area\.$</string>
<string>^Drawn by the flux of energy, a six-headed (\w+) suddenly wanders into the nearby area\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Karibidean Summoned</name>
<script>table.insert(dreadnought.combateer.targets, &quot;karibidean&quot;)
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>The energy vortex flashes and a vortex karibidean flies out of it.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Targetting - Callout</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Targeting</name>
<script>table.insert(dreadnought.combateer.targets, matches[2])
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, &quot;Target (\w+)\.&quot;$</string>
<string>^\(Ship\): \w+ says, &quot;Gunners, train your sights upon the (\w+)\.&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Turret Balance</name>
<script>dreadnought.balance = true
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)</script>
<triggerType>0</triggerType>
<conditonLineDelta>39</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>A battle turret whirrs quietly, ready to be used once again.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Target Acquired</name>
<script>dreadnought.combateer.flags.targetAcquired = true</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^You tune the weapon module to target (?:a|an) \w+ \w+\.$</string>
<string>^You tune the weapon module to target a six-headed \w+\.$</string>
<string>^You tune the weapon module to target a scorpion-like \w+\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Vortex</name>
<script>if dreadnought.combateer.flags.canVortex then
dreadnought.combateer.flags.vortexCalled = true
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, &quot;Vortex\.&quot;$</string>
<string>^\(Ship\): \w+ says, &quot;Turret vortex.\&quot;$</string>
<string>^\(Ship\): \w+ says, &quot;TURRET VORTEX.\&quot;$</string>
<string>^\(Ship\): \w+ says, &quot;Turret Vortex\.&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Targetted Vortex</name>
<script>if matches[2] == gmcp.Char.Name.name then
if dreadnought.combateer.flags.canVortex then
dreadnought.combateer.flags.vortexCalled = true
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)
else
send(&quot;I'm afraid this turret is unable to summon a vortex, Captain.&quot;)
end
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, \&quot;(\w+), vortex.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Vortex Fired</name>
<script>dreadnought.combateer.flags.vortexCalled = false</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>You focus your turret on the fabric of aetherspace itself and fire, ripping open a gaping vortex.</string>
<string>A focused blast rips through the fabric of aetherspace, ripping open a gaping vortex.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Shockwave</name>
<script>dreadnought.combateer.flags.shockwaveCalled = true
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): (\w+) says, \&quot;Shockwave.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Targetted Shockwave</name>
<script>if matches[2] == gmcp.Char.Name.name then
dreadnought.combateer.flags.shockwaveCalled = true
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, \&quot;(\w+), shockwave.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Shockwave Fired</name>
<script>dreadnought.combateer.flags.shockwaveCalled = false</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>This area is too full of energy for you to create a shockwave.</string>
<string>You blanket the aetherspace around you with bolts of crackling energy, which ripple around this space in waves of coruscating power.</string>
<string>A nearby turret blankets aetherspace with bolts of crackling energy, which ripple around this space in waves of coruscating power.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Beast Dies</name>
<script>table.remove(dreadnought.combateer.targets, 1)
dreadnought.combateer.flags.targetAcquired = false
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>suddenly explodes\!$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>No Target</name>
<script>dreadnought.combateer.flags.targetAcquired = false
table.remove(dreadnought.combateer.targets, 1)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>A battle turret is not targeting anything.</string>
<string>No such creature is close enough for a battle turret to get a targeting lock.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Turret Exhaustion</name>
<script>send(&quot;shipt I'm exhausted, Captain! You should find me a replacement.&quot;)
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>Exhaustion clouds your mind and you fail to properly link to a battle turret.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Collector</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Siphoning - Auto</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="yes" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Autosiphon</name>
<script>dreadnought.siphonVortex(dreadnought.aetherbeastsTotal)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#000280</mFgColor>
<mBgColor>#00ff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>An energy vortex pulsates brightly.</string>
<string>An energy collector whirrs quietly, ready to be used once again.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Aetherbeast Summoned</name>
<script>dreadnought.aetherbeastsTotal = dreadnought.aetherbeastsTotal + 1
disableTrigger(&quot;Autosiphon&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^Drawn by the flux of energy, a \w+ \w+ suddenly wanders into the nearby area\.$</string>
<string>^Drawn by the flux of energy, a six-headed \w+ suddenly wanders into the nearby area\.$</string>
<string>The energy vortex flashes and a vortex karibidean flies out of it.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
<integer>1</integer>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Aetherbeast Dies</name>
<script>dreadnought.aetherbeastsTotal = dreadnought.aetherbeastsTotal - 1
if dreadnought.aetherbeastsTotal == 0 then
enableTrigger(&quot;Autosiphon&quot;)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>suddenly explodes!$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="no" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Siphoning - Callout</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Callout Siphon</name>
<script>dreadnought.siphonVortex(dreadnought.aetherbeastsTotal)</script>
<triggerType>0</triggerType>
<conditonLineDelta>39</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, \&quot;Siphon.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Announcements</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>3</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Siphoning Vortex</name>
<script>send(&quot;shipt Siphoned from the vortex, Captain. My collector is now filled with &quot; ..matches[2]..&quot; energy.&quot;)
if dreadnought.collector.exhaustionCount &gt; 0 then
dreadnought.collector.exhaustionCount = 0
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^You siphon some energy from the energy vortex into an energy collector, bringing it to a total of (\d+) energy\.$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>No Vortex</name>
<script>send(&quot;Shipt There's no vortex here, Captain.&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>3</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>There is no energy vortex to siphon energy from.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Full Collector</name>
<script>send(&quot;shipt My collector is full, Captain.&quot;)
disableTrigger(&quot;Siphoning - Auto&quot;)
disableTrigger(&quot;Siphoning - Callout&quot;)</script>
<triggerType>0</triggerType>
<conditonLineDelta>18</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>An energy collector is filled to capacity.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Exhaustion</name>
<script>send(&quot;shipt I'm exhausted, Captain. You'll have to find a replacement for me.&quot;)
dreadnought.collector.exhaustionCount = dreadnought.collector.exhaustionCount + 1
if dreadnought.collector.exhaustionCount &lt; 5 then
dreadnought.siphonVortex(dreadnought.aetherbeastsTotal)
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>Exhaustion clouds your mind and you fail to properly link to an energy collector.</string>
</regexCodeList>
<regexCodePropertyList>
<integer>3</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
</TriggerGroup>
<TriggerGroup isActive="yes" isFolder="yes" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Activate/Deactivate calls</name>
<script></script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList/>
<regexCodePropertyList/>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Turret On</name>
<script>if matches[2] == gmcp.Char.Name.name then
enableTrigger(&quot;Combateer&quot;)
tempTimer(0.1, [[send(&quot;shipt Aye aye, Captain! Activating my turret.&quot;)]])
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, \&quot;(\w+), turret on\.&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Turret Off</name>
<script>if matches[2] == gmcp.Char.Name.name then
disableTrigger(&quot;Combateer&quot;)
tempTimer(0.1, [[send(&quot;shipt Aye aye, Captain! Deactivating my turret.&quot;)]])
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): \w+ says, \&quot;(\w+), turret off\.&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Collector On Targetted</name>
<script>if matches[3] == gmcp.Char.Name.name then
enableTrigger(&quot;Collector&quot;)
enableTrigger(&quot;Siphoning - Callout&quot;)
tempTimer(0.1, [[send(&quot;shipt Aye aye, Captain! Activating my collector&quot;)]])
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>99</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): (\w+) says, \&quot;(\w+), siphon on.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Collector Off Targetted</name>
<script>if matches[3] == gmcp.Char.Name.name then
disableTrigger(&quot;Collector&quot;)
tempTimer(0.1, [[send(&quot;shipt Aye aye, Captain! Deactivating my collector!&quot;)]])
end</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): (\w+) says, \&quot;(\w+), siphon off.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Collector On</name>
<script>enableTrigger(&quot;Collector&quot;)
tempTimer(0.1, [[send(&quot;shipt Aye aye, Captain! Activating my collector&quot;)]])</script>
<triggerType>0</triggerType>
<conditonLineDelta>0</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): (\w+) says, \&quot;Siphon on.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
<Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="no" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="no" isColorTriggerFg="no" isColorTriggerBg="no">
<name>Collector Off</name>
<script>disableTrigger(&quot;Collector&quot;)
tempTimer(0.1, [[send(&quot;shipt Aye aye, Captain! Deactivating my collector&quot;)]])</script>
<triggerType>0</triggerType>
<conditonLineDelta>39</conditonLineDelta>
<mStayOpen>0</mStayOpen>
<mCommand></mCommand>
<packageName></packageName>
<mFgColor>#ff0000</mFgColor>
<mBgColor>#ffff00</mBgColor>
<mSoundFile></mSoundFile>
<colorTriggerFgColor>#000000</colorTriggerFgColor>
<colorTriggerBgColor>#000000</colorTriggerBgColor>
<regexCodeList>
<string>^\(Ship\): (\w+) says, \&quot;Siphon off.\&quot;$</string>
</regexCodeList>
<regexCodePropertyList>
<integer>1</integer>
</regexCodePropertyList>
</Trigger>
</TriggerGroup>
</TriggerGroup>
</TriggerPackage>
<TimerPackage>
<TimerGroup isActive="yes" isFolder="yes" isTempTimer="no" isOffsetTimer="no">
<name>Dreadnought</name>
<script></script>
<command></command>
<packageName></packageName>
<time>00:00:00.000</time>
<TimerGroup isActive="no" isFolder="yes" isTempTimer="no" isOffsetTimer="no">
<name>Shockwaves</name>
<script></script>
<command></command>
<packageName></packageName>
<time>00:00:00.000</time>
<Timer isActive="yes" isFolder="no" isTempTimer="no" isOffsetTimer="no">
<name>Shockwaves Expired</name>
<script></script>
<command>shipt Attention! The shockwaves have expired!</command>
<packageName></packageName>
<time>00:01:00.000</time>
</Timer>
<Timer isActive="yes" isFolder="no" isTempTimer="no" isOffsetTimer="no">
<name>Five Minute Announcement</name>
<script></script>
<command>shipt Attention! The shockwaves will expire in five minutes!</command>
<packageName></packageName>
<time>00:00:55.000</time>
</Timer>
<Timer isActive="yes" isFolder="no" isTempTimer="no" isOffsetTimer="no">
<name>Fifteen Minute Announcement</name>
<script></script>
<command>shipt Attention! The shockwaves will expire in fifteen minutes!</command>
<packageName></packageName>
<time>00:00:45.000</time>
</Timer>
</TimerGroup>
</TimerGroup>
</TimerPackage>
<AliasPackage>
<AliasGroup isActive="yes" isFolder="yes">
<name>Dreadnought</name>
<script></script>
<command></command>
<packageName></packageName>
<regex></regex>
<AliasGroup isActive="no" isFolder="yes">
<name>Pilot</name>
<script></script>
<command></command>
<packageName></packageName>
<regex></regex>
<AliasGroup isActive="yes" isFolder="yes">
<name>Movement</name>
<script></script>
<command></command>
<packageName></packageName>
<regex></regex>
<Alias isActive="yes" isFolder="no">
<name>Steer</name>
<script>send(&quot;pilot steer &quot; .. matches[2])
disableTrigger(&quot;Autopilot&quot;)
disableTrigger(&quot;Siphon Callout&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^(n|ne|e|se|s|sw|w|nw)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Glide</name>
<script>local direction = &quot;&quot;
if #matches[2] == 2 then
direction = string.sub(matches[2], 2, -1)
else
direction = string.sub(matches[2], 3, -1)
end
send(&quot;pilot glide &quot; .. direction)
disableTrigger(&quot;Autopilot&quot;)
disableTrigger(&quot;Siphon Callout&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^(nn|nene|ee|sese|ss|swsw|ww|nwnw)$</regex>
</Alias>
</AliasGroup>
<Alias isActive="yes" isFolder="no">
<name>Toggle Autopilot</name>
<script>if matches[2] == &quot;on&quot; then
enableTrigger(&quot;Autopilot&quot;)
send(&quot;config shipsight 1&quot;)
send(&quot;config aethermap 0&quot;)
dreadnought.aetherbeastsTotal = 0
dmsg(&quot;Autopilot activated.&quot;)
else
disableTrigger(&quot;Autopilot&quot;)
disableTrigger(&quot;Siphon Callout&quot;)
send(&quot;config shipsight 1&quot;)
send(&quot;config aethermap 1&quot;)
dmsg(&quot;Autopilot deactivated.&quot;)
end</script>
<command></command>
<packageName></packageName>
<regex>^pauto (on|off)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Toggle Siphon Callout</name>
<script>if matches[2] == &quot;on&quot; then
dreadnought.pilot.flags.siphonCallout = true
enableTrigger(&quot;Siphon Callout&quot;)
dmsg(&quot;Siphon callout mode activated.&quot;)
elseif matches[2] == &quot;off&quot; then
dreadnought.pilot.flags.siphonCallout = false
disableTrigger(&quot;Siphon Callout&quot;)
dmsg(&quot;Siphon callout mode deactivated.&quot;)
end
</script>
<command></command>
<packageName></packageName>
<regex>^pcall (on|off)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Pathing</name>
<script>--[[ Please don't tinker with this unless you know what you're doing!!! ]]--
local toPos2 = matches[2]
local toPos3 = matches[3]
local toPos1 = matches[4]
local oppositeOf = function (direction)
local cardinal = {&quot;n&quot;, &quot;ne&quot;, &quot;e&quot;, &quot;se&quot;, &quot;s&quot;, &quot;sw&quot;, &quot;w&quot;, &quot;nw&quot;}
for index,dir in ipairs(cardinal) do
if direction == dir then
local oppositeIndex = index + 4
if oppositeIndex &gt; 8 then
oppositeIndex = oppositeIndex - 8
end
return cardinal[oppositeIndex]
end
end
end
dreadnought.pilot.currentPosition = 1
dreadnought.pilot.paths = {
{
next = toPos2,
home = &quot;&quot;
},
{
next = toPos3,
home = oppositeOf(toPos2)
},
{
next = oppositeOf(toPos3),
home = toPos1
}
}
dmsg(&quot;Autopilot path set up.&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^ppath (n|ne|e|se|s|sw|w|nw) (n|ne|e|se|s|sw|w|nw) (n|ne|e|se|s|sw|w|nw)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Reset</name>
<script>if #matches &gt; 1 then
local resets = dreadnought.reset.pilot()
dreadnought.aetherbeastsTotal = resets.aetherbeastsTotal
dreadnought.pilot = resets.pilot
dmsg(&quot;All pilot variables have been reset.&quot;)
else
dmsg(&quot;This will reset ALL piloting variables. Please type 'preset confirm' to confirm.&quot;)
end</script>
<command></command>
<packageName></packageName>
<regex>^preset(?: (confirm))?$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Launch</name>
<script></script>
<command>pilot launch</command>
<packageName></packageName>
<regex>^pl$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Dock</name>
<script></script>
<command>pilot dock</command>
<packageName></packageName>
<regex>^pd$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Shockwave</name>
<script></script>
<command>shipt Shockwave</command>
<packageName></packageName>
<regex>^pshock$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Vortex</name>
<script></script>
<command>shipt Vortex</command>
<packageName></packageName>
<regex>^pvort$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Scoop</name>
<script></script>
<command>pilot scoop</command>
<packageName></packageName>
<regex>^ps$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Transverse</name>
<script></script>
<command>pilot transverse</command>
<packageName></packageName>
<regex>^ptrans$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Anchor</name>
<script></script>
<command>pilot anchor</command>
<packageName></packageName>
<regex>^panch$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Forcefield</name>
<script></script>
<command>pilot forcefield</command>
<packageName></packageName>
<regex>^pforce$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Look</name>
<script></script>
<command>ship look</command>
<packageName></packageName>
<regex>^l$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Run Silent</name>
<script>if matches[2] == &quot;on&quot; then
send(&quot;pilot silentrun start&quot;)
else
send(&quot;pilot silentrun stop&quot;)
end</script>
<command></command>
<packageName></packageName>
<regex>^psilent (on|off)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Farhorizon</name>
<script>if matches[2] == &quot;on&quot; then
send(&quot;pilot farhorizon start&quot;)
else
send(&quot;pilot farhorizon stop&quot;)
end</script>
<command></command>
<packageName></packageName>
<regex>^pfar (on|off)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Clarity</name>
<script></script>
<command>shipt clarity</command>
<packageName></packageName>
<regex>^pc$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Emergency Clarity</name>
<script></script>
<command>shipt EMERGENCY CLARITY</command>
<packageName></packageName>
<regex>^pce$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Target Callout</name>
<script>send(&quot;shipt target &quot; .. matches[2])</script>
<command></command>
<packageName></packageName>
<regex>^ptar (\w+)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Autopilot Testing</name>
<script>local actionQueue = {}
if matches[2] == &quot;1&quot; then
table.insert(actionQueue, tempTimer(0.1, [[send(&quot;echo Drawn by the flux of energy, a black dragon suddenly wanders into the nearby area.&quot;)]]))
table.insert(actionQueue, tempTimer(0.5, [[send(&quot;echo You steer The Rhassaphorian Mantra to the north.&quot;)]]))
table.insert(actionQueue, tempTimer(0.6, [[send(&quot;echo You are thrust forward as The Rhassaphorian Mantra shudders violently and comes to a complete stop.&quot;)]]))
table.insert(actionQueue, tempTimer(0.8, [[send(&quot;echo A black dragon enters from the south on the aetherways.&quot;)]]))
table.insert(actionQueue, tempTimer(1.0, [[send(&quot;echo The command chair whirrs quietly, ready to be used once again.&quot;)]]))
table.insert(actionQueue, tempTimer(1.5, [[send(&quot;echo With a ripple, the Rhassaphorian Mantra frees itself from its shockwave.&quot;)]]))
table.insert(actionQueue, tempTimer(1.7, [[send(&quot;echo You steer The Rhassaphorian Mantra to the southeast.&quot;)]]))
table.insert(actionQueue, tempTimer(1.8, [[send(&quot;echo You are thrust forward as The Rhassaphorian Mantra shudders violently and comes to a complete stop.&quot;)]]))
table.insert(actionQueue, tempTimer(1.9, [[send(&quot;echo The command chair whirrs quietly, ready to be used once again.&quot;)]]))
table.insert(actionQueue, tempTimer(2.0, [[send(&quot;echo A black dragon enters from the northeast on the aetherways.&quot;)]]))
table.insert(actionQueue, tempTimer(2.5, [[send(&quot;echo With a ripple, the Rhassaphorian Mantra frees itself from its shockwave.&quot;)]]))
table.insert(actionQueue, tempTimer(3.0, [[send(&quot;echo You steer The Rhassaphorian Mantra to the northwest.&quot;)]]))
table.insert(actionQueue, tempTimer(3.2, [[send(&quot;echo You are thrust forward as The Rhassaphorian Mantra shudders violently and comes to a complete stop.&quot;)]]))
table.insert(actionQueue, tempTimer(3.5, [[send(&quot;echo The command chair whirrs quietly, ready to be used once again.&quot;)]]))
table.insert(actionQueue, tempTimer(3.7, [[send(&quot;echo A black dragon suddenly explodes!&quot;)]]))
table.insert(actionQueue, tempTimer(3.9, [[send(&quot;echo With a ripple, the Rhassaphorian Mantra frees itself from its shockwave.&quot;)]]))
table.insert(actionQueue, tempTimer(4.2, [[send(&quot;echo You steer The Rhassaphorian Mantra to the south.&quot;)]]))
elseif matches[2] == &quot;2&quot; then
table.insert(actionQueue, tempTimer(0.1, [[send(&quot;echo Drawn by the flux of energy, a black dragon suddenly wanders into the nearby area.&quot;)]]))
table.insert(actionQueue, tempTimer(0.5, [[send(&quot;echo You steer The Rhassaphorian Mantra to the north.&quot;)]]))
table.insert(actionQueue, tempTimer(0.6, [[send(&quot;echo You are thrust forward as The Rhassaphorian Mantra shudders violently and comes to a complete stop.&quot;)]]))
table.insert(actionQueue, tempTimer(0.8, [[send(&quot;echo A black dragon enters from the south on the aetherways.&quot;)]]))
table.insert(actionQueue, tempTimer(1.0, [[send(&quot;echo The command chair whirrs quietly, ready to be used once again.&quot;)]]))
table.insert(actionQueue, tempTimer(1.5, [[send(&quot;echo With a ripple, the Rhassaphorian Mantra frees itself from its shockwave.&quot;)]]))
table.insert(actionQueue, tempTimer(1.7, [[send(&quot;echo You steer The Rhassaphorian Mantra to the southeast.&quot;)]]))
table.insert(actionQueue, tempTimer(1.8, [[send(&quot;echo You are thrust forward as The Rhassaphorian Mantra shudders violently and comes to a complete stop.&quot;)]]))
table.insert(actionQueue, tempTimer(1.9, [[send(&quot;echo The command chair whirrs quietly, ready to be used once again.&quot;)]]))
table.insert(actionQueue, tempTimer(2.0, [[send(&quot;echo A black dragon enters from the northeast on the aetherways.&quot;)]]))
table.insert(actionQueue, tempTimer(2.5, [[send(&quot;echo A black dragon suddenly explodes!&quot;)]]))
table.insert(actionQueue, tempTimer(2.7, [[send(&quot;echo With a ripple, the Rhassaphorian Mantra frees itself from its shockwave.&quot;)]]))
elseif matches[2] == &quot;3&quot; then
table.insert(actionQueue, tempTimer(0.1, [[send(&quot;echo Drawn by the flux of energy, a black dragon suddenly wanders into the nearby area.&quot;)]]))
end</script>
<command></command>
<packageName></packageName>
<regex>^ptest path (1|2|3)$</regex>
</Alias>
</AliasGroup>
<AliasGroup isActive="no" isFolder="yes">
<name>Empath</name>
<script></script>
<command></command>
<packageName></packageName>
<regex></regex>
<Alias isActive="yes" isFolder="no">
<name>Grid Repair</name>
<script>if #matches &gt; 1 then
if matches[2] == &quot;all&quot; then
disableTrigger(&quot;Damaged - Occupied&quot;)
enableTrigger(&quot;Damaged - Unoccupied&quot;)
send(&quot;grid modules&quot;)
else
dmsg(&quot;Resetting the repairing queue&quot;)
dreadnought.empath.commands = heap.new()
end
else
enableTrigger(&quot;Damaged - Occupied&quot;)
send(&quot;grid modules&quot;)
end</script>
<command></command>
<packageName></packageName>
<regex>^gr(?: (all|reset))?$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Slivven Check</name>
<script>enableTrigger(&quot;Slivven Check&quot;)
send(&quot;grid modules&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^gsliv$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Clarity</name>
<script>heap.insert(dreadnought.empath.commands, action(&quot;emergency clarity&quot;, 1, &quot;grid clarity &quot; .. dreadnought.empath.modules.chair))
dreadnought.repairShip()</script>
<command></command>
<packageName></packageName>
<regex>^gc$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Reset</name>
<script>if #matches &gt; 1 then
local resets = dreadnought.reset.empath()
dreadnought.aetherbeastsTotal = resets.aetherbeastsTotal
dreadnought.empath = resets.empath
dmsg(&quot;All empath variables have been reset.&quot;)
else
dmsg(&quot;This will reset ALL empathing variables. Please type 'greset confirm' to confirm.&quot;)
end
</script>
<command></command>
<packageName></packageName>
<regex>^greset(?: (confirm))?$</regex>
</Alias>
</AliasGroup>
<AliasGroup isActive="no" isFolder="yes">
<name>Combateer</name>
<script></script>
<command></command>
<packageName></packageName>
<regex></regex>
<Alias isActive="yes" isFolder="no">
<name>Targetting Mode</name>
<script>if matches[2] == &quot;call&quot; then
disableTrigger(&quot;Targetting - Auto&quot;)
enableTrigger(&quot;Targetting - Callout&quot;)
send(&quot;shipt Enabling my turret, Captain. Call out the targets and I'll blast them from the aethers!&quot;)
elseif matches[2] == &quot;auto&quot; then
enableTrigger(&quot;Targetting - Auto&quot;)
disableTrigger(&quot;Targetting - Callout&quot;)
send(&quot;shipt Enabling my turret, Captain. Should I see an aetherbeast, I'll blast it to smithereens!&quot;)
else
disableTrigger(&quot;Targetting - Auto&quot;)
disableTrigger(&quot;Targetting - Callout&quot;)
send(&quot;shipt Disabling my turret, Captain.&quot;)
end</script>
<command></command>
<packageName></packageName>
<regex>^tmode (call|auto|off)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Set Target</name>
<script>if matches[2] == &quot;reset&quot; then
dreadnought.combateer.targets = {}
dmsg(&quot;Resetting the list of targets&quot;)
elseif matches[2] == &quot;list&quot; then
local msg = &quot;Current list of targets:&quot;
for _,t in ipairs(dreadnought.combateer.targets) do
msg = msg .. &quot; &quot; .. t
end
dmsg(msg)
else
table.insert(dreadnought.combateer.targets, matches[2])
dmsg(&quot;Adding to the list of targets: &quot; .. matches[2])
dreadnought.fireTurret(dreadnought.combateer.targets, dreadnought.combateer.flags)
end</script>
<command></command>
<packageName></packageName>
<regex>^ttar (\w+)$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name></name>
<script></script>
<command></command>
<packageName></packageName>
<regex></regex>
</Alias>
</AliasGroup>
<AliasGroup isActive="yes" isFolder="yes">
<name>Collector</name>
<script></script>
<command></command>
<packageName></packageName>
<regex></regex>
<Alias isActive="yes" isFolder="no">
<name>Siphoning Mode</name>
<script>if matches[2] == &quot;call&quot; then
send(&quot;config shipsight 0&quot;)
enableTrigger(&quot;Collector&quot;)
disableTrigger(&quot;Siphoning - Auto&quot;)
enableTrigger(&quot;Siphoning - Callout&quot;)
send(&quot;shipt Enabling my collector, Captain. Siphoning on your command.&quot;)
elseif matches[2] == &quot;auto&quot; then
send(&quot;config shipsight 1&quot;)
enableTrigger(&quot;Collector&quot;)
enableTrigger(&quot;Siphoning - Auto&quot;)
disableTrigger(&quot;Siphoning - Callout&quot;)
send(&quot;shipt Enabling my collector, Captain. Siphoning when we're over a vortex.&quot;)
else
send(&quot;config shipsight 0&quot;)
disableTrigger(&quot;Collector&quot;)
disableTrigger(&quot;Siphoning - Auto&quot;)
disableTrigger(&quot;Siphoning - Callout&quot;)
send(&quot;shipt Disabling my collector, Captain.&quot;)
end</script>
<command></command>
<packageName></packageName>
<regex>^smode (call|auto|off)$</regex>
</Alias>
</AliasGroup>
<AliasGroup isActive="yes" isFolder="yes">
<name>Gags</name>
<script></script>
<command></command>
<packageName></packageName>
<regex></regex>
<Alias isActive="yes" isFolder="no">
<name>Gagall</name>
<script>enableTrigger(&quot;Turret_Gags&quot;)
enableTrigger(&quot;Empath_Gags&quot;)
enableTrigger(&quot;Beast_Gags&quot;)
enableTrigger(&quot;Move_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now gagging &lt;red&gt; Turret&lt;green&gt;,&lt;red&gt; Empath&lt;green&gt;,&lt;red&gt; Beast&lt;green&gt;, &lt;red&gt;Move. &lt;Green&gt; To ungag these you will need to &lt;red&gt; ungagall &lt;green&gt;or&lt;red&gt; ungag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^gagall$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>ungagall</name>
<script>disableTrigger(&quot;Turret_Gags&quot;)
disableTrigger(&quot;Empath_Gags&quot;)
disableTrigger(&quot;Beast_Gags&quot;)
disableTrigger(&quot;Move_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now ungagging &lt;red&gt; Turret&lt;green&gt;,&lt;red&gt; Empath&lt;green&gt;,&lt;red&gt; Beast&lt;green&gt;, &lt;red&gt;Move. &lt;Green&gt; To gag these you will need to &lt;red&gt; gagall &lt;green&gt;or&lt;red&gt; gag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^ungagall$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>gagturret</name>
<script>enableTrigger(&quot;Turret_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now gagging &lt;red&gt; Turret&lt;green&gt;. &lt;Green&gt; To ungag these you will need to &lt;red&gt; ungagall &lt;green&gt;or&lt;red&gt; ungag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^gagturret$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>ungagturret</name>
<script>disableTrigger(&quot;Turret_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now ungagging &lt;red&gt; Turret&lt;green&gt;. &lt;Green&gt; To gag these you will need to &lt;red&gt; gagall &lt;green&gt;or&lt;red&gt; gag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^ungagturret$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Gagempath</name>
<script>enableTrigger(&quot;Empath_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now gagging &lt;red&gt; Empath&lt;green&gt;. &lt;Green&gt; To ungag these you will need to &lt;red&gt; ungagall &lt;green&gt;or&lt;red&gt; ungag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^gagempath$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>ungagempath</name>
<script>disableTrigger(&quot;Empath_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now ungagging &lt;red&gt; Empath&lt;green&gt;. &lt;Green&gt; To gag these you will need to &lt;red&gt; gagall &lt;green&gt;or&lt;red&gt; gag(module)&quot;)
</script>
<command></command>
<packageName></packageName>
<regex>^ungagempath$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Gagbeast</name>
<script>enableTrigger(&quot;Beast_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now gagging &lt;red&gt; Beast&lt;green&gt;. &lt;Green&gt; To ungag these you will need to &lt;red&gt; ungagall &lt;green&gt;or&lt;red&gt; ungag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^gagbeast$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Ungagbeast</name>
<script>disableTrigger(&quot;Beast_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now ungagging &lt;red&gt; Beast&lt;green&gt;. &lt;Green&gt; To gag these you will need to &lt;red&gt; gagall &lt;green&gt;or&lt;red&gt; gag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^ungagbeast$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Gagmove</name>
<script>enableTrigger(&quot;Move_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now gagging &lt;red&gt; Move&lt;green&gt;. &lt;Green&gt; To ungag these you will need to &lt;red&gt; ungagall &lt;green&gt;or&lt;red&gt; ungag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^gagmove$</regex>
</Alias>
<Alias isActive="yes" isFolder="no">
<name>Ungagmove</name>
<script>disableTrigger(&quot;Move_Gags&quot;)
cecho(&quot;\n &lt;green&gt; You are now ungagging &lt;red&gt; Move&lt;green&gt;. &lt;Green&gt; To gag these you will need to &lt;red&gt; gagall &lt;green&gt;or&lt;red&gt; gag(module)&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^ungagmove$</regex>
</Alias>
</AliasGroup>
<Alias isActive="yes" isFolder="no">
<name>Finish Hunting</name>
<script>disableTrigger(&quot;Pilot&quot;)
disableTrigger(&quot;Autopilot&quot;)
disableAlias(&quot;Pilot&quot;)
disableTrigger(&quot;Empath&quot;)
disableAlias(&quot;Empath&quot;)
disableTrigger(&quot;Gunner&quot;)
disableTrigger(&quot;Targetting - Auto&quot;)
disableTrigger(&quot;Targetting - Callout&quot;)
disableAlias(&quot;Gunner&quot;)
disableTrigger(&quot;Collector&quot;)
disableTrigger(&quot;Siphoning - Auto&quot;)
disableTrigger(&quot;Siphoning - Callout&quot;)
disableAlias(&quot;Collector&quot;)
dmsg(&quot;All Dreadnought reflexes have been disabled.&quot;)</script>
<command></command>
<packageName></packageName>
<regex>^hunt off$</regex>
</Alias>
</AliasGroup>
</AliasPackage>
<ActionPackage/>
<ScriptPackage>
<ScriptGroup isActive="yes" isFolder="yes">
<name>Data Structures</name>
<packageName></packageName>
<script>-------------------------------------------------
-- Put your Lua functions here. --
-- --
-- Note that you can also use external Scripts --
-------------------------------------------------
</script>
<eventHandlerList/>
<Script isActive="yes" isFolder="no">
<name>Heap</name>
<packageName></packageName>
<script>heap = {
new = function()
return {
size = 0,
elements = {}
}
end,
_lowerPriority = function (x, y)
-- X and Y are &quot;actions&quot;, as defined in the Action script.
assert(type(x) == &quot;table&quot;)
assert(type(y) == &quot;table&quot;)
assert(type(x.priority) == &quot;number&quot;)
assert(type(y.priority) == &quot;number&quot;)
return x.priority &gt;= y.priority
end,
_exch = function(h, x, y)
assert(type(x) == &quot;number&quot;)
assert(type(y) == &quot;number&quot;)
local temp = h.elements[x]
h.elements[x] = h.elements[y]
h.elements[y] = temp
end,
_sink = function (h, parentIndex)
local N = h.size
while (parentIndex*2) &lt;= N do
local childIndex = parentIndex * 2
if childIndex &lt; N and heap._lowerPriority(h.elements[childIndex],
h.elements[childIndex+1]) then
childIndex = childIndex + 1
end
if not heap._lowerPriority(h.elements[parentIndex], h.elements[childIndex]) then
break
else
heap._exch(h, parentIndex, childIndex)
parentIndex = childIndex
end
end
end,
_swim = function (h, childIndex)
while childIndex &gt; 1 and heap._lowerPriority(h.elements[math.floor(childIndex/2)],
h.elements[childIndex]) do
local parentIndex = math.floor(childIndex / 2)
heap._exch(h, childIndex, parentIndex)
childIndex = parentIndex
end
end,
insert = function (h, element)
table.insert(h.elements, element)
h.size = h.size + 1
heap._swim(h, h.size)
end,
extract = function (h)
heap._exch(h, 1, h.size)
h.size = h.size - 1
local ret = table.remove(h.elements)
heap._sink(h, 1)
return ret
end,
head = function (h)
local element = h.elements[1]
return element
end
}</script>
<eventHandlerList/>
</Script>
<Script isActive="yes" isFolder="no">
<name>Action</name>
<packageName></packageName>
<script>function action(name, priority, command)
assert(type(name) == &quot;string&quot;)
assert(type(priority) == &quot;number&quot;)
assert(type(command) == &quot;function&quot; or type(command) == &quot;string&quot;)
local aethercraftCommand = function() end
if type(command) == &quot;string&quot; then
aethercraftCommand = function()
send(command)
end
else
aethercraftCommand = function()
command()
end
end
local action = {
name = name,
priority = priority,
command = aethercraftCommand
}
setmetatable(action, {
__lt = function(a, b)
return a.priority &lt; b.priority
end
})
return action
end</script>
<eventHandlerList/>
</Script>
</ScriptGroup>
<ScriptGroup isActive="yes" isFolder="yes">
<name>Dreadnought</name>
<packageName></packageName>
<script>dreadnought = dreadnought or {
version = &quot;2.0&quot;,
aetherbeastsTotal = 0,
balance = true,
skills = {},
reset = {}
}</script>
<eventHandlerList/>
<ScriptGroup isActive="yes" isFolder="yes">
<name>Pilot</name>
<packageName></packageName>
<script>dreadnought.pilot = dreadnought.pilot or {
shockwaveTimers = {},
siphonCalloutCount = 0,
aetherbeastsPresent = 0,
currentPosition = 1,
flags = {
shocked = false,
siphonCallout = false
},
paths = {}
}
function dreadnought.reset.pilot()
return {
aetherbeastsTotal = 0,
pilot = {
shockwaveTimers = {},
siphonCalloutCount = 0,
aetherbeastsPresent = 0,
currentPosition = 1,
flags = {
shocked = false,
siphonCallout = false
},
paths = {}
}
}
end</script>
<eventHandlerList/>
<Script isActive="yes" isFolder="no">
<name>Autopilot</name>
<packageName></packageName>
<script>function dreadnought.autopilot(balance, aetherbeastsPresent, aetherbeastsTotal, currentPosition, flags)
local positions = {
currentPosition = 0,
nextPosition = &quot;&quot;
}
if balance and not flags.shocked then
if aetherbeastsTotal &gt; 0 then
if aetherbeastsPresent == aetherbeastsTotal then
-- There's an aetherbeast! Quick, run away!
positions = dreadnought.findNextPosition(currentPosition)
send(&quot;pilot steer &quot; .. positions.nextPosition)
end
else -- No more aetherbeasts; head back to the vortex
positions = dreadnought.findHome(currentPosition)
if positions.nextPosition ~= &quot;&quot; then
send(&quot;pilot steer &quot; .. positions.nextPosition)
end
end
end
return positions.currentPosition
end
</script>
<eventHandlerList/>
</Script>
<Script isActive="yes" isFolder="no">
<name>Autopilot Failsafe</name>
<packageName></packageName>
<script>function dreadnought.autopilotFailsafe(balance, currentPosition, aetherbeastsTotal, flags)
local positions = {
currentPosition = 0,
nextPosition = &quot;&quot;
}
if balance and not flags.shocked and aetherbeastsTotal == 0 then
positions = dreadnought.findHome(currentPosition)
end
send(&quot;pilot steer &quot; .. positions.nextPosition)
return positions.currentPosition
end</script>
<eventHandlerList/>
</Script>
<Script isActive="yes" isFolder="no">
<name>Find Next Position</name>
<packageName></packageName>
<script>function dreadnought.findNextPosition(currentPosition)
local positions = {
currentPosition = 0,
nextPosition = dreadnought.pilot.paths[currentPosition].next
}
if currentPosition == 1 or currentPosition == 2 then
positions.currentPosition = currentPosition + 1
else
positions.currentPosition = 2
end
return positions
end</script>
<eventHandlerList/>
</Script>
<Script isActive="yes" isFolder="no">
<name>Find Home</name>
<packageName></packageName>
<script>function dreadnought.findHome(currentPosition)
local positions = {
currentPosition = 0,
nextPosition = dreadnought.pilot.paths[currentPosition].home
}
if positions.nextPosition ~= &quot;&quot; then
positions.currentPosition = 1
end
return positions
end
</script>
<eventHandlerList/>
</Script>
<Script isActive="yes" isFolder="no">
<name>Callout Siphon</name>
<packageName></packageName>
<script>function dreadnought.calloutSiphon()
send(&quot;shipt Siphon&quot;)
dreadnought.pilot.siphonCalloutCount = dreadnought.pilot.siphonCalloutCount + 1
tempTimer(2, function ()
if dreadnought.aetherbeastsTotal == 0 and dreadnought.pilot.siphonCalloutCount &lt; 4 then
dreadnought.calloutSiphon()
end
end)
end</script>
<eventHandlerList/>
</Script>
</ScriptGroup>
<ScriptGroup isActive="yes" isFolder="yes">
<name>Empath</name>
<packageName></packageName>
<script>dreadnought.empath = dreadnought.empath or {
modules = {
chair = &quot;&quot;,
grid = &quot;&quot;,
turrets = {},
collectors = {},
orb = &quot;&quot;,
cube = &quot;&quot;
},
commands = heap.new(),
flags = {
haveClarity = false,
repairBlacklistedModules = false
},
slivvensFound = 0
}
function dreadnought.reset.empath()
return {
aetherbeastsTotal = 0,
empath = {
modules = {
chair = &quot;&quot;,
grid = &quot;&quot;,
turrets = {},
collectors = {},
orb = &quot;&quot;,
cube = &quot;&quot;
},
commands = heap.new(),
flags = {
canClarity = false,
repairBlacklistedModules = false
},
slivvensFound = 0
}
}
end</script>
<eventHandlerList/>
<Script isActive="yes" isFolder="no">
<name>Repair Ship</name>
<packageName></packageName>
<script>function dreadnought.repairShip(balance, commands)
if balance then
if commands.size &gt; 0 then
heap.head(commands).command()
end
end
end</script>
<eventHandlerList/>
</Script>
</ScriptGroup>
<ScriptGroup isActive="yes" isFolder="yes">
<name>Combateer</name>
<packageName></packageName>
<script>dreadnought.combateer = dreadnought.combateer or {
targets = {},
flags = {
targetAcquired = false,
canVortex = false,
vortexCalled = false,
shockwaveCalled = false
}
}
function dreadnought.reset.combateer()
return {
aetherbeastsTotal = 0,
combateer = {
targets = {},
flags = {
targetAcquired = false,
canVortex = false,
vortexCalled = false,
canShockwave = false,
shockwaveCalled = false
}
}
}
end</script>
<eventHandlerList/>
<Script isActive="yes" isFolder="no">
<name>Fire Turret</name>
<packageName></packageName>
<script>function dreadnought.fireTurret(targets, flags)
if dreadnought.balance then
if flags.canShockwave and flags.shockwaveCalled then
send(&quot;turret shockwave&quot;)
elseif flags.canVortex and flags.vortexCalled then
send(&quot;turret vortex&quot;)
else
local currentTarget = targets[1]
if currentTarget ~= nil then
if flags.targetAcquired then
send(&quot;turret fire&quot;)
else
send(&quot;turret target creature &quot; .. currentTarget)
end
end
end
end
end</script>
<eventHandlerList/>
</Script>
</ScriptGroup>
<ScriptGroup isActive="yes" isFolder="yes">
<name>Collector</name>
<packageName></packageName>
<script>dreadnought.collector = dreadnought.collector or {
exhaustionCount = 0
}</script>
<eventHandlerList/>
<Script isActive="yes" isFolder="no">
<name>Siphon Vortex</name>
<packageName></packageName>
<script>function dreadnought.siphonVortex(aetherbeastsTotal)
if aetherbeastsTotal == 0 then
send(&quot;siphon vortex&quot;)
else
send(&quot;shipt I don't think that's a good idea, Captain. There are aetherbeasts about!&quot;)
end
end</script>
<eventHandlerList/>
</Script>
</ScriptGroup>
<Script isActive="yes" isFolder="no">
<name>New Skills Listener</name>
<packageName></packageName>
<script>function dreadnought.skillsListener()
for _,skill in ipairs(gmcp.Char.Skills.List.list) do
dreadnought.skills[string.lower(skill)] = true
end
if dreadnought.skills.purser then
dreadnought.empath.flags.canClarity = true
end
if dreadnought.skills.shock then
dreadnought.combateer.flags.canShockwave = true
end
end
registerAnonymousEventHandler(&quot;gmcp.Char.Skills.List&quot;, &quot;dreadnought.skillsListener&quot;)
</script>
<eventHandlerList/>
</Script>
<Script isActive="yes" isFolder="no">
<name>Message</name>
<packageName></packageName>
<script>function dmsg(text)
cecho(&quot;\n&lt;RoyalBlue&gt;(&lt;firebrick&gt;Dreadnought&lt;RoyalBlue&gt;): &lt;firebrick&gt;&quot; .. text)
end</script>
<eventHandlerList/>
</Script>
<Script isActive="yes" isFolder="no">
<name>Flowerbox</name>
<packageName></packageName>
<script>function flowerbox(color, text)
local text = &quot;\n# &quot; .. text .. &quot; #&quot;
local function printLine(line)
if line == nil then
echo(&quot;\n&quot;)
for i=1, #text-1 do
cecho(&quot;&lt;&quot; .. color .. &quot;&gt;#&quot;)
end
else
cecho(&quot;&lt;&quot; .. color .. &quot;&gt;&quot; .. line)
end
end
printLine()
printLine(text)
printLine()
end</script>
<eventHandlerList/>
</Script>
<Script isActive="yes" isFolder="no">
<name>DeleteLineP</name>
<packageName></packageName>
<script>function deleteLineP()
deleteLine()
tempLineTrigger(1,1,[[
if string.find(line, &quot;%d-hull, .*&quot;) then
deleteLine()
end
]])
end</script>
<eventHandlerList/>
</Script>
</ScriptGroup>
</ScriptPackage>
<KeyPackage/>
</MudletPackage>