Tungsten Rain — Orbital Kinetic Bombardment

by fess932

100 kg tungsten rods circling the planet at 0.01c (107 kt each). No warhead, no radiation — the explosive is velocity. Build a storage ring in orbit and rain them on biter nests.

Content
23 hours ago
2.0
80
Combat

Changelog

Version: 0.2.10
Date: 2026-06-15
  Changes:
    - Lore fix (thanks to the mod-portal physicists). "A shot is just a skipped turn" was geometrically
      wrong: a rod on straight chords between stations stays outside the ring forever, so a station
      simply not deflecting only widens its orbit — it never hits the ground. Firing is now described
      honestly: the firing station dumps its capacitor reserve into one hard inward kick that bends the
      rod off its safe chord and down into the atmosphere. Also owned the recoil: magnetic bending does
      no work on the rod (cheap to hold), but every bend kicks back on the station, so the ring is
      really a swarm of statites holding themselves up on the recoil of the tungsten they throw — let
      one lose power and it falls out of the sky. Item, station, technology and cooldown descriptions
      reworded (EN + RU). No gameplay change.
Date: 2026-06-15
  Bugfixes:
    - Buffered rods now keep spinning up after the platform leaves. The "start the next rod's
      spin-up" step was nested inside the parked-platform loop, so once the freighter dropped its
      load and departed, the ring finished the rod already charging and then stalled — the buffered
      rods just sat there. It now runs as its own pass over every ring each second, independent of
      any platform being parked: deliver a load, fly away, and the ring charges the whole buffer one
      rod at a time on its own. This was the whole point of the buffer (0.2.2); it only worked while
      parked. Pulling rods from the hub and assembling stations still need a platform in orbit.
Version: 0.2.8
Date: 2026-06-15
  Changes:
    - Pulses now stack on the same target instead of hitting it once. Every pulse damages the whole
      growing disc the shockwave front has swept, so a target under the blast takes a hit on every
      pass: the center is hammered pulse after pulse, the rim once the front reaches it. Dropped the
      "each entity caught once" rule — the point is that it dies, even if it takes all the pulses to
      get there. A target under the crosshair now eats up to (pulses) hits, so even a low-power ring
      grinds it down.
Version: 0.2.7
Date: 2026-06-15
  Bugfixes:
    - Damage no longer leaves gaps. Each expanding pulse used to damage only its own thin ring band
      (r_inner, r_outer], which had two holes: a target sitting exactly on the impact point (distance
      0) was skipped, and a moving biter could slip between two bands — the front reached its old
      spot, it ran into a band that had already passed, and nothing ever hit it. The damage now rolls
      out as a GROWING disc: every mobile target (anything with a unit_number) is caught once, the
      instant the front reaches it, tracked in a shared per-strike set so it can't be hit twice and
      can't escape by moving. Static entities (no unit_number, never move) keep the thin band. Net
      effect: a biter standing under the crosshair now actually dies. (If one still survives, the
      ring power is too low — damage is 500k x power x falloff; finish the ring or raise the damage.)
Version: 0.2.6
Date: 2026-06-15
  Changes:
    - The "Shockwave damage type" setting is gone. The strike is now ALWAYS relativistic and there
      is nothing to misconfigure: damage is subtracted straight from health (a lethal hit deletes
      the target), so no percentage resist, flat resist, per-hit damage cap or "overkill protection"
      can stop it — exactly the armour Rampant fixed bolts onto every damage type, custom ones
      included, at data-final-fixes. This is what kills a 60k-HP regenerating biter that shrugged off
      a capped conventional hit. The same impact additionally lands impact + physical + explosion
      damage through the normal damage system (so vanilla armour and other mods' on-damage hooks
      still react), but the health chunk is what guarantees the kill. Reminder: damage still scales
      with ring power (full ring one-shots such a biter across the whole radius; a half-built ring
      may not reach the rim).
Version: 0.2.5
Date: 2026-06-14
  Features:
    - Auto-fire (orbital patrol): an optional mode where the rings fire on their own. Every interval
      each ring rains rods on the nearest enemy nests — and, optionally, worms — sitting within
      radar coverage, clustered by blast radius (no wasted rods), nearest threats first, capped by
      charged rods. Off by default. Four new settings: enable, interval, range around radars
      (default 448 = vanilla radar far scan), and whether to also hit worms.
Version: 0.2.4
Date: 2026-06-14
  Features:
    - Carpet bombardment: dragging the targeter over a nest field now rains a rod on every enemy
      spawner inside — but the targets are clustered by blast radius first, so one rod covers a
      whole clump and no slug is wasted. Strike points are sorted densest-first, so if the ring
      runs low on charged rods it hits the worst clusters before running dry. A small box or a
      click on empty ground still does a single strike at the center. This is the answer to nests
      breeding faster than you can pick them off one at a time.
Version: 0.2.3
Date: 2026-06-14
  Bugfixes:
    - Relativistic damage now truly ignores resistance. A novel damage type was not enough:
      Rampant fixed (and similar) blanket-resist every registered damage type at data-final-fixes,
      custom ones included, so nests showed a 60% "Relativistic" resist. The relativistic strike
      now subtracts straight from health (lethal hits delete the target), bypassing all percentage
      and flat resistance. Other configured damage types still obey vanilla resistances.
Version: 0.2.2
Date: 2026-06-14
  Features:
    - Expanding-ring damage: the strike no longer deals its damage in a single instant frame.
      It now rolls outward from the impact point as a shockwave, in steps (default 6, 0.5 s apart,
      a 3 s sweep from center to rim), decelerating on the same curve as the visual blast front so
      damage and graphics stay locked together. The core takes the hypervelocity penetrator hit at
      impact; each target is then caught once, as the front passes it, with normal falloff (100%
      center to 30% rim). Two new settings: damage steps (1 = one instant full-radius hit) and
      time between steps. The visual wave duration now tracks this window.
  Changes:
    - Lore + recipe: the ring no longer accelerates rods — the rod accelerates ITSELF. Rods now
      cost 2 rocket fuel (the engine charge: the same propellant a platform thruster burns). The
      rod fires its own engine up to speed while circulating inside the ring, and the deflector
      stations only HOLD it on a stable orbit during the burn and after. Station count is now a
      containment limit: the faster the rod, the more deflectors it takes to hold it, so stations
      still cap speed and damage. "Spin-up" is now the rod's own burn time (F=ma with a fixed
      little engine): linear in the held speed, so a full ring takes the whole configured time and
      a half-built ring half as long. Item, technology and setting descriptions rewritten to match.
    - Rod intake reworked: the ring now empties the hub straight into a buffer, up to capacity,
      in one pass — a freighter can drop its whole load and leave, and the rods spin up one at a
      time afterwards without it being parked. Previously a rod was only pulled when its spin-up
      began, so every shot waited on a fresh pull. The status window shows buffered rods as
      "charged/capacity (+queued)".
Version: 0.2.1
Date: 2026-06-12
  Features:
    - thumbnail.png
Version: 0.2.0
Date: 2026-06-12
  Features:
    - Storage ring: per-planet, per-force magazine of pre-accelerated rods. Slugs are pulled from
      orbiting platform hubs and spun up in the background (default 60 s each, capacity 10).
      Firing only releases an already-charged rod (beam extraction: one station skips a turn).
      No cooldown between shots by default — rate of fire is limited by rod spin-up time;
      an optional minimum interval between shots remains as a setting (default 0).
    - Buildable ring: the ring is a necklace of deflector stations (new item, 1 t = one rocket
      each). Deliver stations to an orbiting hub; the ring assembles itself, one per second.
      Top speed grows linearly with station count: damage scales as N^2, blast radius as N^(2/3),
      spin-up time as N^2 (a half-built ring hits at 25% but charges 4x faster). Default 20
      stations for full power (setting). A shot is a skipped turn at one station.
    - Ring activation toggle: rings start inactive and pull nothing from hubs. Alt-select with
      the targeter enables/pauses assembly above the current planet, so freighter platforms can
      load up at one planet without feeding its ring. Pausing keeps the charge fireable.
    - Remote interface: build_ring (testing) added; ring_status now reports stations, power and
      enabled state.
    - Fireball: fire damage component (default 150,000 at center, same falloff) plus fires ignited
      in the inner blast zone. Like a nuclear blast, but without the radiation.
    - New runtime settings: fire damage, ignite epicenter, rod spin-up time, ring capacity.
    - Impacts chart the blast area (1.5x radius), so results are visible through fog of war.
    - Status window (second shortcut-bar button): per-planet ring list with stations, power,
      charged rods and spin-up countdown, plus pause/resume buttons per ring. Refreshes live.
    - Visual shockwave: a continuous expanding blast front (glowing ring + two layers of a
      procedurally generated dust torus, animated per tick) sweeps to the full blast radius
      over ~1.2 s, with sparse secondary detonations, scattered scorchmarks and smouldering
      smoke. The central fireball is a staggered cluster of nuke-class explosions. Pure
      cosmetics, toggleable in settings.
    - Incoming tracer: the rod is visible for ~0.17 s before impact as a white-hot streak
      diving into the target at a random per-strike entry angle, with a light source on the
      tip. After impact the trail lingers for ~0.7 s, fading from white-hot to pale blue as
      the ionized wake recombines.
    - Remote interface: ring_status and charge_ring (testing) added.
  Changes:
    - New "Relativistic" (tungsten-kinetic) damage type, used by default: resistances only apply
      to listed damage types, and no mod lists this one — full damage always goes through.
      Evolution never prepared a defense against objects arriving at a percent of lightspeed.
    - Shockwave damage type is configurable: relativistic / explosion / impact / laser /
      physical. Pick "explosion" (what vanilla nukes use) to play by vanilla balance rules;
      Rampant "fixed" nests resist physical and fire at 99.99% but leak 8% of explosion.
    - Targeter is now a shortcut-bar remote (like the artillery remote in 2.0): free, spawns
      into the cursor, appears after researching the technology. Its recipe is removed.
    - Rod recipe reworked: 8 tungsten plates + 3 carbon + 2 copper cables (80 kg core, 15 kg
      ablative carbon sheath, 5 kg copper Faraday spiral). The spiral is gripped inductively by
      the ring's deflectors; the sheath vaporizes on entry into a plasma cocoon around the nose.
    - Cargo landing pads removed as a rod source: a rod on the ground cannot be released from an
      orbital ring. Rods must be delivered to the hub of a platform orbiting the target planet.
    - Lore pass: technology, item and setting descriptions rewritten around the storage ring;
      English technology description brought to parity with Russian.
Version: 0.1.0
Date: 2026-06-12
  Features:
    - Tungsten rod (100 kg @ 0.01c, ~107 kt kinetic): physical damage, 67-tile radius, linear falloff.
    - Mass driver targeter (selection tool): click to designate, 3 s to impact.
    - Ammo logistics: rods consumed from orbiting platform hubs or cargo landing pads.
    - Runtime settings: damage, radius, cooldown, delay, rod requirement, friendly fire, trees.
    - Remote interface "tungsten_rain" for testing and future auto-targeting integrations.