HUD: - Hotbars fit a quarter of the screen, dropping to small then tiny slots (thinner outlines when tiny), with cooldown bars matching their size. - HUD elements are drawn on their own layer and composited at one opacity: hotbar slots are see-through until hovered, the rest fade while hovered. - Rival windows fit the right column in at most two rows, shrinking icons then font, then dropping icons for name, health and ping bars. - Tooltips number equipped items' slots and say Recoil for weapons that only push back. Previews use arrows, spread uses degrees. - Crosshair fills in and shakes with charge, and weapons shake after firing until their cooldown ends. DPS and speed meters off by default. Gameplay: - Dual Wield stacks: each copy fires another recently held weapon from a fanned off-hand, at its own level's cut. - Flamethrower: no slowing, smaller fireball with some recoil, and an airblast that knocks others away. - Iron Weights slam on any landing faster than a plain fall (platforms too), stacking radius and damage, and speeding fast falls. - Stuck arrows are one-way ledges until they fade, matching their (slightly larger) hit size. Attacks now collide with slopes. - Halved Tesla Coil, Recoil Coil, Diazepam, Shock Absorber, Feather and screenshake values. Art and tools: - Weapon and trinket icons merged into one sheet each (normal, small, tiny), cells in catalog order. Grimoire wisps stand upright. - Fonts gain the degree sign and four arrows, decoded from UTF-8. - Menu fighter preview walks at quarter speed. - Unequip from either catalog tab by right click or gamepad. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
104 lines
3.8 KiB
Plaintext
104 lines
3.8 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"}
|
|
],
|
|
"defaultAnimation": "Idle",
|
|
"animations": {
|
|
"Idle": {"layers": [{"layer": 0, "frames": [{"region": 0}]}]},
|
|
"Walk Left": {
|
|
"length": 4,
|
|
"layers": [
|
|
{
|
|
"layer": 0,
|
|
"frames": [
|
|
{"region": 1, "interpolation": "linear"},
|
|
{"region": 2, "interpolation": "linear"},
|
|
{"region": 3, "interpolation": "linear"},
|
|
{"region": 4, "interpolation": "linear"}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"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"}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"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"}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"Jump": {"layers": [{"layer": 0, "frames": [{"region": 5}]}]},
|
|
"Fall": {"layers": [{"layer": 0, "frames": [{"region": 6}]}]},
|
|
"Slide": {"layers": [{"layer": 0, "frames": [{"region": 7}]}]},
|
|
"Kick": {"layers": [{"layer": 0, "frames": [{"region": 8}]}]},
|
|
"Hurt": {"layers": [{"layer": 0, "frames": [{"region": 9}]}]},
|
|
"Crouch": {"layers": [{"layer": 0, "frames": [{"region": 10}]}]},
|
|
"Roll": {"layers": [{"layer": 0, "frames": [{"region": 11}]}]},
|
|
"Crawl Left": {
|
|
"length": 4,
|
|
"layers": [
|
|
{"layer": 0, "frames": [{"region": 12}, {"region": 13}, {"region": 14}, {"region": 15}]}
|
|
]
|
|
},
|
|
"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]}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|