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/.
This commit is contained in:
1 parent
e55596b276
commit
e9d8cac926
101 files changed
+5787
-7148
No files matched your search
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"anm2ed": 1,
|
||||
"info": {"fps": 60},
|
||||
"spritesheets": [
|
||||
{
|
||||
"path": "fashion.png",
|
||||
"regions": [
|
||||
{"name": "Backwards Cap", "size": [32, 32], "pivot": [17, 18]},
|
||||
{"name": "Headphones", "crop": [32, 0], "size": [32, 32], "pivot": [16, 17]},
|
||||
{"name": "Hard Hat", "crop": [64, 0], "size": [32, 32], "pivot": [16, 18]},
|
||||
{"name": "Bandana", "crop": [96, 0], "size": [32, 32], "pivot": [16, 14]},
|
||||
{"name": "Bow", "crop": [128, 0], "size": [32, 32], "pivot": [14, 17]},
|
||||
{"name": "Moustache", "crop": [160, 0], "size": [32, 32], "pivot": [16, 13]},
|
||||
{"name": "Eyepatch", "crop": [0, 32], "size": [32, 32], "pivot": [15, 16]},
|
||||
{"name": "Monocle", "crop": [32, 32], "size": [32, 32], "pivot": [13, 13]},
|
||||
{"name": "Top Hat", "crop": [64, 32], "size": [32, 32], "pivot": [16, 20]},
|
||||
{"name": "Ten Gallon", "crop": [96, 32], "size": [32, 32], "pivot": [16, 17]},
|
||||
{"name": "Fez", "crop": [128, 32], "size": [32, 32], "pivot": [10, 19]},
|
||||
{"name": "Bling", "crop": [160, 32], "size": [32, 32], "pivot": [16, 14]},
|
||||
{"name": "Propeller Hat", "crop": [0, 64], "size": [32, 32], "pivot": [16, 18]},
|
||||
{"name": "Headdress", "crop": [32, 64], "size": [32, 32], "pivot": [16, 16]},
|
||||
{"name": "Bycocket", "crop": [64, 64], "size": [32, 32], "pivot": [16, 20]},
|
||||
{"name": "Crown", "crop": [96, 64], "size": [32, 32], "pivot": [15, 20]},
|
||||
{"name": "Scoop", "crop": [128, 64], "size": [32, 32], "pivot": [16, 20]},
|
||||
{"name": "Petals", "crop": [160, 64], "size": [32, 32], "pivot": [16, 15]},
|
||||
{"name": "Witch Hat", "crop": [0, 96], "size": [32, 32], "pivot": [16, 20]},
|
||||
{"name": "Knight Helmet", "crop": [32, 96], "size": [32, 32], "pivot": [16, 17]},
|
||||
{"name": "Antennae", "crop": [64, 96], "size": [32, 32], "pivot": [16, 20]},
|
||||
{"name": "Devil Horns", "crop": [96, 96], "size": [32, 32], "pivot": [16, 28]},
|
||||
{"name": "Demon Horns", "crop": [128, 96], "size": [32, 32], "pivot": [16, 16]}
|
||||
]
|
||||
}
|
||||
],
|
||||
"layers": [
|
||||
{"name": "Head"},
|
||||
{"name": "Face"},
|
||||
{"name": "Torso"}
|
||||
],
|
||||
"defaultAnimation": "Backwards Cap",
|
||||
"animations": {
|
||||
"Backwards Cap": {"layers": [{"layer": 0, "frames": [{"region": 0}]}]},
|
||||
"Headphones": {"layers": [{"layer": 1, "frames": [{"region": 1}]}]},
|
||||
"Hard Hat": {"layers": [{"layer": 0, "frames": [{"region": 2}]}]},
|
||||
"Bandana": {"layers": [{"layer": 1, "frames": [{"region": 3}]}]},
|
||||
"Bow": {"layers": [{"layer": 0, "frames": [{"region": 4}]}]},
|
||||
"Moustache": {"layers": [{"layer": 1, "frames": [{"region": 5}]}]},
|
||||
"Eyepatch": {"layers": [{"layer": 1, "frames": [{"region": 6}]}]},
|
||||
"Monocle": {"layers": [{"layer": 1, "frames": [{"region": 7}]}]},
|
||||
"Top Hat": {"layers": [{"layer": 0, "frames": [{"region": 8}]}]},
|
||||
"Ten Gallon": {"layers": [{"layer": 0, "frames": [{"region": 9}]}]},
|
||||
"Fez": {"layers": [{"layer": 0, "frames": [{"region": 10}]}]},
|
||||
"Bling": {"layers": [{"layer": 2, "frames": [{"region": 11}]}]},
|
||||
"Propeller Hat": {"layers": [{"layer": 0, "frames": [{"region": 12}]}]},
|
||||
"Headdress": {"layers": [{"layer": 0, "frames": [{"region": 13}]}]},
|
||||
"Bycocket": {"layers": [{"layer": 0, "frames": [{"region": 14}]}]},
|
||||
"Crown": {"layers": [{"layer": 0, "frames": [{"region": 15}]}]},
|
||||
"Scoop": {"layers": [{"layer": 0, "frames": [{"region": 16}]}]},
|
||||
"Petals": {"layers": [{"layer": 1, "frames": [{"region": 17}]}]},
|
||||
"Witch Hat": {"layers": [{"layer": 0, "frames": [{"region": 18}]}]},
|
||||
"Knight Helmet": {"layers": [{"layer": 1, "frames": [{"region": 19}]}]},
|
||||
"Antennae": {"layers": [{"layer": 0, "frames": [{"region": 20}]}]},
|
||||
"Devil Horns": {"layers": [{"layer": 0, "frames": [{"region": 21}]}]},
|
||||
"Demon Horns": {"layers": [{"layer": 1, "frames": [{"region": 22}]}]}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user