Files
smack-a-brother/resources/gfx/player.anm2
T
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

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]}]}]}
}
}