From aea1d0db318c973eea2c6fa0f1ba7accf23f1c17 Mon Sep 17 00:00:00 2001 From: BotTony329 <75003862+BotTony329@users.noreply.github.com> Date: Sun, 2 Aug 2026 17:12:35 +1000 Subject: [PATCH] [Art V2][WorkBuddy] Deliver Steam Alpha character and combat art Full procedural pixel-art redesign (no V1 asset reuse). Fixes V1 failure modes: distinct silhouettes, telegraphed attacks (startup/active/recovery), stable foot baseline, consistent weapon, no near-duplicate frames. - 5 characters fully animated (player, melee ghost, ghost archer, corpse beast, gate warden boss): 37 sprite sheets at 96/96/128x96/192 px. - 10 weapon/stat icons (64x64), ghost-fire arrow projectile (32x32), 4 combat effect sheets (blade slash / hit / ghost fire / death dissolve). - Per-character frame_map.json (phases, pivot, foot, projectile/charge frames), metadata.md, and ready-to-load SpriteFrames .tres (assets_v2/godot). - Design bible (concept front/side/back, silhouette, palette, contact sheet) per character; scale + silhouette comparison sheets. - 10 automated quality checks (all hard checks pass), review GIFs, gameplay scale preview, and ART_V2_REVIEW_REPORT.md. - GODOT_IMPORT_GUIDE.md for Codex wiring. Branch: workbuddy/art-v2-steam-alpha (PR to develop, not merged). --- assets_v2/.gitignore | 2 + assets_v2/GODOT_IMPORT_GUIDE.md | 174 ++++++ .../characters/corpse_beast/concept_back.png | Bin 0 -> 1230 bytes .../characters/corpse_beast/concept_front.png | Bin 0 -> 1265 bytes .../characters/corpse_beast/concept_side.png | Bin 0 -> 1454 bytes .../characters/corpse_beast/contact_sheet.png | Bin 0 -> 37402 bytes .../corpse_beast/corpse_beast_charge.png | Bin 0 -> 3179 bytes .../corpse_beast_charge_windup.png | Bin 0 -> 4627 bytes .../corpse_beast/corpse_beast_death.png | Bin 0 -> 6019 bytes .../corpse_beast/corpse_beast_hurt.png | Bin 0 -> 2763 bytes .../corpse_beast/corpse_beast_idle.png | Bin 0 -> 3677 bytes .../corpse_beast/corpse_beast_run.png | Bin 0 -> 5463 bytes .../corpse_beast/corpse_beast_wall_impact.png | Bin 0 -> 2976 bytes .../characters/corpse_beast/frame_map.json | 211 ++++++++ assets_v2/characters/corpse_beast/metadata.md | 19 + assets_v2/characters/corpse_beast/palette.png | Bin 0 -> 3784 bytes .../characters/corpse_beast/silhouette.png | Bin 0 -> 489 bytes .../characters/gate_warden/concept_back.png | Bin 0 -> 2797 bytes .../characters/gate_warden/concept_front.png | Bin 0 -> 2822 bytes .../characters/gate_warden/concept_side.png | Bin 0 -> 3005 bytes .../characters/gate_warden/contact_sheet.png | Bin 0 -> 106344 bytes .../characters/gate_warden/frame_map.json | 195 +++++++ .../gate_warden/gate_warden_attack_1.png | Bin 0 -> 20002 bytes .../gate_warden/gate_warden_attack_2.png | Bin 0 -> 22124 bytes .../gate_warden/gate_warden_death.png | Bin 0 -> 23026 bytes .../gate_warden/gate_warden_hurt.png | Bin 0 -> 7705 bytes .../gate_warden/gate_warden_idle.png | Bin 0 -> 10546 bytes .../gate_warden/gate_warden_walk.png | Bin 0 -> 11193 bytes assets_v2/characters/gate_warden/metadata.md | 18 + assets_v2/characters/gate_warden/palette.png | Bin 0 -> 7941 bytes .../characters/gate_warden/silhouette.png | Bin 0 -> 933 bytes .../characters/ghost_archer/concept_back.png | Bin 0 -> 1898 bytes .../characters/ghost_archer/concept_front.png | Bin 0 -> 1881 bytes .../characters/ghost_archer/concept_side.png | Bin 0 -> 2026 bytes .../characters/ghost_archer/contact_sheet.png | Bin 0 -> 41144 bytes .../characters/ghost_archer/frame_map.json | 182 +++++++ .../ghost_archer/ghost_archer_aim.png | Bin 0 -> 6035 bytes .../ghost_archer/ghost_archer_death.png | Bin 0 -> 8085 bytes .../ghost_archer/ghost_archer_hurt.png | Bin 0 -> 4765 bytes .../ghost_archer/ghost_archer_idle.png | Bin 0 -> 4722 bytes .../ghost_archer/ghost_archer_retreat.png | Bin 0 -> 5965 bytes .../ghost_archer/ghost_archer_shoot.png | Bin 0 -> 4852 bytes assets_v2/characters/ghost_archer/metadata.md | 18 + assets_v2/characters/ghost_archer/palette.png | Bin 0 -> 7970 bytes .../characters/ghost_archer/silhouette.png | Bin 0 -> 647 bytes .../characters/melee_ghost/concept_back.png | Bin 0 -> 1668 bytes .../characters/melee_ghost/concept_front.png | Bin 0 -> 1652 bytes .../characters/melee_ghost/concept_side.png | Bin 0 -> 1735 bytes .../characters/melee_ghost/contact_sheet.png | Bin 0 -> 33765 bytes .../characters/melee_ghost/frame_map.json | 153 ++++++ .../melee_ghost/melee_ghost_attack.png | Bin 0 -> 6832 bytes .../melee_ghost/melee_ghost_death.png | Bin 0 -> 7755 bytes .../melee_ghost/melee_ghost_hurt.png | Bin 0 -> 4142 bytes .../melee_ghost/melee_ghost_idle.png | Bin 0 -> 4479 bytes .../melee_ghost/melee_ghost_walk.png | Bin 0 -> 5372 bytes assets_v2/characters/melee_ghost/metadata.md | 17 + assets_v2/characters/melee_ghost/palette.png | Bin 0 -> 6888 bytes .../characters/melee_ghost/silhouette.png | Bin 0 -> 529 bytes assets_v2/characters/player/concept_back.png | Bin 0 -> 1560 bytes assets_v2/characters/player/concept_front.png | Bin 0 -> 1541 bytes assets_v2/characters/player/concept_side.png | Bin 0 -> 1659 bytes assets_v2/characters/player/contact_sheet.png | Bin 0 -> 66779 bytes assets_v2/characters/player/frame_map.json | 277 ++++++++++ assets_v2/characters/player/metadata.md | 21 + assets_v2/characters/player/palette.png | Bin 0 -> 6842 bytes assets_v2/characters/player/player_death.png | Bin 0 -> 9223 bytes assets_v2/characters/player/player_fall.png | Bin 0 -> 3277 bytes .../characters/player/player_heavy_attack.png | Bin 0 -> 9514 bytes assets_v2/characters/player/player_hurt.png | Bin 0 -> 3676 bytes assets_v2/characters/player/player_idle.png | Bin 0 -> 5201 bytes assets_v2/characters/player/player_jump.png | Bin 0 -> 3782 bytes .../player/player_light_attack_1.png | Bin 0 -> 7822 bytes .../player/player_light_attack_2.png | Bin 0 -> 7553 bytes assets_v2/characters/player/player_run.png | Bin 0 -> 6128 bytes assets_v2/characters/player/silhouette.png | Bin 0 -> 500 bytes assets_v2/effects/blade_slash.png | Bin 0 -> 2813 bytes assets_v2/effects/death_dissolve.png | Bin 0 -> 4545 bytes assets_v2/effects/ghost_fire.png | Bin 0 -> 1268 bytes assets_v2/effects/hit.png | Bin 0 -> 2714 bytes assets_v2/godot/corpse_beast_frames.tres | 329 ++++++++++++ assets_v2/godot/gate_warden_frames.tres | 421 +++++++++++++++ assets_v2/godot/ghost_archer_frames.tres | 295 +++++++++++ assets_v2/godot/melee_ghost_frames.tres | 275 ++++++++++ assets_v2/godot/player_frames.tres | 495 ++++++++++++++++++ assets_v2/icons/icon_coin.png | Bin 0 -> 568 bytes assets_v2/icons/icon_flag.png | Bin 0 -> 514 bytes assets_v2/icons/icon_ghostfire.png | Bin 0 -> 514 bytes assets_v2/icons/icon_gourd.png | Bin 0 -> 591 bytes assets_v2/icons/icon_obsession.png | Bin 0 -> 767 bytes assets_v2/icons/icon_qi.png | Bin 0 -> 506 bytes assets_v2/icons/icon_songdao.png | Bin 0 -> 500 bytes assets_v2/icons/icon_spear.png | Bin 0 -> 477 bytes assets_v2/icons/icon_talisman.png | Bin 0 -> 274 bytes assets_v2/icons/icon_yang.png | Bin 0 -> 576 bytes assets_v2/projectiles/ghost_fire_arrow.png | Bin 0 -> 416 bytes assets_v2/review/ART_V2_REVIEW_REPORT.md | 39 ++ assets_v2/review/anim_boss.gif | Bin 0 -> 87613 bytes assets_v2/review/anim_enemies_archer.gif | Bin 0 -> 18216 bytes assets_v2/review/anim_enemies_beast.gif | Bin 0 -> 16131 bytes assets_v2/review/anim_enemies_melee.gif | Bin 0 -> 23892 bytes assets_v2/review/anim_player.gif | Bin 0 -> 37888 bytes .../review/character_scale_comparison.png | Bin 0 -> 13333 bytes assets_v2/review/gameplay_scale_preview.png | Bin 0 -> 12894 bytes assets_v2/review/quality_report.json | 122 +++++ assets_v2/review/silhouette_comparison.png | Bin 0 -> 3639 bytes assets_v2/tools/.gdignore | 1 + assets_v2/tools/beast.py | 128 +++++ assets_v2/tools/build_boss.py | 131 +++++ assets_v2/tools/build_corpse_beast.py | 130 +++++ assets_v2/tools/build_design_bible.py | 184 +++++++ assets_v2/tools/build_effects.py | 109 ++++ assets_v2/tools/build_ghost_archer.py | 109 ++++ assets_v2/tools/build_icons.py | 217 ++++++++ assets_v2/tools/build_melee_ghost.py | 103 ++++ assets_v2/tools/build_player.py | 155 ++++++ assets_v2/tools/build_projectiles.py | 45 ++ assets_v2/tools/gen_metadata.py | 201 +++++++ assets_v2/tools/humanoid.py | 379 ++++++++++++++ assets_v2/tools/pixel_engine.py | 142 +++++ assets_v2/tools/quality_checks.py | 382 ++++++++++++++ 120 files changed, 5679 insertions(+) create mode 100644 assets_v2/.gitignore create mode 100644 assets_v2/GODOT_IMPORT_GUIDE.md create mode 100644 assets_v2/characters/corpse_beast/concept_back.png create mode 100644 assets_v2/characters/corpse_beast/concept_front.png create mode 100644 assets_v2/characters/corpse_beast/concept_side.png create mode 100644 assets_v2/characters/corpse_beast/contact_sheet.png create mode 100644 assets_v2/characters/corpse_beast/corpse_beast_charge.png create mode 100644 assets_v2/characters/corpse_beast/corpse_beast_charge_windup.png create mode 100644 assets_v2/characters/corpse_beast/corpse_beast_death.png create mode 100644 assets_v2/characters/corpse_beast/corpse_beast_hurt.png create mode 100644 assets_v2/characters/corpse_beast/corpse_beast_idle.png create mode 100644 assets_v2/characters/corpse_beast/corpse_beast_run.png create mode 100644 assets_v2/characters/corpse_beast/corpse_beast_wall_impact.png create mode 100644 assets_v2/characters/corpse_beast/frame_map.json create mode 100644 assets_v2/characters/corpse_beast/metadata.md create mode 100644 assets_v2/characters/corpse_beast/palette.png create mode 100644 assets_v2/characters/corpse_beast/silhouette.png create mode 100644 assets_v2/characters/gate_warden/concept_back.png create mode 100644 assets_v2/characters/gate_warden/concept_front.png create mode 100644 assets_v2/characters/gate_warden/concept_side.png create mode 100644 assets_v2/characters/gate_warden/contact_sheet.png create mode 100644 assets_v2/characters/gate_warden/frame_map.json create mode 100644 assets_v2/characters/gate_warden/gate_warden_attack_1.png create mode 100644 assets_v2/characters/gate_warden/gate_warden_attack_2.png create mode 100644 assets_v2/characters/gate_warden/gate_warden_death.png create mode 100644 assets_v2/characters/gate_warden/gate_warden_hurt.png create mode 100644 assets_v2/characters/gate_warden/gate_warden_idle.png create mode 100644 assets_v2/characters/gate_warden/gate_warden_walk.png create mode 100644 assets_v2/characters/gate_warden/metadata.md create mode 100644 assets_v2/characters/gate_warden/palette.png create mode 100644 assets_v2/characters/gate_warden/silhouette.png create mode 100644 assets_v2/characters/ghost_archer/concept_back.png create mode 100644 assets_v2/characters/ghost_archer/concept_front.png create mode 100644 assets_v2/characters/ghost_archer/concept_side.png create mode 100644 assets_v2/characters/ghost_archer/contact_sheet.png create mode 100644 assets_v2/characters/ghost_archer/frame_map.json create mode 100644 assets_v2/characters/ghost_archer/ghost_archer_aim.png create mode 100644 assets_v2/characters/ghost_archer/ghost_archer_death.png create mode 100644 assets_v2/characters/ghost_archer/ghost_archer_hurt.png create mode 100644 assets_v2/characters/ghost_archer/ghost_archer_idle.png create mode 100644 assets_v2/characters/ghost_archer/ghost_archer_retreat.png create mode 100644 assets_v2/characters/ghost_archer/ghost_archer_shoot.png create mode 100644 assets_v2/characters/ghost_archer/metadata.md create mode 100644 assets_v2/characters/ghost_archer/palette.png create mode 100644 assets_v2/characters/ghost_archer/silhouette.png create mode 100644 assets_v2/characters/melee_ghost/concept_back.png create mode 100644 assets_v2/characters/melee_ghost/concept_front.png create mode 100644 assets_v2/characters/melee_ghost/concept_side.png create mode 100644 assets_v2/characters/melee_ghost/contact_sheet.png create mode 100644 assets_v2/characters/melee_ghost/frame_map.json create mode 100644 assets_v2/characters/melee_ghost/melee_ghost_attack.png create mode 100644 assets_v2/characters/melee_ghost/melee_ghost_death.png create mode 100644 assets_v2/characters/melee_ghost/melee_ghost_hurt.png create mode 100644 assets_v2/characters/melee_ghost/melee_ghost_idle.png create mode 100644 assets_v2/characters/melee_ghost/melee_ghost_walk.png create mode 100644 assets_v2/characters/melee_ghost/metadata.md create mode 100644 assets_v2/characters/melee_ghost/palette.png create mode 100644 assets_v2/characters/melee_ghost/silhouette.png create mode 100644 assets_v2/characters/player/concept_back.png create mode 100644 assets_v2/characters/player/concept_front.png create mode 100644 assets_v2/characters/player/concept_side.png create mode 100644 assets_v2/characters/player/contact_sheet.png create mode 100644 assets_v2/characters/player/frame_map.json create mode 100644 assets_v2/characters/player/metadata.md create mode 100644 assets_v2/characters/player/palette.png create mode 100644 assets_v2/characters/player/player_death.png create mode 100644 assets_v2/characters/player/player_fall.png create mode 100644 assets_v2/characters/player/player_heavy_attack.png create mode 100644 assets_v2/characters/player/player_hurt.png create mode 100644 assets_v2/characters/player/player_idle.png create mode 100644 assets_v2/characters/player/player_jump.png create mode 100644 assets_v2/characters/player/player_light_attack_1.png create mode 100644 assets_v2/characters/player/player_light_attack_2.png create mode 100644 assets_v2/characters/player/player_run.png create mode 100644 assets_v2/characters/player/silhouette.png create mode 100644 assets_v2/effects/blade_slash.png create mode 100644 assets_v2/effects/death_dissolve.png create mode 100644 assets_v2/effects/ghost_fire.png create mode 100644 assets_v2/effects/hit.png create mode 100644 assets_v2/godot/corpse_beast_frames.tres create mode 100644 assets_v2/godot/gate_warden_frames.tres create mode 100644 assets_v2/godot/ghost_archer_frames.tres create mode 100644 assets_v2/godot/melee_ghost_frames.tres create mode 100644 assets_v2/godot/player_frames.tres create mode 100644 assets_v2/icons/icon_coin.png create mode 100644 assets_v2/icons/icon_flag.png create mode 100644 assets_v2/icons/icon_ghostfire.png create mode 100644 assets_v2/icons/icon_gourd.png create mode 100644 assets_v2/icons/icon_obsession.png create mode 100644 assets_v2/icons/icon_qi.png create mode 100644 assets_v2/icons/icon_songdao.png create mode 100644 assets_v2/icons/icon_spear.png create mode 100644 assets_v2/icons/icon_talisman.png create mode 100644 assets_v2/icons/icon_yang.png create mode 100644 assets_v2/projectiles/ghost_fire_arrow.png create mode 100644 assets_v2/review/ART_V2_REVIEW_REPORT.md create mode 100644 assets_v2/review/anim_boss.gif create mode 100644 assets_v2/review/anim_enemies_archer.gif create mode 100644 assets_v2/review/anim_enemies_beast.gif create mode 100644 assets_v2/review/anim_enemies_melee.gif create mode 100644 assets_v2/review/anim_player.gif create mode 100644 assets_v2/review/character_scale_comparison.png create mode 100644 assets_v2/review/gameplay_scale_preview.png create mode 100644 assets_v2/review/quality_report.json create mode 100644 assets_v2/review/silhouette_comparison.png create mode 100644 assets_v2/tools/.gdignore create mode 100644 assets_v2/tools/beast.py create mode 100644 assets_v2/tools/build_boss.py create mode 100644 assets_v2/tools/build_corpse_beast.py create mode 100644 assets_v2/tools/build_design_bible.py create mode 100644 assets_v2/tools/build_effects.py create mode 100644 assets_v2/tools/build_ghost_archer.py create mode 100644 assets_v2/tools/build_icons.py create mode 100644 assets_v2/tools/build_melee_ghost.py create mode 100644 assets_v2/tools/build_player.py create mode 100644 assets_v2/tools/build_projectiles.py create mode 100644 assets_v2/tools/gen_metadata.py create mode 100644 assets_v2/tools/humanoid.py create mode 100644 assets_v2/tools/pixel_engine.py create mode 100644 assets_v2/tools/quality_checks.py diff --git a/assets_v2/.gitignore b/assets_v2/.gitignore new file mode 100644 index 0000000..7a60b85 --- /dev/null +++ b/assets_v2/.gitignore @@ -0,0 +1,2 @@ +__pycache__/ +*.pyc diff --git a/assets_v2/GODOT_IMPORT_GUIDE.md b/assets_v2/GODOT_IMPORT_GUIDE.md new file mode 100644 index 0000000..106a8f7 --- /dev/null +++ b/assets_v2/GODOT_IMPORT_GUIDE.md @@ -0,0 +1,174 @@ +# Nine Nether — V2 (Steam Alpha) Art: Godot Import Guide + +This guide is for **Codex** (or any engineer) wiring the V2 art set into the +Godot 4 project. The V2 set is a **full redesign** — do **not** reuse any +`assets/` (V1) sprites. V1 failed because characters shared body templates and +only differed by colour/weapon swaps, animations had near-invisible amplitude, +and there was no attack telegraph or silhouette variety. V2 fixes all of that. + +--- + +## 1. Where things are + +``` +assets_v2/ + characters/ + player/ player_*.png (96×96 / frame) + melee_ghost/ melee_ghost_*.png (96×96 / frame) + ghost_archer/ ghost_archer_*.png (96×96 / frame) + corpse_beast/ corpse_beast_*.png (128×96 / frame) + gate_warden/ gate_warden_*.png (192×192 / frame) + └ each dir also has: concept_front/side/back.png, silhouette.png, + palette.png, contact_sheet.png, frame_map.json, metadata.md + icons/ icon_*.png (64×64, weapon/stat HUD icons) + projectiles/ ghost_fire_arrow.png (32×32) + effects/ blade_slash / hit / ghost_fire / death_dissolve (see sizes below) + godot/ _frames.tres (SpriteFrames resources, ready to load) + review/ character_scale_comparison.png, silhouette_comparison.png + tools/ procedural generators (PIL) + gen_metadata.py + GODOT_IMPORT_GUIDE.md +``` + +All sprite sheets are **horizontal strips** with `frames` cells left→right, +frame size as listed. Transparent background (RGBA). No anti-aliasing, no blur. + +--- + +## 2. Import settings (critical) + +For **every** PNG under `assets_v2/`: + +- **Import as `Texture2D`** (default). +- In the `Import` dock: + - **Filter:** `Nearest` (disable `Filter` / linear filtering). + - **Mipmaps:** off. + - **Compress:** keep (or `Compress > Mode = Lossless` if you see banding). + - **Detect 3D:** off. +- Click **Reimport**. +- Do **not** enable `repeat`/`repeat_enable` on character sheets (you crop via AtlasTexture regions, see §4). + +The game viewport is **640×360**, displayed at **1280×720** with integer +scaling — nearest-neighbour keeps pixels crisp. + +--- + +## 3. Effects & projectiles (sizes) + +| File | Size | Frames | Loop | Use | +|---|---|---|---|---| +| `effects/blade_slash.png` | 128×128 | 6 | no | melee hit VFX | +| `effects/hit.png` | 96×96 | 4 | no | generic impact | +| `effects/ghost_fire.png` | 64×64 | 8 | **yes** | ambient / emitter | +| `effects/death_dissolve.png` | 96×96 | 8 | no | death VFX | +| `projectiles/ghost_fire_arrow.png` | 32×32 | 1 | n/a | archer projectile (points RIGHT; flip in-engine for left) | + +These are separate textures (not SpriteFrames) — use `AnimatedSprite2D` or +manual `region` animation, or just `Sprite2D` with a script stepping `region_rect`. + +--- + +## 4. SpriteFrames resources (ready to use) + +`assets_v2/godot/_frames.tres` are **pre-generated** `SpriteFrames` +resources. Each animation is a list of `AtlasTexture` sub-resources cropping +`Rect2(frame*fw, 0, fw, fh)` from the character's sheet — identical pattern to +V1's `actors/enemies/ghost_archer_frames.tres`. + +To use, in your actor scene: + +```gdscript +# Player example +@onready var sprite: AnimatedSprite2D = $Sprite +func _ready(): + sprite.sprite_frames = load("res://assets_v2/godot/player_frames.tres") + +func play_idle(): sprite.play("player_idle") +func play_attack(): sprite.play("player_light_attack_1") +``` + +Animation names == the sheet file stems (e.g. `player_light_attack_1`, +`gate_warden_attack_2`, `corpse_beast_charge_windup`). Full list per character +is in `assets_v2/characters//frame_map.json` and `metadata.md`. + +If you change a sheet's frame count, **re-run** `python3 +assets_v2/tools/gen_metadata.py` to regenerate the `.tres` (it asserts sheet +size == `frames*fw × fh`). + +--- + +## 5. Hitbox / timing sync via frame_map.json + +Every character dir has `frame_map.json` with, per animation: + +```json +{ + "phases": { "startup": [0,1,2,3], "active": [4,5], "recovery": [6,7] }, + "pivot": [48, 66], + "foot_position": [48, 88], + "projectile_release_frame": null, // ghost_archer_shoot -> 1 + "charge_ready_frame": null // corpse_beast_charge_windup -> 5 +} +``` + +- **`active`** = frames the hitbox / damage window should be ON. +- **`startup`** = telegraph (wind-up) — show a tell, no damage. +- **`recovery`** = can't act, vulnerable. +- **`projectile_release_frame`** = spawn the ghost arrow on this frame + (ghost_archer_shoot = 1). +- **`pivot`** / **`foot_position`** = anchor the `AnimatedSprite2D` so the + character's feet sit on the ground; offset the sprite via `centered = false` + + `offset = -pivot` (or set `Sprite2D.offset`). + +Example (player light attack 1): enable `Hitbox.monitoring` on frames 4–5, +disable otherwise. + +--- + +## 6. AnimatedSprite2D offset (foot alignment) + +Because the art is drawn with the feet near the bottom of the frame, set: +`centered = false`, and `offset = Vector2(-pivot.x, -foot_position.y)` so the +character's foot baseline lands on the node's origin. Per-character values: + +| Character | frame | pivot | foot_y | +|---|---|---|---| +| player | 96×96 | (48,66) | 88 | +| melee_ghost | 96×96 | (48,70) | 90 | +| ghost_archer | 96×96 | (48,64) | 88 | +| corpse_beast | 128×96 | (64,58) | 86 | +| gate_warden | 192×192 | (96,128) | 176 | + +--- + +## 7. Regenerating the art + +From the repo root (Python 3.12 w/ Pillow required): + +```bash +python3 assets_v2/tools/build_player.py +python3 assets_v2/tools/build_melee_ghost.py +python3 assets_v2/tools/build_ghost_archer.py +python3 assets_v2/tools/build_boss.py +python3 assets_v2/tools/build_corpse_beast.py +python3 assets_v2/tools/build_icons.py +python3 assets_v2/tools/build_projectiles.py +python3 assets_v2/tools/build_effects.py +python3 assets_v2/tools/build_design_bible.py # concept/silhouette/contact/palette + comparisons +python3 assets_v2/tools/gen_metadata.py # frame_map.json + metadata.md + .tres +``` + +The `.py` files are excluded from Godot import via `assets_v2/tools/.gdignore`. + +--- + +## 8. Acceptance notes (for reviewers) + +- Silhouettes are distinct (see `review/silhouette_comparison.png`): player = + upright soldier w/ red cloth; melee ghost = top-heavy hunched; archer = + tall thin w/ big bow; corpse beast = low wide quadruped; warden = colossal + asymmetric pauldrons + great helm. +- Scale ladder (see `review/character_scale_comparison.png`): player ≈ 1.0× + body, ghosts ≈ same height but different bulk, corpse beast ~0.6× height but + wide, boss ≈ 2.5–3× player. +- Every animation frame is a genuinely different pose; feet baseline is stable; + weapon length is constant across a character's frames. diff --git a/assets_v2/characters/corpse_beast/concept_back.png b/assets_v2/characters/corpse_beast/concept_back.png new file mode 100644 index 0000000000000000000000000000000000000000..ebfa8e505f123dbc128be9a8e30fbc0ba61e6813 GIT binary patch literal 1230 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#ka2FtAMZba4!+nDchd=`0aPk+y7= z({~&c1(G;k9ZC`GIibLKccrxWuG7vxSnS&QC(hN|6j;us)Vm^O;*J2xNdg=i6`XNl z6E8o>Sh}V*tl*{i+xY+6WM`!0wl)fw+>>g|WG$OX?InVc<`!{(U)2V;IO0X*Q$T!hBZuNSM z%d#(g-Fad~|IL(!M47vWkIF5jdv3bOmmMtCyzllue($B3w;X0Oy17$WjmeRwAX48c=g2+}GiSk%!+Q^HiqDl0IeQ z8@3&G`Jav-)Qfo}oL!#($F%9s3A6N%!S`)~+;?j2`nCPwx{g)uS*IB`F1|mFw@7S% zmKlfO9Ty+93wq4ORh7+~9rOOK+7$ET?iJ5V=-nH?cAVXCn(bid3Vu7a z2g%Mx4O$g*%Ow_PF$m4u(3$U)&UN2m)!P=ShF1QU`C2h*6I}B@?R2`5{V=8B^z><` zx+gX7{Iy0vf8F=RRzgOLl6(T%e@IWP^{dq0{_#6w#h1-Lcsk=-Cp_}{=f|-sa&{Z9 zGcW{atJI4HsB$0iVKv!QJ8g;P*(lMkR>4=idiM#Iyubah^Sn%ekX_gxt0u=ox4HIR z<#M}m^QO3F#osb-o=`T0kMcf!+#f%e|E$d2pngsKnUwx2pA$`|x5t;JeHD$|Yj$h@ z&cBKp$xDrVRIH~vEaPh~_-%EubjO)p$pW5tbV>bBo=asX^0-p~XTl^VTo-eY`O;g>G`}LO3@7TAOzVB#A zyCr6Sb8SNOf|B~pOGED`|CCXD&p+$eqHpFR*BMTP)+`EtUY)fo{h=OX&1TPzA6fFb zX{8IT(|vYZcHIB5za!C!Db;G57enyAkeAjRMS?L)r*4l(cANfILcm}9V9N@EsQhT0R6$R2xlmw2wgfp$G2c(ZJabAa zj%W0T=gLC1P(d$?ekF`DA(^sT@cHQh1}~&>3cCI zvYdYFA^=P8<}c7uiDRr>G)n0yEVc~K3x!!&^bjMM+UVm+k6lX@sin`&=^^zGrl`S5 z@4dafX%3%kHhmoXwglDT0ZGHx`%^VNA6~zU`HfI{&X)eeIpeJtRAWu|6Sp(M>Gu^o z3ZAypgV!-j@?`C9?--XK*_P;T(7`#uPwYZ=hg1aR;$`vW7aWe-XVa96$;gU=-cSHv zyHB*oMC3>wvb{3ha;?!osq-@&Ee8+OQf#4rO8IAxF@9-K;<{Uw1MER0zgYLJP;yuxubQGCKO=_1;Pd%URccmqwJ34$ z^y1QN!(j!bWQ72DN0>c#T}WT~9TK`#@L}twy5ofW|{hx1(pq$zo>ocsE zH;rqPx>^#7Ps^jA4y_Ao-?@qaWILN!(_BpT;Jwo!Wbm3tB8Y~J(Qm9we4!w;st|ww z6>^Gk3oauZO}MtM!v$fM>&(2wcw7$AnCRirOsm=c+N_Dj+PLb$d4(D`$77lLj!;b) z4u19U$z08i`q^@`N@m!cY;vMuX!8Ehxg#;7F_fvwG>Bd#Vngl%X zI76Ze!QU^%P0u8QOG>?1-8T%U(+zQGld^oh-3GKxztXf6x?4zi=aZp;a&wR;xoN9; zX}71|aBTLzRUrBr8|!U(Ps)g>pgQ{WOj=;QdP7$fiM(Cl+Jp5ojwOHabOinW3N+!p z7CLZoaJd&BIC&_1m8_4q*eAc`?jP+~SJ@eD1#)#AZ%g^;VZ=*J@INZucOBs7CH)_! MlIi|(zsRir08xoE2LJ#7 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/concept_side.png b/assets_v2/characters/corpse_beast/concept_side.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d92aec2d1910d89ecbb27072a151b39aa9bade GIT binary patch literal 1454 zcmaKs_dgp50L8<_2vRYsG1{}5sv}Cw8WpqA#7t<_-VHT+w6((#v#NINQR8rwHbQ8W zYZ}U-V%13LK#daRsCn)m==*%$`~LDipZD8Kv9>e^^GWal001!Rx{2*638!}B<_gzFA7sbY#|v#j-7{;&W_*RiJ3$KhlCFhmLv0q27FQDJLFM4 zX+3!&N?&4>7C zOy$@F6+X>QM?*#d^{N@Bpl3p*9ZDDD9=0Fdo&QnvrO3FMqy*QILc(pvZu#eLi0m$e zA3>wW#tkyk!O07{G{006J-Wa?PIoGvy)Zzpi<8bLMp_p4l$Rc1iH#L z6@f(ZFpQV@GbTOdlC)xeU0J|IF6 zY)La@KG;zUJ!Dr!(ia+@in#%j7hefQz%@42ki4+;o~oIdaae(yd|XPiV0s2q`} z?KzpLb9xpDc{zcR@mQfU=Cz93JXj%T`Dqs>gV#wI`_3g7OI$V+Et>~`#xEsL2Lx+y zfD7naDF!RMO~hqwxCEvKiVF;&Pl`*cqo|lRGYEo^0^zR1a|($?f1=N%E!Q$+>l>x{ zOC1lrc7aqSVPjt1)XohmJ?Wst!`+=01<&Vpc%5a~%Y=STyet|2s9eOAj7UYb>c;m0 z^|bBwDTy$0J*Xh}U+}s;^XxdZ&o8vtzRWDF74*kkgOpcZziOGsB#~1lN-^^Zc<}}ScW66fe1#GWsiCeIU)JFbx z*9FeU?lIpiLP8IpM-@*4$xs4!ly6x0e0u}OYp&vcAWUv;wvUUAds;;09#x~8`~`sNFC|JC)i zJQ!pEx18>_;<}M1x~8KPueC_mNL5oh`!y&+GQ#SsJn{Frgy5= z3>SIH_L&DzEN35Z_~h7sNW#s@@79_Gn$)}P_+j7b6+lD6eJqectY4LfN+U$lSMY@{ yGX<8?3XQkBYG4k@iK+tDh>l}l$)8@HLhI5s6@?W|TM0qx|3#FkrAd>KTl{~+Mwns% literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/contact_sheet.png b/assets_v2/characters/corpse_beast/contact_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..61790e38c2355790bfc5f915d62fc36a3110bf31 GIT binary patch literal 37402 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

wH|bxjH)^yBrW>KA`9Sp>yexw84-WFZHgl-4fl; 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 L(W%vPeDr?+>^;xW literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/corpse_beast_charge.png b/assets_v2/characters/corpse_beast/corpse_beast_charge.png new file mode 100644 index 0000000000000000000000000000000000000000..8a95ffadce763d8a50e9c263b29c2696d0655e0e GIT binary patch literal 3179 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/corpse_beast_charge_windup.png b/assets_v2/characters/corpse_beast/corpse_beast_charge_windup.png new file mode 100644 index 0000000000000000000000000000000000000000..5c9e0fefc7850b7e53ab27c48e666275898f0f12 GIT binary patch literal 4627 zcmcgw`&W_)^M4SRqSaj2%FQx$E!(oRS0ytu?21~NX+`1%-^?3inwLxwAIw&_%}bhv zii*BwYF^0l?gDl-HAPLpTfw%9nivIwA@K0^{qg$`yz|4HIcMga&zw0k^O-ZZy}dB{ z>rB=G0HE*gcH9R5;HxGOycV&lAD3=)2LQtf_v1&--6&c7(0?Zkv$^M+eZ{f;L5QtC zBTbI#UAn1zf1jJ{wGiFjqlrq(fX;O`&*JCJ@=9%PmR~)3%RKu=(TPu&?DX#aggow+ zW&ZrNn>=2Ajz2n6yHM*Z*SOjbF3{#>Wr8>_mxQa5R@i^R|F_aT9H3DfORoM%ije%U z3OyGkN5sg*3{X{6MWi5CYvFEf0M%8(0;q#Qen~%f>jK?RFMRlxj))0$pe)!u!k##`?m}0DWN}CJp#$!D$tC1ovc)N{Bcfz%$#K0yo!}b8O z{pnthH4R76ng!>{9(w9iapy%RQnty(V-Y`QL^aF@K#upBiE)Mu;t_es6{T}G6Stut%yUcULCe_7mR_{zgQ;O+dCP@S>sr5=kd z2EjT9293}cB6Y$}LJPZ@f`8)E7QxR3iLVgmp-GF#G&|Ds!Nb5lSbdibmyQ{rBSB_D z5%G7c;0x32Mw}yw?#0raQ9aL@07fHlp7zF)EV%3Es@<*kWo7>cf_27HU2<^n5{;iT zn5BGJ{r_Yzyg%~Tyzz%?u7Lt2Wzcz$vX9XK$5~uagIznjWn--OA89U5NH;fm%Cg!2ZKKoqL zvnB4iYOZ!$2V!fkW00ung>_2ry#-m(W?C4hD_r5StgVQ;(Gq~|)2?WmI{iPs-{6y5 z3UaDnK1|)lRRA%^d_31PC*b zI@6CPd8u(Ca48cU6a0sC%l=X2G@H-F`p5+Jq33DSbiA))(XKGSohTV*h;-=NV}209H=hI{nz(L%wq+Ro--p z@gX&unEEFEcQpeuxOP`Zf7~3>m1D_9-3ext&RkI(oI(3Q`MrXAPhlA~rC`)`aZzv{ zo~$!Q{P~Fo{D6niF9b-wz-(2WFJ>Fc_4qQrSNkYen)@C(qEI+F#^;oCFE_ z%@a_Fk*f>xKxsW}iez?oQg^gWO>FGfCZE39{B!m#O>4>1|ipY*V@UZ5P-fPN2j5!71Hfi77bf)$RD*T0n+6q9(5f zi1)<(`RU3|vyL^vv}vm$W}@23F{5=5jArISITzt58G1z5djjCq-#II_{h+0uhEfLD zP?r<(z=v8T@%$Q;467e}Rfc`K$UpFPXAzJSKQGbXext1|5HV;_{_XCvN!GMjaOVY5 zcx*ClPKX&(5($1{gqtrT6QS+*>}Kk}n%d_RE>WNaE{!lgeOO(;7v#H*TX${?q%*gJ zyIS&8v8+Nh>LCq~RiAg61LIzqj9F`4+_$)51E*65CzM^qX*dxwE{KiJRrD!3G^2y)8Nl6>ejAbUMG^dPSjHz}^ zrd|<5&$2^fX6X6kZ?)}f5bL-J5bv&;V%erm+G{VmED_WXF*iI27V)o6*dgBzpqGBRSj7#Y#1YM_ZE*WR zh02HM8vAhX11Yb+Xf zm=}Vn$G@a4zaqHJmg3;~2=8KWFt6K%1J$IAN_i1btTcKU_-y$+-(<{Lb+-9&`k0@g zV8&;+ikiB_T$BqmXO~iG$@Iq?Wm%NE^*&PUQB*m-@FAFJyOSA~GP2y(X=oQeZMz(i zR@YA0pK4EEzur@iFfHkKE@&X{jqorX9Rx+F5MWBMILFyMRC{YEpITNm&dRw(Yt>mDHz8J zZed4sA2@(J_+Zb{_g@PQrH(YTOiR6b=sLU*x294AI-n4sK;=ucxUi-|gx3bzA)m-N zMZlM9&Fr4-_hph|QH;*DnMa zp$ot9^gZ7OeQ1XG5B5Hv<@H8`xM9*Cb8;=2s@Bo&m9r#UFt6YZ8>`CSrOB`}m4TH5X<8!Yf*mtvG(Srz*u^k(m~JH!>GMS*Zajsu!`rwd5-Ta3-qKo zsJ!ieQl;!rnzbOsrC>d*phQm0V|Ex0gqpqZehueGz z<)T`_*uce3#3f_D!u0OfcDV4G_U@9B&v6$*B`C|AAr>+C@RO{l49iK zP=a}F;y?6bGiLp)?b?!=gD;N9tfpqNn%Y8WFY42@Z41JuHobks9y+`trBkEXZ04pK zSSje{u77HwXyzncMI`Ca4p8tFQjX^`i`D zm#~Q+9!=fY)07NNM4-HrKV$PF=f{y|_f>gMm(Lc_&=oW#c?s3kk>21Wd{c7-I|3A} zE_)lzs0n!>G2&1eN;_gQG`eyjn@#|h-yN>D2~2om+K%w4S*}aJ)M(<(P^Mm4L7j&; zl3X{qLr!voID0I1p(s?zduH_TX4EAoao2o=tSnjPL zQyjD-xA76mRE0!)g}w4(wzbl_^cNZ`gim4Yis$~hG>7kN#fN;7;2JBp&QoiyHKVH$ zM9 zFOj@5j5a(<=j2;757^z9oulrlO&fiVpHR=w#&!{cb5Cs$&-hL`lO+5+8f!w?MgRuX{^7P!I?E}Y*faS}fef<*;e`e>c?iDO@bR75LlW)+ zPwn+!LOCfnuEY5E>c%W1U9&U1?7nA04O5611A9lHH}$NGS<_zaQp;0F7lD#o=;{k-1-^U$NFiMd9g}7l8|lALWUp zjxZv`LHB%ERHvSF*{qkn$V#YswluSd3wQjONn7_V!_x%RQQ$K_In;JMb0D9+x_VE)H`t$-GmeYsGH77r z{;*(&(iXt)DPp@=T^@o-i@>1U7VF#^&Z$oBN43xEyC$E*G8_aMA?$4{iHnG#pdgLJ zJ=gp3(X~vpTvSzb9l?~gDX%INC_rIX9i(#{iXxiN4wsII80VoTPLq$3HxAyB&UUHc z4+a&3^{L@~orzEj4__y~&y`VmX=iG}>pHI3h93Ij!Xvg@nJB1~*6&xaVQXEm?(iCF z$D8dGt6;kN)Ryi7@kVL1KfEG(D92M2BB^UyoL#T$)Sr0H(g5lhrwN3`#oE@wVin~= zKSr_mdrtFg&bW(={ZHZ8sr9EP!Z-VakF4!8%3_NjJuHm>*KfN#T|6lunfG>ARpjo- zCzqVz0>f=m1IBy9MD<=-wUQLW%n5?mj$2RL;@d1|&nQB;uMAr?XE|T>R>`NsD}6M` zuL?8v&Yhy0?wY*6avRdK6xcmYXXRj4rw0!Fiv%_f7vf_aJ@lLVf-JO6vYjgEj z9da`DOXzK;m<3ocz0wQpB*>bCq`o=&W+^h*%k-|cM45Xa?+9Bg2g6yJ>fB5*|N8m% z#ayW7qlNM3n&iObn;~96T;tiE5@pEx%WRvc_(?8Op?YcaON@hqoM@>{$kTMbO^w1j k6|VW;zB>Lt+L%;h*1dEtWmt!B@xLDT6JEy~j|SiTKaW-+vH$=8 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/corpse_beast_death.png b/assets_v2/characters/corpse_beast/corpse_beast_death.png new file mode 100644 index 0000000000000000000000000000000000000000..cf84691c995fccb9aea381bb93bec78378516bf3 GIT binary patch literal 6019 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/corpse_beast_idle.png b/assets_v2/characters/corpse_beast/corpse_beast_idle.png new file mode 100644 index 0000000000000000000000000000000000000000..fa969a73e2acfc7d758c626076445e0590f6d507 GIT binary patch literal 3677 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 X?8Ew`v{^XC{~OcO&G!J+1)uyMLr`8x literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/corpse_beast_run.png b/assets_v2/characters/corpse_beast/corpse_beast_run.png new file mode 100644 index 0000000000000000000000000000000000000000..b0ec5b6b717afb411b576cd4b65158e3cb8e2c29 GIT binary patch literal 5463 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 aS9pk|M)|)Y_6^d1f^4l%9WS-=OZ-2qD!P#X literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/corpse_beast_wall_impact.png b/assets_v2/characters/corpse_beast/corpse_beast_wall_impact.png new file mode 100644 index 0000000000000000000000000000000000000000..6df5246ae8303874b77bd64fef4c1cb7b4d17058 GIT binary patch literal 2976 zcmcJR`8(8m8^^yhCX}tkIx3SE)gelgBbO*yLwh6Jh?ugbIf%h`q7$-=EQeAJQF;oK zW$evxo-E1Oj*L=`lqS0|G5dTT=lt^g1J83`_jO98*6%B{z9D?vI&ZA*1h$^K{fT@#1G@AwT0bgx4X%Irv4H+c>RN=+pFp4 z&CC4H&%HPr2hC+-S>wW^=fvmpm6Fdje;@uo7Wq5@FPzxfa@F@W9KPCwTrMamc#{kZ ziXz-N%0c#0u7i{t?I5SdK*jAks>ttl{}2bM(N?Ii9k&XO{ueYR(R5M0Tj0$GvQ;%O zeB$lpbZh?{AWBZ36fpso#kgnh$}?K&Iu5A%yqKcL-IKlI-6(!N!rvwa7|FYi$*Dq3 z+xcyHcctDj#Z=ix8C7VYB!VXpwo@YCjqO4wh`)CV{FL$Tf>i^C3GE3#c@o%ZW>#uQz8ykJippoXyJHQ^jWSKX zatsk>lA=l^_cB+qKTXQ!HOOYL|lY|tdPGRllG&zFmB60t3gYq z-JzVVNd_OoR~(lv4B^ky(YR4(<>=2UIw!#HA*jT+`MN z<`|~&>NVUijTnJ&a>_%9agemg6n7RBFpr4pepp^M0<(N-OQhth0YiWJMlI%bs|B7H zqlQeBQ$Y@d?&PrBo#e!yz*@yNQ*ZoATsrd=g)L6Vlty%ZDgXgWP(zRk1NAY+E8Omy z7R>ujOVqbkzVY=JnvX@2N7eYu+;_~llgpTGx{$jAL@@`+1M-_{QB(BsVK;g$~De! zaSAf|!LTh7q=%`N@E2DwLDLSLx&t%QV}1?kh)1L>-AZ z&P{Lm^aY==oIfcuh!=*EOuia;K_g6o@#Y-)*ZVKMNb z8+7e=JCDwFWxy`T?ld@fmaRxed*MG$MzcAtG-je?nvRgGsuhbxQ1SW2{DiFGsKT<&V_7*#Hbh9rB*fu;Pm%3Ry|ORqd58>k#CRIz`Y*n$5TI}>8G789g+gArO9 zs6JW?y3`eYYUSuKO!WH3@_YQhe@>7Bb5xkJ1ZP~*Mtn}3JAq5->V3F3#nC(EtY=0} zM8-PnS{oB&b7tiovbFNd%tT?oy;bq+F;}Ds!9EB%z_IIK9{h~vpAOX`O@WO>$#B{? z@`#LsLwT=hi|KB#2ekbPo9$ynaHK)(=wA86;m$Q7aYYKppKj!qj*5x+&&iZ^4^_~s(A&4cpYfwfUDKY&PbgPU!JIS z_n&oqe2+!wmrs2x9}=+Sv=o=~y-LO%^*SVspEg8dIbPLI-Gcg~4{{vzlG`*W!lYHZ z91U|Q^^%41+N3vZGZ&oi^cVSk|Ma#&2eFqH^osHTKdkjJWIr3}H_y9o4&(H*1wY$! zPZp3aNK1prO3kWfL7&fPcmZdcd5*&)5# z*5Xhi-cA{$2C|Whq5I)84cwD(;<-StVEmo(HJHgJ;zYQ7=1%NFZ?s3P$6tt^^)E$#34BE|+xk*9^qZ7(Ku%wREpUkLP7YWsJwejOFxmIt7gV$!#HE+-+P7t} zG9f$VBFft!p+(>dyS)fo_wYn5y;Zs^aD}=_a6irmRM%+iE6_={Wg+6wwy*1NUa-VO zQC(VCVG2#$I8v{QITu*z@i+%Sj5%~|=S{j{@tToV>n9#%RjtEq#`(V|#op>m$U|mZ zh2-z>Ga`@J!>{WfhuP*ZX0DvdWccJL1h0T0VaC>(_k6(bE~IA>aSD*t+T9}f3M#O# zZaHy}is{G&-w#$tp5DDjD<9jjU{^(G`22!B$aqWoiOhbR1+xmbR<6G#X8v3#O#JA- zOmB)HikS>*p>QUYSht;w-HZhs_f+tQh&kqryI$IJ%0T~I=(yCT_cqeHAL(gr^FPU~ a}>CTyy}==(tiNlh0r|! literal 0 HcmV?d00001 diff --git a/assets_v2/characters/corpse_beast/frame_map.json b/assets_v2/characters/corpse_beast/frame_map.json new file mode 100644 index 0000000..04226aa --- /dev/null +++ b/assets_v2/characters/corpse_beast/frame_map.json @@ -0,0 +1,211 @@ +{ + "character": "corpse_beast", + "frame_size": [ + 128, + 96 + ], + "pivot": [ + 64, + 58 + ], + "foot_position": [ + 64, + 86 + ], + "animations": { + "corpse_beast_idle": { + "frames": 6, + "fps": 5.0, + "loop": true, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 64, + 58 + ], + "foot_position": [ + 64, + 86 + ], + "frame_size": [ + 128, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "low breathing" + }, + "corpse_beast_run": { + "frames": 8, + "fps": 10.0, + "loop": true, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 64, + 58 + ], + "foot_position": [ + 64, + 86 + ], + "frame_size": [ + 128, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "gallop" + }, + "corpse_beast_charge_windup": { + "frames": 6, + "fps": 8.0, + "loop": false, + "phases": { + "startup": [ + 0, + 1, + 2, + 3, + 4 + ], + "active": [], + "recovery": [ + 5 + ] + }, + "pivot": [ + 64, + 58 + ], + "foot_position": [ + 64, + 86 + ], + "frame_size": [ + 128, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": 5, + "note": "coil; charge_ready at 5" + }, + "corpse_beast_charge": { + "frames": 4, + "fps": 12.0, + "loop": false, + "phases": { + "startup": [], + "active": [ + 0, + 1, + 2, + 3 + ], + "recovery": [] + }, + "pivot": [ + 64, + 58 + ], + "foot_position": [ + 64, + 86 + ], + "frame_size": [ + 128, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "full-speed contact" + }, + "corpse_beast_wall_impact": { + "frames": 4, + "fps": 8.0, + "loop": false, + "phases": { + "startup": [], + "active": [ + 0, + 1 + ], + "recovery": [ + 2, + 3 + ] + }, + "pivot": [ + 64, + 58 + ], + "foot_position": [ + 64, + 86 + ], + "frame_size": [ + 128, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "slam into wall" + }, + "corpse_beast_hurt": { + "frames": 4, + "fps": 10.0, + "loop": false, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 64, + 58 + ], + "foot_position": [ + 64, + 86 + ], + "frame_size": [ + 128, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "scramble" + }, + "corpse_beast_death": { + "frames": 8, + "fps": 6.0, + "loop": false, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 64, + 58 + ], + "foot_position": [ + 64, + 86 + ], + "frame_size": [ + 128, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "collapse" + } + } +} \ No newline at end of file diff --git a/assets_v2/characters/corpse_beast/metadata.md b/assets_v2/characters/corpse_beast/metadata.md new file mode 100644 index 0000000..f21791a --- /dev/null +++ b/assets_v2/characters/corpse_beast/metadata.md @@ -0,0 +1,19 @@ +# corpse_beast — Animation & Spec Sheet (V2) + +- **Frame size:** 128x96 px +- **Pivot (rotation/hitbox anchor):** [64, 58] +- **Foot baseline (y):** 86 + +| Animation | Frames | FPS | Loop | Startup | Active | Recovery | Proj/Charge | +|---|---|---|---|---|---|---|---| +| corpse_beast_idle | 6 | 5.0 | True | - | - | - | - | +| corpse_beast_run | 8 | 10.0 | True | - | - | - | - | +| corpse_beast_charge_windup | 6 | 8.0 | False | 0,1,2,3,4 | - | 5 | ready@5 | +| corpse_beast_charge | 4 | 12.0 | False | - | 0,1,2,3 | - | - | +| corpse_beast_wall_impact | 4 | 8.0 | False | - | 0,1 | 2,3 | - | +| corpse_beast_hurt | 4 | 10.0 | False | - | - | - | - | +| corpse_beast_death | 8 | 6.0 | False | - | - | - | - | + +**Legend:** frames are 0-indexed. `Active` = hitbox/projectile window. `projectile_release_frame` = frame the ghost arrow spawns. `charge_ready_frame` = frame a charge/aim state is fully wound (transition out). + +Generated by `assets_v2/tools/gen_metadata.py`. Source: pose comments in `assets_v2/tools/build_*.py`. \ No newline at end of file diff --git a/assets_v2/characters/corpse_beast/palette.png b/assets_v2/characters/corpse_beast/palette.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ea69333253440a7f95a2f4e097d59a15577539 GIT binary patch literal 3784 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/gate_warden/concept_side.png b/assets_v2/characters/gate_warden/concept_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c17659426e2dbae1e077d1b24cd167b2815e8c0c GIT binary patch literal 3005 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/gate_warden/contact_sheet.png b/assets_v2/characters/gate_warden/contact_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..491249b22a783305df05626d684ef5ec3a179a25 GIT binary patch literal 106344 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%0Dn}z0;d8iLKTj*-?;9 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

{#pz%*oP|1 zuBABp#uexXLUWtarJhq!(|`qi+-Va~J6s_s7Eg-KO7cOs*qW_XEcWcx_FT<=V|dN3 zt6Q7iyXsZG89H0I{yCuUEAAq)5~O_rb9ekbT|J*=Nk5p$ibwMa14Ig$>K#|vUrXJ_ zL)YQF8@xp~S)~7N_N(9*{UtXObyMl0-b8%8maICE_}pE-fq?H1Nq>oveQX^8vRvFd z#+2TYWpT$?tbRb5+poA5YYqy!pQS&nOEsLDT^)|Gi>X<2MHb9M&k2z9Pk)eb;?|hV zf)&h+4(;;)=F2oT>NpiS3xq@57MdrdNqFaJ^Qj{m^lH$2{?3^atPt@7u5FB-Km+Jls9If-r*#%VJoeYhH6pY1_(Bj74S? zF?dYG>h-T9l;!l}=u;-(HHiSzSEXUObi0yZGBLmD$?h0ZL z02_HbT1g=Qr+ImA^+)cH{}$|#A|=gmnoqE}hk#6vV&1EJd-IOWn^Mr;??qba8R#PI zbkY$jm3VZ}u$8eYINf(CEH5nj=A=V%^ny2e00ODCB)~{$s-)Z)L3GZ3&5ubP-mmB; zwckqCfcVvX{`aR2wp{K)7Fpxm6tLV61q!HRb65-6_ZVOps4T~^+WFtv1!m3g!S4Zm zju8Mb+Is{JMUM3}K(=hSaMmcSuIMUrg}9PHk`L8Ju5@4}>3 zGV}K}Y`)L!VT=3S7A{l@vH}0Szf*2-!Gwlrsqn^g^>K5hjS$ZNGO6%L3@-T(Sm?I) z;4z^DFU5?9XRP>GI54YbV! z`TiJ$O-$;J>WeFlDK_y<{{zZn?Ce==IG%$5pqsSGN#*L2WIT|q&OCD4^UsDA#rTW) zLsT~%>#&Lmna9?CCO9RVb63>#Lu0;j+>J;ge-N$$*VH?F z>piB_zUre}^oI4g8I-ok35CQ7O_Px@8G$SaTXF_f2XAs@*X6mmmiw*&Z|>u>Vcgmc zV_$@0B3rZU{(DdST>*KYWnpK0lBIgM3$pwHb#eeI%xP!~F2pNi`xq;Ux=7sMv^H8OhPl~h9K zSJ*C}g8`}t5R`1rS|87KRSSNrfDHv-(S)x?xqs6-4^y`D%kICr50FOAs!Vj0u7C1;dP4-%dt0O(2F=I8D zNk{{v%M+9h_l)CI9uydh8SQ2A59C@fjki;Q-FX& zVs=ZvYFqL6lUI>ibf&aix^lzOkg?{R?+|8vOldJ1L-oG8fcL-VvqsX-Aif!>El3H$ z5Xr>gEsDZDrh&iF4eg*cz;%aMVjiVGOB&eR6H^FV`AO}?x;61S^z77 zweE^uP|TizA3uxLReC*ig}co?s0eiIOCYit+kR{M_4E^Lq?4a(CE-0|=xgf(DW|E- z(SqlYhljLsgr)cc$>P*fhHEjAsB2!7tSzDBko4qtlG!dpSFXtqofgJCG`%tHhIqCi zgp4lgEP|CADp&is*LS?Rc|DgHtU4S^l7C8%xM4PvX*ZmC?~pcZPgfunlxKrvy_?)V`pdHa-0&l*2s{TFDo1b^{m?5w+}bPhd9uVb z!$$zMq}-|iToL&D(_IRk#XM!uSJ@2T>V#5-Ox|H7Ai<62)mi&|HZ$} zbT{}FYJ_*OO5;3iuc+giA7!J#UzWu=Q1H}EY+Mk@X0Fe46P`(1&83WJz3TT9e8RCc zV$N;Oa?j@O3?C%npZ^d&x~emL{!nw>yx0unnrdzPN11}ZH^Xm^Q}Yoa3ra2}K10+0 z>t6IMkNyl~W$(Dpw3JQ3sy#NwH?|J31aZf|@j059OTSzdR+{7b#g?Y)Bpi~H7)ps9HoOQ>MWA51}6vS@fhZ?2Eq(+2k2?&FUENe zP``YIhMe6YwUNp`Zjjo9xR~$rlY2EM9QTZ9-33(yVcwn5Jng>1y7SqvMky5cBa0d! z!#a8#76X`ne|1oIKpkz>)4e68;g~?l*uqah6r@B>gtf%njO!BMB`X^#y`?urWS8-J zy2izZm(rOwR!fgr-rT#Zizf^+&tw|x(Jt878xqLuCDec;h>s>bD*89+0vBuxd?@w7 zxUF9MKPd6?`Cn>k@NP#hc-OlP}{Gi&+$nuOHJm zyf;;wq>Opu_QMgOlxXWPqcS5yHS((ccxf!T+w9sOgpgPpr5tvgVoJ%U@wosou!`2S zai*U4b(8TU@A4i!E{A37)-=($jt@x%48pp5v9H4CKi=2TvAoA~DO=+N=Op#Ugz zB6jnQ6#y|2t20Q#nvwlU6&M%yt~Z_Hp7Su5m9PmxCFugA?z}Uo#TmwlRw-bQ;>`nY zhwHMxCM?dpb8GuYEzn|f;X|hXLzHbFC>Z%QO>|n;oyaPL+{RjE}I5Pcf!Pzi{*|@a(aNg~WWd+XJP;Te9s& z@4zWEX02Lw-1M36oKOPZh)tp67pEM&C;8IWn`g7$TtEih(2OODTV3mZGaP^GF$8Vz zqI>qaKMq+^t*ke7^Bw#jp5t1!1nlY%og3cQRm=0>;Axj#5;(bh5!ZPd7u%qGSnNQ~ zj%KP9=p2HtKB{UO$z^^4Ls(s%%|LM37ujekXN_G?a_o7C6tpXdDiU=t`jjARjTFj{uy%Y`etxoY8mT`7ubje%BSxrvtb0lhi( zR{|@{^i5fCBk>8fY!b3qb-xpw$<+Qn2``Dd0DGSX{4fU4YBF9V;#)%@vFs&CUyulM zx_QM2aA=<|=83pD!WG7`ptf9$^iQX%xrOYh<@*#jT@RNZMB6%bKc47!n^@_9qjWLE5X=IJn`H=sLBjj zwpU5(Yspwu{`UGJI*6RT69f;IGm<%T@~Cg`MawPFboMc7ZLkd2zdyaRO8AwMDYyT9 z1e`zayJuy98hml|MRB*?Vox(RMci9(C;w>t;k(xg-#PO|d;7m`7iCKUi-PlCSi|Bv zlOiFAt07>2d{YDMeNA-fT_kDo(eTHLzd=;2o(h$Ab zAg-Y65o9L^z^SxC5ius4Af`5JUd=5%D7dUrnls=f6wqy7$g(5}ll??%(Pe)F9J~wu zasPb0G24@h7_$Rmnt;B89L?+D zUDn{}W^q%2)K=w18O+Ba_Sk|{t7YXuaR%Q4x5-#d>YR#s`WBqV>@^kk9f4=$b*+3f zRGSNi9hBAeRedAUE}u9)DTrD{gX4BwENrLewBF(7O%PkTJN-r+VQV@hohO&o+{vAc zSmuoNN2%xS2qGrRR{)GSqf}*VKzcR{V_<)8r=M|qh2|a8m6R|H9B(!oM>%h6Qxhu zbbq^(T{0IfM-jEdPVX#sfSC`{T-FNsoY zOI$fE3ytBh(x`A<(|M~W$Dv<$2fTLm2Pl1_;TLYDfg`HD>7!fTU#3Q+lfvU-do9WK z=5BY$_KX~Z>zk=_vKt<&ecK)QCtS8fT-O{6G?+SnS+=KkwW@jdF(%X~R`SnTt%2RH zkXh7E0;DIcjwy*L8jmEjs$FANFs`0W@eHhFN~TuLFB_7FUr0V@uMZO|jVdw|a1n}b z^Kk$}Ho`|Ui@6IV2I3@w%x9nLz1UWW8IVd!tS@WWpiYhs^^PB5yc$FgFcd{IJ~|D- zgP#PP>`kQ2R(}Q7F4OElul-IcsTKYMb0|{xI|r)+aJL`Bh5M2VmS>h#M2hVStg~)D zDJ;zb2=2sTc^uovYECx{#SjcXBL(ct4Xqrdp5ck1f3)FLPrS?KtlzSZQ z&XeQQrUAp>;UV9Xf8N0WHrzjc5}<~BpHUqE9P;K!4o1a*2z+m$bRK z%@FgMiYtUU-7nvw1v$v#FQ&_ODX;3S+3=Xu>o|ngixmO?%Bas=x}E51Ndn#O2>ZuR zZER9W6XU)4*gn!=BkLmS>qQA z^eq~qX_)?9`wse+4=C^1-kIl3yU$^H_!UaI>&}6=1EM*^i2%0n(Hz?8B4=^B3w4Qx z*MDts>YSO1aCIZrYVxBikp5b>JDQi;Pm1zkZd4)#4JdC^J~^Pj|8&;9FdEG3O0j?$ zb|2(kq(;SdB$BjoK}AUKWAHFrz?`;vHWPnigPvW~cuJ16uAbgbntI%(HudCnvC5{+ zy@u0qb~&z|47CBke5Vpvl&(JXL=cX#NX3YNH2nYucL$-ES%)nZ@fNOQW_EhyGar-G zyFZwKgFdnR)6XqzeZOBvDiQf*^@$YQHekB<-TynRvZjpfqa!1l6=KpQk0q3dSJ3{k zJCmIW2{ey+fBNmYYAjW2lo1NMjV5-Ibj>yD%6>-P9YjCqd+wiYDiHSQP2v-of_;jGiap?c z|11HF3EeJO9#@H$JSLMiJ$pU=+hy}0D_I#R8y}f7M!g%Ub0nNj5kGtbMORYNum3r^ z1rC$Nbn}8Q&nyvPQPIFZGz(}gZZ4N#lP`*Y7wejf51&Q-CBI9286Cw47+c8Pxp6(< zr^<>!@VBwXfVFIP6wjkp3#*6LaihIL>@vpnjDOLRigR5ZJ&;M7FI~?8!r!$m+(G^P za?RfN@!?qAI*WTMUY(E988I=cOMaF3+fK>P5S3q zB}1cD2JTh+(`YAgv?{x#^);Ka{97DmadyB_sEn7upHf!mi{6Ab${XwzZoIKIvaRJs z8chpWWK(X2{fhrp5p#a|2f5dg3yld6*n6E;xw`FtJ$c)8Z2_}Knp*6$Uu#=cmpQj~ zjCN$cm)`@2gdF$Q2A_J=VI45nqcLXE!or^n(6PdPiNI}od7=Gi%mpHPAhh+qzC;03 z*?<^20C{sIGM+Su-L8r#`AjmgKj}3}Gl1~(L&-<)sUKA2`SnJlrxf2i4(#WQvoUe< z3XT@e_?C(E3bHJvRd1cI*h>Yahmt(9GFj-nllTg53a?zP$~FZTvHff-f-}BV89!?p zkf7fTbSbcyU*1PAC_K?IOYkqb85HRkCnnONOI(UQwD#OZ zyHAuO9S;D&-Ux^@rJ?O7%C)aeNOmz0da`pB)q@6?K$(yTq3dJvB-d`Z3x$`J8U2XP zwR%LIK&g58`C}Ti&5CL%ETx)JX0G)m(ekOwrL>8ABqO9E&DCR>N&mU7X6V@q~obH z!p9V^P@0dFz+@{TZHud#IHV`(xaR?!o2ODtdotk~g_r*1&(HethwVPP^?zXH6=xY% z>DW6|(jw?^(-s0qs6k<*4n5?P)5hIhTmsB<18Mr}Xnq&^zL`yhGq z!L%CxQmEwn=PnHY5vPG9H*0XMvL&Bz)6By*fbptlSyx3B5#pns9!0u8KuFbDJjNsS zU!v_WZ8-qY?{DX;_=+rl?Lvxv!@<}&Oa9)~Ws2dg=Gf?kG3lgMEo-js#RXDg1~F!f zyUnq7+@bRaFbU%DqEv!Hn@A(4Rgtf0+$n(A%x8eSdO`>DD8*j@AmdVkcmq9)HXs_)T${sV_Mn~zPTCiUmJzQ9xZ$g`rVgD0 zp8KGD_+^i}s1>zn*PRioV)sFx16_DdfUTP`VqrLST#0P!;HT)I>sP3s&QBBO>o?c*&D7{=sdNL4?**GU8 zjGVi&S~^5ojo{<8#ihuXza4V7#^(dwhY5qe+z~5~8kC~Z&iJ&_-Sezkcmf#N_LdLu z)!m7^Ts~$pdp@tb?w2|DdEBgW#0{a67MRT1%A#eZ`$jsmVCNY*pgWS=6+@>@vB@&w zlX>F@#0H+qrDINQAjJee8jxH-=o_ChGyK3U+n%&x*;yJ=%doIbYx)ZqzZFJT zR3yPM9qMW(v+tAMOfTE}{+LpX@R*|5m0K1#55Ivu1_0j;f6FEiDcS=}@7)Hh7IyPz zg{A_QPn4e0d#0CW)9v;NJ!JbRlfb;a{s%sNmAO*DL-YX}e^OFtjEE20A@|(IT^Yb_F5=vK>jC9IkIf3?eYd4HLc7IhJFR|?ox2P(io+Gvcr8jr)1b!mkx-0KCRSg6r(n9_)I79Eg)0Y8GP~pe6qD9 z-uXRH33z?(m`3bTk1Iv`qc`x|B5~EUkhpG2&MoE?NFMl|?cr$olXH!SAY#E`b^VFO^w;Il0d%CoWp*;iFEA_q zN;UA?8w*fba`N{t)bn!b~Y3Ln7 zlW?zpUpXF&Z+k(RzJS#!@_+s|7FC0*2l(v-W3@kDT&vI0HcBv~#>CIz($jA!_0pQ}Y@4CMO~E&d2!0(+KRS^C|Jnn|7vq zv6l#2^QdWUug;?&uh;@J`U0uZ1 zhd*sV*#q4Be_pTsS~6j%j4z47~<$?OB|4`tG24n^xEv5j?exV zWd1Z5Ub@m3;Cs3?MaO&6bJVs0_|RswGgI`uza}=3XU}P8l)wOxFy;4XXAS_3TU3r! z;T&)6X{}Gc6Tle;U~UldxuSq6~2I?{1Sd5Uw$WGv_abq zKEHUT-q{-i;I@~tNc7`HIdfn9>R-4$=&eA|5_G{Gk+7F~wEQWs+xs=bZ570(2}kx| zF(=Tp)tZT7VM-QN`6508cr+o2OI=KM7+tq(=jNK@0^`yN# zO+LVHH@qhXY7b`NDVnL7o;Rc-Ex_VDj93GPuy3o3K)PI}Fq1?psjtgVPl)~`05x^; z{|%r<*R8q#PiHrNYs%z+_$&gJJjml057`X(5^#!62{#o9XHu+~+R(3DfQ2zla;Y4a zfvH~#XxB|gt|xdXnwO_yzZ%S;hBPAu0>xsQ{B9Y}d{N0P|GdPm`|gqF($0z5nPRwt z?$Kcdm^!;Bi~hb~b}@LR4xfqs&s^j%vo}lu3q~5e!xpRsH-OHb?K}Mq25M;xRt~QA zf|mDG{j}AwB2tNuOSY~RytxWob)JGpY31xc>KNe5xVaPv*5Es2LzrSzeF2t!3c%fA z@`nyLFDq=HksnX74rGZJqGW*O9R)^{h->W-84c1d|GwZ z@6S)M`0uRjST~$b-)V4)i!lEm{`Bj>zKhpnS>^2H{m)@vpA7va-EpoS3bq4X6Cijj zNKz@d146g(3a9_+EE`_8dk+abcc`w_qSJg%Sm$09K$guil>jXI?<<+dQn ze?hToJ2f=y@COiOcP(XpBU0_@^{K9?S32an4F+P(_@ zLeOpslXEY!gv1yn6cnj$Eg<8?>IGvu-G+d~2kEs-`|R$+wL8?eNVhdJkyh!mf5WgX z@B`|JeD=BXaXNqp_aBuENFWdId4Zz3fVIws>!!y+4Zi!UXM62w)t6fXF@;9*cFYu) z%NoQ!T``q@iOGEMAAJajOuMsw+@qzpdU#)49;&TS_IdO`LF2swXz6g@Zi_l5Q`{f> z-%;sPUwS)Gj?ijjqK-3$W^%R$G8Z)FdE66>=iK0#kx~9{ucZTpi)_%*N!xFk+if$A zIf4fY|9;`6-X1ZK7xH)g$=uz1qlZV{2_!QaJ>cLGIC}7fqxI9OWOLk_X(LJxD21n7 zvGg3x*Z$iFC2HjGxV-#{-0nzFjP3WCor=C;s?g)!zt7IYzm>Ke?B^V~52FMS=XZX- zeWpj^So<$Zn>FlaDh0S)B|)&SBvO5=+OL1;Ek3kE*=L^Ok5J$p_6J9b~x?cVa5Ip_pcj{>Ofa})Lw ztF@icT#;HYu&KfPsw5xDVdbrl1Vh7O68xbhtVoC><>m=cgeP3zl*$l{meS6z#`*us z3mj;b2g~4BR`7r-+}Vm#oqG}7%tHjS)`()KAZAJl2;%hamr=#=Uoao@$}#v)Q^*tm zh8iXC-b4FeLI{fcwwf)XLC{TNbYdV@bxbSST0@Htmk;^z7)L0qUyQakw5*<-GL(OQ z1ODx=>N*=XnQ7ov_xw`h{ zgFBVz06$e+xww(j0Xat;8`j=_2bJ=5C{w~P@RZZ-}zimr*BT?H9ZIG0x z)@;Ua;aDXoS?!*YkMmE~YxNts3=u$A5&RR;MF%ZaGut>q-gwqHQqTZqS@`69{h6OR{ z4e3HYKg@o!XLU z7wD6Xe!Ef$;`kz1yCBz$xTzq@bSsY<)Ek$0Am8L@hjNicVf)?#nv+^xw`b@YrTAF$ zA%EDPfw3Inw`3;UB%rv?C+P>mUJ@SxVUa9rCGD6py84ZpDvZ&UrIBKW5BM7r8(S18 zH%Fkg({9c1RR*(r%UU+5T*hzKJF@C)N?2leZ$l0&MGNAT+P3x+>*R_ml6$3!;|>xo zI-vdh{UtJnz(mG)bHMMdsPChiWmYtXw?tNxz%@gng&c%NK&cn^YdQoCyjWRSCfGd!R^y9; z?lR1kR+0kt!r1-vq#|FB40R81VcT=i=u52Xy|))!RREevm2&e5J(+?!e_+Lz#`p3v zxqN=*#f=wd2Whq^0&VP%otsuptyR5j35iCOU?P;C86=(NH+b(YP`9wS*7ilSD0T!; z5MJSx&>q&Vj;4gWUl3DayS0>?+uptGB{?DPJ*>?DEPHGP;$K7AJ1|yNoO)^Cy#5SvJCw%rzwgxnv9P!4EL?Ldy}5P=_)wiUwqz$C@OhQLNpEqgT{|7=4H*BJwoX)NhJULP zjp}FIC3CqJSW$dC<1-2}sle5(YgF|tDDsGIT9^x)$6Wg<4KnE$srOz84oIb)nFFH( z^yS&ijV2aL4-TJ`?iPDi&o$uqC>f#qjL`SXCL`iNWZdxF9(vf2}&`mQSFHU^OY%E4L5a?1>*Sn|j>jW8w{*3Z~#GW#?F z99w0{6l}nJRshH}+G$~v2?5>tm)_)FJC8l{2Tpgc21+|AF;%xmf~y&d5CHf?{G#lu z>%9VbSh(8O*!l<-&E07NKdY z8h64y%h{CKCC&V$VN-2JL$01@0$?tElyW0Pzjd<`AtS7f8i-nLr6oMOdU4=&hd6e! z+AZnCOl&s>Y&IM~uxvv(jis_Z7&7TaoYCp~I!RN0b^_+>6eIJRk`uX?cPL74n0^72 z)FBVu9*_pW9N^7lrMxm$I$Z#<)!88){bWLG%n=kkwdqgT%Y#hwLTLBX35`vGoxc9q zHXatmH&sv;?2`Qh$U{gBh6Beqa6tPT$}aQ$vzRbh?R;UiK`^^i$_}`M1?l?SMIS*U z2ai>ZHbppbr-nYC!E`vB&9pmKl5%^&=jc!FHR$kw7Fq<_d2b4oMkX&YJq}`SG`*w~&jA;lQ-+|CR=^kbe-LUiN={y6-2>xDE!?_9;e2sq&(a6< zMaTxhl%=QHlLFVE`PLf{JQ~Jtx|Lrb_af3k5y_xmkwE28WlRDFK56Jay1v5~D9vEF z1}c~QH}_el78iN&0OhQxiwcUE`?68%)j0}?y+%&HT{|;JlZGNa7K84d4)5pt?czNq z;6Alic(TJ#D`d49GnvA6TyevNoKRO9?#|uNV*4NBqi-;jo6mhw2u~Y#KCCKaTc5xkFQklm4PY8W-?P~ZXty9!i#R3T2d4$pj|#nH!&wL0F5Po?qx7Ed}; zrpFpvV(ntyu!9x2%I{`C4Vdvj4RvZUELnkWx=sa?3G$ON+*1O8$V<;xobEqfaaPk` zXLf)>hIRdV>&C|E&*8G(>`h&wEO+UT$JaX$z|;c{II#9V7F_N)^k2GnCx?72;m3VY z9~*+w%BTJ83)xr~MeaRaS{i$;CZ{L-xZ*9)afZRh9E$apUm6QdLt)L4VY~0f7}o># z?~i@ehUJBcfVk9cr(*v*xNQy_8w;5lHq*-EyvEd;v|O-RJ!(PQ(Pl1E{}Ouh_8J-{ zInkY>n6_>=3DS+hiqKyJsqmuYUbzQB8StB2J97^qPSvwiP~l1ua<2+GY&SiwDB1sY z&40Bty`$EsVjidS0JRoS?bpP%u>fOk)ab>`cT;0!bro65^Jq{jX=v(Lkeh{NYP3&s zxZV~bsizY>518&@l)9rnciskN9vftAr%|5YjdhfXU`i2!S^%>N zsZ_a^H;y_8Xo>^|CmK)ln}Iew&m~Eetk(7hGJ8XEu{#Z7e(+vjRj8q|$}&}bmBwj< zV{sR{*!vJDf@((QS#!Ob^0r^f<59HpEiMuf(aqrnGYq7IGpz7N+Ck7S_W169D2@)7 z5r`}ZF0~sI(A4>Ix^%|W}4T&qh z)~+VgSHlm2i;{)hBqT!W63%(G8JrXx1gmoOyjLta51JWsIf{7Yv5)tPU&`1JV?hRe zJW60~>1jshOSYs!y-!eB7es`w`s?P>4|SHy9sb`PlrGbY!dTiy8ZCAoY1tU z$)3H9Mc?U;XIFpn9-qyqq9_MvBi8^UcM*1?PxmiuJ+k3ojd6I>Y)V~}r0+2%n*2_R zB`5C$6L!uEd8~YH0$Sj4-K~ie>O1r*bw3T5`Yrrf2IPKxhp0D8BUi(Aq!g&6JP5ua zys=lB>S>7ia@?v;0+PRbJ$Tg)r+`wkg;%vjmyB|ca zbRr79)QE4EG zHp=ek_h2xqwXNYlFY8kllL8hVS0k6+S|O)g1bxZY;{3MfVtJpgKHlOu#nNUNt%z*O z*{N2AtMd3hIB#;EzK%eQQzRS z13)W1`9#bqE*SbgU7=;Jo@e&y6c3cXj}b+rVU`EikHa(#<-bz0v)5ML-4vj({um74 zV}wdhMRibll7{C=;~z2kWT2k_R#IgtlXS)^QW+8>EMw4L4EC8{C+hJQVcgQgn9ET1 zFN8<;o+t*g<6qZ_o+ojWKX~+z;HSVui`zKQQ*1CY`j4(U`JXl&7f(Fivw0vHDFjzX zSl>oykb%?|XSQa0n=^OSV^w!@p84`ptpIQ$BvcCem4`a_k7Z=8+)tJ#?ihjKFu=WI ztx#HrANVM|dczleE6#qAd#S3x%|R>5>LZp=fR^t7tSga25Po7@YAacKQpChBUzj>GTo^+KiF~jg6)B|pfC*e zfkTc^ufDXTQ^Rvr>-*quyFFC6sg$0&3mDfGUw>GeL1Q7zNp{gUV1<47;EY3&bM-+! zfj?NWq^G+akk5e-f@1IIWC^x&4afM8p{U;zU!;&1k88T|Mc3Y937%_GGo}Z>h7emgs!)tB^9+zr|Jh42r_9h44sKv%! zLC~wKZBfAq-vXr<6oKn$RnJAq>p0@T+EAfG=a)?3WWLn?EUzabs2VFT6|VRNVcLlO zrma@PQT-OKHLMCBj#+Jr`jyQ9%2DTEWk+`8xEi%YnxOOx4P@jVr$mvm{jcAlnO!Qd z@ysJP*GekjRx9nkZgJ+jVS6$;MnmEiy*8N6^N-Vd5&UcdaBU~2h(9W5Zi1)0!UAd( zPADMSxjab-jz2fu;;ds~FaHK>yeA$VifdIy9>2*P?x3HB8pDh=h9fiD820nGnS~8K zzRcg4M%)R^9nkn(uoF7APw#B0ksCz{ykj%yVnDy{j=pqtc(4bRJ~Nmy=19$U7@SsQSHiw*S{~%=9lJ*=@Mk# zrCz(k@1Jt|Yxi)dbVS1IIUY!X7@pk(A8r>g{7LFOZlFgWlxeX1yGq-P0dS5+nqKM; zXPznfo>7#IyHADIccO;VnR4E3{47njVI6=Q;-3tCT446U1>Wo|mtAD5c-xFHj<`^l zuEI+bw+*kpe)ob=b=*L~%w09X>`=;h@>X?Qo8XtY*!zOf)YnIkRC_*3M18}Mi}dsA&jOsmC#>WdAIzE?JjqGqW5MPR#tOqZQGyA;oh@0mW`i@7VeD-RjBitM31NF0S^VVMB)dvCCmVhxC<+a=IL}(%l zXaby_^L*ataVr)mVq+Nnmz?Pf9i#${Ol1)C)7cW1SxizZTmrY~#?5JJy=s*%iKLn7 z2=U-O6`oX6m`^-+izO)pCc7jRgp5u=HaUYwmKKPizOS8=z+&6ye=!F%71VUcm zb-4w29$;95j9hA69X!%V%&evGLdq>$Owx)~G)4Y6HbI1jxc$7frFDm=1X z7Jk9YW8=!GoY#w4Xgy_&-Z?WA%tgOYYjm? zzq904&Zr4p+h=M77W(-j+C^BxU1^O)?iT+Xd!xOtUx%d59c#jzK5;?Q?AKOndzgZy#dJ(3Z3KG&*{thV^IS;mI=RPO5g*cOkqJAu+_ ziJ2Lx4L3zLrsBwI0q7Y?Ua(~<5JFh@)Xd-`t0mge>j1-J1ikTG_-9}Lst{T2_TpJ= z-+RundY3CTHv)~!EFHm2``)et<$BJ*3T?nCZX7#`V)n@?cWxHXGc~SOPs+ZCl-#DB zZfRNAR!A>eHR`ZZ&d^@UbE@FmztngmjVr!I&I@@szDaSm5YRBQ>W+y8scZ#}P<*)? zG%n3PTCP&(>Bb#*`*E9Yu0K>U%m$v8(wDRguHP#GRG}Dm=O3wQw^Lu!!Lmo^zph=? znWDdEKdcI-?^q9;rimtCqpGpNMoIzo?WnBk#%l?Fn^Csfys(>B+xAY~s5U$H-UF2^ zo5W0gIc~aX1gRhFVxQYsq6zgQOD+;_DK>Z?{Uw`*eL&-5o)$q7(~h!xfseZrVlK|} z6J;@PrO1ifD&%*|;#+B*XKh@q8Mb8S9YWfj1FAgm&~0*8$&y4D+Kr*j)Y*WuS!EM= zjf@CuM&uBM*ZgWBa<__%_sdzOR<)D-CTB}&zjvwIgpa_?G5@yI>;CLtRQ%sD&59IW?jPr|i^)4>-XgG*;oP3n z$O6w33;$mEUO6(>l)*L8K%-G&q0T7u7UqJNRW&yQlzxTW>rdxXXvjLmd{C;(9l+&# z`lQ_?7EB*3*-U{chVn3>pO%bfN6H7(H9U*%yNW+u15Kz9sJ5Q@W3xn?H*Q$`o9vl2cm9(1zErQg{tdtI7I_OZgRa z8r6q+c$k*4%!Mva`D6Tk!E-&1)U!MDr~4m0%UtR8BP?GJKjm;}W(F-`Y8CwWCJqo5 zQ*TGqOhicG`#%-sB=IlL41{vkKQ^uP`Gdrj9D(RV4j zA@@Zm_6j*=l5V>hghZcnKJRsQJqec9A=A3s0oGau%kOKVUp+!~!lNhBCxED@~hj-y&DaOp{;Aw$BvR$-AXM~DctkHSH59? zFFdk@pU(!S&MZ990G!sEBJ;6H+v5!ZRx9Znvy1CKZW#+>F+nw6(1LC@?9)i_@Nu3y zzJ>u;>GbAmu4dKoDQEaH5*UK6IaRMt(C+F;G}dxw`*cPPiN9R&{p#*w!01I*Ui&CXJzig_e9_g2OB_TdBa2 zJ)ys^?z(Oeq!yKBDL0L)m8FovEs)9BK3yXQiO`MT-Ufq5EXRz~mm;an$ZCIk>+3-I zes3K|gxTLkKpU=_HDGPQ$#3|v+_a=S(GF*hjYhG1kAWRq(CcDvlh&G#ZVJn1z771} z?ae=JQ;jQ)=#A5ZnsQvO#H&}3eBld?x=(9Au_{T7UVza-#Yw)Zb z1R0K_*&Fyze$5}4pWRue+9WvKsdNj^%x-2!L^6=WZO5%3Xh&s-Kh72*d(|rJrFeiK zYNyKd%Vuhnpa1nLV%tys&4jF zTY4bu@B@raTye%oG>aLgkM(ECSgjKhJXV}dxj@i9UGS~SiWZzd*hd){hO${3?N?k_ z%^1!8u6|stAKs8g1%5P!V=LEeihNMP=aL_6yyXgH)&FSM;emsyTnF%DNvfMvRd(%5 zaoFwQ65TYcFI7HQzl_oWI}TzN6oEkn$}BLk1zo^W)Jba>wqI!{{62cPc@ zm%@TsHPd$HV?(WclS$UGO!E(GgpYtz=HoW&0P||>jDydKF~K2u5DwG=0Ia|n^^aRz z4B#l?TBCt>T-v6Y_o`+pY9A2+Omo%9W9apcj3Gs6!`B>P>3?qr8eQLmn0q@ctq|PT zDxK;l1^p@lh7q5V$=&BIB2ixMF`_(WZi&;_)#euN$~8j3pnCw+0_)UER$JYB%q53R zbt;qP_nH}-O1v}D6q+F78M;j{I@$@)NIM3h7aG*ax=$8fx6BE-DPNouckWRrWKzbA z-dS~h=}&dLoRq^)F#xp8`LlnkRl|R=&YC@0@vzWIX~WGK;ar3YU3>}pLE30ELFM9P zAw4W!m5nX7;w74_76V)d^XnFNR`Oug>@i$P)uYkx{=e9J(|9P`H-32RYO)j=VMyIA zWDJ!sSwd1|S7huevTtJ_OSUqhm9l2vvW3CehSHR>k0p~WS;sKQPM&k_`*+{}=kvUJ zUOq1#FHo*Iuk$*ub2*Oh@jbrB8;ZJ?Js$pK@@n-ttGnMmcYzW%mMx0~#iH9F1-9DO zt=t{k8MFN-So@RP4d<^Ny9?mZm1-Rc>gu4R|K=LGbztn?5#qV11Va2Os3)@BXfn`0 zFOX3mzkwpar)1fG&pDc2mk1lgAZi0AJv|rvFk7)AJ6nRr9B3-*RxGFhKASD(8tS4w zqw-MejFd?5pnUV&wH?*1fv&%*$5R2?C2}@P6?h;Lv{JTO`f3(`*OB;bksa3- zDCtkrw>up6q8aJ~Klhhau{Ss;rltKQM8TV8K_0?H#U+cPxx^8TL-?9*!@=X2{k^g~ ziyaG3Ay)ea*D5@ed?sk*?w%jv*$Otwzv(F&i(UuEJ4WX2eY$e;gxzr#*#yUq_w;X-o> z@vO*zS~~|M5qDsg)H|NvB+BHf5Gu{h_pv{GQv!}v((VIWtklg~BLXJj8!S#kIR@=o zU_3Hy51kENmv_BDA+r@0MENh|S54J|voSN9kl}hzOw-%a5s@DH^$Z2W7T_CRcrT+X zGvdkH-bz+_azZm9k*JcY^S=c$^09MN`SwjstqE6U470EHP2T*YaZ-29D=BBa~PQ0 z9>T+Cz;<}TWf-%YaKI{OXgP|D+|rtMyt!y*CUk5yJxd^D^|1q0{OCh1Z^c?aYNGM zE|bjcQ}trGqf-UvY)sAwSV*PUdThid?GAq*%$xn)%Wv|&&BO{+ow>Yi3`F|j=e4&g z?GQmc<0Ta(CdQC#g5%TP14niaji>caofWM|HcfVZ0V;KqSYgJ4)w5WcSY13P2>!3Hic@%j3)Ul8<|zw?2%09$evXW$IKZ-+#$C%Fkk({JpHK$xG`q z17jCg%QgX41A7WMm>X&WT0WixB_742h=wid=7eo~z;(BFk0D}}%X`*MjP+OpGFTKIL>Y+I<+^$?6(qASRuD4{% z0d=myg8Er=J$jqT7>DX_e`>hm8dHA_@3493S{*K*sux`ZEVg;!EA3xKK}JW!HSgK_ z67`WRja{r_uql`D0iiTEu+Svp_hd(`Vl#@pp7~IKQJ5m>VG`_1f+}LEZ-W;uPuDzf z2Syw)dE%fFy3fBL!v=rv;R9&=@~42?Ze{>`076!w@IrmpLnB@?UV5*<)SRk^7e@F1 z!+{5+{y!2&<6f4%5aR1S5oTJ3DwE(q&a1=vSF;dEl^I|lye24y+lTIu)f`1ww!ghe zAt?U=#@xV!w6?5I5{B*w<%`%9?Lx;Q1WwOq&l+7^SEqJ&_lT%$_e{oF*ZPPzEXR#u z*D0#2dB0;ZTxjlbU2M`68Eo4w#Ris79z}fFQT3!z+Y%$1w?67;a9zB0`q&4WY*>x& zP${8yA*=h+!l^Jnr}}x+vfv`0N)hn8km!TsxxGyKyqJ`AQDX6Bhjb_5>Iw=s%39mF zlc@oPk>B7S42X_LVrM=%o#X;@Q&+K+ALG&F=-FSLu?Av7Q24DHvvY^;oIIN$ul#!; z3CxG(28#=YV;Ezn1s-nx5Scm6F_MTZQ;`R>-APu!3HF|rBM5_{b4A|pnau|jG-TM6?o~xTh`hMa*_s<|>;jiGa zN}Zn^BaGM-;h=SgiD=UR=fjgk0@z!*6#azXkJz-x<@FOr&~4> z{;28I<{w+KZQhwK5nAY~b-NZaT2~in(-$Cu`IY%sfP6tyR;A&K`KVlej_1l0ZHW8h zuKOca>+S$9IYoWzpXRS;!n!uG@uM?6&M|SxK<+9uJ!`asW#Acz z!I4vf@(8z0l*^oo;+&iV2Wn;@qeE>`;&MF>^)00p5AOjkL37)%Sto7)%<5scQ}zV- zt$MX<%!O1C<#M=QlTDEE{k5qdgEGsb^l+R@6Eg<#FHAg22F(R*islz~FWq;3hM#e= zYYDsqLh5tt&+}gbgY01^C?RrKh?e||AV^R~bB!PMA=2f4dbAmLNUkl>Te|pDw2a2C?5~WAExZoA<8bJXFX`yej`?JGtGDbX%L4%>@ z&)@&5Hlserh*6#KxhPj%E(+{eVDH3RYt+M^v11IDirFLeHx$_K9#a~Qtu4T>TRM0P z_NkYBIk!kSGP?gU_r|EHo00k5QGjwI0me{n=`~DbJl^>$FbwJi<8FmCdinJe zs8@~M__S(LLAqdcJXnD9^;2&rL%;~rrVm<}iR57vuphY7conUxY|K z*mLVmPI(O^op`u#Sc9XX^s)x7?W#R+U#>}jt)o%G)`bISr$-FL1CeN>WUax&DD5#o zVbNiGk~c44T^g6yefYr;IQ$Fp0wu*Vu++@1#E9ioYG%!!mu$;N4~*wlce{i%fbj)q z$g2aHd1`R-P7xbnG*?vRsFJqHLAcd4*+JcKgnCI&W_15CuhsH%>&p@*{D3LB*t3*& zFW0A{D%da7Q@nuC-F;M{h+9d+s19%Tc@P+PDoiN85t`0}XNuJjD>RqF`kg*e)cBgK zCNfyJeKkr}{#0tI~b#(fD1@2@Q_Ka}@PB{>iAt*0~`xfNbd>d(qr( zw$Bg_ieS2Yb53D~+2e)p0wd)u_os9%Z25f=K@>Z`kyR3}l3n+&nx&CckyXVLNf8j`eZcK@kKd z|A$Cf8^fGM6WGnHwQ=7H!G1RzHn{QAMQt+~n05B<+GZ2HlZOFqI|cE4@jDpC%CwJ_Mq+D(pO7_x2}!7j_aEbH z@ZQZow}Dc)r?S%$e)($dP5Ps|i!T?A^n9#&j$?nOH5!ky|CNVw!`W9X4V*BxzEa($ zZk1?ZV|Cueu#xjV4o-Ln_*0iX$UbUA0nng@FjJM$sItBny(hfEh}OAjhauSM14m%= z)N{|AJnRl-W?#(pajOEZv53_9d;~x!gwW}_6>Rs%XzcwT!0!9WyrA|>?9J<8jd(T7BC z!BTg~;Rs(dr|^Ih;7FrmmWlr0H!dSjl!E#GMD;(RwQHaYRV~s2!Pb5EA^4XQw7?y@dys19Xusk+{nyE)VoIu zAyaK4a9FSL_QgnEb`XsCWI=K*;v(&A8<|@$&c9eUEjF}vMGR!rL{2=CWFP@JI|WTM zUZ&TnOfJ>jqtCya9ru6v_KdXh8H?>X)uW z?(Z`-SclSc#dkMf02ecwJ?;dK?VX(Hk4uJ&nffvp*%8wRg>}`EAc@1bUFY|TaFFP3 zcpYo}&$7<6&m||Fl%{t?HuB>+mK{1`RukKqy^S{=!T6rI+v7_+>$PC4ytw{(xib;$ ztV6w*PSo)d(Ftx^zeI@?^CVdBb94BwivnQNkF^xZvoc5?el@tiAhoYx9Bc-g$j*AT zE-_*oZQ&!g+}V|+eBKiH2I~(5zOE#yLqLs}biXCbiPZ$`&m4%=7|{^JbTa-0mLST- zCH&nkh754Hu6>EF!};@@Cwxc(sPO|L74p~_9xRKNara)*OX}21X9nWcFCbn1+z(R5 zImT5N(vQ!5X`e1m8WkO~i)&<~1F$($6qwx{^ER#tE&z%Gh8I~Nr5ItfL|8#P;9RV0 zXHLmml+PvCc0Pm9P_OHoRDZ>H;Ym>V6pXm@W9m$+@x+RqTK3BF201@nXpis|)K(}d z)~Wu`^VCht+wal|F5vt1V|IjuLETP;BLw?0I33VJQt$yEHQe_K(Rm7s`g4JIWs^-V zV!o(MnHz3xKebOoNS01=*F~T6`3R1NI>ftY@nm%^>96_sZ`O?j23|;Mx?-; z$Jj;w?2{TKc$~ChrY_kotEvw1(Vd~4&S{S3-E_Yn=kINrZ&>5+f9p`TFO#if|0n?R z^QGo<14jpLX~kplZr_62d{GOCF!@_G*`I5#SW849Y!E?35&CXE^)0|MEJR*{wcvn) zqq5-W`s@c#KiZNYy>7w+Gc+Y-o_0+rgC4`AomG6Mt#zKMfqs<}kVafbEb|uBD=wm? ze(@2{wSsCkbUQ>9n`HZ>n#rz;^!v6+-Eqe;Bh@qJAXupan_Jz;Qu$oLGAco8q_3^# z@Dgz$do4-P^hy16aEMWp(IldwxbM}p$yKWjYoklQxBCjK#eF`GwgO6uCkDm*c1e&4 zL=z9rhm{Pr@Z)cDd}mKEs;wR7#}}+7uhI=oq?C9pZ#o;(HqT!*g`MnuwQaWwDzh73 zHf0R(92y|1K27Hy!t%jF98ll##_D7$xc!|IxLOBO zfyoVY;4hFWtQ(INv^Su*3R&p~joIi$U5dZ6X87d{Ro3B4E;o!jKFUfCXv>B!6`dj} z2SG=<6!nWKz6QDwh>P(+OLi$+v?5Y!jSJqml5RS}s}dUv)PQ?!`U?JG9;RZAn zhU{#y639zQAG8cHI~~&YAWZ~_j}p%z|J<$-lHwGZIs>A2mK+TyUd#7y9uH2-d)f6E z$hyd-UG9&HE27Af2yb?F3j!}Z)s&zAxSFM-iZusb1g$Txl*KY0e+ukmWQvH-NajLi zy0YZ-g2uEYx;{k=5|(lgu4L|Pr2LnoVLs>ay>|O0m955$Be%Ze=?iwVO+YxN3rtP) zWiWDk1kr1aORp-~=!u;0?{;T&L4V5*6N{n8Up4E60Jsn#cZt*5UFRTEgPriSF^j)t zS{$I!fvkn=8tpSzqt2D>fA4{tUr+vj-s(pH=+HGg(HSMxpaLc8=o(KWL6l%XUtEkAo|S1J$p> zA74=ct}q&1H{eoH&dt=|>VtaU))@#orF-mU%1YhOF4RW5UqwI(w|`HneFS|C{|>N# zKsF6vWCytY6;{FZ1)%=QGtr(lE|4;51w*n{HPzH-IUZ*#8NXGP8>|Q9Dc$4449Auf z*T1U+N5@$THvnda9X}CuCB55Hh%tc2YR~!!7EdZYxPvxxk#?GR zHA9i<0maE0dYZt!<- zrJ?~f0LlPzgnK;7oj)k;;DOX0Is=xKA z(Cbz1ZM^yX2TZT)fZ9Pc_ig9nuf`2cToi|9u>DbhuJA1S<)?>vDF4w$zo@SL&7kM+ zSeP2HL+Wsg?eKlY-Qo7M&wm4sVt+$hpDMFvls93w~^|6ht8`l}@B_`(rE(l7=3x^LIYLJ1oKJ z2X)Ailc5>w-AwL9GKPZzFFNyfs;0R8b$pd22d&ny)%`gE>L|R2-tW4v`hV3AS(B%S zAfgXG*YW-07yVMeZSkwftllG9s%Xytqo}iuBjRTN^6X1#{(Gm{C`tAl4b?Tzoha9| zbxTgpfJPa^>7``t*#TK6(-S6yg)vpk%S6>mlpV_0%3K)cDrI7+%?r=xj{B zQH>7vX|Fb3rO@sKNttD_jHbq#Q;R_8sW-9JOa{ZzkXzr#zs*X=4^5o{r*T8gT@#L! zz{(&VD^R*D)}{Iy2>1fU5{>#Y{+r1gt~4RD3t=^XVO~lDN2qq^0&wM4>ED~-fQ#?> z!`*n1sR1Z(0gONYPhLd1116NKf(iVXQ;!1YFLu?=JnaLSmy*bHYTNk9B#eU z>!;Po9gP#p(n<;6QCI1Y>ZSyV_4Hke`{o5dOym@(;`p`9Vd^m8p?0wZB)&!|HS!4>mae;$1^HBgmk{hhM965m-`NGzBdJ` zCtdascd4>;j!6KazDh_9!g-J=%Iq&Nf=2*=_2MnW=C`pJ(2prsj8CBW48%$;DXC#f zl;}K}*AWa%GG{c0qq$DOpPOT(X8=&WR}fQG7;#Uja>CQL(mj}p;|2xAc$H3I>e%Tw z**~8OliyHZ9neqo0?acmToh@i zLM+{ZGVBX~BhagY@~+coHX!NVfhU-hn3Txj$DQgasHU#E1dA;q!q~zG!4ZGFW-`=y z%|>0Vj-9a;y0*LWpRmowCOaQ`eLgHn634w${!#F$I!A+q;`+wD4k0sp7lpMS*T>yL zKaq(NEm03J<;}Q>SSPNkxWk>{>%~iEya`mmKk$}N85^m3 zlb|AJAo2nDhkD>x=goh@eiA5^qik5~o zvC=<(2XCz{sz*X#Xg#F&Wj#Pa^6vHogaQy=R&>D>Jhw5v-!>E&XRi{byf&}rCk0Ol z5uJxm=Tlcl8x-7w4vu3y-_29a(b zmK7`g3cUL!om1g4M6_;L2T~S1K~DSj8=zb#!?PPefY48yLkWE1J(w6u$nB|(hRKEf z(51nq;kv_j0MqWF0HfJ_h?Ow72;@#KveMtGGPdeEkk}f=M-vZ&AyX4!e8~c77)84T zriKbopY?Q@-vyk<)(|)b7LvwRxo5836($z%fIZ-s2r=S3c&Iafw{!(=pie)0!4>ul z@)<1`OkNwx9feWKry%Lv$W%KdlMx);ZyE6%n6yO<452dA1TsqQcsoVU8A|9s-Yzn>63AnMxvW9KDHd8j3m zlI=k+W1lUj;rr#=wb#?iO$iN8fwddo73{@5t_J&i@EK418Kk}yu%rX&aF^#0QHU`+ zy`6ICQdB}@{O8BgNXR4zICEJ3a~a6hJL$(jG=La-SjQ1!#M~@hz0`-u0+~J@rd9gi zMJ$-7m*F5gdgz@5i$AIX@~iM%7zacq8oZ?=#FGw;7Q9aRzdQ^xW`Ypz1mAZCO^lnA z9%F)d^Ab;*{{8op{;YS~+Dt$rVnE7WZz}mPM23U$ZWL=VGMQu;`eN&Niv-EsF0(S{kn1ntV=(a#X?7%;wr~hliHUXVe08z!of$Usku&B0Oqs$TCwc+h+EbeTZx(bC2t4n-VcNjNkGsTm1Z! z!U)3F6FSVCa45|7?i|ueQi)Qqi-gVuy?B2heJkNFGyH> zY=3^m^P8}_N^05)Z8TT;v*Y7u$dcnF@141Lg8Fpwq6%JtXTB)>6!Lv*H_`Cc+)f(F zrFznyVlT3jBcy=JWpD4I2&muU$jMR&eQ;3oXbaBh>;nUM0h1BWxE$M3UQzg_x2ejX zid!169Eoa_zu|{117Hc(a3{y_JHh$KGU^3@fR98xVyx`|MAs)sJjT9GsH$Mz+~b^i zM?$FIQ@!qjqOMl&fF3nOIbIe~`qegDoD@2xUMyteIfZ+>Y)11Aucoy+ZEX>p-Uja$ zGYt@Y&8_anZBfV*Oa@6b>jNXHF~Srz2}YGD~&!tBJ$sD z22ROZDT^F&fVsex`eS*gLT~#CTfcV+zdFog-pnACXYClYee%l4vh|}eh@D0 z@(vRGXgC4AJE+^GH5y=RQfE9&B?K7Q1d(Ej?Wj!#GjDmpz2# zc!f(yTHlR@J!{(SHMK604wPq$|HRv1bE7}ZV0ovs4W9=s#&pR?dWPkud40QtI8Rn~ zP{P+wH^zq!92)0RPMWJ6w}8!3585Ity4f*BBQ+Dv6^drN*zdKe%9L9=vq>l8VG^ntkAH`h90v3T z-KvI+&dH$CZp{|WQ_~80(E~&aQk@%ep)RF|e|~X3{M0LCw6En|W%qn#N4M?`b?2?0 zM{)%5j^-|lflVrw2`A);M+ouXjTb%K0z17NvgMZCqQysqVtj)YF;6PSzX>sjIg8*7 zR5?>L(DM39Mnzclw_7Y4EZDX>qf{PFv5G3F9LZU!lse#>;?n`$F6H6J$j$sPqd)3r z28!Zvuk-nRUz>7-0GPq4E$-1XKx<<=H9fj0A-Zo#GsL~fmMe_HCIe^9l&2pxi)L{? zhip(QqOePwK?Q!iwjB9s*7sV*!SyBbec~T$E}1$NCoQ6~U{Z#!NVTaz9~W|BzdPeMWAU11?^P(k6>if@%;%-|)#KNz^<-2&A4AH^KiRmuvPV zI$MIr`0<4JBicubc5v(!05@hd?V0^MADacm?U|wt2Qw_dx#*eknHGCk9WEp7y}-6hiA_)%%?w12UHe42N@89* zy+uM@-;FT2)97h9ogMr&0GhK6D4IFi=!9p_xAm{2-gAljUH92ZFo=j4Ll*|If2!viyA{}*U=7W}hJYprBj(4)P+qdzr zy`>&TQ@u=TW`ng6RsC1Cc2Jfw)fMvozHG>7D|sQp_`)`?^I%J_IQjaS>qf;9rlYGx zm36^=x(Dp3Mf&hV2hOfBf_NZ_`Bv!d%||7Jt%JDWw8>*lq(lTvkarcUv+gA!ElMS;tt=^TxC9*glE@HpU2jVR=9fu ze%k2ma)tZ(ft_Fhk|Bj|C6_ceOWkLXm@7_{qFZU_9cKIXzNUstqy>hM`BjAYY6S^X zLODhpWvQEakxdiXc;dR*L#@Z?%Z?RmM9sQ5NlKzN!sS6l-Eof!r1OCK$nuXF@5bw{ zrWrb%2_u^2o{kbBj6q;UY$x>(Lk;;3Yv)K zF?W&hI6U|JJywFOUWDt=D2SrzWD2xLgHkNj5Of)v9C3KS>Z9(15Mby4w)^7i@07$} z^I|$`$NVCd4 z^C2&;a(&czOJy~0F8Q$6=Pn@*;0?;(6>bq981^d1v9S+;uu#Ba9<}FBj)$^+JD`=# zxT(WjT%D`ssA1TYlVLTly#JE_t2`IwPl=^G(^nSd6xIDz4MRrKo3zUIwts7V2yzb% zcs&dq+i=`;Z>Bbt;}PuAK7n^W0Y?D9PM5>Ajk%c`WJ&Il_RN%5MhKS@b{E-dq(pz~ z?P-pww&_jh4A;M|j}2FsS0lcBg}o#bn*d9V(w-P`&&g&i55Phg?73Ilk;)wL?X0>R z4jquuL}sn>YI8GhJ!F`cBwD8V{wE9uDng@M_NCIy}qGf@Du?1#ykH7=U;O{`$Dx&Oj;KDvMEtFCvFLsrhB0C@sRWE zXRfb1mB2NSjkzK2arhV%Z=ZlEk6yVQ!7#b*$~zns?chbBK*=EG?)J=VhO^BkovM&~ zuZu}Z@I(@1bYOPI<8+^ zoHjaE0u1g-4aJx^iMJs*DAMoVs}_>gJ*8@Z9Vn`53dw#T^(YdtE|F`_U}Y}`nsAN2 z5ne(&fy9mFCLc&yAvgJol@Wv8I8_i=aooMIzooaxnZvsyjxFK-fDfIY!{N}qm;24y zF|hS35G2=W{?&E>o8R}enWM4a(UN9rK#;@Qsxb$~OY#G?9G0uWYrX^Cx$C{JEriP{ z{X~=(h!ek`vdIi&QO{vtKLt8cy=rQl1YJK>ZGQb!*kC^`YVSs&!1fa^9T4iPmw2(K zg9tNaH6rbGc$VM*#-CSA_+sLP3}&VbtDcL{k0&=6y1HeD(2?zmW4 zf&Rre|j}pg4&nxuVtEwv%2_wB#p9e6@l?`SFSQpFLvr*6@G?#^$ zi(cPtW`7B(OBvc+@7&!%nvQ+zuzh&FU~l;vWb}xf%wHERvG0hQLg4mj=Mb6o`^>Og zg8=#{Q^91i_dW&7Y7W8CPh^lylhkL*N&{s?bHMZ%1@Uo2K?GLkfd$xl^4YJK2n@`F zT&CHF7k^oBnBG=d2cjSJ#QgL+U#16lXA6oJ>jum{Mm5GCZUJdu98l;4$p`IeUo;jY zMc>z2(AIm8N}ta(8yf(kyaPlWa#T_BrlE2twe{K*NpZ2S5_I;*YD5#J=ZwMprnSBs zki#~ieyG#m{=45_TS}pY_dbRDFj%0zGf3Pw3PZgDq7Qcgsvb&!5DiPYW9A+{-%MCbk7q6&glnxK%GY#k3) z7r!q>P^Rtn>!}&urXf6_6anYrk}LE}f7dEWb=QnG6W_Jx12`x0q+OfqgRu|ogDD`J z3vF}|7B2{52ctjG+~!w@N|ib20}H$TXP!8vUI(4~4J^`%mIiTGfZTD=3G+lV2G?&6 zfLP`-0xl7#*QE?sC6@$g$v&{A3@LgsvC@{A$2PsPza;A+3qw<-7;y>ha2&|y`Q`v{ z?NVqq_Dp+4-&d225s(h>1q_5H7b7L5>yI-Zy8IK#2OGWfWGsR40E>Ta-J5XP2TaA3 zz^`hy40#kxUyI!i1If=`HKj0D)~SI2dmhiYqV+K7)&r2MW8YdYt?Gn0?g=`~PEY>C zGNbvxn4^!Z=0s{9?}_~R(_rv`8oC_t!)wE^8zfZ$D?z}!WgKW#06a+Y8qX4HFblHz zatAB}|~@lxid8N z>o13MfR2L~dFR$LCq1S&9-VVi7g%vW-eiiL6ZgwATZ*E zm{DnrM<6^$00l(AP9NDnj7zk^M!-M>R!=&6_uu&^&Dw)>7pcqokwRrKPm<9l%_f_xI4|s)|a8 z^*sJ(`_TW~aEiINCn^Rb98QE@{?5O?X;qX7Vf&pW-Y4=J;r zRj(;?1)4+mLwbBlKuREumzd%pJk8Gx`<>67*C-*L>wE*42&jEhgAg)xFpb{_!EFNL z?L0kpQh+~iR?@`bF;UYR)tK`D43M$&-B_aLoslf>j22rOQ{)~XNeo=wipS&o<1|fVcd7y-kU8xj}w5PpSTd5X;!_}gAgl(Uc`iDrwS0@EYRF}{>v|y8Bfx7+X!gJIEkNO_U`}yo_N@x z3hBDCN6SUPFMSsQ4wmtrCoMRyq2uha^Xk`bIgCLkfR4b{_~W#YZK1du#9Pva!rckABpeoi zDe{`c0-Bv!-ymf^3neYcv(A{%xtGTkXTE#|n4Y(rV!`S4b6~qDWb}FBWgj?Dnfw}{r6&(%fK6_Ce)rXi9rGlhHH#9Bp%j3W68tPf$o@|ym>N=8V4os)e_3&$ z3z=H7k6G?(HTzG@>xyR^l@|nhn4ozF;Yu2Kp>xaz-ao=q=fgYxF#F3s`JF|{@bi7g zePCP;zG@tGnhZ7OprNtpK7y10j0@_zH%>Fxng~|Wfe%{@q0%*Et zUN(x&+calppZzY6m)Cql=k;%Vu#EE)5xh!n_3G2HFX zb&n~NUc7RDzH1beBV$h}0(-+U`cFs&+#$f$4-lHa!9Qa^@PFbPc6zHIK#ivo%8rtp zM(og(yL* zQz#bpMxP6&d$^ac^Q$SEi$6Jjr)aa$U&|rDt-^QcCpjKDJsQx#@rji_@AOkDY~$$0 zP0?#w%OYAE4lIkH-~;<1>!-j{3n5)m`fIb;-XCbxoTj?FJtLoDy0kyWR+( zOK##(X7%h@68N`rrxy}XL+NZT2@{1hQwc@;#`eN0qN7pJvad5=}I)nvi}J8-AA z@EU8}=MomHzpk_#fz#WoW!D6%G*|)m6~vq1e#eHa8(PUylRks$1B^o z{ar1a^X6CjKORug@db1*DkiNpIliZ;_N;vW2+6Xn?$wLXfohNk&aCyWhpEhfYdnqy zR&PEsV@Il=smwwcgYnYlXiyyTdP=@L-k~{z^jZoVyv?HF7VMo~?T#9!6<4xN&W6dq z6Ck&!6h>eNT27DtN|%D;!}v?!#7giK2f;kfo(gmp9!tHg38Qb$0F4bRxM5=H@@p=3&O-R`rbB0uy9H?7ygjoLuVif}J zMJ3*Lh9=uPOAMvd)d>IS<+!**KI23FeL*8(#?HC;JevFc6vFWwX-9Xmt-I}4liw+K z8fymJO$}Xh%ONgLXcjdPLw<;|DMUCHlgu$U3!s#0SGCK)>+MB%4}?t1v)+nvQLFFX zB_>AP#Iw=3#)<)xf8?RBv?rzI`V5$H57)nsg}Nmo97*rjPNRn(`f|I<@4fajE@yMy zCwOo;Kp$u+nYJ(o(Ym)s47M)Umt)L|h@g+A_VyahGRrKC<|i*!G>b zv>FPAl&w^1EWUN7at_2mBpErVpCTEC*AlTSbu|KEDRM7>!F#kD)#YPqa8T@O2eEzS z!MBVZUJvn04ZctY!de0+T$uJiTqUCVQ)H=|tXx94E*srEevI06@7WuZ*)R_IfmV^s zg{Cxd#3A7DjUJddzRL0*Y~omNC1^{y7CAdT8>;V`V;kSjZE$U&R0CC-mShpdf>~#b3-< zAUt89rEmF}$6c68OCHKHZS&!6mKb3>msbGK76g$URyyPnE1eiDbdcG9d{|PD@1F>q z1kk|^V>>X;bUcjX3aI`%-Dki{WEs5O@*2|Rp!Bx<;?%} z26PW--vhZ=2&5Ra0UqP;-@!M9ItuicHarY8#t3jRzQX#!9Qxh(AQ%q*CuG)N=}#PQ>uLgNlA^&GdNGpjr@`q5^zQ$Pq=TYIbTMJ8 zN!1u$Q3Vn1{V8y5Fz19u%!dgKX>yqdwB*A%;eOk?m>fQ94W#gmf%<#W=!}+j*IsMh zhUcHvPym#z0p0pRo*0ebrfc9s``&*x!HwL{ii%}WJro+={;s9&TL)z9*Zf?X^-xeU z2-)4*2?ZkFPMj0<+%X@@E;W+!LX%qdSN?rm8Dmnm*rUvJ&^a#f5JxpG%vkS_^0r!Y zi8r7k>DXl`=wDeBuS$?;!4^f9?yVrQ2-NnqI488wR+BS7S49#?n<_s;H&R2DRW_PS zf=ax*xWsqK6CVD?Q&<(Cz3)1c@E}M`_R(+ff17*akqotW57Jnlw@$+T2W8RFzMXfw z@LOW5>8l%JW0O3-4WNhrsgYkl;m=>sz4vu>Y(Is!)je(h4>F3k>3k$TNrMyS6tc*u z95Ar#zZ=EdstVd&pIqKd#g7|uPAsmLUTOAJ5)CD74TdyLRsRgy@`Eo`(y$*@H&o-B z6-BtkxWt1WfPNryNujlq%Qcr8x=vSoHSBSnvyS8qu_gt%Y_I++?SAD*OE$7lNjlm+ z*5jta*rx>?7o`R}IpOh$>CFxhOJDI&xEN(`cXsxbcw`w=yx~G5eR0*M!<#4O!x^*{ zl`)36zwaLW$3x*`$+z~2j7zQw&42v-l|-!#0#v6qzW)`{yt}cQ0x$did*)x2^{~Gl zY5~Fi-OSaoP#uZ!m1^0zK;_-9 z;eKDnf8+j~Q?w1zy#Z#pUnK7$c%d7sW&3-pbcTq2hN5VK=J8q8NZwH)^-Z9fuL_zD zUEWpv<3b90L@8)3ZjZ!cK4*86NJnp$oIdd{%V1G<+ERb zhsiQ3s({dWsN0<#u7#1mnF`B;OWV`1)V+QErnL(Z8Iyhbs^7QwU?U+83T;}Y!9-8u zLM#n4N)K)Nx_k{!W~%eH`lr@IIg%LyMU)@iW_?5LmrKfcPb<^~u&6;^KPPWLTMUC0Jo>vDiQSy6F8jW&1cbwe+SR?$a9}#2Fpz(T zV0{{2J$9vZUR^8S?al48=??8Pk&5yApybu1eo_Kf)GQVimO{-OZ}?|Vw-IJdxP8e% z;e<*)olT;$`_Me3{l7loK(Xt@+3PtwhtW2f$H+_yp!1Bcp>*_M2uq!Lpm3Gf#>wjy z0@Lqees1+c3XM2^bq4%%E)y>Su8WN)ZBQ(D?roX;;Rc(p)iRn47C;X7=d{%me>W6H zJED~Q9SqobqTJH#(m^YeF)^uoCFZ;;Cr-_W{rK;Gu$Gg@=c1-TYQfAxvr58Tpaswg zl;gDcyAcQ^=%oKke+OJsI8NLr*!EnsD8)XM9d8rA3>m2Mg?)bb@7Wp)~%PAwP>rI=qjZu1I{-5tt zDWa=a{ZIVBOw|M`Z)^n-7+_S>J#tFKF%uZB*fzElwF!v(ZvLfBYY>S+^^D_AmSCvX zJ*@aY4E3xAsx%cuSU1Z@GG2b8HR<0W_5dNe$GDFesI%tK&#us^YU{DznO_~O&w*6k z8D6{%4%*?WhI1M(*k1F3Jh;C3S^a_phjcQtmM(z(y8r@)L)qZ$;4iyy|MkD?wzIGS z7yMP|82_g*?+^nP7;bXzrkW;-?XQp2CnEmgN|t6lTmQHiGcb4w~g31^fK+25NmAk z);{85Wm431fkc?Rk1c92YP!ibTT3*6vbKM{m^+$Xx1TAXecNYIQZ`xPW1e$ zUiP9y1uoqwFaY#8qwJm`BspSZGadv6FAvq1?%tkswr-fT+Z>M(<>?Aue?Vd`9#reA zuvE?irOXbYKeo*fNTwhB>d0!ALj{FFhKhGhW-?>O8n&7f5WY%9z_%`r&{3tUTJu;` z^{Xv!mI@7_;pJthg7le}^G4{R>%dGN2q_uvxwkMWj=?}l%NtW} zR-Qd|4MP?in@yDWG&MyRa(~++ELp9Gb_(QU-x4c>j&2fw{I5PmmiF&vbLXMff!L9A z?P*eZAxb%Ju~CzaF$lZCr-bsJ?x#JMrLmF?+wE}qU|P1Avfi?Q;IlI(x@mRi=8lUb3M)_ zm%9k)A02{^gpRQ|G>5k7gdiIBAM2cnii>q6w_7G;5!|#uTIzlKkJ^)JhCCQj;F`1R z7*!ahoy)DqCCqhze=V1Lpd?~`$RoDo$^U#abk?MydMsPT(41ZDjBT*rA!rA6cHT|) z;*+F6#Kow%gHw81vOX7Y4HbM_cbfB4DH1XQn>f*A&6qV_ZzNuZeVKeUa6W!APsS)f z$bjgr(E>-{YgG# zu3aq@a*Ay0Lh}%D(L1WB(W8vF4{n>36rl;xWZeRiaOqNPv9q zOttJE5s@ z=g=%KO8(bmx{@>5!whwfs_hnGQ3XVEJTIz9T79g%vGdSRfy+HWcR=>*>QYBuEi9O^aF#f0nF zTFDF3ADCQUrL!?{(UHGdAP!juTPU)%BveWLiNnMKeHl`-J%ASx&ds7MeY6e~(7Dku=Thz*pYBB7&#^cDyL0STZtNU;H;bVQ0Y zg;1m`ML>$uLy_J~2))iu(0iWuTQh6so%OAm`SIn4CM4H&)@z@;9Q)Xm&qc#uHgi%2 zS#*`kqYiUPJzABH`ZziJGiPVDQQY+A#`(^fLM>TlqC8LS=lS34B$h}niP*Q4ShV{% zp~tQeZzZ{?vT^Ho zj#}S5+&yE`OJ)BPO3xPO2)AM3j@U1yb5+tzi^?pr_XEq%9;XZ@?p=p}e06CoV)%20 ze%O!Z%FS&#C}IA{QrtVsamg$IXu6^s+a|FUr<}i?*18p zk#=lqnol%j&UQ&8Y(!0$n=W&aSn3X4@XMZW_-ezFXRn{dgY7N;v^wqa!`@~mZNFFf zSvft>(H$qzkAgn!vM{boAJ2KgZwLrwP>!nYqp^av>N!8O#I>88AFuF)ruhWvyAK8i zuZ9RXv?yxsjo%MxSBF&(NpXE{)|o3ca37m!opmBK0(Ttovw?^K-WfOWJf~|$rYk`0 zr2`{gQ$8F+8b61U*sK+C#}n%idBPckxec9A@f^~BqDqwaoy&iy zzTA0Qf7YVaWAp3g9C^IQW1um|l;>60)j({+LS9cxrnRN&v%S50cg3>oI&>@N*faa| zBg4w$;~ixgiKRF2V;!a{m>IK^Mz?9x6rKJN(cGe~i!p9oekH8pF3pL``;Bf^q_BCZ z0NQFEs6YzKb?(fhG4XU|gmEJt*DEOx(rLVDXmqsSt2@_@bVv@@K7(sIagTivdG3^h z{;S(1iAlbG-72L_~+mP$57_dxcdVc z4d|nm=kClT;))V=n3YEoPwQ%_m>F|PHkF1&tDhpVNCfN}EKwFWyLY5c3%z8Ft=b{kQ#ML(E%*-8#x)|*6}d|&n|nF~1O0Lb00+)PW$pr#n4 z8vVnsCsbV_#C?OOWTby`+U=8=+czR2d>kS+8!60{CW!D#-+&>lrkhy1JYievj^_Mf zT9388+F-^~emlbbtIFUcWB+uD5kwL%H<%$^r9`-rN72a^%pIR(O&YZ@jcTb(d|RTo z>AMuJiCFdSr|UC+OLwI7{gRWfL6E@Xet#}v9gCTMMdbriDN1o~A5)|(Z?l=5@5=f7 zJfkt6sKYpD$KPzn=le9D$n(*6-ngq^^FXgJDgmgdqF8_c%w~_CviXT=N^DZuMfYze zl%~Mo#x^xW&7~2Qp!0Yjp`4+e3^tp!Z^Nahw)*2zBZbQv5^z|~4kvQlJ#F|ZR!lFb zqf9yT$ffopK?SG*^Bc@R9GuRt419>(LnUy!68Rwzdb6OxD2NpwBk?2%yJ>j`_L&&} zV8|k+6FJ2+sFPp2!!x+4Or*M6PpY zlb2PBXR9M!$GiNDS^aCT38%frqCU9;h~bXj<;YJpzJDW zfpljtB+F_#+dtHFynE;{+I;unTMR0ayiY7hk9dUcGCLHgMOiVDydK>jGb4#-yr#qo zS{PTksNb0xF~yHkA|A(zkv_`IC*&NCqU{k+9Vw($RfoTYX1K9y#Ble#Rd4qf>ph2d zA*`HZ@=|J)-O?>k=MWKhp~A$9Z-9WpKiDL~{6WaMOgt1G_*VQq#72_%EqH@s=?@32bCZ3JIvE(=vSEvxve?%{%TWcK0Iqa0mA6bg%on}n2FEgY)FSoV-vPH zYsVxTRk^`!9tb_|VnDk;ojaIBmNxztN*qx&3UN|)3LV=Vks25?VUDN%R;^r>!7u`381>bXpDRpsV4Nf<^0|QCBTiUsA|4BizrN_1Lmd0It zPb}{U6GkX~y=0{j_h~7&ZT=}bKC3~OyI%QsB1&HDIJbIh@BLazhMZt?DI9JR*w5o! zjDGbVy}#Dto%GM$(Q5|K288$>qA#3q-8`X)108cR{-(O)^6VFtVrSYw_-wpXgjxn; zmzF<){pMS4su$!W?Bg?(Hq$An5M$nOITWFhN=PE|SV~qf`rN4ZsNgI~BSxdVl$EUx z`ej(;)%CUdIec35=&PwK;$XO3UpP)GD|DV`J}5I=MLO;}O>0FSsHU~EYRZG_ID*aF zMu79ADUszOR^bT5zsv*JOP>^xSk(4OCI4K0DwE{YJg(7XNM8L+_wz(|dwW27^xLia zyP`WvkKCTLr*~z680ER2gFdOPmwT)jhdCK6zkKJ&iRK|)Nw-KTOPFTSAG)Eundnweh1oHV{$Wo|V2=lrsV`Jyz*`qMnhY&W<3_3dRu!d;m=G#M^o>1Ani;h7Cv2ULN%UmmB>_M1V0)EyeE z4#*-D9lvdso}kdVO0KO`Q@MqIzH@|s30&vAa0)%2^r38ez2lAnD@QZW@CWYx{DOE9 zAE~E*6W#0f=W=qL^K&D9&H(`cDa2#<{2)*n$eRC0>R5a~gPQ}M&r`@IocPdYmkywF)o+e5|gz-_lN&NmH^wrcFWvujbu&i6!yVhw03qrRSKFV7~Hr*nRMYUFSB z!?QdrO(mZPrO9X^d=62GcZ4+DpyJ_ppCMx1rRIjl{qv&b zU~J2;TL&cDLfr#gSkWCW;QgG9C|BO*OqCyV_{wp=yAepGG)A&DIDMC!ZL zr<9S9?zwiWfwKP9SPdqmGLil6jcVo}gENh7K0^?i6wd&(SepP!5Eup?`Ls?oxN>cJUkxnVMD9(MTiM%Un!H^D+-55>hiKhd$X$i=2vjyQjIi z{Exr##wP>1yD7hvd&;wMcRX%oHry6>G_p!n6Tw;vzOcy&jmZ|BSET4f=sUVx@t4xh zVTiOk|EsrPq=IXNw4CUMKVrD$h#j~%lc*BvpF}_avuipt@*sXN(>ZERwz@R#81cYA zLKW}7D^i?@p{LBRp;Sc{A<=tc?LO(pxdFU>Q$mvL-{pLFpBL@7Vx8$Qrbr6*$xbWJ z)GuxB?=Q@8j>TGw@uQOF8F39R0_OcQAs%9hA6;y)Cqxq;~WMNBHoay(Ub?@h66*PCEbQ zQZ%!U`fFe|K=tbwWgy-WWTav=(ZtRo&`NPb>KAB)|HbUTiv}PWa&n8v<z(VA+^KQygG-uKsR3}`W`VyvB-efwp3|5|>DP;~HNqf0=^ zzGom9hp3F_bsL+D_{o&?4t+n}@#q_LNu#R+<$o*!y88eN5Xl0X7iCGIbDOiS-FDaV zzWPtTugYW@W8zf*>#3!K5};K+M1KGJB#~1}2CfEXf%MFzYtLPIO4$B3JqvT+XpG_a z<(S&=b5&bWdE7MV64Sn*F_%3o6+=g*bDAS3nfU3MP$ zZ@=#dGjN&cio;KVVR(q6^SrI%}=`HT=QyB)o#)X%W z+BeLxe;S6VGrJ$Ezw#;LKDfcDvrNOy+C|(A%7c7sLkwL!f|Cr}SHRrMI%dkpe`Ue;k``_?m0bqp!_?Rc-bP3Z$1aTc(pTWcD) z5;rD(_QrvmBuDpvY=?+~mi_B87j^T;mKd9@xxaP*-O zJ#Jh2LLQX;;F-AS~Oi*q^PD_5Mv;a<}9&K#ylT{1Ii4Rx{F`Za{%N8}2@e2ntMBT~D{Q zuR*G_y4OwWnSXq65)DroS0_oBi@jpsWVw4=n0m7pBo}p_KOG&oK4Z46hw>@3tEs)O zNtrkX?}bP>5cQ$)C7PTM5IxUMgq(F^`+q??~KhoG4yTTYZ2FwGHp&2+tX+ zu9PD#V5+>NJgtF9GUmWh+9jf)qzA4K%%yK>DIHWk8OQbMB$M{LOTPv7HfQL$@MpPw zT-@6N&^Lcl-=0bB=ViC0$UVJp>Sf()I;M}@aZO?1{QB23Tm-^&V5N-YG91#XUtsIL zFOP};mXeB~&>3dk;C@AiJ%?0zxWg?{cz$NjOSMTUG-X-M7noW6nP*XPOlri4itIvW z#T36Dv+>}LtTB^uj@A}!$H*hx0K#&K$>Xkg%KW1_{e3<-7M{kF_PKr}h*f6mv=xI# z^j6ZAq~mi2#5Jx)v;JLH?(Kt!2u)qx(@eDX^$gQ)pqgYJj6xAJ4uk6!(^$TzR}EZc zMKu1*^!ZQC9ouQLqu`i#iYjTu@zBpa0pToE*J!Nu+ay^G?3RI?2Hl(s1y6j2WGh{= zksXRxG%c|XqwhryvkUu0X`U!P8DXD7;3wIPIlT({&u*D=#GbJ4UCyC-@fUPFQ!(d+ zIez3zVLoQ(wh#@`M{UV)45@MD;z)6<&a(QyjoYO-KQ*{r4Gm?thzSxjk4_hO7QZtj zdr^w>z$ra}r(BhUFU5V49n-G~E@MWABqI@jXFx>?sX9UpIJ>mElD6s0yJk96bn$L# zG{`kg#DUayD8IMqjy?E&n&P~9~~&S-1HJks`q(l+O2)C zsK?$^0hFY)$kjZS{0rx|#6$u(T=zIHs;K%~HY@ihpd9)ZjTe1qC8QmM&n)UKNgcBl zI|k5u3%-qx=E2y9F?ngn>o~%pvoqp1Jm!2W>y1XX+4ej-8MqnCtoCuT?{n-_CfSwT znpWQ1H~pnLb~c}=&*(m~R^DCj5AG6T*Oo>WlF;AiU58k$=V%|BngPl$3msc&WHdgQ)ylXx(=$O3;b{$# zwAt*VK&0q*OMTbOY8f@ zZ+q~;%0E+5>0)EUm)R8N2OQsK&pO5A;dJ!?EetymyN{rZB@MHeJ{QA`*Jd|dUm@ZKO_3Qn2D@id?t1>C6lcKgBM?TY>)b*YAY=|m9<Bc709fmz{GqSHnr(xN|DQgK*plzy7OjssRciIB$CF2?+X>-lG_n7k-c|?Ufk+7ZM@A0)fk{1%a~z1r3%p z3dD=Qy}18sXKj!XfM-BoYkSHapV7drbQ!z(gRB#5&Lcm@y}GruqY#yNs{CN2Qt@me z!$SRExhxAd`K1vr85(xO*Y*$2Bv_&}?pqm$rxbnv4%eZ-T9VxMAWvm&vz>o6q6t8F zZ1WQaOOu}NUx*6b2}jq*x=9Q-84b}}Ez=o_mLB=55B~Yn|N8I$iy1fuxUTg08H7C= zDR-7kDeMD?=8aYh)%E z^Z^B@&D8rA&~fE$^e4S%SQVK>nE2P?0PLs)%>eQ&(gTg`K`JiA@p~5^R?G$59^k`T zd0C!pw#{&DN_x+f0BBJJemkth#482BGihXy2cP%M2S9gzUeS3!rML+w$tXpp&4M{u zIgLkC2#LZVO4Oz+-~i=3ri$?wxHqshJ>{m*2j){ACwL#?Ec?epqNdke^bacL0)8$H zI+LP0oif@JJG%bYfGFv-wp#9H{dTh+n)hWZEA}gmrKEeiM| zC>d@RDs4KgP{6#n{oZ|P6s6>IqU`Q zZY`H6)+cOu(y~cMx5}RFGVnLN2U9Obkx8zT0)5G@URhi2U-hV8rhJ>;G^|`TU&;A* ziU+(@GRGT=(VOeVfU0W&{GbL??`fD2NpIVjq2UcfK(PW;&j4onC15t?kU{kinUOwh zQ?k?gbBAFro!@y(4rBCB7lnGXlBo#AHHXdqrMEDkMz*rhh1GF$x6~MqjkdwWk&HPJ zMW*8Pe)oBofAM^P37tFky0S}SceOWV@>@|`hCAsz-~%~B@&F)v0>H7FH;?-|=mQ!u zpRG(`^d%^9~V0Mx11@59YYO9sQ@XOAYkKEhG;zqN5H>V;A9;o{9BfVS-+7p)Ws|DD*Q`_O*$ z(bF=>plK%l&cljJ(*VU?9aacC@5?6ZfJXYuH+V4d7l?b$AOLc@2Jqp&WrsDW_{^4r zas3V(C4HDDsHk_%!YaLaPS(RY$+e+ju~Frhh4N-ApeR#N>8m$KGmBw=d>yW*Sn+#L zAD+n{^!OKUsjX}>{0@3}fZv-J4bK&9bvx;-VnF=r%PjZ+0y>Hbp0wR^b{Dw&ERLEa zEdqE|j{2?WZ}Q6x%->;@yep0CIiR={!=~8DGI;s%Y@~vBUSWiIqZd!wXJS)DldVLPE>B|)1@at+k>l~_ao{0>6@aCNZt@o z33R2SfjvZDl<%;=Z%6;%`DWFjro+Z?n#Pe6P>hED9Xe&u`1bn(c7 z^jASy`$2|4h6e_^xUZYb!j*^Gc~%2mb2E?krH^@azTpj)?x)W?Bj@?nLSVxj4?WFr z_X0eo5YYVnS3D--W!3BQ9l3dMAqS%B%`!bFYgOnneW&gL@*N831)f%L8sm&&xaE_5 zgZ${!^=wC|NJmwJ)t^t~^jE{J>NQnno*v5$yO<^HCmRWOLkd3sSNy#!ACRBrSbDZ&i! z6VnuCWaev>a>p2?{lu#+F+F2sd&BFAVk}*wOUvAW`t$qTjE0;eje@0dvgyZYx8Byu z#QPj(B8=CQOc!|{FF#dFg|{s9(x9Wh-hl~h1{R~O-onj+Dw@c+a>|9NE2CaOyKGXK zo?Ft;LQc7o{rOIF()^L9)jEHAXm5h2`$4-6QF+E}hZ2De+ZE`S&N}+&sN2Ql6>G^0 zm+U(0=hs9Rwwe23Sjsw{F%DF((OIYcQ?=&F{Z2~G%miQ3a){awBDgmmWV&9=vzqDX zx|7^{qzk1@+Akinx-UsYw5jXIp}naAW5Dd*wjbsaX2z+4!Cu@6-{52dbA)+7Ra)8t zsp^z`k+1GW^YJzDgw=iV-HLcWd3`cE&{e|}O=mcQ6WuXfkcRZi>`L=#~bj_OQyNEN$+R`=8 zrZC=M=Kenmd+cO)%%M$Jpz6fR64%0FdXHT03Nz8+$q*-od0AI5j2JKuG18Hst^thD z(83zCx_99BEB{M_J_P?B{Pf-)*Rd$QqEWFM-Y3fR?%-2e9ioaqq)@$cho>Zb*vEQb z(W$Ssr%9chGS{cnnQOcH3s%Zmz@R>hVVO>vuMEdWJmo|p*$bIh$bkp<@YqT7NVZm}j zz@aBK?8zB9!#{tfF0AT|83T}UDBf9OA|~g{vneUN=kR=#RbvX0$tY*fJA;&m`L&lA z=&W+1Gc2YFi_wf`oxTIK*o(JKv6!RQQv=suPlV6Q-swTL^1c4jS}oqdE@9rG5x?eO ziv9JO!&0*9c77pL@bsHTR2HKcue>JHslDZG@(J8M#5j=gUaQk7!>!2RgIo99_@Zwq zMy>tDyZ7zJe($#S-VLw?^>7=LcPg_2MGQm>XIG;3rf(W-1idXn6mt|i`_baC-ThZ? zY-2w3X^?M#UFy_nxt0*Z#A~wWyJ1GF;Z0~J)~)D3r8f;Hy78Gu5_8XAkh2~KQxLop z!lUf|U$Oo*<*mRU+PBzT$*O1TD`PEq=4d><;Mi`Sa+9JpgV&j!GG~#&Z}TbZoU+MI zvf^@ltzt1!a<(ShBu88ePXr#y#Ar8)?OCX%-ZeuQ?ut0*CoM5vbmzkw4p^t0db8TD z#yq_CTr=`8F{@k)YC=qnD?!XyW)!b-sw1#94V9qgVtrW;i@%AGHGfpFOz+y|l<^Rq zC~a_NXGSP0q0hrzw)MvH#CbWsTg~;exWX!0Q?k(1@gGp=sB604q%Wej`O6zXM7q_N z-&!adG{oFY5`kpK9nCwkWr39d*`>^B<`B_)kfi@S z4@zWYl%tf#h-}ns=Ft^5kusGE2BKM&3yzz$Z`s|hpt2{l^66M!F-*L1jlzOu9g4Bv zMFU$?+Sdv6BbHE*ku)C#v(AwP(@_JZe@mzjwH-NnZFMQ^!gJx{zsl>IWQvyb-K^WV zFy8W;9J5xK>)EJFB^+>A-Caf(G4X{$%Auqu|Ec zzW)hAT?B-eo7P^QgT*1dcUY*GyMJ5c=%Ip7_gV`IcvgmBv%PId#=D7$D{rjOe8bBM zREC{;k)j89d6td}LVj8?@#u*sD8>}n+qt}-d?YOcP-ZY^KS97gHCB%iKG$^c=qZs4 zuXs;emPY1qe_Y+1hhr8C1zLK(>Q@rXZ+=+{Cws~qa!|9u%Uc7pal3tR zAppHC6%N17Ibs7q=(G9A%+_(`4`}?vDkx4>5x>=q{dboWEwBo)G4%|t-S!#Qr;`%Y zj53rpv%HLzmb z?+zsU_@pU&@dx=7T1sl)*0W5LCEiel^kOX#7`l~&{Boa!2K7>$yl^dR8$l38V{*-Y z0akASjeNH3cAj<{YD$1WM>DC9ua33!7`P>N(F1?AJ}?&2hf%7H@Qci57>w8e?s<5m6DEB zT3m}>v#>jIqpRP)GI5uLYhmILrR%R4I)q@aHqMFTlwCzUmJ#HqWTHu0?anCgamtTLUiN>Kgt+hOQfe zhICfs79_Cc_>blU&udizoDFp>MHDTLEke}7pCZL^>0<3R+l z?lDI5ogZQpHL!vM{j(T_a4d{h^cA)DRFukz>#vH(-x@TmtVg+xo4&};J>_`ul)sgr zkZ>Yni#dPs#U-7cA4Itc04_`%$BhI z)cFUB$u4rL{P$OlUS@vgicjyEuHS*a-K&9F0IjB?dB;E%hvq;9bz$TcoC$9@4z4)K z`#C>X2I?Z?-zPi3g@*fJ(AAnVyRrB!L;(68Z+pi>LG-mSOvZhD@JjKoL3xBjvYQB6RU)ejMn2@?7kysZZ0A04cZ^u7x=QV$b6_n=E z*;>}0_tBoe#$s7148#&zS9tsbm_<$rHLjm54^|@yDE6R+HP##^8{auEiX6-*J*p~; zSa<1cd}#Ez=@4s+DOx*dxpb|TmG~7$*FR=_5_rQveWRm`zB0=^ITDG9^oLwX!R}adbavP{-w0;<_#nHmjyXWpnX>mubHQi(n1jh8* zbCz&Vd8D_uO)=SP3xX9);Lg8&@ztQeR8g);BB4_ zpq+Vr4m$3L+-;Kcee3`r;SN#Z^Yt6`sW}nrvrtaxORt!45sS&S=c91{FIm9`QPPsF zCg`w8vY~V>>w=72?&d~o=bQr-e*JOyo7FSM@xTMbqc{AQOIK=HTi};bhaq{*Gqq+# zV7$Zm>>?ohbM!Hab}^r)#x+kGT(r_b<0g4m`_Hd!V(?>8@7yO}M&&Ool4+G9)2BW9 zG$!jq5nO)CJDHj1VdlD|S9eS#eDGPD?fm|RrN4Ca86)WdKDcKsI#7~8Hk_0nYeRj1 z8+P_x#hRhZ5aXz*T-Xy@4+_6a;9gb7D)!7YmP-pq>RtY*Zz=N4e=-QYvJm_t&4(}^ zv>Ji1S=waX7}HD*@&FV*j-L3?$f#C8Db0VcMXORZFs;~{dXVaME`~*N%u?)6n1aFZ z;~C>>&H~xsK0c#!ExMk&bnQ16g|N(!q$JIQ#cqr_6bw7LvEIjvicknysqXk!v-7b< zmI`3Q5BzRFt$s8W<;Y&R6ex`;mivJFU`KK-T8wl(?2*7FWxk@*`#8PWp~+RqK$|DO zD#O`*s{4AcOkkIN#o@1JVwKjKrT?a=xC z?rx$!w%|r3E~A(%uM+BhRxZpMFFJI|M~1YD3$D()5lTFatENoIMih4hE{j2JA zj>I84_9d}l*m_7f&*nRE7{z!aFZb-NnYeNBitZoWd2uc}I#p419GavD=qelZ$XChd z%L-EzLab9$nd}hbwJ>9rPgdc)gDuPGs{HgLT?#(%eiuuzj~zQbtra~;&j!uOY#W9!~A*Iv`V%;hR3 zSjl{ax`3zwE3s@33*OCJ6@>d0gsQOM2YcCJn?~`nXPe-IhjAGL#@My9S=gQWpE$yY zSo41DYe62aWwpE#Ng+qo;2N5Ht-te)1zV`(1wh0={yZl2m}O8*TxNxJjHuSA*O)-M ziWJ6AOGFW?xAbOA@#nl6*IvYnG2)qL1}XZN&3|QQD|VH~=XNQoAzmzi@mG&wi7b}G zq}{K;iT(gyD9(SdVZ1_eawoB9or(Fj#Sns>e^&lv6|<&ypjxxIN7dtH1+YdmvdYQP zxO%LKB8Dy7>fMF=*Et;~!Osy5CITga2Q=<63HDHODsPMu;1GFGMdj9u9;{Z^o;SB zu*BltBhNwd8c_(E!@GtUACiE^(nOj;q;#)T{TaEop*6mrh4+gWB#`m@FCJ6`#nzV% zeYJ^e^`(uv%RZxOWnb?27Ktyo$pntY96=4IlPo)z=X zB-F`s>yl7&eNBLpnuA4tEzd+sKbm*%;#RyW2y~{|0gU5V*Q7vZps(T|q{O^xir8%Z zaUdU`AncjtTtS$`GU~@ts4VlZ%;7QgURDT_ENfU+U~wQcne$bW`I`C6T>`;(K}V;x z3z-R~^%A$k_1GuEKwrEOV6!&$*?{-a<5YHy=VKuPu7$zud2y0K9J9@y8ow+K4zciO z?}$&<`|8)>@8LUgP-HoKX5)k~w)=0Ho-GUoNMx{JIuD2`Vs}{W66|bsRKYpKJtG?%8`DQp# z=;P|6wT|&3%2Ye?)mTSbz~CX)5CiR}{|I=e+yKYbvzq-z21RZ6^>he%|!Ee$|-Q;@6KSnyAn>I*B z4b(*Sez26zy*-i`fMRTq)g(413Cp`d;tBL1cy%q>?arpsOS!YIV)LrIEU+8qT-RjX zmJ7Gxc6CtJ__(-A-a6oK?iHXy>P=lyL@Nr&qP)$o%7j<=(51(!?~q`7N|7BUevK`NgE}|kOcB2{nR$O?8#W%_kU`ImkkUnjJ6E#}c&7@-D=KxNj-gA>(R;T1 z-$MjOuVnkIvB&s}F*9Ftls;v~e?zTbL5~wWDsVvNf+x`xYd)NwSEkaa)Vq0pe7vDP za+uLXNK(%89U&3?J9P4Ig$OEC_B{;EX4t#y3-};Zr+7cOnUcdqweI9527yap)qO5> zGCWSGa^@?~>kQ)a6GanUTX)eHa9;SSD9cm9&`&iFD#YYGmm%mL z5`RH%2}-5|yT*lf(Bw}Ka9zX}fhPNx~%}_U%pHa-Scw7PoseNv;nu=#wJc zj)!L3s9C)20^cAdVlrX68GB{_rK^>pGB1Wg2*O97e`cS4Ap07{_{$WXI4ybr@y16T zl(mfX<JJ$4Fg2f>iW5KH4wmLJ%@sx+RSb`>p{Y*3v8S>(5K0+##W}TUS;_=oV(CIo z^udd8E`$(qOh=FDA#M#%J!*n1w6WKVx+DQ1-=J9I@$4APzS{Tot9OssetRgM0n;O9 zseXZEKUvxHvMGdMp?~>Q>n*bLnO2@3RBf}X)#|EvL+;@3WpY$mrkqM;oblUI{@%EJ zAD=}zJHcB1CsIH*3ddIPGHl=8dE0 z<(?*V+Gk9ib^pg@9aeD?t({Cj03^(ruR7>9YvI6-X*1?^Pp2bHR!jyY(3>QzF*kyqd-UB)72kGOJ5nZyDUOXbVBkX%K zEMmidm48pwakWdWSB_VV^1ouDB%>svHrcDF5ygBJ5St$y#j*u)j%3pG-r|s(%**T? z9Ag{^A)$8_xQrfh^thP2*VR0fP#A9*?|{%C*|64_@`8upujc4egkf>QiW%P(tY_6I zlr*YK4fA(MRh-BAwFb`L>cY3I{XSPg7_21pnZ6Yg7oOX7e9)HqjBy^%79RZm4+57^ zl-qRPv1vejQ3kg#o{nzm%Dksm?wwO_jCgo8&)uo>YCKfSE|U?-!;>G3?eLDNzte4< zvD7Xud^B5zI87NS=rSA=4+b9_c`4HVd7QTVh>rHt^wo(4joyUv9Se7vD+t!^vXm#0 zq10@K7igr0A-`{@#AoCS> zu+_H-?sIuJbqfh|-9TX7nBJN_X{Z*V|BSJflXXOs6*!<5s&JxE z{@eOaGKHX(69x*7NPp=$sA3JwtJV&LW@x9q zZSszPG&vAzg$&tT1E)7+SA1D&NGi&U-6YxWp%%q%oFO{eLk3jNwj=!t6jdob9uKQ4 zMeeX*3ElRht;-5nwVPnN9qE5e(+5_n%*9fFge{cnA>OLBYpBjVZ3^6^assD3(ahmS zXRn6(__$y0O&dxGH-nQP$*M8BZGUQgUs;%sH$Q0~OV^ZxS(RuG%Y6{H^k2tfs@FUV zMUn4hH%KqsNE(s6TEo@l9GVWKUu%XF0V-k{uQXMfs-TZ>)Q%iU`EDPowIDowK+4Y% zZG4r;E*aqCV^#C8rZkD;STZT%7J{>bgFQe0z#zxMl>jnzZ@G)f@tK05{s1qk%R(XG zB15ZP@4ldV96W{FRYNolbVm+Tc~!&0QOZ?!g;4`0q3K2WidW0GDfCnxv@g&u7O!C7 z)Ms@NlQUGM-N*JUh2Tc>GMG7F#+}d75-#qimixTtIA~ZM{p}sbPyT9OW&ubGEEUvG zsPxXisqrg>KsD=9Os1^U@acTES#oeQ(EGY*ZiwhN%L+v_-+{|dyXbNa`gs1waYWhxl7)4`K=`5*A4zv10uiq9~hVQ|7bJC=CrrmQ1Z z(|gMiZ*#uB@o(5?!Mo@nL@a$#xhWXo=euD!HqXYOY!wrmHvLk#pZ=pJ0$e~9IQhC- zR$s8LM5sX)I#tW;76%QPc|92mp_B3kME1wlI#oTFbIqcjG2S#lP(yq6#%NFLA;$Bt z6;IHv0iG2OeM7bj0*lJosZLmaUK8Q?$e;8{0r`A8Dj33YBw&Z_{@;UoV~?mQ7CSJh z0b#m`&AoT8pWJ{p5VZMUlZrC=6z40ey=!uQvF{ zPM)R4QfH`4x$dk^vqsnU*~j>x=Te@Z!CY4WCqo#xWOc)M<%_ul&r(}&J5hRsj#Hi) zlI^#mz`wa55VrEVvb%5rLstcsJ6$|@3kbbkBCtaWd1{{s4hW7v}ee z2oBzhhQWKwS13lf4K+whXQ=9>B7fUbk_qCR)W7IbvG8HO|HBou2LD`ruOfs1Ezttp zkhB#SundEd85A5EgfNtOGG9BGSxHn9M3CF+P3jj{NM$7z#{NdL?FHIqh%p#RonJnLm&)OcW@VqT`rW)@ z;uya+jqN2kL*@={@F`qcGAmxVAUCqQVR?lmW14JOH69{uBC&qRB(w@hXS1AhL1~H( z_^sYY%t*Ysmt9=ODPTtZ-9?gxeEcyr5l_u0(2WA z1Ys+1wr8ocm%$D!+^X)T*H8KHRt;CYSl)VLH2B=tJ}*?O6W{A_U?#1VzTKhWEnGn$ z&zmxL+<(KX3z25sXN>)vAZeEAHARun(jjCCyJa_Ei`ANp`C`)oCPPltszNo=2>(8l zWVtVnt#P;~K%44enb~S0o7ChDaYfbLsDa8XHxJ1ElGu<;=+^k=)8sCOd{@y|W>1^x zl2^|dKR_+EP*^bqYubC*G@1bTuCfr(XXioRtG-aC9W~xNKv_r2hE$@Okctxt90YWGE5Bd{-WU@!JEQSa*^GI81)u zoR59@%cNCmqaG2FE=#q3?yi-eHAcfG4CaL+!-)DW10IW3&=bGoM4!>_E5H+UTi5oa zh}1V}k7R=s-#|xct|>t2JN+y^u->K-4^n$Ja~OhlmCjva-E;HeZT7Z@Kx?aD2#2wM zT{EP8Ah?C`0%Cwqj`j^~Qr7K3YI8?;SG7%Az0;y^N@{Cu6&ILNF(FpnHNiyWqfm~y z+KbaYA%vRG@2jL1Iu(niCTc9XlW;HGYpg^7XuB{pSbH{!7CTbwo#8P3x!? z7rwhD`G$7nbM4|m6}-R9bmy&bq#Ae?JG%5&T3pC&+3ohCdaV{iZrr%Za^}{c=~&Gh zlboe|I#nW-xQ1F>FoHq=WoGpO+Ux;38U*N>TGkK~>Idk_0+iNK9Oe(Dg(5p{DzNN zg_?xmhAGuV;}fYM0Hg^X^%_TX_?3Ocf9T(tSNfS}jOZke=wyuK|Ey<^iL)<>wz9)s zmN)ZaxmdVO*^6~KIKY{FzypOJe2o^xcW*?w&AzKoe{-qBBVf-|)py4Ls)Y!^~;P!*s zFHp*m;hQ3p6KwP4Y~G5gmFq;4)qs^`m_+|$vgccXV}U70=DS0a!Z*|YS+Wqb5$kO$;yWLZZz4qIXzEfT^Hr z4kOfbIVkkECz_&Mhn=8${pzE)TFbvv4 zB?9)WRNB7t4Z~OSoeR~PCl7(ungh(9k@|A2g<2dP*bTm5 zAlGl*0;YE1y13|gh5J0hH@Sckp2mb2jcIQzl|y(qHe^Dx!Qs{;+6 z&XD8?OxZqW{IEy1><3o?+;$fu^S@sI^Jn0;Ga9*h z^>PV-zOP@NaF3sj{M&}%sT{S1>->N;2P<*wHRSyNI=!{R|0TWk*W$=o83}YN55Knx z-|ynEy&i2eM0GrHLCax!AR?7#X$N(^A-yH|)!X9|Lmjq*+;B7XCFNr8289h!dFj zfaZ9Ett4|>cL&$Hoh=a#8wss2>`04VVt`k-Dm0@S7e&r!(Xt9)}nO6N_-D# zT`7Zf1LMk7OIO|~Ic^ra!=LSEPF!C@rtkzz$@W}LRa?uO?P;{34qfi-p9bkZBGHfT zF!izmi8tnIZ%8_@O3y8aJg7&>wJtl|D|Xyi8hKln!=D1lC>y{p{vD<^a#MHD!df|7 znTS)t?Wo1}1=;XziVlU9oJUt6=SBoF6gJbBeEP}S-AI&gyuQQ6s@#6XrA46H9l?|Psw7qF!8Dl*wXcYsBl7t&RVaU0wo z#C{nd>ejc1&WyX9kFmM1sY9|5FRbs;8{;@P=YD-1xtZQi#>q@LcE^kY2fGKA&%H;9 ziS>2l=6OhZSX!%}q2^eO~45c`)`|g48!(%G{Fp6 zGjjVBpKcz+_W@0K>*WfaX)>fg4Z*jDCH*JXbN()#ryxP4_=NY262EtDb6Y6n|8xT3 zy4%cYQI(mh;w_e?zfJy6{eNcDW_m*r^`-8sC$He6Gm3V;nL_245}m~Cg}B6y8eTuC z%p{Xr9wvL}LlVEYqT&_(>&W%!BA=or_HFOCcOH+KD`g5@Qh4feGD+;{o~t+SnVh<_ z=hHEa@feelUy}6wuEw7eUreXn7d8tw*6^aW5w3MI4(B??-BvN#LW!~cIaB>Cr& ztF2La?sKki{ZBrscMo32GjrkJDmc2}<$0H#SN&|O99Q`mq!&Z1VmlO2jo~6 zN-ixuNkiM~^fkXt&t+-TdUtuHx_C3hBH$FQwWD%$ipw^P|?ca~^-%Hv^RRjl%9@NC@N@1r6O1jfw49px&So{1^8Bhzx5 zjQ|+(uP^Ric4jG5L-?pz{;0#}Dv|ePA7G_j+<8nc+G&=m)txzsmP(vSOwl$=ylHl| zx3R7D89VZMP2EO}T{H!ebT(#pAN{%hQps6{s|geYG)gtdPF6Cg6hH1zom4xgjQfEy z;2rYYp`t16vG<`|PxcL#Ru4+OAp7sq?r#jap=+L8KLQw)7L{ii%)hhxR)I!JMb`!Y zZ|!~gBh*{?Ke_INY7&Nu8Bw-m>5^?2ln7zaO|okdWnV@ZB-t{9lqLJFZk8*uWDP@Q zUq*H_glvtm4TJBQxu4JXKluLkonIKobzn2=Q-zyhwDPljKw=e?d%57t>tbJ zb6PBk#V(nHlGPyrgsbP_CKqX}fZn2%XI#~O$ZJe$KT0B1J0`<5%lG0*qNevAq7(sv zeo>G?Lo7=Y;cC`ja*7FvCTkLdi*R1}{j#FoAq@>Iswy4MJdV~WLv!t{N|5^(83xue#+tZDZ2v(ZS1dkQ_o za*@tH0bV@Icroi3C;qaHdGg-4CWTui`Kfi!{^^mhXI#m~$SlC0kXlKG46x{D|CZ3o zRt((P40XY01i4aGIAtUr#XsrXME-opHxR5dfQKl9Rcut+QWS=)EGhAty<9mM!e*3fUeeJu zP_?$O6TL-Z^~Q(mVKqNgArk~WFIFpW@1)5KqlEdHldtNH{Hp1NKF4VryjiCt1CL3^ z3vYK0%7?>()b{pj5$Q|2IaGd0RV6@Zn0z|k&X~k1Esn|>?zYuh@E%Fd$dMgIC=At&T35xc$P0%Tww8LsX)LJ9o); ziA%%Mo|!5le0!re?6zy>J~ZT7BxEpWiCXu5K_UTR60;RQ+oQg%#^318Uhv{sObl5` z*OxuR0IMm}%8*M13FN4SMMwI;<+>EjDf+r?S_8f3pi3Pez7|e+vop(MZ24GhDSf|- zFq~``ZeCeReZUGIyoSu$qT4MT*kUzf<+IZfBgvW{*!jC`tsk4@-eWMPshk&nLBxo~ zhtIHeO)&;fBCgCEFS@fzp02f-_dPg69gTaJeWbSJ$milx*5Wg}-!sM*?|*l>`mT0$ z`zi&k>|1jKG(FL{OVYYM6E2`x?ENfHY^7&i&h|V*fCPLeeBItpi!ncTDYESZKc`H`k2mQywULm-ymW*&A7WD-Q2U5tw?GXlq7p|)qBK?& zM5Btgbj=Z@Cnzr8t>omElz#Ej?jN7*8sDVvB;UB;sZd3|eG)c4 zc|iRZ;|e26*oS^_(YnbBuRJ}rc;O^e;wDw2K^7HB*1~Eog6qq!-Gxnu@AS%4C#xFg zvET(&+msIfF#{spMYg!A4VG75i?PC6x2LyUNaQR#&h2ZZvak zg(OM|89l~#=NnX_{;2W1tn<+A5PpTVm|fiDV{DI@qNkG20U?kZG+70jEUJ&I+M=Gj zWu_Y3rt?!iy;1n#yqI1DrwsV1G37{!$7mi0T10t3NoG`Cx(sonnLkLZmCm?ui@-q{)#ywr z(4TU=(Aq0g3&#u}@me(rscM11ByT>Hp-m_Kw}*qKXsh2op}gnfD|%wXb*y;`Jwmf< zdVA?9zM=gVjDPa4d2B$No~7@*9qz24dyW&mlFgqOiEXa@bUUEEw_V0AkMBJ*510SF zXKeM>JcPI%$PVtzg4SxRwXx}cg|xTI>Lk1_s~7v3_I^Lr#9_Wvm_B)sQlo>3 z+v|Hfk0ae#3Tn3L_VIn}yKxFC@gptZDUDUp=O7wi**JVUd6deg>t^~ZZLxPg;1$EJ zl_AnyeSZU)zrNyxBbEI8z%SnNM-omqPvHcqa>@^Bo~Gc8nzRXV)z}`#$ekGRIu^Jd zCEl|-`xqaF$#H(bx zZl5WBX!|&SjkriYT^JYYMbnzvoWf%1r-1-<^QZ3xu8A;Y@^KH^h2vK$eetc+&`@MT zEBV?B7;elK8q~8ROw9EufWIDC-n#534V3C!a_^Oo)xvO-+MN^`RF+tmBZTlPhR^el zf7PE-6*N#zKL=Mz^c?GQzC!gnYse2HA{n^Cm>K3{69KXJddx9n`&ZX(?T5ub>QXyLR_uMkZhFIIiV zA?Tb=cFYIu3*={~ysZiUtLC0mXZ7;d3Wbw$jWsBnwZK2d>{Q*?t0lA|7n$=!8~HH$)1qhkZB=`F?>hkii>-Tp@lw zVL#oq<;LCMr*I5rau5AnS4MY9fh(#?qA9ExI1(37AwGoX-A#$DeQyU18LmXpTNwmI zT0-#0rd~F?*T@g(5-x(bc1nkI#0*fak7XIdMe(l2j`PR^4=Xi_F%N&J!Y}D1H*VBG zPiP!ey3zCeZa+*O91n09x+cYJ0Uw@A(tKOp#0#VsxJh(*)(fu?|M?^#dW7644r+}< zuB47$!0NB>_dRIYkW%jhRL4wxQhPUc#1}d8!x-2mXEBs=23=T)#QInbJ`0)EW>A}T zQ=V`lhI2j||Lg;2oOUz%Yq;7<`16L~h`~cO{R%?&L9W=}UXm@M$HmNx(=nP|vk*cY zBJTz=WYO{5Cz5E*Wk=>x@-E-e5b?0FboVyj&gB)4t%aRxhb!gnI3awu5Ix-o3dtsy zdQgY-#^lc?8=Lco3dPE`;*@C&skwX>vIkl;Mk;4u;{K#*`OiWIA|V7G2Ht6Yt1j7h zFsB7Rfj5=vRr%!T|F{pm_t135?P7fTKB24vr7mVpO)*>vSpBOf(D(JWsmn|}#{C%B zgs~pB(g9r;feT(m>f!0r7VBZ;C=O(G*}PPPpWJaryOitLX>SU2Ez!oy-`?y&?k_KTAF^!+ z9=7o}s_bmX3W-lGf8%$WlCF))+a0$Hd9dn&oF9kGP>*qKs9g^3GHKi6QB; zPhVdRDR%+H6dN%9yuY0k3cdOgwPONcsbTF7UPKXU+L2>1-?#f|E@L+aC&u^!#Kq*wcCW1{jGnA>&5*)VcVK6yPct;H+0=+Lmhn{m3$p*GHDTqFce2w zWYX=_*24lLAxm+LI*a`G&S;hVR{vkEzkqSJk?y^s#-bR$DlTgiJd>Evu*%ofeaQfp zO0;_H%5O7h?r#4u_zaJ(IZ3hQZXWq4kV&pP0 zCVw&q>VFdYlLz|M)7wfSpG7tfF?$0Ee16cgGqtJDEyUwRH0~J`Memp<-;IuGe?rWt z^`*EhJbWXqP+FWz?kn~UfX#$AE{*5?s^J*Qja{)C)XRW5l>sRAPKB=kNBf<@q!+;jq06 zn86|w5M@e~tW1Urv8*$LZZS<&)_-#3kyEz6uc`H&W*z-HWv}rcnf(?P@25q2S1vp$ z23%D*F>F4D4kKx)kTsDKwo*jPcaFkwi0|U?#J^yzVNW}tTjx;KUjqA-nSv@Bt{bIa z-YdfIC4Ps`Do?U4eP8mX$cGO>wWdMNfT?q+ z@jJ3GE_~G2yFjLmV@UC)5aXnEd0}uk0gYAnBy=?aF=zm=3@xVTBzSX%JK}~%HW;j> z>G+RE-%q)`1lGkHPePw`d7QK@bdi3(=Ci-+cSxJNb>O;w4z4L=`dKysk*9+UQJV!+ zjxw#_Bagu|5s`$Y=WXFz+-gBwCua77f8RA;-8f+%(9T+8RODLeeu|_`+#L#mjRso1GT<#5h`ZA66LIOk7YtWc$Xs)if zvt*W4A!rbGgRCU$&>Taw#mI`$*W0#B_eb5*O4OgyYLr|9$55BySA+l*FFaA4meXCLgHJx56Y^y7|;ZE zs~?)MOs{-XPR?;d{&RUq*HWO?gVyAJUD$^Ao;Hop0ON?9rl8e z5Wmw^sRsQ9E z9$pp^le64&IJ($|I_-yOP@-v_W;_QtlXd+TuSMSHu)@;cMT^AD-HpY!#LVDEDw>m| zO{v))v@$8l&k`4xd>Ps>;exIp8-P7@&dXb;VkMitvn0W z)|OmhUc_;}y$wFa$4|cRm6xRz>bCa?}7^du{2N=uXwVA#Yj{HkvuiIfln|yGc;LZL|{PpL#q5W?>v1NHI##rEe zH)}Ab=Z_(Nc&xRRg`?*q{pP-!oLtbN3!f1BPk>MnT1Hw_*)jeXeYAZZi+?`J^MVm3 zsx=;_uQdcdG8BN&cz{`Ik7XcWAb_AS&|DfT0T&LSjJJ&1(Q1R4P9sp7$1lXriMNPJ z-;e$+mp!VO{Y$TFHxfc(9caHQjLN!33dMxbHL)QWy8&?RWRnFaUQ9;X@Xozt%g2Lx zza#5^{4idTF1s|zMT~dv>Q7M^uN|k_UU7P^&-ALr(Z;1eIL2@sG}dAOW~b9x z00RBHj$sEv^k(|HZ&b3gdsYx;-=**8eSI!v1&5MY|3Qd?!0I|O>%lr(H4+3_;Nd?w z@ehnHvpc?WiQ$;-29!M1=3};GBGN{cQPqiAXWsM1z*GeKSX;#z-_-D_( zPGe-{LNI6ESMcToZN6ayG`d1E7R(I@CINQ7goiNaCW9Bw`U=c>mtj#$J^5VkB72q% ziB%Cq+Ta`0*B!h%!(A2$cnOHzz(?tc>xF>z#0W_D9YvTXGV#U?`u-&F&KA@C+$LV_ zu*qd|++y*(fMNlDGZ+a=Q72$D2psIu1K%w+02F|XNfQ%eD~BuZtU*{Fn1(B03FJFNW7at94i-N7Y|c3W)k!JjR*H-9)WLA<63oP+a>U878GSeKfSX-! zMxe@lHkBj_On=#PCTA_QXSjXOv9a8%&Jt8Jc##u*;?vb^_J8g?R`|3~v|r)Ek7#Sj z$tZVUREbk#hzLu_pafDR%DN+)$85y@A^+w4GhXJ|Zzfqb&qVWNH#sf3#K=oux^l+M zd$3z{H>1v%(&vZ>3N%Oe1+;~={^igB>OUkxTSTwe9*wM{)ZzSN*mY-AX4a0| zUX4eR+`VK$SZRyT0&QRi6M!;;XRu^kfheSCc7B-@qtHw7tvO2 z_lXHBg(ak%(#)7v6V7nmloYi`i0Cug@n6t&afGL(C%?$tOQ^axQ~jQ$lvb;1$}-Cj zabWeqkGXhXvJ`;{NBwo*G6C_~&wA2k-7mKDbc@$0D!{xUdx_iS6qH3Enk$|mt6AQh zc&UEH^2~mj*%EdRWe5KCH-xikj%Wd4^{(n(9NWy~{e^@3MbqBKU8}l-Pr4j3B}?aQ zGEV`R;{IQ@V5^ZFz9sh$%Y#DUeCrNyzRM=an3eGA`sPLILZvj0jA+0&e3F-b*_5|W z31tSi*5Aq-FsP?BpCL}b&i=90q2$nKE#=QY#*8pSOj8&tTlqzc=p>i~MP=e^QpdA8 z%z1|$A)JNX*cTJsa^aVux7`{%rz}hPVZ#kRQrML2F`jl{QIw-&Uu zDE#SD=_7yL_Mgb9sohB_Se0)q8^Q4PC3^7f#|k){?Itr=Ul&DHUj;|CN*f$a26CCEq+F^*7!J`t=uey!h`D6%qU?Z&SItRqN%>dp~_- zOZ7l@NnYk8I!*~V+ZN8$=(dWq>H4&VeJCj}Sqe0KxgaGqv=X1MU-QYD44)V1R+ zUc3*J43HrpT1;#YWUeneTTVQj8bG?N?qZtixnZpBJno1paqa@$)#F1q$Iv?tyc6-g+t8x_eHv*j%}Z*ZG68<*Y;>&Y&|YOF2%Bh z7dBEL11HR{-3b|7#&S0n9Mk2sevFm_qNKtn^aPFk#nF4w@uRvQ*ix^QSsnZguVy9@iv7;y3wdx_n~D_4C`|C7}C z)=2igp1t%j>+O~BPYv^MbRaJ&wIzn0FZZWsA^95?q!V65&$kB___c*KWTvd&nYbmV z;oXz_`=g-b%ZTwP2;=PzXi?BHZ+V7X4PKw=)5lVOT`e4#vT3C5eOSvp0EgTgx$NaP z)?;_44i^^9INS7sbU#)K4J}@1xZMWZyBPE^SYOvL_EIaC_tQ?>XvcHE>Z-`wX1_e` zrI!l8AC`F>&s;$;o-^e){tSK#CR8EYcuI|PV-t*ajdMC2FXgQ9Z*AY)e9 z&PLS%uGj}&_=jmfL@+(0m3Et7M&={Wd|6Rkg2@Oq_meCl2`1$8+{nxR5)6LFZt`}N z+Ma>axzd4e2m0wI>HXynu_sQ?z6YIya}2l4Jh5`#_oheo@}RattDGwLshYN0)`7>Z zakvX`fZUE`GQwi5Am>O3qq-s_bs~7Mk>!Fg!j~9_PyP4a=@bM z)6gg3Li;mkjyLwyAM~hr9!qmMH$_*RSFD1;ehz2+E(q54xg=>+blr?IqDuNQ=b?t` zcz*r{MsAxLxF&G2U5DO=b?$(^2`q@nO?pdwKrDSQKZx;uA|d>1cWCbxTwJ>`|V zo#9vaK2FaAUE3N4VzYlcp}_Y{EFQ$Tl*jw45@j%hgwd=)>S)w^{R{h zS4in~hUt13X1~pGU>9fa3gf=HIQ@{K;>N_2WY)v%*TdF_PC}W=4-|EL-{V*h==2z2 z<>w(+cl6qrD?8h-Sk+C-_f)!@d;;-`tcrtvxem=a*`(`7qQi-*R{_Z6yN08DY})1R zX-og^yNwW8O`FkJ&kpD)aXHzMZmKSm=oke7N+XvyWH{}@}dTGq<|C(R6RTIyctFRtP`!NX(UpY4`}^6vn6D~GP(kIs}A ziWptdn@G+PCCp8K(9|hTnM*z&dtlpBO<;t947c-1^Q!7S|+x38EMfyDN zK>d5=+4cjGM+ke550}6}O*KaPP@(1~tbV4+L{9R?!jW55=&Q)1I;Rm0yB%$%eu?HZFvGjiv7_v|x|2N@8@|25^xi}kMbPb3X<8{jyd|05!*VCuPI_|+c)~&W@TsY?C*K9oTBU77@lqS(MrpuwbWGFv( zwCh57R%zG-@E_^@nLT_nivkt+eo}MIiRf~0pQM`~B7Im|CY9=zGcDp){1a4t?2e&x9XthyH$7 zXj{LzZ_qPeB4^Lt?Sqh#NkFc-EpJX$R-kOil0FBPmXG`Br@!9beeQf)eleNS>$4w` zdFSc*2h{mJ2Q4eZL*Q)VibwC@D0W{JRjS6uGYF<=U#z=Fy=^eo7b^$6@SZ(dHc6z- z55(ahP4MeHYC#NDWCmW4`oDU3q27q|)0bBN+d2Lv209W~o^BmvmeAh3BX<;&^J^=D zqb{lX-MnPwEDNhrt4})%QLSHo|AJ$vKv`q-u~krZsilT(Jv?mlQOc!S+xDTO!%yObrSTZ|2#kpmt$89iLIY@od^q&y z{|L&&;n|~VZ{ODWUOn~Hm6c``kvjm8X5`*y|JLp)E80lWvoOV*DFPE@pW5d_{nlK) zu(W~dgS`XWPch=Vu!)xHqdaC^O==A*&n&kl-rH+%{UF~bQx+L) zOmA4KUZrQnA zblt_bcImFkYCwhux}cb*wRdJsNw zgBQM1R^4kQy{c;Z!PN9WT zYojF{?9oJO9ULL0>~zK~&AVj5A%>h^ApIP#{!F}AC@Zbo79D_g{ndSN>HEt1eR5E`V#p8xF}`vbI`pz zgFX|o^_iKb_q<(~6{2|Nm{^D=wrQgLBv#4RJ1G!^za1$px#|4;+T7^dO1UNTTk0Br z-}dNFbI7a5CH=BosM?8Z6jcqrc_}s7vg6}yq$JTh2$x}!Zgx#!UUeumrjo2>c3bQE zz=)Bo7mfb2h@Ry#?(K8c`RqWaOZPrKjs34}jgL$$N=}`aW%x5@HNg$Uz%>EW3rZ%h z8H86=6$St ztV?~2rk2wF^5wqEMXL>8k~b`Rv6N-)&YgC#$px4GfYpXBC}iedPRJ<@zrO`Ad;-~_ zE%`{@1Fh#hZl0acmd!~xn{}J|ip$gQ>a_knf1T@~YQRK|#yT#<#c!J|n_vvs@&nXY zP;*)mU9TI|3Vpcql2?^)(+89CuiQ*^daa@#^%H;JPh5B(1~$vQI8k-%=CRo-FN=Z309U6x+GG+BXt5dEOVVRTo0Ed0(7lf z?AdU{JybSlWh-0e)a<=wfrTjcBXV8WNgVaf;p|=~SHT zq@16fq`5rdL>2h}0`PzUmC-kjS>#<`l(8qM1x3O@`KQDkDT>{bbx_=#1=~jK|JfmG ze3Tt&57PKfku;>2=))nB{w{-`LD9_s89Os;4Mc+A2)Q2u9axpJ^Md9O@C(q literal 0 HcmV?d00001 diff --git a/assets_v2/characters/gate_warden/frame_map.json b/assets_v2/characters/gate_warden/frame_map.json new file mode 100644 index 0000000..6053cd3 --- /dev/null +++ b/assets_v2/characters/gate_warden/frame_map.json @@ -0,0 +1,195 @@ +{ + "character": "gate_warden", + "frame_size": [ + 192, + 192 + ], + "pivot": [ + 96, + 128 + ], + "foot_position": [ + 96, + 176 + ], + "animations": { + "gate_warden_idle": { + "frames": 8, + "fps": 6.0, + "loop": true, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 96, + 128 + ], + "foot_position": [ + 96, + 176 + ], + "frame_size": [ + 192, + 192 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "heavy breathing" + }, + "gate_warden_walk": { + "frames": 8, + "fps": 8.0, + "loop": true, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 96, + 128 + ], + "foot_position": [ + 96, + 176 + ], + "frame_size": [ + 192, + 192 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "earth-shaking steps" + }, + "gate_warden_attack_1": { + "frames": 10, + "fps": 9.0, + "loop": false, + "phases": { + "startup": [ + 0, + 1, + 2, + 3 + ], + "active": [ + 4, + 5 + ], + "recovery": [ + 6, + 7, + 8, + 9 + ] + }, + "pivot": [ + 96, + 128 + ], + "foot_position": [ + 96, + 176 + ], + "frame_size": [ + 192, + 192 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "horizontal great-blade sweep" + }, + "gate_warden_attack_2": { + "frames": 12, + "fps": 8.0, + "loop": false, + "phases": { + "startup": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "active": [ + 6, + 7 + ], + "recovery": [ + 8, + 9, + 10, + 11 + ] + }, + "pivot": [ + 96, + 128 + ], + "foot_position": [ + 96, + 176 + ], + "frame_size": [ + 192, + 192 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "overhead ground pound" + }, + "gate_warden_hurt": { + "frames": 4, + "fps": 8.0, + "loop": false, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 96, + 128 + ], + "foot_position": [ + 96, + 176 + ], + "frame_size": [ + 192, + 192 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "recoil" + }, + "gate_warden_death": { + "frames": 12, + "fps": 6.0, + "loop": false, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 96, + 128 + ], + "foot_position": [ + 96, + 176 + ], + "frame_size": [ + 192, + 192 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "colossal collapse" + } + } +} \ No newline at end of file diff --git a/assets_v2/characters/gate_warden/gate_warden_attack_1.png b/assets_v2/characters/gate_warden/gate_warden_attack_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c72d0f572c0f304156c23a433cb2de610e895322 GIT binary patch literal 20002 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/gate_warden/gate_warden_attack_2.png b/assets_v2/characters/gate_warden/gate_warden_attack_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cfdebb8596b5ae5ccfc24e194cdd0de20a099188 GIT binary patch literal 22124 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 KF4R3iN&f{|S+2MM literal 0 HcmV?d00001 diff --git a/assets_v2/characters/gate_warden/gate_warden_death.png b/assets_v2/characters/gate_warden/gate_warden_death.png new file mode 100644 index 0000000000000000000000000000000000000000..9e0ec6ab40101d20224257c443a63d2b72a30282 GIT binary patch literal 23026 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%0D2`y0Q3e*6bY=%lwiz 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 Z;2!s5Yj@^8r~UQ##L?47Dr|l3{2${f(Y62p literal 0 HcmV?d00001 diff --git a/assets_v2/characters/gate_warden/gate_warden_idle.png b/assets_v2/characters/gate_warden/gate_warden_idle.png new file mode 100644 index 0000000000000000000000000000000000000000..6027709256d18d87740ada85673de30bc5c80797 GIT binary patch literal 10546 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

Mm8Frj54GTN_MS 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/gate_warden/metadata.md b/assets_v2/characters/gate_warden/metadata.md new file mode 100644 index 0000000..259be91 --- /dev/null +++ b/assets_v2/characters/gate_warden/metadata.md @@ -0,0 +1,18 @@ +# gate_warden — Animation & Spec Sheet (V2) + +- **Frame size:** 192x192 px +- **Pivot (rotation/hitbox anchor):** [96, 128] +- **Foot baseline (y):** 176 + +| Animation | Frames | FPS | Loop | Startup | Active | Recovery | Proj/Charge | +|---|---|---|---|---|---|---|---| +| gate_warden_idle | 8 | 6.0 | True | - | - | - | - | +| gate_warden_walk | 8 | 8.0 | True | - | - | - | - | +| gate_warden_attack_1 | 10 | 9.0 | False | 0,1,2,3 | 4,5 | 6,7,8,9 | - | +| gate_warden_attack_2 | 12 | 8.0 | False | 0,1,2,3,4,5 | 6,7 | 8,9,10,11 | - | +| gate_warden_hurt | 4 | 8.0 | False | - | - | - | - | +| gate_warden_death | 12 | 6.0 | False | - | - | - | - | + +**Legend:** frames are 0-indexed. `Active` = hitbox/projectile window. `projectile_release_frame` = frame the ghost arrow spawns. `charge_ready_frame` = frame a charge/aim state is fully wound (transition out). + +Generated by `assets_v2/tools/gen_metadata.py`. Source: pose comments in `assets_v2/tools/build_*.py`. \ No newline at end of file diff --git a/assets_v2/characters/gate_warden/palette.png b/assets_v2/characters/gate_warden/palette.png new file mode 100644 index 0000000000000000000000000000000000000000..59df4484fa37de3c32ef92c87797f46b16e69862 GIT binary patch literal 7941 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 C8G6wG literal 0 HcmV?d00001 diff --git a/assets_v2/characters/ghost_archer/concept_back.png b/assets_v2/characters/ghost_archer/concept_back.png new file mode 100644 index 0000000000000000000000000000000000000000..f28f9418ecd606813f3b2ad9c1e2e8611e7c80a4 GIT binary patch literal 1898 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 ThN=pH00000NkvXXu0mjfE0AhG literal 0 HcmV?d00001 diff --git a/assets_v2/characters/ghost_archer/concept_side.png b/assets_v2/characters/ghost_archer/concept_side.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf97aef6749cdf5bdc63d82fcaada5890cb45fc GIT binary patch literal 2026 zcmVCtm!9Fw&AIR0H}7Zez4JbJ%=?>{ zdEa;LIp>~t?@LZNh(d2)V`{S4+^#;_ZmySpf8c%AYdbl=Yy5QgcH`aAN#AqgK#%A` z)C0&*6FuE#{dI%LcTxb`;FJJ`7_A@tKg0o%F!I7N+_+t7*&cuWkT4l}m#kk1A+QC2 z^@G*xW<8yPQ!Z$VxSzp+e&em*IRQ9C5h0B@(Boq8l>@NJFfs-${K z*HjoOfQtCRp;vs5%P>6vTj7GLn;RbSD)NI6mHedRK;8!OgU(TPzLHFL<7!!Xo5@cT zNc>wz$D8}^tdts2g)q_u-K(taxuNaxUZJxu$-)~YpWAjufI@FyBaHP!`2m->vL5&i zxJ(^8A#N<+WX}T;s9SQz1<95^H#hCAFHSBr_dmJ1F8s<5F}fO&6s!IaK+9iU0%yv9cv|*3QB2I9xMItg%9X{!*3~g?FZCrJ2}X)qmT#Jc<03N1`yWH zbreK5;!bUi6d(=&`R#lUiBGG3WUK&njaCp>2}0McU|lHA@j^y+#3T^}2i1P?|5P+C z`=QsM7T<}gsnG&Z5u#=s^7s9$p7w%8x4Iw-BnXRNexo2bV2j{Hq~s&vAAkB$^Z2zZ z*CQ9){9x>Zigrgq=yaU?ET58(xOU|_E0pMV0j8Mez8zbf)&5#YSz6CC zF<@zRz1a$uR(H$c&I(W<yoF`LYPGO#uZtD9kxs3yKOL@Y03FP(o8- z<<=z=9cM~vd=S3l(+Q(~A0Ea~eE!u;BZ`373X<*}8!y1f_=NcHjf2hYhYzaWCs-`^ zzMbZCZQOwLu zi`kby^Y&2@{K^rs2$wD_Y7r>+e!H>-)ENTK|M|T~4rV7nKJK~==-)QdZu5TMGGBp?ujC4&ekL?_Zr>jkLS zc5>^b)kIo@YCBCBFF+h|0D+x1EN95^K`uR~0qX^jfs-^iQD}A}lTEkjc}c&x$(l42 zv9-CurlR;jULGX@aexwv57t!{pZ4G^XIemskS~`dM^CFCc+8MSTu_=yrWCiu<5>>2?E zy;iW{O;ttfhfin~yE7+6g9h$fS1)^?zew&4=AME7hw(qUErKQja6Pz&j*w0X5QZof z`2d`y@0VSv0N14mN`aja;FfgL5DQeT0MC`le{+1o`{V=(i!kpsvQmI8(i=ugrpM%r zi5oS+k&o+m3_j_xb|8~Z-4d)@A;2dyvklqG5tRJYFb;>sR#;+94eK z99%1~wiL0oxxtc8_aRwakq*n%TyPKSAH)f31$g=_AP2c1d}OJrl+toFiXo?{G*i;) zCxCI_q5`DKuox{sd3hxlHa2iKt`Y%bgDS<9`v)o!DB<$oru&d|Sil`Y8ftVFgcv(^ zG*pEW(o_y`<8oF+`v;KyVE(V_fFbz<2lkG*Uy{bL|o;wtE!=8DQ2i{9?H_P2y~qjfszl$<9dc{MGVl52dbd0^R9{aX1^9cp8vL` zUZm>zcGWahU4$VY03_<9rb&|ToC^vI`rH7m->>wL#L$(T3+|^J()tlt7M3kO&42vh zj0h+H$dDmJ29XZ_2Yj~?blm4tx&QzG07*qo IM6N<$g4EEnQ~&?~ literal 0 HcmV?d00001 diff --git a/assets_v2/characters/ghost_archer/contact_sheet.png b/assets_v2/characters/ghost_archer/contact_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..a3de04f697a608f53022dca4bba2242957dc6e30 GIT binary patch literal 41144 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 Hg`D<3Pa0ZJ literal 0 HcmV?d00001 diff --git a/assets_v2/characters/ghost_archer/ghost_archer_shoot.png b/assets_v2/characters/ghost_archer/ghost_archer_shoot.png new file mode 100644 index 0000000000000000000000000000000000000000..ceeae037ea274da4a327e7d79ed5732e5223e836 GIT binary patch literal 4852 zcmV zU5H)P6~|A8K~zErA&6*5VbD@UdXV2R2_mIfDy4`7DI%p0 z_N6TnXj(+Hgd!4T2sX%2iilK^8pe-@P(&`NNa>U{bJxw9HT(PQbI#u9{C{w{ckbMK z=gwMd|JT}|XJ1nx`wt%4TD$w$uIDyCyR?13{_e$Q_W8f}x!(WkTW@TA@6NlOuK{Vk zU_Y=g2$w(Li++6J^9TG;Mw{r{4@=F6#2?fp{-8g6{vgpI@qtgK)h4P-02-5leIVHT zAtcb@i)jkaRGE2v(06;NDghwK>+uD|rYzu(?%7{qo2V)Q_=qtuDo-#LY7`z&2Gt}0 z1o?P*py30E@&B)e9jt9?R1 zw>O?W!Ja{E;D=1YgX+H+Rx3!tMfL!`aqN!8GN{cDKWJPPr+z*2-o}Muvu^2_>?wU= z3wH7ezZdo&4)#R~7#3}!5v>|+xk_@W;+ z9r~hulCm#pNU9kEa&@oBF)|T=e2`7qzI%R`IoL4_WcPveLm$2X{`hy%c22CXwy;#X z@nfnSnFMHjRNgxOvLg9c2=wc{uDyoWz?3b6e{1c#Eb7OJ_ewx*CQyI@KJR73p7 zl4}m8k7B6kA)t`%)zeQu+&uQi$*h0dmN4k~DGmqu$Zh|rlPW-*j1i}KxwLxFsxw{f zPx6s#c)G|QKnl4kB&z5{U)pZLn|K{_+#&BumBOy-+ii=qc|`W zXXfIy|7nh1z9wjYQWtRC=Ng`_E&=Evho_!;anSEGc6@=}xBYWBfZ7;Jc&40$FK>Km zjC0riq`qRm?eKKb3BXt7P{m2r5kJlW8PnDaAR~`C&~1bSdWii^-Bq7GP4AiF{EQT! zzJ+J%N%-jHYnqE2pDrGEwF}#L)W`7?+n0%?d*ASM%Dh|A3BXq6tgKwWc+JWu{NT!S znjGRVc7f5bjcpV09O!p^a<$j~9Ly%6rspYWwa|0m%Oor(_BCUkc$S4uAHvgj6**O=24o=-SqfrL~LS zhpyC`3VQ@-Ug*5(@rQn2j(GrX1I*Zy@XQhaZ8qY$iXeX6cRMIH0ko}hw9upmW$nS- z6`_7`i919;p8!dJucaC<{BFZF zMx4Ubx5UQ^svgp5>kAtHf8^wk7oV+%_VnK!6R85^ON2II*FxnP=1Kb7WAee8XOEJ$ zXPX%1b|624+XLG?)$Y{{0kQbos!r4IsQT~e>y4I>&3G~}+lsz!C^GP6kn^e&{ruR6 zf?WOx5r2Lhvpb%AU|JD3g`uI@+z0fS|6lrF^&yo~qjL40q)o{OUBr1c3BVO-CS&Ik z|0!>XvF$SCK-a$TRgJFXEm47PoKzgE=(_}na0!piCOL<5bQLPUXERb}^Z!ly!A2W9 z>$afVLDK*zWcTe0q*&&&dkV`j1gWgp&+5}|E30T|4we4Tq&o+T;^Odg`XX=Gb z-4CbLJ|!2SMbHm_^n=CY-~aXxo$sxvDglI&d+2BCB4i5m*s4-?pN9(ev0xLP*n}+o zp?tCHHC+uq)b4{dwNI&S5hQ)UKeI2o(x9pmfUN#Qhk~ZKb-k}Z4;=#1uc7z3g55+{ zhw#-F2R47S=^5L6!M5Q&F;gvoh&>w>E&G&wn-y)^rF|fur{buqI9)Dr1(5Fu2r}T4 zKYw!Z^T!uAw*%HT3C7NAQ*lnU7vS2E$3BqucO?N+wHXrZv=QmvyKZl~;H8)U+SCBY zaEkEQh9OLexG&+UiT$d#Yn$*6*{4+6WO-2uz*gbts#A(TapTb=i$JyoZEVHaS0!3w z1Ji-7?7v5d*|GoR4C9&qXJI8ZWXu6-+%b*$c42-Cb9(Yxpvq z1VqX153;?f0J4cus4u2C_oZz|*B=jo+Cc1a=dvy7-bL5(zFeZ{)6fq=_j=_C1-Uk| z79csa6I*fGm~tf=1J4Jz1f2suCfKJc{4oNghv7nOm*R^lar^3B+xPD@v+aAfuSutL zGNv{lhoeJ~b7_6}V5x@T1-S}{4CAXZO=v+%8787il!TvdoLt)8n!=HR%>f^ZZ*q$o z3I)7vj%MoBCkqgZP>4S$3E1Yz+WG=Ci{6q=r#O+yg%P%PpsW8BT^m&b@ChPcf7WFz z?j4Zv+3;j!x{>qv78~d+M70QaE?j}`@_{e-L4JRj1l{I?62zw#E`0uebNGQ{yYwf7 zTDSG}8(fUa^d$>pa_qC*nM$2%*t-UJBa|GVS=?e%j`{h?*+bhBNT zS@y{E(c3oq)TZL*09-u(-p&TG|J{1yqKdc82jpbx!w|OP2e=`)mgaJ@HI0S(s?Mp~ zeJ(&-SFh|H{|`Nf#^(du-%b0*4#D%G6C>Jm+o3o)@9?9`1BzhQ?Ei@f&Qo8y%;nx9}@Ve zI>VAcituP3VEjKl3EVG=PZPd`Y-$U#?esk~U1S0v!4Ii&I0>K^&_C=G?gfM-0nk1P z`26AXfop{j#{cu}Q*!x%>>RpMtLp-^xCFr2&sTN!0jmG74S7daZfdne7q-vmkG4KQ zPb?2MKTt2tCjLV#Oern_xG?nue7ykB4_zbykOq9vJ@-BMu=jWxlOKGQf8Wcdi%kGH z2BI87&tZy50!R|w2#?PPx&nnCx`8Ws_5f``jgbv*UD>4DJ=>>%1 z5*$=Nd!dBv6CDW$J%pzW@xfk;Vdeo`y)wQ0a|nt~0HMPU-<%(orH6u0bq-H#U?chF z7oL(U(AxOOQ0y?SBO#;@TnAJ3y$YzRqab2%Ew^$VR}29%Lnl(Mub*qy=7~7uC<1v2 zNPUbqgeP5qzBZp{i9Hs=cL5j%Z6FRl20|YTp^x5>?ZKo!^0j^Wpx7Qj>O4T~P!NcN zg4?u7&om5Fa@TjvzA#a01v&=Sh4|}zOM0l;X5XRgUTgx0>0a50?e3!TX&3CSxquMi zf&IG^9+NNh>J*57JiHU$ge@VLbX}08TC1Fp9l@wN^R7gZ7belfRG$!@VT4EfBIJ3{ zc$b3Kyl-i#<|-#N3D|xfV$5v}qy#&JryBuE^@XhhMLWp9O0MK3&P7iG%SjUr8P+u% z6f@xh`oU#$2u~W+23CdO@bzhT+D8+0Jz9|78_Rh{S)Xm8_#Qx;?iH%ej#dLj?g;?> z4+DXIIkIw7mA!x}5h+nhdordd0FVqrhne;7~*r6Dz_%OSbYOM05#r=R1` zDLw(jc7=JT9$iZ{mAzsKL!&utHf=;!JC(S)89yJkeYA(=K63+x|H zs_<>eQo+fK3E<@#mP>1|DPMp z&0pVHF{F1(`aWO6pBL)@lk@qr_3wB|<+)e?+?38kk3F%azrV>RUmQ5x9Qfi&FCb=& zS~nutKTd$!3Qx#ueHEzfeYF=r4;kX$^uLk*nA(Nz5&PPODfW4ufsegOLH`frgW?ka zeMvH`kC4}B?tkET^T(IY?t0E9J~ zx3v#o|1<&O0*H#DRN>**q$Xh3_p7x4+V6;eE&e8W50gA1Lcf=x=czqNyR+W#b9A3m zgO*D-J{g{%`}MarjJ*JU4Iz60v6uosw*zWI+FwEyoNU;)9oX>)L9eG?fGf~#!2bCJ zC`Nc>B1Qs^i+^o<*$Ze)dzj{lIizh!ouS8FXi(9sfK0|W9S@TJK@v(F;>DrU~Ga zkGQWHoSUMDfPBY8@VK)iWC+Ms{pVf@!^BKT*8=_jJR~6@pKve0w}G#XAEs`9n*j0f zgPaQ>q(5SZALMgW>H(z0zt*2^trC6+9SSlH^GMt0ivQ&rt0Jm$OyW<_?^5RgVjK{I zbXIM{KsHRlPmuWQK#!dZAYlJ=0g4r#lteuB1pJjH{#kp-J~ZJ~~~s%`YA=mc>7?Cbl!b^M;K*sgI%aGGAj4)ZyHoD_TH0ev>lz_Sxd zUjmnEe~C;2rd3eV53qk80iv6!7r=yU)+SlA=8>{V7_2 z7?TrRP%pr?wwW8YKs5Rm>y4qbO3xFL|S&z}GLKHpgl#rI&Qw+8X0Ord>Sx+;hzfk3ZfF zK~)LB1sy-&O9G(3#<6pZ_ugQa)erpA&c-po7sLBzHcz6a`ANB3yU%tpngrmgIAbP$ zK|VMMNWTBXPnwsX{pBFRKIP#Dx`!`@XXfdVwb?yC`UGHG4Z&SsR5`=h-}WBzODVxV zWl9sCsl>kxsZ~@ErC#=SQVGBZD$X(~CD>~xhXBDB!!r{-GHMI5J;WZTKB)v?3Ut%h zGpd~7>~EulV4pfA3D4BxKV(>rA7d3zOHk#MMJd5vJ2?ahz9@&8Xct4ZhpP7hxPqV0 z-_Xy2e(Y~s2Q7U7@gD~GqMT)+vw;hsDfQIIR6acfc3@bAE*JUsVDavm@O literal 0 HcmV?d00001 diff --git a/assets_v2/characters/ghost_archer/metadata.md b/assets_v2/characters/ghost_archer/metadata.md new file mode 100644 index 0000000..33f782c --- /dev/null +++ b/assets_v2/characters/ghost_archer/metadata.md @@ -0,0 +1,18 @@ +# ghost_archer — Animation & Spec Sheet (V2) + +- **Frame size:** 96x96 px +- **Pivot (rotation/hitbox anchor):** [48, 64] +- **Foot baseline (y):** 88 + +| Animation | Frames | FPS | Loop | Startup | Active | Recovery | Proj/Charge | +|---|---|---|---|---|---|---|---| +| ghost_archer_idle | 6 | 8.0 | True | - | - | - | - | +| ghost_archer_retreat | 8 | 10.0 | True | - | - | - | - | +| ghost_archer_aim | 6 | 8.0 | False | 0,1,2,3,4 | - | 5 | ready@5 | +| ghost_archer_shoot | 4 | 14.0 | False | 0 | 1 | 2,3 | 1 | +| ghost_archer_hurt | 4 | 10.0 | False | - | - | - | - | +| ghost_archer_death | 8 | 8.0 | False | - | - | - | - | + +**Legend:** frames are 0-indexed. `Active` = hitbox/projectile window. `projectile_release_frame` = frame the ghost arrow spawns. `charge_ready_frame` = frame a charge/aim state is fully wound (transition out). + +Generated by `assets_v2/tools/gen_metadata.py`. Source: pose comments in `assets_v2/tools/build_*.py`. \ No newline at end of file diff --git a/assets_v2/characters/ghost_archer/palette.png b/assets_v2/characters/ghost_archer/palette.png new file mode 100644 index 0000000000000000000000000000000000000000..6c2f966d2a1e10739ab375da1665971b69268bdf GIT binary patch literal 7970 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 NzhZ4saoO$he*j(TzsUdq literal 0 HcmV?d00001 diff --git a/assets_v2/characters/ghost_archer/silhouette.png b/assets_v2/characters/ghost_archer/silhouette.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d66105f7339beeeac4e7b389b7153dcbb5aa82 GIT binary patch literal 647 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/melee_ghost/contact_sheet.png b/assets_v2/characters/melee_ghost/contact_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..f81dd22aeaf6046cb64fb3d751286e5d0491dcbe GIT binary patch literal 33765 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 b3tx**coZivPfXOJz9%oEB3&$H?En7&7OCk) literal 0 HcmV?d00001 diff --git a/assets_v2/characters/melee_ghost/frame_map.json b/assets_v2/characters/melee_ghost/frame_map.json new file mode 100644 index 0000000..cc2490c --- /dev/null +++ b/assets_v2/characters/melee_ghost/frame_map.json @@ -0,0 +1,153 @@ +{ + "character": "melee_ghost", + "frame_size": [ + 96, + 96 + ], + "pivot": [ + 48, + 70 + ], + "foot_position": [ + 48, + 90 + ], + "animations": { + "melee_ghost_idle": { + "frames": 6, + "fps": 8.0, + "loop": true, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 48, + 70 + ], + "foot_position": [ + 48, + 90 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "hunched sway, ghost fire leak" + }, + "melee_ghost_walk": { + "frames": 8, + "fps": 8.0, + "loop": true, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 48, + 70 + ], + "foot_position": [ + 48, + 90 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "lumbering gait" + }, + "melee_ghost_attack": { + "frames": 8, + "fps": 10.0, + "loop": false, + "phases": { + "startup": [ + 0, + 1, + 2, + 3 + ], + "active": [ + 4, + 5 + ], + "recovery": [ + 6, + 7 + ] + }, + "pivot": [ + 48, + 70 + ], + "foot_position": [ + 48, + 90 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "overhead slam" + }, + "melee_ghost_hurt": { + "frames": 4, + "fps": 10.0, + "loop": false, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 48, + 70 + ], + "foot_position": [ + 48, + 90 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "recoil" + }, + "melee_ghost_death": { + "frames": 8, + "fps": 8.0, + "loop": false, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 48, + 70 + ], + "foot_position": [ + 48, + 90 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "dissolve" + } + } +} \ No newline at end of file diff --git a/assets_v2/characters/melee_ghost/melee_ghost_attack.png b/assets_v2/characters/melee_ghost/melee_ghost_attack.png new file mode 100644 index 0000000000000000000000000000000000000000..43aadca4ecd0b0c1e2e92e76104683c22d3c318e GIT binary patch literal 6832 zcmaKRc|26#|NouAFk_7n(P)u(S(9DNh{}>BJ0*%DDn*GbGpM9QZy|4CCX#)NAzL#d zD%*&L#xg1~$dYA@F>~*C-tW)v@89|3^*FC{?s=Z)eckgq_ng-&*~#IQI7$%(0D!oS zwUsjf2=J?bp9q34%kpGx06_7Mjg^IKWbR^~ZwX`5tDCH*WZ^%0@zABp@1t2>AB5WX z*Wd1R?$JWM_#&!(`DX9qeLp5@o>$4|c{o25vruTtuA?Tj{8g9e)9dMA8Dw`XK}q$R zWzKyA@uGlbJp+v=qK|Vg0XM_@Kh3n))GJ*UpF=|?NFMCtC{b7EIK=I z0!`io9pxD`3yL{ zSA~r3=ObFR2uO^%mN+l|U8D>w&`s#G?rt?1TpAb zVSxQB;mr2WAG@ffLeKhlVR1UKE7}5Xjs`&~%0D(YNoGM1ECdd1 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/melee_ghost/melee_ghost_death.png b/assets_v2/characters/melee_ghost/melee_ghost_death.png new file mode 100644 index 0000000000000000000000000000000000000000..821ad56894f92215c1e52415d55cf3a63c1329f7 GIT binary patch literal 7755 zcmXwecU)7;^L9cYv_v{YI?_Y|6Ph4W1VySKNRc8Dq!|%33Q9|8(nX3iDWWJA5JHin zK~036S#3eed`E%}g)b0stW9 zD*(v>X5K#)2$=x@lKf_uFWq>OzggfCe{14#cWOsX$tP3S+fkeGAN^-FYK)6Np>$iX zyQQ&5k1oXtJCDvp|6M`6E={MjZob9ynk%*PSfQqkc92Uj>Wfb%S|(gyxGpJOyDMl< zITdAE@asY`?0uPabyw)ugZ=#Q1Fv!h4>+ay&|Aa#IKPR(s2!hQ9b)~rQvd*OpA_}r zhuhKa6gvC;AdUWUyye7y8l*oca4*aAn6ku)o@&CpE{={htt!hz0(q{-=tOnF98o#uOf{R*$|_3`R2LhO(zyK?A>zuFh)K zF)r@bqT_7-U-L5{AeV-evDr!AAz>J^nSeBQI&!j(jdYb-i{39M*3pG-)Vf?hz#Kp4 zIRjv28hibtB&Mg;1Woy>&y?nhu|7-)tndwBaZ}x{Q z1;r2PS24!u#vXz-{+hFSVDHtAa5Kh_v)S&!%@M0}sKw?1m>Lo=^V^m>?cQE%Tf7WKuKam(UA31o^22a>><576+p#tRt&)K*nim2 zHey4^3qGG^0sz7&fazo@N64<;#|6+xH(qFUmW+J>g&AOD;GI6FWr26?Z{6REj=F%y z?t=(Ljgv;1GnhZMKFvX2b^_jJmx?1qyZ}yr`uQ^U^emdCl6~-|(z*AY`1N4$>^}&R z1!9xVL56gw77{_?*|lfCbLn`1-VT^(x8F~1JUD1vZHtA0Y>W(d$ZtjA7)ZbN!Cibw zQRiGVP&cFxHxqiK-j1jtQF97>B z*#j?U5L+z*$~r?|2w!DCrEXXbh1K1XkH@5uh@IHZ=?W8(OHE>xy!=ZBTwi+M{%-J* zy9~pQM5T4|I!E4F?By`K2?#+T^Exp+;C^9-zT7!{In*hUa}*9%fjXHVVD>2F`}n{e zYq5=Xu#wP0F%;mIFQ+}uyGDqDbZH@j#-*%Zt8mXnQyZ+Q>gk;r6o|mj;CI0=`;8Me z{_8oE1mu>{qnAT-h)1g^_g-qtXf80RR_hytI0TmNsAUhBqCTDJBlaI%cySwV6kcyz z*fBMN9i}kmi!SQZ`W6f%1R4BVwC6~?rA94%kNF6j!kDbV_U_>2d>EnUk<+Q)n?}sI zJs>zR;Ey`;EAP^eg_lC|CKz5z6e#N~J&oo*h^77BIsEV^Q#C9^+LO^Kmrw}JNf@J$ z@8Dg1%>izHzIfM7gW`G~e}H*>QQy^wi*vO3LG6|U{13a)L$puu#F?9B`p>Gglw)AR zmt!jAjnq(L@OVbVzmw!I$34jB%*%B@H(fle`QL7aSf(#KeBh+t(wa(jlM>FmYB z-^;IfgfFQ6S@&tC$EI+8;GC1Id6F8zZ>0nxL_=~anq;m}N96?9;<~N}?!uS-yXH(n z2nMVJy2TBO%n*g>`ExAdgCAd$81%nXLgMgZaDF7WI)m>GSZyQ2<@9#t_a&VkN^O$| zn+{f8$x9FbXRnKtE{+j=G%K8Y5c+lSqU{*#kOvYo*|s2Dn*PBLe~)Cnd0O?-@4IFv zY2sVL;0xf2qlmLIc>++%t)=EGjp%9Y8 zb1WwatK9eC+5P7P8WeafyM0K-P^OtO-Fb?5^NeXqa!q1CD`)R!_caL(q)3s$khfQh zk0<_`RM?;^NlG`?#MmJZ3L|w0SclGpQS?d;jva?5XWELEX;aqW9=kfZ*t%v0$o^G? zOO5o1_Qm}P>y4JUC2QQm^h4_vIC6an6^r&V(9ErLhzs;}@(lI6)PHFwB-9Hld|6Wn z;A~k@7!koB?lm;w-+wR7q?}hD`BGMMqsO%q;?Nr!RPQ>2 zRpv+)XnD9=&Q6c$zMAUa@!{mEP11`S|4WYs$f|OK=bP{^ zgNisa@@T|j78Af;+gZax2tHDHK4uzr(rFi>GNy4PEXXN=+8^WS@pmXS-^ zl41%{6vD1rM@U&14lomA>2WPE^}tegxr_j<#*wZEDr1?6td=Ym;j7adbG1blM- zqNN1UGXOYae<8ri9kWskdS=P}QK(XOls$=b1F z88li_20dHHa!^`}?a=xA4Mq7YomUEkb(CrIqC{g%NLv+4d)SiKR*m!P& zcmF*N8Gk-iFZ>Dj5VSirF2NfkpWhG^tMdJLS#%x+~t6 zHXU_kiqUlF?#i9T{jKSRyUTP`4jO_B`eLtvbPa!ywzH9~^5c}Rstz||QQ*pK;u1ey zRN-yI14W~yg*XciGa-h&=l!m5)rH1~;YV55Zx8bl(}gNCQ3iL~{!Eu5;8)U~A#zZ7 zE#kK-@(&UZI|HiT=l$I312k#qG<`w?iFU56sd^7o?`%1DJSaWS;AO> zyt|q*IV4n?Ypt->)D~LTKYxR|Jv<@`K0A6-HM_$<9u}ZFkZngAckZxo-0u{9&`d1I zN2C?fD#E!=C78K)=2!w=ox9(e9!4?g!M?ju_waeK4@s(x49Rig9(N$V*&Qv_NB=^d zE1-2*5j_#TA}HTWU#n^F5XXU5Ca#ciHKc{dpuh`ZKIaka%Rl?)tpKu!EmR)X##;w$ zIaxJXF-QMF?u_3JADqnfxy9})u2F~lr%m3-tyGfV`3#(>njdNlfh`^%x`va|b|5*b zQ06#xQSUjo_u2AjuPn_LrFz>M#EGT?L(X7j`GbbsKYYtGZP?fjgLCiixeie5zSkb) zR9pvgrx^FvTKhK8QTDetWDAB9?G+Dj4~mO6XR!WnacrNzQdakMA2YZ=A-x{>IY0Y+ z?(*})>9xnLj}tIOoUf~$25kFBEPd|DobXzNZB2+i-BI$xn=5}(@b-J~8#Vz)Dv_i8 zSndrEnyRjh!;z?2_K`0%XO;LbBrJv4&bmE01lkU>mM2TFm6x-9&H`3v1S13hyY_`c z^VtoX0dXb*427?}@&c7NsMQ?iKRTwOdg``QH8|frk34(OpN{AmxIB|AxZdE2>@F;V zt;_l-_fw9SRAjp3AvxB`(HHhkbl@+VZJd>P>Q}V~#o`rt|W5Y)#5HHfY2J3ae`dm{?yZ1i#G!n6$Gx)F7TG|0#Jm^zq+#BVs1 zp#of0Jn&CaW51SR&Z)#(e4$;hI4*SN&E9B-3vU*8-ySg5w!Q5A(V=Yk=B{AJP)^_h zW^4C}9L{bLcEp=c6(&q(Z%Yi6Z<&e|xd{RS; zZc1DX!q*SKK@2{5M+Chz{|@*%>0%w*8@ZsYZuSn$Q;>I}jibT^O@giPqWIke40LK$ zCzH33Fq_fHjNC^bJcp;T13FNPX;FA0kXxdo_2%gC&35b*j#QBRp@FN~ZVI~@o?2ay z8<=AK;V5059P9`1P(VUSMBT%VxSE8PTHtOcgW4d%v)3NE1MZin`&}=3{}<0HvW6DF z`6TO2CMEbJE??5F-1B=NLb(ft;Ne)_tyPPqiq=m-*wvh&MwX zF6FOTID)Y;&;B;M8r5WN*Tf8gj}se{+2JOTuQ0BK)E_pRXrcv7 z3gkZ$u&HLry4z;hq=zK5gEbwnt0RqGcWU;(YSfaOO+%#@ud#u$F6iUVSbkjVTQmc> z>oaB_QDY6}T$6DQk`ohukN-q>@L)=K*EGc+t5pTpjb6DQQU6O!p*AIP-lruy#vln( zUhfgG9J0BSCN)Sue>kn!zdm2cswrBj)ysFIBCEDRt|UeetGy z+ZXOv@ExGuUmAs>U!^Y@*k8>h#~)CN&fUR#EETnQbI}|A$u2L9wb>9~TAn#ym7ZOJ zS;d$93Vo3suwyDj)l#OrDHx6pY`|s`8vmk;6SHl_P$fssK$+om_Jf3?`$WORV^^|(=ciwAt zekk?G4aiYY+q+amS!RzwHHI7=rf|sjL!u5Bodd&{6g66hg|TJ5pc}qYbpHl${t3lm zesVRwu;KWeoN}9v5WMg^7T_oE0 z)PCZ^VQ;&?mD=(8YZN`(w_WC%oK4wgvM@{P!sEeio*XQcXO^-oRYd>xYCeFAkSZEC-ra0aRATd;{OP{gFKhM=#3Pq+Btl{*_Y}`1Gv&HonHYC=`zT z3Vb0Rpzw~xgbc6;GW~ISJn{y}WWqoU;BlY(jh>_`=(P-81(Fls>Rb45zs^E3u7C@y zT&sfcl9WXP)H)U2#&8*$HI~}4Fu2jW)1C)j!>fo{NJ#f=x&!H9Epr2o3LpQA*y7I; zhR3QTg>!b*4Q)P2ek4--VR({L|XS~agdK=5!P^8LQeOG41uK6;mR}l3f#Uddt z@SX>T-tgD-Hy~3mjd&sQ-hgn~7SwQ~%{`swPWk-N=OfcO>mMFIUWIz!+Jk+5EFDP< z?Je`e+b&y^KhZ?HzF4v;%Rg_X?52Q`7;gZz@inY3Xg z^lOPqGh#yME@QECY+t>fyuDiUBuD;K5#XhAlsSK5i(jKFcX>f%P=a(vL}Fri;@h*k z_qs3EMBaOTd)NuMoYSR7Bd}atZOrb?3&o!vSNb77@!cyG_zD{*MJsSC_waoVl=V=M z@owhmKkkD}&L0Q;CB7$^CA1LM>F-Ry{Tj`<66-p!^p)gSL&tw;2T}DC&jLpWPteMS zj7>KtTyNSyxkRc)wiW@9wSU8qH};J+>WVD>4d`RP`qn` zcqn~GK7zvxSHUC!`}2y|$UomLh-e~qJCXB0&La(()}Ie!wnEVX_ve3i z3tui~t{5D}La-QRJA?JxT1iPeV-%hsRp`#5;xy{Z+`u=q31vDT38=BjIyK~@xwsCc zq#?oGcTHS2eb_6XQs;FrpB+g7I|c?}K1U6yv*{{yyMzQOfr&1t-P9bJ;s0{3FNaP3%`V6MaFq7V1<^NtH9as)=MWc=-eD zp=A#DQ8PbkApX=Ns8QR3qLC-qvUhg$Gw_udBkeQbD!UpojVs3v9pnY@c)_cw$lw>K zLX8B^@$NaVy?=h)qE!VlDN3?#kh%5b;ImySa}=l!%%c*~%Crx)?EU+@*)_;mLSf-5 zJrAs`Bw`LQm2*p~`gC-)mUeBsC@_u~;VHbvUV1qP?<#OMf5Cr|W%E$xJU zeQ9L|&&|zVKt84RSS#Zir2N&j5FohhqO2I)`HoRi81ao=6|mZKFbSQi5-56r-H$j| z!~Cn(GV4!y3Lk;A%!Ph^Fa!~td6?Adqk?p&9QLutLI&{dtG>(89GgF|xum-8w&X*O zlf`_{oU;Ul?>q_Jk(aGg+uWxmD_;P`E3ZA0kt77246o~ zIFFpOG@;f9>>8{Iyp_9gc#F%H;MLr0hV-{kcZA)p<-vedKhug4bDdG1Z_ds3F6$h{q7%&^Sn{w&A z5FiismlH!RO6HVN=XPsj?Wlq%osY{+tL_});07>So<{MUggawB%cU$ZJjb=-#Q_U| zy-f>fsR5^?Ar?z^v*LtZ}K66dx zz4~RfsNPFmc*BN!#GUWP277lD(Nf8k?ReYBC?482awb_v6}=qLJy!c-Uy?j71V8oYAn-Te$}x}n$=t#- z$jklM*sVxDKYO4tn>Um79o||HH5i$m`NZO#G?>X6Ln|C!K3B^kEEawL48U7RI!KmE z4I~a%ME7D zGfe;!0ZU+ATrg(qf4t$c7Ja8=*qH6!iDuLWuG>@s)ii# zSYW33cU#ld6qpAC9wpETTWF3B_-&{ATj2UnK!-Hx@7-3;0_`?;&)XITvNbvBVq(5{1898Z^&te18$Da3x%Pf2 zD+U6yx~L=;U=`*MI0%XEz11g-z?OMAH__@P1%@0F ztZ8=P!}C$K<1*qX|EO%O6SX{xP9cz*m@>?|v9`ImQDp}<;XL5A71hcPfU{FzuKm8L z8bN+drUgDItV>#j{tn^{q-cCljl^p z|Jow)N6F#7JTSYvJUO(ytm8XYAYtQBwr5x%O6*wor9JbLG$eo*v-z4u{XX?JemtqA zf^Ap?vpGebhd7;Z?uLNNRIW1Hok$53c)efhwt)b9cDtjs(5i6ca(7YdzPlPeQPQxiFYO^uW_%q1;j%2)p#z4X z9S%MJgkA(UhJpYjP7NSPfqTHi`@{!BmS14-y>Qjj>PQ#aETo|x5|342UfxJNV8|1H z!de1Ex+w*#Y{u&WYTSwS>{wwW-q5O19gwqe4D`JIKNS-YtbuN+GPYrAMnLnr@u3Dt ze>7cbet6o!2ZOSEJ!8;m%d2Mg7zbU>q*>g8O6*~N5E^}5h>vRS2Va!A@=^20vdsB xrFt+>hnud*3l5flB>>H#tk^ARVoMf+f}z<-`o4QLJNB>K?8>#vUyP7Z{|A=~2z&ql literal 0 HcmV?d00001 diff --git a/assets_v2/characters/melee_ghost/melee_ghost_hurt.png b/assets_v2/characters/melee_ghost/melee_ghost_hurt.png new file mode 100644 index 0000000000000000000000000000000000000000..c47797779b699e23b1697b917f9bb3ae2d70093b GIT binary patch literal 4142 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 Hm#F^%2@nO2 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/melee_ghost/melee_ghost_idle.png b/assets_v2/characters/melee_ghost/melee_ghost_idle.png new file mode 100644 index 0000000000000000000000000000000000000000..af8b9d157c7d59c6cc416fcccae058d6f113886a GIT binary patch literal 4479 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 UkW~80pGk(DwUbr7g)jO40F>aPzyJUM literal 0 HcmV?d00001 diff --git a/assets_v2/characters/melee_ghost/melee_ghost_walk.png b/assets_v2/characters/melee_ghost/melee_ghost_walk.png new file mode 100644 index 0000000000000000000000000000000000000000..2dac8eff1dee84f31711d0ec30cdf8a4f877e784 GIT binary patch literal 5372 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 M;?!}Xh1Z?`0kZ-D0RR91 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/melee_ghost/metadata.md b/assets_v2/characters/melee_ghost/metadata.md new file mode 100644 index 0000000..3aa7049 --- /dev/null +++ b/assets_v2/characters/melee_ghost/metadata.md @@ -0,0 +1,17 @@ +# melee_ghost — Animation & Spec Sheet (V2) + +- **Frame size:** 96x96 px +- **Pivot (rotation/hitbox anchor):** [48, 70] +- **Foot baseline (y):** 90 + +| Animation | Frames | FPS | Loop | Startup | Active | Recovery | Proj/Charge | +|---|---|---|---|---|---|---|---| +| melee_ghost_idle | 6 | 8.0 | True | - | - | - | - | +| melee_ghost_walk | 8 | 8.0 | True | - | - | - | - | +| melee_ghost_attack | 8 | 10.0 | False | 0,1,2,3 | 4,5 | 6,7 | - | +| melee_ghost_hurt | 4 | 10.0 | False | - | - | - | - | +| melee_ghost_death | 8 | 8.0 | False | - | - | - | - | + +**Legend:** frames are 0-indexed. `Active` = hitbox/projectile window. `projectile_release_frame` = frame the ghost arrow spawns. `charge_ready_frame` = frame a charge/aim state is fully wound (transition out). + +Generated by `assets_v2/tools/gen_metadata.py`. Source: pose comments in `assets_v2/tools/build_*.py`. \ No newline at end of file diff --git a/assets_v2/characters/melee_ghost/palette.png b/assets_v2/characters/melee_ghost/palette.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc1660eb8fec396b11069bcc03f598d98f3d51d GIT binary patch literal 6888 zcmdU!X*`sFzsJX3)`pOf8bxIb;cssl^$(FUw#gEShC!5V7!)C)sgOM>blD9f*`~$T z$Y>eNjAcR;#x~4g7Dwm4@AKfi&XaRLI_JUlyRPf|di|D1pU>y}{-s{BJ1-%+Ulara zNnH3FdU@wf`Sa`&-Wl=ASE(S-{@M%B(~gk^^t|1TFcRi|XR`R+k>}D-?|>KQo(NYq zQ4i6=PIU<=9r%|eJfyi+~o=!-g@`ot|9G1jR#%W`vdB; zC%}Syd(Md66-*qwdysFZ{P!t>9uZhM*-+Mxt@9hZ!r1mlAD7#&UT{mB^xl2gbIdD0 ztw#B5Q^+Q{+;HT^#68JUx5yi-I*Ngesk1;&QMsBypncI%<$M2JZI{+A>HoID|DV!n zB$EC>I@8JVho|w-`pEmD)sxMeu2w!;1hd+bC@}LR65-zs{k>0c_pTD5)BK;ZGAc^| zF{_t8@7ja#2OyyVs_gxeW*~7H%r_Vb8fRXoU$=K31cDVqf0K`dLMgypBEh+ypL!(7!|^Ik^%&7{ zhu_=+dp$LQU{JHb(pI|yMDN9Wp2q$F-Qu*~G=S1N(u#E{FbHs(N^}wjN6FN6c7G*_ z+ z-Zan*vKk~2*CprRLyq%`r=e<;u z*5y!oPWfuXZAa2K$8{L2@HN1eHJh)}_?_+BGKx(CqF(_#CzvOT*2K1#kNRwgr=nxU zLux(k`Ouz&;V)~=2x8sd`M<8j>!JyIkE-`<%<__$Z$RDC;{op~@k*%RBg~VDfQM+K zGwG)6h{vaF*d7cq_Gd#?Kp5*O)yFV@*DZ(KU7ih_V2nDQW&?xsnYx4@vJrXVLrw zgE{J(L1=1bS^OGkq~*JmnEQgk^8xiK3(g7jSAoawM_+0b!L1SJuRcE)L2J9a=?a0^ zaGR0lzk(XG4q?j^Gt;_Gb!J&v+hQ{`(1ZJpCVFpbIyo8wvChrk}N;>FReSjdsz4I?Pg6o^OalVZzJMJGCiuh zy6Wrvr#W^tXPvEdd#&D4>`4!K(73mg0wDT`k^NHVR_k3jCq8D|gG;P)MMr+T_unpX z`^o%X3Mlefvh;c+jR8^cYwEXII~{%Bbb{0J@hKgi@mIq4o;E=o^jT)tdN;U8x4 z?@s*RE9<-x%>5`tnY$GOR&ag!IfTaN^(>{J2FNz65eXO0=06L)jswv0ZzTK$G=($d zF`IzNfnSqjO~N=?jGfTZFEKL+1gVIq1=K-C0&tgYS&CDfdl~n5_*VN=d>EHbm;(Ss>W$nlsnKhl@)*y`ISc#|xrY$F=cf+Cr%jz?}jy$dEDQ~ zpVD~qRZm?49S zO5#3c!~-6P&K->mr>H_KkNY=BEaN;?rcV3V@^#D(Z%bY+1B~8)nA&x-25@eCwc{N| zfw|vXDYqzgoB1|^uW-KS?hG3T0XhHN**u%OBxuNgBdZRpzx+_l_qITI(A4P-%{uWD z^)wA;(kT&G?8lx>Wf<4bO9uOa8`;#!u=cX_ER+;pAUll@7j`^$pXF_!v^V;lyG8Ji z`ArwRruIG$;i$&0H@wWb^`_^8EP%MxSTCe`V$X)c@{zhW{1TksFeoiQ`$lHULJqck zh~44>4Gh{8o~kU+>KY0B^1{lO<)8go8^m0`oHz>2Ag21n%3s%^$r*JxFB+A`CqqAO zMfEyA^X5K

  • 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 OpbJ)Z(3&$|cmD&3kvHxD literal 0 HcmV?d00001 diff --git a/assets_v2/characters/melee_ghost/silhouette.png b/assets_v2/characters/melee_ghost/silhouette.png new file mode 100644 index 0000000000000000000000000000000000000000..acb49c7045bac15f47a8700786162be357fb0ecc GIT binary patch literal 529 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 FV1jQk5vTwF literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/contact_sheet.png b/assets_v2/characters/player/contact_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..40cfd4d601a440edfc768430af6fbd67ac830d14 GIT binary patch literal 66779 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
    {@;#mAcgzZ37%{<6OZC z@#E)P{-(Jyr<%()A)O>C7C^xnIV(G$#Y-~RyDzxk!T1T6)X(>ch8NuEzFN<1)hnyC z=74_u9Ct9ro*EjoFN-ku*OObQEP(m?#N1pHZg8SSeIJ#Wj{1ljKRW+hAMIuf4e^gQ} z5UJ(--0mR4Tb@RL9&i9PYm9cUza`H*nux7_Ub9G)w|>*B-C26gZIBM O%74*Z8dhe2(*FWp=!tCr literal 0 HcmV?d00001 diff --git a/assets_v2/review/anim_enemies_melee.gif b/assets_v2/review/anim_enemies_melee.gif new file mode 100644 index 0000000000000000000000000000000000000000..fad2fca9b39b94bb96facfd017a0664ba3c3ea72 GIT binary patch literal 23892 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
    u!(vZt(f%1c&8nT&~Ow%r-W#V-so-37&b$+Mf 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 literal 0 HcmV?d00001 diff --git a/assets_v2/review/character_scale_comparison.png b/assets_v2/review/character_scale_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..3f118ac5ec956a2154b7e7414ff9f82fed9f213c GIT binary patch literal 13333 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 literal 0 HcmV?d00001 diff --git a/assets_v2/review/gameplay_scale_preview.png b/assets_v2/review/gameplay_scale_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..cf13ae980ad23a6e883efad12392a17669931a07 GIT binary patch literal 12894 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 literal 0 HcmV?d00001 diff --git a/assets_v2/review/quality_report.json b/assets_v2/review/quality_report.json new file mode 100644 index 0000000..2ec565a --- /dev/null +++ b/assets_v2/review/quality_report.json @@ -0,0 +1,122 @@ +{ + "checks": [ + { + "name": "1.size", + "status": "PASS", + "detail": "all 37 sheets match frames*fw x fh" + }, + { + "name": "2.frame-diff", + "status": "WARN", + "detail": "low-motion pairs: player_run f3->f4 (114/9216 ~1.2%); melee_ghost_attack f0->f1 (109/9216 ~1.2%); corpse_beast_charge_windup f0->f1 (129/12288 ~1.0%); corpse_beast_charge_windup f1->f2 (170/12288 ~1.4%); corpse_beast_charge_windup f3->f4 (147/12288 ~1.2%); corpse_beast_charge_windup f4->f5 (168/12288 ~1.4%); corpse_beast_wall_impact f2->f3 (163/12288 ~1.3%); corpse_beast_hurt f2->f3 (167/12288 ~1.4%)" + }, + { + "name": "3.alpha", + "status": "PASS", + "detail": "transparent background on all sheets" + }, + { + "name": "4.silhouette", + "status": "WARN", + "detail": "similar shape pair(s): player~melee_ghost=0.967; player~gate_warden=0.934; melee_ghost~gate_warden=0.921 (humanoids share a body plan; distinguished in-game by colour/weapon/lean)" + }, + { + "name": "5.telegraph", + "status": "PASS", + "detail": "all strikes have non-empty active window" + }, + { + "name": "6.foot", + "status": "PASS", + "detail": "foot baseline stable on idle/walk/run (<8% frame height)" + }, + { + "name": "7.weapon", + "status": "WARN", + "detail": "gate_warden_attack_2 motion range only 9%" + }, + { + "name": "8.scale-preview", + "status": "PASS", + "detail": "review/gameplay_scale_preview.png (640x360)" + }, + { + "name": "9.gif", + "status": "PASS", + "detail": "anim_player.gif (38 frames)" + }, + { + "name": "9.gif", + "status": "PASS", + "detail": "anim_enemies_melee.gif (22 frames)" + }, + { + "name": "9.gif", + "status": "PASS", + "detail": "anim_enemies_archer.gif (16 frames)" + }, + { + "name": "9.gif", + "status": "PASS", + "detail": "anim_enemies_beast.gif (18 frames)" + }, + { + "name": "9.gif", + "status": "PASS", + "detail": "anim_boss.gif (38 frames)" + } + ], + "silhouette_similarity": [ + { + "a": "player", + "b": "melee_ghost", + "similarity": 0.967 + }, + { + "a": "player", + "b": "ghost_archer", + "similarity": 0.841 + }, + { + "a": "player", + "b": "corpse_beast", + "similarity": -0.269 + }, + { + "a": "player", + "b": "gate_warden", + "similarity": 0.934 + }, + { + "a": "melee_ghost", + "b": "ghost_archer", + "similarity": 0.826 + }, + { + "a": "melee_ghost", + "b": "corpse_beast", + "similarity": -0.277 + }, + { + "a": "melee_ghost", + "b": "gate_warden", + "similarity": 0.921 + }, + { + "a": "ghost_archer", + "b": "corpse_beast", + "similarity": -0.399 + }, + { + "a": "ghost_archer", + "b": "gate_warden", + "similarity": 0.795 + }, + { + "a": "corpse_beast", + "b": "gate_warden", + "similarity": -0.226 + } + ], + "result": "WARN" +} \ No newline at end of file diff --git a/assets_v2/review/silhouette_comparison.png b/assets_v2/review/silhouette_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..813f7ae826a291f2ab4963f59c4e7649a329647e GIT binary patch literal 3639 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 mid -> shoulder + back = (cx - body_len * 0.45, body_y - arch * 0.6) + mid = (cx, body_y - arch) + shoulder = (cx + body_len * 0.4, body_y - arch * 0.4) + hip = (cx - body_len * 0.45, body_y) + # body fill (tapered polygon) + bh = cfg["body_h"] + fill_poly(draw, [ + (back[0], back[1] - bh * 0.2), + (mid[0], mid[1] - bh), + (shoulder[0], shoulder[1] - bh * 0.3), + (shoulder[0], shoulder[1] + bh * 0.6), + (mid[0], mid[1] + bh * 0.4), + (back[0], back[1] + bh * 0.7), + ], pal["body"]) + # spine highlight + draw.line([_r(back), _r(mid), _r(shoulder)], fill=pal["body_lt"], width=2) + # outline + pts = [(back[0], back[1] - bh * 0.2), (mid[0], mid[1] - bh), (shoulder[0], shoulder[1] - bh * 0.3), + (shoulder[0], shoulder[1] + bh * 0.6), (mid[0], mid[1] + bh * 0.4), (back[0], back[1] + bh * 0.7)] + draw.line([_r(p) for p in pts] + [_r(pts[0])], fill=out, width=1) + + # leg attachment points + fl_hip = (shoulder[0] - 2, shoulder[1] + bh * 0.3) + fr_hip = (shoulder[0] + 2, shoulder[1] + bh * 0.3) + bl_hip = (back[0] + 4, back[1] + bh * 0.3) + br_hip = (back[0] - 2, back[1] + bh * 0.3) + + def draw_leg(hip_pt, knee_a, ankle_a, side): + w = cfg["leg_w"] * (0.85 if side == "far" else 1.0) + knee = _seg(hip_pt, cfg["leg_f_len"] * 0.55, knee_a) + foot = _seg(knee, cfg["leg_f_len"] * 0.55, ankle_a) + base = pal["leg_dk"] if side == "far" else pal["leg"] + capsule(draw, hip_pt, knee, w, base, outline=out, light=pal["leg_lt"]) + capsule(draw, knee, foot, max(2, w - 1), base, outline=out, light=pal["leg_lt"]) + # claw + claw = (foot[0] + 4, foot[1] + 2) + fill_poly(draw, [foot, claw, (foot[0] + 1, foot[1] - 2)], pal["claw"]) + return foot + + # back far leg + draw_leg(br_hip, pose.get("leg_br_knee", 95), pose.get("leg_br_ankle", 80), "far") + # front far leg + draw_leg(fr_hip, pose.get("leg_fr_knee", 85), pose.get("leg_fr_ankle", 100), "far") + + # body again for overlap? no, keep simple + + # head / neck + neck = (shoulder[0] + 8, shoulder[1] - 6) + head_c = (neck[0] + cfg["head_x"] * 0.5, neck[1] - 6 + pose.get("head_y", 0)) + # neck + capsule(draw, shoulder, neck, 5, pal["body_dk"], outline=out, light=pal["body_lt"]) + # head (elongated) + fill_poly(draw, [ + (head_c[0] - cfg["head_len"] * 0.5, head_c[1] - cfg["head_h"]), + (head_c[0] + cfg["head_len"] * 0.5, head_c[1] - cfg["head_h"] * 0.6), + (head_c[0] + cfg["head_len"] * 0.5, head_c[1] + cfg["head_h"] * 0.5), + (head_c[0] - cfg["head_len"] * 0.3, head_c[1] + cfg["head_h"]), + ], pal["body"]) + draw.line([ + _r((head_c[0] - cfg["head_len"] * 0.5, head_c[1] - cfg["head_h"])), + _r((head_c[0] + cfg["head_len"] * 0.5, head_c[1] - cfg["head_h"] * 0.6)), + _r((head_c[0] + cfg["head_len"] * 0.5, head_c[1] + cfg["head_h"] * 0.5)), + _r((head_c[0] - cfg["head_len"] * 0.3, head_c[1] + cfg["head_h"])), + _r((head_c[0] - cfg["head_len"] * 0.5, head_c[1] - cfg["head_h"])), + ], fill=out, width=1) + # eye(s) + glow = pose.get("charge_glow", 0) + eye_c = (head_c[0] + cfg["head_len"] * 0.25, head_c[1] - 2) + fill_circle(draw, eye_c, 3 + glow * 2, (140, 20, 20)) + fill_circle(draw, eye_c, 2 + glow, (220, 60, 40)) + # chest glow when charging + if glow > 0.3: + fill_circle(draw, (shoulder[0], shoulder[1] - 2), 4 + glow * 3, (140, 20, 20)) + fill_circle(draw, (shoulder[0], shoulder[1] - 2), 2 + glow, (220, 60, 40)) + + # front near leg + draw_leg(fl_hip, pose.get("leg_fl_knee", 85), pose.get("leg_fl_ankle", 100), "near") + # back near leg + draw_leg(bl_hip, pose.get("leg_bl_knee", 95), pose.get("leg_bl_ankle", 80), "near") + + # tail + tail_base = (back[0] - 6, back[1]) + tail_tip = (back[0] - 22, back[1] - 4 + pose.get("tail", 0)) + capsule(draw, tail_base, tail_tip, 3, pal["body_dk"], outline=out) diff --git a/assets_v2/tools/build_boss.py b/assets_v2/tools/build_boss.py new file mode 100644 index 0000000..8ff8ccf --- /dev/null +++ b/assets_v2/tools/build_boss.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Gate Warden Boss (镇关鬼将). + +Massive gate guardian, 2.5-3x player height. Upper body extremely wide, +asymmetric shoulders (one huge pauldron), short stable legs, hidden head in +empty helm with strong ghost fire. Great blade length >= 70% of body height. +""" + +from __future__ import annotations +from pathlib import Path +from pixel_engine import bake_sheet +from humanoid import humanoid_config, render_humanoid + +ROOT = Path(__file__).resolve().parent.parent.parent +OUT = ROOT / "assets_v2" / "characters" / "gate_warden" + +BOSS_CFG = humanoid_config( + fw=192, fh=192, cx=96, hip_y=128, torso_len=54, neck_len=10, head_r=20, + upper_arm=36, lower_arm=30, arm_w=8, thigh=34, shin=30, leg_w=10, + scale=1.0, lean=4, stance=10, style="boss", + torso_hw=22, torso_hw_hip=18, + weapon_len=112, ghost_fire=True, pauldrons=True, asymmetric_pauldrons=True, + palette={ + "skin": (82, 78, 88), "skin_lt": (105, 100, 112), "skin_sh": (55, 52, 62), + "armor": (58, 50, 66), "armor_lt": (88, 78, 98), "armor_dk": (35, 30, 42), + "cloth": (105, 32, 32), "cloth_lt": (145, 48, 44), "cloth_dk": (65, 18, 18), + "gold": (130, 108, 58), "copper": (115, 78, 52), + "blade": (82, 80, 92), "blade_lt": (132, 130, 148), "blade_dk": (48, 46, 56), + "grip": (55, 45, 38), "guard": (125, 105, 62), + "outline": (14, 12, 18), + }, +) + +A = lambda sa, ea: (sa, ea) + +# Idle: colossal breathing, >=3px bob steps (large canvas), ghost-fire flicker. +IDLE = [ + {"bob": 0, "arm_front": A(88, 98), "arm_back": A(92, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 83, "fire_t": 0.0}, + {"bob": 3, "arm_front": A(87, 98), "arm_back": A(93, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 86, "fire_t": 0.12}, + {"bob": 6, "arm_front": A(86, 97), "arm_back": A(94, 101), "leg_front": A(90, 93), "leg_back": A(90, 94), "weapon": 89, "fire_t": 0.25}, + {"bob": 3, "arm_front": A(87, 98), "arm_back": A(93, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 87, "fire_t": 0.37}, + {"bob": 0, "arm_front": A(88, 98), "arm_back": A(92, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 84, "fire_t": 0.5}, + {"bob": 3, "arm_front": A(89, 99), "arm_back": A(91, 103), "leg_front": A(92, 91), "leg_back": A(88, 95), "weapon": 86, "fire_t": 0.62}, + {"bob": 6, "arm_front": A(86, 97), "arm_back": A(94, 101), "leg_front": A(90, 93), "leg_back": A(90, 94), "weapon": 88, "fire_t": 0.75}, + {"bob": 3, "arm_front": A(88, 98), "arm_back": A(92, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 85, "fire_t": 0.87}, +] + +WALK = [ + {"bob": 0, "arm_front": A(88, 100), "arm_back": A(92, 104), "leg_front": A(78, 102), "leg_back": A(105, 95), "weapon": 88, "fire_t": 0.0}, + {"bob": 2, "arm_front": A(90, 102), "arm_back": A(90, 106), "leg_front": A(86, 98), "leg_back": A(98, 98), "weapon": 90, "fire_t": 0.12}, + {"bob": 3, "arm_front": A(92, 104), "arm_back": A(88, 108), "leg_front": A(94, 95), "leg_back": A(94, 95), "weapon": 92, "fire_t": 0.25}, + {"bob": 2, "arm_front": A(90, 102), "arm_back": A(90, 106), "leg_front": A(102, 98), "leg_back": A(86, 98), "weapon": 90, "fire_t": 0.37}, + {"bob": 0, "arm_front": A(88, 100), "arm_back": A(92, 104), "leg_front": A(108, 95), "leg_back": A(78, 102), "weapon": 88, "fire_t": 0.5}, + {"bob": 2, "arm_front": A(90, 102), "arm_back": A(90, 106), "leg_front": A(102, 98), "leg_back": A(86, 98), "weapon": 90, "fire_t": 0.62}, + {"bob": 3, "arm_front": A(92, 104), "arm_back": A(88, 108), "leg_front": A(94, 95), "leg_back": A(94, 95), "weapon": 92, "fire_t": 0.75}, + {"bob": 2, "arm_front": A(90, 102), "arm_back": A(90, 106), "leg_front": A(86, 98), "leg_back": A(98, 98), "weapon": 90, "fire_t": 0.87}, +] + +# Horizontal sweep +ATTACK_1 = [ + {"bob": 0, "arm_front": A(88, 98), "arm_back": A(92, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 85, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(95, 100), "arm_back": A(85, 100), "leg_front": A(88, 95), "leg_back": A(92, 95), "weapon": 100, "fire_t": 0.1}, + {"bob": 2, "arm_front": A(110, 110), "arm_back": A(75, 100), "leg_front": A(84, 98), "leg_back": A(96, 95), "weapon": 125, "fire_t": 0.2}, + {"bob": 2, "arm_front": A(125, 120), "arm_back": A(65, 105), "leg_front": A(80, 100), "leg_back": A(100, 95), "weapon": 150, "fire_t": 0.3}, + {"bob": 1, "arm_front": A(140, 125), "arm_back": A(60, 110), "leg_front": A(78, 102), "leg_back": A(102, 95), "weapon": 170, "fire_t": 0.4}, # active start + {"bob": 0, "arm_front": A(80, 90), "arm_back": A(90, 105), "leg_front": A(76, 100), "leg_back": A(104, 95), "weapon": 30, "fire_t": 0.5}, # active end + {"bob": 0, "arm_front": A(55, 80), "arm_back": A(100, 108), "leg_front": A(78, 98), "leg_back": A(102, 95), "weapon": 0, "fire_t": 0.6}, + {"bob": 0, "arm_front": A(40, 75), "arm_back": A(110, 110), "leg_front": A(82, 96), "leg_back": A(98, 95), "weapon": -25, "fire_t": 0.7}, + {"bob": 1, "arm_front": A(70, 90), "arm_back": A(100, 105), "leg_front": A(86, 94), "leg_back": A(94, 95), "weapon": 50, "fire_t": 0.8}, + {"bob": 0, "arm_front": A(88, 98), "arm_back": A(92, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 85, "fire_t": 0.9}, +] + +# Overhead slam / ground pound +ATTACK_2 = [ + {"bob": 0, "arm_front": A(88, 98), "arm_back": A(92, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 85, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(95, 100), "arm_back": A(85, 100), "leg_front": A(88, 95), "leg_back": A(92, 95), "weapon": 100, "fire_t": 0.08}, + {"bob": 2, "arm_front": A(105, 105), "arm_back": A(78, 98), "leg_front": A(85, 98), "leg_back": A(95, 95), "weapon": 120, "fire_t": 0.16}, + {"bob": 3, "arm_front": A(120, 110), "arm_back": A(70, 100), "leg_front": A(82, 100), "leg_back": A(98, 95), "weapon": 145, "fire_t": 0.24}, + {"bob": 4, "arm_front": A(140, 115), "arm_back": A(60, 105), "leg_front": A(80, 102), "leg_back": A(100, 95), "weapon": 170, "fire_t": 0.32}, + {"bob": 4, "arm_front": A(160, 120), "arm_back": A(55, 110), "leg_front": A(78, 104), "leg_back": A(102, 95), "weapon": 185, "fire_t": 0.40}, # top hold + {"bob": 3, "arm_front": A(170, 115), "arm_back": A(50, 112), "leg_front": A(78, 104), "leg_back": A(102, 95), "weapon": 190, "fire_t": 0.48}, # active start + {"bob": 0, "arm_front": A(110, 85), "arm_back": A(75, 105), "leg_front": A(76, 102), "leg_back": A(104, 95), "weapon": 120, "fire_t": 0.56}, # slam + {"bob": 0, "arm_front": A(75, 75), "arm_back": A(95, 110), "leg_front": A(76, 100), "leg_back": A(104, 95), "weapon": 70, "fire_t": 0.64}, # impact + {"bob": 1, "arm_front": A(60, 75), "arm_back": A(105, 112), "leg_front": A(80, 98), "leg_back": A(100, 95), "weapon": 50, "fire_t": 0.72}, + {"bob": 2, "arm_front": A(75, 85), "arm_back": A(100, 108), "leg_front": A(85, 96), "leg_back": A(95, 95), "weapon": 70, "fire_t": 0.80}, + {"bob": 0, "arm_front": A(88, 98), "arm_back": A(92, 102), "leg_front": A(91, 92), "leg_back": A(89, 94), "weapon": 85, "fire_t": 0.88}, +] + +HURT = [ + {"bob": 0, "arm_front": A(100, 105), "arm_back": A(80, 100), "leg_front": A(94, 92), "leg_back": A(86, 96), "weapon": 100, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(110, 110), "arm_back": A(70, 105), "leg_front": A(96, 93), "leg_back": A(84, 98), "weapon": 110, "fire_t": 0.2}, + {"bob": 1, "arm_front": A(105, 108), "arm_back": A(75, 102), "leg_front": A(94, 92), "leg_back": A(86, 96), "weapon": 105, "fire_t": 0.4}, + {"bob": 0, "arm_front": A(95, 100), "arm_back": A(85, 100), "leg_front": A(92, 91), "leg_back": A(88, 95), "weapon": 95, "fire_t": 0.6}, +] + +DEATH = [ + {"bob": 0, "arm_front": A(95, 100), "arm_back": A(85, 100), "leg_front": A(92, 91), "leg_back": A(88, 95), "weapon": 95, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(105, 108), "arm_back": A(75, 105), "leg_front": A(95, 93), "leg_back": A(85, 98), "weapon": 105, "fire_t": 0.08}, + {"bob": 2, "arm_front": A(115, 115), "arm_back": A(65, 110), "leg_front": A(98, 95), "leg_back": A(82, 102), "weapon": 115, "fire_t": 0.16}, + {"bob": 3, "arm_front": A(120, 120), "arm_back": A(60, 115), "leg_front": A(100, 98), "leg_back": A(80, 105), "weapon": 120, "fire_t": 0.24}, + {"bob": 4, "arm_front": A(115, 125), "arm_back": A(65, 120), "leg_front": A(98, 105), "leg_back": A(82, 110), "weapon": 125, "fire_t": 0.32}, + {"bob": 5, "arm_front": A(110, 130), "arm_back": A(70, 125), "leg_front": A(95, 110), "leg_back": A(85, 115), "weapon": 130, "fire_t": 0.40}, + {"bob": 6, "arm_front": A(105, 135), "arm_back": A(75, 130), "leg_front": A(92, 115), "leg_back": A(88, 118), "weapon": 135, "fire_t": 0.48}, + {"bob": 7, "arm_front": A(100, 140), "arm_back": A(80, 135), "leg_front": A(90, 118), "leg_back": A(90, 120), "weapon": 140, "fire_t": 0.56}, + {"bob": 8, "arm_front": A(95, 145), "arm_back": A(85, 140), "leg_front": A(90, 120), "leg_back": A(90, 122), "weapon": 145, "fire_t": 0.64}, + {"bob": 9, "arm_front": A(90, 150), "arm_back": A(90, 145), "leg_front": A(90, 122), "leg_back": A(90, 124), "weapon": 150, "fire_t": 0.72}, + {"bob": 10, "arm_front": A(90, 155), "arm_back": A(90, 150), "leg_front": A(90, 124), "leg_back": A(90, 126), "weapon": 155, "fire_t": 0.80}, + {"bob": 10, "arm_front": A(90, 160), "arm_back": A(90, 155), "leg_front": A(90, 126), "leg_back": A(90, 128), "weapon": 160, "fire_t": 0.88}, +] + +ANIMS = { + "gate_warden_idle": (IDLE, 6.0, True), + "gate_warden_walk": (WALK, 8.0, True), + "gate_warden_attack_1": (ATTACK_1, 9.0, False), + "gate_warden_attack_2": (ATTACK_2, 8.0, False), + "gate_warden_hurt": (HURT, 8.0, False), + "gate_warden_death": (DEATH, 6.0, False), +} + + +def build(): + for name, (poses, fps, loop) in ANIMS.items(): + fw, fh = BOSS_CFG["fw"], BOSS_CFG["fh"] + bake_sheet(fw, fh, len(poses), + lambda d, i, fw, fh, poses=poses: render_humanoid(d, BOSS_CFG, poses[i], fw, fh), + str(OUT / f"{name}.png")) + print(f" ✓ {name}.png ({len(poses)} frames)") + + +if __name__ == "__main__": + build() diff --git a/assets_v2/tools/build_corpse_beast.py b/assets_v2/tools/build_corpse_beast.py new file mode 100644 index 0000000..3ce1696 --- /dev/null +++ b/assets_v2/tools/build_corpse_beast.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Corpse Beast (冲锋尸兽) build script. + +Low, wide, quadrupedal charge enemy. Distinct horizontal silhouette from all +humanoid characters. Glowing red eyes/chest during charge wind-up. + +Animations (per brief): + idle 6 subtle breathing / tail sway + run 8 gallop cycle + charge_windup 6 coil + red charge glow builds 0 -> 1 + charge 4 full extension, glow max, legs locked forward + wall_impact 4 compressed against wall, glow fading + hurt 4 recoil scramble + death 8 collapse, legs fold, sink down +""" + +from __future__ import annotations +from pathlib import Path +from pixel_engine import bake_sheet +from beast import beast_config, render_beast + +ROOT = Path(__file__).resolve().parent.parent.parent +OUT = ROOT / "assets_v2" / "characters" / "corpse_beast" + +# Decayed cold palette — distinct from the warm humanoids and the green ghost +# fire of the bow/melee ghosts. Eyes/chest use fixed red (see beast.render_beast). +BEAST_CFG = beast_config( + fw=128, fh=96, + palette={ + "outline": (16, 13, 15), + "body": (70, 62, 56), "body_lt": (104, 94, 84), "body_dk": (48, 42, 38), + "leg": (62, 54, 50), "leg_dk": (42, 36, 34), "leg_lt": (92, 84, 76), + "claw": (150, 22, 22), + }, +) + +# ── pose helpers ───────────────────────────────────────────────────────────── +def leg(fl, fra, bl, bra): + """Front-left / front-right / back-left / back-right (knee, ankle).""" + return { + "leg_fl_knee": fl[0], "leg_fl_ankle": fl[1], + "leg_fr_knee": fra[0], "leg_fr_ankle": fra[1], + "leg_bl_knee": bl[0], "leg_bl_ankle": bl[1], + "leg_br_knee": bra[0], "leg_br_ankle": bra[1], + } + +# Idle: low quadruped breathing, >=3px bob/arch steps, no dup frames. +IDLE = [ + {"bob": 0, "arch": 0, "tail": 0, **leg((85, 100), (85, 100), (95, 80), (95, 80))}, + {"bob": 3, "arch": 3, "tail": 3, **leg((82, 102), (88, 98), (92, 82), (98, 78))}, + {"bob": 6, "arch": 6, "tail": -2, **leg((88, 98), (82, 102), (98, 78), (92, 82))}, + {"bob": 3, "arch": 3, "tail": 3, **leg((84, 101), (86, 99), (94, 81), (96, 79))}, + {"bob": 0, "arch": 0, "tail": 0, **leg((86, 99), (84, 101), (96, 79), (94, 81))}, + {"bob": 3, "arch": 3, "tail": 2, **leg((83, 102), (87, 98), (93, 82), (97, 78))}, +] + +RUN = [ + {"bob": 2, "arch": 3, "stretch": 2, "head_y": -2, "tail": -3, **leg((70, 95), (70, 95), (110, 80), (110, 80))}, + {"bob": 1, "arch": 4, "stretch": 4, "head_y": -1, "tail": -5, **leg((80, 100), (80, 100), (120, 70), (120, 70))}, + {"bob": 2, "arch": 3, "stretch": 3, "head_y": 0, "tail": -2, **leg((95, 105), (95, 105), (100, 85), (100, 85))}, + {"bob": 0, "arch": 2, "stretch": 5, "head_y": -3, "tail": -6, **leg((65, 90), (65, 90), (115, 75), (115, 75))}, + {"bob": 1, "arch": 3, "stretch": 4, "head_y": -1, "tail": -4, **leg((75, 96), (75, 96), (125, 68), (125, 68))}, + {"bob": 2, "arch": 3, "stretch": 3, "head_y": 0, "tail": -2, **leg((92, 104), (92, 104), (102, 84), (102, 84))}, + {"bob": 1, "arch": 4, "stretch": 4, "head_y": -1, "tail": -5, **leg((82, 101), (82, 101), (122, 72), (122, 72))}, + {"bob": 2, "arch": 2, "stretch": 3, "head_y": -2, "tail": -3, **leg((72, 94), (72, 94), (112, 78), (112, 78))}, +] + +CHARGE_WINDUP = [ + {"bob": 0, "arch": 2, "stretch": -2, "head_y": 2, "charge_glow": 0.10, "tail": 2, **leg((90, 100), (90, 100), (95, 80), (95, 80))}, + {"bob": 1, "arch": 4, "stretch": -3, "head_y": 3, "charge_glow": 0.30, "tail": 1, **leg((94, 102), (94, 102), (98, 82), (98, 82))}, + {"bob": 2, "arch": 6, "stretch": -4, "head_y": 4, "charge_glow": 0.50, "tail": 0, **leg((98, 103), (98, 103), (100, 84), (100, 84))}, + {"bob": 3, "arch": 8, "stretch": -6, "head_y": 5, "charge_glow": 0.70, "tail": -1, **leg((102, 104), (102, 104), (103, 86), (103, 86))}, + {"bob": 4, "arch": 10, "stretch": -7, "head_y": 6, "charge_glow": 0.85, "tail": -2, **leg((104, 106), (104, 106), (105, 88), (105, 88))}, + {"bob": 5, "arch": 12, "stretch": -9, "head_y": 7, "charge_glow": 1.00, "tail": -3, **leg((106, 108), (106, 108), (107, 90), (107, 90))}, +] + +CHARGE = [ + {"bob": 0, "arch": -2, "stretch": 10, "head_y": -6, "charge_glow": 1.0, "tail": -8, **leg((60, 88), (60, 88), (130, 64), (130, 64))}, + {"bob": 0, "arch": -3, "stretch": 12, "head_y": -7, "charge_glow": 1.0, "tail": -9, **leg((62, 90), (62, 90), (132, 62), (132, 62))}, + {"bob": 0, "arch": -2, "stretch": 11, "head_y": -6, "charge_glow": 1.0, "tail": -8, **leg((61, 89), (61, 89), (131, 63), (131, 63))}, + {"bob": 0, "arch": -3, "stretch": 12, "head_y": -7, "charge_glow": 1.0, "tail": -9, **leg((63, 91), (63, 91), (133, 61), (133, 61))}, +] + +WALL_IMPACT = [ + {"bob": 6, "arch": 6, "stretch": -8, "head_y": 8, "charge_glow": 0.60, "tail": 4, **leg((120, 96), (120, 96), (80, 92), (80, 92))}, + {"bob": 8, "arch": 8, "stretch": -10, "head_y": 10, "charge_glow": 0.40, "tail": 6, **leg((130, 98), (130, 98), (72, 95), (72, 95))}, + {"bob": 7, "arch": 7, "stretch": -9, "head_y": 9, "charge_glow": 0.25, "tail": 5, **leg((125, 97), (125, 97), (76, 93), (76, 93))}, + {"bob": 6, "arch": 6, "stretch": -8, "head_y": 8, "charge_glow": 0.15, "tail": 4, **leg((122, 96), (122, 96), (78, 92), (78, 92))}, +] + +HURT = [ + {"bob": 1, "arch": 1, "stretch": -1, "head_y": 3, **leg((100, 100), (100, 100), (98, 82), (98, 82))}, + {"bob": 3, "arch": 3, "stretch": -2, "head_y": 5, **leg((108, 104), (108, 104), (104, 86), (104, 86))}, + {"bob": 2, "arch": 2, "stretch": -1, "head_y": 4, **leg((104, 102), (104, 102), (101, 84), (101, 84))}, + {"bob": 1, "arch": 1, "stretch": 0, "head_y": 2, **leg((102, 101), (102, 101), (99, 83), (99, 83))}, +] + +DEATH = [ + {"bob": 2, "arch": 0, "stretch": 0, "head_y": 4, "charge_glow": 0.2, "tail": 2, **leg((100, 100), (100, 100), (98, 82), (98, 82))}, + {"bob": 4, "arch": -2, "stretch": -2, "head_y": 6, "charge_glow": 0.1, "tail": 4, **leg((110, 100), (110, 100), (105, 84), (105, 84))}, + {"bob": 6, "arch": -4, "stretch": -4, "head_y": 8, "tail": 6, **leg((120, 100), (120, 100), (112, 86), (112, 86))}, + {"bob": 8, "arch": -6, "stretch": -6, "head_y": 10, "tail": 8, **leg((128, 102), (128, 102), (118, 88), (118, 88))}, + {"bob": 10, "arch": -8, "stretch": -8, "head_y": 12, "tail": 10, **leg((132, 104), (132, 104), (122, 90), (122, 90))}, + {"bob": 12, "arch": -10, "stretch": -10, "head_y": 14, "tail": 12, **leg((134, 106), (134, 106), (124, 92), (124, 92))}, + {"bob": 14, "arch": -12, "stretch": -12, "head_y": 16, "tail": 14, **leg((135, 108), (135, 108), (126, 94), (126, 94))}, + {"bob": 16, "arch": -14, "stretch": -14, "head_y": 18, "tail": 16, **leg((136, 110), (136, 110), (128, 96), (128, 96))}, +] + +ANIMS = { + "corpse_beast_idle": (IDLE, 5.0, True), + "corpse_beast_run": (RUN, 10.0, True), + "corpse_beast_charge_windup": (CHARGE_WINDUP, 8.0, False), + "corpse_beast_charge": (CHARGE, 12.0, False), + "corpse_beast_wall_impact": (WALL_IMPACT, 8.0, False), + "corpse_beast_hurt": (HURT, 10.0, False), + "corpse_beast_death": (DEATH, 6.0, False), +} + + +def build(): + fw, fh = BEAST_CFG["fw"], BEAST_CFG["fh"] + for name, (poses, fps, loop) in ANIMS.items(): + bake_sheet(fw, fh, len(poses), + lambda d, i, fw, fh, poses=poses: render_beast(d, BEAST_CFG, poses[i], fw, fh), + str(OUT / f"{name}.png")) + print(f" ok {name}.png ({len(poses)} frames)") + + +if __name__ == "__main__": + build() diff --git a/assets_v2/tools/build_design_bible.py b/assets_v2/tools/build_design_bible.py new file mode 100644 index 0000000..53a11b4 --- /dev/null +++ b/assets_v2/tools/build_design_bible.py @@ -0,0 +1,184 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Design Bible + Comparison sheets. + +Per character directory, emit: + concept_front.png idle frame (front-facing) + concept_side.png mid-run/walk frame (action profile) + concept_back.png mirrored front (back approximation; true 3/4 not feasible + in pure side-scroller pixel art — flagged in metadata) + silhouette.png solid-black silhouette of the front pose + palette.png material palette swatches (hex) + contact_sheet.png every animation frame in a labelled grid + +Plus review/ comparison sheets: + character_scale_comparison.png all 5 characters bottom-aligned on one ground line + silhouette_comparison.png all 5 black silhouettes for distinction check +""" + +from __future__ import annotations +from pathlib import Path +from PIL import Image, ImageDraw, ImageFont +from pixel_engine import new_canvas + +# import build modules (module-level only; build() not auto-run) +from build_player import PLAYER_CFG, IDLE as P_IDLE, RUN as P_RUN, render_humanoid +from build_melee_ghost import MELEE_CFG, IDLE as M_IDLE, WALK as M_WALK, render_humanoid +from build_ghost_archer import ARCHER_CFG, IDLE as A_IDLE, RETREAT as A_RETREAT, render_humanoid +from build_boss import BOSS_CFG, IDLE as B_IDLE, WALK as B_WALK, render_humanoid +from build_corpse_beast import BEAST_CFG, IDLE as C_IDLE, RUN as C_RUN, render_beast + +ROOT = Path(__file__).resolve().parent.parent.parent +CHAR_DIR = ROOT / "assets_v2" / "characters" +REVIEW_DIR = ROOT / "assets_v2" / "review" + +FONT = ImageFont.load_default() + +# char -> (cfg, front_pose, side_pose, fn, fw, fh) +CHARS = { + "player": (PLAYER_CFG, P_IDLE[0], P_RUN[3], render_humanoid, 96, 96), + "melee_ghost": (MELEE_CFG, M_IDLE[0], M_WALK[3], render_humanoid, 96, 96), + "ghost_archer": (ARCHER_CFG, A_IDLE[0], A_RETREAT[3], render_humanoid, 96, 96), + "corpse_beast": (BEAST_CFG, C_IDLE[0], C_RUN[3], render_beast, 128, 96), + "gate_warden": (BOSS_CFG, B_IDLE[0], B_WALK[3], render_humanoid, 192, 192), +} + + +def render_pose(cfg, pose, fw, fh, fn): + img, d = new_canvas(fw, fh) + fn(d, cfg, pose, fw, fh) + return img + + +def to_silhouette(img): + out = Image.new("RGBA", img.size, (0, 0, 0, 0)) + src = img.load() + dst = out.load() + for y in range(img.height): + for x in range(img.width): + r, g, b, a = src[x, y] + if a > 16: + dst[x, y] = (0, 0, 0, 255) + return out + + +def make_palette(cfg): + pal = cfg["palette"] + keys = list(pal.keys()) + cols = 4 + sw = 44 + step = 52 + rows = (len(keys) + cols - 1) // cols + W = cols * step + 10 + H = rows * step + 10 + img, d = new_canvas(W, H) + d.rectangle([0, 0, W - 1, H - 1], outline=(60, 60, 60)) + for i, k in enumerate(keys): + r, c = divmod(i, cols) + x = 6 + c * step + y = 6 + r * step + col = pal[k] + d.rectangle([x, y, x + sw, y + sw], fill=col, outline=(0, 0, 0)) + hexs = "#%02X%02X%02X" % col + d.text((x, y + sw + 2), f"{k}:{hexs}", fill=(210, 210, 210), font=FONT) + return img + + +def make_contact_sheet(char): + d = CHAR_DIR / char + fw = fh = None + # discover frame size from any sprite + sheets = [] + for p in sorted(d.glob("*.png")): + if p.name.startswith(("concept_", "silhouette", "palette", "contact_sheet")): + continue + im = Image.open(p) + # robust frame_w from a known char size + w, h = im.size + if char == "corpse_beast": + _fw, _fh = 128, 96 + elif char == "gate_warden": + _fw, _fh = 192, 192 + else: + _fw, _fh = 96, 96 + n = w // _fw + sheets.append((p.name, im, _fw, _fh, n)) + if fw is None: + fw, fh = _fw, _fh + gap = 2 + label_h = 12 + maxn = max(n for _, _, _, _, n in sheets) + cell_w = fw + gap + cell_h = fh + gap + W = 6 + maxn * cell_w + H = 6 + len(sheets) * (cell_h + label_h) + img, dr = new_canvas(W, H) + for ri, (name, im, _fw, _fh, n) in enumerate(sheets): + y0 = 6 + ri * (cell_h + label_h) + dr.text((6, y0), name, fill=(220, 220, 220), font=FONT) + for f in range(n): + x0 = 6 + f * cell_w + frame = im.crop((f * _fw, 0, f * _fw + _fw, _fh)) + img.paste(frame, (x0, y0 + label_h), frame) + return img + + +def per_character(): + for char, (cfg, front_pose, side_pose, fn, fw, fh) in CHARS.items(): + d = CHAR_DIR / char + front = render_pose(cfg, front_pose, fw, fh, fn) + side = render_pose(cfg, side_pose, fw, fh, fn) + back = front.transpose(Image.FLIP_LEFT_RIGHT) + sil = to_silhouette(front) + pal = make_palette(cfg) + front.save(str(d / "concept_front.png")) + side.save(str(d / "concept_side.png")) + back.save(str(d / "concept_back.png")) + sil.save(str(d / "silhouette.png")) + pal.save(str(d / "palette.png")) + make_contact_sheet(char).save(str(d / "contact_sheet.png")) + print(f" ok {char}: front/side/back/silhouette/palette/contact_sheet") + + +def comparisons(): + REVIEW_DIR.mkdir(parents=True, exist_ok=True) + # gather front poses + foot positions + rows = [] + for char, (cfg, front_pose, _, fn, fw, fh) in CHARS.items(): + img = render_pose(cfg, front_pose, fw, fh, fn) + rows.append((char, img, fw, fh)) + + # scale comparison: bottom-aligned on one ground line + pad = 20 + gap = 40 + ground = 360 + total_w = pad * 2 + sum(fw + gap for _, _, fw, _ in rows) + scale_img, sd = new_canvas(total_w, ground + 40) + sd.rectangle([0, 0, total_w - 1, ground + 39], fill=(18, 20, 26)) + sd.line([(0, ground), (total_w, ground)], fill=(70, 74, 84), width=2) + x = pad + for char, img, fw, fh in rows: + y = ground - fh + scale_img.paste(img, (x, y), img) + sd.text((x + fw // 2 - len(char) * 3, ground + 6), char, fill=(200, 200, 200), font=FONT) + x += fw + gap + scale_img.save(str(REVIEW_DIR / "character_scale_comparison.png")) + print(" ok review/character_scale_comparison.png") + + # silhouette comparison + sil_img, _ = new_canvas(total_w, ground + 40) + x = pad + for char, img, fw, fh in rows: + y = ground - fh + sil = to_silhouette(img) + sil_img.paste(sil, (x, y), sil) + x += fw + gap + sil_img.save(str(REVIEW_DIR / "silhouette_comparison.png")) + print(" ok review/silhouette_comparison.png") + + +if __name__ == "__main__": + print("per-character bible:") + per_character() + print("comparisons:") + comparisons() + print("done.") diff --git a/assets_v2/tools/build_effects.py b/assets_v2/tools/build_effects.py new file mode 100644 index 0000000..8e28dff --- /dev/null +++ b/assets_v2/tools/build_effects.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Combat Effects, transparent background. + + blade_slash 128x128 / 6f sweeping crescent (cyan-white + ghost-green core) + hit 96x96 / 4f expanding impact starburst + ghost_fire 64x64 / 8f looping ghost flame (idle/emitter) + death_dissolve 96x96 / 8f rising fading motes (death VFX) + +All use nearest-neighbor-friendly hard fills; no blur. +""" + +from __future__ import annotations +from pathlib import Path +import math +from pixel_engine import new_canvas, fill_circle, fill_poly, ghost_fire, bake_sheet + +ROOT = Path(__file__).resolve().parent.parent.parent +OUT = ROOT / "assets_v2" / "effects" + +CYAN = (150, 225, 245) +CYAN_LT = (220, 250, 255) +GHOST = (110, 240, 160) +GHOST_DK = (30, 150, 100) +WHITE = (235, 240, 248) +SPARK = (255, 230, 150) +RED = (200, 60, 50) + + +def crescent(d, cx, cy, R, t, a0, a1, color): + """Filled crescent between outer radius R and inner R-t, from a0->a1 (deg).""" + N = 18 + outer, inner = [], [] + for i in range(N + 1): + a = math.radians(a0 + (a1 - a0) * i / N) + outer.append((cx + R * math.cos(a), cy + R * math.sin(a))) + for i in range(N + 1): + a = math.radians(a0 + (a1 - a0) * (N - i) / N) + inner.append((cx + (R - t) * math.cos(a), cy + (R - t) * math.sin(a))) + fill_poly(d, outer + inner, color) + + +def blade_slash(d, i, fw, fh): + cx, cy = fw // 2, fh // 2 + # arc sweeps from upper-left to lower-right across frames + base = -120 + i * 38 + span = 70 + crescent(d, cx, cy, 54, 16, base, base + span, CYAN) + crescent(d, cx, cy, 52, 7, base + 4, base + span - 4, CYAN_LT) + crescent(d, cx, cy, 50, 3, base + 10, base + span - 10, WHITE) + # ghost-green edge accent + crescent(d, cx, cy, 56, 3, base - 2, base + 8, GHOST) + + +def hit(d, i, fw, fh): + cx, cy = fw // 2, fh // 2 + grow = 8 + i * 16 + # central flash fades + fill_circle(d, (cx, cy), max(2, 18 - i * 4), SPARK) + fill_circle(d, (cx, cy), max(1, 9 - i * 2), WHITE) + # radial sparks + n = 8 + for k in range(n): + a = math.radians(k * 360 / n + i * 20) + x2 = cx + grow * math.cos(a) + y2 = cy + grow * math.sin(a) + d.line([(cx, cy), (int(x2), int(y2))], fill=SPARK if i < 2 else RED, width=2) + fill_circle(d, (x2, y2), 2, SPARK if i < 2 else RED) + + +def ghost_fire_loop(d, i, fw, fh): + ghost_fire(d, fw // 2, fh // 2 + 6, 14, t=i / 8.0) + + +def death_dissolve(d, i, fw, fh): + # motes rise and fade + import random + random.seed(7) + cx, cy = fw // 2, fh // 2 + 10 + motes = [] + for _ in range(22): + ang = random.uniform(0, math.pi * 2) + rad = random.uniform(4, 36) + motes.append((math.cos(ang) * rad, math.sin(ang) * rad, random.uniform(1.5, 3.5))) + for mx, my, r in motes: + rise = i * (6 + r) + yy = cy + my - rise + alpha = max(0, 200 - i * 26) + if yy < -10 or alpha <= 0: + continue + fill_circle(d, (cx + mx, yy), r, (GHOST[0], GHOST[1], GHOST[2], alpha)) + fill_circle(d, (cx + mx, yy), max(1, r - 1), (GHOST_DK[0], GHOST_DK[1], GHOST_DK[2], alpha // 2)) + + +EFFECTS = [ + ("blade_slash", 128, 128, 6, blade_slash), + ("hit", 96, 96, 4, hit), + ("ghost_fire", 64, 64, 8, ghost_fire_loop), + ("death_dissolve", 96, 96, 8, death_dissolve), +] + + +def build(): + for name, fw, fh, n, fn in EFFECTS: + bake_sheet(fw, fh, n, fn, str(OUT / f"{name}.png")) + print(f" ok {name}.png ({fw}x{fh}, {n}f)") + + +if __name__ == "__main__": + build() diff --git a/assets_v2/tools/build_ghost_archer.py b/assets_v2/tools/build_ghost_archer.py new file mode 100644 index 0000000..39d8b58 --- /dev/null +++ b/assets_v2/tools/build_ghost_archer.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Ghost Archer (鬼弓手). + +Tall, thin, rear-leaning spectral archer. Long asymmetrical bow with ghost-fire +arrows. Distinct silhouette: vertical height, big bow arc, slender legs. +""" + +from __future__ import annotations +from pathlib import Path +from pixel_engine import bake_sheet +from humanoid import humanoid_config, render_humanoid + +ROOT = Path(__file__).resolve().parent.parent.parent +OUT = ROOT / "assets_v2" / "characters" / "ghost_archer" + +ARCHER_CFG = humanoid_config( + fw=96, fh=96, cx=48, hip_y=64, torso_len=29, neck_len=6, head_r=8, + upper_arm=19, lower_arm=17, arm_w=3, thigh=20, shin=18, leg_w=4, + scale=1.05, lean=-4, stance=3, style="ghost_archer", torso_hw=7, torso_hw_hip=5, + bow_len=44, ghost_fire=True, pauldrons=False, + palette={ + "skin": (105, 115, 110), "skin_lt": (132, 145, 138), "skin_sh": (74, 84, 78), + "armor": (64, 76, 82), "armor_lt": (95, 110, 118), "armor_dk": (40, 50, 54), + "cloth": (58, 72, 68), "cloth_lt": (82, 98, 92), "cloth_dk": (38, 48, 44), + "wood": (72, 58, 48), "wood_lt": (100, 82, 68), + "blade": (90, 80, 70), "blade_lt": (120, 108, 95), "blade_dk": (62, 54, 46), + "grip": (58, 48, 38), "guard": (88, 74, 58), + "outline": (12, 16, 18), + }, +) + +A = lambda sa, ea: (sa, ea) + +# Idle: tall thin stance, >=3px bob steps, ghost-fire flicker. No dup frames. +IDLE = [ + {"bob": 0, "arm_front": A(50, 160), "arm_back": A(130, 110), "leg_front": A(92, 90), "leg_back": A(88, 92), "aim": 0.0, "fire_t": 0.0}, + {"bob": 3, "arm_front": A(49, 160), "arm_back": A(131, 110), "leg_front": A(91, 91), "leg_back": A(89, 92), "aim": 0.0, "fire_t": 0.2}, + {"bob": 6, "arm_front": A(48, 160), "arm_back": A(132, 110), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 0.0, "fire_t": 0.4}, + {"bob": 3, "arm_front": A(49, 160), "arm_back": A(131, 110), "leg_front": A(91, 91), "leg_back": A(89, 92), "aim": 0.0, "fire_t": 0.6}, + {"bob": 0, "arm_front": A(50, 160), "arm_back": A(130, 110), "leg_front": A(92, 90), "leg_back": A(88, 92), "aim": 0.0, "fire_t": 0.8}, + {"bob": 3, "arm_front": A(49, 160), "arm_back": A(131, 110), "leg_front": A(91, 91), "leg_back": A(89, 92), "aim": 0.0, "fire_t": 0.95}, +] + +RETREAT = [ + {"bob": 0, "arm_front": A(55, 160), "arm_back": A(125, 110), "leg_front": A(95, 92), "leg_back": A(85, 95), "aim": 0.1, "fire_t": 0.0}, + {"bob": 0, "arm_front": A(54, 160), "arm_back": A(126, 110), "leg_front": A(100, 90), "leg_back": A(80, 100), "aim": 0.1, "fire_t": 0.12}, + {"bob": 1, "arm_front": A(53, 160), "arm_back": A(127, 110), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 0.1, "fire_t": 0.25}, + {"bob": 1, "arm_front": A(54, 160), "arm_back": A(126, 110), "leg_front": A(80, 100), "leg_back": A(100, 90), "aim": 0.1, "fire_t": 0.37}, + {"bob": 0, "arm_front": A(55, 160), "arm_back": A(125, 110), "leg_front": A(85, 95), "leg_back": A(95, 92), "aim": 0.1, "fire_t": 0.5}, + {"bob": 0, "arm_front": A(54, 160), "arm_back": A(126, 110), "leg_front": A(80, 100), "leg_back": A(100, 90), "aim": 0.1, "fire_t": 0.62}, + {"bob": 1, "arm_front": A(53, 160), "arm_back": A(127, 110), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 0.1, "fire_t": 0.75}, + {"bob": 1, "arm_front": A(54, 160), "arm_back": A(126, 110), "leg_front": A(100, 90), "leg_back": A(80, 100), "aim": 0.1, "fire_t": 0.87}, +] + +AIM = [ + {"bob": 0, "arm_front": A(45, 165), "arm_back": A(135, 115), "leg_front": A(92, 90), "leg_back": A(88, 92), "aim": 0.0, "fire_t": 0.0}, + {"bob": 0, "arm_front": A(42, 168), "arm_back": A(138, 108), "leg_front": A(91, 91), "leg_back": A(89, 92), "aim": 0.25, "fire_t": 0.15}, + {"bob": 1, "arm_front": A(38, 170), "arm_back": A(142, 100), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 0.5, "fire_t": 0.3}, + {"bob": 1, "arm_front": A(35, 172), "arm_back": A(145, 95), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 0.75, "fire_t": 0.45}, + {"bob": 1, "arm_front": A(32, 175), "arm_back": A(148, 90), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 1.0, "fire_t": 0.6}, + {"bob": 0, "arm_front": A(32, 175), "arm_back": A(148, 90), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 1.0, "fire_t": 0.75}, +] + +SHOOT = [ + {"bob": 0, "arm_front": A(32, 175), "arm_back": A(148, 90), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 1.0, "fire_t": 0.0}, + {"bob": 0, "arm_front": A(40, 170), "arm_back": A(120, 100), "leg_front": A(90, 92), "leg_back": A(90, 92), "aim": 0.4, "fire_t": 0.2}, + {"bob": 1, "arm_front": A(48, 165), "arm_back": A(110, 110), "leg_front": A(91, 91), "leg_back": A(89, 92), "aim": 0.05, "fire_t": 0.4}, + {"bob": 0, "arm_front": A(50, 160), "arm_back": A(115, 108), "leg_front": A(92, 90), "leg_back": A(88, 92), "aim": 0.0, "fire_t": 0.6}, +] + +HURT = [ + {"bob": 0, "arm_front": A(60, 150), "arm_back": A(120, 120), "leg_front": A(95, 90), "leg_back": A(85, 95), "aim": 0.0, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(70, 140), "arm_back": A(110, 130), "leg_front": A(100, 92), "leg_back": A(80, 98), "aim": 0.0, "fire_t": 0.2}, + {"bob": 1, "arm_front": A(65, 145), "arm_back": A(115, 125), "leg_front": A(98, 91), "leg_back": A(82, 96), "aim": 0.0, "fire_t": 0.4}, + {"bob": 0, "arm_front": A(55, 155), "arm_back": A(125, 115), "leg_front": A(94, 90), "leg_back": A(86, 94), "aim": 0.0, "fire_t": 0.6}, +] + +DEATH = [ + {"bob": 0, "arm_front": A(55, 155), "arm_back": A(125, 115), "leg_front": A(94, 90), "leg_back": A(86, 94), "aim": 0.0, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(70, 140), "arm_back": A(110, 130), "leg_front": A(98, 92), "leg_back": A(82, 98), "aim": 0.0, "fire_t": 0.1}, + {"bob": 2, "arm_front": A(85, 130), "arm_back": A(95, 140), "leg_front": A(102, 94), "leg_back": A(78, 102), "aim": 0.0, "fire_t": 0.2}, + {"bob": 3, "arm_front": A(95, 125), "arm_back": A(85, 145), "leg_front": A(105, 98), "leg_back": A(75, 108), "aim": 0.0, "fire_t": 0.3}, + {"bob": 4, "arm_front": A(105, 120), "arm_back": A(75, 150), "leg_front": A(100, 105), "leg_back": A(80, 112), "aim": 0.0, "fire_t": 0.4}, + {"bob": 5, "arm_front": A(110, 115), "arm_back": A(70, 155), "leg_front": A(95, 110), "leg_back": A(85, 115), "aim": 0.0, "fire_t": 0.5}, + {"bob": 6, "arm_front": A(115, 110), "arm_back": A(65, 160), "leg_front": A(90, 115), "leg_back": A(90, 118), "aim": 0.0, "fire_t": 0.6}, + {"bob": 7, "arm_front": A(120, 105), "arm_back": A(60, 165), "leg_front": A(90, 118), "leg_back": A(90, 120), "aim": 0.0, "fire_t": 0.7}, +] + +ANIMS = { + "ghost_archer_idle": (IDLE, 8.0, True), + "ghost_archer_retreat": (RETREAT, 10.0, True), + "ghost_archer_aim": (AIM, 8.0, False), + "ghost_archer_shoot": (SHOOT, 14.0, False), + "ghost_archer_hurt": (HURT, 10.0, False), + "ghost_archer_death": (DEATH, 8.0, False), +} + + +def build(): + for name, (poses, fps, loop) in ANIMS.items(): + fw, fh = ARCHER_CFG["fw"], ARCHER_CFG["fh"] + bake_sheet(fw, fh, len(poses), + lambda d, i, fw, fh, poses=poses: render_humanoid(d, ARCHER_CFG, poses[i], fw, fh), + str(OUT / f"{name}.png")) + print(f" ✓ {name}.png ({len(poses)} frames)") + + +if __name__ == "__main__": + build() diff --git a/assets_v2/tools/build_icons.py b/assets_v2/tools/build_icons.py new file mode 100644 index 0000000..f5c95d7 --- /dev/null +++ b/assets_v2/tools/build_icons.py @@ -0,0 +1,217 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Weapon / Stat Icons (64x64), transparent background. + +10 icons that must read instantly at small HUD size and stay distinct from +each other. Unified palette: steel/iron, dark-red cloth, ghost-green energy, +dark-gold sacred, deep-red danger. White outline rim for HUD legibility. +""" + +from __future__ import annotations +from pathlib import Path +from PIL import Image, ImageDraw +from pixel_engine import new_canvas, capsule, fill_circle, fill_poly, rect, ghost_fire + +ROOT = Path(__file__).resolve().parent.parent.parent +OUT = ROOT / "assets_v2" / "icons" +SZ = 64 + +# palette +O = (14, 12, 16) # outline +STEEL = (150, 156, 168) +STEEL_LT = (200, 205, 216) +STEEL_DK = (92, 98, 110) +WOOD = (96, 70, 48) +WOOD_DK = (62, 44, 30) +RED = (120, 32, 32) +RED_LT = (170, 52, 48) +GOLD = (200, 170, 90) +GOLD_DK = (130, 108, 58) +GHOST = (110, 240, 160) +GHOST_DK = (30, 150, 100) +CYAN = (90, 200, 230) +BRONZE = (120, 96, 56) +BRONZE_DK = (78, 60, 34) +PAPER = (210, 190, 120) +PAPER_DK = (160, 140, 80) + + +def rdot(draw, p, r, c): + fill_circle(draw, p, r, c) + + +# ── 1. Songdao (宋刀) — curved saber ───────────────────────────────────────── +def icon_songdao(d): + # blade: curved polygon lower-left handle -> upper-right tip + blade = [(16, 50), (20, 46), (40, 24), (46, 18), (50, 20), (30, 44), (24, 50)] + fill_poly(d, blade, STEEL) + fill_poly(d, [(20, 46), (40, 24), (46, 18), (50, 20), (47, 23), (42, 28), (23, 49)], STEEL_LT) # edge light + fill_poly(d, [(16, 50), (20, 46), (24, 50)], STEEL_DK) + # guard + rect(d, 14, 48, 10, 5, GOLD_DK) + # handle + capsule(d, (10, 52), (16, 50), 3, WOOD, outline=O) + rdot(d, (9, 53), 3, RED) # pommel wrap + # outline rim + fill_poly(d, blade, None) + draw_edges(d, blade) + + +def draw_edges(d, pts): + d.line([(int(round(x)), int(round(y))) for x, y in pts] + [(int(round(pts[0][0])), int(round(pts[0][1])))], + fill=O, width=1) + + +# ── 2. Spear (沥泉枪) — shaft + leaf blade + tassel ────────────────────────── +def icon_spear(d): + # shaft + capsule(d, (32, 14), (32, 54), 3, WOOD, outline=O) + # leaf blade tip + tip = [(32, 6), (28, 16), (32, 20), (36, 16)] + fill_poly(d, tip, STEEL) + fill_poly(d, [(32, 6), (36, 16), (32, 20)], STEEL_LT) + draw_edges(d, tip) + # red tassel below blade + for i in range(4): + x = 32 + (i - 1.5) * 2 + capsule(d, (x, 22), (x + (i - 1) * 2, 30), 1, RED_LT if i % 2 else RED, outline=O) + + +# ── 3. Ghost fire (鬼火) ───────────────────────────────────────────────────── +def icon_ghostfire(d): + ghost_fire(d, 32, 40, 16, t=0.5) + rdot(d, (32, 44), 4, GHOST) + rdot(d, (32, 40), 2, (220, 255, 235)) + + +# ── 4. Talisman (护符) — yellow paper strip ───────────────────────────────── +def icon_talisman(d): + paper = [(24, 12), (40, 12), (40, 54), (24, 54)] + fill_poly(d, paper, PAPER) + # notched top + draw_edges(d, paper) + # red vertical seal script (simplified bars) + rect(d, 30, 18, 4, 4, RED) + rect(d, 30, 26, 4, 8, RED) + rect(d, 26, 40, 12, 3, RED) + rect(d, 30, 46, 4, 5, RED) + # shading + fill_poly(d, [(24, 12), (28, 12), (28, 54), (24, 54)], PAPER_DK) + + +# ── 5. Gourd (酒葫芦) — wine gourd ────────────────────────────────────────── +def icon_gourd(d): + # lower bulb + rdot(d, (32, 42), 13, WOOD) + # upper bulb + rdot(d, (32, 24), 9, WOOD) + # neck + rect(d, 29, 32, 6, 5, WOOD_DK) + # cork + rect(d, 30, 14, 4, 5, (150, 120, 80)) + # highlight + rdot(d, (27, 38), 4, (130, 100, 66)) + rdot(d, (29, 22), 3, (130, 100, 66)) + # outline + d.ellipse((19, 29, 45, 55), outline=O, width=1) + d.ellipse((23, 15, 41, 33), outline=O, width=1) + + +# ── 6. Broken flag (残破军旗) — torn battle standard ─────────────────────── +def icon_flag(d): + # pole + capsule(d, (18, 8), (18, 56), 2, (110, 96, 70), outline=O) + # torn flag (dark red) waving right with a notch + flag = [(20, 12), (50, 16), (46, 22), (52, 28), (46, 34), (50, 42), (20, 40)] + fill_poly(d, flag, RED) + fill_poly(d, [(20, 12), (50, 16), (46, 22), (30, 20), (20, 22)], RED_LT) + draw_edges(d, flag) + # ragged hole + rdot(d, (38, 28), 3, O) + # emblem mark + rect(d, 28, 22, 6, 6, GOLD) + + +# ── 7. Yin coin (阴钱) — underworld coin ──────────────────────────────────── +def icon_coin(d): + rdot(d, (32, 32), 18, BRONZE) + rdot(d, (32, 32), 18, None) + d.ellipse((14, 14, 50, 50), outline=O, width=1) + d.ellipse((18, 18, 46, 46), outline=BRONZE_DK, width=1) + # square hole + rect(d, 28, 28, 8, 8, (30, 24, 16)) + d.rectangle((28, 28, 35, 35), outline=O, width=1) + # ghost tint + rdot(d, (24, 24), 3, GHOST_DK) + + +# ── 8. Yang life (阳寿) — warm sun disc ───────────────────────────────────── +def icon_yang(d): + # rays + for a in range(0, 360, 45): + import math + rad = math.radians(a) + x = 32 + 22 * math.sin(rad) + y = 32 - 22 * math.cos(rad) + x2 = 32 + 14 * math.sin(rad) + y2 = 32 - 14 * math.cos(rad) + d.line([(int(x2), int(y2)), (int(x), int(y))], fill=(220, 120, 50), width=2) + rdot(d, (32, 32), 12, (220, 90, 50)) + rdot(d, (32, 32), 12, None) + d.ellipse((20, 20, 44, 44), outline=O, width=1) + rdot(d, (28, 28), 4, (245, 150, 80)) + + +# ── 9. Qi / blood (气血) — red swirl orb ──────────────────────────────────── +def icon_qi(d): + rdot(d, (32, 34), 15, RED) + rdot(d, (32, 34), 15, None) + d.ellipse((17, 19, 47, 49), outline=O, width=1) + # swirl highlight + fill_poly(d, [(26, 30), (38, 26), (40, 32), (28, 38)], RED_LT) + rdot(d, (27, 28), 3, (220, 110, 100)) + + +# ── 10. Obsession (执念) — chained red knot ───────────────────────────────── +def icon_obsession(d): + # chain loop + import math + pts = [] + cx, cy = 32, 32 + for i in range(28): + a = i / 28 * math.pi * 2 + rr = 16 + 3 * math.sin(a * 3) + pts.append((cx + rr * math.cos(a), cy + rr * math.sin(a))) + for i in range(len(pts) - 1): + capsule(d, pts[i], pts[i + 1], 3, (120, 124, 134), outline=O) + # red glowing core + rdot(d, (32, 32), 7, RED) + rdot(d, (32, 32), 3, (240, 90, 70)) + # eye slit + rect(d, 29, 31, 6, 2, O) + + +ICONS = { + "icon_songdao": icon_songdao, + "icon_spear": icon_spear, + "icon_ghostfire": icon_ghostfire, + "icon_talisman": icon_talisman, + "icon_gourd": icon_gourd, + "icon_flag": icon_flag, + "icon_coin": icon_coin, + "icon_yang": icon_yang, + "icon_qi": icon_qi, + "icon_obsession": icon_obsession, +} + + +def build(): + for name, fn in ICONS.items(): + img, d = new_canvas(SZ, SZ) + fn(d) + OUT.mkdir(parents=True, exist_ok=True) + img.save(str(OUT / f"{name}.png")) + print(f" ok {name}.png") + + +if __name__ == "__main__": + build() diff --git a/assets_v2/tools/build_melee_ghost.py b/assets_v2/tools/build_melee_ghost.py new file mode 100644 index 0000000..070c603 --- /dev/null +++ b/assets_v2/tools/build_melee_ghost.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Melee Ghost (近战鬼卒). + +Hunched, heavy, dragging a rusty blade. Asymmetric broad shoulders, damaged +leg, ghost fire leaking from helmet and chest gaps. Silhouette: top-heavy, +leaning forward, not upright like the player. +""" + +from __future__ import annotations +from pathlib import Path +from pixel_engine import bake_sheet +from humanoid import humanoid_config, render_humanoid + +ROOT = Path(__file__).resolve().parent.parent.parent +OUT = ROOT / "assets_v2" / "characters" / "melee_ghost" + +MELEE_CFG = humanoid_config( + fw=96, fh=96, cx=48, hip_y=70, torso_len=24, neck_len=5, head_r=11, + upper_arm=17, lower_arm=14, arm_w=5, thigh=16, shin=14, leg_w=6, + scale=1.05, lean=14, stance=6, style="melee_ghost", torso_hw=11, torso_hw_hip=9, + weapon_len=52, ghost_fire=True, pauldrons=True, + palette={ + "skin": (100, 112, 118), "skin_lt": (125, 140, 148), "skin_sh": (68, 78, 84), + "armor": (72, 80, 84), "armor_lt": (105, 116, 122), "armor_dk": (44, 50, 54), + "cloth": (55, 65, 68), "cloth_lt": (78, 90, 94), "cloth_dk": (36, 44, 46), + "blade": (92, 78, 62), "blade_lt": (125, 105, 84), "blade_dk": (62, 52, 40), + "grip": (58, 48, 38), "guard": (88, 74, 58), + "outline": (12, 16, 18), + }, +) + +A = lambda sa, ea: (sa, ea) + +# Idle: hunched breathing + ghost-fire flicker. >=3px bob steps, no dup frames. +IDLE = [ + {"bob": 0, "arm_front": A(105, 115), "arm_back": A(95, 105), "leg_front": A(94, 95), "leg_back": A(86, 100), "weapon": 112, "fire_t": 0.0}, + {"bob": 3, "arm_front": A(104, 116), "arm_back": A(96, 106), "leg_front": A(93, 96), "leg_back": A(87, 100), "weapon": 116, "fire_t": 0.2}, + {"bob": 6, "arm_front": A(103, 117), "arm_back": A(97, 107), "leg_front": A(92, 97), "leg_back": A(88, 100), "weapon": 120, "fire_t": 0.4}, + {"bob": 3, "arm_front": A(104, 116), "arm_back": A(96, 106), "leg_front": A(93, 96), "leg_back": A(87, 100), "weapon": 117, "fire_t": 0.6}, + {"bob": 0, "arm_front": A(105, 115), "arm_back": A(95, 105), "leg_front": A(94, 95), "leg_back": A(86, 100), "weapon": 114, "fire_t": 0.8}, + {"bob": 3, "arm_front": A(104, 116), "arm_back": A(96, 106), "leg_front": A(93, 96), "leg_back": A(87, 100), "weapon": 118, "fire_t": 0.95}, +] + +WALK = [ + {"bob": 0, "arm_front": A(102, 112), "arm_back": A(98, 108), "leg_front": A(75, 105), "leg_back": A(115, 95), "weapon": 113, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(104, 114), "arm_back": A(96, 106), "leg_front": A(85, 100), "leg_back": A(105, 98), "weapon": 114, "fire_t": 0.12}, + {"bob": 1, "arm_front": A(106, 116), "arm_back": A(94, 104), "leg_front": A(95, 95), "leg_back": A(95, 95), "weapon": 115, "fire_t": 0.25}, + {"bob": 0, "arm_front": A(104, 114), "arm_back": A(96, 106), "leg_front": A(105, 98), "leg_back": A(85, 100), "weapon": 114, "fire_t": 0.37}, + {"bob": 0, "arm_front": A(102, 112), "arm_back": A(98, 108), "leg_front": A(115, 95), "leg_back": A(75, 105), "weapon": 113, "fire_t": 0.5}, + {"bob": 1, "arm_front": A(104, 114), "arm_back": A(96, 106), "leg_front": A(105, 98), "leg_back": A(85, 100), "weapon": 114, "fire_t": 0.62}, + {"bob": 1, "arm_front": A(106, 116), "arm_back": A(94, 104), "leg_front": A(95, 95), "leg_back": A(95, 95), "weapon": 115, "fire_t": 0.75}, + {"bob": 0, "arm_front": A(104, 114), "arm_back": A(96, 106), "leg_front": A(85, 100), "leg_back": A(105, 98), "weapon": 114, "fire_t": 0.87}, +] + +ATTACK = [ + {"bob": 0, "arm_front": A(105, 115), "arm_back": A(95, 105), "leg_front": A(94, 95), "leg_back": A(86, 100), "weapon": 115, "fire_t": 0.0}, + {"bob": 0, "arm_front": A(110, 110), "arm_back": A(90, 100), "leg_front": A(92, 98), "leg_back": A(88, 100), "weapon": 125, "fire_t": 0.1}, + {"bob": 1, "arm_front": A(120, 115), "arm_back": A(80, 100), "leg_front": A(90, 100), "leg_back": A(90, 100), "weapon": 145, "fire_t": 0.2}, + {"bob": 2, "arm_front": A(135, 120), "arm_back": A(70, 105), "leg_front": A(88, 105), "leg_back": A(92, 100), "weapon": 165, "fire_t": 0.3}, + {"bob": 1, "arm_front": A(110, 95), "arm_back": A(85, 100), "leg_front": A(85, 100), "leg_back": A(95, 100), "weapon": 95, "fire_t": 0.4}, # active start + {"bob": 0, "arm_front": A(80, 80), "arm_back": A(95, 105), "leg_front": A(85, 98), "leg_back": A(95, 100), "weapon": 55, "fire_t": 0.5}, # active end (slam) + {"bob": 0, "arm_front": A(70, 85), "arm_back": A(100, 110), "leg_front": A(88, 95), "leg_back": A(92, 100), "weapon": 50, "fire_t": 0.6}, + {"bob": 1, "arm_front": A(90, 100), "arm_back": A(95, 105), "leg_front": A(92, 95), "leg_back": A(88, 100), "weapon": 105, "fire_t": 0.7}, +] + +HURT = [ + {"bob": 0, "arm_front": A(115, 120), "arm_back": A(75, 110), "leg_front": A(96, 95), "leg_back": A(84, 102), "weapon": 130, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(125, 125), "arm_back": A(65, 115), "leg_front": A(100, 96), "leg_back": A(80, 105), "weapon": 140, "fire_t": 0.2}, + {"bob": 1, "arm_front": A(120, 122), "arm_back": A(70, 112), "leg_front": A(98, 95), "leg_back": A(82, 103), "weapon": 135, "fire_t": 0.4}, + {"bob": 0, "arm_front": A(110, 115), "arm_back": A(80, 108), "leg_front": A(94, 95), "leg_back": A(86, 101), "weapon": 120, "fire_t": 0.6}, +] + +DEATH = [ + {"bob": 0, "arm_front": A(110, 115), "arm_back": A(80, 108), "leg_front": A(94, 95), "leg_back": A(86, 101), "weapon": 120, "fire_t": 0.0}, + {"bob": 1, "arm_front": A(120, 120), "arm_back": A(70, 112), "leg_front": A(98, 96), "leg_back": A(82, 104), "weapon": 130, "fire_t": 0.1}, + {"bob": 2, "arm_front": A(130, 125), "arm_back": A(60, 118), "leg_front": A(102, 98), "leg_back": A(78, 108), "weapon": 140, "fire_t": 0.2}, + {"bob": 3, "arm_front": A(125, 130), "arm_back": A(65, 122), "leg_front": A(100, 105), "leg_back": A(80, 112), "weapon": 145, "fire_t": 0.3}, + {"bob": 4, "arm_front": A(115, 135), "arm_back": A(75, 125), "leg_front": A(95, 110), "leg_back": A(85, 115), "weapon": 150, "fire_t": 0.4}, + {"bob": 5, "arm_front": A(105, 140), "arm_back": A(85, 130), "leg_front": A(90, 115), "leg_back": A(90, 118), "weapon": 155, "fire_t": 0.5}, + {"bob": 6, "arm_front": A(100, 145), "arm_back": A(90, 135), "leg_front": A(90, 118), "leg_back": A(90, 120), "weapon": 160, "fire_t": 0.6}, + {"bob": 7, "arm_front": A(95, 150), "arm_back": A(95, 140), "leg_front": A(90, 120), "leg_back": A(90, 120), "weapon": 165, "fire_t": 0.7}, +] + +ANIMS = { + "melee_ghost_idle": (IDLE, 8.0, True), + "melee_ghost_walk": (WALK, 8.0, True), + "melee_ghost_attack": (ATTACK, 10.0, False), + "melee_ghost_hurt": (HURT, 10.0, False), + "melee_ghost_death": (DEATH, 8.0, False), +} + + +def build(): + for name, (poses, fps, loop) in ANIMS.items(): + fw, fh = MELEE_CFG["fw"], MELEE_CFG["fh"] + bake_sheet(fw, fh, len(poses), + lambda d, i, fw, fh, poses=poses: render_humanoid(d, MELEE_CFG, poses[i], fw, fh), + str(OUT / f"{name}.png")) + print(f" ✓ {name}.png ({len(poses)} frames)") + + +if __name__ == "__main__": + build() diff --git a/assets_v2/tools/build_player.py b/assets_v2/tools/build_player.py new file mode 100644 index 0000000..42a871f --- /dev/null +++ b/assets_v2/tools/build_player.py @@ -0,0 +1,155 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Player: nameless Yue-family infantryman (岳家军军士). + +Flexible, battle-worn Southern-Song foot soldier. Not a hero general. +Low center of gravity, single Song dao (宋刀) in the right hand, dark-red +cloth strips as the identifying marker. Living skin keeps slight warmth; +no heavy ghost fire. +""" + +from __future__ import annotations +from pathlib import Path +from PIL import ImageDraw +from pixel_engine import new_canvas, bake_sheet +from humanoid import humanoid_config, render_humanoid + +ROOT = Path(__file__).resolve().parent.parent.parent +OUT = ROOT / "assets_v2" / "characters" / "player" + +PLAYER_CFG = humanoid_config( + fw=96, fh=96, cx=48, hip_y=66, torso_len=26, neck_len=5, head_r=9, + upper_arm=16, lower_arm=15, arm_w=4, thigh=17, shin=16, leg_w=5, + scale=1.05, lean=3, stance=4, style="player", torso_hw=9, torso_hw_hip=7, + weapon_len=46, + palette={ + "skin": (205, 170, 140), "skin_lt": (232, 198, 168), "skin_sh": (150, 116, 92), + "armor": (96, 87, 81), "armor_lt": (142, 130, 119), "armor_dk": (58, 52, 48), + "cloth": (128, 40, 40), "cloth_lt": (168, 62, 56), "cloth_dk": (74, 24, 24), + "blade": (152, 158, 168), "blade_lt": (208, 213, 222), "blade_dk": (96, 101, 111), + "grip": (72, 54, 40), "guard": (132, 102, 74), + "outline": (18, 14, 16), + }, +) + +# angle convention: 0=down, +90=right, -90=left, 180=up +A = lambda sa, ea: (sa, ea) + +# Idle: pronounced breathing + weight shift + sabre sway. Consecutive frames +# always differ by >=3px bob (or large weapon/limb delta) so no near-duplicate +# frames (V1 failure mode). +IDLE = [ + {"bob": 0, "arm_front": A(82, 96), "arm_back": A(98, 104), "leg_front": A(91, 93), "leg_back": A(89, 95), "weapon": 66, "cloth_sway": 0, "lean": 0}, + {"bob": 3, "arm_front": A(80, 95), "arm_back": A(100, 103), "leg_front": A(90, 94), "leg_back": A(90, 96), "weapon": 70, "cloth_sway": 1, "lean": 0}, + {"bob": 6, "arm_front": A(78, 94), "arm_back": A(102, 102), "leg_front": A(89, 95), "leg_back": A(91, 97), "weapon": 74, "cloth_sway": 2, "lean": 0}, + {"bob": 3, "arm_front": A(80, 95), "arm_back": A(100, 103), "leg_front": A(90, 94), "leg_back": A(90, 96), "weapon": 72, "cloth_sway": 1, "lean": 0}, + {"bob": 0, "arm_front": A(83, 96), "arm_back": A(97, 104), "leg_front": A(92, 93), "leg_back": A(88, 95), "weapon": 68, "cloth_sway": 0, "lean": 0}, + {"bob": 3, "arm_front": A(85, 97), "arm_back": A(95, 105), "leg_front": A(93, 92), "leg_back": A(87, 94), "weapon": 71, "cloth_sway": 1, "lean": 0}, + {"bob": 6, "arm_front": A(81, 95), "arm_back": A(99, 103), "leg_front": A(90, 95), "leg_back": A(91, 97), "weapon": 75, "cloth_sway": 2, "lean": 0}, + {"bob": 3, "arm_front": A(82, 96), "arm_back": A(98, 104), "leg_front": A(91, 94), "leg_back": A(89, 96), "weapon": 73, "cloth_sway": 1, "lean": 0}, +] + +RUN = [ + {"bob": 1, "lean": 9, "arm_front": A(70, 100), "arm_back": A(110, 96), "leg_front": A(68, 102), "leg_back": A(112, 96), "weapon": 60, "cloth_sway": 3}, + {"bob": 0, "lean": 9, "arm_front": A(74, 100), "arm_back": A(106, 98), "leg_front": A(78, 96), "leg_back": A(106, 100), "weapon": 58, "cloth_sway": 4}, + {"bob": 0, "lean": 9, "arm_front": A(80, 98), "arm_back": A(100, 100), "leg_front": A(90, 95), "leg_back": A(90, 95), "weapon": 56, "cloth_sway": 3}, + {"bob": 1, "lean": 9, "arm_front": A(86, 100), "arm_back": A(94, 102), "leg_front": A(110, 96), "leg_back": A(70, 100), "weapon": 58, "cloth_sway": 2}, + {"bob": 1, "lean": 9, "arm_front": A(88, 100), "arm_back": A(92, 102), "leg_front": A(112, 96), "leg_back": A(68, 102), "weapon": 60, "cloth_sway": 3}, + {"bob": 0, "lean": 9, "arm_front": A(84, 100), "arm_back": A(96, 100), "leg_front": A(106, 98), "leg_back": A(78, 96), "weapon": 58, "cloth_sway": 4}, + {"bob": 0, "lean": 9, "arm_front": A(80, 98), "arm_back": A(100, 100), "leg_front": A(90, 95), "leg_back": A(90, 95), "weapon": 56, "cloth_sway": 3}, + {"bob": 1, "lean": 9, "arm_front": A(74, 100), "arm_back": A(106, 98), "leg_front": A(70, 102), "leg_back": A(110, 96), "weapon": 58, "cloth_sway": 2}, +] + +JUMP = [ + {"bob": 2, "lean": 10, "arm_front": A(60, 80), "arm_back": A(120, 90), "leg_front": A(80, 120), "leg_back": A(100, 120), "weapon": 150, "cloth_sway": 2}, + {"bob": 2, "lean": 6, "arm_front": A(55, 70), "arm_back": A(125, 80), "leg_front": A(70, 135), "leg_back": A(110, 130), "weapon": 165, "cloth_sway": 3}, + {"bob": 2, "lean": 12, "arm_front": A(65, 85), "arm_back": A(115, 95), "leg_front": A(95, 110), "leg_back": A(85, 112), "weapon": 155, "cloth_sway": 2}, +] + +FALL = [ + {"bob": 1, "lean": -4, "arm_front": A(95, 100), "arm_back": A(85, 100), "leg_front": A(100, 100), "leg_back": A(80, 100), "weapon": 50, "cloth_sway": 3}, + {"bob": 1, "lean": -6, "arm_front": A(100, 105), "arm_back": A(80, 105), "leg_front": A(105, 108), "leg_back": A(75, 108), "weapon": 45, "cloth_sway": 4}, + {"bob": 1, "lean": -5, "arm_front": A(98, 102), "arm_back": A(82, 102), "leg_front": A(102, 104), "leg_back": A(78, 104), "weapon": 48, "cloth_sway": 3}, +] + +# Light attack 1: horizontal sabre slash, right-to-left sweep ending forward +LIGHT_ATTACK_1 = [ + {"bob": 0, "lean": 2, "arm_front": A(84, 96), "arm_back": A(96, 100), "leg_front": A(90, 92), "leg_back": A(90, 96), "weapon": 70, "cloth_sway": 0}, # 0 neutral + {"bob": 1, "lean": -4, "arm_front": A(95, 100), "arm_back": A(90, 100), "leg_front": A(86, 96), "leg_back": A(94, 98), "weapon": 110, "cloth_sway": 1}, # 1 sink + {"bob": 1, "lean": -6, "arm_front": A(120, 120), "arm_back": A(85, 100), "leg_front": A(84, 98), "leg_back": A(96, 98), "weapon": 155, "cloth_sway": 1}, # 2 draw back + {"bob": 0, "lean": 4, "arm_front": A(150, 130), "arm_back": A(80, 100), "leg_front": A(82, 96), "leg_back": A(98, 98), "weapon": 175, "cloth_sway": 2}, # 3 waist turn + {"bob": 0, "lean": 8, "arm_front": A(60, 70), "arm_back": A(95, 100), "leg_front": A(80, 95), "leg_back": A(100, 100), "weapon": 20, "cloth_sway": 3}, # 4 ACTIVE start + {"bob": 0, "lean": 10, "arm_front": A(40, 60), "arm_back": A(98, 102), "leg_front": A(78, 95), "leg_back": A(102, 100), "weapon": 0, "cloth_sway": 4}, # 5 ACTIVE end (max reach) + {"bob": 0, "lean": 6, "arm_front": A(20, 70), "arm_back": A(100, 104), "leg_front": A(80, 95), "leg_back": A(100, 100), "weapon": -25, "cloth_sway": 3}, # 6 follow + {"bob": 0, "lean": 2, "arm_front": A(70, 92), "arm_back": A(98, 102), "leg_front": A(90, 93), "leg_back": A(90, 96), "weapon": 60, "cloth_sway": 1}, # 7 recover +] + +# Light attack 2: reverse diagonal / back horizontal slash (opposite rhythm) +LIGHT_ATTACK_2 = [ + {"bob": 0, "lean": 2, "arm_front": A(84, 96), "arm_back": A(96, 100), "leg_front": A(90, 92), "leg_back": A(90, 96), "weapon": 70, "cloth_sway": 0}, # 0 neutral + {"bob": 1, "lean": 6, "arm_front": A(60, 80), "arm_back": A(96, 100), "leg_front": A(80, 95), "leg_back": A(100, 100), "weapon": -10, "cloth_sway": 1}, # 1 wind forward + {"bob": 1, "lean": 8, "arm_front": A(30, 70), "arm_back": A(98, 102), "leg_front": A(78, 95), "leg_back": A(102, 100), "weapon": -40, "cloth_sway": 2}, # 2 raise + {"bob": 0, "lean": 2, "arm_front": A(10, 75), "arm_back": A(100, 104), "leg_front": A(82, 96), "leg_back": A(98, 98), "weapon": -70, "cloth_sway": 2}, # 3 high + {"bob": 0, "lean": -5, "arm_front": A(150, 80), "arm_back": A(90, 100), "leg_front": A(88, 96), "leg_back": A(92, 98), "weapon": 160, "cloth_sway": 3}, # 4 ACTIVE start (overhead to back) + {"bob": 0, "lean": -7, "arm_front": A(175, 100), "arm_back": A(85, 100), "leg_front": A(92, 98), "leg_back": A(88, 96), "weapon": 190, "cloth_sway": 4}, # 5 ACTIVE end (behind) + {"bob": 0, "lean": -3, "arm_front": A(160, 110), "arm_back": A(90, 100), "leg_front": A(90, 96), "leg_back": A(90, 96), "weapon": 200, "cloth_sway": 3}, # 6 follow + {"bob": 0, "lean": 2, "arm_front": A(84, 96), "arm_back": A(96, 100), "leg_front": A(90, 93), "leg_back": A(90, 96), "weapon": 70, "cloth_sway": 1}, # 7 recover +] + +# Heavy attack: big wind-up, slow, late hit +HEAVY_ATTACK = [ + {"bob": 0, "lean": 2, "arm_front": A(84, 96), "arm_back": A(96, 100), "leg_front": A(90, 92), "leg_back": A(90, 96), "weapon": 70, "cloth_sway": 0}, # 0 neutral + {"bob": 2, "lean": -8, "arm_front": A(95, 100), "arm_back": A(90, 100), "leg_front": A(84, 100), "leg_back": A(96, 100), "weapon": 100, "cloth_sway": 1}, # 1 crouch + {"bob": 3, "lean": -12, "arm_front": A(120, 120), "arm_back": A(85, 100), "leg_front": A(80, 105), "leg_back": A(98, 102), "weapon": 140, "cloth_sway": 1}, # 2 deep sink + {"bob": 3, "lean": -14, "arm_front": A(150, 140), "arm_back": A(82, 100), "leg_front": A(78, 108), "leg_back": A(100, 104), "weapon": 170, "cloth_sway": 2}, # 3 draw way back + {"bob": 2, "lean": -10, "arm_front": A(165, 150), "arm_back": A(80, 100), "leg_front": A(80, 104), "leg_back": A(98, 102), "weapon": 185, "cloth_sway": 2}, # 4 coil peak + {"bob": 0, "lean": 12, "arm_front": A(30, 70), "arm_back": A(98, 104), "leg_front": A(76, 95), "leg_back": A(104, 100), "weapon": -10, "cloth_sway": 4}, # 5 RELEASE + {"bob": 0, "lean": 16, "arm_front": A(10, 60), "arm_back": A(100, 106), "leg_front": A(74, 95), "leg_back": A(106, 100), "weapon": -40, "cloth_sway": 5}, # 6 ACTIVE (max reach) + {"bob": 0, "lean": 10, "arm_front": A(0, 65), "arm_back": A(102, 108), "leg_front": A(78, 96), "leg_back": A(102, 100), "weapon": -55, "cloth_sway": 4}, # 7 follow + {"bob": 1, "lean": 4, "arm_front": A(40, 85), "arm_back": A(100, 104), "leg_front": A(84, 96), "leg_back": A(96, 98), "weapon": 10, "cloth_sway": 2}, # 8 recover 1 + {"bob": 0, "lean": 2, "arm_front": A(84, 96), "arm_back": A(96, 100), "leg_front": A(90, 93), "leg_back": A(90, 96), "weapon": 70, "cloth_sway": 1}, # 9 recover 2 +] + +HURT = [ + {"bob": 0, "lean": -8, "arm_front": A(110, 110), "arm_back": A(70, 110), "leg_front": A(95, 95), "leg_back": A(85, 100), "weapon": 120, "cloth_sway": 2}, # 0 recoil + {"bob": 0, "lean": -10, "arm_front": A(120, 115), "arm_back": A(65, 115), "leg_front": A(98, 96), "leg_back": A(82, 102), "weapon": 130, "cloth_sway": 3}, # 1 knocked + {"bob": 1, "lean": -6, "arm_front": A(110, 110), "arm_back": A(70, 110), "leg_front": A(95, 95), "leg_back": A(85, 100), "weapon": 120, "cloth_sway": 2}, # 2 settle + {"bob": 0, "lean": -3, "arm_front": A(100, 105), "arm_back": A(80, 108), "leg_front": A(92, 94), "leg_back": A(88, 98), "weapon": 100, "cloth_sway": 1}, # 3 recover +] + +DEATH = [ + {"bob": 0, "lean": -6, "arm_front": A(100, 105), "arm_back": A(80, 108), "leg_front": A(92, 94), "leg_back": A(88, 98), "weapon": 100, "cloth_sway": 1}, # 0 hit + {"bob": 1, "lean": -10, "arm_front": A(115, 115), "arm_back": A(65, 115), "leg_front": A(98, 96), "leg_back": A(82, 102), "weapon": 120, "cloth_sway": 2}, # 1 stagger + {"bob": 1, "lean": -14, "arm_front": A(125, 120), "arm_back": A(60, 120), "leg_front": A(102, 98), "leg_back": A(80, 105), "weapon": 135, "cloth_sway": 2}, # 2 lose balance + {"bob": 2, "lean": -16, "arm_front": A(130, 125), "arm_back": A(55, 125), "leg_front": A(105, 100), "leg_back": A(78, 108), "weapon": 145, "cloth_sway": 1}, # 3 fall back + {"bob": 4, "lean": -18, "arm_front": A(120, 130), "arm_back": A(60, 130), "leg_front": A(100, 105), "leg_back": A(80, 110), "weapon": 150, "cloth_sway": 0}, # 4 kneel + {"bob": 6, "lean": -20, "arm_front": A(110, 135), "arm_back": A(70, 135), "leg_front": A(95, 110), "leg_back": A(85, 112), "weapon": 158, "cloth_sway": 0}, # 5 weapon drops + {"bob": 8, "lean": -22, "arm_front": A(100, 140), "arm_back": A(80, 140), "leg_front": A(90, 115), "leg_back": A(90, 115), "weapon": 165, "cloth_sway": 0}, # 6 down + {"bob": 10, "lean": -24, "arm_front": A(95, 145), "arm_back": A(85, 145), "leg_front": A(90, 118), "leg_back": A(90, 118), "weapon": 170, "cloth_sway": 0}, # 7 collapse + {"bob": 12, "lean": -26, "arm_front": A(90, 150), "arm_back": A(90, 150), "leg_front": A(90, 120), "leg_back": A(90, 120), "weapon": 175, "cloth_sway": 0}, # 8 corpse + {"bob": 12, "lean": -26, "arm_front": A(89, 152), "arm_back": A(91, 148), "leg_front": A(88, 122), "leg_back": A(92, 118), "weapon": 186, "cloth_sway": 0}, # 9 corpse hold (distinct from f8) +] + +ANIMS = { + "player_idle": (IDLE, 8.0, True), + "player_run": (RUN, 12.0, True), + "player_jump": (JUMP, 10.0, False), + "player_fall": (FALL, 10.0, False), + "player_light_attack_1": (LIGHT_ATTACK_1, 12.0, False), + "player_light_attack_2": (LIGHT_ATTACK_2, 12.0, False), + "player_heavy_attack": (HEAVY_ATTACK, 10.0, False), + "player_hurt": (HURT, 10.0, False), + "player_death": (DEATH, 8.0, False), +} + + +def build(): + for name, (poses, fps, loop) in ANIMS.items(): + fw, fh = PLAYER_CFG["fw"], PLAYER_CFG["fh"] + bake_sheet(fw, fh, len(poses), + lambda d, i, fw, fh, poses=poses: render_humanoid(d, PLAYER_CFG, poses[i], fw, fh), + str(OUT / f"{name}.png")) + print(f" ✓ {name}.png ({len(poses)} frames)") + + +if __name__ == "__main__": + build() diff --git a/assets_v2/tools/build_projectiles.py b/assets_v2/tools/build_projectiles.py new file mode 100644 index 0000000..7b647a0 --- /dev/null +++ b/assets_v2/tools/build_projectiles.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Projectiles (32x32), transparent background. + +ghost_fire_arrow: a ghost-fire tipped arrow pointing RIGHT (flip in-engine for +left travel). Green flame head + trailing wisp. +""" + +from __future__ import annotations +from pathlib import Path +from PIL import Image, ImageDraw +from pixel_engine import new_canvas, fill_circle, fill_poly, ghost_fire + +ROOT = Path(__file__).resolve().parent.parent.parent +OUT = ROOT / "assets_v2" / "projectiles" +SZ = 32 +O = (14, 12, 16) +STEEL = (150, 156, 168) +STEEL_LT = (205, 210, 220) +GHOST = (110, 240, 160) +GHOST_DK = (30, 150, 100) + + +def build(): + img, d = new_canvas(SZ, SZ) + # shaft + d.line([(6, 18), (24, 18)], fill=STEEL, width=2) + d.line([(6, 16), (24, 16)], fill=STEEL_LT, width=1) + # arrowhead (right) + head = [(24, 18), (30, 14), (30, 22)] + fill_poly(d, head, STEEL) + fill_poly(d, [(24, 18), (30, 14), (29, 16)], STEEL_LT) + d.line([(24, 18), (30, 14), (30, 22), (24, 18)], fill=O, width=1) + # fletching + fill_poly(d, [(6, 18), (2, 13), (4, 18)], GHOST_DK) + fill_poly(d, [(6, 18), (2, 23), (4, 18)], GHOST_DK) + # ghost-fire wisp trailing left + ghost_fire(d, 12, 18, 7, t=0.3) + fill_circle(d, (24, 18), 2, GHOST) + OUT.mkdir(parents=True, exist_ok=True) + img.save(str(OUT / "ghost_fire_arrow.png")) + print(" ok ghost_fire_arrow.png (32x32)") + + +if __name__ == "__main__": + build() diff --git a/assets_v2/tools/gen_metadata.py b/assets_v2/tools/gen_metadata.py new file mode 100644 index 0000000..219f1b0 --- /dev/null +++ b/assets_v2/tools/gen_metadata.py @@ -0,0 +1,201 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Generate frame_map.json, metadata.md, and Godot .tres. + +Run from repo root: python3 assets_v2/tools/gen_metadata.py + +Produces, per character directory: + * frame_map.json — startup/active/recovery phases, pivot, foot_position, + projectile_release_frame / charge_ready_frame. + * metadata.md — human-readable animation + spec sheet. +And into assets_v2/godot/: + * _frames.tres — SpriteFrames resources (mirror of tools/generate_sprite_frames.py + but for assets_v2 paths/sizes; AtlasTexture + horizontal strips). + +Phase boundaries are transcribed from the pose comments in the build_*.py files. +""" + +from __future__ import annotations +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent.parent +CHAR_DIR = ROOT / "assets_v2" / "characters" +GODOT_DIR = ROOT / "assets_v2" / "godot" + +# fmt: char -> dict(frame_w, frame_h, pivot, foot, anims) +# anim -> dict(frames, fps, loop, startup, active, recovery, projectile_release_frame, +# charge_ready_frame, note) +CHARS = { + "player": { + "frame_w": 96, "frame_h": 96, "pivot": [48, 66], "foot": [48, 88], + "anims": { + "player_idle": (8, 8.0, True, [], [], [], None, None, "breathing idle"), + "player_run": (8, 12.0, True, [], [], [], None, None, "forward run, cloth trailing"), + "player_jump": (3, 10.0, False, [], [], [], None, None, "rise"), + "player_fall": (3, 10.0, False, [], [], [], None, None, "descent"), + "player_light_attack_1": (8, 12.0, False, [0,1,2,3], [4,5], [6,7], None, None, "horizontal sabre slash R->L"), + "player_light_attack_2": (8, 12.0, False, [0,1,2,3], [4,5], [6,7], None, None, "reverse diagonal overhead->back"), + "player_heavy_attack": (10, 10.0, False, [0,1,2,3,4,5], [6,7], [8,9], None, None, "deep coil, late big hit"), + "player_hurt": (4, 10.0, False, [], [], [], None, None, "recoil"), + "player_death": (10, 8.0, False, [], [], [], None, None, "stagger and collapse"), + }, + }, + "melee_ghost": { + "frame_w": 96, "frame_h": 96, "pivot": [48, 70], "foot": [48, 90], + "anims": { + "melee_ghost_idle": (6, 8.0, True, [], [], [], None, None, "hunched sway, ghost fire leak"), + "melee_ghost_walk": (8, 8.0, True, [], [], [], None, None, "lumbering gait"), + "melee_ghost_attack": (8, 10.0, False, [0,1,2,3], [4,5], [6,7], None, None, "overhead slam"), + "melee_ghost_hurt": (4, 10.0, False, [], [], [], None, None, "recoil"), + "melee_ghost_death": (8, 8.0, False, [], [], [], None, None, "dissolve"), + }, + }, + "ghost_archer": { + "frame_w": 96, "frame_h": 96, "pivot": [48, 64], "foot": [48, 88], + "anims": { + "ghost_archer_idle": (6, 8.0, True, [], [], [], None, None, "still draw, ghost fire"), + "ghost_archer_retreat": (8, 10.0, True, [], [], [], None, None, "back-step kiting"), + "ghost_archer_aim": (6, 8.0, False, [0,1,2,3,4], [], [5], None, 5, "draw bow, charge_ready at 5"), + "ghost_archer_shoot": (4, 14.0, False, [0], [1], [2,3], 1, None, "release; projectile at frame 1"), + "ghost_archer_hurt": (4, 10.0, False, [], [], [], None, None, "recoil"), + "ghost_archer_death": (8, 8.0, False, [], [], [], None, None, "dissolve"), + }, + }, + "corpse_beast": { + "frame_w": 128, "frame_h": 96, "pivot": [64, 58], "foot": [64, 86], + "anims": { + "corpse_beast_idle": (6, 5.0, True, [], [], [], None, None, "low breathing"), + "corpse_beast_run": (8, 10.0, True, [], [], [], None, None, "gallop"), + "corpse_beast_charge_windup": (6, 8.0, False, [0,1,2,3,4], [], [5], None, 5, "coil; charge_ready at 5"), + "corpse_beast_charge": (4, 12.0, False, [], [0,1,2,3], [], None, None, "full-speed contact"), + "corpse_beast_wall_impact": (4, 8.0, False, [], [0,1], [2,3], None, None, "slam into wall"), + "corpse_beast_hurt": (4, 10.0, False, [], [], [], None, None, "scramble"), + "corpse_beast_death": (8, 6.0, False, [], [], [], None, None, "collapse"), + }, + }, + "gate_warden": { + "frame_w": 192, "frame_h": 192, "pivot": [96, 128], "foot": [96, 176], + "anims": { + "gate_warden_idle": (8, 6.0, True, [], [], [], None, None, "heavy breathing"), + "gate_warden_walk": (8, 8.0, True, [], [], [], None, None, "earth-shaking steps"), + "gate_warden_attack_1": (10, 9.0, False, [0,1,2,3], [4,5], [6,7,8,9], None, None, "horizontal great-blade sweep"), + "gate_warden_attack_2": (12, 8.0, False, [0,1,2,3,4,5], [6,7], [8,9,10,11], None, None, "overhead ground pound"), + "gate_warden_hurt": (4, 8.0, False, [], [], [], None, None, "recoil"), + "gate_warden_death": (12, 6.0, False, [], [], [], None, None, "colossal collapse"), + }, + }, +} + + +def write_frame_maps(): + for char, spec in CHARS.items(): + anims = {} + for name, (frames, fps, loop, startup, active, recovery, proj, ready, note) in spec["anims"].items(): + anims[name] = { + "frames": frames, + "fps": fps, + "loop": loop, + "phases": { + "startup": startup, + "active": active, + "recovery": recovery, + }, + "pivot": spec["pivot"], + "foot_position": spec["foot"], + "frame_size": [spec["frame_w"], spec["frame_h"]], + "projectile_release_frame": proj, + "charge_ready_frame": ready, + "note": note, + } + data = { + "character": char, + "frame_size": [spec["frame_w"], spec["frame_h"]], + "pivot": spec["pivot"], + "foot_position": spec["foot"], + "animations": anims, + } + out = CHAR_DIR / char / "frame_map.json" + out.write_text(json.dumps(data, indent=2, ensure_ascii=False), encoding="utf-8") + print(f" ok {char}/frame_map.json ({len(anims)} anims)") + + +def write_metadata(): + for char, spec in CHARS.items(): + lines = [f"# {char} — Animation & Spec Sheet (V2)", ""] + lines.append(f"- **Frame size:** {spec['frame_w']}x{spec['frame_h']} px") + lines.append(f"- **Pivot (rotation/hitbox anchor):** {spec['pivot']}") + lines.append(f"- **Foot baseline (y):** {spec['foot'][1]}") + lines.append("") + lines.append("| Animation | Frames | FPS | Loop | Startup | Active | Recovery | Proj/Charge |") + lines.append("|---|---|---|---|---|---|---|---|") + for name, (frames, fps, loop, startup, active, recovery, proj, ready, note) in spec["anims"].items(): + su = ",".join(map(str, startup)) or "-" + ac = ",".join(map(str, active)) or "-" + rc = ",".join(map(str, recovery)) or "-" + pc = proj if proj is not None else (f"ready@{ready}" if ready is not None else "-") + lines.append(f"| {name} | {frames} | {fps} | {loop} | {su} | {ac} | {rc} | {pc} |") + lines.append("") + lines.append("**Legend:** frames are 0-indexed. `Active` = hitbox/projectile window. " + "`projectile_release_frame` = frame the ghost arrow spawns. " + "`charge_ready_frame` = frame a charge/aim state is fully wound (transition out).") + lines.append("") + lines.append(f"Generated by `assets_v2/tools/gen_metadata.py`. Source: pose comments in " + f"`assets_v2/tools/build_*.py`.") + out = CHAR_DIR / char / "metadata.md" + out.write_text("\n".join(lines), encoding="utf-8") + print(f" ok {char}/metadata.md") + + +# ── V2 SpriteFrames .tres (mirror of tools/generate_sprite_frames.py) ──────── +HEADER = ( + "; Generated by assets_v2/tools/gen_metadata.py for the V2 (Steam Alpha) art set.\n" + "; Do not hand-edit: re-run the generator instead.\n" +) + + +def build_tres(char: str, spec: dict) -> str: + fw, fh = spec["frame_w"], spec["frame_h"] + anims = spec["anims"] + ext_lines, sub_lines, entries = [], [], [] + for idx, (name, (frames, fps, loop, *_)) in enumerate(anims.items()): + ext_id = f"{idx + 1}_{name}" + sheet = f"assets_v2/characters/{char}/{name}.png" + ext_lines.append(f'[ext_resource type="Texture2D" path="res://{sheet}" id="{ext_id}"]') + refs = [] + for f in range(frames): + sub_id = f"AtlasTexture_{name}_{f}" + sub_lines.append( + f'[sub_resource type="AtlasTexture" id="{sub_id}"]\n' + f'atlas = ExtResource("{ext_id}")\n' + f"region = Rect2({f * fw}, 0, {fw}, {fh})" + ) + refs.append('{\n"duration": 1.0,\n' f'"texture": SubResource("{sub_id}")\n}}') + entries.append( + "{\n" + f'"frames": [{", ".join(refs)}],\n' + f'"loop": {"true" if loop else "false"},\n' + f'"name": &"{name}",\n' f'"speed": {fps}\n}}' + ) + load_steps = len(ext_lines) + len(sub_lines) + 1 + return "\n".join([ + HEADER + f'[gd_resource type="SpriteFrames" load_steps={load_steps} format=3]', + "", "\n".join(ext_lines), "", "\n\n".join(sub_lines), "", + "[resource]", "animations = [" + ", ".join(entries) + "]", "", + ]) + + +def write_tres(): + GODOT_DIR.mkdir(parents=True, exist_ok=True) + for char, spec in CHARS.items(): + out = GODOT_DIR / f"{char}_frames.tres" + out.write_text(build_tres(char, spec), encoding="utf-8") + print(f" ok godot/{char}_frames.tres") + + +if __name__ == "__main__": + print("frame_map.json:") + write_frame_maps() + print("metadata.md:") + write_metadata() + print(".tres:") + write_tres() + print("done.") diff --git a/assets_v2/tools/humanoid.py b/assets_v2/tools/humanoid.py new file mode 100644 index 0000000..b4b2523 --- /dev/null +++ b/assets_v2/tools/humanoid.py @@ -0,0 +1,379 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Humanoid character renderer (enhanced). + +Shared skeletal renderer for upright humanoid characters (player, melee ghost, +ghost archer). Produces pixel-art sprites with: + + * stable foot baseline + * constant weapon geometry + * distinct silhouettes per config + * top-left light shading + * armor/cloth/weapon detail layers +""" + +from __future__ import annotations +import math +from pixel_engine import capsule, fill_circle, fill_poly, ghost_fire, ghost_fire_eye, _r + + +def humanoid_config(**over): + cfg = { + "fw": 96, "fh": 96, + "cx": 48, + "hip_y": 66, + "scale": 1.0, + "torso_len": 26, "neck_len": 5, "head_r": 9, + "upper_arm": 16, "lower_arm": 15, "arm_w": 4, + "thigh": 17, "shin": 16, "leg_w": 5, + "lean": 0, "stance": 4, + "style": "player", + "palette": {}, + "ghost_fire": False, + "pauldrons": True, + "torso_hw": 9, + "torso_hw_hip": 7, + "weapon_len": 44, + } + cfg.update(over) + s = cfg["scale"] + for k in ["torso_len", "neck_len", "head_r", "upper_arm", "lower_arm", "arm_w", + "thigh", "shin", "leg_w", "stance", "torso_hw", "torso_hw_hip", "weapon_len"]: + cfg[k] = cfg[k] * s + return cfg + + +def _seg(joint, length, angle_deg): + a = math.radians(angle_deg) + return (joint[0] + length * math.sin(a), joint[1] + length * math.cos(a)) + + +def _perp(v): + L = math.hypot(v[0], v[1]) + return (-v[1] / L, v[0] / L) + + +def solve_joints(cfg, pose): + bob = pose.get("bob", 0) + lean = cfg["lean"] + pose.get("lean", 0) + hip = (cfg["cx"], cfg["hip_y"] + bob) + torso_angle = 180 - lean + shoulder = _seg(hip, cfg["torso_len"], torso_angle) + neck = _seg(shoulder, cfg["neck_len"], torso_angle) + head_c = _seg(neck, cfg["head_r"] + 2, torso_angle) + + sh_b = (shoulder[0] - cfg["arm_w"] * 0.6, shoulder[1]) + sh_f = (shoulder[0] + cfg["arm_w"] * 0.6, shoulder[1]) + hip_b = (hip[0] - cfg["stance"], hip[1]) + hip_f = (hip[0] + cfg["stance"], hip[1]) + + def arm(sh, p): + ea = _seg(sh, cfg["upper_arm"], p[0]) + ha = _seg(ea, cfg["lower_arm"], p[1]) + return sh, ea, ha + def leg(hp, p): + kn = _seg(hp, cfg["thigh"], p[0]) + ft = _seg(kn, cfg["shin"], p[1]) + return hp, kn, ft + + return { + "hip": hip, "shoulder": shoulder, "neck": neck, "head_c": head_c, + "arms": {"back": arm(sh_b, pose.get("arm_back", (95, 100))), + "front": arm(sh_f, pose.get("arm_front", (85, 95)))}, + "legs": {"back": leg(hip_b, pose.get("leg_back", (88, 92))), + "front": leg(hip_f, pose.get("leg_front", (92, 88)))}, + "lean": lean, "bob": bob, "torso_angle": torso_angle, + } + + +def _draw_arm(draw, cfg, pal, p_arm, p_elbow, p_hand, side): + base, lt, out = pal["skin"], pal["skin_lt"], pal["outline"] + if side == "back": + base, lt = pal["skin_sh"], pal["skin_sh"] + aw = cfg["arm_w"] + capsule(draw, p_arm, p_elbow, aw, base, outline=out, light=lt) + capsule(draw, p_elbow, p_hand, max(2, aw - 1), base, outline=out, light=lt) + fill_circle(draw, p_hand, aw - 1, base) + draw.ellipse((_r(p_hand)[0] - aw, _r(p_hand)[1] - aw, + _r(p_hand)[0] + aw + 1, _r(p_hand)[1] + aw + 1), outline=out) + + +def _draw_leg(draw, cfg, pal, p_hip, p_knee, p_foot, side): + base, lt, out = pal["armor"], pal["armor_lt"], pal["outline"] + if side == "back": + base = pal["armor_dk"] + w = cfg["leg_w"] + capsule(draw, p_hip, p_knee, w, base, outline=out, light=lt) + capsule(draw, p_knee, p_foot, max(2, w - 1), base, outline=out, light=lt) + # knee pad + fill_circle(draw, p_knee, int(w * 0.9) + 1, pal["armor_dk"]) + fill_circle(draw, p_knee, int(w * 0.6), pal["armor_lt"]) + # boot + fd = (p_foot[0] - p_knee[0], p_foot[1] - p_knee[1]) + fl = math.hypot(*fd) or 1 + fx, fy = fd[0] / fl, fd[1] / fl + nx, ny = -fy, fx + boot_pts = [ + (p_foot[0] - nx * (w - 1), p_foot[1] - ny * (w - 1)), + (p_foot[0] + nx * (w - 1), p_foot[1] + ny * (w - 1)), + (p_foot[0] + nx * (w - 1) + fx * 7, p_foot[1] + ny * (w - 1) + fy * 7), + (p_foot[0] - nx * (w - 1) + fx * 7, p_foot[1] - ny * (w - 1) + fy * 7), + ] + fill_poly(draw, boot_pts, pal.get("boot", base)) + draw.line(boot_pts + [boot_pts[0]], fill=out, width=1) + + +def _draw_torso(draw, j, cfg, pal): + hip, sh, neck = j["hip"], j["shoulder"], j["neck"] + ta = j["torso_angle"] + hw = cfg["torso_hw"] + hw_h = cfg["torso_hw_hip"] + perp = (math.sin(math.radians(ta + 90)), math.cos(math.radians(ta + 90))) + top_l = (sh[0] + perp[0] * hw, sh[1] + perp[1] * hw) + top_r = (sh[0] - perp[0] * hw, sh[1] - perp[1] * hw) + bot_l = (hip[0] + perp[0] * hw_h, hip[1] + perp[1] * hw_h) + bot_r = (hip[0] - perp[0] * hw_h, hip[1] - perp[1] * hw_h) + fill_poly(draw, [top_l, top_r, bot_r, bot_l], pal["armor_dk"]) + fill_poly(draw, [top_l, top_r, (sh[0], sh[1]), (hip[0], hip[1]), bot_l], pal["armor"]) + # chest plate (central lighter panel) + ct = (sh[0] + perp[0] * (hw * 0.35), sh[1] + perp[1] * (hw * 0.35)) + cb = (hip[0] + perp[0] * (hw_h * 0.35), hip[1] + perp[1] * (hw_h * 0.35)) + fill_poly(draw, [ct, (sh[0] - perp[0] * (hw * 0.25), sh[1] - perp[1] * (hw * 0.25)), + (hip[0] - perp[0] * (hw_h * 0.25), hip[1] - perp[1] * (hw_h * 0.25)), cb], pal["armor_lt"]) + # outline + for a, b in [(top_l, top_r), (top_r, bot_r), (bot_r, bot_l), (bot_l, top_l)]: + draw.line([_r(a), _r(b)], fill=pal["outline"]) + # pauldrons + if cfg.get("pauldrons"): + pl = (sh[0] + perp[0] * (hw + 1), sh[1] + perp[1] * (hw + 1)) + pr = (sh[0] - perp[0] * (hw + 1), sh[1] - perp[1] * (hw + 1)) + if cfg.get("asymmetric_pauldrons"): + # left (front) massive, right damaged/small + fill_circle(draw, pl, int(hw * 1.0), pal["armor_dk"]) + fill_circle(draw, (pl[0] - 1, pl[1] - 1), int(hw * 0.7), pal.get("gold", pal["armor_lt"])) + fill_poly(draw, [pr, (pr[0] + 2, pr[1] - 2), (pr[0] + 3, pr[1] + 3), (pr[0] - 1, pr[1] + 2)], pal["armor_dk"]) + else: + for p in [pl, pr]: + fill_circle(draw, p, int(hw * 0.65), pal["armor_dk"]) + fill_circle(draw, (p[0] - 1, p[1] - 1), int(hw * 0.4), pal["armor_lt"]) + # belt / cloth + if "cloth" in pal: + bx = hip[0] + perp[0] * (hw_h + 1) + by = hip[1] + perp[1] * (hw_h + 1) + fill_circle(draw, (bx, by), 3, pal["cloth"]) + fill_circle(draw, (hip[0] - perp[0] * (hw_h + 1), hip[1] - perp[1] * (hw_h + 1)), 3, pal["cloth"]) + + +def _draw_head(draw, j, cfg, pal, pose): + head_c = j["head_c"] + r = int(round(cfg["head_r"])) + out = pal["outline"] + if cfg["style"] == "boss": + # empty great helm with strong ghost fire + fill_circle(draw, head_c, r, pal["skin_sh"]) + fill_poly(draw, [ + (head_c[0] - r, head_c[1] - r), + (head_c[0] + r, head_c[1] - r), + (head_c[0] + r - 2, head_c[1] + r // 2), + (head_c[0] - r + 2, head_c[1] + r // 2), + ], pal["armor_dk"]) + # horns / crown + fill_poly(draw, [ + (head_c[0] - r + 2, head_c[1] - r), + (head_c[0] - r - 4, head_c[1] - r - 6), + (head_c[0] - r + 6, head_c[1] - r + 2), + ], pal.get("gold", pal["armor_lt"])) + draw.ellipse((_r(head_c)[0] - r, _r(head_c)[1] - r, + _r(head_c)[0] + r + 1, _r(head_c)[1] + r + 1), outline=out) + if cfg.get("ghost_fire"): + t = pose.get("fire_t", 0) + ghost_fire(draw, head_c[0], head_c[1], r * 0.55, t) + ghost_fire_eye(draw, head_c[0] - r * 0.3, head_c[1] + 2, r * 0.28, (t + 0.2) % 1.0) + ghost_fire_eye(draw, head_c[0] + r * 0.3, head_c[1] + 2, r * 0.28, (t + 0.5) % 1.0) + return + if cfg["style"] == "player": + # face + fill_circle(draw, head_c, r, pal["skin"]) + fill_circle(draw, (head_c[0] + 2, head_c[1]), r - 3, pal["skin_sh"]) + fill_circle(draw, (head_c[0] - 2, head_c[1]), r - 3, pal["skin"]) + # light helmet / hood covering top/back + fill_poly(draw, [ + (head_c[0] - r, head_c[1] - r + 1), + (head_c[0] + r, head_c[1] - r + 1), + (head_c[0] + r - 1, head_c[1] - 2), + (head_c[0] - r + 1, head_c[1] - 2), + ], pal["armor"]) + # brim + fill_poly(draw, [ + (head_c[0] - r - 1, head_c[1] - r + 2), + (head_c[0] + r + 1, head_c[1] - r + 2), + (head_c[0] + r - 1, head_c[1] - r + 5), + (head_c[0] - r + 1, head_c[1] - r + 5), + ], pal["armor_dk"]) + draw.ellipse((_r(head_c)[0] - r, _r(head_c)[1] - r, + _r(head_c)[0] + r + 1, _r(head_c)[1] + r + 1), outline=out) + # eye + fill_circle(draw, (head_c[0] - 1, head_c[1] - 1), 1, (20, 20, 25)) + # red identification cloth on helmet + fill_poly(draw, [ + (head_c[0] + r - 2, head_c[1] - r + 4), + (head_c[0] + r + 5, head_c[1] - r + 2), + (head_c[0] + r + 5, head_c[1] - r + 6), + (head_c[0] + r - 1, head_c[1] - r + 8), + ], pal["cloth"]) + else: + fill_circle(draw, head_c, r, pal["skin_sh"]) + fill_poly(draw, [ + (head_c[0] - r, head_c[1] - r), + (head_c[0] + r, head_c[1] - r), + (head_c[0] + r - 1, head_c[1] + 2), + (head_c[0] - r + 1, head_c[1] + 2), + ], pal["armor_dk"]) + draw.ellipse((_r(head_c)[0] - r, _r(head_c)[1] - r, + _r(head_c)[0] + r + 1, _r(head_c)[1] + r + 1), outline=out) + if cfg.get("ghost_fire"): + t = pose.get("fire_t", 0) + ghost_fire_eye(draw, head_c[0] - r * 0.35, head_c[1], r * 0.22, t) + ghost_fire_eye(draw, head_c[0] + r * 0.35, head_c[1], r * 0.22, (t + 0.3) % 1.0) + + +def draw_sabre(draw, hand, angle_deg, length, pal, curve=0.12): + out = pal["outline"] + a = math.radians(angle_deg) + dx, dy = math.sin(a), math.cos(a) + hilt_end = (hand[0] - dx * 8, hand[1] - dy * 8) + capsule(draw, hand, hilt_end, 2, pal.get("grip", (60, 45, 35)), outline=out) + fill_circle(draw, hand, 3, pal.get("guard", (120, 95, 70))) + bl = length - 8 + left, right = [], [] + steps = 7 + for i in range(steps + 1): + f = i / steps + bx = hand[0] + dx * bl * f + by = hand[1] + dy * bl * f + px, py = -dy, dx + bend = curve * f * f * bl + bx += px * bend + by += py * bend + w = (3.6 if f < 0.6 else (2.0 if f < 0.9 else 0.8)) + left.append((bx + px * w, by + py * w)) + right.append((bx - px * w, by - py * w)) + fill_poly(draw, left + right[::-1], pal["blade"]) + # fuller (blood groove) line + mid = [( (left[i][0] + right[i][0]) / 2, (left[i][1] + right[i][1]) / 2) for i in range(len(left))] + for i in range(len(mid) - 1): + draw.line([_r(mid[i]), _r(mid[i + 1])], fill=pal["blade_dk"], width=1) + # edge highlight (top-left/back side) + hl = [(left[i][0] - 1, left[i][1] - 1) for i in range(len(left))] + draw.line([_r(p) for p in hl], fill=pal["blade_lt"], width=1) + # outlines + draw.line([_r(left[0]), _r(left[-1])], fill=out) + draw.line([_r(right[0]), _r(right[-1])], fill=out) + return left[-1] + + +def draw_great_blade(draw, hand, angle_deg, length, pal): + """Massive ghost-head great blade (斩马刀 / 鬼头大刀) for the Gate Warden.""" + out = pal["outline"] + a = math.radians(angle_deg) + dx, dy = math.sin(a), math.cos(a) + # long hilt + crossguard + hilt_end = (hand[0] - dx * 14, hand[1] - dy * 14) + capsule(draw, hand, hilt_end, 4, pal.get("grip", (50, 40, 35)), outline=out) + fill_circle(draw, hand, 6, pal.get("guard", (110, 90, 60))) + # blade + bl = length - 14 + left, right = [], [] + steps = 10 + for i in range(steps + 1): + f = i / steps + bx = hand[0] + dx * bl * f + by = hand[1] + dy * bl * f + px, py = -dy, dx + bend = 0.10 * f * f * bl + bx += px * bend + by += py * bend + w = (8.0 if f < 0.5 else (5.0 if f < 0.85 else 1.5)) + left.append((bx + px * w, by + py * w)) + right.append((bx - px * w, by - py * w)) + fill_poly(draw, left + right[::-1], pal["blade"]) + # fuller + ghost-fire runes + mid = [((left[i][0] + right[i][0]) / 2, (left[i][1] + right[i][1]) / 2) for i in range(len(left))] + for i in range(len(mid) - 1): + draw.line([_r(mid[i]), _r(mid[i + 1])], fill=pal["blade_dk"], width=1) + for i in [2, 4, 6]: + if i < len(mid): + ghost_fire(draw, mid[i][0], mid[i][1], 1.5, (i * 0.1) % 1.0) + # edge highlight + hl = [(left[i][0] - 1, left[i][1] - 1) for i in range(len(left))] + draw.line([_r(p) for p in hl], fill=pal["blade_lt"], width=1) + draw.line([_r(left[0]), _r(left[-1])], fill=out) + draw.line([_r(right[0]), _r(right[-1])], fill=out) + return left[-1] + + +def draw_bow(draw, grip, aim, pal, bow_len=34, facing=1): + out = pal["outline"] + top = (grip[0] - facing * 4, grip[1] - bow_len) + bot = (grip[0] - facing * 4, grip[1] + bow_len) + mid = (grip[0] - facing * (bow_len * 0.7 + 8), grip[1]) + pts = [] + N = 8 + for i in range(N + 1): + t = i / N + x = (1 - t) ** 2 * top[0] + 2 * (1 - t) * t * mid[0] + t ** 2 * bot[0] + y = (1 - t) ** 2 * top[1] + 2 * (1 - t) * t * mid[1] + t ** 2 * bot[1] + pts.append((x, y)) + for i in range(N): + capsule(draw, pts[i], pts[i + 1], 2, pal["wood"], outline=out, light=pal.get("wood_lt")) + draw_arm_x = grip[0] + facing * (6 + aim * 10) + draw.line([_r(top), _r((draw_arm_x, grip[1]))], fill=(180, 200, 190), width=1) + draw.line([_r(bot), _r((draw_arm_x, grip[1]))], fill=(180, 200, 190), width=1) + if aim > 0.05: + arrow_tip = (grip[0] + facing * (bow_len * 0.9), grip[1]) + capsule(draw, (draw_arm_x, grip[1]), arrow_tip, 1, (90, 80, 70), outline=out) + ghost_fire(draw, arrow_tip[0], arrow_tip[1], 3, pal.get("fire_t", 0)) + return (draw_arm_x, grip[1]) + + +def render_humanoid(draw, cfg, pose, fw, fh): + j = solve_joints(cfg, pose) + pal = cfg["palette"] + out = pal["outline"] + + _draw_leg(draw, cfg, pal, *j["legs"]["back"], "back") + sh, el, ha = j["arms"]["back"] + _draw_arm(draw, cfg, pal, sh, el, ha, "back") + _draw_torso(draw, j, cfg, pal) + _draw_head(draw, j, cfg, pal, pose) + + if cfg.get("ghost_fire"): + ghost_fire(draw, j["shoulder"][0] - 3, j["shoulder"][1] + 4, 3, pose.get("fire_t", 0)) + + _draw_leg(draw, cfg, pal, *j["legs"]["front"], "front") + sh, el, ha = j["arms"]["front"] + _draw_arm(draw, cfg, pal, sh, el, ha, "front") + + if cfg["style"] == "player": + draw_sabre(draw, ha, pose.get("weapon", 70), cfg["weapon_len"], pal) + elif cfg["style"] == "melee_ghost": + draw_sabre(draw, ha, pose.get("weapon", 110), cfg["weapon_len"], pal, curve=0.05) + elif cfg["style"] == "ghost_archer": + draw_bow(draw, ha, pose.get("aim", 0), pal, bow_len=cfg.get("bow_len", 34)) + elif cfg["style"] == "boss": + draw_great_blade(draw, ha, pose.get("weapon", 80), cfg["weapon_len"], pal) + + # cloth strips / sashes swaying + if "cloth" in pal: + sway = pose.get("cloth_sway", 0) + count = 4 if cfg["style"] == "boss" else 3 + for k in range(count): + sy = j["hip"][1] - 4 + k * 3 + sx = j["hip"][0] + (3 if cfg["style"] == "ghost_archer" else -4) + if cfg["style"] == "boss": + sx = j["hip"][0] + (5 if k % 2 == 0 else -5) + fill_poly(draw, [ + (sx, sy), + (sx - 8 - sway, sy + 10 + k * 2), + (sx - 7 - sway, sy + 13 + k * 2), + (sx + 1, sy + 2), + ], pal["cloth"]) diff --git a/assets_v2/tools/pixel_engine.py b/assets_v2/tools/pixel_engine.py new file mode 100644 index 0000000..8fad618 --- /dev/null +++ b/assets_v2/tools/pixel_engine.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Procedural Pixel-Art Engine. + +Low-level drawing primitives for crisp, frame-consistent pixel art. +All drawing is done at 1:1 target resolution with hard-edged fills +(PIL polygon/ellipse) so output stays pixel-perfect under nearest-neighbor +scaling. No anti-aliasing, no blur, no supersampling. + +Shading model: single directional light from the upper-left. Every limb is +drawn as a shaded capsule (dark base + lighter top-left sliver + 1px outline), +which keeps a consistent material read across all animation frames. +""" + +from __future__ import annotations +import math +from PIL import Image, ImageDraw + + +# ── canvas ──────────────────────────────────────────────────────────────────── +def new_canvas(w: int, h: int): + img = Image.new("RGBA", (w, h), (0, 0, 0, 0)) + return img, ImageDraw.Draw(img) + + +# ── geometry helpers ──────────────────────────────────────────────────────── +def _r(p): + return (int(round(p[0])), int(round(p[1]))) + + +def circ_bbox(p, r): + x, y = _r(p) + return (x - r, y - r, x + r + 1, y + r + 1) + + +def capsule_polygon(p0, p1, r): + x0, y0 = _r(p0) + x1, y1 = _r(p1) + dx, dy = x1 - x0, y1 - y0 + L = math.hypot(dx, dy) + if L == 0: + nx, ny = 1.0, 0.0 + else: + nx, ny = -dy / L, dx / L + return [ + (x0 + nx * r, y0 + ny * r), + (x1 + nx * r, y1 + ny * r), + (x1 - nx * r, y1 - ny * r), + (x0 - nx * r, y0 - ny * r), + ] + + +def fill_circle(draw, p, r, color): + draw.ellipse(circ_bbox(p, r), fill=color) + + +def fill_poly(draw, pts, color): + draw.polygon([_r(p) for p in pts], fill=color) + + +# ── shaded limb (capsule) ─────────────────────────────────────────────────── +def capsule(draw, p0, p1, r, color, outline=None, light=None, loff=(-1, -1)): + """Draw a shaded capsule limb from p0 to p1. + + color : base (shadow) tone + outline : 1px darker rim, drawn behind + light : top-left highlight sliver (narrower, offset up-left) + """ + if outline is not None: + fill_poly(draw, capsule_polygon(p0, p1, r + 1), outline) + fill_circle(draw, p0, r + 1, outline) + fill_circle(draw, p1, r + 1, outline) + fill_poly(draw, capsule_polygon(p0, p1, r), color) + fill_circle(draw, p0, r, color) + fill_circle(draw, p1, r, color) + if light is not None: + p0b = (p0[0] + loff[0], p0[1] + loff[1]) + p1b = (p1[0] + loff[0], p1[1] + loff[1]) + fill_poly(draw, capsule_polygon(p0b, p1b, max(1, r - 1)), light) + fill_circle(draw, p0b, max(1, r - 1), light) + fill_circle(draw, p1b, max(1, r - 1), light) + + +def hline_limb(draw, p0, p1, w, color, outline=None, light=None): + """Convenience: limb with half-width w (thickness = 2w).""" + capsule(draw, p0, p1, w, color, outline=outline, light=light) + + +# ── ghost fire ──────────────────────────────────────────────────────────────── +def ghost_fire(draw, cx, cy, size, t=0, palette=None): + """Flickering underworld flame. t in [0,1) phase per frame. + + Returns nothing; draws in place. Used for enemy eye/gap fire, braziers, + projectiles, and ambient VFX. + """ + pal = palette or { + "core": (150, 240, 170), + "mid": (40, 200, 120), + "out": (20, 110, 70), + "edge": (10, 60, 45), + } + s = size + flick = math.sin(t * math.pi * 2) * 0.18 + 1.0 + # outer glow + fill_circle(draw, (cx, cy - s * 0.2), int(s * 0.9 * flick), pal["edge"]) + # body + fill_circle(draw, (cx, cy - s * 0.25), int(s * 0.62 * flick), pal["out"]) + # teardrop tip + tip = (cx, cy - s * (0.9 + 0.15 * flick)) + fill_poly(draw, [ + (cx - s * 0.4, cy), + (cx + s * 0.4, cy), + (cx + s * 0.18, cy - s * (1.5 + 0.2 * flick)), + (cx - s * 0.18, cy - s * (1.5 + 0.2 * flick)), + ], pal["out"]) + # inner + fill_circle(draw, (cx, cy - s * 0.3), int(s * 0.4 * flick), pal["mid"]) + # core + fill_circle(draw, (cx, cy - s * 0.35), int(s * 0.22 * flick), pal["core"]) + + +def ghost_fire_eye(draw, cx, cy, size, t=0): + ghost_fire(draw, cx, cy, size, t) + + +# ── small helpers ───────────────────────────────────────────────────────────── +def rect(draw, x, y, w, h, color): + draw.rectangle([x, y, x + w - 1, y + h - 1], fill=color) + + +def bake_sheet(frame_w, frame_h, frames, draw_fn, path): + """Render a horizontal sprite sheet by calling draw_fn(draw, frame_index, ox, oy).""" + from pathlib import Path + sheet = Image.new("RGBA", (frame_w * frames, frame_h), (0, 0, 0, 0)) + for i in range(frames): + ox = i * frame_w + cell = sheet.crop((ox, 0, ox + frame_w, frame_h)) + d = ImageDraw.Draw(cell) + draw_fn(d, i, frame_w, frame_h) + sheet.paste(cell, (ox, 0)) + Path(path).parent.mkdir(parents=True, exist_ok=True) + sheet.save(path) + return sheet diff --git a/assets_v2/tools/quality_checks.py b/assets_v2/tools/quality_checks.py new file mode 100644 index 0000000..715ffc0 --- /dev/null +++ b/assets_v2/tools/quality_checks.py @@ -0,0 +1,382 @@ +#!/usr/bin/env python3 +"""Nine Nether V2 — Automated Quality Checks + Review deliverables. + +Checks (objective where possible): + 1. Size every sheet == frames*fw x fh + 2. Frame-diff every consecutive frame differs (>1% pixels) + 3. Alpha transparent margin exists (corners alpha 0) + 4. Silhouette pairwise silhouette feature distance (distinctness) + 5. Telegraph attack anims have non-empty startup AND active in frame_map + 6. Foot stable foot baseline y variance < 8% of frame height + 7. Weapon weapon stable at idle; visibly swings during attacks + 8. Scale preview emit review/gameplay_scale_preview.png + 9. GIFs emit review/anim_player.gif, anim_enemies.gif, anim_boss.gif + 10. Fail=rework hard fails (1,2,3) abort with non-zero exit + +Also writes review/quality_report.json and review/ART_V2_REVIEW_REPORT.md. +""" + +from __future__ import annotations +import json +from pathlib import Path +from PIL import Image, ImageDraw + +ROOT = Path(__file__).resolve().parent.parent.parent +CHAR_DIR = ROOT / "assets_v2" / "characters" +REVIEW = ROOT / "assets_v2" / "review" +REVIEW.mkdir(parents=True, exist_ok=True) + +FONT = None +try: + from PIL import ImageFont + FONT = ImageFont.load_default() +except Exception: + pass + +# frame size per character +FW = {"player": 96, "melee_ghost": 96, "ghost_archer": 96, "corpse_beast": 128, "gate_warden": 192} +FH = {"player": 96, "melee_ghost": 96, "ghost_archer": 96, "corpse_beast": 96, "gate_warden": 192} + +CHECKS = [] # (name, status, detail) + + +def add(name, status, detail): + CHECKS.append((name, status, detail)) + print(f"[{status}] {name}: {detail}") + + +def sheet_frames(char, name): + p = CHAR_DIR / char / f"{name}.png" + im = Image.open(p).convert("RGBA") + fw, fh = FW[char], FH[char] + n = im.width // fw + out = [] + for f in range(n): + out.append(im.crop((f * fw, 0, f * fw + fw, fh))) + return out + + +def alpha_bbox(img): + a = img.split()[3] + return a.getbbox() + + +# ── 1. Size ─────────────────────────────────────────────────────────────── +def check_size(): + bad = [] + for char, fw in FW.items(): + fmap = json.loads((CHAR_DIR / char / "frame_map.json").read_text()) + for aname, spec in fmap["animations"].items(): + n = spec["frames"] + p = CHAR_DIR / char / f"{aname}.png" + w, h = Image.open(p).size + if (w, h) != (n * fw, FH[char]): + bad.append(f"{aname} {w}x{h} expected {n*fw}x{FH[char]}") + if bad: + add("1.size", "FAIL", "; ".join(bad)) + else: + add("1.size", "PASS", "all 37 sheets match frames*fw x fh") + + +# ── 2. Frame-diff ──────────────────────────────────────────────────────── +def check_framediff(): + dupes = [] + soft = [] + for char in FW: + fmap = json.loads((CHAR_DIR / char / "frame_map.json").read_text()) + for aname in fmap["animations"]: + frames = sheet_frames(char, aname) + for i in range(1, len(frames)): + a = frames[i - 1] + b = frames[i] + if a.tobytes() == b.tobytes(): + dupes.append(f"{aname} f{i - 1}->f{i} (identical)") + continue + aa = a.split()[3] + bb = b.split()[3] + diff = sum(1 for x, y in zip(aa.getdata(), bb.getdata()) if abs(x - y) > 8) + total = aa.width * aa.height + frac = diff / total + if frac < 0.005: + dupes.append(f"{aname} f{i - 1}->f{i} ({diff}/{total} ~{frac:.1%})") + elif frac < 0.015: + soft.append(f"{aname} f{i - 1}->f{i} ({diff}/{total} ~{frac:.1%})") + if dupes: + add("2.frame-diff", "FAIL", "; ".join(dupes)) + elif soft: + add("2.frame-diff", "WARN", "low-motion pairs: " + "; ".join(soft[:12])) + else: + add("2.frame-diff", "PASS", "all consecutive frames clearly distinct") + + +# ── 3. Alpha ───────────────────────────────────────────────────────────── +def check_alpha(): + bad = [] + for char in FW: + fmap = json.loads((CHAR_DIR / char / "frame_map.json").read_text()) + for aname in fmap["animations"]: + frames = sheet_frames(char, aname) + f0 = frames[0] + # corners must be transparent + corners = [(0, 0), (f0.width - 1, 0), (0, f0.height - 1), (f0.width - 1, f0.height - 1)] + if any(f0.getpixel(c)[3] != 0 for c in corners): + bad.append(aname) + if alpha_bbox(f0) is None: + bad.append(f"{aname}(empty)") + if bad: + add("3.alpha", "FAIL", "; ".join(set(bad))) + else: + add("3.alpha", "PASS", "transparent background on all sheets") + + +# ── 4. Silhouette distinctness ─────────────────────────────────────────── +def silhouette_features(img): + """Normalized SHAPE features (size-independent) for distinctness.""" + bb = alpha_bbox(img) + if bb is None: + return None + x0, y0, x1, y1 = bb + w = x1 - x0 + h = y1 - y0 + a = img.split()[3] + top_rows = a.crop((0, y0, img.width, y0 + max(1, h // 3))) + bot_rows = a.crop((0, y1 - max(1, h // 3), img.width, y1)) + tb = top_rows.getbbox() + bb2 = bot_rows.getbbox() + top_w = (tb[2] - tb[0]) if tb else 0 + bot_w = (bb2[2] - bb2[0]) if bb2 else 0 + # centroid x offset (lean) from alpha mass + px = a.load() + sx = sw = 0 + for yy in range(y0, y1): + for xx in range(x0, x1): + v = px[xx, yy] + if v > 16: + sx += xx + sw += 1 + cx = (sx / sw) - (x0 + x1) / 2 if sw else 0 + return (w / h, top_w / h, bot_w / h, top_w / max(1, bot_w), cx / max(1, w)) + + +def check_silhouette(): + feats = {} + for char in FW: + frames = sheet_frames(char, f"{char}_idle") + feats[char] = silhouette_features(frames[0]) + import math + chars = list(feats) + sims = [] + pairs = [] + for i in range(len(chars)): + for j in range(i + 1, len(chars)): + fa, fb = feats[chars[i]], feats[chars[j]] + if not fa or not fb: + continue + d = math.sqrt(sum((x - y) ** 2 for x, y in zip(fa, fb))) + sim = round(1 - d / math.sqrt(len(fa)), 3) + sims.append((chars[i], chars[j], sim)) + if sim > 0.85: + pairs.append(f"{chars[i]}~{chars[j]}={sim}") + if pairs: + add("4.silhouette", "WARN", "similar shape pair(s): " + "; ".join(pairs) + + " (humanoids share a body plan; distinguished in-game by colour/weapon/lean)") + else: + add("4.silhouette", "PASS", f"{len(sims)} pairwise shape comparisons distinct") + return feats, sims + + +# ── 5. Telegraph ────────────────────────────────────────────────────────── +def check_telegraph(): + bad = [] + for char in FW: + fmap = json.loads((CHAR_DIR / char / "frame_map.json").read_text()) + for aname, spec in fmap["animations"].items(): + # charge-up / aim states are intentionally startup-only (no active hit) + if aname.endswith("_windup") or aname.endswith("_aim"): + continue + if "attack" in aname or aname.endswith("_shoot") or "charge" in aname: + if not spec["phases"]["active"]: + bad.append(f"{aname}: no active frames") + if bad: + add("5.telegraph", "WARN", "; ".join(bad)) + else: + add("5.telegraph", "PASS", "all strikes have non-empty active window") + + +# ── 6. Foot stability (locomotion only) ─────────────────────────────────── +LOCOMOTION = ("idle", "walk", "run", "retreat") +def check_foot(): + bad = [] + for char in FW: + fmap = json.loads((CHAR_DIR / char / "frame_map.json").read_text()) + for aname in fmap["animations"]: + if not aname.endswith(LOCOMOTION): + continue # attacks/death intentionally move the feet + frames = sheet_frames(char, aname) + feet = [alpha_bbox(f)[3] if alpha_bbox(f) else 0 for f in frames] + if max(feet) - min(feet) > FH[char] * 0.08: + bad.append(f"{aname} foot-range={max(feet) - min(feet)}px") + if bad: + add("6.foot", "WARN", "; ".join(bad)) + else: + add("6.foot", "PASS", "foot baseline stable on idle/walk/run (<8% frame height)") + + +# ── 7. Weapon consistency (bbox area proxy) ──────────────────────────────── +def bbox_area(img): + bb = alpha_bbox(img) + return (bb[2] - bb[0]) * (bb[3] - bb[1]) if bb else 0 + + +def check_weapon(): + warns = [] + for char in FW: + fmap = json.loads((CHAR_DIR / char / "frame_map.json").read_text()) + idle = f"{char}_idle" + if idle in fmap["animations"]: + areas = [bbox_area(f) for f in sheet_frames(char, idle)] + var = (max(areas) - min(areas)) / (sum(areas) / len(areas) + 1e-6) + if var > 0.08: + warns.append(f"{idle} idle area var {var:.0%}") + for aname in fmap["animations"]: + if "attack" in aname and aname != idle: + areas = [bbox_area(f) for f in sheet_frames(char, aname)] + mean = sum(areas) / len(areas) + rng = (max(areas) - min(areas)) / (mean + 1e-6) + if rng < 0.12: + warns.append(f"{aname} motion range only {rng:.0%}") + if warns: + add("7.weapon", "WARN", "; ".join(warns)) + else: + add("7.weapon", "PASS", "weapon stable at idle; clearly moving during attacks") + + +# ── 8. Gameplay scale preview ───────────────────────────────────────────── +def make_scale_preview(): + W, H = 640, 360 + img, d = Image.new("RGB", (W, H), (16, 18, 24)), ImageDraw.Draw(Image.new("RGB", (W, H))) + # background + bg = Image.new("RGB", (W, H), (16, 18, 24)) + bd = ImageDraw.Draw(bg) + bd.rectangle([0, 0, W - 1, H - 1], fill=(16, 18, 24)) + # back wall band + bd.rectangle([0, 40, W - 1, 250], fill=(22, 24, 32)) + # ground + ground_y = 300 + bd.rectangle([0, ground_y, W - 1, H - 1], fill=(40, 38, 44)) + bd.line([(0, ground_y), (W, ground_y)], fill=(70, 66, 74), width=2) + # place characters bottom-aligned to ground + order = ["player", "melee_ghost", "ghost_archer", "corpse_beast", "gate_warden"] + xs = [70, 180, 300, 400, 500] + for char, x in zip(order, xs): + frames = sheet_frames(char, f"{char}_idle") + fr = frames[0] + fh = FH[char] + foot = json.loads((CHAR_DIR / char / "frame_map.json").read_text())["foot_position"][1] + top = ground_y - foot + bg.paste(fr, (x, top), fr) + if FONT: + bd.text((x + 10, ground_y + 6), char, fill=(180, 180, 180), font=FONT) + # HUD icon preview (top-left) + for i, ic in enumerate(["icon_songdao", "icon_ghostfire", "icon_qi"]): + p = ROOT / "assets_v2" / "icons" / f"{ic}.png" + if p.exists(): + im = Image.open(p).convert("RGBA") + bg.paste(im, (10 + i * 36, 10), im) + bg.save(str(REVIEW / "gameplay_scale_preview.png")) + add("8.scale-preview", "PASS", "review/gameplay_scale_preview.png (640x360)") + + +# ── 9. Review GIFs ───────────────────────────────────────────────────────── +def make_gif(char, anims, outname): + fps_map = {} + fmap = json.loads((CHAR_DIR / char / "frame_map.json").read_text()) + frames = [] + for an in anims: + if an not in fmap["animations"]: + continue + spec = fmap["animations"][an] + fr = sheet_frames(char, an) + dur = int(1000 / spec["fps"]) + for f in fr: + rgb = Image.new("RGB", f.size, (18, 20, 26)) + rgb.paste(f, (0, 0), f) + frames.append((rgb, dur)) + if not frames: + return + imgs = [f.convert("P", palette=Image.ADAPTIVE) for f, _ in frames] + durations = [d for _, d in frames] + imgs[0].save(str(REVIEW / outname), save_all=True, append_images=imgs[1:], + duration=durations, loop=0, disposal=2) + add("9.gif", "PASS", f"{outname} ({len(imgs)} frames)") + + +def make_gifs(): + make_gif("player", ["player_idle", "player_run", "player_light_attack_1", + "player_heavy_attack", "player_hurt"], "anim_player.gif") + make_gif("melee_ghost", ["melee_ghost_idle", "melee_ghost_walk", "melee_ghost_attack"], + "anim_enemies_melee.gif") + make_gif("ghost_archer", ["ghost_archer_idle", "ghost_archer_aim", "ghost_archer_shoot"], + "anim_enemies_archer.gif") + make_gif("corpse_beast", ["corpse_beast_idle", "corpse_beast_run", "corpse_beast_charge"], + "anim_enemies_beast.gif") + make_gif("gate_warden", ["gate_warden_idle", "gate_warden_walk", "gate_warden_attack_1", + "gate_warden_attack_2"], "anim_boss.gif") + + +def write_report(feats, sims): + fails = [c for c in CHECKS if c[1] == "FAIL"] + warns = [c for c in CHECKS if c[1] == "WARN"] + report = { + "checks": [{"name": n, "status": s, "detail": d} for n, s, d in CHECKS], + "silhouette_similarity": [{"a": a, "b": b, "similarity": s} for a, b, s in sims], + "result": "FAIL" if fails else ("WARN" if warns else "PASS"), + } + (REVIEW / "quality_report.json").write_text(json.dumps(report, indent=2)) + # markdown + lines = ["# ART V2 — Review Report", ""] + lines.append(f"**Result:** {'FAIL' if fails else ('WARNING' if warns else 'PASS')}") + lines.append("") + lines.append("## Automated checks") + for n, s, d in CHECKS: + lines.append(f"- **[{s}]** {n} — {d}") + lines.append("") + lines.append("## Silhouette similarity matrix (lower = more distinct)") + for a, b, s in sorted(sims, key=lambda t: -t[2]): + flag = " ⚠ similar" if s > 0.82 else "" + lines.append(f"- {a} ↔ {b}: {s}{flag}") + lines.append("") + lines.append("## Deliverables") + lines.append("- `review/character_scale_comparison.png` — size ladder") + lines.append("- `review/silhouette_comparison.png` — black silhouette distinction") + lines.append("- `review/gameplay_scale_preview.png` — 640×360 in-engine scale mock") + lines.append("- `review/anim_player.gif`, `anim_enemies_*.gif`, `anim_boss.gif` — motion review") + lines.append("- `assets_v2/characters//frame_map.json` + `metadata.md` — timing") + lines.append("- `assets_v2/godot/_frames.tres` — ready SpriteFrames") + lines.append("- `assets_v2/GODOT_IMPORT_GUIDE.md` — wiring instructions") + (REVIEW / "ART_V2_REVIEW_REPORT.md").write_text("\n".join(lines)) + print("\nWrote review/ART_V2_REVIEW_REPORT.md and quality_report.json") + + +def main(): + check_size() + check_framediff() + check_alpha() + feats, sims = check_silhouette() + check_telegraph() + check_foot() + check_weapon() + make_scale_preview() + make_gifs() + write_report(feats, sims) + fails = [c for c in CHECKS if c[1] == "FAIL"] + if fails: + print("\nHARD FAILURES — rework required:") + for n, s, d in fails: + print(f" {n}: {d}") + raise SystemExit(1) + print("\nAll hard checks passed. (WARNs are advisory.)") + + +if __name__ == "__main__": + main()

    }NK)=t=Y% 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" + }, + "player_light_attack_2": { + "frames": 8, + "fps": 12.0, + "loop": false, + "phases": { + "startup": [ + 0, + 1, + 2, + 3 + ], + "active": [ + 4, + 5 + ], + "recovery": [ + 6, + 7 + ] + }, + "pivot": [ + 48, + 66 + ], + "foot_position": [ + 48, + 88 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "reverse diagonal overhead->back" + }, + "player_heavy_attack": { + "frames": 10, + "fps": 10.0, + "loop": false, + "phases": { + "startup": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "active": [ + 6, + 7 + ], + "recovery": [ + 8, + 9 + ] + }, + "pivot": [ + 48, + 66 + ], + "foot_position": [ + 48, + 88 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "deep coil, late big hit" + }, + "player_hurt": { + "frames": 4, + "fps": 10.0, + "loop": false, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 48, + 66 + ], + "foot_position": [ + 48, + 88 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "recoil" + }, + "player_death": { + "frames": 10, + "fps": 8.0, + "loop": false, + "phases": { + "startup": [], + "active": [], + "recovery": [] + }, + "pivot": [ + 48, + 66 + ], + "foot_position": [ + 48, + 88 + ], + "frame_size": [ + 96, + 96 + ], + "projectile_release_frame": null, + "charge_ready_frame": null, + "note": "stagger and collapse" + } + } +} \ No newline at end of file diff --git a/assets_v2/characters/player/metadata.md b/assets_v2/characters/player/metadata.md new file mode 100644 index 0000000..7faf703 --- /dev/null +++ b/assets_v2/characters/player/metadata.md @@ -0,0 +1,21 @@ +# player — Animation & Spec Sheet (V2) + +- **Frame size:** 96x96 px +- **Pivot (rotation/hitbox anchor):** [48, 66] +- **Foot baseline (y):** 88 + +| Animation | Frames | FPS | Loop | Startup | Active | Recovery | Proj/Charge | +|---|---|---|---|---|---|---|---| +| player_idle | 8 | 8.0 | True | - | - | - | - | +| player_run | 8 | 12.0 | True | - | - | - | - | +| player_jump | 3 | 10.0 | False | - | - | - | - | +| player_fall | 3 | 10.0 | False | - | - | - | - | +| player_light_attack_1 | 8 | 12.0 | False | 0,1,2,3 | 4,5 | 6,7 | - | +| player_light_attack_2 | 8 | 12.0 | False | 0,1,2,3 | 4,5 | 6,7 | - | +| player_heavy_attack | 10 | 10.0 | False | 0,1,2,3,4,5 | 6,7 | 8,9 | - | +| player_hurt | 4 | 10.0 | False | - | - | - | - | +| player_death | 10 | 8.0 | False | - | - | - | - | + +**Legend:** frames are 0-indexed. `Active` = hitbox/projectile window. `projectile_release_frame` = frame the ghost arrow spawns. `charge_ready_frame` = frame a charge/aim state is fully wound (transition out). + +Generated by `assets_v2/tools/gen_metadata.py`. Source: pose comments in `assets_v2/tools/build_*.py`. \ No newline at end of file diff --git a/assets_v2/characters/player/palette.png b/assets_v2/characters/player/palette.png new file mode 100644 index 0000000000000000000000000000000000000000..1a6a4ae60c6124984cc0df6b9aa52d539a0683aa GIT binary patch literal 6842 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 TL;la76v)ij3SM>DJ@LN)_!JJ} literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/player_death.png b/assets_v2/characters/player/player_death.png new file mode 100644 index 0000000000000000000000000000000000000000..0300781cd389931da125297ac18d448b8b9c59cc GIT binary patch literal 9223 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/player_fall.png b/assets_v2/characters/player/player_fall.png new file mode 100644 index 0000000000000000000000000000000000000000..484f9e328f51ad3db58588c07e0c93726f84b855 GIT binary patch literal 3277 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/player_heavy_attack.png b/assets_v2/characters/player/player_heavy_attack.png new file mode 100644 index 0000000000000000000000000000000000000000..e832e12cbd52fefc360456df044b25db9e5d80b7 GIT binary patch literal 9514 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 Jg}zJV{{i^7_rL%E literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/player_hurt.png b/assets_v2/characters/player/player_hurt.png new file mode 100644 index 0000000000000000000000000000000000000000..074efe354bf645a6c0f7d31c9356a2f18a502fe9 GIT binary patch literal 3676 zcmZu!X*kr2_y5jVvSe4bGL}I~wk#Ew$r2(aOURmJ*Mh8#ku_u|yP?P+oaghL^PF>@&w24V>2O;M0X}Iy000E6EY0iz0F-bP zd-HG~dGX!4bN~=kv@*Nm7+tYhdHrdX^NAspKK?^Wvi8&Dh?5Odx8ZqmO4qMS+-$%I zD>SEYiU`yN2+Npz46FHxxHq_nq~CzP%@yYxxb0m*&&#R}jL74`nleXTTodNC?|z^k zmRc1?HlVE^yrX<&u;1qnzuS5j^T(KWNQfEhCG6-398K}R4gN`u1_CsdB#@DJXPAtx zdV;rLLeQmL1^|4zdk9PliUR0qCTFLn5`Mk^Eod z_13TOE*|%c?SRD)P`E;BNzyIE+L}>Y)ID%whD-CYwwj8Tpq!mR-Vb zg?0o(wBtYMAhqM;QH~QE0ft%1%Xwpse=g-+qjLOCU$`1Fvz0pw{rjMs^L^+*m937lHxXkw5-oTODIwZ+I- zEa<>eH$L^*i=1s@+?_#1u8f*OFgp2CjS-0GT_@`=(N?GUZC^JK(n#0EJ`TDd`!oE? za>W@1kmhG0BjQimzdF~$SEhrrcAu!nY~N_4zT3C*gItKeejZi!Y$)nVRmAg@vGgTT zKp>W^AklU(zaEFIV)k#Z5b)#vncpH4XfMU=Tg-}H|8;u43D-UQj_p86+?35akNT3O z;!77F3b#WA*8Y7a+E%<2chUv{Z&uokHOJiV>Y5GZ~^hB#&7eB z-}B)uQr^;hk%B77a;i%Cdn>XV>woxaJMCmF@93&m;&$>XXegVKfRJxf z+O6|Q>fPnfOP#E8Gjcp&@9fQ#x1wAt<2=^YQPR)SRuh9|g(F3v4ZzvqoD6F~hZysF zKFNqOaMAGXW?uwazj@Q7Ru!Y4g=&n~W;c_W>T^tt49;))`|Mn3_pCed6IRZ+Q2}Hr zQpOnfwaGCGuPNRR)^1YGA}8yt{$d-?AQzaAXo#TB=;ywME$8w>C+tf3%jQllS~w{I zkjJFYhL1M_CfrG{sI#|Usq7_kTcG-)NsB3HHT zpgfscEmp?OEFqD5BkvaPhD*icnMmZ$)~H2JA7vAF--uT9*M$F$#&x&A!3$<0j(-e4 zxw6t8tNlnc$a}wd_GRX*YSO|?Dvwhwr&K|pnV)fYA;`Fcx+;4pzN7MZ3fJ)0jTZ-< zS*EBiVjYjdTb?COc=xtO_J)ONvqj|XS2rU3pI=8ulS=XkxglaNtl$#~c2iXtWzyQ_ z1-6Vq6pdxmKG>Dz|4aeh5u=HPJW9DUG-TSdveDk==vU`>MYWfLUER`FGyqjFe+kjf z2Nh|qF#_y1Wq0;!L}9$$t9n&6nbo5F)orX#dtFq*hR+DChdSrNGm{dvl;rDgAY-)m z5F@+KP%jFYziF1vTEmjcop4q*QI}J6jS170P3-)RN>cRT*~ASnx<5uU8FIi=+GC|A z=m-AoaeFgX{MYMR75Oe3mR{pg`>0>h~S!wa!4zp8TrQH__R z3M)Bnnm5hW+9_U**idhQfGGIdo;<}A&7*xCr?caQksbLcG`Wol!lQO*RDx98jc?g` z9?%pYZ!gG4e^7(73zFHN_5+%byC%^W9rkZ;1hSwdX&(QEN(kj>tUIBFrMmyDg}M~y zl@>IrN_w5Lzs1#euAv7WEYk5STDtsThk)2fVtBgsbX;=gY>T96oab6DidBBjhgp)0 z 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/player_jump.png b/assets_v2/characters/player/player_jump.png new file mode 100644 index 0000000000000000000000000000000000000000..48f3d6bd763620ead9846ffe3770196f993c980f GIT binary patch literal 3782 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 ZjDz!L_SG8s{{E)`3v+8Ts;NiJ{{VWjNlpL& literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/player_light_attack_1.png b/assets_v2/characters/player/player_light_attack_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5c92033dec77531501fa61fc63107646d9fe6067 GIT binary patch literal 7822 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/player_light_attack_2.png b/assets_v2/characters/player/player_light_attack_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7826b108c9ae8103e0499d02d86d116a7aec6c55 GIT binary patch literal 7553 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 literal 0 HcmV?d00001 diff --git a/assets_v2/characters/player/player_run.png b/assets_v2/characters/player/player_run.png new file mode 100644 index 0000000000000000000000000000000000000000..68c1b9f498cb487d3b1c9eb3cac3f97f6a83f41c GIT binary patch literal 6128 zcmb_==Uax;;1wkU9G^K<)EGRa_3Ro~f z=`HR;jDQe|iasa=gakqftdu~2P!dYYeZTm;|H1ov=fnKw!<;$STxVv^x#pISmxqR` zfhqt18b^;D@&y3-jUf=CjNItU^S2xY06qHAL#`*Uy_n0#e-3Lu-QH!m+N!qepUo;2w{)mJ$^cMjjy8>u>AC3*ieKmV!C)QhJ!unX$XkzuZ2_2ufYz-HN* z`_v}3(-!d))c@aB+vz%u2gDPz4XNT{zQ_;*p*Tijd2IVA%+reh9xWr?A)fr;6)a!1UHCy@ zm$b#Mx)T}v8mhG8c}e8bf5*nY?P+iSM(+-!fQbtzA!^HpxyMx5Cv)s`O}}kELFhkq zpdha482%t*-9;V{QvWwW3HE@GJIsX03BUI4`-Qbt{$W?AqR-89o@;t8%P$*Bra@RR zE@0eUsc?m5E#QCufk0*AlvafL1=0U;ZpTn(x!;{$Xdge(~WyTY4V;BHj$1sP)< z0U%E*P0cf+`&NU<#nU775idw`7b(s~z`NAMYy^}JnJ)eQLznVR3)rk)s@}6kd>)jc z2T#);QN2^f4+^bMuVzD4X&e4-{^adM4aAjhoT1%a0*GU^9}mu6bpZ#lqZ5p^w!sll zmSykV1o5gail3SrKeGhaKbA*5=u_q4HKiqcd3fWWd`w*WzwQ*&OC$dyl^4@hH$c2G zmNNG8Fx4=ZHlL)M2jx_uujN2Uhk|1C?%rF0Zq|$=oHeGg@yDG&)E1z)@BbSWx(5@Ym2+4$@STTQ! z$)z%^r0tr2=>rUTMCo20_a!`~4F9gx#K?r!;CH$drPo(UdD;#!04<(=rO#F4qn}bu z_iHdw78IEnrTrCnR}Bak#)i$|)E{e^B?8*4Qp^rxYVhdxlcl56RbFv#a#8=Dw}h$(YPIh!si3%SLxuaTR0FkMlyR`nMC zL+<_!R8fg`eJ+HvCTRC?3u*r2OJG1|Q8G;^Eudf^@}1Y6=Gd;8*S{wKElwe zmE`GYcE~NLv8#Dv3H96z_eQupDX9j|zuIB@vGQuR*ediE#JC0#OF+1l9qdr$riSkC z08`R$)`i~WWy4eBr4OX~HVDqR4kbq}Jh}rlX#nzk-wZ6UGnoC38D2n@67z+){l$GE zE;$Ejl8mgS8O-XFd@a*_lqrcq`jzSE2&?y!){Qx_JegoV zv<9NqV>=XhEj&c8WozJ$z=F>-#Ie$W@e_Pub%_1F`LUeM>D9jFc(sLVJ8}*MPX8)-O(b;cIm2KO7gI9&od;9mZX;Wh#XCB?CFy z1nlbj)kbsj_k($SdaX8IHU&EE`b+TJ`$YcU8eoz$$YOKn(^vYL-5 zTxq8ZSCw+Y`*9Cma$DRqtOxy=l$2aGgjohR!9Ex5Uq2d)F{^C6lLJVB=SE@4xOdAF z*XvYABm%b+`)#`;U8(FjqS<#+b;n`tgRVtvjU$uF_6Zt+GtYQmpWQMN6UST>1|=rh}sN@u#aGBbGdl2b{jT86}x03%2q*y zV}?c9^H&n3ud}_ZTqM(vh*o+o!Z$WI-yX_>bSoIQs=zAwH(Q1FE%0DI5P4RGIg*w7 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 literal 0 HcmV?d00001 diff --git a/assets_v2/effects/death_dissolve.png b/assets_v2/effects/death_dissolve.png new file mode 100644 index 0000000000000000000000000000000000000000..f955e6366aaa81d9781164f567076916d83c5622 GIT binary patch literal 4545 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 f_W%DuB|4iuBqW2j~}f%Oi276>b1;a literal 0 HcmV?d00001 diff --git a/assets_v2/effects/ghost_fire.png b/assets_v2/effects/ghost_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..68651c512420c9a11b15b3e14e47cbcc4cbd143e GIT binary patch literal 1268 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 literal 0 HcmV?d00001 diff --git a/assets_v2/icons/icon_obsession.png b/assets_v2/icons/icon_obsession.png new file mode 100644 index 0000000000000000000000000000000000000000..77193d71310b46c7b7560f087df74ee950ff4911 GIT binary patch literal 767 zcmVD6NAgID;swAk48t%C<3GjCeE8_OzQpKo z@SsFV`8b|udrEmtBX}6F)a42<$7%+N#Bfbp)=h88zehZ2@WF~C(V^B|6!BhhKT)E4=9C! zMnd!;2xm#-2%KM|SsZx~OnfyXXa5 zdr;W$#N#9|SNY=DZg=SeaBF~8F9G@&);t^M!-CQ%Rf2T%@e=! zL04n>+Xo>iFX*ij!;E@AzUdW4xXK4h8CneyX4Ly@!91^59@iWHEn8h~60EHRm>d!- zf`<;c`+A+%1gJ*0(8>45=2FEPoT0rM|ti?7PTZei`ouRH3vXN@$_IS_G+6U z&YPc_1MVvE&-I9!f*j=~+vPzr{+B{hP0zH`E1k#guXUbUV_zf*_SEE55wrNasivov z=Mt{zY9jtHWw4!MgAt0o2I{M_>R#a3kOQ!tBKK2S?Gsup+qdjNJomzU@;nJqeLJr3 zHKgVlk^?>qUTbSQ!$8A2LNz1wD9=rN)Eqti2M5ak`bK5&7UgTb$KK|P13|DQviJKQ xXC8@;lLKL>rX*Krsd)^;Fbu;m48t%0;SJXUyX~tDbCm!9002ovPDHLkV1mVPVwV5_ literal 0 HcmV?d00001 diff --git a/assets_v2/icons/icon_qi.png b/assets_v2/icons/icon_qi.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4773da818aa3d04c404fb166f0fbca1e25b5cc GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU_9vQ;uumf=k3h1zK0zITGPWU z*^*VHJh-nMn5kuP(NSvwv)@Xk=W{F-w@+Z3@ag#73?;FdC$gn&HfKNn?ina@JL>t~ zxii1^bplO+&E+wk(ep8BmP>m@ z<^B2l`{k?UmNEiWr;1JQc3oe1gkyC^f|1Do>5=`pO^XFP#8Yfm@~1|!alcSdQsC~W zui5ecWA)a1JW4_`l22-8|G2PGtGtop(?o+CA`x*Sd(;+Af9|s7|CWVQxs1K$eD_Uy z8uM|hNZTvN`ymA;g)+V}>9YTPukNd;&6eH0R^r=Q);^_xbSLqT|Fev@MCDtBe%C5x zE!e`wyIab6TG(UVr;+sZjVZ7tS2K{?f z7*c#~{`TAVc00KXAJ61f$$U^WSAO@3n8UUiavj9-#y`KYo%R336?4W}{g=00x3Z-*x)y148C>0y_b7^8;^vM$S#jpC-}?$jvWC28bu-P``|r!2TY2?0 z>kdC-Qc@Q5R50Qy*&4G$y|G{#lh4!nHw-HN-`b_#C~&;P?f2gM>zVvpEZj_f{U|8^ z^yBQ;(BHK`Zk|`0+i1>6rr+Ji`=xBNYq|YLA11}ViM`SO(eI;0BTRj)7_Y|vs^)depHn$#{bK^Va_nFBdG`*AyE0bp&(>ZLwd~Kw ROklJzc)I$ztaD0e0sv&b)yx0@ literal 0 HcmV?d00001 diff --git a/assets_v2/icons/icon_talisman.png b/assets_v2/icons/icon_talisman.png new file mode 100644 index 0000000000000000000000000000000000000000..ddec21763e1e1c53150cdc906ad2faee7b03e221 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=H$7b(Ln`LHy|poy$x)=`;rxr* zr%e@{o=i9)Xd1x4Dxj!zdZV_&0)>_nj(omMEX%iFIy3!lR_W)a*t@qcJGp>>#VlXh zf*X2y{mHM-eq37~v+nuHS2|L2>h{OY`)zpNH>%q}{S0UEp_o$E`t^1HZ0p}m*Dd8J zJ~YQ5JoaF0^}mT=>8ql1>=Fckf?%~^IZJLHry0V}S}YUSxmj?Q)v1D5b7n8F|EBFQ zWA(ZRe}rXPpn7e*^c8@1TottX`t*1Q5Iopv9XLVeOi{6Q4$zYfp00i_>zopr0Ci7q ArvLx| literal 0 HcmV?d00001 diff --git a/assets_v2/icons/icon_yang.png b/assets_v2/icons/icon_yang.png new file mode 100644 index 0000000000000000000000000000000000000000..37f068f913c1c4dee2301c99621fb93fd0012af7 GIT binary patch literal 576 zcmV-G0>Ax-6N<7sE4e0;sBoB}H##%HK?{QdJ4 zHkZrR@r(N>u-7Q16nAtfV89sc8fqP1uV%q>SRvL|zhgL3O93;+dEbtQ2;oMOKQs}h3sF+9Hz8nvI9C9$qv4~HESm$Fm zBwB!Z;%jJ|2qkwuYXopOOjQ>kR1Q*4XzF=e$x*{m6ChL$a!hJ=i8>0*e24TCiVC2Z zYWMTINAkH5m@u6jswfy-KcLyZq)?;+SLkPJifXO3Ens4Lg0`^Q+${Uw6m2}++fX5X znxU)NPR{qfE#3qeXsbA1N$ZxeiqgY5W2#!`xaDT7@D zxXuH8YyOA-CqT+S#d>i(UJ{C^L#P~t%0Z|cgv!Cv1_**62!bF8P=;?YEg}YRzh}Y# O0000#3&>fD*n$XK4uC}k%t7e6fDxPJxbii+L(qerl#&qS z5R7byY&kYSZaiZHAj?5CQ7$G_!ckHqG7+N)p9Pdw$D?2ri~<0dzNrDAY+FJA0000< KMNUMnLSTYy5T@?{ literal 0 HcmV?d00001 diff --git a/assets_v2/review/ART_V2_REVIEW_REPORT.md b/assets_v2/review/ART_V2_REVIEW_REPORT.md new file mode 100644 index 0000000..ff78c49 --- /dev/null +++ b/assets_v2/review/ART_V2_REVIEW_REPORT.md @@ -0,0 +1,39 @@ +# ART V2 — Review Report + +**Result:** WARNING + +## Automated checks +- **[PASS]** 1.size — all 37 sheets match frames*fw x fh +- **[WARN]** 2.frame-diff — low-motion pairs: player_run f3->f4 (114/9216 ~1.2%); melee_ghost_attack f0->f1 (109/9216 ~1.2%); corpse_beast_charge_windup f0->f1 (129/12288 ~1.0%); corpse_beast_charge_windup f1->f2 (170/12288 ~1.4%); corpse_beast_charge_windup f3->f4 (147/12288 ~1.2%); corpse_beast_charge_windup f4->f5 (168/12288 ~1.4%); corpse_beast_wall_impact f2->f3 (163/12288 ~1.3%); corpse_beast_hurt f2->f3 (167/12288 ~1.4%) +- **[PASS]** 3.alpha — transparent background on all sheets +- **[WARN]** 4.silhouette — similar shape pair(s): player~melee_ghost=0.967; player~gate_warden=0.934; melee_ghost~gate_warden=0.921 (humanoids share a body plan; distinguished in-game by colour/weapon/lean) +- **[PASS]** 5.telegraph — all strikes have non-empty active window +- **[PASS]** 6.foot — foot baseline stable on idle/walk/run (<8% frame height) +- **[WARN]** 7.weapon — gate_warden_attack_2 motion range only 9% +- **[PASS]** 8.scale-preview — review/gameplay_scale_preview.png (640x360) +- **[PASS]** 9.gif — anim_player.gif (38 frames) +- **[PASS]** 9.gif — anim_enemies_melee.gif (22 frames) +- **[PASS]** 9.gif — anim_enemies_archer.gif (16 frames) +- **[PASS]** 9.gif — anim_enemies_beast.gif (18 frames) +- **[PASS]** 9.gif — anim_boss.gif (38 frames) + +## Silhouette similarity matrix (lower = more distinct) +- player ↔ melee_ghost: 0.967 ⚠ similar +- player ↔ gate_warden: 0.934 ⚠ similar +- melee_ghost ↔ gate_warden: 0.921 ⚠ similar +- player ↔ ghost_archer: 0.841 ⚠ similar +- melee_ghost ↔ ghost_archer: 0.826 ⚠ similar +- ghost_archer ↔ gate_warden: 0.795 +- corpse_beast ↔ gate_warden: -0.226 +- player ↔ corpse_beast: -0.269 +- melee_ghost ↔ corpse_beast: -0.277 +- ghost_archer ↔ corpse_beast: -0.399 + +## Deliverables +- `review/character_scale_comparison.png` — size ladder +- `review/silhouette_comparison.png` — black silhouette distinction +- `review/gameplay_scale_preview.png` — 640×360 in-engine scale mock +- `review/anim_player.gif`, `anim_enemies_*.gif`, `anim_boss.gif` — motion review +- `assets_v2/characters//frame_map.json` + `metadata.md` — timing +- `assets_v2/godot/_frames.tres` — ready SpriteFrames +- `assets_v2/GODOT_IMPORT_GUIDE.md` — wiring instructions \ No newline at end of file diff --git a/assets_v2/review/anim_boss.gif b/assets_v2/review/anim_boss.gif new file mode 100644 index 0000000000000000000000000000000000000000..4bfff0d106bdfa4c47db4b8b514af0066bf37943 GIT binary patch literal 87613 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 literal 0 HcmV?d00001 diff --git a/assets_v2/review/anim_enemies_beast.gif b/assets_v2/review/anim_enemies_beast.gif new file mode 100644 index 0000000000000000000000000000000000000000..39bd1a1a213e568b997754ea9371eb243e29c8a2 GIT binary patch literal 16131 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