Tactical Reroll
⋯

Weapon effects for the pixel battle (T-457)

The weapon effects: every family, the rounds of review, the fates, what's built. From design/weaponfx.md, rendered when the site is built.

The plan for giving every weapon its own effect in the pixel battle (shootout.js). Approved as the plan (Jordan, 30 Sep, reviewed with the design session): the families, the match order, the counts, the leftovers, where it lives and the switches. The gallery went back for a second round; the build starts once Jordan approves the gallery (sub-cards T-458 to T-463, on beta).

Gallery, round 9 plus the fates and melee rows (live, the same link as rounds 1 to 8): https://claude.ai/artifact/7sFr4pH868w6k8pZagNMMg, and a copy in design/weaponfx-preview.html (open it in a browser), which is also the site page https://tacticalreroll.com/lab/effects/ (T-465: copied on every build, noindex, not linked). Our own drawings only: the army figures are figures.js, every effect is our pixels.

Melee choreography (T-488: Jordan picked (a), 30 Sep)

Today the attacker charges right and, fighting back, the defender charges left: a fight reads as two separate charges. The gallery's "Melee: three ways" row plays one fight (Fight back and To the death on, three rounds, after a volley from range) three ways:

Decided (Jordan, 30 Sep): meet in the middle. Both charge to the centre and stay locked for every round; blows alternate in the engine's order; no run back; the killing blow drops the model in place; with Shoot and Melee both on, the shooting plays from range first. Once built, the gallery keeps only this loop.

Built 1 Oct (shootout.js, T-488): with the new charge, a To the death part carries lock. The first charge runs half the gap while the target runs out to meet it (drawV shifts the target by the same fraction); every later part starts locked there and skips the run-up, so the blows come sooner. No bounce or run back, no ghosts left at home; the fallen lie where they fell (the striker's own too); the hit words sit where the fronts meet. The classic charge (✨ Effects, "New charge" off) keeps today's two separate charges. The gallery now plays only this loop. Not done: the compact gate lines over whoever is struck; the battle keeps its funnel behind the fight, which carries the same gates.

In all three, compact gate lines (hit, wound, save, damage) light over whoever is struck, so the funnel stays readable for both sides while they are locked.

Violence (T-485)

A switch in ✨ Effects with two settings, stored in hre.fx.v1: Full (the deaths below once they exist; today's blood specks and pools) and Mild (today's plain fall, no blood or pools, no gore words). Default Full. When set, Mild also governs the static pages' Simulate it boxes and shared GIFs. The deaths depend on it.

Built 30 Sep: violence in hre.fx.v1 ("" Full, "mild" Mild), under Everywhere in ✨ Effects. Mild skips the new charge's deaths (vaporised, splattered, launched) for the plain fall. Shared GIFs and clips are drawn by the same code, so they follow it; the static pages' Simulate it boxes draw no deaths, so there is nothing for Mild to change there yet.

Deaths (T-484, for later)

One killing animation per family on the slain model, in place of today's plain fall: original pixel art, 0.5 to 0.9 s, never longer than the family's volley time.

FamiliesDeathMark left
Melta and fusion; bio-sprays and acidmelts and sags into a puddle of goo (molten orange, or purple-green), a few bubblesthe puddle
Bites and mawsbitten in half at the waist; the upper half drops a beat laterthe halves
Rail, plasma, dark light, lascannonvaporised: a flash, then a dozen glowing pixels drift up and outa scorch
Missiles, grenades, cannons, bio-plasmicblown apart: pixel debris flung on arcs with dustthe settled debris
Blades, power weapons, claws, chain, whipscleaved along the swing's line, the parts slide apart and fall (claws: three lines first)the parts
Psychic and warp, force weaponshusked: a black silhouette that crumbles from the top and blows away as ashnothing
Flamers, burning melee, phosphorburnt: blackens over three frames, curls and drops as embers risesoot
Gauss, arc and lightningflayed: stripped band by band from the outside in, flickeringnothing
Grav, hammers and fists, hullscrushed flat to a two-pixel line with a puff of dustthe flattened mark
Everything elsetoday's fall with the family's own particlesa small dark pool

Rules: readable in silhouette; slain counts and the funnel's timing unchanged; marks fade when the next round begins; several kills in one volley stagger by about 80 ms; monsters and vehicles at their own scale, and vehicles never melt or bleed (a wreck: black smoke and a hulk). Each death lists which of the pixel reactions (T-156) may follow it. Drawn in the gallery when Jordan calls it up.

Fates (T-477: built 30 Sep)

A row at the top of the gallery, "One shot, eight fates": the same bolter round played once per outcome, side by side and looping. Faint gate lines stand between the sides (hit, wound, save, damage), as the battle's funnel does. Each fate differs in shape and place, never only in colour:

FateWhere the shot endsWhat the model doesWord
1. Miss (the hit gate)veers a few pixels off its track at the hit line and fades before the model; melee: the arc passes in frontnothing; the only fate that never touches it"miss", white, at the hit line, drifting down and fading
2. Failed to woundtracks all the way, touches, dies flat with a dull grey tinknothing"no wound", grey, at the wound line
3. Saved by armourlands; orange-white sparks skate offrocks back one pixel and stands"saved", at the save line
4. Saved by an invulnerable savebursts on a shield outline that flickers round the model, before touchingnothing"saved" with a small shield
5. Feel No Pain (the damage gate)landsflinches as if hurt; the damage that counts rises red, the shrugged part slides sideways grey and struck through"urgh", the one sound word
6. Damagelandsflinches, the number rises red, standsnone
7. Slainlands, with a longer hit-stop on the killing blowfallsnone
8. Specials (one per loop)Sustained Hits: two more shots born at the hit line; Lethal Hits: the wound line lights as the shot passes it untested; Devastating Wounds: the save line lights, the model falls and the spill jumps to the next model; Hazardous: the attacker flashes and takes the numberas the fate"+2" at the hit line for Sustained Hits

Rules: one "urgh" for Feel No Pain and no other sound words; the words keep the battle's small caption style; every fate must be tellable with colour removed.

Built 30 Sep (shootout.js): behind the switch "Misses fade past the line" in ✨ Effects (fade in hre.fx.v1, on by default; off, or Classic, keeps the stop-dead blink). Each failed shot's fate: a miss (or a shot left over once the unit is gone) veers past its line by up to a quarter of the gap and fades over ~150 ms; failed to wound reaches the model with a grey tink; armour lands, sparks skate off, the model rocks back a pixel; an invulnerable save bursts on a flickering shield ring; Feel No Pain lands and the model flinches. The words ("miss", "no wound", "saved" with a small shield for an invulnerable save, "urgh", "+n" where Sustained Hits are born) sit at the gate line, drift down and fade over ~400 ms, outlined dark in both themes; the flying WHIFF/TINK/CLANG words stay for the stop-dead setting. Lethal Hits light the wound line as they pass it; Devastating Wounds the save line. Not yet: the spill jumping to the next model, and Hazardous (the engine rolls hazards after the attack, not per shot). Melee is unchanged (its blows don't draw words on a fail).

Engine change (sub-card T-478): the save gate picks the better of armour and invulnerable save without recording which. One field on each bullet track, save: "armour" | "invuln", lets the drawing tell fates 3 and 4 apart; the counts stay identical with or without the track (volley.test.js).

Round 9 (Jordan's notes on round 8, 30 Sep)

Approved: the rail ("exactly the right idea") and the warp's direction.

Changed:

Round 8 (Jordan's notes on round 7, 30 Sep)

Approved as is: the whip's first two strokes, sword effects, bites, rockets (with a smaller flash).

Changed:

Round 7 (Jordan's notes on round 6, 30 Sep)

Approved as is: the whip, sword effects, bites, helfrost, webs, the sniper, the rail (almost).

Changed:

Asked: a particle slider. Doable at moderate cost, in the build: every drawing takes its counts through one helper (count × the master level × the family's own level), so a master slider (from a quarter to double) and a slider per family can sit in ✨ Effects, saved in hre.fx.v1, with a phone that drops frames turned down on its own. Card T-474.

Round 6 (Jordan's notes on round 5, 30 Sep)

Approved as is: bio-sprays, grub guns, spinefists, spine banks, stranglers, melta, plasma, gauss, shotguns; the melee stutter.

Changed:

Round 5 (Jordan's notes on round 4, 30 Sep)

Round 4 (Jordan's review of round 3, 30 Sep)

Approved as is: melta and fusion, gauss, arc and lightning, helfrost, shotguns (a touch slower), the bolter rounds and the rail's trail.

Changed:

Round 3 (Jordan's review of round 2, 30 Sep)

Approved as is: flamers, grub guns, spine banks, bio-plasma, melta ("nailed it"), lascannons, grav, shuriken, pulse, webs, blades, claws, hammers, power weapons (blue by default, crackling), bites, and the missile's projectile and fireball.

New families: shotguns and scatter guns (the spinefist's blast with an orange muzzle flare; frag cannons and shotpistols included), grenades (split from missiles), bolters (split from the rest of the guns: bolt-named weapons; storm bolters and heavy bolters stay in rotary guns).

Redone:

Readings chosen where the notes were open (the more violent or dense one): frag cannons and shotpistols went to shotguns; grenade launchers went to grenades; the warp ball darkens the target while it drinks it; the cannon's bursts walk across the target's squad rather than landing on one spot.

What changed in round 2 (Jordan's review)

Decisions (Jordan, 30 Sep)

Where it lives (the build)

Coverage

2,356 weapon profiles in build/units.json, each in one family (a profile several units share counts once; "Units" counts every datasheet carrying it). A named one-off no rule catches is drawn as a bolter (shooting) or a blade (melee).

Shooting

FamilyWeaponsUnitsLengthColoursWhat it doesFor example
Flamers (flame)1147411.1 snatural, army tintA roaring gout that widens as it goes, the biggest blob at the tip, slanting upward, and at the far end the flames curl up as fire does; the target keeps burning and embers rise after the gout has gone.Heavy flamer, Flamer, Twin heavy flamer, Hand flamer, Arcane Fireball
Bio-sprays (bio-spray)5121.2 spurple alwaysPyrovore acid, drool cannons, flamespurts: a wide spray at a flamer's volume, never a stream, with real globs on top (a few big ones, more small ones). They arc, splat and drip; a lime mist hangs.Acid spray, Venom bolt, Drool cannon, Flamespurt, Bio-acid spray
Grub guns (grub) · new11491.0 spurple alwaysDevourers, fleshborers, deathspitters, spike rifles: small white and green wriggling grubs at very high speed, each leaving the barrel like a cyst bursting (a wet gore splash, not fire).Deathspitter, Deathspitters with slimer maggots, Devourer, Devourers with brainleech worms, Fleshborer hive
Spinefists (spinefist) · new5130.8 spurple alwaysOne snappy shotgun blast per attack (two attacks, two blasts): a tight cloud of fast fragments, and the spikes stay stuck in the target for a split second.Spinefists, Spinemaw, Barblauncher, Spinemaws, Termagant spinefist
Spine banks (spine-bank) · new4190.9 spurple alwaysPairs of needles fired symmetrically, outside-in then inside-out, rapid and very fast; the needles stay embedded in the target for a moment.Stinger salvoes, Spine banks, Impaler cannon, Shardlauncher
Stranglers (strangler) · new7221.1 spurple alwaysOne seed flies like a bullet; on impact tendrils grow fast round the target and snap tight, an organic web in green and purple.Stranglethorn cannon, Barbed strangler, Twin stranglethorn cannon, Tentaclids, Toxinjecter Harpoon
Venom cannons (venom) · new6281.1 spurple always · hit-stopA bullet-shaped slug that clips on the model for a moment, then passes right through at a visible pace; the spray lands behind as green and purple slime on the ground, and the model stays slimed.Heavy venom cannon, Venom cannon, Rupture cannon, Dire bio-cannon, Bio-cannon
Bio-plasma (bio-plasma) · new391.1 spurple alwaysBreath weapons: projectile plasma-flame at a flamer's volume in blue, purple and white, the balls swelling as they reach the end, lightning twisting through it; the target is left slimed.Bio-plasma, Bio-plasma torrent, Bio-plasmic scream
Bio-plasmic cannons (bio-plasmic) · new281.3 spurple alwaysA fast arc and a big, violent burst on landing (two shock rings, a fireball, debris, lightning, a shake); purple sludge is left all over the model, dripping off it.Bio-plasmic cannon, Spore mine launcher
Plague weapons (plague)27871.3 snatural, army tintA spray that showers the target in fine droplets on top of the globs until it is soaked; it spreads and thins over the ground as it lands.Disgusting sneezes, Plague Wind, Blight launcher, Plague spewer, Plague belcher
Melta and fusion (melta)644511.3 snatural · hit-stopThe fat beam fires and fades; then the impact point keeps working: molten drips cascade down from where it touched, slow and heavy. Nothing along the path once the beam has gone.Multi-melta, Meltagun, Inferno Pistol, Twin multi-melta, Inferno pistol
Plasma (plasma)667501.0 snatural, army tintFast bolts that go straight through the models and off the screen, stuttering for a beat at each model they pass (a fighting-game hit lag) and shaking it; each keeps a small burning hole.Plasma pistol, Plasma gun, Plasma cannon, Heavy plasma cannon, Plasma caliver
Lasguns and pistols (las)692600.8 snatural, army tintOne thin solid line of one colour, on then off, two longer shots; no flicker and nothing at the end.Laspistol, Lasgun, Multi-laser, Scatter Laser, Lascarbine
Lascannons and lances (lascannon) · new624421.0 snatural, army tintThe same blink, thicker and brighter, held longer; a splashy orange heat bloom only where it touches, never along the beam.Lascannon, Twin lascannon, Laser destroyer, Quad lascannon, Bright Lance
Dark light (darklight) · new7450.8 snaturalDrukhari dark lances and blasters: a bolt of darkness edged in violet, and the target caves in on a shrinking ring.Blaster, Blast Pistol, Dark Lance, Dark lance, Corsair blaster
Gauss (gauss)441230.9 snatural, army tintOne zap barrel to target, a jagged green tendril that hangs a beat and fades like lightning seen in the sky; the arcs on the target fade with it.Starcannon, Eradication ray, Staff of light, Gauss cannon, Twin tesla destructor
Arc and lightning (lightning)21590.7 snatural, army tintJagged bolts redrawn every frame; the flicker sells it.Bio-electric pulse, Arc rifle, Neuro disruptor, Neuro Disruptor, Galvanic rifle
Grav (grav)13671.0 snatural, army tintTwo rings at once: the muzzle's snaps open small to large while the target's shrinks large to small, so the squeeze reads as one motion; dust kicks up at its feet, a crunch, then release.Grav-pistol, Grav-gun, Grav-cannon, Grav-flux bombard, Graviton cannon
Sonic weapons (sonic)8320.9 snatural, army tintRings of sound rolling out; the target shakes side to side.Blastmaster, Screamer pistol, Sonic blaster, Transonic cannon, Bellow of endless fury
Radium and phosphor (rad)13361.0 snaturalSlow glowing motes; phosphor leaves a stain that flickers like a bad lamp.Phosphor serpenta, Radium carbine, Twin rad cleanser, Phosphor blast carbine, Phosphor torch
Shuriken, splinter and needles (crystal)372070.7 snatural, army tintA hiss of tiny spinning discs and needles, faster and denser than bolts; they stay stuck in the target for a second.Shuriken Pistol, Shuriken Cannon, Splinter Pistol, Twin Shuriken Catapult, Shuriken cannon
Pulse weapons (pulse)551610.8 snatural, army tintGlowing pulses that spray an area, up and down, as the rotary guns do.Twin pulse carbine, Burst cannon, Kustom Shoota, Pulse pistol, Flechette blaster
Shotguns and scatter guns (shotgun) · new19560.8 snatural, army tintShotguns and scatter guns of every army: the spinefist's blast, a tight cloud of pellets a touch slower so the eye can follow, with an orange muzzle flare.Combat shotgun, Frag cannon, Arbites combat shotgun, Executioner shotgun, Bolt shotgun
Rail weapons (rail) · new12211.8 snatural, army tint · hit-stopIt charges at the muzzle and fires a white-hot dart with shock waves peeling off at 45 degrees; the dart sticks in the first model for half a second, the model shaking harder and glowing, then it rips through everything and off the screen. Each model it passed keeps a big molten hole with drips running down it; the line is one colour and fades.Rail rifle, Heavy rail rifle, Swiftstrike railgun, Railgun, Magna-rail rifle
Sniper rifles (sniper) · new20531.2 snatural, army tintThe railgun, small and with no charge: the same lightning-fast dart and shock waves, a stutter at each model, a tiny fading hole, the lingering line.Sniper rifle, Cult sniper rifle, Radium jezzail, Long rifle, Long Rifle
Webs and warp-weaves (web)16391.1 snatural, army tintThe strangler's grip: strands snap onto the target, then stacked spinning triangles turn opposite ways up the model, a corkscrew that pulls tight.Webber, Death Spinner, Wraithcannon, Graviton singularity cannon, Voidweaver Haywire Cannon
Helfrost (frost)4161.2 snaturalJagged ice shards erupt on the target in steps, a second set a split second after the first, then the lot bursts into flying shards and leaves the model frosted.Helfrost pistol, Helfrost cannon, Helfrost destructor, Twin helfrost cannon
Psychic and warp (warp)983281.7 snatural, army tintA ball of power gathers in the psyker's hands in shifting colours, then one big orb and three small ones fly. On the hit the model's spirit is knocked out of its body: a full, detailed ghost of it, tethered to the body at first, rises up and back, holds, then dissolves grain by grain into nothing; the body stays grey and lifeless until the run ends.Lashes of torment, Smite, Psycannon, Psilencer, Rite of Possession
Grenades (grenade) · new201481.1 snatural, army tintLobbed in a tumbling arc; a punchier blast than a missile's, dust and debris, and the target shaken.Grenade launcher, Astartes grenade launcher, Fragstorm grenade launcher, Cultist grenade launcher, Arbites grenade launcher
Missiles (missile)1437851.2 snatural, army tintDead straight and very snappy; the smoke lies in an S along the path, stops short of the target and only drifts up and out; the warhead strikes with a white flash inside its own blast, spikes, a shock ring, debris everywhere and a big jolt.Hunter-killer missile, Missile launcher, Missile Launcher, Havoc launcher, Cyclone missile launcher
Cannons and artillery (cannon)1153091.4 snatural, army tint · hit-stopA burst of shells in quick succession landing in front of, behind and on top of the target, each throwing debris up and out, the dust building into one big cloud; a hit-stop on the first.Death's heads, Demolisher cannon, Fellblade accelerator cannon, Kratos battlecannon, Kannon
Rotary and heavy guns (gatling)11011180.9 snatural, army tintA hose of tracers spraying an area, each round landing somewhere different (further, nearer, left, right, up, down), brass casings spilling out.Storm bolter, Heavy bolter, Twin heavy bolter, Heavy stubber, Autocannon
Bolters (bolter) · new685851.0 snatural, army tintBolters fire three slow, heavy rounds, each ending in a small explosion that shakes the target, all cleared before the next volley: a hand cannon, deliberate, not a hose.Bolt pistol, Boltgun, Combi-bolter, Heavy Bolt Pistol, Twin boltgun
Autoguns, stubbers and pistols (bolt)1625040.8 snatural, army tintAutoguns, stubbers, pistols and the rest: today's bullets with a proper flash and a pop.Combi-weapon, Autopistol, Mechanicus pistol, Slugga, Autogun

Melee

FamilyWeaponsUnitsLengthColoursWhat it doesFor example
Blades (blade)3288610.8 snatural, army tintThe model's own blade: at rest up and forward, a slower backswing, then a strike over a frame or two with a smear, a crescent across the target and a spray of white, red and grey specks; it returns slowly.Blade of blood, Hunting lance, Attendant's hellblades, Foul balesword, Tiny balesword
Claws and talons (claw)1414040.8 snatural, army tintClaws in hand rake three lines; red droplets. A lightning claw stays a claw and crackles (every other loop here shows the crackle).Twin lightning claws, Ravaging claws, Massive scything talons, Monstrous scything talons, Hideous mutations
Chain weapons (chain)643660.9 snatural, army tintA chainsword in hand whose teeth run along the blade like a running saw while it bites; a fountain of sparks.Chainsword, Astartes Chainsword, Chainfist, Reaper chainsword, Astartes chainsword
Fists, hammers and hulls (hammer) · new18313401.0 snatural, army tint · hit-stopA hammer or fist comes down with an accelerating swing: a shockwave ring, dust, the target sinks and shakes, a long hit-stop. The benchmark for every melee effect.Close combat weapon, Armoured tracks, Power fist, Armoured hull, Thunder Hammer
Power weapons (arc)472900.8 snatural, army tintA power sword: an arc flash round the blade on the blow, crackles, sparks.Power weapon, Power Weapon, Power sword, Master-crafted Power Weapon, Master-crafted power weapon
Bites and maws (bite)652440.7 snaturalNo swing: a big jaw with two rows of fangs snaps shut over the target, then one or two smaller bites right behind it. A monster's is one massive mouth and a giant crunch that shakes the target.Seeker tongues, Lashing tongue, Juggernaut's bladed horn, Screamer bites, Diseased claws and teeth
Force and daemon weapons (force)573040.9 snatural, army tintA staff with a glowing head; a sigil stamps on the target and motes spiral off.Hellforged weapons, Force weapon, Accursed weapon, Paired accursed weapons, Nemesis force weapon
Plague blades (m-plague)20500.9 snatural, army tintA plague blade oozing green as it swings, drips falling off it, a splash on the blow and a puddle left behind; two flies.Heavy plague weapon, ’Urty syringe, Plaguesword, Flail of corruption, Plague knife
Burning melee (m-fire)470.8 snaturalOrange fire flickers off the blade itself all through the swing, and flares where the blow lands.Cuttin’ flames, Burning hands, The Fire Axe, Cuttin’ Flames
Whips and lashes (whip) · new17381.8 snatural, army tintTwo quick strokes, then a wind-up for a third, heavy one: further back and further out, a thicker lash, and three hit bursts in quick succession where it lands, the target shaking.Monstrous bonesword and lash whip, Rapture lash, Lasher tendrils, Neural whips, Lashes of torment (melee)

Match order

First match wins. Shooting: warp → bio-plasmic → bio-plasma → bio-spray → strangler → venom → spine-bank → spinefist → lightning → grub → plague → melta → flame → frost → warp → sonic → web → darklight → shotgun → rail → sniper → plasma → gatling → missile → grenade → lascannon → las → gauss → lightning → grav → rad → crystal → pulse → missile → gatling → cannon → bolter → bolt. Melee: bite → chain → claw → hammer → arc → m-plague → m-fire → force → whip → blade. The rules themselves are in tools/weaponfx.js.

Someday

Built (T-493, 1 Oct)

Batch (a) is in the battle: flamers and the Tyranid families (bio-spray, grub, spinefist, spine bank, strangler, venom, bio-plasma, bio-plasmic), psychic and warp, and webs. The battle draws the gallery's own code: tools/stamp_assets.js lifts it from this gallery into docs/wfxdraw.js at every build, so a round approved here is what the battle shows. Batches (b) to (e) followed the same evening (T-494 to T-497): every family, shooting and melee, is now in the battle, with hit-stop on the heaviest hits and a switch per family under ✨ Effects › Weapon effects.

Two rules on top of the families (1 Oct): every effect comes from a figure that carries its weapon (T-503: a joined character's from the character, the squad's from as many figures as carry it), and a miss at the Hit roll obeys its fate, not its family (T-504): the shot flies only until it would reach the target, short of it, then veers and fades; no family plays an impact for it. A figure whose blows with a weapon all missed swings short of the target, with no contact effect.