mirror of
https://github.com/Such-Software/wownerogue.git
synced 2026-10-23 00:58:33 +02:00
feat(packs): Fancy dies as a mode → topdown packs; Roguelike Dungeon tile pack (B)
Modes are TECHNIQUES; 'Fancy' (tiles+FX) was really a topdown PACK, so: - Remove 'fancy' from RENDER_MODES (saved 'fancy' falls back to tiles; its dead Pixi branch is short-circuited by canUseMode). Modes = Tiled/ASCII/Iso/3D. - Modes now carry a ; a premium mode unlocks once the user has ANY unlocked pack for that projection (not a single hardcoded pack) — needed now that iso is multi-pack. - New 'roguelike-dungeon' topdown pack: same sheet, a DUNGEON palette (stone floors + barrels/crates vs the wood interior) — a distinct 2D tileset with zero new assets. Registered + catalog (migration 027, topdown tier 1 / 1 credit). The tiled renderer's lighting/shadows/vignette are the built-in FX. - Also: iso facing fix (Male 0=NW..6=NE) reflected in tests. So the Tiled pack picker now offers Roguelike Interior <-> Dungeon, and Iso offers Dungeon <-> Medieval — packs as products, proven in the best-looking mode too. Suite 58/419 green.
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
-- 027: add the Roguelike Dungeon topdown tile pack as a catalog product.
|
||||
-- Same sheet, a dungeon palette (a distinct 2D tileset). Cheap topdown-variety tier: 1 credit /
|
||||
-- supporter (tier 1). Idempotent.
|
||||
INSERT INTO cosmetic_catalog (pack_id, label, kind, projection, tier, unlock_min_credits, grant_only, active, sort_order, metadata)
|
||||
VALUES ('roguelike-dungeon', 'Roguelike Dungeon (Tiles)', 'render-pack', 'topdown', 1, 1, false, true, 15, '{}'::jsonb)
|
||||
ON CONFLICT (pack_id) DO UPDATE
|
||||
SET label = EXCLUDED.label, projection = EXCLUDED.projection, tier = EXCLUDED.tier,
|
||||
unlock_min_credits = EXCLUDED.unlock_min_credits, active = true;
|
||||
@@ -21,6 +21,10 @@ const DEFAULT_CATALOG = Object.freeze({
|
||||
id: 'generated-skins', label: 'Premium Generated Skins', kind: 'render-pack',
|
||||
projection: 'topdown', tier: 1, unlockMinCredits: 1, grantOnly: false, premium: true
|
||||
}),
|
||||
'roguelike-dungeon': Object.freeze({
|
||||
id: 'roguelike-dungeon', label: 'Roguelike Dungeon (Tiles)', kind: 'render-pack',
|
||||
projection: 'topdown', tier: 1, unlockMinCredits: 1, grantOnly: false, premium: true
|
||||
}),
|
||||
'iso-dungeon': Object.freeze({
|
||||
id: 'iso-dungeon', label: 'Kenney Isometric Dungeon', kind: 'render-pack',
|
||||
projection: 'iso', tier: 2, unlockMinCredits: 10, grantOnly: false, premium: true
|
||||
|
||||
Reference in New Issue
Block a user