Runic Races 1.4.0 (Forge 1.20.1)
Curse Maven Snippet
What's new
[1.4.0] — 2026-07-02 — Immersion & Visual Identity Overhaul
A six-phase presentation overhaul: every race now looks, sounds, and moves like itself — signature actives, minute-to-minute ambience, visible weaknesses, articulated wings, and a rebuilt HUD/screen-cue layer.
Added — signature presentation (every active)
- All 37 actives now route through
SignatureRegistry(26 new keys), each with a shaped, family-grammar recipe: Human snap / Elven rise-implode / Dwarven ground-burst / Bestial lunge / Faeborne swirl-pop / Undead sink-drain / Draconic exhale. Power JSONs swap their banner/sound/particle actions for a singlesignature_presentation. - Shaped VFX:
SignatureEntry.VfxSpecgainsRING,RING_IN,RING_ORBIT,HELIX,DOME,LINE(caster→target streams), andSPOKES; showcase pieces include Arachnid's web spokes, Deep One's seismic pulse ring, Kitsune's orbiting foxfire, Reaper's inward soul stream, Changeling's freeze-frame mirror shift, and Sprite's blink-out implode. - 7 new identity particles (
web_strand,leaf_petal,feather_down,shadow_wisp,foxfire,arcane_glint,bone_chip) — physical matter is world-lit, magic stays emissive — plus 10 more curated sound events with subtitles, 4 newRaceColors, and aWIND_STREAKedge cue for dashes and leaps. - Dormant screen cues finally wired:
MOON_GLOW(Moon Elf veil),HEARTBEAT_FLASH(Blood Elf frenzy),FREEZE_FRAME(Changeling mirror).
Added — ambience & weakness feedback
- Per-race ambience registry:
ClientRacialAmbienceHandlerbecomes oneAmbienceRoutineper race (shared rate limiter, density-scaled). 24 races gain minute-to-minute identity — Magi arcane glints off enchanted gear, Kitsune foxfire tail on night sprints, Wraith sneak shadow trail, Sea Serpen bubble wake, Terra Drake dust footfalls, Feline campfire purr, and more. - Glide wingtip trails (config
wings.glideTrails, per-race particle) and landing dust rings scaled to wing size. - Every fragile race tells you when it hurts: victim-side fragility procs with a shared 3s debounce — High Elf rings like struck crystal, Arachnid chitin-crack, Skeleton bone chips, Avian feather-burst on bad landings, Sprite sparkle-scatter, Demon gold flash + bell toll on holy damage. Blood Elf lifesteal is now a visible crimson siphon line.
- New state flags + runes + banners:
RAVENOUS(Canine, low food) andCOLD_IRON_GRIP(Faerie holding iron);SUBMERGED_WEAKextended to Iron One / Sky One; Nymph gets theDRY_SLUGGISHrune; Volt Drake short-circuits on submerge; Dark Elf / Reaper sizzle when the sun first finds them.
Added — articulated wings
WingModelrebuilt as one 64×64 bake with three silhouettes toggled per race:MEMBRANE(wyvern + drakes),FEATHERED(Avian),GOSSAMER(Sprite/Faerie).- Cascaded tip lag: wingtips chase the arm with per-race lag and overshoot, so flap
snaps whip through the downbeat and settle; gossamer hindwings run a lazier chase, and
fast flutter renders a faint ghost pass as motion blur (
reducedMotion-gated). generate_wings.pypaints all wing islands from the hand-made base art. Resource-pack note: wing texture layout changed 64×32 → 64×64.
Changed — HUD & screen cues
- Screen cues upgrade from flat rects to tinted textures: real radial vignettes, frost
dendrites, and a three-strip wobbling heat shimmer;
effects.simpleCuesrestores the flat-rect path. - FOV kicks (
effects.fovEffects): breath heat and wind rush push the FOV out, impacts and the freeze-frame punch in — eased, intensity-scaled, clamped to ±6%. - State rune HUD: letter-boxes replaced by a 14-glyph thematic rune atlas with family-accent frames and fade-in labels when a rune first lights.
- Ability HUD icons upscaled to shaded 32×32 (Scale2x + gradient/rim pass); frost breath gains rime motes, water breath churns with bubbles.
- Badge pilot: Fire Drake's breath carries an
origins:badgekeybind hint to verify in-game before batching badges to all actives.
Added — tests & docs
AmbienceCoverageTest(every race has a routine or is explicitly quiet);StaleAssetTestgains overlay-texture and rune↔RaceStateFlagsparity checks.CLAUDE.mddocuments the signature-shape system, 13 particles, 23 sounds, wing silhouettes, new config keys, the overlay/rune generators, and the badge pilot.
[1.3.0] — 2026-07-02 — VFX & Race Presentation Pass
Foundation release for the presentation overhaul: custom particle/sound registries, per-race wing textures, responsiveness fixes, and a test-coverage push.
Added
ModParticlesregistry with 6 custom identity particles (rune_glyph,soul_wisp,fae_sparkle,ember_scale,frost_mote,venom_drip) behindRunicParticlebehaviors.ModSoundsregistry with 13 sound events curating vanilla audio via"type": "event"insounds.json— bespoke audio can drop in without code changes.- Per-race wing textures replacing shared family sheets.
- Ability deny/ready cues: the HUD pulses red when an active is used on cooldown
(
AbilityDenyHandler), and plays a ready ding when it comes back. - Submerged/dry state flags for water-bound races.
- Six new test classes:
AbilityIconCoverageTest,ParticleAssetTest,RaceScaleRangeTest,SignatureCoverageTest,StaleAssetTest,WingCoverageTest.
Changed
- New config knobs:
ambient.particleDensityandeffects.screenCueIntensity. - Pehkui height sync now reacts to config reloads.
- Breath cone polish pass.
- Wings respond instantly to race switches —
WingRenderLayerresolves the wing type per-frame (RaceHelpermemoizes per tick) instead of caching for up to 5 seconds. - Per-family ability-ready ding pitch (
FamilyAccent.readyPitch()); per-element breath and per-tier flap subtitles (previously one shared string each). generate_icons.pysource-art path is no longer hardcoded to a specific home directory.
This mod has no additional files

