Back to mods
Archering project artwork

Vintage Story Mod DB · Vintage Story mod

Archering

Archering is an overhaul based on my desire for more interesting tactile archery mechanics. Feature overview • Pinpoint accuracy: bows no longer fire arrows in random directions. The arrows fly exactly to where your crosshair points. • Weighty draw: your cr

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Archering release should I use?

Updated 4 months ago
Latest stable file 1.0.7
Game version 1.22.3
Loader Built-in Vintage Story mod system

Archering 1.0.7 targets 1.22.3. It must be installed on the client. Installation on the dedicated server is optional. No extra mods listed for this file.

Where it goes

Is Archering required on the client, server, or both?

It must be installed on the client. Installation on the dedicated server is optional.

Client Required
Dedicated server Optional
Loader for this release Built-in Vintage Story mod system
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

This release supports both sides, but the source does not require it on the server.

What else does Archering 1.0.7 need?

1.0.7. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add Archering without breaking your instance.

Built for Archering 1.0.7. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 1.0.7. It targets 1.22.3; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    It must be installed on the client. Installation on the dedicated server is optional.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 1.0.7. It opens that exact file at the source.

About this project

What does Archering add?

Archering is an overhaul based on my desire for more interesting tactile archery mechanics. 

Feature overview


  • Pinpoint accuracy: bows no longer fire arrows in random directions. The arrows fly exactly to where your crosshair points.
  • Weighty draw: your crosshair will now curve off from your initial target smoothly when drawing the bow, based on its weight.
  • Tracking the target: the aim now sways continuously after fully drawing the bow. Even a stationary target may require manual aim adjustment. 
  • Breath-holding: the player can hold their breath to stabilize the sway and more easily control it. Until your breath bar runs out, requiring lengthy recovery. (Sneak and sprint - default Ctrl and Shift - both hold breath)

 

 

  • Stability: moving, jumping, or sprinting has severe aim penalties; you still fire to where your crosshair points, but good luck controlling where that is. 
  • Unique handling: varying draw times and draw weights make the bows feel and behave differently from eachother. 
  • Trajectory: heavier bows send arrows flying much faster, greatly reducing arrow drop. No more mental calculus mid-hunt to hit a boar from 25 blocks away - if you use the right bow. 
  • Draw flash: a small circular reticle will flash up the instant your bow is drawn and ready to loose the arrow - helpful for the longbow which now takes 3.38x longer to draw.

 

 

  • Stat balance: base damage of bows has been adjusted, and an arrow damage modifier makes the previously static additive arrow damage bonus now scale with the bows. 
  • Denocking: arrows can now be denocked when the bow is fully drawn by left-clicking, allowing a convenient reset if the target disappears behind a tree mid-aim. 
  • Arrow breakage: all arrows have had their break-chances significantly decreased. Crude: 25%, copper: 7.5%, steel: 2%.
  • Square begone: The vanilla square reticle is removed for a cleaner view.

Design and description


In general, bows are intended as the primary weapon of choice, but have only a slight increase in DPS for the end-game tier, but a major increase in drawtime and proportionally higher base damage. Longbows are intended as a sidegrade, with lower DPS but a damage per shot high enough to exactly cross low-integer (2-4) breakpoints of "hits to kill" on tough enemies when using the best metal arrows. Recurve bows meanwhile require steel arrows to take down some mid-tier enemies (deep drifter) in a single shot, but are still significantly faster than the longbow and will output more damage per second. Simple bow serves as the introductory tier main staple. Crude bow just straight up sucks.

 

Arrows are considerably buffed, and now have damage values that scale with the bow instead of additively contributing static damage, which would disproportionately advantage faster bows. Break chances are adjusted to support the bow main weapon playstyle, and to save the player from RSI while smithing arrows. 

 

The modconfig contains a fair amount of values to tweak for the interested experimentalist. All balance is subject to change; any feedback is welcome and encouraged. I have erred on the side of caution adjusting speed and amplitude of sway. It's easier to tell when it's too easy rather than too hard, I think. Spending hours on end adjusting magic numbers and hoping for a good balanced result across the board is exhausting.

 

The game's AABB collision detection may theoretically not play well with the adjusted arrow speeds, and the longbow in particular, causing tunnelling if the arrow/hitbox intersection occurs at low depth angles (corners and edges). It's difficult to tell due to the hitbox sizes compared to animal models. If possible, use ".debug wireframe entity" command to confirm you are striking the hitbox before reporting tunnelling. If you confirm issues with this, you can adjust EnableSpeedIncreaseWithDrawWeight to false in the modconfig to use a gravity-adjustment solution that exactly mimics the speed-based arrow dropoff decrease based on distance - but of course target leading will still need to be manually adjusted (increased) to account for the slower arrow travel speeds. 


 

Config

 

Config description
{
  "BowSettings": { // Change base damage, drawtime, and draw weight values individually per bow
    "bow-crude": {
      "Damage": 2.0,
      "DrawTime": 0.65,
      "DrawWeight": 0.7 },
    "bow-generic": { //Generic bow properties applied to undefined bow item codes. Set to 0 to inherit base bow damage
      "Damage": 0.0,
      "DrawTime": 1.2,
      "DrawWeight": 1.5 },
    "bowsbykanahaku:hornybow-nomad*": { //Example modded asset code to define modded bow properties.
      "Damage": 15.9,
      "DrawTime": 2.2,
      "DrawWeight": 2.5 }
},
  "ArrowBreakChances": { // Arrow break chances individually
    "arrow-crude": 0.25,
    "arrow-flint": 0.2,
    "arrow-obsidian": 0.15,
    "arrow-bone": 0.15,
    "arrow-gold": 0.08,
    "arrow-silver": 0.08,
    "arrow-copper": 0.075,
    "arrow-tinbronze": 0.05,
    "arrow-bismuthbronze": 0.05,
    "arrow-blackbronze": 0.05,
    "arrow-iron": 0.03,
    "arrow-meteoriciron": 0.03,
    "arrow-steel": 0.02
},
  "DamageMult": 1.0, //Multiplies base damage of all bows above
  "ChargeAmplitude": 1.0, //The initial draw curve displacement amplitude
  "SwayAmplitude": 1.0, //The fully drawn bow sway displacement amplitude
  "SwaySpeed": 1.0, //Speed of the sway
  "BreathDuration": 2.0, //How long breath can be held, in seconds
  "BreathRecoveryDuration": 5.0, //How long it takes to recover when held breath is exhausted, in seconds
  "DrawWeightDropPower": 0.65, //How draw weight influences arrow dropoff (speed) expressed as a power factor (0.5 is sq. root, 1.0 is linear)
  "DrawWeightChargePower": 0.85, //How draw weight influences charge amplitude expressed as a power factor (0.5 is sq. root, 1.0 is linear)
  "EnableSwaying": true, //Should the aim sway after the bow is fully drawn
  "EnableBowDamageTweaks": true, //Should base damage numbers in BowSettings be applied
  "EnableDrawTimeTweaks": true, //Should draw times in BowSettings be applied
  "EnableDrawTimeArrowDamageTweaks": true, //Should arrow damage scale with draw time
  "EnableHoldBreath": true, //Can breath be held
  "EnableDenockingWithLeftClick": true, //Can arrows be denocked
  "EnableArcheringChargedReticle": true, //Should the reticle flash when bow is fully drawn
  "EnableSpeedIncreasesWithDrawWeight": true, //Speed increases with draw weight. Set to false to retain speed but artificially reduce arrow gravity to mitigate projectile drop equivalent to as if it did have higher speed
  "EnableArrowBreakTweaks": true, //Should arrow break changes be applied
  "DisableVanillaReticle": true, //Should the vanilla reticle be disabled
}

 

 

 

Kisses and thanks to my dear kitty for helping and putting up with me

Project description from Vintage Story Mod DB.

Pick your setup

Archering releases for each Vintage Story version.

Choose the version and loader you play, then open the matching release.

2 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Archering versions and loaders

7 of 7 releases match

Looking for an older file? The official Vintage Story Mod DB project page is in Resources.