Mods / RFMechanics

Tags:
mechanics Race
Author:
Question
Side:
Both
Created:
Sep 7th at 1:24 AM
Last modified:
2 days ago
Downloads:
59
Recommended download (for Vintage Story 1.22.6 - 1.22.7):
rfmechanics_1.2.0.zip  1-click install

Race-specific abilities and survival mechanics for Vintage Story 1.22.6.

RF Mechanics is my gameplay companion for Race Framework: it gives the races different ways to explore, gather, travel and survive. Dwarves listen for ore, Elves climb trees and watch the woods, Orcs hunt by scent and burn their reserves, Goblins clamber, eat rot and spit-repair, and Half-Giants wade where others swim. 1.2.0 adds the Half-Giant's movement, water and camera handling and safely migrates retired Dwarf subrace classes, keeping every 1.1.2 mechanic.

I play and test this on my own worlds, but that is not comprehensive multiplayer, compatibility or existing-save testing. Please back up first and expect balance changes.

Requirements and installation

Vintage Story 1.22.6. Install Race Framework 1.1.0 with its required Racial Equality and Player Model Library, then RF Mechanics 1.2.0. RF Mechanics decides who gets each ability from the Race Framework race traits, so without Race Framework nobody has a race to act on. Diet Setup is optional and supplies race food rules; no RF Mechanics ability needs it.

For an existing world, these three releases are meant to be upgraded together: Race Framework 1.1.0, RF Mechanics 1.2.0 and Diet Setup 1.1.0.

  1. Close the game and server gracefully.
  2. Back up the complete world and the ModConfig directory.
  3. Replace the three mods together and keep exactly one copy of each.
  4. Install matching versions on the server and every client.
  5. Reopen a copy of the world first and check character loading, food, controls and saved settings.

Important upgrade warning: Race Framework 1.1.0 removes the old Mountain Dwarf and Hill Dwarf classes. Without RF Mechanics 1.2.0, those characters break when they load because Player Model Library raises an error for the missing class. RF Mechanics 1.2.0 makes them Commoners at login, keeping their racial model, inventory and gear.

How the mechanics work

Race Ability defaults to R. Race Stance defaults to Ctrl+H. Both are normal saved game bindings: if you already changed them, use the binding shown in the Controls menu. The server validates race, range, state and permissions for mechanics that change the world or player stats. Feedback is brief and localized rather than a permanent message queue.

When racial feedback is enabled, it can identify Dwarf mining depth, Elf woodland and Watchfulness state, Goblin Clamber, rot and spit state, and Orc scent, blood, Burn and Frenzy transitions. Cooldowns keep passive messages from becoming a chat replacement.

Settings are read from ModConfig/rfmechanics.json. The movement settings are read separately by the server and each client and are not synchronized; keep step-height and Half-Giant water settings identical on both sides. Defaults match. The client also keeps Half-Giant third-person camera memory in ModConfig/rfmechanics-halfgiant-camera.json.

Race abilities

Dwarf — deep mining, Ore-Song, costly climbing

Mining

Dwarves receive a server-side mining-speed curve for stone and ore based on depth and altitude. Ore drops receive a separate depth-based multiplier. The default ore curve begins at a depth fraction of 0.4 and reaches a configurable 0.75 bonus ceiling. Explosion drops are not treated as player mining. Mining through a modded virtual override that does not call the normal base path can bypass the speed patch.

Crossing into a deeper mining band produces a sparse Dwarf feedback line. It records the deepest band reached during the current session/life rather than oscillating when you move up and down.

Ore-Song

Look at a stone or ore block within two blocks, empty your right hand, sit down and press Race Ability. You must remain still, avoid jumping and mouse use, and not be swimming or mounted. After about two seconds of settling, Ore-Song listens for ten seconds and then has a three-second recovery. It can play up to three distinct mineral voices with coarse bearing, elevation, distance and clarity cues. It may honestly report an incomplete loaded-terrain search or no result.

The server searches loaded terrain only, within the configured listening radius (96 blocks by default). It does not load or generate chunks. The network receives reduced impressions rather than exact ore coordinates or block lists. /rforesong is a control-server diagnostic for listener, cache and work counters, not a shortcut to exact locations.

Climbing

Dwarf ladder climbing is slower by default, with a 20% ascent-speed reduction. Ascending also drains satiety at a configurable rate (2.4 satiety points per second by default); the drain is batched rather than written every tick. Descending does not receive that ascent surcharge.

Elf — tree climbing, leaf passage, zoom, Watchfulness

Woodland movement

Elves climb living tree trunks as if they were ladders. Jump ascends, sneak descends and neutral input holds position. Convex corner traversal is enabled by default, so an Elf can wrap around the outside of a trunk instead of immediately falling. Cut or placed log blocks are not treated as living trunks.

Branchy leaves retain foot-level support while standing, but collision above the feet is removed for Elves. Sneaking removes the remaining branchy-leaf collision so an Elf can pass through the foliage. Near a living, standing tree trunk, an Elf can also receive a server-authoritative walkspeed bonus, separate from the racial trait bonus.

Vision and Watchfulness

Hold the resolved Race Ability key for about 120 milliseconds to engage racial zoom. The field of view eases toward half its normal value and releases when the key is released, a GUI opens, the player dies or eligibility is lost.

Ctrl+H toggles Watchfulness. It is a server-validated stance, not a saved ability state. While Watchfulness is active, racial zoom is held, and a living target is centered, hold attention for about two seconds to produce a short animated silhouette. The target must be in range (40 blocks by default), visible through conservative terrain checks and within the focus area. A discovery lasts about 1.05 seconds, fades when attention is lost, and is capped at two simultaneous glimpses.

Without focused observation, recent visible movement can produce short-lived pale wisps. Walls, glass, slabs, chisel blocks, unknown materials, missing chunks and blocked viewing volumes stop the cue or silhouette. Leaves, plants, fluids and fire do not count as solid blockers. Watchfulness is a visual awareness aid, not wall detection.

Other traits

Elves receive a 15% hunger-drain reduction by default and 60% less fall damage. The hunger reduction multiplies Race Framework's Elf hunger rate: together about 0.45× a Human's, so a full Elf stomach lasts about 1.57× a Human's at the same activity. These are automatic and do not require a stance. Elf step height is 2.0 blocks; vanilla clearance rules still reject low ceilings and openings that are too small.

Orc — Thew, Burn, Frenzy, scent hunting, thick skin

Thew, bands and hunger

Thew is a hidden server-side reserve. A new Orc starts around 0.4 Thew. It grows only when satiety is above the gain gate and the measured protein or dairy level is high enough; the last eaten Fruit, Vegetable or Grain category also blocks gain. Thew drifts or decays at lower satiety and falls fastest while starving. Death pulls an unusually high value down to the 0.4 cap but does not raise a lower value.

Thew moves through Lean, Standard and Bulky bands with hysteresis. By default the upward boundaries are 0.35 and 0.70, with downward boundaries at 0.30 and 0.64. The bands alter hunger rate, movement, animal-seeking range and maximum health. Standard is hungrier and slightly slower but gains health; Bulky is hungrier and slower, has more health and melee damage, reduced ranged accuracy, and reduced armor movement penalty. Orc body size follows Thew continuously rather than snapping at a band boundary.

Burn-to-Survive

When an injured Orc still has more than the small Thew floor, Burn automatically converts reserve debt into healing. The curve is nearly imperceptible near full health and rises as health falls, approaching 1.5 health per second at the bottom of the curve. Healing adds Burn debt instead of spending Thew immediately. Eating repays debt, and the Thew system also drains reserve over time; once the reserve is exhausted, ordinary starvation and damage rules apply.

Frenzy

Frenzy is passive rather than a button. Below 50% satiety, the movement bonus rises smoothly toward a 25% maximum. Qualified ground travel while very hungry (below 25% satiety) adds Frenzy debt; idle hunger alone does not create that extra movement debt. Eating repays debt. Frenzy and blood pursuit share a combined 35% movement cap by default. There is no separate combat-health trigger or default jump bonus.

Scent and pursuit

Ctrl+H toggles the Orc hunting stance. The first whiff is immediate; further scent windows arrive automatically. Standing or sitting builds focus, slow movement keeps partial focus, and sprinting, swimming, climbing, flying or jumping interrupts it. Ordinary scent reaches about 20 blocks passively and can extend toward 64 blocks with focus. It shows brief drifting wisps for players and classified fauna: herbivore, predator, omnivore, unknown or blood.

Blood scent is tied to actual active bleeding, not merely a damaged health bar. RF Mechanics can read BloodTrail 1.2.5 and The Hunter 0.2.58 when those providers are installed and their bleeding state is available. Without a supported provider, blood pursuit remains inactive. The server finds nearby bleeding players or smellable fauna, and sprinting toward a valid target builds pursuit speed over about six seconds, with a short grace period and decay when direction or eligibility is lost. A target swimming can break the blood trail under the default setting.

Natural protection

Every Orc has passive Tier 2 physical protection by default, regardless of armor, shirt, coat or shield equipment. It applies only to immediate blunt, piercing or slashing attacks from an entity/player-style source. Normal vanilla health delegates, including armor and shield handling, run first; Orc skin then applies the Tier 2 protection before health is subtracted. This preserves ordinary armor and shield ordering rather than replacing it. /rfskin reports the active state and last physical hit.

Goblin — Clamber, tunnelling, rot, spit repairs, aura

Climbing and tunneling

Goblins climb living tree trunks without Clamber. Rock, masonry, ore and the configured dry-earth families require Clamber when its stance gate is enabled. Ctrl+H toggles the sticky server-owned Clamber stance; it persists across rejoin and respawn until toggled off. Vanilla ladders and tree trunks are never stance-gated. Jump ascends, sneak descends and neutral input holds position, with convex corner traversal enabled by default.

Default dry-earth surfaces include soil, packed dirt, dry packed dirt, bony soil, cob and forest floor. Raw rock, worked stone, bricks and ore families are configurable. Loose sand, gravel, polished stone, quartz, tile, glass and non-full-cube shapes are excluded by default. Under a diggable-earth ceiling, a Goblin can receive a small server-side tunnel-speed bonus with hysteresis so tunnel mouths do not flicker.

Goblins mine stone and ore at 40% of the ordinary mining-speed result by default, and take 50% less fall damage. The universal step baseline is one block, not a Goblin-only toggle.

Rot, spit and the aura

Only the literal game:rot item becomes edible, and only for Goblins. A completed bite grants 3 satiety and no health. Each completed rot bite grants two spit charges up to six. Look at a reparable shape-attribute block with claim/build access and press Race Ability to spend one charge for a 0.125 repair application. The server validates the race, target, permission, charge and repair state. Fully repaired or non-reparable blocks are rejected. The hotkey gives feedback for preparation, repair, last charge, empty charges and invalid targets.

Each completed rot bite also feeds the Goblin's rot aura. By default it reaches from a 1-block minimum toward a 15-block maximum, narrows over two in-game days and clears after three. Within the live radius it accelerates nearby food's ordinary perish transition to about three times its normal rate, including placed containers and, when enabled, nearby players' hotbars and worn backpack contents. The aura holds items around 85% of their normal transition before a slow creep can eventually continue toward spoilage; it is not an instant destroy effect. Sealing modifiers on placed containers are respected.

The same aura can stall crop growth while the crop is within the configured spatial strength. Crops are not destroyed and do not lose nutrients merely because growth is prevented. Miasma, rot flies and spit-charge flies are presentation for the server-owned state, not proof that every nearby item has spoiled.

Half-Giant — 2.1-block steps, deep wading, camera memory

Half-Giant support requires Race Framework 1.1.0. The automatic step height is 2.1 blocks. Vanilla clearance checks still apply.

Half-Giants wade until water is about 0.48 blocks below the live eye line, which allows wading in water around three blocks deep. Wading speed is multiplied by 1.2 on top of the race movement trait, about 1.5 times a Human's default wading pace. Once swimming begins, Space provides a deliberately heavy upward stroke, idle movement sinks, and swimming uses the live eye line for breath and water-state checks.

On the first third-person view, the client moves the camera two zoom steps farther out. Later changes to the player's own third-person distance are remembered between sessions in rfmechanics-halfgiant-camera.json. First-person view is not changed. Camera memory is client-local and a failed file save keeps the current-session distance in memory.

Configuration and compatibility

RF Mechanics loads and may update ModConfig/rfmechanics.json. The most relevant switches cover racial feedback, step height, climbing, Watchfulness, Orc hunting/Thew/Bands/Burn/Frenzy/natural protection, Goblin Clamber/rock/earth/tunnel/rot/spit/flies, and Half-Giant water/camera behavior. The generated file contains the complete tuning surface and should be backed up with the world.

Movement and water settings are not synchronized between server and clients. In particular, keep EnableStepHeight, StepHeightValue, ElfStepHeightOverride, HalfGiantStepHeightOverride and the Half-Giant water settings consistent. Client-only camera memory is separate.

RF Mechanics is designed to coexist with ordinary Vintage Story physics and the supported companion mods. Custom blocks can be added through the configured Goblin climbing lists, but a custom mining override, unusual entity behavior, missing chunks or another mod that replaces the same engine path can change the result. Race traits are read from the server's Character System; a classless or unrecognized player is treated as having no RF race.

Diagnostics and commands

These are shipped diagnostics, previews or administrative tools, not extra player abilities:

  • /rforesong reports Ore-Song listener, cache and work counters on the control server.
  • /rfhunttest reports Orc stance, focus, provider, blood-source and pursuit state without creating bleeding.
  • /rfwatchtest reports Watchfulness state; /rfwatchpreview and /rfwatchglimpse arm bounded client previews. Preview text explicitly warns that it is not normal detection validation.
  • /rfrotdiag, /rfflies, /rfdiag and /rfstatsfix report or repair diagnostic state.
  • /rfthew dump reports Orc Thew, satiety zones, debt and band data. /rfthew set and /rfthew setband are root-only testing commands.
  • /rfskin reports Orc natural protection and the last physical-hit calculation.
  • /dwarfdepth and /rfscar are developer/admin diagnostics.
  • /rfgoblinspit repair is the server command behind the Goblin repair request; normal play should use Race Ability.

Do not use diagnostic output as proof of multiplayer balance or save compatibility.

Known limitations and existing saves

I have not exhaustively tested this release with multiplayer populations, large mod lists, every bleeding provider, custom blocks, armor combinations, or every existing-save transition. Half-Giant multiplayer and armor interaction checks are particularly limited. Watchfulness is intentionally conservative and can miss targets; Ore-Song only searches loaded terrain; Orc blood pursuit needs a supported active bleeding provider.

Adding this mod to an existing save is at your own risk. Make a full backup and test a separate copy first. I am not responsible for problems, lost progress or save damage resulting from installation, upgrade, removal or configuration changes. RF Mechanics can persist character state, camera settings, spit/aura state and other gameplay changes; it can alter food freshness, crop growth timing and repaired blocks. Removing the mod does not necessarily undo those changes, and custom blocks already present in a save also depend on this mod's definitions.

After upgrading, open a copy of the world, check that characters load with the right race and class, then save and reopen it once before trusting the original.

Ideas for future updates

These are directions, not features in this download or promises for the next update:

  • Goblin reclamation of worn tools, damaged objects and picked-over ruins.
  • Dwarven hearths, feasts and more settled-home mechanics.
  • Elven cultivation and plant stewardship.
  • Giants: I mostly just want to see what happens architecturally, with ideas for herding and punching out rocks barehanded (with caveats). The Half-Giant currently has movement, water and camera support only.
  • More distinct life around wetlands, fishing and underwater exploration.
  • Dragon-kin windworks and other terrain-driven engineering.

Further work on existing mechanics and balance will happen alongside any new features.

Development and AI use

I've been a developer for about five years, and for the last two years I've worked closely with advanced AI models. C# is a language I have much less experience with, so I use LLM coding tools to supplement my knowledge of the language and Vintage Story's modding API.

That includes generating and explaining code, researching implementation options, investigating errors and helping with documentation. AI has a substantial role in this project's development. I choose what goes into the mod, playtest as development progresses, and handle release decisions and maintenance. That does not mean every situation has been tested. The source is available for inspection, contributions and independent builds.

Licence and credits

Original work is MIT-licensed. Forks, modifications and contributions are welcome; retain the included copyright and licence notices. Vintage Story-derived textures, sounds and other material remain under Anego Studios' applicable terms. See the included third-party notices for details.

Thanks to Fuami's Spyglass for the FOV implementation reference, 123Gurkensalat's Scaffolding for climbing and collision research, Algorytmiczny's More Bugs for rot-fly inspiration, and Xandu and El_Neuman's xSkills work for mechanics references. Thanks also to Anego Studios for Vintage Story and its modding tools. Detailed attribution is included with the mod.

Race Framework · Diet Setup · Racial Equality · Player Model Library · Source · Report a problem

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.2.0 rfmechanics
1.22.6 - 1.22.7
14 2 days ago rfmechanics_1.2.0.zip 1-click install

- Added Half-Giant support (requires Race Framework 1.1.0): step height 2.1 blocks.
- Half-Giants wade and breathe in water up to about 3 blocks deep, and wade about 1.5× as fast as a human.
- Half-Giants swim up heavily with Space and sink when idle.
- The Half-Giant third-person camera starts two zoom steps further out the first time. After that, your own camera distance is remembered between sessions.
- Existing Mountain and Hill Dwarf characters become Commoners at login, keeping their race, inventory and gear.
- Fixed racial feedback errors while a player is still loading in.
- A failed camera-distance save no longer interrupts play.
- Kept all 1.1.2 mechanics.

Known limitations: the server and its clients must use the same RF Mechanics movement settings (step height and Half-Giant water); the defaults already match. Half-Giant multiplayer testing remains limited.

For Vintage Story 1.22.6.

1.1.2 rfmechanics 17 Sep 24th at 2:10 AM rfmechanics_1.1.2.zip 1-click install

-Cumulative release wups

1.1.1 rfmechanics 6 Sep 24th at 1:19 AM rfmechanics_1.1.1.zip 1-click install
  • Fixed Elf and Goblin climbing for redwood trunk sections and narrow living trunks.
  • Centralized exact-prefix trunk and branch-foliage classification.
  • Preserved placed-log exclusions and separate Goblin rock/earth permissions.
  • Gameplay acceptance pending redwood boundary and corner testing.
1.1.0 rfmechanics 8 Sep 17th at 12:39 AM rfmechanics_1.1.0.zip 1-click install
  • All races can step up one block; Elves can step up two.

  • Improved Elf tree climbing and Goblin wall climbing around corners; added Goblin Clamber stance and dry-earth climbing.

  • Added Elf Watchfulness with subtle movement cues and brief silhouettes during focused observation.

  • Improved Orc scent focus and tracking, including blood pursuit with supported bleeding mods.

  • Orcs gain passive Tier 2 thick skin regardless of equipment; refined Frenzy and Thew expenditure feedback.

  • Added subtle racial feedback messages.

  • Race Ability now defaults to R; existing key bindings are preserved.

  • For Vintage Story 1.22.6. Armor interaction and broader multiplayer checks remain incomplete.

1.0.0 rfmechanics 14 Sep 7th at 2:03 AM rfmechanics_1.0.0.zip 1-click install

First public release of RF Mechanics, version 1.0.0, for Vintage Story 1.22.6.

Source code for this version: https://github.com/Question-AK/rfmechanics/tree/466c19e18bbdf5d97e119b671f598c6ff3dbcab0

Disclaimer

By downloading a mod you consent to our Terms of Use.

We tell you this specifically because we want to make sure you are aware that we cannot validate every mod, and you are responsible for any damages you might incur by installing or loading mods.

This prompt will not be shown to you again (for the current browser session) if you proceed.


0 Comments (oldest first | newest first) (threaded | flat)