<?xml version="1.0"?>
<rss version="2.0"><channel><title>Star Wars: The Old Republic Community Scripts Latest Topics</title><link>https://gamingonsteroids.com/forum/51-star-wars-the-old-republic-community-scripts/</link><description>Star Wars: The Old Republic Community Scripts Latest Topics</description><language>en</language><item><title>Combat Events - Target-Scoped Event Handlers for Lua</title><link>https://gamingonsteroids.com/topic/1257-combat-events-target-scoped-event-handlers-for-lua/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:24px;"><strong>Combat Events</strong></span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>Target-scoped event handlers for Lua scripts</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;">A shared helper module that ships with GoS: SWTOR Core.</span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Overview</strong></span>
</p>

<p>
	<strong>combat_events</strong> is a shared Lua helper built on the public <strong>gos.events.combat</strong> stream. It owns one combat cursor for the importing script and delivers ordered events to target-scoped handlers. It adds no native surface, and fields the stream did not report stay absent - nothing is estimated or guessed.
</p>

<ul>
	<li>
		<strong>One cursor</strong> - the module reads one bounded batch (up to 64 events) per tick and keeps its own cursor, so your script never manages one. A backlog drains across later ticks through that cursor.
	</li>
	<li>
		<strong>Target scopes</strong> - register handlers for the local player, the current target, or resolved friendly allies.
	</li>
	<li>
		<strong>Kind or action</strong> - a handler name matches either <strong>event.kind</strong> or <strong>event.action</strong>.
	</li>
	<li>
		<strong>Ordered and contained</strong> - events are delivered in stream order, and a failing handler is logged without stopping the others.
	</li>
	<li>
		<strong>Drop reporting</strong> - overwritten stream records are reported through the script log with a running total.
	</li>
	<li>
		<strong>Idle when unused</strong> - polling starts with the first handler registered for that script.
	</li>
	<li>
		<strong>No history replay</strong> - the first cursorless poll subscribes at the stream's current head. Events produced before the first registered handler starts polling are not replayed.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>One stream reader, three destination scopes: you, your current target, and your allies.</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Usage</strong></span>
</p>

<pre class="ipsCode prettyprint lang-lua">local Combat = require("combat_events")

-- Events targeting the local player.
Combat.on_player("damage", function(event)
  gos.log.info("Player damage", event.effective_amount or 0)
end)

-- Damage whose destination is the current target.
Combat.on_current_target("damage", function(event)
  gos.log.debug("Target damage", event.effective_amount or 0)
end)

-- Healing on a resolved friendly ally.
Combat.on_ally("heal", function(event)
  gos.log.success("Ally healed", event.amount or 0)
end)
</pre>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Event scopes</strong></span>
</p>

<ul>
	<li>
		<strong>Combat.on_player</strong> - events whose destination is the local player. It is not every event sourced by that player: for outgoing damage or historical identities, read <strong>gos.events.combat</strong> directly and compare <strong>source_handle</strong>.
	</li>
	<li>
		<strong>Combat.on_current_target</strong> - events whose destination matches the target selected when that batch is polled. It does not mean the selected target sourced the event.
	</li>
	<li>
		<strong>Combat.on_ally</strong> - events whose destination resolves to a friendly unit other than the local player.
	</li>
	<li>
		A friendly current target can match both <strong>on_current_target</strong> and <strong>on_ally</strong>. Registering the same callback under both scopes therefore allows two deliveries by design.
	</li>
</ul>

<p>
	Register handlers at load time. The module owns its polling callback.
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Event fields</strong></span>
</p>

<ul>
	<li>
		<strong>Identity</strong> - kind, action, result, source/target/ability/effect handles, each event's actor_epoch, and optional source_name / target_name snapshots when Core captured a matching handle and name.
	</li>
	<li>
		<strong>Values</strong> - name, amount, effective_amount, damage_type, critical, and a monotonic millisecond timestamp.
	</li>
	<li>
		Fields other than <strong>kind</strong> are optional and appear only when the client reported them. <strong>name</strong> is never emitted for effect-kind events; use the documented effect queries instead.
	</li>
	<li>
		The native batch also carries actor_epoch and actor_revision metadata alongside cursor, dropped, more, and events. The helper uses the event rows and does not expose the batch object to handlers.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Requirements</strong></span>
</p>

<ul>
	<li>
		GoS: SWTOR Core (v1.0.0 or newer) with scripting enabled.
	</li>
	<li>
		Star Wars: The Old Republic, retail client.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Installation</strong></span>
</p>

<ul>
	<li>
		<strong>combat_events.lua</strong> ships with Core in the shared modules folder, next to the other common helpers.
	</li>
	<li>
		Load it in your script with <strong>local Combat = require("combat_events")</strong>. Modules resolve only from the approved script roots and are cached per script.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Notes</strong></span>
</p>

<ul>
	<li>
		The module is a Lua convenience over the public API, not an extra native interface.
	</li>
	<li>
		Every handler runs inside a guarded call: a failure is written to the script log and the remaining handlers still receive the event.
	</li>
	<li>
		Part of GoS: SWTOR Core - see the full feature overview: <a href="https://gamingonsteroids.com/topic/1249-detailed-explanation-of-all-features/" rel="">Detailed Explanation of All Features</a>.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Built on GoS: SWTOR Core.</em></span>
</p>
]]></description><guid isPermaLink="false">1257</guid><pubDate>Mon, 14 Sep 2026 17:10:27 +0000</pubDate></item><item><title>PvP Sense - Cooldown Awareness and Action Cues</title><link>https://gamingonsteroids.com/topic/1256-pvp-sense-cooldown-awareness-and-action-cues/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:24px;"><strong>PvP Sense</strong></span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>Cooldown awareness and action cues beside player nameplates</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;">A standalone Core script for PvP and any fight with enemy players.</span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Overview</strong></span>
</p>

<p>
	<strong>pvp_sense</strong> turns known active timed buffs on players into instant reads: defensive and offensive icons beside nameplates, plus action cues for a current hostile target, such as DO NOT CC while Entrench or Combat Trance is freshly observed.
</p>

<ul>
	<li>
		<strong>Cooldown icons</strong> - a researched allow-list of normalized timed-buff names, each drawn beside the nameplate on its own side, laid out horizontally or from top to bottom. Unknown names stay hidden.
	</li>
	<li>
		<strong>Timers and stacks</strong> - remaining time over each icon, stack counts, colored borders per category, and an animated time sweep wash when the effect includes total duration. Stack counts share the timer label and are not drawn when timers are disabled.
	</li>
	<li>
		<strong>Action cues</strong> - an explicit response attached to the highest-priority fresh catalog entry in each enabled category for your current hostile target, so one defensive and one offensive cue may appear together. The ability name and double-drawn bold effect are optional. Retained last-known rows remain dimmed icon continuity only.
	</li>
	<li>
		<strong>Objective interactions</strong> - a movable, clickable window recognizes reviewed capture, orb pickup, bomb, bridge, forcefield, data-core, emplacement, artifact, ball-pickup, and Ilum interaction names. It accepts both localized titles and explicit Core prototype-name aliases, including Plant Bomb, Use Objective, Use Objective Purple, Gather Energy, and Generator1 / Generator2 / Generator3. Rows are labeled CAPTURE, ORB, PLANT, DISARM, PICKUP, or INTERACT. Each row requires an active cast and a resolved player; hostile rows sort first and at most eight rows are drawn. Core captures the displayed entity at mouse press, independently of later reordering or Lua/render rates. Lua resolves the captured handle and submits its opaque click ticket; Core retains undispatched intent during contention for up to two seconds. A newer click/manual selection supersedes stale pending intent; hiding/disabling the window, session changes, or an ended/filtered objective cancels pending intent if it has not dispatched. Lua does not retry uncertain selections.
	</li>
	<li>
		<strong>Layout controls</strong> - icon size, gap, side distance, vertical offset, per-side icon cap, timer and cue text sizes, cue gap, border width, and sweep opacity.
	</li>
	<li>
		<strong>Hostile roster</strong> - a separate movable window lists known hostile players nearest first, including off-screen players in Core's snapshot. Columns show abbreviated class, clickable name, observed spec, HP percentage/bar, iLvl (overall equipped item rating), and distance in metres. Unknown fields show --. It reuses the Seer action window's [=] drag handle and X close control, plus the objective window's captured-entity click ticket and target-request lifecycle. No cast or interrupt is automated. Hiding one window cancels only that window's pending target intent; a newer click in either window replaces the script's older undispatched intent.
	</li>
	<li>
		<strong>Filters</strong> - friendly, hostile, neutral, and self targets, with a max player count and a max distance.
	</li>
	<li>
		<strong>Readable at range</strong> - icons follow the same nameplate distance scaling as Core's plates: full size up to 30 m, shrinking to half size by 60 m.
	</li>
	<li>
		<strong>Preview</strong> - cycle the catalog on yourself to tune the layout without waiting for a fight, at a configurable speed.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>pvp_sense - DO NOT CC action cues</em></span>
</p>

<p style="text-align:center;">
	<img alt="pvp_sense - DO NOT CC action cues" style="height:auto;" data-src="https://i.imgur.com/ne9vREr.png" src="https://gamingonsteroids.com/applications/core/interface/js/spacer.png" />
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Controls</strong></span>
</p>

<ul>
	<li>
		<strong>PvP Sense - Enabled</strong>, <strong>Preview - Cycle Icons</strong>, and <strong>Preview - Cycle Speed</strong>.
	</li>
	<li>
		<strong>Objectives - Interaction Window</strong>, <strong>Objectives - Friendly Players</strong>, <strong>Objectives - Hostile Players</strong>, and <strong>Objectives - Remaining Time</strong>, with <strong>Objectives - Position X</strong>, <strong>Objectives - Position Y</strong>, and <strong>Objectives - Window Width</strong>.
	</li>
	<li>
		<strong>Hostiles - Roster Window</strong>, <strong>Hostiles - Position X</strong>, <strong>Hostiles - Position Y</strong>, <strong>Hostiles - Window Width</strong>, and <strong>Hostiles - Rows</strong>. Re-enable Roster Window after closing it with X. The default is 16 rows; at most 32 are drawn, further limited by viewport height. The roster inspects at most 64 prepared hostile players.
	</li>
	<li>
		<strong>Player Cooldowns - Defensives</strong>, <strong>Player Cooldowns - Offensives</strong>, and <strong>Player Cooldowns - Action Cues</strong>.
	</li>
	<li>
		<strong>Action Cues - Ability Name</strong> and <strong>Action Cues - Bold Text</strong>.
	</li>
	<li>
		<strong>Player Cooldowns - Timers</strong>, <strong>Player Cooldowns - Stack Counts</strong>, <strong>Player Cooldowns - Colored Borders</strong>, and <strong>Icon Effects - Time Sweep</strong>.
	</li>
	<li>
		<strong>Player Cooldowns - Side Layout</strong> and <strong>PvP Layout - Icon Direction</strong>.
	</li>
	<li>
		<strong>Targets - Friendly</strong>, <strong>Targets - Hostile</strong>, <strong>Targets - Neutral</strong>, and <strong>Targets - Self</strong> with <strong>Limits - Max Players</strong>, <strong>Limits - Player Icons per Side</strong>, and <strong>Limits - Max Distance</strong>.
	</li>
	<li>
		<strong>PvP Layout - Icon Size</strong>, <strong>PvP Layout - Icon Gap</strong>, <strong>PvP Layout - Y Offset</strong>, <strong>PvP Layout - Side Distance</strong>, <strong>PvP Layout - Timer Text Size</strong>, <strong>PvP Layout - Cue Text Size</strong>, <strong>PvP Layout - Cue Gap</strong>, and <strong>PvP Layout - Border Width</strong>, plus <strong>Icon Effects - Sweep Opacity</strong>.
	</li>
	<li>
		<strong>PvP Colors - Defensive</strong>, <strong>PvP Colors - Offensive</strong>, and <strong>Diagnostics - Effect Observations</strong>. Diagnostics are off by default and emit bounded aggregate effect/objective status at most once per second.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Requirements</strong></span>
</p>

<ul>
	<li>
		GoS: SWTOR Core with scripting enabled and the native click-ticket / target-request contract. The shared Core repair is source/regression tested but <strong>UNTESTED LIVE</strong>; the Lua script and matching native build must be activated together by the user.
	</li>
	<li>
		Star Wars: The Old Republic, retail client.
	</li>
	<li>
		No other Lua modules are needed. The package must retain its bundled SWTOR sprite files; the script reads them from the sandbox sprite root and has no configurable icon-root control.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Installation</strong></span>
</p>

<ul>
	<li>
		Open the <strong>Script Library</strong> in Core, select <strong>PvP Sense</strong>, and install or update to the latest release.
	</li>
	<li>
		Enable the script in the Scripts list and open its settings card.
	</li>
	<li>
		Use the preview cycle to place the icons and cues before heading into a fight.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Notes</strong></span>
</p>

<ul>
	<li>
		Cooldowns are matched against an explicit allow-list after lower-casing and normalizing spaces, hyphens, and punctuation in the reported effect name. This is exact catalog-name matching, not numeric effect-definition matching; unknown observations stay hidden.
	</li>
	<li>
		The script never casts or runs a rotation. Cooldown awareness is display-only, but an explicit click in the objective window does request a target change and waits up to two seconds for confirmation.
	</li>
	<li>
		Preview replaces only the cooldown observations with rotating self-anchored catalog samples. The objective window continues to use live active casts while preview is enabled.
	</li>
	<li>
		Objective remaining time always comes from Core. Bar totals come from the reviewed definitions: pylon aliases and modern bomb plant 6 s, orb pickup 5 s, defuse 3 s, turret control 8 s, Novare emplacement channel 18 s, bridge/forcefield 6 s, and modern data core 0.5 s. A bar measures the current cast/channel, not objective ownership or capture percentage. Capturing the Objective is shared by 6 s capture and 8 s extraction; Turretswitch is shared by different actions. Those ambiguous names and generic Accessing retain their reported countdown without a guessed fill. Instant ball pickup has no invented duration and appears only if an active cast row exists. Explosions, taxis, bolster, grapples, carrier buffs, and scoring/support effects are excluded.
	</li>
	<li>
		The roster's iLvl column requires Core's unit:item_rating() getter and reads the same prepared equipped-rating value as native nameplates, not an inventory item's level or the character's level. Older Core builds show -- and log the missing API once. Remote specs remain optional; the roster does not infer them from buffs or abilities. Native/Lua source tests do not establish live behavior; activate the rebuilt Core and reload Lua before testing the new window.
	</li>
	<li>
		Part of GoS: SWTOR Core - see the full feature overview: <a href="https://gamingonsteroids.com/topic/1249-detailed-explanation-of-all-features/" rel="">Detailed Explanation of All Features</a>.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Built on GoS: SWTOR Core.</em></span>
</p>
]]></description><guid isPermaLink="false">1256</guid><pubDate>Mon, 14 Sep 2026 17:09:36 +0000</pubDate></item><item><title>SWTOR Combat Log and DPS Meter - Live Damage, Healing, and HPS Tracking</title><link>https://gamingonsteroids.com/topic/1255-swtor-combat-log-and-dps-meter-live-damage-healing-and-hps-tracking/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:24px;"><strong>Combat Meter</strong></span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>Live DPS, HPS, and damage-taken tracking for Star Wars: The Old Republic</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;">A GoS: SWTOR Core feature script that reads the live combat event stream and shared actor-label metadata.</span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Overview</strong></span>
</p>

<p>
	<strong>combat_meter</strong> turns Core's combat event stream into a live SWTOR combat meter: damage (DPS), healing (HPS), and damage taken (DTPS), with contributor or incoming-source totals plus ability and target detail. It is a full script-built window - every pixel is drawn by the script.
</p>

<ul>
	<li>
		<strong>Three modes</strong> - <strong>Damage (DPS)</strong>, <strong>Healing (HPS)</strong>, and <strong>Taken (DTPS)</strong> tabs. Click a tab to switch the whole meter.
	</li>
	<li>
		<strong>Live rows</strong> - eligible friendly players and companions receive damage/healing totals, rate, and share. A completed summary remains visible until Reset or the next observed encounter starts.
	</li>
	<li>
		<strong>Detail view</strong> - the compact view shows the top five contributors. Open one for up to 12 ability rows and 6 target rows, then select an ability for casts, hits, criticals, rate, share, and its top targets.
	</li>
	<li>
		<strong>Incoming tracking</strong> - <strong>combat_meter_incoming</strong> records damage to the local player from positive or zero <strong>effective_amount</strong> events, local-player interrupt events, effect lifecycle, and death. Crowd-control rows are explicitly 200 ms snapshot observations from a 533-definition catalog, not fabricated combat events or exact durations.
	</li>
	<li>
		<strong>Window controls</strong> - drag the meter by its header to move it; panel and detail positions persist between sessions. Toggle with <strong>F5</strong> (configurable), and tune font size, transparency, and background color.
	</li>
	<li>
		<strong>Bounded</strong> - capture reads at most four native batches per 16 ms callback; contributor, source, ability, target, history, and timeline models all have explicit caps. A dropped-event or model-limit condition is shown as incomplete rather than estimated away.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>combat_meter - live SWTOR DPS and HPS tracking drawn by a script</em></span>
</p>

<p style="text-align:center;">
	<img alt="SWTOR combat meter - live DPS and HPS tracking" style="height:auto;" data-src="https://i.imgur.com/IH112Wg.png" src="https://gamingonsteroids.com/applications/core/interface/js/spacer.png" />
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>combat_meter - damage done to us</em></span>
</p>

<p style="text-align:center;">
	<img alt="combat_meter - damage done to us" style="height:auto;" data-src="https://i.imgur.com/kGrK5Ui.png" src="https://gamingonsteroids.com/applications/core/interface/js/spacer.png" />
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>SWTOR Combat Log, DPS, HPS, and DTPS</strong></span>
</p>

<p>
	If you are looking for a SWTOR combat log, damage meter, or HPS meter, <strong>combat_meter</strong> is the live option: it reads the client's combat event stream while you play instead of reading a log file after the fight. Damage per second (DPS), healing per second (HPS), and damage taken per second (DTPS) update as events arrive, so the fight stays visible while it happens.
</p>

<p>
	This script does not tail or parse the game's text combat log. Damage, healing, lifecycle, and interrupt rows come from Core's ordered event stream; CC rows are clearly labeled local-player snapshot observations. Use it for operations, flashpoints, warzones, or dummy parses to inspect live totals and breakdowns. Reset is available between pulls but is not required to replace a completed encounter when the next one begins.
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Controls</strong></span>
</p>

<ul>
	<li>
		<strong>Meter Toggle</strong> - the show/hide hotkey (default F5).
	</li>
	<li>
		<strong>Visible</strong>, <strong>Position X</strong>, and <strong>Position Y</strong> - also updated by dragging the header.
	</li>
	<li>
		<strong>Detail Position X</strong> and <strong>Detail Position Y</strong>.
	</li>
	<li>
		<strong>Font Size</strong>, <strong>Overlay Transparency</strong>, and <strong>Background Color</strong>.
	</li>
	<li>
		In-frame controls: mode tabs, per-row hover details, click to open a player, and the <strong>Reset</strong> button.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Requirements</strong></span>
</p>

<ul>
	<li>
		GoS: SWTOR Core (v1.0.0 or newer) with scripting enabled.
	</li>
	<li>
		Star Wars: The Old Republic, retail client.
	</li>
	<li>
		The meter requires <strong>combat_meter_incoming.lua</strong> and <strong>actor_labels.lua</strong>. It reads <strong>gos.events.combat</strong> directly and does not import <strong>combat_events.lua</strong>.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Installation</strong></span>
</p>

<ul>
	<li>
		Open the <strong>Script Library</strong> in Core, select <strong>Combat Meter</strong>, and install or update to the latest release. The library installs the script and its shared modules together.
	</li>
	<li>
		Enable the script in the Scripts list and open its settings card.
	</li>
	<li>
		Press F5 to toggle the meter and drag it into place. Reset clears the current model immediately; a newly observed encounter also replaces a completed one.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Roadmap</strong></span>
</p>

<p>
	Planned work, not yet implemented:
</p>

<ul>
	<li>
		<strong>Class colors</strong> - color meter rows by the player's class the way SWTOR uses class colors elsewhere in the UI, so a group's composition reads at a glance.
	</li>
	<li>
		<strong>Ability icons</strong> - show each ability's icon next to its row in the detail view, so breakdowns match what players already recognize from the game. Under consideration.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Notes</strong></span>
</p>

<ul>
	<li>
		Damage done uses positive <strong>effective_amount</strong>; damage taken accepts non-negative <strong>effective_amount</strong> so zero-result rows remain visible; healing uses positive reported <strong>amount</strong> because Core does not expose a separate overheal value. Rates use observed combat timestamps, and missing timing or dropped events are surfaced as incomplete. The meter never changes what your character does.
	</li>
	<li>
		Works alongside any rotation script - the meter and the rotations do not share state.
	</li>
	<li>
		Capture, actor-metadata, and CC-sampler callback failures are surfaced in the meter and Lua console; a stopped callback requires a script reload. Dropped events, absent timing, invalid incoming amounts, history rollover, and bounded-model limits are reported separately rather than hidden.
	</li>
	<li>
		Part of GoS: SWTOR Core - see the full feature overview: <a href="https://gamingonsteroids.com/topic/1249-detailed-explanation-of-all-features/" rel="">Detailed Explanation of All Features</a>.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Built on GoS: SWTOR Core.</em></span>
</p>
]]></description><guid isPermaLink="false">1255</guid><pubDate>Mon, 14 Sep 2026 17:08:26 +0000</pubDate></item><item><title>Crowd Control Viewer - CC Icons with Live Countdowns</title><link>https://gamingonsteroids.com/topic/1254-crowd-control-viewer-cc-icons-with-live-countdowns/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:24px;"><strong>Crowd Control Viewer</strong></span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>Ability icons with live countdowns, drawn over units</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;">A standalone Core script for crowd-control awareness.</span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Overview</strong></span>
</p>

<p>
	<strong>crowd_control_viewer</strong> draws crowd-control debuffs as icons with live countdowns over the units they affect, so you can see at a glance who is locked down.
</p>

<ul>
	<li>
		<strong>Crowd control</strong> - timed debuffs whose normalized reported names exist in the viewer's explicit catalog render as icons above the unit with their remaining time.
	</li>
	<li>
		<strong>Explicit name catalog</strong> - matching lower-cases the reported effect name and normalizes spaces, hyphens, and punctuation before an exact catalog lookup. This is not numeric effect-definition matching. Core last-known rows may remain as dimmed presentation continuity; timers are aged from the cached observation rather than fabricated.
	</li>
	<li>
		<strong>Target layers</strong> - friendly, hostile, neutral, and self layers can each be toggled. The current target remains eligible even when its reaction layer is disabled, except that the Self toggle still excludes the local player.
	</li>
	<li>
		<strong>Bounded</strong> - units are distance-sorted with the current target first, capped at 64 by default, and live effects refresh on a rotating 16-unit budget after the initial cache bootstrap. Per-unit icon limits and a 120-command draw budget bound presentation work.
	</li>
	<li>
		<strong>Test mode</strong> - cycles sample icons over visible units so you can preview sizes and layout before a fight.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>crowd_control_viewer - ability sprites with live countdowns</em></span>
</p>

<p style="text-align:center;">
	<img alt="crowd_control_viewer - ability sprites over units" style="height:auto;" data-src="https://i.imgur.com/gtVu7da.png" src="https://gamingonsteroids.com/applications/core/interface/js/spacer.png" />
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Controls</strong></span>
</p>

<ul>
	<li>
		<strong>CC Viewer - Enabled</strong> and <strong>Preview - Test Mode</strong>.
	</li>
	<li>
		<strong>Awareness - Crowd Control</strong>.
	</li>
	<li>
		<strong>Targets - Friendly</strong>, <strong>Targets - Hostile</strong>, <strong>Targets - Neutral</strong>, and <strong>Targets - Self</strong>.
	</li>
	<li>
		<strong>Limits - Max Units</strong>, <strong>Limits - CC Icons per Unit</strong>, and <strong>Limits - Max Distance</strong>.
	</li>
	<li>
		<strong>CC - Icon Size</strong> and <strong>CC - Y Offset</strong>.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Requirements</strong></span>
</p>

<ul>
	<li>
		GoS: SWTOR Core (v1.0.0 or newer) with scripting enabled.
	</li>
	<li>
		Star Wars: The Old Republic, retail client.
	</li>
	<li>
		No other Lua modules are needed. The package must retain its bundled SWTOR sprite files; the script reads them from the sandbox sprite root and exposes no icon-root setting.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Installation</strong></span>
</p>

<ul>
	<li>
		Open the <strong>Script Library</strong> in Core, select <strong>Crowd Control Viewer</strong>, and install or update to the latest release.
	</li>
	<li>
		Enable the script in the Scripts list and open its settings card.
	</li>
	<li>
		Use test mode any time to preview the icons, then disable it for live play.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Notes</strong></span>
</p>

<ul>
	<li>
		The viewer is display only: it never casts, changes targets, or interacts with your rotation.
	</li>
	<li>
		Icons can be drawn over multiple eligible units at once. The current target is sorted first and can bypass its reaction filter, but the viewer is not limited to that target.
	</li>
	<li>
		Test mode stops live effect refresh and draws rotating catalog samples over the eligible units instead. Disable it to return to observed debuffs.
	</li>
	<li>
		Part of GoS: SWTOR Core - see the full feature overview: <a href="https://gamingonsteroids.com/topic/1249-detailed-explanation-of-all-features/" rel="">Detailed Explanation of All Features</a>.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Built on GoS: SWTOR Core.</em></span>
</p>
]]></description><guid isPermaLink="false">1254</guid><pubDate>Mon, 14 Sep 2026 17:07:34 +0000</pubDate></item><item><title>Better Ally Frames - Clickable Party and Ally Frames</title><link>https://gamingonsteroids.com/topic/1253-better-ally-frames-clickable-party-and-ally-frames/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:24px;"><strong>Better Ally Frames</strong></span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>Clickable party and ally frames for GoS: SWTOR Core</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;">A standalone Core script. Enable it, and click any frame to select that unit.</span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Overview</strong></span>
</p>

<p>
	<strong>better_ally_frames</strong> adds a compact panel drawn by Core alongside SWTOR's stock UI; it does not hide or replace the stock party frames. It renders friendly players, companions, and ally NPCs with observed health, optional resources, distance, and range awareness, and every displayed frame is clickable.
</p>

<ul>
	<li>
		<strong>Click to select</strong> - Core binds the click to the entity shown when mouse press began, even if the frames re-sort before release. Lua resolves that captured handle in the current session and submits Core's opaque click ticket. Core retains undispatched intent for up to two seconds during contention; Lua does not retry the selection. A newer click or manual selection supersedes stale undispatched intent, while already-dispatched work retains its outcome evidence. Hiding/disabling the panel, expiry, session changes, or losing frame eligibility cancels pending intent where dispatch has not won.
	</li>
	<li>
		<strong>Compact and movable</strong> - drag the panel by its title bar, minimize it with the title button, or hide it with the hotkey (default F6). A completed drag saves the position; configured frame dimensions persist as settings.
	</li>
	<li>
		<strong>Type-aware</strong> - self, players, companions, and ally NPCs can each be enabled or disabled, with distinct accents: gold border, purple companions, and green ally NPCs. The active selection is highlighted in cyan.
	</li>
	<li>
		<strong>Health and resources</strong> - observed health bars with a below-30% color and a zero-health dead state, plus an optional resource bar colored by resource type: Force, energy/ammo, rage/focus/heat, or generic. Missing snapshots remain empty/unavailable.
	</li>
	<li>
		<strong>Range awareness</strong> - allies beyond the implemented threshold dim to the out-of-range opacity; the selected or pending-selection frame remains at full opacity. See the current distance-conversion limitation below.
	</li>
	<li>
		<strong>Sorting and layout</strong> - choose Group then name, Distance, Health %, or Name, with configurable columns, frame width and height, and distance readouts.
	</li>
	<li>
		<strong>Bounded</strong> - up to 32 sorted frames are drawn. Any additional eligible allies are reported by an overflow line instead of creating an unbounded panel.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>better_ally_frames - clickable ally frames drawn by a script</em></span>
</p>

<p style="text-align:center;">
	<img alt="better_ally_frames - clickable ally frames" style="height:auto;" width="350" data-src="https://i.imgur.com/auV9h2v.png" src="https://gamingonsteroids.com/applications/core/interface/js/spacer.png" />   <img alt="better_ally_frames - second view" style="height:auto;" width="350" data-src="https://i.imgur.com/CTzeIQr.png" src="https://gamingonsteroids.com/applications/core/interface/js/spacer.png" />
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Controls</strong></span>
</p>

<ul>
	<li>
		<strong>Visible</strong> and <strong>Show / Hide Hotkey</strong> (default F6) with <strong>Minimized</strong>.
	</li>
	<li>
		<strong>Sort Frames</strong>, <strong>Columns</strong>, <strong>Frame Width</strong>, and <strong>Frame Height</strong>.
	</li>
	<li>
		<strong>Out-of-Range Opacity</strong> and <strong>Range (metres)</strong>.
	</li>
	<li>
		<strong>Position X</strong> and <strong>Position Y</strong> (also updated by dragging the title bar).
	</li>
	<li>
		<strong>Show Self</strong>, <strong>Show Players</strong>, <strong>Show Companions</strong>, and <strong>Show Ally NPCs</strong>.
	</li>
	<li>
		<strong>Show Distance</strong> and <strong>Show Resource Bar</strong>.
	</li>
	<li>
		<strong>Targeting Diagnostics</strong> - shows left-mouse input, cursor availability, frame rectangles and hit tests, interaction edges, retained slot handles, target requests, queue or busy state, confirmation latency, and failures in the script's <strong>Log</strong> tab with <strong>INFO</strong> enabled. A status update once per second remains visible even when no click event arrives. Disabled by default; use <strong>Save</strong> to export the retained log.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Requirements</strong></span>
</p>

<ul>
	<li>
		GoS: SWTOR Core with scripting enabled and the native click-ticket / target-request contract. The shared Core repair is source/regression tested but <strong>UNTESTED LIVE</strong>; the Lua script and matching native build must be activated together by the user.
	</li>
	<li>
		Star Wars: The Old Republic, retail client.
	</li>
	<li>
		No other scripts or modules needed - better_ally_frames is standalone.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Installation</strong></span>
</p>

<ul>
	<li>
		Open the <strong>Script Library</strong> in Core, select <strong>Better Ally Frames</strong>, and install or update to the latest release.
	</li>
	<li>
		Enable the script in the Scripts list and open its settings card.
	</li>
	<li>
		Drag the panel where you want it; the position is saved.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Roadmap</strong></span>
</p>

<p>
	Planned work, not yet implemented:
</p>

<ul>
	<li>
		<strong>Buff, debuff, and cleansable icons</strong> - display each unit's effects on its frame the way SWTOR shows them, so you can read an ally's buffs, debuffs, and cleansable effects at a glance.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Notes</strong></span>
</p>

<ul>
	<li>
		The script never casts or runs a rotation. Its one gameplay action is the explicit user-requested target change when you click a frame.
	</li>
	<li>
		Frames render from prepared snapshots. Missing health is shown as <strong>--</strong>; missing distance is shown as <strong>?m</strong> and treated as out of range rather than guessed.
	</li>
	<li>
		<strong>Current distance limitation:</strong> this Lua revision multiplies <strong>unit:distance()</strong> by 10 even though the current Core snapshot already reports metres. The displayed distance and the value compared with <strong>Range (metres)</strong> are therefore ten times Core's current metre value. The label is retained because it is the live settings field; this page does not pretend the present conversion is correct.
	</li>
	<li>
		Part of GoS: SWTOR Core - see the full feature overview: <a href="https://gamingonsteroids.com/topic/1249-detailed-explanation-of-all-features/" rel="">Detailed Explanation of All Features</a>.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Built on GoS: SWTOR Core.</em></span>
</p>
]]></description><guid isPermaLink="false">1253</guid><pubDate>Mon, 14 Sep 2026 17:06:30 +0000</pubDate></item><item><title>Operative/Scoundrel Pve/PvP Combat Routine [Level 80]</title><link>https://gamingonsteroids.com/topic/1252-operativescoundrel-pvepvp-combat-routine-level-80/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:24px;"><strong>Operative Combat Routine</strong></span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>Concealment, Lethality, and Medicine for GoS: SWTOR Core</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;">Current runtime support: Imperial Agent Operative only. Scoundrel names below are a future-support mirror reference, not a supported route.</span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Support Status</strong></span>
</p>

<p>
	<strong>The current Lua is Operative-only.</strong> The dispatcher requires <code>combat_style == "operative"</code> and the exact Operative discipline names <strong>Concealment</strong>, <strong>Lethality</strong>, or Core's authoritative <strong>Medic</strong> value. It does not translate Scoundrel loadouts, abilities, effects, casts, or combat events. <strong>Scrapper, Ruffian, and Sawbones are therefore not runnable today.</strong> Their mirror names are retained and corrected in this topic so a future implementation has an accurate reference.
</p>

<ul>
	<li>
		<strong>Coverage:</strong> all three Operative modules are capability-driven through level 80. The route reads owned abilities, passives, and choices from the live loadout instead of inferring them from level.
	</li>
	<li>
		<strong>Fail-closed loadout gate:</strong> the combat route waits when the style, discipline, loadout, ability, effect, resource, target, or required geometry is unavailable.
	</li>
	<li>
		<strong>One executor:</strong> the top-level dispatcher owns one shared <code>AbilityExecutor</code>, polls it once per tick, and passes it to every route and utility.
	</li>
	<li>
		<strong>Current-target DPS:</strong> Concealment and Lethality use the selected hostile target. Medicine chooses friendly patients independently and never changes the visible selection to heal.
	</li>
	<li>
		<strong>Manual ownership:</strong> Evasion, Cloaking Screen, Flash Bang, Infiltrate, and other major defensives or crowd-control actions stay player-owned unless a specific behavior below says otherwise.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Executor, Scheduling, And Targeting</strong></span>
</p>

<ul>
	<li>
		<strong>Hold-to-run:</strong> normal rotation, cleanse, interrupt, and DPS self-healing work only while <strong>Rotation Key</strong> is active. Auto Stealth may be configured to work without the key. Stealth-detector awareness and the cursor Holotraverse gesture are separate from the rotation key.
	</li>
	<li>
		<strong>Dispatcher order:</strong> after the one executor poll, the script updates combat evidence, draws Medicine actions when applicable, services cursor Holotraverse, then the shared interrupt. Route-owned pending admission is serviced before new work. DPS cleanse, DPS self-heal, Auto Stealth, and the selected discipline route then take their defined turns.
	</li>
	<li>
		<strong>One request at a time:</strong> an accepted command owns the executor until Core reports its lifecycle terminal. Admission-pending means “retry this exact intent next tick,” not success or failure. A route cancels only a command carrying its own exact ownership prefix.
	</li>
	<li>
		<strong>No target fallback:</strong> explicit friendly, cleanse, interrupt, cursor, and Concealment casts require the requested handle and <code>target_fallback="none"</code>. Contract mismatches are rejected. Lethality deliberately uses Core's captured selected-target path and verifies that no override or fallback occurred.
	</li>
	<li>
		<strong>Selection changes:</strong> Lethality releases only its own cancellable selected-target command when the selection changes. Medicine re-resolves friendly handles before retrying admission. Life-saving/burst healing stays pinned to the endangered patient instead of silently healing a healthier fallback.
	</li>
	<li>
		<strong>Action timing:</strong> the Lua queue window controls when normal actions may be offered. Core remains authoritative for cooldown, resource, range, facing, line of sight, target state, native result, and cleanup.
	</li>
	<li>
		<strong>AoE counts:</strong> automatic counting uses bounded target-centered, player-centered, or cone geometry as appropriate. Manual <strong>Relevant Targets</strong> replaces only the quantity when automatic counting is disabled; it never overrides missing range/facing geometry or observed breakable crowd control.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Controls</strong></span>
</p>

<p>
	The settings card is discipline-aware. Ability-gated controls appear only when the current loadout owns the required ability. Defaults below are the current Lua defaults.
</p>

<h3>
	General, Energy, And Logs
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Rotation Key</strong>
			</td>
			<td>
				Mouse 4
			</td>
			<td>
				Hold to run the combat scheduler.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Ability Queue Window</strong>
			</td>
			<td>
				0.20 s
			</td>
			<td>
				Normal-action queue lead; range 0.05-0.50 s.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Energy Floor %</strong>
			</td>
			<td>
				60%
			</td>
			<td>
				DPS paid-action reserve; range 35-90%.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Auto Stim Boost</strong>
			</td>
			<td>
				On
			</td>
			<td>
				DPS reserves it for worthwhile targets; Medicine may use it for emergency TA or Stim Burst healing windows.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Auto Adrenaline Probe</strong> / <strong>Adrenaline Probe At %</strong>
			</td>
			<td>
				On / 40%
			</td>
			<td>
				Automatic Energy recovery. During active Medicine pressure, the route will not wait below 40% even if a lower threshold is configured.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Cast Log</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Logs commands accepted by the Lua/Core submission path. It is not proof that the game activated them.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Decision Log</strong>
			</td>
			<td>
				Off
			</td>
			<td>
				Rate-limited route choices, waits, gates, admission retries, and cursor outcome diagnostics.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Ability Diagnostics</strong>
			</td>
			<td>
				Off
			</td>
			<td>
				Rate-limited owned/bound/resolved/ready/cost and command-state detail for the selected route.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	AoE And Damage Target Counting
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Automatic AoE</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Enables discipline AoE priorities.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Target-Centered Auto Count</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses live hostile geometry for AoE decisions.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Relevant Targets</strong>
			</td>
			<td>
				1
			</td>
			<td>
				Manual count, 1-8, used only when automatic counting is disabled; real geometry remains mandatory.
			</td>
		</tr>
		<tr>
			<td>
				<strong>AoE Minimum Targets</strong>
			</td>
			<td>
				3
			</td>
			<td>
				Minimum clustered hostiles, range 2-8.
			</td>
		</tr>
		<tr>
			<td>
				<strong>AoE Cluster Radius</strong>
			</td>
			<td>
				5 m
			</td>
			<td>
				Target-centered count radius, range 3-8 m. Ability-specific footprints still govern each cast.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Corrosive Dart Refresh</strong>
			</td>
			<td>
				1.5 s
			</td>
			<td>
				Owned DoT refresh window, range 0-3 s.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	DPS Self-Healing
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>DPS Self-Healing</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Master switch for Concealment/Lethality self-care; Medicine is excluded.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Self-Heal: Concealment</strong> / <strong>DPS Self-Heal: Lethality</strong>
			</td>
			<td>
				On / On
			</td>
			<td>
				Per-discipline switches.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Damage-First Self-Healing</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Routine Probe setup and normal Infusion wait for real damage filler. Critical direct healing and established two-stack Probe refresh remain protected.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Self-Healing PvP Only</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Requires a living hostile player or an observed player damage exchange until combat ends.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Self-Heal Manual PvP Context</strong>
			</td>
			<td>
				Off
			</td>
			<td>
				Manual opt-in before a player target/damage event is observed; it is not automatic warzone detection.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Maintain Two Self Probes</strong> / <strong>DPS Self Probe Refresh Seconds</strong>
			</td>
			<td>
				On / 3.0 s
			</td>
			<td>
				Maintains two owned Kolto Probe stacks, including at full HP; refresh range 0.5-6.0 s.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Self Kolto Infusion</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Normal Infusion requires stationary movement state and observed TA; Quickening is handled separately.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Hardcast In Recovery Windows</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Normal Infusion requires damage downtime unless critical. Concealment filler recovery may replace actual Rifle/Overload filler.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Infusion TA To Keep</strong>
			</td>
			<td>
				0
			</td>
			<td>
				Normal Infusion keeps 0 or 1 observed TA. Critical healing may spend the last real stack.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Begin Self-Heal HP %</strong> / <strong>DPS Recover To HP %</strong> / <strong>DPS Critical Self-Heal HP %</strong>
			</td>
			<td>
				70 / 85 / 35
			</td>
			<td>
				Starts and ends the direct-heal recovery latch; the critical threshold may bypass policy reserves, never the real cost.
			</td>
		</tr>
		<tr>
			<td>
				<strong>DPS Self Probe Energy Reserve %</strong> / <strong>DPS Direct Heal Energy Reserve %</strong>
			</td>
			<td>
				50 / 35
			</td>
			<td>
				Energy reserves for routine Probes and Infusion. The helper can raise the current DPS floor for free-filler pooling.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Lethality Use Quickening Self-Heal</strong> / <strong>Lethality Quickening While Moving</strong> / <strong>Lethality Quickening Heal Below HP %</strong>
			</td>
			<td>
				On / On / 90%
			</td>
			<td>
				Consumes only an owned, freshly observed Quickening effect when Core reports the Infusion cost as zero.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Concealment
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Concealment Tactical</strong>
			</td>
			<td>
				Unknown / Other
			</td>
			<td>
				Choose Unknown / Other, Acid Lash, or Volatile Strike. Equipment is not exposed by the loadout, so this must match the equipped tactical.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Concealment Spend Reserve for Procs</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Allows a confirmed selected-tactical follow-up or expiring Acid Lash refresh to cross the policy Energy floor; full real cost remains mandatory.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Concealment Auto Tactical Overdrive</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses the selected reset only after relevant cooldowns were spent and an unexploded Volatile Substance is authoritatively absent.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Concealment Auto Shield Probe</strong> / <strong>Concealment Shield Probe Below HP %</strong>
			</td>
			<td>
				On / 75%
			</td>
			<td>
				Self-only, off-GCD, in combat, confirmed shield absence; does not delay the protected Stealth opener.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Concealment Heal on Damage Filler</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Allows a legal normal Infusion to replace actual Rifle/Overload filler without outranking real damage priorities.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Concealment Auto Crippling Slice / Throw</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses the selected level-39 branch as Wounds setup, a TA builder, or a legal free filler without replacing the Stealth opener.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Concealment Crippling Wounds Follow-up</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses the best legal direct hit only while the owned target debuff is observed.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Concealment Auto AoE in PvP</strong>
			</td>
			<td>
				Off
			</td>
			<td>
				Explicit opt-in for Toxic Haze, Noxious Knives, and Fragmentation Grenade against player targets.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Lethality
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Lethality Confirmed-Event Continuity</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses exact local AbilityActivate events and retained observed timers during scanner gaps. A command receipt never grants TA or claims a poison landed.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Lethality Auto Toxic Blast</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses Toxic Blast inside the learned poison priority.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Lethality Tactical</strong>
			</td>
			<td>
				Auto / Unknown
			</td>
			<td>
				Choose Auto / Unknown, Synox Shots, Viral Elements, or Catalyzed Toxins; the loadout does not expose equipped gear.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Lethality Auto Tactical Superiority</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses the raid buff only on Champion/boss-family PvE targets after owned poisons and real TA are ready; player targets remain manual.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Lethality Auto Shield Probe</strong> / <strong>Lethality Shield Probe Below HP %</strong>
			</td>
			<td>
				On / 75%
			</td>
			<td>
				Self-only off-GCD defense from observed HP and shield absence.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Lethality Auto Tactical Overdrive</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses the selected reset only after Toxic Haze and the learned strike have spent cooldowns in a worthwhile close poison window.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Lethality Single-Target PvE Haze</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Allows Haze on a durable stationary NPC with sufficient estimated lifetime; single player targets are excluded.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Lethality Minimum DoT Lifetime</strong>
			</td>
			<td>
				6.0 s
			</td>
			<td>
				Skips fresh poison setup when measured HP loss predicts a shorter life. Unknown lifetime does not block; zero disables the policy.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Corrosive Grenade Refresh</strong>
			</td>
			<td>
				1.5 s
			</td>
			<td>
				Owned primary-effect refresh window, range 0-3 s.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Medicine
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Medicine Heal Priority</strong>
			</td>
			<td>
				Incoming Damage Formula
			</td>
			<td>
				Choose Current HP or Incoming Damage Formula.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Healing Style</strong>
			</td>
			<td>
				Balanced
			</td>
			<td>
				Safe heals earlier, Balanced is the default, Efficient waits for more meaningful damage.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Healing Targets</strong>
			</td>
			<td>
				All Friendlies
			</td>
			<td>
				Players only, Players + Companions, or All Friendlies. This affects healing; the shared PvP cleanse remains player-only.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Probe Everyone</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Maintains two owned Kolto Probe stacks on every eligible visible player/companion in 30 m, with the urgent patient ahead of unrelated roster work.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Probe Fallback Limit</strong>
			</td>
			<td>
				4
			</td>
			<td>
				Sticky roster limit, 1-32, used only when Probe Everyone is off.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Kolto Probe Refresh</strong>
			</td>
			<td>
				4.5 s
			</td>
			<td>
				Two-stack refresh window, range 0.5-6.0 s.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Kolto Burst Allies</strong>
			</td>
			<td>
				3
			</td>
			<td>
				Self-Injection group-heal threshold inside the exact 8 m footprint, range 2-8.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Nanotech Allies</strong>
			</td>
			<td>
				2
			</td>
			<td>
				Recuperative Nanotech injured-allies threshold in its exact 10 m cluster, range 1-4.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Kolto Waves Allies</strong>
			</td>
			<td>
				3
			</td>
			<td>
				Minimum injured allies inside the best exact 8 m ground cluster, range 2-8.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Auto Shield Probe</strong> / <strong>Medicine Shield Probe Below HP %</strong>
			</td>
			<td>
				On / 75%
			</td>
			<td>
				Self-only, off-GCD, in-combat defense after life-saving healing and must-cleanse refusal.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Auto Battle Rez</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Resuscitation Probe on a proven-dead friendly player when no living ally needs urgent rescue; selected corpse first, then nearest legal corpse.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Auto Tactical Overdrive</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses the selected level-43 choice during emergency or real group pressure, or when the reset has concrete value.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Idle DPS</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Allows damage only after healing, HoT maintenance, cleanse, recovery, and utility priorities permit it.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine DPS Energy Reserve %</strong>
			</td>
			<td>
				70%
			</td>
			<td>
				Paid idle-DPS reserve, range 50-95%; Rifle Shot remains free.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Shiv / TA Bank</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Builds a two-TA healing reserve from a legal selected hostile within 4 m; it can operate even when Medicine Idle DPS is off.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine DPS Corrosive Dart</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Maintains the DoT only on the selected player or durable boss-tier target during a safe lull.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine DPS Overload Shot</strong> / <strong>Medicine DPS Rifle Shot</strong>
			</td>
			<td>
				On / On
			</td>
			<td>
				Paid surplus-energy and free final fillers.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Medicine Action Feed
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Medicine Actions: Visible</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Shows the frameless presentation-only feed. The on-screen X hides it.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Actions: Position X</strong> / <strong>Medicine Actions: Position Y</strong>
			</td>
			<td>
				700 / 220
			</td>
			<td>
				Screen position. The on-screen drag handle persists both values.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Actions: Main Font Size</strong>
			</td>
			<td>
				24 px
			</td>
			<td>
				Range 16-36 px.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Actions: Visible Rows</strong>
			</td>
			<td>
				5
			</td>
			<td>
				Range 1-8 recent actions.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Actions: Lifetime</strong>
			</td>
			<td>
				8 s
			</td>
			<td>
				Range 2-20 s before each row fades.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Actions: Show Heal Amount</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Accumulates measured player heal events into recent accepted heal actions.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Actions: Show Damage</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Shows idle-DPS actions and measured combat-event damage.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Medicine Actions: Show Proc Enhancements</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Shows exact observed proc labels supplied with accepted Medicine actions.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Auto Stealth And Detector Awareness
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Auto Stealth Out of Combat</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Attempts targetless Stealth only from ready Operative loadout/effect evidence.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Auto Stealth Trigger</strong>
			</td>
			<td>
				Always Out of Combat (No Key)
			</td>
			<td>
				Choose the default or Rotation Key Held.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Stealth Detection Awareness</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Draws up to two observed detector icons per hostile independently of selection, combat, Stealth, loadout readiness, and rotation key.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Stealth Detection Range Ring</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Selected detector only, and only when the catalog has a verified radius.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Stealth Detection Max Distance</strong>
			</td>
			<td>
				80 m
			</td>
			<td>
				Range 0-500 m; zero means unlimited.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Stealth Detection Icon Size</strong>
			</td>
			<td>
				30 px
			</td>
			<td>
				Fixed screen-pixel size, range 18-48. It does not use nameplate-distance scaling.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Stealth Icon Height (m)</strong>
			</td>
			<td>
				2.0 m
			</td>
			<td>
				World-space vertical offset above the hostile origin, range 0-20 m.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Cursor Holotraverse
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Cursor Holotraverse</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Manual cursor-targeted service for every supported Operative discipline, independent of the rotation key.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Holotraverse Key</strong> / <strong>Holotraverse Modifier</strong>
			</td>
			<td>
				V / Ctrl
			</td>
			<td>
				Hold the complete chord. Releasing it stops new submissions; an already submitted command may finish.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Holotraverse Targets</strong>
			</td>
			<td>
				All
			</td>
			<td>
				All; All players; Allied players; Allies + NPCs; Hostile players; Hostiles + NPCs; or NPCs + companions.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Holotraverse Cursor Radius (px)</strong>
			</td>
			<td>
				120 px
			</td>
			<td>
				Nearest eligible projected body center inside 20-600 px and the real 30 m ability range.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Holotraverse Cursor Preview</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Shows the cursor circle and candidate at a bounded 20 Hz cadence. A marker is not line-of-sight proof.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Reserve Holotraverse for Hotkey</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Lethality only: prevents automatic gap-close or TA use while the manual feature is enabled.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Shared PvP Interrupt And Cleanse
</h3>

<table>
	<thead>
		<tr>
			<th>
				Control
			</th>
			<th>
				Default
			</th>
			<th>
				Behavior
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Shared PvP Must-Interrupt</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Matches 41 exact catalogued hostile-player casts and submits explicit-target Distraction.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Interrupt At Cast %</strong>
			</td>
			<td>
				85%
			</td>
			<td>
				Observed-progress threshold, range 50-95%; no cast duration is guessed.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Interrupt: Current Target Only</strong>
			</td>
			<td>
				Off
			</td>
			<td>
				When on, considers only the exact current hostile player target.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Interrupt: Preserve Stealth</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Requires authoritative local Stealth absence before interrupting.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Interrupt Diagnostics</strong>
			</td>
			<td>
				Off
			</td>
			<td>
				Enables bounded interrupt decision diagnostics.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Shared PvP Cleanse</strong>
			</td>
			<td>
				On
			</td>
			<td>
				Uses exact current-client effect-definition identities while the rotation is active; no name fallback.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Shared Cleanse: Self</strong> / <strong>Shared Cleanse: Allies</strong>
			</td>
			<td>
				On / On
			</td>
			<td>
				Includes self and friendly players. Medicine healing-target settings do not broaden cleanse targets to companions/NPCs.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Shared Cleanse: Roots</strong> / <strong>Shared Cleanse: Slows</strong>
			</td>
			<td>
				On / Off
			</td>
			<td>
				Movement-control policy.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Shared Cleanse: Pressure Debuffs</strong> / <strong>Shared Cleanse: Pressure HP %</strong>
			</td>
			<td>
				Off / 90%
			</td>
			<td>
				Optional lower-priority pressure cleansing below the configured HP threshold.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Shared Cleanse: Minimum Seconds</strong>
			</td>
			<td>
				0.8 s
			</td>
			<td>
				Rejects effects already too close to expiry; range 0-3 s.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Shared Cleanse: Diagnostics</strong>
			</td>
			<td>
				Off
			</td>
			<td>
				Logs a bounded sample of skipped/unknown exact effect identities.
			</td>
		</tr>
	</tbody>
</table>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Concealment Rotation</strong></span>
</p>

<ul>
	<li>
		<strong>Protected opener:</strong> proven Stealth reserves <strong>Backstab</strong> as the only damage action. Unknown out-of-combat Stealth also preserves it. Backstab still needs a real rear-half-plane result unless Critical Stims or the player's own Revealing Weakness provides the observed positional override.
	</li>
	<li>
		<strong>Level-80 capability route:</strong> learned <strong>Veiled Strike</strong> authoritatively replaces Shiv; the route recognizes choices through level 73 and passives through level 78. Owning a passive never fabricates its proc.
	</li>
	<li>
		<strong>Acid Lash:</strong> uses only the observed, locally owned <strong>Poisoned (Acid Blade)</strong> component. It restores missing Acid Blade with legal Backstab and can refresh an expiring poison with Laceration.
	</li>
	<li>
		<strong>Volatile Strike:</strong> an observed unexploded Volatile Substance may be detonated by Veiled Strike without requiring Corrosive Dart. A real Revealing Weakness then promotes Backstab.
	</li>
	<li>
		<strong>Base priority:</strong> durable-target poison/setup, confirmed tactical and Active Stealth windows, Volatile Substance, Backstab, the learned TA builder, Laceration, optional Dart, Crippling filler, then Overload/Rifle filler.
	</li>
	<li>
		<strong>Crippling branch:</strong> Crippling Wounds uses the best legal direct follow-up; Crippling Throw builds TA below the observed cap; The Best Defense permits the legal free Slice filler. A blocked step never freezes the route.
	</li>
	<li>
		<strong>AoE:</strong> Toxic Haze uses the exact player-centered 8 m footprint; Noxious Knives uses the authored 45-degree cone; Fragmentation Grenade uses the exact target-centered 5 m cluster and seven-target cap. Observed breakable control vetoes splash, and unknown control state vetoes player splash.
	</li>
	<li>
		<strong>Resource/defense:</strong> Culling's 2 Energy refund is used only in reserve projection after its real engine condition; Shield Probe is the only automatic major defense. Evasion and Cloaking Screen remain manual.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Lethality Rotation</strong></span>
</p>

<ul>
	<li>
		<strong>Protected opener:</strong> Stealth reserves the learned strike: <strong>Lethal Strike</strong> when owned, otherwise Backstab. Automatic Holotraverse may close a real gap before the strike unless it is reserved for the hotkey.
	</li>
	<li>
		<strong>Poison identity:</strong> Corrosive Dart and Corrosive Grenade use exact current-client primary effect definitions. Secondary marks, slows, lingering poisons, a queue receipt, or another player's effect never extend upkeep.
	</li>
	<li>
		<strong>Full-poison spender:</strong> Corrosive Assault requires every owned, resolved, bound primary poison. A learned but unusable/unbound Grenade does not deadlock the route.
	</li>
	<li>
		<strong>Priority:</strong> poison setup/refresh, tactical burst setup, Toxic Blast, worthwhile Haze, learned strike, Fatality/Shiv resource work, Corrosive Assault, bounded AoE, then paid/free filler.
	</li>
	<li>
		<strong>Tacticals:</strong> Synox Shots relaxes the Energy policy for sustained Toxic Blast; Viral Elements still needs real player-centered pack geometry; Catalyzed Toxins uses freshly confirmed PvP poisons, Lethal Strike, then Toxic Blast without pretending the poisons were consumed.
	</li>
	<li>
		<strong>Observed continuity:</strong> server activations and fresh charge snapshots reconcile TA, Fatality, Corrosive Return, and DoT applications. Zero TA is a known state; dropped or old samples are not guessed into buffs.
	</li>
	<li>
		<strong>Target lifetime/rank:</strong> fresh DoTs and long cooldowns are conserved on measured short-lived targets. Players are meaningful burst targets; automatic PvE Stim Boost/Tactical Superiority is reserved for major threats.
	</li>
	<li>
		<strong>AoE safety:</strong> the same exact 8 m Haze, 45-degree Knives cone, 5 m Grenade geometry, and observed breakable-control veto apply. Lethality has no separate PvP-AoE disable; use <strong>Automatic AoE</strong> when needed.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Medicine Scheduler</strong></span>
</p>

<ul>
	<li>
		<strong>Exact patients:</strong> every friendly heal re-resolves the unit immediately before admission and requires explicit-target/no-fallback Core metadata. Kolto Waves keeps its separate ground/omitted-target contract.
	</li>
	<li>
		<strong>Incoming Damage Formula:</strong> uses disjoint recent damage windows (0-0.75 s, 0.75-2 s, and 2-4 s), current/recent/persistent attackers, recent owned HoT healing, projected HP at 2/4 s, and time-to-die bands. With no evidence it keeps HP ordering; after dropped events it degrades to HP ordering for the history window.
	</li>
	<li>
		<strong>Patient stickiness:</strong> an established burst-band patient stays focused until safer, a lower-HP patient appears, or a band-0 emergency preempts. True life-saving and burst target failures stay pinned instead of becoming a heal on somebody healthier.
	</li>
	<li>
		<strong>Life-saving refusal:</strong> a proven three-stack Diagnostics Probe instant Injection, Surgical Probe, Infusion, Injection, Nanotech, and last-resort Diagnostic Scan get one patient-pinned refusal before must-cleanse utility.
	</li>
	<li>
		<strong>HoT policy:</strong> builds the focused patient's two Probes first when survivable, preserves established two-stack refreshes, and resumes the wider sticky roster only after urgent pressure. Probe activation/refresh uses lifecycle and fresh effect evidence rather than assuming a submitted cast landed.
	</li>
	<li>
		<strong>Group healing:</strong> Kolto Burst is self-Injection inside 8 m; Recuperative Nanotech chooses an injured center inside 10 m and honors Nano Mark/Critical Nanotech/Nanotech Stim; Kolto Waves requires the configured injured count inside the best exact 8 m cluster and is never single-target filler.
	</li>
	<li>
		<strong>TA and procs:</strong> TA comes only from current charge observations. Surgical Precision raises the cap to three. Accomplished Doctor refreshes an existing two-stack Probe with Infusion/Surgical Probe. Curative Jolt spends its guaranteed Surgical Probe crit. Reactive Substance, Diagnostics Probe, Kolto Stim, Stim Burst, and Tactical Overdrive follow their observed/owned gates.
	</li>
	<li>
		<strong>Battle rez and cleanse:</strong> life-saving healing and must-cleanses outrank automatic battle rez. Movement cleanses, pressure cleanses, and target-specific backoff retain their defined scheduler positions.
	</li>
	<li>
		<strong>Idle damage:</strong> a safe lull may use Corrosive Dart, Backstab, Shiv/TA banking, Curbing Strategies Noxious Knives, Overload Shot, and Rifle Shot while protecting the Medicine Energy reserve.
	</li>
	<li>
		<strong>Action feed:</strong> presentation only. It never owns a cast, target, triage choice, or command lifecycle. Accepted actions can later be enriched by measured heal/damage events and exact proc metadata.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Stealth Detection</strong></span>
</p>

<ul>
	<li>
		Tracks boss stealth detection, Advanced Stealth Detection, Stealth Detection, and Stealth Scan on every bounded observed hostile, not only the selected target.
	</li>
	<li>
		Icons attach to each hostile's <strong>world origin</strong> with the configured world-space height. They keep a fixed pixel size; there is no nameplate-size, distance-scaling, CC-row, or fixed Y-offset formula.
	</li>
	<li>
		Advanced Stealth Detection, Stealth Detection, and Stealth Scan use the verified 15 m catalog radius. Boss stealth detection has an unverified radius, so it gets a DETECT badge but no fabricated range ring.
	</li>
	<li>
		The selected unit may receive the optional maximum known-radius ground ring. Unselected detectors keep their icons. Last-known timed rows are visibly dimmed.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Operative / Scoundrel Mirror Reference</strong></span>
</p>

<p>
	The following names are reference data for future Lua support. They do not make the current Operative-only dispatcher run on Scoundrel. A future route must translate loadout, ability, effect, cast, and combat-event names at the runtime boundary and remain fail-closed for any unverified mirror.
</p>

<h3>
	Disciplines, Shared Abilities, And Utility
</h3>

<table>
	<thead>
		<tr>
			<th>
				Operative
			</th>
			<th>
				Scoundrel mirror
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Concealment
			</td>
			<td>
				Scrapper
			</td>
		</tr>
		<tr>
			<td>
				Lethality
			</td>
			<td>
				Ruffian
			</td>
		</tr>
		<tr>
			<td>
				Medicine (Core discipline: Medic)
			</td>
			<td>
				Sawbones
			</td>
		</tr>
		<tr>
			<td>
				Rifle Shot
			</td>
			<td>
				Flurry of Bolts
			</td>
		</tr>
		<tr>
			<td>
				Overload Shot
			</td>
			<td>
				Quick Shot
			</td>
		</tr>
		<tr>
			<td>
				Shiv
			</td>
			<td>
				Blaster Whip
			</td>
		</tr>
		<tr>
			<td>
				Backstab
			</td>
			<td>
				Back Blast
			</td>
		</tr>
		<tr>
			<td>
				Corrosive Dart
			</td>
			<td>
				Vital Shot
			</td>
		</tr>
		<tr>
			<td>
				Fragmentation Grenade
			</td>
			<td>
				Thermal Grenade
			</td>
		</tr>
		<tr>
			<td>
				Noxious Knives
			</td>
			<td>
				Lacerating Blast
			</td>
		</tr>
		<tr>
			<td>
				Toxic Haze
			</td>
			<td>
				Bushwhack
			</td>
		</tr>
		<tr>
			<td>
				Diagnostic Scan
			</td>
			<td>
				Diagnostic Scan
			</td>
		</tr>
		<tr>
			<td>
				Kolto Infusion
			</td>
			<td>
				Kolto Pack
			</td>
		</tr>
		<tr>
			<td>
				Kolto Probe
			</td>
			<td>
				Slow-release Medpac
			</td>
		</tr>
		<tr>
			<td>
				Adrenaline Probe
			</td>
			<td>
				Cool Head
			</td>
		</tr>
		<tr>
			<td>
				Stim Boost
			</td>
			<td>
				Pugnacity
			</td>
		</tr>
		<tr>
			<td>
				Tactical Advantage
			</td>
			<td>
				Upper Hand
			</td>
		</tr>
		<tr>
			<td>
				Distraction
			</td>
			<td>
				Distraction
			</td>
		</tr>
		<tr>
			<td>
				Toxin Scan
			</td>
			<td>
				Triage
			</td>
		</tr>
		<tr>
			<td>
				Evasion
			</td>
			<td>
				Dodge
			</td>
		</tr>
		<tr>
			<td>
				Shield Probe
			</td>
			<td>
				Defense Screen
			</td>
		</tr>
		<tr>
			<td>
				Cloaking Screen
			</td>
			<td>
				Disappearing Act
			</td>
		</tr>
		<tr>
			<td>
				Stealth
			</td>
			<td>
				Stealth
			</td>
		</tr>
		<tr>
			<td>
				Sleep Dart
			</td>
			<td>
				Tranquilizer
			</td>
		</tr>
		<tr>
			<td>
				Debilitate
			</td>
			<td>
				Dirty Kick
			</td>
		</tr>
		<tr>
			<td>
				Flash Bang
			</td>
			<td>
				Flash Grenade
			</td>
		</tr>
		<tr>
			<td>
				Countermeasures
			</td>
			<td>
				Surrender
			</td>
		</tr>
		<tr>
			<td>
				Exfiltrate
			</td>
			<td>
				Scamper
			</td>
		</tr>
		<tr>
			<td>
				Holotraverse
			</td>
			<td>
				Trick Move
			</td>
		</tr>
		<tr>
			<td>
				Infiltrate
			</td>
			<td>
				Smuggle
			</td>
		</tr>
		<tr>
			<td>
				Tactical Overdrive
			</td>
			<td>
				Hot Streak
			</td>
		</tr>
		<tr>
			<td>
				Tactical Superiority
			</td>
			<td>
				Stack the Deck
			</td>
		</tr>
		<tr>
			<td>
				Infiltrator
			</td>
			<td>
				Sneaky
			</td>
		</tr>
		<tr>
			<td>
				Advanced Cloaking
			</td>
			<td>
				Flee the Scene
			</td>
		</tr>
		<tr>
			<td>
				Chem-resistant Inlays
			</td>
			<td>
				Scar Tissue
			</td>
		</tr>
		<tr>
			<td>
				Med Shield
			</td>
			<td>
				Med Screen
			</td>
		</tr>
		<tr>
			<td>
				Endorphin Rush
			</td>
			<td>
				Keep Cool
			</td>
		</tr>
		<tr>
			<td>
				Evasive Screen
			</td>
			<td>
				Skedaddle
			</td>
		</tr>
		<tr>
			<td>
				Evasive Imperative
			</td>
			<td>
				Scramble
			</td>
		</tr>
		<tr>
			<td>
				Jarring Strike
			</td>
			<td>
				K.O.
			</td>
		</tr>
		<tr>
			<td>
				Blow for Blow
			</td>
			<td>
				Back at Ya
			</td>
		</tr>
		<tr>
			<td>
				Elite Education
			</td>
			<td>
				Element of Surprise
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Concealment / Scrapper
</h3>

<table>
	<thead>
		<tr>
			<th>
				Operative
			</th>
			<th>
				Scoundrel mirror
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Laceration
			</td>
			<td>
				Sucker Punch
			</td>
		</tr>
		<tr>
			<td>
				Veiled Strike
			</td>
			<td>
				Bludgeon
			</td>
		</tr>
		<tr>
			<td>
				Volatile Substance
			</td>
			<td>
				Blood Boiler
			</td>
		</tr>
		<tr>
			<td>
				Crippling Slice
			</td>
			<td>
				Shank Shot
			</td>
		</tr>
		<tr>
			<td>
				Crippling Throw
			</td>
			<td>
				Crippling Shot
			</td>
		</tr>
		<tr>
			<td>
				Crippling Wounds
			</td>
			<td>
				Setup Shot
			</td>
		</tr>
		<tr>
			<td>
				Acid Blade
			</td>
			<td>
				Flechette Round
			</td>
		</tr>
		<tr>
			<td>
				Collateral Strike
			</td>
			<td>
				Flying Fists
			</td>
		</tr>
		<tr>
			<td>
				Tactical Opportunity
			</td>
			<td>
				Round Two
			</td>
		</tr>
		<tr>
			<td>
				Culling
			</td>
			<td>
				Turn the Tables
			</td>
		</tr>
		<tr>
			<td>
				Prey on the Weak
			</td>
			<td>
				Pierce and Batter
			</td>
		</tr>
		<tr>
			<td>
				Shadow Operative Elite
			</td>
			<td>
				Slippery Devil
			</td>
		</tr>
		<tr>
			<td>
				Revealing Weakness
			</td>
			<td>
				Hot and Ready
			</td>
		</tr>
		<tr>
			<td>
				Calculated Frenzy
			</td>
			<td>
				Rolling Punches
			</td>
		</tr>
		<tr>
			<td>
				Roll Knife
			</td>
			<td>
				Rolling Fists
			</td>
		</tr>
		<tr>
			<td>
				Relentless Blades
			</td>
			<td>
				Relentless Fists
			</td>
		</tr>
		<tr>
			<td>
				Defensive Stance
			</td>
			<td>
				Defensive Stance
			</td>
		</tr>
		<tr>
			<td>
				Curbing Strategies
			</td>
			<td>
				Curbing Strategies
			</td>
		</tr>
		<tr>
			<td>
				Quick Countermeasures
			</td>
			<td>
				Strategic Surrender
			</td>
		</tr>
		<tr>
			<td>
				The Best Defense
			</td>
			<td>
				The Best Defense
			</td>
		</tr>
		<tr>
			<td>
				Advanced Stealth
			</td>
			<td>
				Advanced Stealth
			</td>
		</tr>
		<tr>
			<td>
				Tactical Critical
			</td>
			<td>
				Upper Critical
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Lethality / Ruffian
</h3>

<table>
	<thead>
		<tr>
			<th>
				Operative
			</th>
			<th>
				Scoundrel mirror
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Corrosive Grenade
			</td>
			<td>
				Shrap Bomb
			</td>
		</tr>
		<tr>
			<td>
				Toxic Blast
			</td>
			<td>
				Sanguinary Shot
			</td>
		</tr>
		<tr>
			<td>
				Lethal Strike
			</td>
			<td>
				Point Blank Shot
			</td>
		</tr>
		<tr>
			<td>
				Corrosive Assault
			</td>
			<td>
				Brutal Shots
			</td>
		</tr>
		<tr>
			<td>
				Combat Stims
			</td>
			<td>
				Pugnacious
			</td>
		</tr>
		<tr>
			<td>
				Fatality
			</td>
			<td>
				Unfair Advantage
			</td>
		</tr>
		<tr>
			<td>
				Lethal Purpose
			</td>
			<td>
				Fighting Spirit
			</td>
		</tr>
		<tr>
			<td>
				Quickening
			</td>
			<td>
				Scurry
			</td>
		</tr>
		<tr>
			<td>
				Corrosive Microbes
			</td>
			<td>
				Mortal Wound
			</td>
		</tr>
		<tr>
			<td>
				Acidic Compounds
			</td>
			<td>
				Sharpened Materials
			</td>
		</tr>
		<tr>
			<td>
				Devouring Microbes
			</td>
			<td>
				Cold Blooded
			</td>
		</tr>
		<tr>
			<td>
				Augmented Toxins
			</td>
			<td>
				Cut to the Quick
			</td>
		</tr>
		<tr>
			<td>
				Corrosive Return
			</td>
			<td>
				Brutal Return
			</td>
		</tr>
		<tr>
			<td>
				Penetrating Strategies
			</td>
			<td>
				Penetrating Strategies
			</td>
		</tr>
		<tr>
			<td>
				Corrosive Impair
			</td>
			<td>
				Brutal Impair
			</td>
		</tr>
		<tr>
			<td>
				Sly Countermeasures
			</td>
			<td>
				Sly Surrender
			</td>
		</tr>
		<tr>
			<td>
				Corrosive Defense
			</td>
			<td>
				Shrap Defense
			</td>
		</tr>
		<tr>
			<td>
				Corrosive Refund
			</td>
			<td>
				Explosive Refund
			</td>
		</tr>
		<tr>
			<td>
				Critical Grenade
			</td>
			<td>
				Critical Bomb
			</td>
		</tr>
		<tr>
			<td>
				Tactical Stims
			</td>
			<td>
				Artful Cunning
			</td>
		</tr>
		<tr>
			<td>
				Tactical Offense
			</td>
			<td>
				Leveraged Offense
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Medicine / Sawbones
</h3>

<table>
	<thead>
		<tr>
			<th>
				Operative
			</th>
			<th>
				Scoundrel mirror
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Kolto Injection
			</td>
			<td>
				Underworld Medicine
			</td>
		</tr>
		<tr>
			<td>
				Surgical Probe
			</td>
			<td>
				Emergency Medpac
			</td>
		</tr>
		<tr>
			<td>
				Recuperative Nanotech
			</td>
			<td>
				Kolto Cloud
			</td>
		</tr>
		<tr>
			<td>
				Kolto Waves
			</td>
			<td>
				Kolto Waves
			</td>
		</tr>
		<tr>
			<td>
				Resuscitation Probe
			</td>
			<td>
				Heartrigger Patch
			</td>
		</tr>
		<tr>
			<td>
				Tox Screen
			</td>
			<td>
				Psych Meds
			</td>
		</tr>
		<tr>
			<td>
				Reactive Substance
			</td>
			<td>
				Reactive Substance
			</td>
		</tr>
		<tr>
			<td>
				Kolto Burst
			</td>
			<td>
				Medical Burst
			</td>
		</tr>
		<tr>
			<td>
				Kolto Stim
			</td>
			<td>
				Underworld Tactics
			</td>
		</tr>
		<tr>
			<td>
				Clever Countermeasures
			</td>
			<td>
				Clever Surrender
			</td>
		</tr>
		<tr>
			<td>
				Critical Nanotech
			</td>
			<td>
				Critical Cloud
			</td>
		</tr>
		<tr>
			<td>
				Nano Mark
			</td>
			<td>
				Kolto Mark
			</td>
		</tr>
		<tr>
			<td>
				Nanotech Stim
			</td>
			<td>
				Nutrient Rich Technologies
			</td>
		</tr>
		<tr>
			<td>
				Tactical Effectiveness
			</td>
			<td>
				Healer's Edge
			</td>
		</tr>
		<tr>
			<td>
				Stim Burst
			</td>
			<td>
				In the Zone
			</td>
		</tr>
		<tr>
			<td>
				Incisive Action
			</td>
			<td>
				Exploratory Surgery
			</td>
		</tr>
		<tr>
			<td>
				Medical Engineering
			</td>
			<td>
				Medpac Mastery
			</td>
		</tr>
		<tr>
			<td>
				Patient Studies
			</td>
			<td>
				Patient Studies
			</td>
		</tr>
		<tr>
			<td>
				Surgical Precision
			</td>
			<td>
				Emergent Emergencies
			</td>
		</tr>
		<tr>
			<td>
				Accomplished Doctor
			</td>
			<td>
				Accomplished Sawbones
			</td>
		</tr>
		<tr>
			<td>
				Medical Consult
			</td>
			<td>
				Healing Hand
			</td>
		</tr>
		<tr>
			<td>
				Tactical Medicine
			</td>
			<td>
				Bedside Manner
			</td>
		</tr>
		<tr>
			<td>
				Curative Jolt
			</td>
			<td>
				Bootlegged Remedy
			</td>
		</tr>
	</tbody>
</table>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Requirements And Dependencies</strong></span>
</p>

<ul>
	<li>
		An active <a href="https://gamingonsteroids.com/store/category/10-star-wars-the-old-republic/" rel="">GoS: SWTOR subscription</a> - 1 Week or 1 Month - is required for the loader and official script releases.
	</li>
	<li>
		GoS: SWTOR Core with scripting, current command-lifecycle/admission APIs, combat and cast event streams, explicit target support, cursor/screen-position APIs, actor-name metadata, and spatial overlay drawing.
	</li>
	<li>
		Star Wars: The Old Republic retail client and an <strong>Operative</strong> loadout. Scoundrel is not currently accepted by the dispatcher.
	</li>
	<li>
		The <strong>Operative</strong> package: <code>live/operative.lua</code>; <code>operative_concealment.lua</code>; <code>operative_lethality.lua</code>; <code>operative_lethality_runtime.lua</code>; <code>operative_medicine.lua</code>; <code>operative_route_common.lua</code>; <code>operative_dps_self_heal.lua</code>; <code>operative_cursor_holotraverse.lua</code>; <code>operative_stealth_detection.lua</code>; and the detector sprites <code>raw/chaffflare.dds</code>, <code>raw/focusfire.dds</code>, and <code>raw/probedroid.dds</code>.
	</li>
	<li>
		The shared modules actually required by this entrypoint/import graph: <code>ability_executor.lua</code>, <code>cleanse.lua</code>, <code>cleanse_db.lua</code>, <code>interrupt.lua</code>, <code>interrupt_db.lua</code>, <code>medicine_pressure_formula.lua</code>, <code>healer_action_window.lua</code>, and its <code>actor_labels.lua</code> dependency.
	</li>
	<li>
		No third-party addon is required. The <strong>Script Library</strong> installs the package's <code>live</code>, <code>common</code>, and <code>sprites</code> files together.
	</li>
</ul>

<p>
	<strong>Distribution check:</strong> <code>healer_action_window.lua</code> is a direct runtime requirement of the current entrypoint. The Script Library package must include it even if an older package manifest omits it.
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Installation And Quick Check</strong></span>
</p>

<ol>
	<li>
		Install or update <strong>Operative</strong> from the <strong>Script Library</strong> in Core; the package and its shared dependencies are installed together.
	</li>
	<li>
		Enable <strong>Operative</strong> in the script list and select the script.
	</li>
	<li>
		Verify that the settings card loads without a module error and that only controls valid for the current Operative discipline/owned abilities are shown.
	</li>
	<li>
		Hold <strong>Rotation Key</strong>. <strong>Cast Log</strong> confirms accepted submissions; <strong>Decision Log</strong> and the dedicated diagnostics switches explain gates. None of those alone proves server activation or live combat correctness.
	</li>
</ol>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Limits</strong></span>
</p>

<ul>
	<li>
		Operative only today; the Scoundrel mirror tables are documentation for future work.
	</li>
	<li>
		Equipped tactical identity is not exposed to these routes. Select the exact Concealment/Lethality tactical manually or keep Auto / Unknown.
	</li>
	<li>
		Missing or stale evidence disables the affected branch. The routine does not substitute another effect, target, timer, or ability.
	</li>
	<li>
		Automatic PvP AoE for Concealment is off by default. Lethality follows the shared Automatic AoE switch and exact crowd-control/geometry guards.
	</li>
	<li>
		Cursor Holotraverse continuously retries while the full chord is held, but only after the previous exact command outcome and cleanup settle. Cooldown, geometry, line of sight, and native game rules remain authoritative.
	</li>
	<li>
		The Medicine action feed is presentation, not proof. Measured combat events can confirm amounts; accepted submissions may still remain activation-unconfirmed.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Built on GoS: SWTOR Core. Operative-only, loadout-aware, exact-targeted, and fail-closed.</em></span>
</p>
]]></description><guid isPermaLink="false">1252</guid><pubDate>Mon, 14 Sep 2026 12:13:41 +0000</pubDate></item><item><title>Commando/Mercenary Pve/PvP Combat Routine [Level 80]</title><link>https://gamingonsteroids.com/topic/1251-commandomercenary-pvepvp-combat-routine-level-80/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:24px;"><strong>Commando Combat Routine / Mercenary Mirror Reference</strong></span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>A loadout-aware combat routine for GoS: SWTOR Core</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;">Current Lua support: Commando - Gunnery, Assault Specialist, and Combat Medic. Mercenary mirror names are retained for planned support.</span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Overview</strong></span>
</p>

<p>
	The current script covers all three <strong>Commando</strong> disciplines: Gunnery, Assault Specialist, and Combat Medic. It scales from the first discipline unlock to level 80 through the actual loadout. The current loadout gate requires the <code>commando</code> combat style; <strong>Mercenary is not implemented yet</strong>. Arsenal, Innovative Ordnance, Bodyguard, and their Imperial ability names remain in this post as the mirror reference for that planned Lua work.
</p>

<ul>
	<li>
		<strong>Loadout-aware</strong> - the active discipline, every unlock, and every discipline tree choice the route depends on are read from your current loadout. Optional abilities are never assumed from character level, and the script stays inert if the loadout does not match.
	</li>
	<li>
		<strong>One executor</strong> - the top-level script owns one AbilityExecutor for all three routes and shared cleanses. Gunnery and Combat Medic retain exact pending admission identity where their current schedulers require it, and every route cancels only a command whose ownership is proven.
	</li>
	<li>
		<strong>Real client checks</strong> - every cast passes Core's admitted cast path: resource cost, range, facing, target state, and line of sight.
	</li>
	<li>
		<strong>Cell budgeting</strong> - energy cells are budgeted with real costs. Full channels reserve their full channel cost, and a zero startup cost alone is never treated as free.
	</li>
	<li>
		<strong>Current layout</strong> - <code>commando.lua</code> owns the dispatcher, executor, shared utilities, and Gunnery priority. <code>commando_gunnery_kit.lua</code> supplies Gunnery loadout/effect/settings helpers. Assault Specialist and Combat Medic have their own route modules.
	</li>
	<li>
		<strong>PvE first, PvP tools available</strong> - exact-definition cleanses, player-target High Impact Bolt pressure rules, optional defensives, and an opt-in current-target interrupt are available. Experimental target-disappearance markers and auto-reveal belong to the separate Stealth Detector script.
	</li>
	<li>
		<strong>Leveling friendly</strong> - optional abilities come only from what you have learned, so the same script works while leveling and at 80.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Shared UI Controls</strong></span>
</p>

<p>
	Everything is configured from the Commando Core settings card. Changes validate on save and persist between sessions. Discipline-specific controls appear only for their discipline, and ability-specific controls require that ability in the active loadout.
</p>

<ul>
	<li>
		<strong>Rotation Key</strong> (Mouse 4) - hold to run the active discipline.
	</li>
	<li>
		<strong>Ability Queue Window</strong> (0.20 s, Gunnery / Assault Specialist) - permits early submission of normal selected-target actions. Assault Specialist currently waits for a completely open GCD because Core admission is now-only; ground-targeted and exact-start channels also wait for an open lock.
	</li>
	<li>
		<strong>Automatic AoE</strong> (On), <strong>Target-Centered Auto Count</strong> (On), <strong>Relevant Targets</strong> (1), <strong>AoE Minimum Targets</strong> (3), and <strong>AoE Count Radius</strong> (5 m) - control Gunnery and Assault Specialist target counts. The manual count is used when target-centered spatial counting is disabled or unavailable.
	</li>
	<li>
		<strong>Auto Recharge Cells</strong> (On) - enables automatic recovery for both DPS routes. <strong>Recharge Cells At %</strong> defaults to 45%; Assault Specialist uses its separate <strong>AS: Recharge Below %</strong> threshold.
	</li>
	<li>
		<strong>Auto Reactive Shield</strong> (Off) + <strong>Reactive Shield HP %</strong> (40), <strong>Auto Diversion</strong> (Off) + <strong>Diversion HP %</strong> (50), <strong>Auto Adrenaline Rush</strong> (Off) + <strong>Adrenaline Rush HP %</strong> (35), and <strong>Auto Supercharged Celerity</strong> (Off) - shared Gunnery / Assault Specialist automations. They remain hidden when the corresponding ability or selected loadout choice is absent.
	</li>
	<li>
		<strong>Shared PvP Cleanse</strong> (On), <strong>Shared Cleanse: Self</strong> (On), <strong>Shared Cleanse: Allies</strong> (On), <strong>Shared Cleanse: Roots</strong> (On), <strong>Shared Cleanse: Slows</strong> (Off), <strong>Shared Cleanse: Pressure Debuffs</strong> (Off), <strong>Shared Cleanse: Minimum Seconds</strong> (0.8), <strong>Shared Cleanse: Pressure HP %</strong> (90), and <strong>Shared Cleanse: Diagnostics</strong> (Off) configure Field Aid for all three disciplines. Field Aid removes exact catalogued Tech/Physical effects and adds Mental effects only when Psych Aid is present.
	</li>
	<li>
		<strong>Enable Diagnostics / Logging</strong> (Off) is the final control on the card and is the master gate for optional Commando logging. <strong>Cast Log</strong> (On) records submitted actions and outcomes for the DPS routes, <strong>Decision Log</strong> (Off) records deduplicated state changes, and <strong>Ability Diagnostics</strong> (Off, Gunnery only) logs modeled availability and blockers once per second. Combat Medic has its own <strong>Healing Diagnostics</strong>; shared cleanse diagnostics remain separately selectable. With the master switch Off, those streams skip their diagnostic polling and formatting.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Separate Stealth Detector</strong></span>
</p>

<p>
	Stealth detection is no longer part of <code>commando.lua</code>. Install and enable the separate Stealth Detector feature if you want temporary inferred last-seen markers or automatic reveal attempts. It runs independently of this routine and its Rotation Key.
</p>

<ul>
	<li>
		<strong>No hidden dependency</strong> - Gunnery, Assault Specialist, and Combat Medic work without the Stealth Detector package.
	</li>
	<li>
		<strong>Separate settings</strong> - reveal choices, markers, and fallback behavior are configured on the Stealth Detector card, not the Commando card.
	</li>
	<li>
		<strong>Mirror reference</strong> - Advanced Recon Droid and the Imperial detector names remain relevant to the planned Mercenary route, but they are not automatic actions in the current Commando routine.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Gunnery (PvE)</strong></span>
</p>

<p>
	Ranged burst with strict proc and cell handling, from the first unlock to level 80.
</p>

<ul>
	<li>
		<strong>Gravity Vortex / Heat Signature</strong> is required before the cooldowns that depend on it. The routine accepts either the exact debuff snapshot or confirmed Grav Round damage on that target as evidence. <strong>Vortex Bolt / Priming Shot</strong> is the high-priority cooldown and its acknowledged activation supplies the short Grav Primer handoff used by the next filler; <strong>Demolition Round / Heatseeker Missiles</strong> is the vortexed-target payoff.
	</li>
	<li>
		An exact <strong>Curtain of Fire / Barrage</strong> effect promotes <strong>Boltstorm / Blazing Bolts</strong> ahead of Demolition Round so another Grav Round cannot overwrite the proc. A normally ready Boltstorm remains a later priority even without that proc. <strong>Full Auto / Unload</strong> is used only before Boltstorm is learned, and channels require an exact open start instead of being prequeued.
	</li>
	<li>
		<strong>Charged Barrel / Tracer Lock</strong> is observed by exact stack count. Those stacks gate when <strong>High Impact Bolt / Rail Shot</strong> is spent; five stacks also prove the instant <strong>Medical Probe / Rapid Scan</strong> self-heal. <strong>Five-Barrel Stationary Payoff</strong> is enabled by default.
	</li>
	<li>
		Instant-cast permissions are scoped to the ability they actually affect: <strong>Tech Override / Power Surge</strong> and five Charged Barrel stacks can authorize Medical Probe; Tech Override or Grav Primer can authorize the relevant Gunnery filler while moving. No timer prediction manufactures a proc.
	</li>
	<li>
		AoE: selected Thermonuclear setup and spread, <strong>Mortar Volley / Death from Above</strong>, the three-target Grav Trio, <strong>Hail of Bolts / Sweeping Blasters</strong>, and <strong>Sticky Grenade / Explosive Dart</strong> at 4+ relevant targets.
	</li>
	<li>
		<strong>Explosive Round / Missile Blast</strong> fills while moving, and <strong>Hammer Shot / Rapid Shots</strong> is the free filler.
	</li>
	<li>
		A one-tick Core admission response is retained with the same ability, selected target, player, and idempotency key. Gunnery retries that exact request before choosing another priority, so <code>castability_pending</code> is not treated as a failed cast or given the normal 0.25 s failure backoff.
	</li>
	<li>
		Emergency self-heals name yourself explicitly and never heal a healthy player: <strong>Bacta Infusion</strong>, <strong>Medical Probe</strong>, and <strong>Med Shot</strong> each have their own HP threshold.
	</li>
	<li>
		Discipline path choices are read from the loadout: <strong>Gravitating Bolt</strong> strengthens <strong>Vortex Bolt / Priming Shot</strong> on a vortexed target, <strong>Thermonuclear Plasma</strong> spreads <strong>Gravity Vortex / Heat Signature</strong> with <strong>Plasma Grenade / Fusion Missile</strong> on grouped targets, and <strong>Grav Trio</strong> turns <strong>Grav Round / Tracer Missile</strong> into a three-target attack. Charged Barrier, Overclock, Cell Capacitor, Reflexive Shield, Tenacious Defense, Combat Shield, One Man Army, Concussive Force, Parallactic Combat Stims, and Trauma Stabilizers gate their branches only when selected.
	</li>
	<li>
		<strong>High Impact Bolt / Rail Shot</strong> spends at the normal Charged Barrel threshold (4 by default, or 5 while Five-Barrel Stationary Payoff is enabled), drops to the pressure threshold (2) while moving or against a hostile player at 50% HP or lower, and ignores stacks for hostile-player executes at 25% HP or lower. It normally requires at least 60% current Energy before the spend; a ready Recharge Cells can authorize the existing controlled rescue budget.
	</li>
	<li>
		Passives such as <strong>Blowback</strong>, <strong>Target Lock</strong>, <strong>Blazing Barrel</strong>, <strong>Deadly Cannon</strong>, <strong>Honed Lock</strong>, <strong>Cell Charger</strong>, <strong>Decoy</strong>, <strong>Forced March</strong>, and <strong>Armor-piercing Cell</strong> are read from the loadout; their effects stay owned by the game's engine.
	</li>
</ul>

<p>
	<strong>Controls</strong>
</p>

<ul>
	<li>
		<strong>Energy Floor %</strong> (60), <strong>Auto High Velocity Supercharged Cell</strong> (On), and <strong>Explosive Round While Moving</strong> (On) control the ordinary Gunnery resource, Supercharge, and mobile-filler policy.
	</li>
	<li>
		<strong>HIB Normal Stacks</strong> (4), <strong>HIB Pressure Stacks</strong> (2), and <strong>Gunnery: Five-Barrel Stationary Payoff</strong> (On) control when High Impact Bolt spends Charged Barrel stacks.
	</li>
	<li>
		<strong>Gunnery: Emergency Self-Heals</strong> (On), <strong>Bacta HP %</strong> (45), <strong>Instant Probe HP %</strong> (55), <strong>Med Shot HP %</strong> (25), and <strong>Healing Energy Reserve %</strong> (10) configure the three self-heal tiers and their post-spend floor.
	</li>
	<li>
		<strong>Gunnery: Tech Override for Healing</strong> (On) reserves Tech Override for an instant Medical Probe when needed. <strong>Gunnery: Mobile Tech Override</strong> (On) permits the scoped moving filler that the observed proc can make instant.
	</li>
	<li>
		<strong>Gunnery: Use Electro Net</strong> (On), <strong>Emergency Echoing Deterrence</strong> (Off) + <strong>Echoing HP %</strong> (35), <strong>Adrenal Surge 60% Trigger</strong> (On), <strong>Emergency Player Stun</strong> (Off) + <strong>Cryo HP %</strong> (40), and <strong>Interrupt Current Target</strong> (Off) control optional damage and emergency PvP utility. These labels carry the <strong>Gunnery:</strong> prefix in the UI.
	</li>
	<li>
		<strong>Auto Concussion Charge</strong> (Off) and <strong>Concussion Charge HP %</strong> (50) permit a defensive knockback only when the selected hostile is within 4 m. The shared Reactive Shield, Diversion, Adrenaline Rush, and Supercharged Celerity controls also apply.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Assault Specialist (PvE)</strong></span>
</p>

<p>
	Sustained damage over time with Ionic Accelerator scheduling and a controlled opener.
</p>

<ul>
	<li>
		Maintains <strong>Incendiary Round / Incendiary Missile</strong> and <strong>Serrated Bolt / Serrated Shot</strong> with a refresh window and an established-target policy.
	</li>
	<li>
		<strong>Ionic Accelerator</strong> is scheduled around its observed proc and eligibility window. Charged Bolts starts inside the short setup window; <strong>Full Auto / Unload</strong> (or Hail of Bolts in a real 3+ target cluster) is reserved for the wider channel window. Only the exact proc makes Mag Bolt / Mag Shot or High Impact Bolt / Rail Shot free.
	</li>
	<li>
		<strong>Hyper Assault Rounds / Superheated Shot</strong> discounts the next <strong>Explosive Round / Missile Blast</strong>, and the observed buff is authoritative for the modifier.
	</li>
	<li>
		<strong>Assault Plastique / Thermal Detonator</strong> is a core cooldown. With Pre-emptive Strike and without Impact Explosives, its acknowledged start retains the contiguous follow-up: Mag Bolt, then Charged Bolts, with the resulting Ionic Accelerator payoff observed separately. Before Mag Bolt is learned the bridge is Assault Plastique into Charged Bolts. High Impact Bolt is the pre-Mag-Bolt payoff and still requires a burning target plus native admission.
	</li>
	<li>
		Group decisions remain target-centered. Explosive Dissemination can spread an established burn or bleed at the configured AoE threshold; Hail of Bolts and Mortar Volley require a real 3+ target channel opportunity; selected Sticky Grenade is an AoE filler. Electro Net stays behind DoT, Ionic Accelerator, Hyper Assault, and spread obligations and can be disabled for player-owned PvP timing.
	</li>
	<li>
		<strong>Supercharged Cell / Supercharged Gas</strong> is used at ten Supercharge stacks after Incendiary Round is established on the selected target.
	</li>
	<li>
		Assault Specialist has its own defensive self-heal thresholds: Bacta Infusion first, an exact Tech Override reserved for instant Medical Probe, and Med Shot only as the critical free fallback. Medical Probe is never hard-cast by this DPS route, and paid heals use the separate heal reserve.
	</li>
	<li>
		The first observed combat engagement uses a guided opener that establishes the DoTs, spends the one unprocced Mag Bolt when learned, and establishes the first Ionic Accelerator cycle. Key release does not recreate the opener; a new observed combat epoch does.
	</li>
	<li>
		Proc and DoT identities use exact client definition keys. Ionic Accelerator, Hyper Assault Rounds / Superheated Shot, Reserve Powercell / Thermal Sensor Override, Blazing Celerity, and the two owned DoTs directly affect admission or priority. Other selected passives and observed effects, including Relentless Assault / Relentless Ordnance, Boosted Bolts / Surging Shots, One Man Army, and Trauma Stabilizers, remain game-owned and are retained as route state/diagnostics rather than guessed Lua bonuses.
	</li>
	<li>
		<strong>Field Aid / Cure</strong> is scheduled through the shared exact-definition cleanse controller. Movement, long control, interrupt timing, detector abilities, and <strong>Recharge and Reload</strong> remain player-owned.
	</li>
</ul>

<p>
	<strong>Controls</strong>
</p>

<ul>
	<li>
		<strong>AS: Incendiary Refresh (s)</strong> (1.5) sets the remaining-duration window for Incendiary Round. <strong>AS: Priority Reserve %</strong> (60) and <strong>AS: Filler Reserve %</strong> (60) are separate post-spend floors for priority actions and ordinary fillers.
	</li>
	<li>
		<strong>AS: Recharge Below %</strong> (45) is the Assault-specific trigger used when shared <strong>Auto Recharge Cells</strong> is enabled. <strong>AS: Auto Supercharged Cell</strong> (On) spends ten observed stacks only after Incendiary Round is established.
	</li>
	<li>
		<strong>AS: Use Hyper Assault Rounds</strong> (On), <strong>AS: Use Sticky Grenade</strong> (On), and <strong>AS: Use Electro Net</strong> (On) control optional proc consumption, the selected AoE filler, and the long-cooldown damage action.
	</li>
	<li>
		<strong>AS: Defensive Self-Heal</strong> (On), <strong>AS: Bacta Infusion HP %</strong> (45), <strong>AS: Instant Medical Probe HP %</strong> (55), <strong>AS: Med Shot Fallback HP %</strong> (25), and <strong>AS: Heal Energy Reserve %</strong> (10) configure self rescue. Medical Probe still requires exact Tech Override and is never hard-cast.
	</li>
	<li>
		<strong>AS: Auto Echoing Deterrence</strong> (Off) and <strong>AS: Echoing Deterrence HP %</strong> (35) configure its selected emergency defensive. Shared Automatic AoE/counting, Reactive Shield, Diversion, Adrenaline Rush, and Supercharged Celerity controls also apply; the shared defensive automations are Off by default.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Combat Medic (Healing, PvE and PvP)</strong></span>
</p>

<p>
	Strict explicit-target healing that scales from the early kit to level 80 through your loadout.
</p>

<ul>
	<li>
		Every ally cast names a current friendly unit with selected-target fallback disabled, so your selection is never hijacked. Self heals are explicit self casts.
	</li>
	<li>
		Healing styles <strong>Safe</strong>, <strong>Balanced</strong>, <strong>Efficient</strong>, and <strong>Custom</strong> map Seer-style thresholds to the Commando kit, not Force mechanics.
	</li>
	<li>
		<strong>Heal Priority: Incoming Damage Formula (default)</strong> - heal targets are ordered by projected survivability instead of health alone: damage taken over the last 0.75 s / 2 s / 4 s windows, how many different attackers are on them, HoT healing already carried, projected HP at 2 s and 4 s, and an estimated time-to-die with critical / high / medium bands. Near-death patients are picked first, with projected HP and time-to-die breaking ties. The <strong>Current HP</strong> option restores the older health-only order; if combat events are dropped, the formula falls back to HP for a few seconds instead of acting on stale pressure.
	</li>
	<li>
		Core heals: <strong>Medical Probe / Rapid Scan</strong>, <strong>Advanced Medical Probe / Healing Scan</strong>, <strong>Bacta Infusion / Emergency Scan</strong>, <strong>Med Shot / Kolto Shot</strong>, and <strong>Successive Treatment / Progressive Scan</strong>.
	</li>
	<li>
		<strong>Trauma Probe / Kolto Shell</strong> is maintained on eligible allies, refreshed by charges, kept up during lulls, and never overwrites foreign ownership. Incoming-target protection triggers only when a hostile activation names that exact ally.
	</li>
	<li>
		Group healing uses real positions and measured missing health. <strong>Kolto Bomb / Kolto Missile</strong> uses an 8 m cluster and <strong>Successive Treatment / Progressive Scan</strong> a 20 m spread radius, each with its own minimum or the shared minimum. A group rescue chosen for a critical patient must actually cover that patient.
	</li>
	<li>
		<strong>Supercharged Kolto Cell / Supercharged Kolto Gas</strong> requires ten observed Supercharge stacks and a meaningful Advanced Medical Probe window. It can reset a real AMP cooldown or use the authored ten-cell refund to fund AMP, then reserves AMP as the follow-up until the effect/receipt settles. It does not fire for tiny scratches or because a timer was guessed.
	</li>
	<li>
		Energy uses separate routine, critical, and emergency reserves. The patient's current/forecast triage band selects the reserve; true emergencies can spend through the routine floor. Automatic <strong>Recharge Cells / Vent Heat</strong> runs before idle damage during a safe observed-combat lull, and free-ability/instant-cast effects are preserved for healing.
	</li>
	<li>
		Cleanses are interleaved with healing by urgency: imminent direct rescue, must-cleanse, emergency healing, movement cleanse, routine healing, pressure cleanse, then DPS. Field Aid supports Tech and Physical effects, plus Mental effects only with Psych Aid. The catalog matches exact effect definitions and never guesses from display names.
	</li>
	<li>
		Idle DPS requires a complete friendly snapshot, no healing candidate, every eligible ally above both the healing and DPS safety floors, observed combat by default, and the exact selected hostile. Free <strong>Hammer Shot / Rapid Shots</strong> is the final filler; optional Charged Bolts, High Impact Bolt, Full Auto, and Electro Net obey their own toggles, resource/proc preservation, movement, and native target-condition checks. A rejected heal never becomes permission to deal damage.
	</li>
	<li>
		A mobile <strong>Advanced Medical Probe / Healing Scan</strong> is permitted only by observed Emergency Response, Tech Override / Power Surge, or Running Restoration. Successive Treatment delegates its movement condition to Core. An already active Support Cell prevents a redundant Supercharged Kolto Cell / Supercharged Kolto Gas request.
	</li>
	<li>
		Self survival is a policy boundary, not a permanent self-first rule. Below the configured threshold the healer gets first refusal, but a more urgent critical ally can still preempt while the healer is above Emergency HP. The route staggers Echoing Deterrence, Reactive Shield, and Adrenaline Rush, and can use a self-centered Kolto Bomb when moving or when direct options are unavailable.
	</li>
	<li>
		Exact proc handling includes Emergency Response expiry promotion, Bacta-to-AMP follow-up, Tech Override snapshot handoff, Field Triage cost observation, Running Restoration movement, Parallactic Combat Stims, and SC-4 Treatment Scanner. SC-4 may choose a useful Treatment channel to build an observed 2-4 stack deficit; no stacks are credited before they are actually observed.
	</li>
	<li>
		The frameless <strong>Combat Medic Actions</strong> feed records accepted heals, protection, cleanses, support/resource actions, and optional downtime damage. It can show measured heal/damage totals and observed proc labels, fades rows on the configured lifetime, is draggable, and can be hidden with its on-screen X.
	</li>
</ul>

<p>
	<strong>Controls</strong>
</p>

<ul>
	<li>
		<strong>Medic: Enable Healing</strong> (On), <strong>Medic: Healing: Style</strong> (Balanced; Safe / Balanced / Efficient / Custom), <strong>Medic: Healing: Targets</strong> (Players + Companions; Players only / Players + Companions / All Friendlies), and <strong>Medic: Heal Priority</strong> (Incoming Damage Formula; or Current HP) select the main healing policy.
	</li>
	<li>
		Custom thresholds are <strong>Medic: Custom: Burst Heal HP %</strong> (98), <strong>Custom: Group Heal Injury HP %</strong> (98), <strong>Custom: Single-Target Treatment HP %</strong> (70), <strong>Custom: Heal Below HP %</strong> (98), and <strong>Custom: Medical Probe HP %</strong> (85). They are saved but used only by the Custom style.
	</li>
	<li>
		<strong>Medic: Emergency HP %</strong> (40), <strong>Critical: Spend Through Reserve HP %</strong> (65), <strong>Critical Energy Reserve %</strong> (20), <strong>Self Triage Priority %</strong> (5), <strong>Self Survival: Prioritize Healer</strong> (On), <strong>Self Survival: First-Priority HP %</strong> (70), and <strong>Self Survival: Kolto Bomb</strong> (On) control emergency and self-survival boundaries.
	</li>
	<li>
		<strong>Medic: Routine Energy Reserve %</strong> (60), <strong>Emergency Energy Reserve %</strong> (0), <strong>Auto Recharge Cells</strong> (On), <strong>Recharge Below Energy %</strong> (45), and <strong>Recovery: Recharge Before Idle DPS</strong> (On) configure healing and recovery spending.
	</li>
	<li>
		<strong>Medic: Auto Supercharged Kolto Cell</strong> (On), <strong>Supercharge: Single-Target Burst HP %</strong> (75), <strong>Supercharge: Group Injury HP %</strong> (80), and <strong>Supercharge: Group Injured Count</strong> (2) define a meaningful ten-stack Cell window and its reserved AMP follow-up.
	</li>
	<li>
		<strong>Medic: Emergency Tech Override</strong> (On), <strong>Healing: Medical Probe Between Burst Heals</strong> (On), <strong>Procs: Emergency Response Expiry Seconds</strong> (3), <strong>Readiness: Preferred Heal Wait (ms)</strong> (150), and <strong>Continuity: Free DPS After Unusable Heals</strong> (On) configure proc use and bounded admission waiting.
	</li>
	<li>
		<strong>Medic: Maintain Trauma Probe</strong> (On), <strong>Trauma: Maintain Roster During Lulls</strong> (On), <strong>Trauma Refresh Charges</strong> (2), and <strong>Trauma: Protect Incoming Target</strong> (On) configure exact owned-probe maintenance and hostile-activation protection.
	</li>
	<li>
		<strong>Medic: Group Healing</strong> (On), <strong>Group Heal Minimum Injured</strong> (2), <strong>Group: Kolto Bomb Minimum Injured</strong> (0 = shared minimum), and <strong>Group: Treatment Minimum Injured</strong> (0 = shared minimum) control the 8 m Kolto Bomb and 20 m Successive Treatment clusters.
	</li>
	<li>
		<strong>Medic: Emergency Reactive Shield</strong> (On) + <strong>Reactive Shield HP %</strong> (40), <strong>Emergency Adrenaline Rush</strong> (On), and <strong>Emergency Echoing Deterrence</strong> (Off) use the healer's staggered survival policy rather than the shared DPS defensive settings.
	</li>
	<li>
		Downtime damage controls are <strong>Medic: DPS: Enable During Healing Downtime</strong> (On), <strong>DPS: In Combat Only</strong> (On), <strong>DPS: Minimum Ally HP %</strong> (98), <strong>DPS: Energy Reserve %</strong> (75), <strong>DPS: Free Attacks Only</strong> (Off), <strong>DPS: Charged Bolts</strong> (On), <strong>DPS: High Impact Bolt</strong> (On), <strong>DPS: Full Auto Channel</strong> (Off), <strong>DPS: Electro Net</strong> (Off), and <strong>DPS: Reserve Healing Procs</strong> (On).
	</li>
	<li>
		<strong>Medic: Healing Diagnostics</strong> (On) logs bounded healing-policy and admission reasons. Disable it when that detail is not needed.
	</li>
	<li>
		Action-feed controls are <strong>Medic: Actions: Visible</strong> (On), <strong>Actions: Position X</strong> (700), <strong>Actions: Position Y</strong> (220), <strong>Actions: Main Font Size</strong> (24), <strong>Actions: Visible Rows</strong> (5), <strong>Actions: Lifetime</strong> (8 s), <strong>Actions: Show Heal Amount</strong> (On), <strong>Actions: Show Damage</strong> (On), and <strong>Actions: Show Proc Enhancements</strong> (On). Dragging the handle persists X/Y; the on-screen X hides the feed until Visible is restored.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Commando / Mercenary Name Key</strong></span>
</p>

<p>
	This table preserves the Mercenary mirror reference for the planned Imperial implementation. The current Lua resolves only the Commando column; these names do not mean Mercenary is already accepted by the loadout gate.
</p>

<table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse;width:100%;border-color:#cccccc;">
	<tbody>
		<tr>
			<td style="width:50%;">
				<strong>Commando</strong>
			</td>
			<td style="width:50%;">
				<strong>Mercenary</strong>
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Gunnery
			</td>
			<td style="width:50%;">
				Arsenal
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Assault Specialist
			</td>
			<td style="width:50%;">
				Innovative Ordnance
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Combat Medic
			</td>
			<td style="width:50%;">
				Bodyguard
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Charged Bolts
			</td>
			<td style="width:50%;">
				Power Shot
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Hammer Shot
			</td>
			<td style="width:50%;">
				Rapid Shots
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				High Impact Bolt
			</td>
			<td style="width:50%;">
				Rail Shot
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Grav Round
			</td>
			<td style="width:50%;">
				Tracer Missile
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Vortex Bolt
			</td>
			<td style="width:50%;">
				Priming Shot
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Demolition Round
			</td>
			<td style="width:50%;">
				Heatseeker Missiles
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Boltstorm
			</td>
			<td style="width:50%;">
				Blazing Bolts
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Curtain of Fire
			</td>
			<td style="width:50%;">
				Barrage
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Charged Barrel
			</td>
			<td style="width:50%;">
				Tracer Lock
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Gravity Vortex
			</td>
			<td style="width:50%;">
				Heat Signature
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				High Velocity Supercharged Cell
			</td>
			<td style="width:50%;">
				High Velocity Supercharged Gas
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Full Auto
			</td>
			<td style="width:50%;">
				Unload
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Mortar Volley
			</td>
			<td style="width:50%;">
				Death from Above
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Hail of Bolts
			</td>
			<td style="width:50%;">
				Sweeping Blasters
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Explosive Round
			</td>
			<td style="width:50%;">
				Missile Blast
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Incendiary Round
			</td>
			<td style="width:50%;">
				Incendiary Missile
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Serrated Bolt
			</td>
			<td style="width:50%;">
				Serrated Shot
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Assault Plastique
			</td>
			<td style="width:50%;">
				Thermal Detonator
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Mag Bolt
			</td>
			<td style="width:50%;">
				Mag Shot
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Plasma Grenade
			</td>
			<td style="width:50%;">
				Fusion Missile
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Sticky Grenade
			</td>
			<td style="width:50%;">
				Explosive Dart
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Supercharged Cell
			</td>
			<td style="width:50%;">
				Supercharged Gas
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Electro Net
			</td>
			<td style="width:50%;">
				Electro Net
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Medical Probe
			</td>
			<td style="width:50%;">
				Rapid Scan
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Advanced Medical Probe
			</td>
			<td style="width:50%;">
				Healing Scan
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Bacta Infusion
			</td>
			<td style="width:50%;">
				Emergency Scan
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Med Shot
			</td>
			<td style="width:50%;">
				Kolto Shot
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Trauma Probe
			</td>
			<td style="width:50%;">
				Kolto Shell
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Kolto Bomb
			</td>
			<td style="width:50%;">
				Kolto Missile
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Successive Treatment
			</td>
			<td style="width:50%;">
				Progressive Scan
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Supercharged Kolto Cell
			</td>
			<td style="width:50%;">
				Supercharged Kolto Gas
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Field Aid
			</td>
			<td style="width:50%;">
				Cure
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Psych Aid
			</td>
			<td style="width:50%;">
				Cure Mind
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Reactive Shield
			</td>
			<td style="width:50%;">
				Energy Shield
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Adrenaline Rush
			</td>
			<td style="width:50%;">
				Kolto Overload
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Echoing Deterrence
			</td>
			<td style="width:50%;">
				Responsive Safeguards
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Concussion Charge
			</td>
			<td style="width:50%;">
				Jet Boost
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Concussive Round
			</td>
			<td style="width:50%;">
				Concussion Missile
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Cryo Grenade
			</td>
			<td style="width:50%;">
				Electro Dart
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Disabling Shot
			</td>
			<td style="width:50%;">
				Disabling Shot
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Diversion
			</td>
			<td style="width:50%;">
				Chaff Flare
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Hold the Line
			</td>
			<td style="width:50%;">
				Hydraulic Overrides
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Tenacity
			</td>
			<td style="width:50%;">
				Determination
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Propulsion Round
			</td>
			<td style="width:50%;">
				Rocket Out
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Tech Override
			</td>
			<td style="width:50%;">
				Power Surge
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Recharge Cells
			</td>
			<td style="width:50%;">
				Vent Heat
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Reserve Powercell
			</td>
			<td style="width:50%;">
				Thermal Sensor Override
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Recharge and Reload
			</td>
			<td style="width:50%;">
				Recharge and Reload
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Supercharged Celerity
			</td>
			<td style="width:50%;">
				Supercharged Celerity
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Advanced Recon Droid
			</td>
			<td style="width:50%;">
				Hunter Killer Droid
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Suppression Droid
			</td>
			<td style="width:50%;">
				Stealth Scan
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Hyper Assault Rounds
			</td>
			<td style="width:50%;">
				Superheated Shot
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Boosted Bolts
			</td>
			<td style="width:50%;">
				Surging Shots
			</td>
		</tr>
		<tr>
			<td style="width:50%;">
				Relentless Assault
			</td>
			<td style="width:50%;">
				Relentless Ordnance
			</td>
		</tr>
	</tbody>
</table>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Requirements</strong></span>
</p>

<ul>
	<li>
		An active <a href="https://gamingonsteroids.com/store/category/10-star-wars-the-old-republic/" rel="">GoS: SWTOR subscription</a> - 1 Week or 1 Month - is required for the loader and official script releases.
	</li>
	<li>
		The current GoS: SWTOR Core release with Lua scripting and the current cast/admission API enabled.
	</li>
	<li>
		Star Wars: The Old Republic, retail client.
	</li>
	<li>
		No other addon is required for the combat routine. Stealth Detector is optional and installed separately.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Installation</strong></span>
</p>

<ul>
	<li>
		Open the <strong>Script Library</strong> in Core, select <strong>Commando / Mercenary</strong>, and install or update to the latest release. The library installs the script and its shared dependencies together.
	</li>
	<li>
		Enable the script in the Scripts list and hold the Rotation Key (default Mouse 4).
	</li>
	<li>
		The settings card appears in the selected-script panel, changes apply live, and the healing options appear when Combat Medic is the active discipline.
	</li>
</ul>

<p>
	<strong>Distribution check:</strong> <code>healer_action_window.lua</code> is a direct runtime requirement of <code>live/commando.lua</code>. The Script Library package must include it even if an older package manifest omits it.
</p>

<p>
	<strong>Quick check</strong>
</p>

<ul>
	<li>
		Select the script, open the <strong>Log</strong> tab, and hold the key. The cast log confirms every submitted action.
	</li>
	<li>
		If nothing happens, confirm the discipline matches, the key is held, and the script status dot is green.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Notes And Roadmap</strong></span>
</p>

<ul>
	<li>
		Loadout-gated by design: a wrong discipline, missing data, or missing abilities leave the route inert instead of guessing.
	</li>
	<li>
		Effect identity, ownership, cooldown, position, and target-dependent branches fail closed when their required live data is unavailable. Cleanse and proc identities use exact client definitions. Runtime resource costs are preferred; only explicitly authored fallback costs are used where the route defines one.
	</li>
	<li>
		Every paid action checks affordability and its route's post-spend reserve. Full Auto, Boltstorm, Hail of Bolts, Mortar Volley, and Successive Treatment budget the full authored channel cost rather than trusting a zero startup cost.
	</li>
	<li>
		The dispatcher and one shared executor own route switching. Gunnery currently lives in the dispatcher with a helper catalog; Assault Specialist and Combat Medic are separate route modules. Mercenary support will require mirror-aware loadout, ability, effect, resource, and settings handling rather than a name-only substitution.
	</li>
	<li>
		Found a bug or want an addition? Post in this thread.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Built on GoS: SWTOR Core. Loadout-aware, fail-closed, and actively expanded.</em></span>
</p>
]]></description><guid isPermaLink="false">1251</guid><pubDate>Mon, 14 Sep 2026 10:01:15 +0000</pubDate></item><item><title>Sage/Sorcerer Pve/PvP Combat Routine [Level 80]</title><link>https://gamingonsteroids.com/topic/1250-sagesorcerer-pvepvp-combat-routine-level-80/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:24px;"><strong>Sage / Sorcerer Combat Routine</strong></span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>One loadout-aware routine for Telekinetics / Lightning, Balance / Madness, and Seer / Corruption.</em></span>
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:13px;"><strong>Current release: Jedi Sage and Sith Sorcerer.</strong> Both combat styles use the same priorities through an explicit name-mapping boundary.</span>
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;">Script build: 2026-09-30-sage-sorcerer-mirror-r27 · Settings schema: 38</span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Overview</strong></span>
</p>

<p>
	The script reads the current Sage or Sorcerer loadout and dispatches exactly one mirrored route: <strong>Telekinetics / Lightning</strong>, <strong>Balance / Madness</strong>, or <strong>Seer / Corruption</strong>. A different combat style or discipline leaves the routine inactive instead of guessing.
</p>

<ul>
	<li>
		<strong>One command owner</strong> - all three disciplines share one top-level AbilityExecutor. A route cannot submit over an action already owned by another route.
	</li>
	<li>
		<strong>Core admission</strong> - Core makes the final decision on cooldown, global cooldown, resource cost, range, facing, target state, line of sight, and command lifecycle.
	</li>
	<li>
		<strong>Exact targeting</strong> - damage routes use the selected hostile. Seer / Corruption healing submits one explicit friendly target without replacing your visible selection or falling back to it.
	</li>
	<li>
		<strong>Observed state</strong> - proc, effect, position, cooldown, combat-event, and target data must be current enough for the branch that consumes it. Missing data disables that branch.
	</li>
	<li>
		<strong>Shared PvP cleanse</strong> - both damage routes can cleanse before their damage action. Seer / Corruption uses the same exact-definition catalog with additional healer priorities and controls.
	</li>
	<li>
		<strong>Per-discipline settings</strong> - the Core settings card shows controls only for the selected discipline, while shared activation, cleanse, and logging controls remain common.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Sage / Sorcerer Name Map</strong></span>
</p>

<p>
	The priority model uses Sage names internally and resolves the matching Sorcerer name before every Core ability, effect, cast, and combat-event lookup. The settings keep their existing Sage labels so saved settings continue to work for both styles.
</p>

<table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse;width:100%;border-color:#cccccc;">
	<thead>
		<tr>
			<th>
				Area
			</th>
			<th>
				Sage
			</th>
			<th>
				Sorcerer
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Disciplines</strong>
			</td>
			<td>
				Telekinetics<br />
				Balance<br />
				Seer
			</td>
			<td>
				Lightning<br />
				Madness<br />
				Corruption
			</td>
		</tr>
		<tr>
			<td>
				<strong>Core damage</strong>
			</td>
			<td>
				Disturbance<br />
				Telekinetic Burst<br />
				Project<br />
				Telekinetic Throw<br />
				Weaken Mind<br />
				Mind Crush<br />
				Telekinetic Gust<br />
				Turbulence<br />
				Telekinetic Wave<br />
				Forcequake
			</td>
			<td>
				Lightning Strike<br />
				Lightning Bolt<br />
				Shock<br />
				Force Lightning<br />
				Affliction<br />
				Crushing Darkness<br />
				Lightning Flash<br />
				Thundering Blast<br />
				Chain Lightning<br />
				Force Storm
			</td>
		</tr>
		<tr>
			<td>
				<strong>Balance / Madness</strong>
			</td>
			<td>
				Force in Balance<br />
				Shifted Balance<br />
				Sever Force<br />
				Vanquish<br />
				Force Serenity<br />
				Telekinetic Blitz
			</td>
			<td>
				Death Field<br />
				Death Brand<br />
				Creeping Terror<br />
				Demolish<br />
				Force Leech<br />
				Volt Rush
			</td>
		</tr>
		<tr>
			<td>
				<strong>Healing</strong>
			</td>
			<td>
				Benevolence<br />
				Deliverance<br />
				Keeper of Peace<br />
				Healing Trance<br />
				Rejuvenate<br />
				Force Armor<br />
				Force Mend<br />
				Salvation<br />
				Wandering Mend<br />
				Vindicate<br />
				Mend Wounds<br />
				Restoration
			</td>
			<td>
				Dark Heal<br />
				Dark Infusion<br />
				Rally<br />
				Innervate<br />
				Resurgence<br />
				Static Barrier<br />
				Unnatural Preservation<br />
				Revivification<br />
				Roaming Mend<br />
				Consuming Darkness<br />
				Purity<br />
				Expunge
			</td>
		</tr>
		<tr>
			<td>
				<strong>Major procs</strong>
			</td>
			<td>
				Tidal Force<br />
				Presence of Mind<br />
				Conveyance<br />
				Resplendence<br />
				Amnesty<br />
				Altruism<br />
				Rejuvenating Aura
			</td>
			<td>
				Lightning Storm<br />
				Wrath<br />
				Force Bending<br />
				Force Surge<br />
				Reverse Corruptions<br />
				Dark Concentration<br />
				Dark Resurgence
			</td>
		</tr>
	</tbody>
</table>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Shared Controls</strong></span>
</p>

<ul>
	<li>
		<strong>Rotation Key</strong> - hold to run (default Mouse 4).
	</li>
	<li>
		<strong>Ability Queue Window</strong> - how early Telekinetics / Lightning and Balance / Madness may prepare their next legal action before the current GCD, cast, or channel finishes.
	</li>
	<li>
		<strong>Shared PvP Cleanse</strong> - exact-definition cleansing while the rotation is active, with <strong>Shared Cleanse: Self</strong>, <strong>Shared Cleanse: Allies</strong>, <strong>Shared Cleanse: Roots</strong>, <strong>Shared Cleanse: Slows</strong>, <strong>Shared Cleanse: Pressure Debuffs</strong>, <strong>Shared Cleanse: Minimum Seconds</strong>, <strong>Shared Cleanse: Pressure HP %</strong>, and bounded <strong>Shared Cleanse: Diagnostics</strong> controls. It never guesses from a display name.
	</li>
	<li>
		<strong>Cast Log</strong> - records admissions, activations, ground-target confirmations, and important lifecycle transitions.
	</li>
	<li>
		<strong>Decision Log</strong> - verbose, deduplicated route and data-gate diagnostics (off by default).
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Telekinetics / Lightning (PvE)</strong></span>
</p>

<p>
	A selected-target burst route with proc-owned Telekinetic Wave, target-centered AoE counting, movement guidance, and an optional fixed burst sequence.
</p>

<ul>
	<li>
		<strong>Telekinetic Wave is never hard-cast.</strong> It is submitted only from an observed Tidal Force effect or a matching one-shot combat-event grant. The proc generation remains claimed until the command reaches an exact outcome.
	</li>
	<li>
		<strong>Weaken Mind</strong> is maintained when the target is a hostile player, a durable NPC, or movement makes it the correct mobile action. <strong>Turbulence</strong> requires enough observed Weaken Mind duration to cover the cast.
	</li>
	<li>
		<strong>Telekinetic Gust</strong> establishes the observed buff required before <strong>Mind Crush</strong>. Mind Crush also respects the configurable HP floor and durable-target policy.
	</li>
	<li>
		<strong>Dormant Tremors</strong> permits a lower Forcequake threshold. A Tremors Forcequake against two or three targets is clipped after its first GCD; normal Forcequake uses its separate threshold.
	</li>
	<li>
		<strong>Forceful Retribution</strong> is the two-to-three-target cleave filler when selected and the normal Forcequake threshold has not been reached.
	</li>
	<li>
		<strong>Disturbance</strong> is replaced by <strong>Telekinetic Burst</strong> when learned. A confirmed Clamoring Force effect makes the filler instant; <strong>Project</strong> is the final movement action.
	</li>
	<li>
		<strong>Pressure-aware self-preservation</strong> - with Magnifying Vibrations and an observed Reserved Light proc, the route can use instant Benevolence on itself at 85% HP or lower. Fresh urgent incoming-damage evidence can also trigger Mental Alacrity independently of the manual burst package.
	</li>
	<li>
		<strong>Manual burst</strong> prepares the exact level-51 package, then executes Weaken Mind, Telekinetic Gust, Force Potency, Turbulence, proc-confirmed Telekinetic Wave, Mind Crush, and Project. If Clamoring Force is selected, it continues through Force Speed and two instant fillers. Mental Alacrity is deliberately not a burst requirement.
	</li>
</ul>

<p>
	<strong>Telekinetics / Lightning controls</strong>
</p>

<ul>
	<li>
		<strong>Relevant Targets</strong> (1-8) and <strong>Target-Centered Auto Count</strong>. Manual count remains authoritative unless a target-centered position sample succeeds; hostiles around the player are never substituted.
	</li>
	<li>
		<strong>Forceful Retribution Radius</strong>, <strong>Forcequake Count Radius</strong>, <strong>Tremors Forcequake Targets</strong>, and <strong>Normal Forcequake Targets</strong>.
	</li>
	<li>
		<strong>Weaken Mind HP Ratio</strong> and <strong>Mind Crush HP Floor</strong>.
	</li>
	<li>
		<strong>Target Count Visual</strong> (off by default), <strong>Mobility Bar: Enabled</strong>, <strong>Mobility Bar: X</strong>, and <strong>Mobility Bar: Y</strong>.
	</li>
	<li>
		<strong>Telekinetics: Pool for Burst</strong>, <strong>Telekinetics: Burst Key</strong> (default B), <strong>Telekinetics: Burst Status Label</strong>, and <strong>Telekinetics: Burst Readiness %</strong>.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Balance / Madness (PvE)</strong></span>
</p>

<p>
	A sustained-damage route built around owned DoTs, observed Presence of Mind stacks, target-centered AoE decisions, optional exact-target spreading, and a movement advisor.
</p>

<ul>
	<li>
		<strong>Four observed Presence of Mind stacks own the next spender.</strong> Vanquish is preferred when selected; Mind Crush is used on the earlier loadout. If the primary spender is unavailable, Destructive Wave or Disturbance is the alternate instant spender. A completed four-stack proc can pre-empt the end of Telekinetic Throw at the queue edge.
	</li>
	<li>
		The route maintains its own <strong>Sever Force</strong>, <strong>Weaken Mind</strong>, and primary Vanquish/Mind Crush effect. Ownership must be observed; another player's DoT is not treated as yours.
	</li>
	<li>
		<strong>Force Serenity / Force Leech</strong> follows active Weaken Mind / Affliction and is treated as mobile because Force Mobility is baseline for Balance / Madness.
	</li>
	<li>
		<strong>Force in Balance</strong> is used after both maintained DoTs and spreads them when the current loadout and target cluster prove that branch. <strong>Shifted Balance</strong> is selected instead when that loadout replacement is learned.
	</li>
	<li>
		<strong>Forcequake</strong> is a Presence-of-Mind AoE spender at the configured two-or-more target threshold and receives the four-target priority path. Telekinetic Throw builds stacks when the proc is not ready.
	</li>
	<li>
		<strong>Max AoE Spread</strong> can use Force in Balance for a proven cluster or apply one missing Sever Force/Weaken Mind to one exact nearby hostile without changing your selected target.
	</li>
	<li>
		Optional self-support includes moving <strong>Rejuvenate</strong> below the configured HP threshold and <strong>Mending Force Armor</strong> only when no known Sage/Sorcerer shield or reapplication lockout is observed.
	</li>
	<li>
		While moving, the mobility overlay forecasts the actual priority chain: yellow means keep moving until the countdown ends; red means plant now for the next stationary action. Telekinetic Blitz or Project is used only when the selected loadout and priority permit it.
	</li>
</ul>

<p>
	<strong>Balance / Madness controls</strong>
</p>

<ul>
	<li>
		<strong>Balance: Max AoE Spread</strong> and <strong>Balance: Max Spread Key</strong> (default Mouse 5).
	</li>
	<li>
		<strong>Balance: Spread Radius</strong> (default 20 m), with the cyan target range and orange next-target marker while Max Spread runs.
	</li>
	<li>
		<strong>Balance: Forcequake Radius</strong> (default 8 m) and <strong>Balance: Forcequake Targets</strong> (default 2).
	</li>
	<li>
		<strong>Balance: Moving Rejuvenate</strong>, <strong>Balance: Rejuvenate HP %</strong>, and <strong>Balance: Self Mending Armor</strong>.
	</li>
	<li>
		<strong>Balance Mobility Overlay: Enabled</strong>, <strong>Balance Mobility Overlay: X</strong>, <strong>Balance Mobility Overlay: Y</strong>, and <strong>Balance Mobility Overlay: Width</strong>.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Seer / Corruption (Healing, PvE and PvP)</strong></span>
</p>

<p>
	An explicit-target healer with pressure-aware triage, proc scheduling, group-heal placement, safe Force recovery, exact-definition cleansing, and guarded idle DPS.
</p>

<ul>
	<li>
		<strong>Exact patients</strong> - the route includes the local player explicitly, deduplicates eligible friendlies, applies the configured Players/Companions/NPC filter, and submits every targeted heal with selected-target fallback disabled.
	</li>
	<li>
		<strong>Healing styles</strong> set the normal HP thresholds: Safe begins at 98%, Balanced at 95%, and Efficient at 90%, with matching thresholds for Healing Trance, Wandering Mend, and the direct filler.
	</li>
	<li>
		<strong>Incoming Damage Formula</strong> (default) orders patients by recent 0.75 s, 2 s, and 4 s pressure, attacker counts, observed HoT carry, projected HP, and time-to-die. Fresh urgent forecasts can admit a patient before the normal style threshold. Dropped combat events temporarily fall back to current-HP ordering instead of using stale pressure.
	</li>
	<li>
		<strong>Proc-aware healing</strong> preserves and spends Conveyance, Altruism, Resplendence, Force Potency, Rejuvenating Aura, Renewal, and related observed effects. The plan prioritizes immediate rescue, pressure shielding, proc consumption, group value, routine maintenance, and safe fallback actions in that order.
	</li>
	<li>
		<strong>Core kit</strong> - Benevolence, Rejuvenate, Healing Trance, Salvation, one supported Force Armor variant, and either Keeper of Peace or Deliverance are required before the route starts. Wandering Mend, Force Mend, Mental Alacrity, Force Potency, Vindicate, and other loadout choices are used only when learned.
	</li>
	<li>
		<strong>Shields and group healing</strong> - Force Armor respects Sage and Sorcerer shield/lockout observations; incoming hostile targets can be pre-shielded. Wandering Mend evaluates connected injured targets, while Salvation chooses a valid cluster center and respects its configurable ally count.
	</li>
	<li>
		<strong>Throughput cooldowns</strong> - Mental Alacrity is a setup action under heavy pressure. Force Potency is reserved for a useful Healing Trance/direct-heal spend and is not wasted on Rejuvenate or Wandering Mend.
	</li>
	<li>
		<strong>Force optimizer</strong> distinguishes routine, active, and emergency pressure. It uses observed Resplendence / Force Surge and Amnesty / Reverse Corruptions for safe Vindicate / Consuming Darkness, can build stacks with Healing Trance / Innervate, and accepts Weary debt only when one recovery action unlocks a useful emergency heal. Sage can also use free Telekinetic Throw with Telekinetic Regeneration during true downtime; the unconfirmed Corruption counterpart remains disabled. The configured reserve protects routine healing and DPS but relaxes for active or life-saving treatment.
	</li>
	<li>
		<strong>PvP cleansing</strong> uses the shared exact-definition catalog. Hard control normally precedes healing except for true life-saving treatment; movement and pressure effects follow their configured priorities. Physical coverage requires Mend Wounds.
	</li>
	<li>
		<strong>Idle DPS</strong> requires a complete friendly observation, every observed ally at or above the effective Minimum Ally HP threshold, a valid selected hostile, and enough Force to preserve the configured reserve. Priority is Weaken Mind, proven two-target Forcequake, then stationary Mind Crush, Project, Telekinetic Throw, and Disturbance; while moving it stops after Project.
	</li>
	<li>
		<strong>Seer Actions</strong> is a draggable recent-action feed for heals, shields, cleanses, Force recovery, DPS, confirmed amounts, and proc enhancements.
	</li>
	<li>
		<strong>Cast Target Lines</strong> join each hostile caster to the target captured from its matching activation event. They do not represent the player's current cast target.
	</li>
</ul>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Seer Actions - recent heals, shields, cleanses, Force recovery, damage, and proc enhancements</em></span>
</p>

<p style="text-align:center;">
	<img alt="Seer action window" style="height:auto;" data-src="https://i.imgur.com/EtEsXHV.png" src="https://gamingonsteroids.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	<strong>Seer / Corruption controls</strong>
</p>

<ul>
	<li>
		<strong>Seer: Heal Priority</strong> (Current HP / Incoming Damage Formula), <strong>Seer Healing: Style</strong> (Safe / Balanced / Efficient), and <strong>Seer Healing: Targets</strong> (Players only / Players + Companions / All Friendlies).
	</li>
	<li>
		<strong>Seer Healing: Auto Force Armor</strong>, <strong>Seer Healing: Pre-Shield Incoming</strong>, <strong>Seer Healing: Auto Force Mend</strong>, and <strong>Seer Healing: Force Mend HP %</strong>.
	</li>
	<li>
		<strong>Seer Healing: Auto Mental Alacrity</strong>, <strong>Seer Healing: Auto Force Potency</strong>, and <strong>Seer Healing: Salvation Allies</strong>.
	</li>
	<li>
		<strong>Seer Force: Auto Vindicate</strong>, <strong>Seer Force: Recover Below %</strong>, and <strong>Seer Force: Reserve %</strong>.
	</li>
	<li>
		<strong>Seer PvP: Auto Cleanse</strong>, <strong>Seer PvP: Cleanse Self</strong>, <strong>Seer PvP: Cleanse Allies</strong>, <strong>Seer PvP: Physical with Mend Wounds</strong>, <strong>Seer PvP: Cleanse Pressure Debuffs</strong>, <strong>Seer PvP: Pressure Cleanse HP %</strong>, and <strong>Seer PvP: Min Cleanse Remaining</strong>. These refine the shared cleanse controls; both layers must permit the action.
	</li>
	<li>
		<strong>Seer Actions: Visible</strong>, <strong>Seer Actions: Position X</strong>, <strong>Seer Actions: Position Y</strong>, <strong>Seer Actions: Main Font Size</strong>, <strong>Seer Actions: Visible Rows</strong>, <strong>Seer Actions: Lifetime</strong>, <strong>Seer Actions: Show Heal Amount</strong>, <strong>Seer Actions: Show Damage</strong>, and <strong>Seer Actions: Show Proc Enhancements</strong>.
	</li>
	<li>
		<strong>Seer Awareness: Cast Target Lines</strong>, <strong>Seer Awareness: Line Thickness</strong>, and <strong>Seer Awareness: Dark Outline</strong>.
	</li>
	<li>
		<strong>Seer DPS: Enabled</strong>, <strong>Seer DPS: Minimum Ally HP %</strong>, <strong>Seer Force: Reserve %</strong>, <strong>Seer DPS: Weaken Mind</strong>, <strong>Seer DPS: Forcequake</strong>, <strong>Seer DPS: Mind Crush</strong>, <strong>Seer DPS: Project</strong>, <strong>Seer DPS: Telekinetic Throw</strong>, and <strong>Seer DPS: Disturbance</strong>.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Current Loadout Gates</strong></span>
</p>

<table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse;width:100%;border-color:#cccccc;">
	<thead>
		<tr>
			<th>
				Route
			</th>
			<th>
				What must be true
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>All routes</strong>
			</td>
			<td>
				Loadout status is ready, combat style is exactly <strong>sage</strong> or <strong>sorcerer</strong>, and the active discipline is one of the three mirrored pairs. Unknown identities remain inactive.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Telekinetics / Lightning</strong>
			</td>
			<td>
				The normal route consumes only abilities and effects present in the live loadout. Manual burst has a stricter mirrored package gate: Force Potency / Recklessness, Telekinetic Gust / Lightning Flash, Turbulence / Thundering Blast, Telekinetic Wave / Chain Lightning, Mind Crush / Crushing Darkness, Project / Shock, and the selected Clamoring Force / Convection requirements.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Balance / Madness</strong>
			</td>
			<td>
				Requires Sever Force / Creeping Terror, Weaken Mind / Affliction, Force Serenity / Force Leech, and Telekinetic Throw / Force Lightning, plus one confirmed suppression choice, primary DoT spender, and Presence of Mind / Wrath filler. A Madness loadout using the still-unconfirmed Sorcerer counterpart of Destructive Wave stays inactive.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Seer / Corruption</strong>
			</td>
			<td>
				Requires Benevolence / Dark Heal, Rejuvenate / Resurgence, Healing Trance / Innervate, Salvation / Revivification, Force Armor / Static Barrier, and Keeper of Peace / Rally or Deliverance / Dark Infusion.
			</td>
		</tr>
	</tbody>
</table>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Requirements And Installation</strong></span>
</p>

<ul>
	<li>
		An active <a href="https://gamingonsteroids.com/store/category/10-star-wars-the-old-republic/" rel="">GoS: SWTOR subscription</a> - 1 Week or 1 Month - is required for the loader and official script releases.
	</li>
	<li>
		Use the current GoS: SWTOR Core build shipped for this script release. The route depends on current loadout, effect, combat-event, explicit-target, command-status, and overlay contracts.
	</li>
	<li>
		Install and update the script from the <strong>Script Library</strong> in Core: open the Script Library, select <strong>Sage / Sorcerer</strong>, and install the latest release. The library installs the script and its shared dependencies together.
	</li>
</ul>

<table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse;width:100%;border-color:#cccccc;">
	<thead>
		<tr>
			<th>
				Release files
			</th>
			<th>
				Shared dependencies
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				live/sage.lua<br />
				common/sage/telekinetics.lua<br />
				common/sage/balance.lua<br />
				common/sage/seer.lua<br />
				common/sage/force_optimizer.lua<br />
				common/sage/healing_scheduler.lua<br />
				common/sage/mirror.lua
			</td>
			<td>
				common/ability_executor.lua<br />
				common/actor_labels.lua<br />
				common/cleanse.lua<br />
				common/cleanse_db.lua<br />
				common/healer_pressure_tracker.lua<br />
				common/medicine_pressure_formula.lua
			</td>
		</tr>
	</tbody>
</table>

<p>
	<strong>Quick check</strong>
</p>

<ul>
	<li>
		Select <strong>Sage</strong> or <strong>Sorcerer</strong> in the script list, enable it, and hold the Rotation Key.
	</li>
	<li>
		Open the script Log tab. The first line should show build <strong>2026-09-30-sage-sorcerer-mirror-r27</strong>.
	</li>
	<li>
		If the routine stays inactive, check the exact combat style/discipline, required loadout choices, selected target for a damage route, script status, and current Core build before changing settings.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#0B9466;font-size:20px;"><strong>Limits And Support</strong></span>
</p>

<ul>
	<li>
		<strong>Confirmed names only:</strong> the Sorcerer boundary maps names backed by current client data or official Sage / Sorcerer pairings. It does not guess an unresolved display name.
	</li>
	<li>
		A Madness loadout that replaces Lightning Strike with the still-unconfirmed Sorcerer counterpart of Destructive Wave remains inactive until that exact live name is confirmed.
	</li>
	<li>
		Corruption recognizes the shared Force Mobility name. It does not assume an unconfirmed counterpart for Telekinetic Regeneration, so that optional downtime-recovery branch remains unavailable.
	</li>
	<li>
		Telekinetics / Lightning and Balance / Madness require a usable selected hostile. Seer / Corruption idle DPS also requires one; healing does not.
	</li>
	<li>
		Seer / Corruption is not an early-kit route. It remains inactive until its required healing loadout is present.
	</li>
	<li>
		Unknown effects, incomplete friendly observations, missing positions, stale combat events, or unavailable cooldown/cost metadata can disable only the branch that needs that evidence.
	</li>
	<li>
		Core remains authoritative for every cast request and terminal command outcome.
	</li>
	<li>
		Found a bug or want an addition? Post the current script build, discipline, relevant settings, and the matching script-log section in this thread.
	</li>
</ul>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="color:#6E7681;font-size:12px;"><em>Built on GoS: SWTOR Core. Loadout-aware, explicit-targeted, and fail-closed.</em></span>
</p>
]]></description><guid isPermaLink="false">1250</guid><pubDate>Mon, 14 Sep 2026 02:08:26 +0000</pubDate></item></channel></rss>
