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

84 lines
3.7 KiB
Plaintext

{
"anm2ed": 1,
"info": {"fps": 60},
"spritesheets": [
{
"path": "effects.png",
"regions": [
{"name": "Arrow", "crop": [5, 19], "size": [21, 9], "pivot": [10.5, 4.5], "origin": "center"},
{"name": "Bullet", "crop": [42, 19], "size": [16, 9], "pivot": [6.5, 4.5]},
{"name": "Chain", "crop": [75, 19], "size": [10, 10], "pivot": [5, 5], "origin": "center"},
{"name": "Flail Ball", "crop": [102, 14], "size": [19, 19], "pivot": [9.5, 9.5], "origin": "center"},
{"name": "Flame 1", "crop": [10, 58], "size": [11, 21], "pivot": [5, 16]},
{"name": "Flame 2", "crop": [42, 58], "size": [11, 21], "pivot": [5, 16]},
{"name": "Flame 3", "crop": [74, 58], "size": [11, 21], "pivot": [5, 16]},
{"name": "Flame 4", "crop": [106, 58], "size": [11, 21], "pivot": [5, 16]},
{"name": "Mine", "crop": [7, 115], "size": [17, 10], "pivot": [8.5, 5], "origin": "center"},
{"name": "Rocket", "crop": [40, 115], "size": [15, 9], "pivot": [7.5, 4.5], "origin": "center"},
{"name": "Slash", "crop": [65, 96], "size": [30, 48], "pivot": [15, 24], "origin": "center"},
{"name": "Slug", "crop": [106, 117], "size": [11, 5], "pivot": [5.5, 2.5], "origin": "center"},
{"name": "Whip Tip", "crop": [11, 163], "size": [9, 9], "pivot": [0, 4.5]},
{"name": "Punch", "crop": [34, 161], "size": [26, 14], "pivot": [19, 7]},
{"name": "Uppercut", "crop": [64, 144], "size": [32, 48], "pivot": [17, 22]},
{"name": "Wisp 1", "crop": [8, 196], "size": [15, 24], "pivot": [7.5, 17]},
{"name": "Wisp 2", "crop": [40, 196], "size": [15, 24], "pivot": [7.5, 17]},
{"name": "Wisp 3", "crop": [72, 196], "size": [15, 24], "pivot": [7.5, 17]},
{"name": "Wisp 4", "crop": [104, 196], "size": [15, 24], "pivot": [7.5, 17]},
{"name": "Grenade", "crop": [3, 226], "size": [12, 12], "pivot": [5, 5], "origin": "center"},
{"name": "Bolt 1", "crop": [35, 225], "size": [13, 13], "pivot": [6, 6]},
{"name": "Bolt 2", "crop": [67, 225], "size": [13, 13], "pivot": [6.5, 6.5], "origin": "center"}
]
}
],
"layers": [
{"name": "sprite"}
],
"defaultAnimation": "Arrow",
"animations": {
"Arrow": {"layers": [{"layer": 0, "frames": [{"region": 0}]}]},
"Bullet": {"layers": [{"layer": 0, "frames": [{"region": 1}]}]},
"Chain": {"layers": [{"layer": 0, "frames": [{"region": 2}]}]},
"Flail Ball": {"layers": [{"layer": 0, "frames": [{"region": 3}]}]},
"Flame": {
"length": 16,
"layers": [
{
"layer": 0,
"frames": [
{"region": 4, "delay": 4},
{"region": 5, "delay": 4},
{"region": 6, "delay": 4},
{"region": 7, "delay": 4}
]
}
]
},
"Mine": {"layers": [{"layer": 0, "frames": [{"region": 8}]}]},
"Rocket": {"layers": [{"layer": 0, "frames": [{"region": 9}]}]},
"Slash": {"layers": [{"layer": 0, "frames": [{"region": 10}]}]},
"Slug": {"layers": [{"layer": 0, "frames": [{"region": 11}]}]},
"Whip Tip": {"layers": [{"layer": 0, "frames": [{"region": 12}]}]},
"Punch": {"layers": [{"layer": 0, "frames": [{"region": 13}]}]},
"Uppercut": {"layers": [{"layer": 0, "frames": [{"region": 14}]}]},
"Wisp": {
"length": 16,
"layers": [
{
"layer": 0,
"frames": [
{"region": 15, "delay": 4},
{"region": 16, "delay": 4},
{"region": 17, "delay": 4},
{"region": 18, "delay": 4}
]
}
]
},
"Grenade": {"layers": [{"layer": 0, "frames": [{"region": 19}]}]},
"Bolt": {
"length": 6,
"layers": [{"layer": 0, "frames": [{"region": 20, "delay": 3}, {"region": 21, "delay": 3}]}]
}
}
}