- 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/.
52 lines
6.6 KiB
Plaintext
52 lines
6.6 KiB
Plaintext
{
|
|
"anm2ed": 1,
|
|
"info": {},
|
|
"spritesheets": [
|
|
{
|
|
"path": "player.png",
|
|
"regions": [
|
|
{"name": "Idle", "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Walk 1", "crop": [16, 0], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Walk 2", "crop": [32, 0], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Walk 3", "crop": [48, 0], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Walk 4", "crop": [64, 0], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Jump", "crop": [0, 32], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Fall", "crop": [16, 32], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Slide", "crop": [32, 32], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Kick", "crop": [48, 32], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Hurt", "crop": [64, 32], "size": [16, 32], "pivot": [8, 20]},
|
|
{"name": "Crouch", "crop": [0, 64], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Roll", "crop": [0, 64], "size": [16, 32], "pivot": [8, 22]},
|
|
{"name": "Crawl 1", "crop": [16, 64], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Crawl 2", "crop": [32, 64], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Crawl 3", "crop": [48, 64], "size": [16, 32], "pivot": [8, 32]},
|
|
{"name": "Crawl 4", "crop": [64, 64], "size": [16, 32], "pivot": [8, 32]}
|
|
]
|
|
}
|
|
],
|
|
"layers": [
|
|
{"name": "sprite"}
|
|
],
|
|
"nulls": [
|
|
{"name": "Head"},
|
|
{"name": "Face"},
|
|
{"name": "Torso"}
|
|
],
|
|
"defaultAnimation": "Idle",
|
|
"animations": {
|
|
"Idle": {"layers": [{"layer": 0, "frames": [{"region": 0}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -22]}]}, {"null": 1, "frames": [{"pos": [0, -19]}]}, {"null": 2, "frames": [{"pos": [0, -11]}]}]},
|
|
"Walk Left": {"length": 4, "layers": [{"layer": 0, "frames": [{"region": 1, "interpolation": "linear"}, {"region": 2, "interpolation": "linear"}, {"region": 3, "interpolation": "linear"}, {"region": 4, "interpolation": "linear"}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -22], "scale": [-100, 100]}, {"pos": [0, -23], "scale": [-100, 100]}, {"pos": [0, -22], "scale": [-100, 100]}, {"pos": [0, -21], "scale": [-100, 100]}]}, {"null": 1, "frames": [{"pos": [0, -19], "scale": [-100, 100]}, {"pos": [0, -20], "scale": [-100, 100]}, {"pos": [0, -19], "scale": [-100, 100]}, {"pos": [0, -18], "scale": [-100, 100]}]}, {"null": 2, "frames": [{"pos": [0, -11], "scale": [-100, 100]}, {"pos": [0, -11], "scale": [-100, 100]}, {"pos": [0, -11], "scale": [-100, 100]}, {"pos": [0, -10], "scale": [-100, 100]}]}]},
|
|
"Walk Right": {"length": 4, "layers": [{"layer": 0, "frames": [{"region": 1, "scale": [-100, 100], "interpolation": "linear"}, {"region": 2, "scale": [-100, 100], "interpolation": "linear"}, {"region": 3, "scale": [-100, 100], "interpolation": "linear"}, {"region": 4, "scale": [-100, 100], "interpolation": "linear"}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -22]}, {"pos": [0, -23]}, {"pos": [0, -22]}, {"pos": [0, -21]}]}, {"null": 1, "frames": [{"pos": [0, -19]}, {"pos": [0, -20]}, {"pos": [0, -19]}, {"pos": [0, -18]}]}, {"null": 2, "frames": [{"pos": [0, -11]}, {"pos": [0, -11]}, {"pos": [0, -11]}, {"pos": [0, -10]}]}]},
|
|
"Preview": {"length": 16, "layers": [{"layer": 0, "frames": [{"region": 1, "scale": [-100, 100], "delay": 4, "interpolation": "linear"}, {"region": 2, "scale": [-100, 100], "delay": 4, "interpolation": "linear"}, {"region": 3, "scale": [-100, 100], "delay": 4, "interpolation": "linear"}, {"region": 4, "scale": [-100, 100], "delay": 4, "interpolation": "linear"}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -22], "delay": 4}, {"pos": [0, -23], "delay": 4}, {"pos": [0, -22], "delay": 4}, {"pos": [0, -21], "delay": 4}]}, {"null": 1, "frames": [{"pos": [0, -19], "delay": 4}, {"pos": [0, -20], "delay": 4}, {"pos": [0, -19], "delay": 4}, {"pos": [0, -18], "delay": 4}]}, {"null": 2, "frames": [{"pos": [0, -11], "delay": 4}, {"pos": [0, -11], "delay": 4}, {"pos": [0, -11], "delay": 4}, {"pos": [0, -10], "delay": 4}]}]},
|
|
"Jump": {"layers": [{"layer": 0, "frames": [{"region": 5}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -22]}]}, {"null": 1, "frames": [{"pos": [0, -19]}]}, {"null": 2, "frames": [{"pos": [0, -12]}]}]},
|
|
"Fall": {"layers": [{"layer": 0, "frames": [{"region": 6}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -22]}]}, {"null": 1, "frames": [{"pos": [0, -19]}]}, {"null": 2, "frames": [{"pos": [0, -11]}]}]},
|
|
"Slide": {"layers": [{"layer": 0, "frames": [{"region": 7}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -22]}]}, {"null": 1, "frames": [{"pos": [0, -19]}]}, {"null": 2, "frames": [{"pos": [0, -11]}]}]},
|
|
"Kick": {"layers": [{"layer": 0, "frames": [{"region": 8}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -22]}]}, {"null": 1, "frames": [{"pos": [0, -19]}]}, {"null": 2, "frames": [{"pos": [0, -11]}]}]},
|
|
"Hurt": {"layers": [{"layer": 0, "frames": [{"region": 9}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -10]}]}, {"null": 1, "frames": [{"pos": [0, -7]}]}, {"null": 2, "frames": [{"pos": [0, 0]}]}]},
|
|
"Crouch": {"layers": [{"layer": 0, "frames": [{"region": 10}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -15]}]}, {"null": 1, "frames": [{"pos": [0, -13]}]}, {"null": 2, "frames": [{"pos": [0, -8]}]}]},
|
|
"Roll": {"layers": [{"layer": 0, "frames": [{"region": 11}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -5]}]}, {"null": 1, "frames": [{"pos": [0, -3]}]}, {"null": 2, "frames": [{"pos": [0, 2]}]}]},
|
|
"Crawl Left": {"length": 4, "layers": [{"layer": 0, "frames": [{"region": 12}, {"region": 13}, {"region": 14}, {"region": 15}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -15], "scale": [-100, 100]}, {"pos": [0, -15], "scale": [-100, 100]}, {"pos": [0, -15], "scale": [-100, 100]}, {"pos": [0, -15], "scale": [-100, 100]}]}, {"null": 1, "frames": [{"pos": [0, -13], "scale": [-100, 100]}, {"pos": [0, -13], "scale": [-100, 100]}, {"pos": [0, -13], "scale": [-100, 100]}, {"pos": [0, -13], "scale": [-100, 100]}]}, {"null": 2, "frames": [{"pos": [0, -8], "scale": [-100, 100]}, {"pos": [0, -8], "scale": [-100, 100]}, {"pos": [0, -8], "scale": [-100, 100]}, {"pos": [0, -8], "scale": [-100, 100]}]}]},
|
|
"Crawl Right": {"length": 4, "layers": [{"layer": 0, "frames": [{"region": 12, "scale": [-100, 100]}, {"region": 13, "scale": [-100, 100]}, {"region": 14, "scale": [-100, 100]}, {"region": 15, "scale": [-100, 100]}]}], "nulls": [{"null": 0, "frames": [{"pos": [0, -15]}, {"pos": [0, -15]}, {"pos": [0, -15]}, {"pos": [0, -15]}]}, {"null": 1, "frames": [{"pos": [0, -13]}, {"pos": [0, -13]}, {"pos": [0, -13]}, {"pos": [0, -13]}]}, {"null": 2, "frames": [{"pos": [0, -8]}, {"pos": [0, -8]}, {"pos": [0, -8]}, {"pos": [0, -8]}]}]}
|
|
}
|
|
}
|