# The Viral Compendium

**Race 5 — "Viral 106" — reverse-engineering doctrine for Galactic Conquest Classic**

Everything below is derived from the live code and database, not from folklore.
Combat maths comes from `app/f_com_attack3.cfm`, reverse rules from
`app/f_com_ship_r.cfm`, stats from `gcc.ship_type`, and the meta evidence from
`gcc.event` battle logs and `gcc.user.r_ship`.

---

## 1. How combat actually resolves

### 1.1 The only formula that matters in PvP

```
dmg = ( W₁·(1−S₁) + W₂·(1−S₂) + W₃·(1−S₃) + W₄·(1−S₄) ) × shipCount
```

- `W₁..W₄` — the **attacker's** damage split: Energy, Kinetic, Missile, Chemical
- `S₁..S₄` — the **defender's** matching shields
- `shipCount` = `ceiling(stackHull / unitHull)` — damage scales linearly with how
  many hulls are still alive in the firing stack

**The `(1 − S)` term is the whole game.** A shield is not damage reduction, it is
a multiplier:

| Defender shield | Multiplier | Meaning |
|---|---|---|
| `+0.99` | ×0.01 | effectively immune |
| `+0.50` | ×0.50 | half damage |
| `0.00` | ×1.00 | full damage |
| `−0.50` | **×1.50** | takes **150%** |
| `−0.95` | **×1.95** | takes **195%** |

Negative shields are not "slightly weak", they are a kill switch. Matching a
weapon type to a negative shield is worth more than any amount of extra raw
weapon value.

### 1.2 The bonus tables do **not** apply in PvP

`f_com_attack3.cfm` contains a large machinery of class bonuses, range bonuses
and scanner bonuses (`BonusDmgMod`, `BonusStrikeMod`, `BonusRawDmg`). It is
gated at line ~812:

```cfml
if (BonusStrikes > 0 && BonusWeap > 0) { dmg *= (BonusWeap * BonusStrikes); dmg += BonusRawDmg; }
```

For a **player** defender the code sets `BonusWeap = 1; BonusStrikes = 0`, so the
condition is false and the entire bonus stack is discarded. The same is true of
the Corruption branch. Those tables only fire against NPC defender types
232–238.

> **Consequence:** ignore class tiers and range-damage tables when planning PvP.
> A Dreadnought has no innate PvP damage bonus over a Corvette. Only weapon
> value, shield matchup, hull and count matter.

### 1.3 Range = initiative, not damage

```cfml
if (side2.range >= side.range) { side2 fires first }
```

Higher `range` shoots first; **ties go to the defender**. Firing first matters
because damage removes hulls, and hulls removed before they fire never fire.
Range is a tempo stat, not a power stat.

### 1.4 Long-range and return fire

```cfml
if (defender.returnfire == 1 && attacker.longrange == 0) { defender deals dmg/2 back }
```

- **`longrange = 1` on your attacker → you take zero return fire.** This is the
  single most under-rated stat in the game.
- **`returnfire = 1` on your defender → it punches back for half** when hit by a
  non-long-range attacker.

A ship with `lr=1, rf=1` is efficient on both sides of the fight. A ship with
`lr=0` bleeds every time it attacks into a `rf=1` stack.

Every ship in the game has `afire=1, dfire=2`, so strike counts never differ.

---

## 2. The reverse-engineering rules (from code)

`app/f_com_ship_r.cfm`, reached from Manage Fleet as `f=com_ship_r`.

| Rule | Value |
|---|---|
| Who | Race 5 only |
| Cost | **9 turns + 5 of the donor ships** (consumed) |
| Cap | **3 ships per donor race** |
| Allowed donors | Terran (1), Marauder (2), Aspha Miners (6) |
| Blocked donors | Own race (5), Guardian (3), Collective (4), and NPC races 7/8/9 |
| Blocked by name | Anything containing `P.`, `D.`, `G.` (substring, not prefix) |
| Blocked as "special" | `upkeep = 0` |

That is **9 reverse slots total**. They are the entirety of your strategic
identity as a Viral, because your native roster is tiny:

| Viral native | Class | Rng | Damage | Shields E/K/M/C | Hull | Rate |
|---|---|---|---|---|---|---|
| V.Borrelly | Destroyer | 7 | 100 K + 300 C | +0.10 / −0.10 / −0.20 / **+0.65** | 360 | 60 |
| B.Cronus | Cruiser | 6 | 450 E + 850 C | −0.35 / +0.25 / +0.50 / 0.00 | 2,000 | 15 |
| V.Triton | Cruiser | 5 | 1,500 K + 2,750 M | +0.20 / **−0.50** / +0.35 / −0.20 | 11,200 | 6 |
| B.Chiron | Starbase | 2 | 3,000 K + 5,000 C | −0.80 / 0.00 / +0.55 / +0.20 | 30,000 | 3 |

Three combat hulls. Everything else you will ever field is either neutral or
reversed.

### 2.1 A live bug in the eligibility check

```cfml
<cfelseif ",9,21," contains ",#...classname#," || name CONTAINS "D." || ...>
```

`_classname` resolves to the **display name** (`"Starbase"`, `"Scout"`,
`"Juggernaut"` — set in `s_loadsystem.cfm:450`), but it is tested against the
numeric list `",9,21,"`. **That comparison can never match.**

Starbases and Scouts are therefore *not* blocked by the class test, contradicting
the on-page help text ("You can't reverse engineer starbases, scouts…").
They survive only incidentally:

- `P.Hercules`, `G.Lictor` (Juggernauts) — blocked by the `P.` / `G.` name test
- `G.Livid` — blocked by name *and* by `upkeep = 0`
- **Not blocked at all:** `Chimaera`, `Scorpion` (Terran starbases), `M.Lakko`,
  `A.Kryo`, `A.Hoko` (Miner starbases), `Viator`, `Viator II`, `Seeker`,
  `Ranger` (scouts)

The fix is to compare against the class **id**, not the name. This compendium
assumes the *intended* rule (starbases and scouts excluded) throughout.

---

## 3. Know your enemy

Aggregate damage-type mix and mean shields across each race's combat ships
(class 1–10, `weapon > 0`):

| Race | Energy | Kinetic | Missile | Chem | mean shields E / K / M / C |
|---|---|---|---|---|---|
| Neutral | 29% | 23% | **40%** | 8% | −0.02 / +0.15 / +0.13 / +0.18 |
| **Terran** | 21% | **41%** | 38% | **0%** | +0.02 / +0.13 / **+0.25** / −0.02 |
| **Marauder** | 26% | 29% | **45%** | **0%** | **−0.09** / −0.01 / **+0.26** / −0.02 |
| **Guardian** | 29% | 26% | 29% | 16% | +0.15 / +0.13 / +0.08 / +0.07 |
| **Collective** | **39%** | 20% | 21% | 20% | +0.01 / **+0.21** / +0.11 / +0.08 |
| **Miner** | 27% | **52%** | 18% | 4% | +0.08 / +0.17 / +0.08 / −0.03 |
| *Viral (you)* | 3% | 33% | 20% | **44%** | −0.21 / −0.09 / +0.30 / +0.16 |

### 3.1 Two facts that shape everything

**Chemical is almost unopposed.** Terran and Marauder field **zero** chemical
weapons; Miner fields 4%. Only Guardian (16%) and Collective (20%) bring any.
Meanwhile their *chemical shields* sit at −0.02, −0.02 and −0.03 — i.e. slightly
**vulnerable**. Chemical is the closest thing to a universal solvent, and it is
your native damage type.

**Missile is the most contested channel.** Terran (+0.25) and Marauder (+0.26)
both shield heavily against it, and it is simultaneously the most common attack
type in the game. Missile-heavy hulls swing hard: excellent into
Guardian/Collective/Miner, distinctly mediocre into Terran/Marauder.

### 3.2 What to bring against whom

| Target | Bring | Avoid | Why |
|---|---|---|---|
| Terran | Chemical, Energy | Missile | M +0.25, C −0.02 |
| Marauder | **Energy**, Chemical | Missile | E −0.09, M +0.26 |
| Guardian | Missile, Chemical | — | flattest profile in the game; no soft spot |
| Collective | Energy, Missile | Kinetic | K +0.21, E +0.01 |
| Miner | Chemical, Missile | Kinetic | K +0.17, C −0.03 |
| Neutral filler | Energy | Chem/Missile | E −0.02, C +0.18, M +0.13 |

---

## 4. The candidate pool, measured

Effective damage **per unit**, averaged over each target race's combat roster.
`dmg/1kPWR` is damage per 1,000 power rating — the efficiency figure that decides
whether a hull earns its PR.

| Ship | Race | Cls | Rng | Rate | Terran | Maraud | Guard | Collect | Miner | dmg/1kPWR |
|---|---|---|---|---|---|---|---|---|---|---|
| **Angel** | Mar | 6 | 5 | 3 | 20,768 | 21,861 | **23,882** | 22,685 | 23,500 | **811** |
| **Pyth** | Mar | 6 | 4 | 3 | 17,609 | 19,464 | 17,529 | 17,788 | 17,771 | **803** |
| **M.Lyth** | Min | 7 | 5 | 2 | 14,871 | 15,228 | 17,025 | 17,091 | **17,219** | 436 |
| **Nirvana** | Ter | 7 | 4 | 3 | 10,744 | 11,986 | 10,457 | 10,669 | 10,625 | 606 |
| **Thresher** | Mar | 5 | 5 | 5 | 9,359 | 10,362 | 8,645 | 9,514 | 9,125 | 777 |
| **Tyr** | Ter | 7 | 5 | 5 | 7,647 | 7,736 | 9,154 | 8,919 | 9,129 | 657 |
| Bullhead | Mar | 4 | 8 | 6 | 2,716 | 2,847 | 2,911 | 3,020 | 2,990 | 460 |
| M.Flysch | Min | 6 | 5 | 9 | 2,650 | 2,882 | 2,637 | 2,769 | 2,721 | 380 |
| T.Empereur | Ter | 6 | 6 | 10 | 2,543 | 2,832 | 2,221 | 2,570 | 2,405 | 431 |
| A.Aragonite | Min | 7 | 6 | 12 | 2,286 | 2,605 | 2,157 | 2,171 | 2,175 | 453 |
| **Tiger** | Mar | 4 | **9** | 18 | 896 | 891 | **1,106** | 1,071 | 1,100 | 681 |
| **M.Chlorite** | Min | 4 | **9** | 22 | 747 | 743 | 921 | 892 | 917 | **687** |
| T.Fenrir | Ter | 5 | 7 | 18 | 876 | 996 | 819 | 839 | 833 | 578 |
| Barracuda | Mar | 4 | 7 | 18 | 761 | 856 | 686 | 751 | 722 | 334 |
| M.Calcite | Min | 5 | 7 | 28 | 635 | 631 | 783 | 758 | 779 | 424 |
| T.Garuda | Ter | 4 | 8 | 28 | 587 | 654 | 513 | 593 | 555 | 612 |
| M.Chlor | Min | 5 | 6 | 16 | 489 | 545 | 427 | 494 | 463 | 294 |
| M.Epidote | Min | 4 | 8 | 28 | 489 | 545 | 427 | 494 | 463 | 521 |
| Shark | Mar | 5 | 4 | 16 | 463 | 525 | 431 | 444 | 440 | 225 |
| T.Kalieum | Ter | 5 | 6 | 22 | 444 | 484 | 392 | 438 | 427 | 257 |
| Manta | Mar | 2 | 2 | 85 | 331 | 352 | 341 | 361 | 354 | 684 |
| Piranha | Mar | 3 | 6 | 100 | 111 | 126 | 103 | 107 | 106 | 292 |
| M.Illite | Min | 3 | 7 | 200 | 70 | 81 | 69 | 63 | 67 | 383 |
| T.Sentouki | Ter | 3 | 5 | 300 | 52 | 59 | 48 | 50 | 49 | 297 |
| Eel | Mar | 1 | 2 | 700 | 40 | 44 | 45 | 42 | 44 | **716** |
| T.Maru | Ter | 2 | 2 | 800 | 34 | 38 | 30 | 35 | 32 | 669 |
| M.Alium | Min | 2 | 1 | 675 | 22 | 24 | 23 | 24 | 24 | 515 |
| M.Hal | Min | 1 | 2 | 1500 | 15 | 16 | 13 | 15 | 14 | 636 |
| T.Ryu-jin | Ter | 1 | 1 | 5600 | 5 | 5 | 4 | 5 | 5 | 607 |

### 4.1 Survivability

Incoming damage multiplier under each race's weapon mix (**lower is better**),
plus effective HP per 1,000 PR.

| Ship | Hull | LR | RF | Terran | Maraud | Guard | Collect | Miner | EHP/1kPWR |
|---|---|---|---|---|---|---|---|---|---|
| **Nirvana** | 20,000 | ✅ | ✅ | **0.70** | **0.69** | 0.82 | 0.82 | 0.72 | 1,482 |
| **M.Lyth** | **45,000** | ✅ | ✅ | 0.84 | 0.76 | 0.85 | 0.83 | 0.94 | 1,424 |
| Pyth | 20,000 | ❌ | ✅ | 0.87 | 0.89 | 0.87 | 0.83 | 0.78 | 1,049 |
| Angel | 18,000 | ✅ | ❌ | 0.82 | 0.74 | 0.85 | 0.87 | 0.99 | 755 |
| **M.Chlor** | 5,000 | ❌ | ✅ | 0.84 | 0.87 | 0.88 | 0.90 | 0.82 | **3,505** |
| T.Empereur | 8,000 | ✅ | ❌ | 0.91 | 0.91 | 0.92 | 0.86 | 0.84 | 1,537 |
| M.Epidote | 1,500 | ❌ | ✅ | 0.89 | 0.93 | 0.92 | 0.91 | 0.82 | 1,788 |
| Thresher | 9,000 | ✅ | ❌ | 0.81 | 0.89 | 0.92 | 1.03 | 0.84 | 825 |
| Tyr | 12,000 | ✅ | ✅ | 0.91 | 0.85 | 0.88 | 0.88 | 1.00 | 1,020 |
| Bullhead | 7,000 | ✅ | ❌ | 0.90 | 0.81 | 0.92 | 0.92 | 1.03 | 1,205 |
| Tiger | 1,500 | ✅ | ❌ | 0.94 | 0.89 | 0.91 | 0.88 | 0.99 | 1,088 |
| **Shark** | 6,250 | ❌ | ✅ | 0.89 | 0.87 | 0.99 | 1.05 | 1.00 | **3,169** |
| T.Fenrir | 2,000 | ✅ | ❌ | 0.90 | 0.90 | 0.95 | 0.99 | 0.94 | 1,416 |
| M.Flysch | 10,000 | ✅ | ✅ | 0.94 | 0.98 | 0.99 | 1.00 | 0.88 | 1,445 |
| A.Aragonite | 6,100 | ✅ | ✅ | 1.00 | 0.97 | 0.95 | 0.97 | 1.06 | 1,225 |
| M.Chlorite | 800 | ✅ | ✅ | 0.98 | 0.97 | 1.00 | 1.03 | 1.01 | 649 |
| T.Kalieum | 4,000 | ❌ | ✅ | 1.10 | 1.02 | 0.97 | 0.99 | **1.25** | 2,207 |

### 4.2 Build throughput

`reqturn` is **ships produced per turn**, so a big rate is a big deal.

| Ship | Rate | Avg dmg | **dmg / turn** | PR / turn | Hull / turn |
|---|---|---|---|---|---|
| **Angel** | 3 | 22,541 | **67,623** | 83,541 | 54,000 |
| **Pyth** | 3 | 18,010 | **54,031** | 67,581 | 60,000 |
| Thresher | 5 | 9,384 | 46,918 | 60,905 | 45,000 |
| Tyr | 5 | 8,521 | 42,606 | 65,175 | 60,000 |
| Nirvana | 3 | 10,881 | 32,642 | 54,090 | 60,000 |
| M.Lyth | 2 | 16,288 | 32,576 | 75,100 | **90,000** |
| Eel | 700 | 43 | 30,067 | 42,000 | 35,000 |
| Manta | 85 | 347 | 29,530 | 43,520 | 87,040 |
| A.Aragonite | 12 | 2,275 | 27,300 | 60,420 | 73,200 |
| T.Empereur | 10 | 2,508 | 25,085 | 58,810 | 80,000 |
| M.Chlorite | 22 | 845 | 18,583 | 27,192 | 17,600 |

---

## 5. What the field actually does

Decoded from `gcc.user.r_ship` for every Viral above 1M PR:

| Player | PR | Terran | Marauder | Miner |
|---|---|---|---|---|
| Amadea | 1,053M | T.Fenrir, Tyr, Nirvana | Tiger, Bullhead, Angel | M.Chlor, M.Flysch, A.Aragonite |
| Caramon | 282M | T.Garuda, T.Empereur | Manta, Tiger, Bullhead | M.Chlor, A.Aragonite, M.Lyth |
| Teerak | 93M | T.Fenrir, Tyr, Nirvana | Tiger, Pyth, Angel | M.Chlor, A.Aragonite |
| Viigii | 42M | T.Sentouki, T.Fenrir, T.Empereur | Manta, Tiger, Bullhead | M.Illite, A.Aragonite, M.Lyth |
| omegian | 38M | T.Garuda, Tyr, Nirvana | Tiger, Thresher, Angel | M.Chlor, M.Lyth |
| cagito | 10M | T.Maru, T.Garuda, Nirvana | Tiger, Barracuda, Pyth | M.Epidote, M.Chlorite, M.Chlor |
| Teaspoon | 6M | T.Fenrir, T.Empereur, Nirvana | Manta, Tiger, Angel | M.Illite, M.Epidote, A.Aragonite |
| Spaceboy | 1M | T.Sentouki, Tyr, Nirvana | Thresher, Pyth, Angel | M.Flysch, A.Aragonite, M.Lyth |

**Pick rate:** Tiger 9, Nirvana 8, M.Chlor 8, A.Aragonite 7, Tyr 6, T.Fenrir 6,
Angel 5, Pyth 4, M.Lyth 4, T.Sentouki 4, M.Illite 4.

Notably **Angel is only picked 5 times despite topping both damage and
throughput** — the field is under-drafting it, likely because its 18k hull and
`rf=0` make it feel fragile.

### 5.1 Attrition from 4,000 real PvP battles

Units fielded vs units lost, parsed from `gcc.event`:

| Ship | Fielded | Lost | Loss % |
|---|---|---|---|
| C.Aries Corvette | 220,605,714 | 36,589,746 | **16.6%** |
| Light fighter-drone | 33,012,358 | 5,285,612 | **16.0%** |
| Small Strafez Fodder | 115,820,394 | 30,728,368 | 26.5% |
| M.Chlor Cruiser | 3,162,716 | 914,714 | **28.9%** |
| E.Aurora Fighter | 35,727,854 | 13,197,760 | 36.9% |
| T.Garuda Destroyer | 2,348,726 | 873,130 | 37.2% |
| T.Fenrir Cruiser | 2,045,336 | 787,740 | 38.5% |
| M.Alium Corvette | 7,478,234 | 3,175,686 | 42.5% |
| Tiger Destroyer | 4,571,470 | 2,002,056 | 43.8% |
| T.Ryu-jin Fighter | 26,720,420 | 13,097,394 | 49.0% |
| V.Borrelly Destroyer | 9,136,204 | 4,924,778 | 53.9% |
| Manta Corvette | 3,348,038 | 1,794,282 | 53.6% |
| Small Strafez Runner | 2,984,236 | 2,524,890 | 84.6% |
| M.Hal Fighter | 1,473,806 | 1,397,656 | **94.8%** |

`C.Aries` at 16.6% loss across 220M units is the backbone of every fleet in the
game and costs you no reverse slot. `M.Chlor` at 28.9% is the standout *reversed*
survivor and validates its 3,505 EHP/1kPWR.

---

## 6. Recommended lists

### 6.1 The default — "Balanced Nine"

Best all-round build; what you take if you do not know who you will fight.

| Slot | Ship | Role |
|---|---|---|
| Terran 1 | **Nirvana** | Anchor. Best defensive profile in the pool (0.69–0.82), `lr+rf`, 20k hull |
| Terran 2 | **Tyr** | 9,000 missile — your Guardian/Collective/Miner opener |
| Terran 3 | **T.Fenrir** | Cheap mid-line, 578 dmg/1kPWR, rate 18 |
| Marauder 1 | **Angel** | Highest damage and highest throughput in the game pool |
| Marauder 2 | **Tiger** | Range 9 initiative, 681 dmg/1kPWR, cheap to mass |
| Marauder 3 | **Pyth** | 20k hull + `rf=1`; your defensive battleship |
| Miner 1 | **M.Chlor** | 3,505 EHP/1kPWR — the most PR-efficient tank available |
| Miner 2 | **M.Lyth** | 45k hull, 90k hull/turn — the wall |
| Miner 3 | **A.Aragonite** | `lr+rf` generalist, rate 12 |

### 6.2 Aggressive — "Alpha Strike"

Maximum damage per turn. You intend to hit first and end fights early.

Terran: **Nirvana, Tyr, T.Garuda** · Marauder: **Angel, Pyth, Thresher** ·
Miner: **M.Lyth, A.Aragonite, M.Chlorite**

Combined throughput of Angel + Pyth + Thresher alone is **168,572 dmg/turn**.
`M.Chlorite` adds range-9 initiative at the best efficiency in the pool
(687 dmg/1kPWR). The cost is fragility — Angel and Thresher are both `rf=0` with
sub-1,000 EHP/1kPWR.

### 6.3 Defensive — "Attrition Wall"

For holding under sustained incoming fire.

Terran: **Nirvana, T.Empereur, T.Fenrir** · Marauder: **Pyth, Bullhead, Tiger** ·
Miner: **M.Chlor, M.Lyth, M.Flysch**

Every pick here is ≤0.94 incoming from at least three races. `M.Chlor` + `M.Lyth`
together give you 3,505 and 1,424 EHP/1kPWR with `rf=1` on both — attackers
without `longrange` bleed on every exchange.

### 6.4 Anti-specific drafts

**Versus Marauder** (their E shield is −0.09, their missile shield +0.26):
lean energy. **Nirvana** (5,000 E), **T.Empereur** (2,600 pure E), **M.Chlor**
(500 pure E), **Thresher** (7,500 E). Do not lead with Tyr or Tiger.

**Versus Terran** (M +0.25, C −0.02, K +0.13): chemical and energy.
Your native **B.Cronus** (850 C) and **V.Borrelly** (300 C) are genuinely good
here and cost no slot. Add **Nirvana** and **T.Empereur** for energy.

**Versus Miner** (K +0.17, C −0.03, 52% of their damage is kinetic): bring
chemical, and shield kinetic. **M.Chlorite** and **Tiger** (pure missile,
M +0.08 only) both spike here — note Tiger's damage rises from 891 vs Marauder to
**1,100 vs Miner**.

**Versus Guardian** (flattest profile, no exploitable hole): this is a raw
throughput race. **Angel**, **M.Lyth**, **Tyr**. Guardian hulls are enormous
(`G.Fluorite` 160k, `K.Hun-Li` 95k) so bring hull/turn, not tricks.

**Versus Collective** (K +0.21, E +0.01): energy again. **Nirvana**,
**Thresher**, **T.Empereur**. Avoid kinetic-heavy picks like `A.Aragonite`.

---

## 7. Synergies

**Initiative ladder.** Range decides who fires first, and ties favour the
defender. A stack of range-9 (`Tiger`, `M.Chlorite`) followed by range-8
(`Bullhead`, `T.Garuda`, `M.Epidote`) strips hulls before your range-4/5 heavies
(`Angel`, `Pyth`, `Nirvana`) commit. Because damage scales with surviving
`shipCount`, removing enemy hulls early compounds.

**Long-range screen.** `Tiger`, `Bullhead`, `M.Chlorite`, `Thresher`, `Angel`,
`Nirvana`, `M.Lyth` and `Tyr` all carry `lr=1`. An all-`lr` opening wave takes
**zero** return fire. Save your `lr=0` ships (`Pyth`, `M.Chlor`, `Shark`,
`M.Epidote`) for defence, where their `rf=1` pays instead.

**The C.Aries floor.** `C.Aries` is neutral, costs no reverse slot, and shows a
16.6% loss rate over 220M units in real battles. It is the cheapest `shipCount`
in the game — and since damage is `× shipCount`, mass filler is a damage
multiplier, not just a meat shield. Every list above assumes a C.Aries base.

**Chemical is your birthright.** Your natives carry 44% chemical, and Terran and
Marauder field **no chemical weapons and slightly negative chemical shields**.
`B.Cronus` and `V.Borrelly` stay relevant all game against those two races
without consuming a single reverse slot. Spend your slots on what your natives
*cannot* do: energy (you have 3%) and hull.

**Cover your own hole.** Viral's mean kinetic shield is **−0.09** and energy
**−0.21**. Miner throws 52% kinetic and Collective 39% energy — these are your
two worst matchups defensively. `M.Chlor` (+0.30 K, +0.10 E) and `Pyth`
(+0.50 E, +0.25 K) are the two best patches available.

---

## 8. Quick reference

**Draft priority if you can only take a few:**
1. **Angel** — highest damage *and* highest throughput; the field under-drafts it
2. **Nirvana** — best defensive profile, `lr+rf`, works in every matchup
3. **M.Chlor** — 3,505 EHP/1kPWR and 28.9% real-world loss rate
4. **Tiger** — range 9 initiative at 681 dmg/1kPWR, trivially massable
5. **M.Lyth** — 90,000 hull/turn, nothing else comes close

**Traps:**
- **Shark** — 3,169 EHP/1kPWR looks elite, but 225 dmg/1kPWR is the worst in the
  pool and `lr=0` means it bleeds on every attack
- **T.Kalieum** — takes **1.25×** from Miner and 1.10× from Terran; the two most
  populous races
- **M.Hal** — 94.8% real loss rate; the throughput is an illusion
- **A.Aragonite** — popular (7 picks) but ≥0.95 incoming from every race and only
  453 dmg/1kPWR; it is a filler pick, not a core one
- Do **not** plan around class or range damage bonuses — §1.2, they do not exist
  in PvP

---

### Sources

- `app/f_com_attack3.cfm` — damage, return fire, firing order, bonus gating
- `app/f_com_ship_r.cfm` — reverse rules, costs, eligibility
- `app/s_loadsystem.cfm:450` — `_classname` resolution (the §2.1 bug)
- `gcc.ship_type`, `gcc.race`, `gcc.user.r_ship`
- `gcc.event` — 4,000 most recent non-NPC battles parsed for fielded/lost counts

---

## 9. Cross-reference: low / mid / high PR

Everything in this section is drawn from **battles fought under current
player-ship stats only**. See §9.1 for why that window matters.

Bands: **low** < 10M PR · **mid** 10M–100M · **high** ≥ 100M, keyed on the
*attacker's* PR at the moment of the battle (`event_attack.sourcepower`).

### 9.1 Choosing a valid evidence window

`gcc.ship_typelog` shows the last edit to any **player-facing** ship (race 0–6)
was **2023-02-26**. Everything after that date touches race 8/9 rows only.

That matters because the 2026-06-07 entries look alarming at first glance —
Nirvana 12,000→21,000, G.Diamond 20,000→100,000, T.Kalieum 450→840. Those are
**not** the player ships. The rebalance created *new rows* (ids 293–297, race 8
"Dark Marauder") rather than editing ids 24/62/6. `ship_user` holds **zero** units
of any id ≥ 200, so nothing in that range is player-buildable. The player Nirvana
is still id 24 at 12,000.

So the valid window is **2023-02-27 onward**: 7,703 non-NPC PvP battles
(5,849 low · 1,438 mid · 423 high). Anything older was fought under different
numbers and is excluded from every figure below.

### 9.2 The engagement matrix

All 278k non-NPC battles on record, by attacker band × defender band:

| Attacker \ Defender | low | mid | high |
|---|---|---|---|
| **low** | 206,696 @ **84.3%** | 1,488 @ 28.8% | 10,991 @ **0.1%** |
| **mid** | 13,712 @ 89.6% | 31,043 @ **73.3%** | 5,018 @ 14.8% |
| **high** | 808 @ 99.6% | 3,469 @ 86.0% | 4,877 @ **64.1%** |

Two things fall out.

**Attacking is worth roughly 15 points of win rate.** High vs high runs at a PR
ratio of 1.09 — effectively even — and the attacker still wins **64.1%**. Mid vs
mid at ratio 1.40 wins 73.3%. You are never truly "even" when you are the one
choosing the engagement.

**Low → high is 0.1% across 10,991 attempts.** That is not a fight, it is
damage-protection breaking or fed-war chip damage. Eleven thousand attempts
produced almost no wins.

### 9.3 Band character

| | low | mid | high |
|---|---|---|---|
| Even battles (ratio 0.8–1.5) | 4,946 | 891 | 242 |
| Baseline attacker win | 86.2% | 72.6% | 77.7% |
| Median distinct hull types | 8 | **10** | **10** |
| Median units in fleet | 280 | 12,103 | **76,806** |
| Top attacker races | Miner 29%, Guardian 20%, Terran 19% | **Viral 26%**, Terran 25%, Guardian 19% | **Guardian 35%**, Miner 23%, Terran 21% |
| Most-attacked | Terran 41% | Terran 26%, Viral 21% | Guardian 30%, Terran 22% |

**You will only ever field about ten hull types.** Median fleet breadth is 10 at
both mid and high. With ~19 neutral hulls, 3 Viral natives and 9 reverse slots you
have ~31 options for ~10 slots — the reverses are a *curation* problem, not an
accumulation problem.

**Viral peaks in mid.** Virals are 26% of mid-band attackers against 14% of the low
band — over-represented by nearly 2×. In the high band Guardian takes over at 35%
and Viral falls back to 14%.

### 9.4 Viral performance by band

| Band | As attacker | As defender (hold rate) |
|---|---|---|
| low | 828 battles, **84.9%** win | 560 battles, 17.9% |
| mid | 381 battles, **80.3%** win | 302 battles, 18.9% |
| high | 59 battles, **71.2%** win | 68 battles, 25.0% |

Viral tracks the global baseline closely on offence and defends slightly better
than average at high PR. Defence is grim for everyone — the attacker wins 74–86%
in every band.

### 9.5 Win lift in even fights

The most useful table here. **Lift** = win rate when this hull is present in the
attacking fleet, minus that band's baseline, restricted to PR ratio 0.8–1.5 so
that raw fleet size is not doing the work.

**LOW band** — baseline 86.2%, 4,946 even battles

| Helps | Lift | n | | Hurts | Lift | n |
|---|---|---|---|---|---|---|
| R.Pinnace | **+9.7** | 711 | | G.Livid (r) | **−11.5** | 182 |
| Manta | +8.5 | 134 | | **A.Aragonite** | **−11.0** | 303 |
| R.Sloop | +8.2 | 847 | | G.Sapphire | −10.2 | 121 |
| H.Corsair | +8.1 | 355 | | L.Emerald | −9.7 | 132 |
| **Eel** | +8.0 | 208 | | F.Spear | −8.7 | 200 |
| H.Galleon | +7.8 | 892 | | G.Rhyolite | −7.1 | 144 |

**MID band** — baseline 72.6%, 891 even battles

| Helps | Lift | n | | Hurts | Lift | n |
|---|---|---|---|---|---|---|
| **Eel** | **+11.8** | 32 | | M.Calcite | **−26.8** | 24 |
| Tourmaline | +10.5 | 83 | | G.Lictor | −24.3 | 29 |
| D.Ray | +10.1 | 52 | | **M.Chlorite** | −14.6 | 50 |
| K.Hun-Xe | +8.6 | 101 | | H.Brigantine | −12.6 | 20 |
| **Shark** | +7.9 | 77 | | **M.Epidote** | −12.6 | 45 |
| **V.Borrelly** *(native)* | +5.3 | 163 | | **T.Kalieum** | −12.0 | 33 |

**HIGH band** — baseline 77.7%, 242 even battles *(small samples — directional only)*

| Helps | Lift | n | | Hurts | Lift | n |
|---|---|---|---|---|---|---|
| **Bullhead** | **+22.3** | 14 | | **G.Livid (r)** | **−33.2** | 9 |
| K.Hun-Xe | +12.9 | 32 | | G.Lictor | −23.1 | 11 |
| **T.Empereur** | +12.8 | 21 | | **Pyth** | −22.1 | 9 |
| **B.Cronus** *(native)* | +12.3 | 10 | | Small Strafez Runner | −19.8 | 19 |
| Ruby | +10.5 | 17 | | C.Gemini | −17.7 | 10 |
| M.Chlor / M.Illite | +9.8 | 8 / 8 | | **A.Aragonite** | −14.5 | 19 |

### 9.6 What this changes

**A.Aragonite is the clearest error in the field.** It is the 3rd most-drafted
Viral reverse (7 of 11 players) and it posts **−11.0 lift over 303 low-band even
battles** and −14.5 over 19 high-band ones. Two independent bands, the larger with
a solid sample, both firmly negative. §4.1 already predicted this from the model
(≥0.95 incoming from every race, only 453 dmg/1kPWR) — the battle record confirms
it. **Drop it.**

**Bullhead is the biggest missed pick.** +22.3 lift at high band, 100% across 14
even fights and 85.2% across all 27 high-band battles it appeared in. Only 3 of 11
Virals took it. Promote it out of the defensive list in §6.3 into the core.

**Your natives are pulling their weight.** `V.Borrelly` posts +5.3 over 163
mid-band even fights and `B.Cronus` +12.3 at high. This is §7's chemical argument
showing up in the record: Terran and Marauder field **zero** chemical weapons and
slightly negative chemical shields, and those two make up 41% and 26% of the
low/mid defender pool. Chemical hulls cost you no reverse slot.

**Band-dependent picks:**

- `M.Chlorite` (−14.6, n=50 at mid) and `M.Epidote` (−12.6, n=45) are mid-band
  liabilities — cheap Miner destroyers that die before contributing.
- `T.Kalieum` (−12.0 at mid) confirms the §8 trap call: it takes 1.25× from Miner
  and 1.10× from Terran, the two most populous races.
- `M.Chlor` is genuinely ambiguous. Uncontrolled it looks awful at high band
  (46.7%, n=30) but in even fights it is **+9.8** (n=8). The uncontrolled figure is
  most likely a defensive-posture artefact — M.Chlor appears when you are already
  being outmatched. Keep it on the strength of its 3,505 EHP/1kPWR rather than on
  a win record too thin to settle.
- `Pyth` at −22.1 rests on **9 battles**. Do not act on it. Its `lr=0` is a real
  and separate criticism (§4.1).

**Low band rewards cheap Collective hulls you cannot reverse.** R.Pinnace, R.Sloop,
H.Galleon and H.Corsair take four of the top six low-band slots and are all
Collective — a blocked donor race. Below 10M PR your reverse slots matter far less
than fielding mass: lean on neutrals (`C.Aries`, 9.4% attacker loss) and spend the
slots when you reach mid.

### 9.7 Revised draft priority, by where you actually play

| Band | Take first | Avoid |
|---|---|---|
| **Low** (<10M) | Do not over-invest. `Tiger`, `T.Fenrir`, plus neutral mass (`C.Aries`). Your natives carry this tier. | `A.Aragonite` (−11.0), `G.Livid` (−11.5) |
| **Mid** (10–100M) | `Angel`, `Tiger`, `Bullhead`, `Shark` (+7.9), `M.Chlor`. Natives are strong — `V.Borrelly` +5.3. | `M.Calcite` (−26.8), `M.Chlorite` (−14.6), `M.Epidote` (−12.6), `T.Kalieum` (−12.0) |
| **High** (100M+) | **`Bullhead`** (+22.3), `T.Empereur` (+12.8), `Angel`, `M.Lyth`, `Nirvana`. Native `B.Cronus` (+12.3). | `A.Aragonite` (−14.5), `G.Lictor` (−23.1) |

The one pick correct in every band is **`Angel`** — top of both the damage and
throughput tables in §4, and still under-drafted at 5 of 11 players.

### 9.8 Caveats

- High-band even-fight samples are **8–32 battles**. Directional only. The low band
  (n=121–892 per hull) is the only tier where lift figures are firm.
- Lift measures **correlation with presence**, not causation. A hull can score badly
  because it is fielded by players who are already losing — the likely story for
  `M.Chlor` in the uncontrolled cut.
- Restricting to PR ratio 0.8–1.5 removes fleet-size confounding but not skill,
  race matchup, or fleet-composition confounding.
- Fleet attribution assumes the attacker's own fleet block prints first. Verified on
  400 consecutive battle bodies: 400/400 opened with "You …" and contained exactly
  two fleet blocks.
- A composite index `idx_userid_datetime` was added to `gcc.event` on the **local dev
  database** to make the `event` ↔ `event_attack` join usable (9+ minutes → 1.8s).
  It is a pure read optimisation; drop it with
  `DROP INDEX idx_userid_datetime ON event;` if unwanted.
