Mount & Blade II: Bannerlord

Mount & Blade II: Bannerlord

120 ratings
Army Arrow Counter
   
Award
Favorite
Favorited
Unfavorite
Type: UI, Utility
Game Mode: Singleplayer
Compatible Version: v1.1.4
File Size
Posted
Updated
24.460 KB
Oct 15, 2022 @ 1:17pm
May 27, 2023 @ 3:12am
3 Change Notes ( view )

Subscribe to download
Army Arrow Counter

Description
TL;DR: This mod let's you see how much ammo (including arrows, bolts, javelins, etc) your army has. It adds a UI counter in the bottom left showing how many arrows your army has remaining out of the total (excluding player ammo). With this added quality of life, you can better assess when your army is out of arrows and needs a change in tactics!


This is a small, quality of life, open-source[github.com] mod that gives you insight into the amount of ammunition remaining in your army. If you were the commander in a real medieval battle, you'd be able to ask your sergeants about the ammo status, but alas, Bannerlord has no such functionality. This is the next best thing to try and provide the player with crucial information they need to make the best tactical decisions!

Quick Info on Functionality:
Counts all ranged ammunition i.e. arrows, bolts, javelins, throwing axes, etc.
Upon entering a battle, counts the arrows of all allied troops. Subtracts arrows whenever your allies fire them, and subtracts/adds in bulk as soldiers die / are deployed in phases.
Soldiers being added or dying will effect the max arrows as well i.e. the displayed X / Y stat is for the alive and fighting troops in your army.

Customization:
Customization is unfortunately unsupported on the Steam Workshop version of the mod at the moment. If you want to customize it, use the Nexus version (below) and follow the instructions (also below). I'll work on getting an update out ASAP so the Steam version also can be customizable!
The way that the mod tells you how many arrows are remaining is customizable (see images on this page for examples).
Inside ArmyArrowCounter/config/config.xml, you can change the text between <CounterType></CounterType> to any of the following options (also found inside the config file as a comment):
EXACT_FRACTION: e.g. 1258 / 1721
EXACT_PERCENT: e.g. 73%
NEAREST_10_PERCENT: e.g. ~70%
NEAREST_20_PERCENT: e.g. ~80%
NEAREST_25_PERCENT: e.g. ~75%
NEAREST_WRITTEN: e.g. "Your army has about three quarters ammunition remaining."
EXACT_FRACTION is the default behavior.
You can also control the prefix before the counter i.e. the "Army remaining arrows: " part. In the config.xml
file, between the <Prefix></Prefix> tags, you can change the text to be what you want, including leaving it blank.

Todo List:
Count only soldiers under your command (i.e. exclude allied soldiers under AI command).
Make the UI element toggleable.
Provide in-game Mod Options menu. Would likely require the use of a modding framework, I'm not currently aware of any good options. This will thus be on hold until one comes about.

Q&A:
Q: The UI overlaps with another mod's UI!
A: You can manually reposition the UI if need be. I won't go in-depth here, but you can edit the file under ArmyArrowCounter/GUI/Prefabs/ArmyArrowCounter.xml to try and reposition this mod's UI elements.

Q: I'd like to do make a video/article/post with this mod!
A: Feel free! And please send me a link to it, I'd really love to see it myself as well! :)

Installation:
On Steam Workshop, just click the subscribe button and enable the mod!
If you prefer, it can also be installed using Vortex (mod manager made by Nexus Mods).

Game Version Compatibility:
Current version 1.7.0 is compatible with the game version 1.1.4. See previous mod versions for compatibility with earlier game versions on the Nexus Mods link below.
Please note, that while I historically made some exceptions, I generally do not commit to supporting the beta branch of the game. If the mod is broken on a beta version, your best bet is to wait for it to become the main version and then notifying me if it's still broken. Thanks!
Reporting incompatibility issues is highly appreciated! :)

Mod Compatibility:
There are currently no known compatibility issues.

Known Issues:
While the counter continues after player death in version 1.2.5+, it eventually stops counting. This occurs because (for whatever reason) ally soldiers at some point cease to be considered allies of the player. The fix here is very low-priority, as the counter is not valuable after death anyway, but it may be something I fix in the future.

Source Code:
This mod is open source! The GitHub repository can be found here[github.com].

Nexus Mods:
Link (including versions compatible with past game versions): https://www.nexusmods.com/mountandblade2bannerlord/mods/448
17 Comments
Harijan Apr 9 @ 4:43pm 
still not working
Redbeard91 Jan 26 @ 6:26am 
does not work. crashes at the start of every battle.
wf1675 Feb 17, 2024 @ 12:35am 
depression not working
Hot Ross Buns Jan 7, 2024 @ 10:47am 
Currently Busted.
BloodSkals Dec 28, 2023 @ 6:06am 
Game crashes on V1.2.7

System.MissingMethodException

The method GetMaxAmmo with its parameters is apparently missing.

The issue seems to be in the ArrowCounter class of the ArmyArrowCounter module. The method CalculateMaxAmmo is attempting to use the missing method, leading to the exception
Terpinator  [author] May 27, 2023 @ 3:29am 
Good news all, I've uploaded a new mod version 1.7.0 which is compatible with the latest game version 1.1.4. Please let me know if you run into any issues! Thanks for your patience while I was out.
Dr Chaz Apr 14, 2023 @ 5:02pm 
Open your eyes people. The author said he's gone until May.
Quaade Mar 17, 2023 @ 6:47am 
would love an update. It's so useful tactical wise
wf1675 Mar 16, 2023 @ 11:50pm 
getting crashes when starting a battle with the new update oh and fians that have 2 stacks of arrows have 60/30 arrows if that makes scene
Terpinator  [author] Mar 11, 2023 @ 6:42pm 
@Kharn thanks for the heads up! I'm unfortunately away until May without access to my usual work station so won't be able to fix it for a while :( Sorry about that, I'll try to get on top of it when I get back!