Files
smack-a-brother/resources/gfx/weapon_icons.anm2
T
shweetandClaude Opus 5.5 6f112ab231 HUD pass, weapon and trinket rework, and font arrows
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>
2026-11-08 16:43:45 -05:00

114 lines
7.8 KiB
Plaintext

{
"anm2ed": 1,
"info": {"fps": 60},
"spritesheets": [
{
"path": "weapon_icons.png",
"regions": [
{"name": "Sword", "crop": [0, 0], "size": [24, 24], "origin": "center"},
{"name": "Hammer", "crop": [24, 0], "size": [24, 24], "origin": "center"},
{"name": "Lance", "crop": [48, 0], "size": [24, 24], "origin": "center"},
{"name": "Fist", "crop": [72, 0], "size": [24, 24], "origin": "center"},
{"name": "Flail", "crop": [0, 24], "size": [24, 24], "origin": "center"},
{"name": "Whip", "crop": [24, 24], "size": [24, 24], "origin": "center"},
{"name": "Grapple", "crop": [48, 24], "size": [24, 24], "origin": "center"},
{"name": "Boomerang", "crop": [72, 24], "size": [24, 24], "origin": "center"},
{"name": "Bow", "crop": [0, 48], "size": [24, 24], "origin": "center"},
{"name": "Uzi", "crop": [24, 48], "size": [24, 24], "origin": "center"},
{"name": "Shotgun", "crop": [48, 48], "size": [24, 24], "origin": "center"},
{"name": "Blaster", "crop": [72, 48], "size": [24, 24], "origin": "center"},
{"name": "Flamethrower", "crop": [0, 72], "size": [24, 24], "origin": "center"},
{"name": "Rocket Launcher", "crop": [24, 72], "size": [24, 24], "origin": "center"},
{"name": "Mine", "crop": [48, 72], "size": [24, 24], "origin": "center"},
{"name": "Grimoire", "crop": [72, 72], "size": [24, 24], "origin": "center"},
{"name": "Sword Small", "crop": [0, 96], "size": [16, 16], "origin": "center"},
{"name": "Hammer Small", "crop": [16, 96], "size": [16, 16], "origin": "center"},
{"name": "Lance Small", "crop": [32, 96], "size": [16, 16], "origin": "center"},
{"name": "Fist Small", "crop": [48, 96], "size": [16, 16], "origin": "center"},
{"name": "Flail Small", "crop": [0, 112], "size": [16, 16], "origin": "center"},
{"name": "Whip Small", "crop": [16, 112], "size": [16, 16], "origin": "center"},
{"name": "Grapple Small", "crop": [32, 112], "size": [16, 16], "origin": "center"},
{"name": "Boomerang Small", "crop": [48, 112], "size": [16, 16], "origin": "center"},
{"name": "Bow Small", "crop": [0, 128], "size": [16, 16], "origin": "center"},
{"name": "Uzi Small", "crop": [16, 128], "size": [16, 16], "origin": "center"},
{"name": "Shotgun Small", "crop": [32, 128], "size": [16, 16], "origin": "center"},
{"name": "Blaster Small", "crop": [48, 128], "size": [16, 16], "origin": "center"},
{"name": "Flamethrower Small", "crop": [0, 144], "size": [16, 16], "origin": "center"},
{"name": "Rocket Launcher Small", "crop": [16, 144], "size": [16, 16], "origin": "center"},
{"name": "Mine Small", "crop": [32, 144], "size": [16, 16], "origin": "center"},
{"name": "Grimoire Small", "crop": [48, 144], "size": [16, 16], "origin": "center"},
{"name": "Sword Tiny", "crop": [0, 160], "size": [8, 8], "origin": "center"},
{"name": "Hammer Tiny", "crop": [8, 160], "size": [8, 8], "origin": "center"},
{"name": "Lance Tiny", "crop": [16, 160], "size": [8, 8], "origin": "center"},
{"name": "Fist Tiny", "crop": [24, 160], "size": [8, 8], "origin": "center"},
{"name": "Flail Tiny", "crop": [0, 168], "size": [8, 8], "origin": "center"},
{"name": "Whip Tiny", "crop": [8, 168], "size": [8, 8], "origin": "center"},
{"name": "Grapple Tiny", "crop": [16, 168], "size": [8, 8], "origin": "center"},
{"name": "Boomerang Tiny", "crop": [24, 168], "size": [8, 8], "origin": "center"},
{"name": "Bow Tiny", "crop": [0, 176], "size": [8, 8], "origin": "center"},
{"name": "Uzi Tiny", "crop": [8, 176], "size": [8, 8], "origin": "center"},
{"name": "Shotgun Tiny", "crop": [16, 176], "size": [8, 8], "origin": "center"},
{"name": "Blaster Tiny", "crop": [24, 176], "size": [8, 8], "origin": "center"},
{"name": "Flamethrower Tiny", "crop": [0, 184], "size": [8, 8], "origin": "center"},
{"name": "Rocket Launcher Tiny", "crop": [8, 184], "size": [8, 8], "origin": "center"},
{"name": "Mine Tiny", "crop": [16, 184], "size": [8, 8], "origin": "center"},
{"name": "Grimoire Tiny", "crop": [24, 184], "size": [8, 8], "origin": "center"}
]
}
],
"layers": [
{"name": "sprite"}
],
"defaultAnimation": "Sword",
"animations": {
"Sword": {"layers": [{"layer": 0, "frames": [{"region": 0}]}]},
"Hammer": {"layers": [{"layer": 0, "frames": [{"region": 1}]}]},
"Lance": {"layers": [{"layer": 0, "frames": [{"region": 2}]}]},
"Fist": {"layers": [{"layer": 0, "frames": [{"region": 3}]}]},
"Flail": {"layers": [{"layer": 0, "frames": [{"region": 4}]}]},
"Whip": {"layers": [{"layer": 0, "frames": [{"region": 5}]}]},
"Grapple": {"layers": [{"layer": 0, "frames": [{"region": 6}]}]},
"Boomerang": {"layers": [{"layer": 0, "frames": [{"region": 7}]}]},
"Bow": {"layers": [{"layer": 0, "frames": [{"region": 8}]}]},
"Uzi": {"layers": [{"layer": 0, "frames": [{"region": 9}]}]},
"Shotgun": {"layers": [{"layer": 0, "frames": [{"region": 10}]}]},
"Blaster": {"layers": [{"layer": 0, "frames": [{"region": 11}]}]},
"Flamethrower": {"layers": [{"layer": 0, "frames": [{"region": 12}]}]},
"Rocket Launcher": {"layers": [{"layer": 0, "frames": [{"region": 13}]}]},
"Mine": {"layers": [{"layer": 0, "frames": [{"region": 14}]}]},
"Grimoire": {"layers": [{"layer": 0, "frames": [{"region": 15}]}]},
"Sword Small": {"layers": [{"layer": 0, "frames": [{"region": 16}]}]},
"Hammer Small": {"layers": [{"layer": 0, "frames": [{"region": 17}]}]},
"Lance Small": {"layers": [{"layer": 0, "frames": [{"region": 18}]}]},
"Fist Small": {"layers": [{"layer": 0, "frames": [{"region": 19}]}]},
"Flail Small": {"layers": [{"layer": 0, "frames": [{"region": 20}]}]},
"Whip Small": {"layers": [{"layer": 0, "frames": [{"region": 21}]}]},
"Grapple Small": {"layers": [{"layer": 0, "frames": [{"region": 22}]}]},
"Boomerang Small": {"layers": [{"layer": 0, "frames": [{"region": 23}]}]},
"Bow Small": {"layers": [{"layer": 0, "frames": [{"region": 24}]}]},
"Uzi Small": {"layers": [{"layer": 0, "frames": [{"region": 25}]}]},
"Shotgun Small": {"layers": [{"layer": 0, "frames": [{"region": 26}]}]},
"Blaster Small": {"layers": [{"layer": 0, "frames": [{"region": 27}]}]},
"Flamethrower Small": {"layers": [{"layer": 0, "frames": [{"region": 28}]}]},
"Rocket Launcher Small": {"layers": [{"layer": 0, "frames": [{"region": 29}]}]},
"Mine Small": {"layers": [{"layer": 0, "frames": [{"region": 30}]}]},
"Grimoire Small": {"layers": [{"layer": 0, "frames": [{"region": 31}]}]},
"Sword Tiny": {"layers": [{"layer": 0, "frames": [{"region": 32}]}]},
"Hammer Tiny": {"layers": [{"layer": 0, "frames": [{"region": 33}]}]},
"Lance Tiny": {"layers": [{"layer": 0, "frames": [{"region": 34}]}]},
"Fist Tiny": {"layers": [{"layer": 0, "frames": [{"region": 35}]}]},
"Flail Tiny": {"layers": [{"layer": 0, "frames": [{"region": 36}]}]},
"Whip Tiny": {"layers": [{"layer": 0, "frames": [{"region": 37}]}]},
"Grapple Tiny": {"layers": [{"layer": 0, "frames": [{"region": 38}]}]},
"Boomerang Tiny": {"layers": [{"layer": 0, "frames": [{"region": 39}]}]},
"Bow Tiny": {"layers": [{"layer": 0, "frames": [{"region": 40}]}]},
"Uzi Tiny": {"layers": [{"layer": 0, "frames": [{"region": 41}]}]},
"Shotgun Tiny": {"layers": [{"layer": 0, "frames": [{"region": 42}]}]},
"Blaster Tiny": {"layers": [{"layer": 0, "frames": [{"region": 43}]}]},
"Flamethrower Tiny": {"layers": [{"layer": 0, "frames": [{"region": 44}]}]},
"Rocket Launcher Tiny": {"layers": [{"layer": 0, "frames": [{"region": 45}]}]},
"Mine Tiny": {"layers": [{"layer": 0, "frames": [{"region": 46}]}]},
"Grimoire Tiny": {"layers": [{"layer": 0, "frames": [{"region": 47}]}]}
}
}