Files
shweet e9d8cac926 Weapons built from traits, fashion, Hourglass, About tab, and Ithaca
- Every attack is now assembled from traits on its definition instead
  of per-weapon code: an anchor and path (thrusts, out-and-back, arcs),
  shared flight physics (gravity, drag, acceleration, homing, and one
  wall response: end, burst, stick, crawl, bounce, stop, pass, return,
  latch), and flags like bouncy, drifting, tethered, orbiting, instant
  and arming. Melee are projectiles too.
- Shots have a lifetime and a fade (when damage bottoms out). Range is
  speed times lifetime. Ricochets and the Vacuum wind lifetime back.
- The Vacuum pulls anyone's shots, and its airblast flips them out
  along the aim, claiming enemies' (fading into your colour).
- New trinket: Hourglass, longer projectile lifetime and range. Ropes
  and chains lengthen with it and the Accelerator.
- Fashion: 23 items worn on the head, face or torso, chosen in Profile.
- Flamethrower flames hit continuously, the whip coils and sweeps,
  bouncing shots roll over ramps, and Ricochet relights grenade fuses.
- Profile tab, colour tooltips, option hints on every setting, an
  About tab with credits and links, and the Ithaca font.
- Loadouts lock once readied, tomatoes clear with the match, and the
  round-over pause is 4 seconds.
- CC0 license. Tools and CLAUDE.md are no longer tracked, and the web
  shell moves to web/.
2026-11-10 15:27:12 -05:00

109 lines
7.7 KiB
Plaintext

{
"image": "small.png",
"scale": 1,
"lineHeight": 12,
"outline": 1,
"glyphs": {
" ": {"x": 0, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"!": {"x": 9, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"\"": {"x": 18, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 4},
"#": {"x": 27, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 8},
"$": {"x": 36, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"%": {"x": 45, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"&": {"x": 54, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"'": {"x": 63, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"(": {"x": 72, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 4},
")": {"x": 81, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 4},
"*": {"x": 90, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 4},
"+": {"x": 99, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
",": {"x": 108, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"-": {"x": 117, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
".": {"x": 126, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"/": {"x": 135, "y": 0, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"0": {"x": 0, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"1": {"x": 9, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"2": {"x": 18, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"3": {"x": 27, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"4": {"x": 36, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"5": {"x": 45, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"6": {"x": 54, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"7": {"x": 63, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"8": {"x": 72, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"9": {"x": 81, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
":": {"x": 90, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
";": {"x": 99, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"<": {"x": 108, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"=": {"x": 117, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
">": {"x": 126, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"?": {"x": 135, "y": 14, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"@": {"x": 0, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"A": {"x": 9, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"B": {"x": 18, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"C": {"x": 27, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"D": {"x": 36, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"E": {"x": 45, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"F": {"x": 54, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"G": {"x": 63, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"H": {"x": 72, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"I": {"x": 81, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"J": {"x": 90, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"K": {"x": 99, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"L": {"x": 108, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"M": {"x": 117, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 9},
"N": {"x": 126, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"O": {"x": 135, "y": 28, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"P": {"x": 0, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"Q": {"x": 9, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"R": {"x": 18, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"S": {"x": 27, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"T": {"x": 36, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"U": {"x": 45, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"V": {"x": 54, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"W": {"x": 63, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 9},
"X": {"x": 72, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"Y": {"x": 81, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"Z": {"x": 90, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"[": {"x": 99, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 4},
"\\": {"x": 108, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"]": {"x": 117, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 4},
"^": {"x": 126, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"_": {"x": 135, "y": 42, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"`": {"x": 0, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"a": {"x": 9, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"b": {"x": 18, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"c": {"x": 27, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"d": {"x": 36, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"e": {"x": 45, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"f": {"x": 54, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"g": {"x": 63, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"h": {"x": 72, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"i": {"x": 81, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"j": {"x": 90, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 4},
"k": {"x": 99, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"l": {"x": 108, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"m": {"x": 117, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 9},
"n": {"x": 126, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"o": {"x": 135, "y": 56, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"p": {"x": 0, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"q": {"x": 9, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"r": {"x": 18, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"s": {"x": 27, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"t": {"x": 36, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"u": {"x": 45, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"v": {"x": 54, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"w": {"x": 63, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 9},
"x": {"x": 72, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"y": {"x": 81, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"z": {"x": 90, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"{": {"x": 99, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"|": {"x": 108, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 3},
"}": {"x": 117, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"~": {"x": 126, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 5},
"°": {"x": 135, "y": 70, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 6},
"←": {"x": 0, "y": 84, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"↑": {"x": 9, "y": 84, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"→": {"x": 18, "y": 84, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7},
"↓": {"x": 27, "y": 84, "w": 8, "h": 13, "dx": 0, "dy": 0, "advance": 7}
}
}