- 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/.
84 lines
3.7 KiB
Plaintext
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}]}]
|
|
}
|
|
}
|
|
}
|