Fire that looks like fire, a rack you can leave, and a boss you can read
The band work from f352612 rides along; everything else is this round's list.
- proj returns a NEGATIVE scale behind the camera, so four ellipse call sites
could be handed negative radii — ctx.ellipse throws on those, and the throw
killed the rest of the frame (no HUD, no rack, no band). All four now skip
points behind the camera.
- a burst tin is no longer a commitment: tapping another slot aborts it, spends
it and hands back the serve loop. Lives in selectWeapon, so the rack tap and
the 1-0 keys both get it. A horde still locks the rack — that is the one place
your finger is already spoken for. Spending splices the rack, so the tap
resolves to a weapon id and re-finds it rather than trusting the index.
- beacon 1.6 -> 2.4 rounds/s: a lob cannon you could not leave AND could not
feel working was two problems.
- FIRE. Flamer throws fat embers instead of a one-pixel thread; burning bodies
get nine tongues over a heat bloom plus smoke; the fire ball gets a halo and a
real tail; an ash death gets twice the motes at twice the life over a ground
bloom and a column. The flamer had no sfx case at all and was using the gun's
dry tick — it has its own roar now.
- chapter bosses carry an HP bar over their head. The no-HP-bar rule stands for
everything else and the comment says why a boss is the exception.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f352612de3
commit
655b86d27f
7 files changed
+184
-31
No files matched your search
@@ -568,7 +568,10 @@ export const WEAPONS = {
|
||||
// ---- the four that come out of a barrel. Won by shooting one, never delivered.
|
||||
// A LOBBED tennis ball twice the weight of yours, thrown on its own beat, changing colour every
|
||||
// shot and dragging its colour behind it. The showiest thing in the game and the one you meet first.
|
||||
beacon: { label: 'BEACON', icon: 'w_beacon', tin: 1, kind: 'burst', len: 11, rate: 1.6,
|
||||
// rate was 1.6: about one lob every two thirds of a second, which is a long time to stand still
|
||||
// late on. The abort in selectWeapon is the real answer to "I picked the wrong tin", but a lob
|
||||
// cannon you cannot leave AND cannot feel working was two problems, so it throws faster now.
|
||||
beacon: { label: 'BEACON', icon: 'w_beacon', tin: 1, kind: 'burst', len: 11, rate: 2.4,
|
||||
r: 1.2, dmg: 2, hp: 4, arc: 1, hue: 1, trail: 1, trailR: 0.035, glow: 3.2, speed: 19,
|
||||
sfx: 'thump', // it LOBS — a soft low thump as it goes, not a rifle crack
|
||||
desc: ['IT THROWS ITSELF', 'TWICE THE BALL, EVERY COLOUR'] },
|
||||
@@ -577,9 +580,12 @@ export const WEAPONS = {
|
||||
// It REACHES THE FAR BASELINE (life 1.15 s x 23 m/s = ~26 m), it PIERCES, and it does no impact
|
||||
// damage at all: dmg/hp 0. Fire is not a bullet — being hit sets you alight and the burn does the
|
||||
// killing, so a lit crowd walks a few steps and goes down together. That is the whole weapon.
|
||||
// trail 2 -> 4 and a WIDE trailR: an ignite round throws fat drifting embers rather than the
|
||||
// beacon's one-pixel thread (see the pe.ignite branch in the trail block), so the stream reads as
|
||||
// a body of fire with edges instead of a line of dots. glow 2 -> 2.8 to match.
|
||||
flamer: { label: 'FLAMER', icon: 'w_flamer', tin: 1, kind: 'burst', len: 6, rate: 30,
|
||||
r: 1.15, dmg: 0, hp: 0, pierce: true, speed: 23, life: 1.15, ignite: true, igniteR: 2.6,
|
||||
trail: 2, col: '#ff8420', glow: 2, spread: 3.1, sfx: 'flame',
|
||||
trail: 4, trailR: 0.34, col: '#ff8420', glow: 2.8, spread: 3.1, sfx: 'flame',
|
||||
desc: ['A WALL OF FIRE', 'AND THE FIRE SPREADS'] },
|
||||
// The normal ball gesture, made spectacular: pull, aim, release — and instead of a ball you get a
|
||||
// blue plane that widens down the court and cuts through everything standing in it.
|
||||
|
||||
Reference in new issue
Block a user