- 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/.
132 lines
9.3 KiB
Plaintext
132 lines
9.3 KiB
Plaintext
{
|
|
"anm2ed": 1,
|
|
"info": {"fps": 60},
|
|
"spritesheets": [
|
|
{
|
|
"path": "weapon_icons.png",
|
|
"regions": [
|
|
{"name": "Fist", "size": [24, 24], "origin": "center"},
|
|
{"name": "Sword", "crop": [24, 0], "size": [24, 24], "origin": "center"},
|
|
{"name": "Hammer", "crop": [48, 0], "size": [24, 24], "origin": "center"},
|
|
{"name": "Lance", "crop": [72, 0], "size": [24, 24], "origin": "center"},
|
|
{"name": "Whip", "crop": [96, 0], "size": [24, 24], "origin": "center"},
|
|
{"name": "Flail", "crop": [0, 24], "size": [24, 24], "origin": "center"},
|
|
{"name": "Boomerang", "crop": [24, 24], "size": [24, 24], "origin": "center"},
|
|
{"name": "Grapple", "crop": [48, 24], "size": [24, 24], "origin": "center"},
|
|
{"name": "Bow", "crop": [72, 24], "size": [24, 24], "origin": "center"},
|
|
{"name": "Blaster", "crop": [96, 24], "size": [24, 24], "origin": "center"},
|
|
{"name": "Uzi", "crop": [0, 48], "size": [24, 24], "origin": "center"},
|
|
{"name": "Shotgun", "crop": [24, 48], "size": [24, 24], "origin": "center"},
|
|
{"name": "Bolter", "crop": [48, 48], "size": [24, 24], "origin": "center"},
|
|
{"name": "Rocket Launcher", "crop": [72, 48], "size": [24, 24], "origin": "center"},
|
|
{"name": "Grenade Launcher", "crop": [96, 48], "size": [24, 24], "origin": "center"},
|
|
{"name": "Mine", "crop": [0, 72], "size": [24, 24], "origin": "center"},
|
|
{"name": "Flamethrower", "crop": [24, 72], "size": [24, 24], "origin": "center"},
|
|
{"name": "Vacuum", "crop": [48, 72], "size": [24, 24], "origin": "center"},
|
|
{"name": "Grimoire", "crop": [72, 72], "size": [24, 24], "origin": "center"},
|
|
{"name": "Fist Small", "crop": [0, 96], "size": [16, 16], "origin": "center"},
|
|
{"name": "Sword Small", "crop": [16, 96], "size": [16, 16], "origin": "center"},
|
|
{"name": "Hammer Small", "crop": [32, 96], "size": [16, 16], "origin": "center"},
|
|
{"name": "Lance Small", "crop": [48, 96], "size": [16, 16], "origin": "center"},
|
|
{"name": "Whip Small", "crop": [64, 96], "size": [16, 16], "origin": "center"},
|
|
{"name": "Flail Small", "crop": [0, 112], "size": [16, 16], "origin": "center"},
|
|
{"name": "Boomerang Small", "crop": [16, 112], "size": [16, 16], "origin": "center"},
|
|
{"name": "Grapple Small", "crop": [32, 112], "size": [16, 16], "origin": "center"},
|
|
{"name": "Bow Small", "crop": [48, 112], "size": [16, 16], "origin": "center"},
|
|
{"name": "Blaster Small", "crop": [64, 112], "size": [16, 16], "origin": "center"},
|
|
{"name": "Uzi Small", "crop": [0, 128], "size": [16, 16], "origin": "center"},
|
|
{"name": "Shotgun Small", "crop": [16, 128], "size": [16, 16], "origin": "center"},
|
|
{"name": "Bolter Small", "crop": [32, 128], "size": [16, 16], "origin": "center"},
|
|
{"name": "Rocket Launcher Small", "crop": [48, 128], "size": [16, 16], "origin": "center"},
|
|
{"name": "Grenade Launcher Small", "crop": [64, 128], "size": [16, 16], "origin": "center"},
|
|
{"name": "Mine Small", "crop": [0, 144], "size": [16, 16], "origin": "center"},
|
|
{"name": "Flamethrower Small", "crop": [16, 144], "size": [16, 16], "origin": "center"},
|
|
{"name": "Vacuum Small", "crop": [32, 144], "size": [16, 16], "origin": "center"},
|
|
{"name": "Grimoire Small", "crop": [48, 144], "size": [16, 16], "origin": "center"},
|
|
{"name": "Fist Tiny", "crop": [0, 160], "size": [8, 8], "origin": "center"},
|
|
{"name": "Sword Tiny", "crop": [8, 160], "size": [8, 8], "origin": "center"},
|
|
{"name": "Hammer Tiny", "crop": [16, 160], "size": [8, 8], "origin": "center"},
|
|
{"name": "Lance Tiny", "crop": [24, 160], "size": [8, 8], "origin": "center"},
|
|
{"name": "Whip Tiny", "crop": [32, 160], "size": [8, 8], "origin": "center"},
|
|
{"name": "Flail Tiny", "crop": [0, 168], "size": [8, 8], "origin": "center"},
|
|
{"name": "Boomerang Tiny", "crop": [8, 168], "size": [8, 8], "origin": "center"},
|
|
{"name": "Grapple Tiny", "crop": [16, 168], "size": [8, 8], "origin": "center"},
|
|
{"name": "Bow Tiny", "crop": [24, 168], "size": [8, 8], "origin": "center"},
|
|
{"name": "Blaster Tiny", "crop": [32, 168], "size": [8, 8], "origin": "center"},
|
|
{"name": "Uzi Tiny", "crop": [0, 176], "size": [8, 8], "origin": "center"},
|
|
{"name": "Shotgun Tiny", "crop": [8, 176], "size": [8, 8], "origin": "center"},
|
|
{"name": "Bolter Tiny", "crop": [16, 176], "size": [8, 8], "origin": "center"},
|
|
{"name": "Rocket Launcher Tiny", "crop": [24, 176], "size": [8, 8], "origin": "center"},
|
|
{"name": "Grenade Launcher Tiny", "crop": [32, 176], "size": [8, 8], "origin": "center"},
|
|
{"name": "Mine Tiny", "crop": [0, 184], "size": [8, 8], "origin": "center"},
|
|
{"name": "Flamethrower Tiny", "crop": [8, 184], "size": [8, 8], "origin": "center"},
|
|
{"name": "Vacuum Tiny", "crop": [16, 184], "size": [8, 8], "origin": "center"},
|
|
{"name": "Grimoire Tiny", "crop": [24, 184], "size": [8, 8], "origin": "center"}
|
|
]
|
|
}
|
|
],
|
|
"layers": [
|
|
{"name": "sprite"}
|
|
],
|
|
"defaultAnimation": "Fist",
|
|
"animations": {
|
|
"Fist": {"layers": [{"layer": 0, "frames": [{"region": 0}]}]},
|
|
"Fist Small": {"layers": [{"layer": 0, "frames": [{"region": 19}]}]},
|
|
"Fist Tiny": {"layers": [{"layer": 0, "frames": [{"region": 38}]}]},
|
|
"Sword": {"layers": [{"layer": 0, "frames": [{"region": 1}]}]},
|
|
"Sword Small": {"layers": [{"layer": 0, "frames": [{"region": 20}]}]},
|
|
"Sword Tiny": {"layers": [{"layer": 0, "frames": [{"region": 39}]}]},
|
|
"Hammer": {"layers": [{"layer": 0, "frames": [{"region": 2}]}]},
|
|
"Hammer Small": {"layers": [{"layer": 0, "frames": [{"region": 21}]}]},
|
|
"Hammer Tiny": {"layers": [{"layer": 0, "frames": [{"region": 40}]}]},
|
|
"Lance": {"layers": [{"layer": 0, "frames": [{"region": 3}]}]},
|
|
"Lance Small": {"layers": [{"layer": 0, "frames": [{"region": 22}]}]},
|
|
"Lance Tiny": {"layers": [{"layer": 0, "frames": [{"region": 41}]}]},
|
|
"Whip": {"layers": [{"layer": 0, "frames": [{"region": 4}]}]},
|
|
"Whip Small": {"layers": [{"layer": 0, "frames": [{"region": 23}]}]},
|
|
"Whip Tiny": {"layers": [{"layer": 0, "frames": [{"region": 42}]}]},
|
|
"Flail": {"layers": [{"layer": 0, "frames": [{"region": 5}]}]},
|
|
"Flail Small": {"layers": [{"layer": 0, "frames": [{"region": 24}]}]},
|
|
"Flail Tiny": {"layers": [{"layer": 0, "frames": [{"region": 43}]}]},
|
|
"Boomerang": {"layers": [{"layer": 0, "frames": [{"region": 6}]}]},
|
|
"Boomerang Small": {"layers": [{"layer": 0, "frames": [{"region": 25}]}]},
|
|
"Boomerang Tiny": {"layers": [{"layer": 0, "frames": [{"region": 44}]}]},
|
|
"Grapple": {"layers": [{"layer": 0, "frames": [{"region": 7}]}]},
|
|
"Grapple Small": {"layers": [{"layer": 0, "frames": [{"region": 26}]}]},
|
|
"Grapple Tiny": {"layers": [{"layer": 0, "frames": [{"region": 45}]}]},
|
|
"Bow": {"layers": [{"layer": 0, "frames": [{"region": 8}]}]},
|
|
"Bow Small": {"layers": [{"layer": 0, "frames": [{"region": 27}]}]},
|
|
"Bow Tiny": {"layers": [{"layer": 0, "frames": [{"region": 46}]}]},
|
|
"Blaster": {"layers": [{"layer": 0, "frames": [{"region": 9}]}]},
|
|
"Blaster Small": {"layers": [{"layer": 0, "frames": [{"region": 28}]}]},
|
|
"Blaster Tiny": {"layers": [{"layer": 0, "frames": [{"region": 47}]}]},
|
|
"Uzi": {"layers": [{"layer": 0, "frames": [{"region": 10}]}]},
|
|
"Uzi Small": {"layers": [{"layer": 0, "frames": [{"region": 29}]}]},
|
|
"Uzi Tiny": {"layers": [{"layer": 0, "frames": [{"region": 48}]}]},
|
|
"Shotgun": {"layers": [{"layer": 0, "frames": [{"region": 11}]}]},
|
|
"Shotgun Small": {"layers": [{"layer": 0, "frames": [{"region": 30}]}]},
|
|
"Shotgun Tiny": {"layers": [{"layer": 0, "frames": [{"region": 49}]}]},
|
|
"Bolter": {"layers": [{"layer": 0, "frames": [{"region": 12}]}]},
|
|
"Bolter Small": {"layers": [{"layer": 0, "frames": [{"region": 31}]}]},
|
|
"Bolter Tiny": {"layers": [{"layer": 0, "frames": [{"region": 50}]}]},
|
|
"Rocket Launcher": {"layers": [{"layer": 0, "frames": [{"region": 13}]}]},
|
|
"Rocket Launcher Small": {"layers": [{"layer": 0, "frames": [{"region": 32}]}]},
|
|
"Rocket Launcher Tiny": {"layers": [{"layer": 0, "frames": [{"region": 51}]}]},
|
|
"Grenade Launcher": {"layers": [{"layer": 0, "frames": [{"region": 14}]}]},
|
|
"Grenade Launcher Small": {"layers": [{"layer": 0, "frames": [{"region": 33}]}]},
|
|
"Grenade Launcher Tiny": {"layers": [{"layer": 0, "frames": [{"region": 52}]}]},
|
|
"Mine": {"layers": [{"layer": 0, "frames": [{"region": 15}]}]},
|
|
"Mine Small": {"layers": [{"layer": 0, "frames": [{"region": 34}]}]},
|
|
"Mine Tiny": {"layers": [{"layer": 0, "frames": [{"region": 53}]}]},
|
|
"Flamethrower": {"layers": [{"layer": 0, "frames": [{"region": 16}]}]},
|
|
"Flamethrower Small": {"layers": [{"layer": 0, "frames": [{"region": 35}]}]},
|
|
"Flamethrower Tiny": {"layers": [{"layer": 0, "frames": [{"region": 54}]}]},
|
|
"Vacuum": {"layers": [{"layer": 0, "frames": [{"region": 17}]}]},
|
|
"Vacuum Small": {"layers": [{"layer": 0, "frames": [{"region": 36}]}]},
|
|
"Vacuum Tiny": {"layers": [{"layer": 0, "frames": [{"region": 55}]}]},
|
|
"Grimoire": {"layers": [{"layer": 0, "frames": [{"region": 18}]}]},
|
|
"Grimoire Small": {"layers": [{"layer": 0, "frames": [{"region": 37}]}]},
|
|
"Grimoire Tiny": {"layers": [{"layer": 0, "frames": [{"region": 56}]}]}
|
|
}
|
|
}
|