
Mods / Firearms
Author: Maltiez
Side: Both
Created: Jul 29th at 9:30 PM
Last modified: Nov 2nd at 12:07 AM
Downloads: 14981
Follow Unfollow 227
Latest file for v1.18.8:
maltiezfirearms_0.3.5.zip
1-click install
Required dependency: FSMlib
Table of Contents
Description
This mod adds a high-damage but long-reload firearms capable of one-shotting many targets. Firearms have significantly lower damage per minute than bows and are not meant to fully replace them, at least not until the steel age.
Review:
Mod current state
This is an Beta version of the mod. Many aspects of the mod is still in a 'placeholder' state. Please report issues via official discord server mods thread.
Roadmap:
- Beta => Release:
- firearms parts recipes
- player model animations
- Bullseye animations
- Bullseye aiming
- slings and holsters
Extra info: https://docs.google.com/spreadsheets/d/1D3cwi2_NBdeiytjAzYEReeFoXTgMg0tGH8-OsXlJIEM
Compatability
- Bullseye - compatible but not supported (support for Bullseye aiming system and smooth animations is planned for Beta version)
Check out also:
Weapons
All weapons use powder flask and gunpowder for propellant stored in it (not blasting powder), linen patches for wadding. All weapons can be stored loaded and primed. All weapons have at least two reload stages (loading and priming + cocking), so if you finished loading but not priming you dont need to load weapon again, it stays loaded.
Weapon descriptions
Pistol
Bronze wheel-lock firearm. It has the lowest damage from all firearms, but fastest reload. It requires cocking lever for winding up wheel spring. Wheel itself is made from rusty gear, due to copper alloys being unable to produce sparks. It uses small caliber bullets and small amount of gunpowder.
Intended role: self-defence / sidearm - it is capable of one-shotting wolfs and hyenas, locusts and surface drifters, but lacks damage and accuracy for hunting boars and sheeps or one-shotting stronger enemies
Inspiration: German 17th century military wheel-lock pistols
Arquebus
Iron match-lock firearm. Relatively simple construction that does not require steel springs or sophisticated clockwork. It uses lit match to ignite priming powder and fire the gun. Match should be in off-hand while aiming the gun. It uses small caliber bullets and moderate amount of gunpowder.
Intended role: hunting weapon - it has enough damage to one-shot sheeps and boars, but not enough to one-shot bears or most of the drifters
Inspiration: 16th century arquebuses, there are just a lot of them and they are all alike.
Carbine
Steel short flint-lock firearm. Flint-lock requires good spring, and good spring requires good steel. Convenient to use gun, that does not require any accesories to function. It uses high caliber slugs and moderate amount of gunpowder.
Intended role: versatile hunting weapon - enough damage to one-shot sheeps and boars, and even weaker bears (panda and sun variants), can also one-shot corrupt and tainted drifters and almost kill nightmare ones and sawblade locusts
Inspiration: French flintlock carbine 1806, this one it seems is rifled, but in-game one is meant to be smooth-bore.
Musket
Steel full length flint-lock firearm. Can be equipped with bayonet. Very high damage is balanced by long reload and high consumption of gunpowder.
Intended role: fighting weapon - has enough damage to one-shot most of the enemies except for bell and polar and brown bears (but latter two will be left with 1 and 3 hp and can be easily killed with buttstock or bayonet melee attack), can be equipped with bayonet and used in melee as equivalent of steel spear, needs good positioning due to long reload that also strongly hinders your movement, can be wasteful if used against weak enemies due to high powder consumption and high material cost of the gun itself
Inspiration: French flintlock rifle 1806, in-game variant is meant to be smooth-bore.
Weapons characteristics
Design philosophy
Content part
Mod implements 4 different firearms. It will not add any other weapons in the future. This mods aims to add a small amount of content but make it as feature rich, diverse and balanced as possible. There are a lot of features planned for these four guns.
Also each firearm needs particular materials and is material-gated. This is deliberate. Carbine and musket are advance powerfull end-game weapon. Bronze pistol should be viable even in end game as side arm, but it has no steel and iron variants to make bronze viable even in the end-game. However there will be wood and gun furniture materials variants, so you will be able to make for an example ebony colored stock and gold barrel bands.
Code part
Framework part of the code have been moved to FSM lib.
This mod is intended to be a framework for implementing projectile based weapons (firearms, crossbows e.t.c). It will be split on library and content part on full release, but it is already possible to add diverse weapons via just json file with no patching or coding required. This mod is aimed on implementing features requrested by other mod-makers even if they are not needed for content part.
Features
- Reload - guns have multiple stages of reload with different requirements, and stay reloaded after releasing RMB
- LMB to fire - hold RMB for aiming and press LMB to fire a gun
- First person animations (WIP) - nilla style animations for reloading and firing a gun, smooth animations will be implemented in a Beta version using Bullseye as an optional dependency
- Third person animations (WIP) - currently a placeholder, planned for Release version
- Firing delay - it takes time for lock to function and powder to ignite, so shot in not instant
- Particle effects - lots of smoke and unburned powder on shot
- Bayonet - musket can be equipped with bayonet that adds steel spear capibility to firearm
- Dispersion - these firearms are smoothbore, they a not too accurate, but on the bright side, their accuracy does not depend on aiming time
- Slow down on reload - player is slowed down on reload differently depending on gun type and reload stage
- Hotkeys for melee and bayonet - melee atack for Carbine and Musket and bayonet attachment / deatachment now has hotkeys in Controls in Settings
Known problems
- Not enough feedback from players: just leave a short review if you can, so I'll know if I'm doing it right or not
- Wrong firearms proportions and player model (guns too big): it is a compromise to fit vanilla style and retain real world guns proportions in the same time
- Recipes (too basic): all recipes are placeholders with approximetly same amount of resources as will be needed for actual recipes on release
- Third person gun position dont feet particle effects: particle effects made to fit first person view, and it is still in WIP state
- Bayonet attachment bug: if you attach/deattach bayonet right after some action with a weapon (like melee attack), bayonet can be deattached by itself and dissappear due to server/client desync problems
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v0.3.5 | 2661 | Nov 2nd at 12:07 AM | Show | maltiezfirearms_0.3.5.zip | Install now | |
v0.3.4 | 331 | Nov 1st at 4:05 AM | Show | maltiezfirearms_0.3.4.zip | Install now | |
v0.3.3 | 393 | Oct 29th at 5:33 AM | Show | maltiezfirearms_0.3.3.zip | Install now | |
v0.3.2 | 1372 | Oct 18th at 7:41 AM | Show | maltiezfirearms_0.3.2.zip | Install now | |
v0.3.1 | 368 | Oct 16th at 11:36 AM | Show | maltiezfirearms_0.3.1.zip | Install now | |
v0.3.0 | 193 | Oct 15th at 8:55 PM | Show | maltiezfirearms_0.3.0.zip | Install now | |
v0.2.5 | 524 | Oct 12th at 4:25 PM | Show | maltiezfirearms_0.2.5.zip | Install now | |
v0.2.4 | 359 | Oct 10th at 10:33 PM | Show | maltiezfirearms_0.2.4.zip | Install now | |
v0.2.3 | 186 | Oct 10th at 5:57 AM | Show | maltiezfirearms_0.2.3.zip | Install now | |
v0.2.2 | 73 | Oct 9th at 8:58 PM | Show | maltiezfirearms_0.2.2.zip | Install now | |
v0.2.1 | 267 | Oct 8th at 4:26 PM | Show | maltiezfirearms_0.2.1.zip | Install now | |
v0.2.0 | 111 | Oct 8th at 9:55 AM | Show | maltiezfirearms_0.2.0.zip | Install now | |
v0.1.11 | 1925 | Sep 20th at 7:12 PM | Show | Firearms_0.1.11.zip | Install now | |
v0.1.10 | 253 | Sep 23rd at 8:14 PM | Show | Firearms_0.1.10.zip | Install now | |
v0.1.9 | 953 | Aug 20th at 9:40 AM | Show | Firearms_0.1.9.zip | Install now | |
v0.1.8 | 1949 | Aug 1st at 9:58 AM | Show | Firearms_0.1.8.zip | Install now | |
v0.1.7 | 53 | Aug 1st at 8:30 AM | Show | Firearms_0.1.7.zip | Install now | |
v0.1.6 | 175 | Jul 31st at 6:49 PM | Show | Firearms_0.1.6.zip | Install now | |
v0.1.5 | 96 | Jul 31st at 1:57 PM | Show | Firearms_0.1.5.zip | Install now | |
v0.1.3 | 148 | Jul 31st at 2:40 AM | Show | Firearms_0.1.3.zip | Install now | |
v0.1.2 | 448 | Jul 29th at 9:58 PM | Show | Firearms_0.1.2.zip | Install now |
Falco
I'll try too look at ViesCraft when I'll have time, before next update hopefully
Loading firearms (first stage for reload) will require both hands empty in next update.
This technology restriction is a balance deceision, may be weaker variant of carbine for steel age will be a better solution.
GmanAmatin
Adding char coal to blasting powder recipe might be an option, I might patch it in in next update
Great mod, although i wish it was possible to make blasting powder from brown coal or something. Hunting down black coal has been suprisingly difficult, never mind the sulfur...
would be nice if the loading aid (cocking lever) would go back into the offhand after use, like the lit match does.
It would also be neat if one could use the flint+steel technology from the carbine and musket in the Arquebus to not require a match anymore.
When using this mod with Bullseye from a ViesCraft Machine, the bullet will always fly straight ahead instead of where you aim. Normal bows and arrows work as expected shooting in the direction that is aimed in.
DoodleGarbage
Change xskills hotkey from R to something else (or flask refill hotkey)
I'd like to report a potential bug/incompatability. I crafted the powder flask (empty). Due to the Xskills mod, the crafted product had 280 durability instead of 256. The flask could not be refilled with gunpowder, and could not be used to reload guns. I could not find any method that would convert the powder flask (empty) to a standard powder flask. I spawned in a standard powder flask and tossed out the unusable one as a temporary fix. I am unsure if the issue was caused by the flask having more durability than usual, or a different issue with the powder flask.
Edit: I also want say thank you for this awesome mod! I can't wait for the bullseye implementation and smooth animations.
Harathor
Have you installed FSMlib?
Hello,
i seems to have a problem with "unable to resolve mod dependencies" for version 1.18.15
any advice on solving this issue?
Aerin
If you really want for lever to be put back in offhand and you want it now, you should open mod's archive, go to assets/maltiezfirearms/itemtypes/firearms/pistol.json and in line 242 change "offHand": false to "offHand": true
Aerin
This behavior is intentional, these weapons are not meant to be fired continuously. Pistol reload (first stage) will require two hands (i.e. empty offhand), as all other reloads that dont require special item in offhand, in next update. So this current behavior will make reload actually less finnicky, cause you wont need to empty your offhand manually. Also in the next or update after next dual wielding mechanic for pistol will be added. So it would be advantageous to reload couple of pistols and then fire both of them, and not spam only one continiously.
For fast continuous shooting use bows, they are meant to be used this way.
Is it possible to make it so the reload assists (cocking lever in this case but same applies to the goat's foot/windlass in crossbows) stay in your offhand when you're done reloading? Sometimes I'd like to just keep reloading and shooting the pistol but needing to cycle over and put the cocking lever back in my offhand repeatedly is quite finnicky.
Maltiez sorry for mistaken comment. I think key for refill "?" but it's not a key, it's a missing key
RunTekov
It works. Check out "Info log" in chat.
@Maltiez Key for refill flask don`t work.
Thanks, I'm gonna send the screen, sadly my friend wasn't avaible yesterday
Samino2
It is a link on a post in official Vintage Story discord server. Here is link from vintagestory.at: https://discord.gg/CkJjdrB
Heya I try to join the server but the invitation don't want to work, I can attach the picture here? Gonna take them when my friend are up for some VS in the day
Samino2
Can you please send screenshots via VS discrod server: https://discord.com/channels/302152934249070593/1135402924290359336
Hey, I have a problem the animation don't work for other people in multiplayer, they see me aiming at the sky and not in front of me, same fo the crossbow mod.
Ah damn, you're right. Guess I just made the logical conclusion that they'd be vanilla. Anyway, thanks for answering.
Ragolution
Vanilla does not have sling bullets. Bullseye adds bullets for slings.
As a quick question, why doesn't this mod use the vanilla sling bullets for the arquebus and pistol's ammunition? I'm mostly just curious.
Maltiez
Ctrl+Shift+Alt worked perfectly, thank you. That might be something worth documenting, but I can understand what you meant with keeping the vanilla control scheme.
Ragolution
Hold Alt to place it or interact with objects around. It is a compromise of keeping vanilla style control scheme.
I've been having trouble placing these against the wall for display/storage. When doing so it prioritizes reloading the weapon rather than placing it down. Otherwise, I'm a pretty big fan of this mod. The only one that adds guns without them being too OP.
DragooKnight11
Not sure if it is neccessary. Firearms are already expensive to make and maintain to the point of becomning not a viable or optimal weapon choise. May be later I will lock some mechanics behind questlines (that I have no idea of, haven't played VS for ages) or classes, or traders, or loot in ruins.
If you can figure out how the resonant archives scripting works, you could try making "The Secrets of Paper Cartridges" a questline that can be triggered after the Archives are started/cleared. Make it require a reusable blueprint item that you have to find or earn first? (not exactly sure in what manner they would disrupt balancing, but making them an unlockable advancement once you're a decent way into the game could be neat?)
Servo
Bullets use the same mechanism as all other projectiles in the game, so there is little I could do about hitting chiseled blocks.
Bayonet was balanced as steel spear (and I even added some dmg last update), may be it is a bit slower. So It as weak as other vanilla steel weapons.
Bullets are casted from 0.3.0
Paper cartridges will break the balance, probably. They are much easier to implement than powder flask and separate wadding and bullet, but it is a balance deceision (I'm considering to give them a try much later, but I think they would not be used).
Rifling - may be, but it would not be as advantages as many think, because you will be trading much longer reload (like 24 seconds instead if 18) for just an accuracy boost.
I love the mod and am looking forward to casting bullets, rifling, and maybe paper cartridges.
The main critique I have is bullets getting caught on chistled blocks, wasting powder and forcing a reload that shouldn't be needed.
Bayonet also feels kind of weak, but I understand balance is needed.
Rosa3
Try fill flask via new hotkey (you can look for it in Controls menu), also coking lever should be in offhand now.
Controls hints and descriptions update is cooming soon though.
"thanks for getting back" - it is a kind of natural cycle of nonstop work and recovering from burn out, so there will be next pause soon, I think, but not sure
Had trouble joining the discord for issue tracking but first wanna say been enjoying this mod since the Alpha ^^
I will say I am now having an issue with the latest beta version (runnning 0.2.5) where even with a newly created powder flask, I can't add gunpowder to it like the old versions, and so can't reload my old pistol (assumed was because older version) but also when I recenntly crafted an Arquebas it also gave me the "missing powderflask-ready" even if I equip powderflask or gunpowder in offhand. thanks for getting back and thanks for the mod so far, as I said have enjoyed the older versions so far <3
Centerion
It is a bug, let me check it.
Edit: it should return back after cocking, can you describe how to reproduce this bug? (it works fine on my setup)
have an issue where the cocking lever for the pistol is consumed or breaks after reload in survival, not sure if bug or intended but feel like it should be durability based at least
Yeah that should work, but I imagine it would be difficult to communicate that to players. I know the handbook is still a WIP but it should probably be added there if you decicded to go with that functionality.
Edit - I see you have already included this in the patch notes
NativeBoyUSA
As said in destritiption of this mod: "It will not add any other weapons in the future"
As said in the library that this mod requires: try it yourself, you dont need to use c# for that anymore.
So the short answer is no.
@Malteiz can you make a Colt Navy 44 like pistol?
Maltiez thank your Sir!
Heckacoolmon
Yep, there is a problem with this. Is holding Alt when you want to place it or take (or open doors and for all other interactions with a gun in active slot) will be convinient to do?
mj_outlaw
Have you installed FSMlib?
Heckacoolmon
I'll investigate this. Today I planned to release new version anyway, so I'll try to fix it.
Idk but it somehow stopped being active on my server... I just updated the files and it seems the mod isnt active.. wut?
So I actually ran into the same problem that Kroxxus had where it re-click the m2 button but in my case I was trying to place the gun on a tool rack. This caused me to constantly place the weapon, pick it up, and then put it down again. So as it stands the unloaded guns cannot be placed on racks. Once they are loaded they do not repeat the m2 clicks so they work.
Kroxxus
Fixed this key inputs behavior (it was extremly easy, I'm so glad I spend so freaking much time making lib modular so I just was able to change couple of lines to add this functionality!). I'll release new lib version with this fix in a couple of hours (there is some work to do).
Ryuu
Both of these reports should be already fixed. I dont monitor github issue traket that often, so the best place is the discord server Firarms post... May be I need to change link to issue tracker.
don't forget your issue tracker exists for bug reports too. Lol :P
Ahh that puts things in perspective, don't rush yourself and take it easy! Your progress is phenomenal
Kroxxus
"when crouched no inputs like m1/m2 are happening" - No, it is a library bug that I'm working on fixing... It is not quite a bug, it just a not intended behavior, basically crouched m1/m2 are considered Shift + m1/m2, and they are not exactly the same as m1/m2.
"don't know if it was intended to re-click m2 after every loading action but I enjoy it!" - it is an experiment, for example by default in case of arquebus you would had to re-click mouse button between placing a match and aiming, but I intentionaly removed this part buy adding this functionality to library.
Curretnly I'm working on documenting the library (and it is extemly time consuming) and development essentially paused.
Came across a small bug, when crouched no inputs like m1/m2 are happening with the firearms... whoops.. might have something to do with the placing mechanic. Another thing, don't know if it was intended to re-click m2 after every loading action but I enjoy it!
Thank you for all the hard work!
Edit: It also seems to "lock" the input causing it to go off until pressed again. To recreate crouch down hold m2 with firearm then scroll off the firearm, I found it while brushing my mouse across a table with a book on it.
Been there all too often lmao, all good
Kaofan
Pursec
Fixed, was a stupid error, I need to take a short break and have some rest it seems.
Maltiez
Error
System.Collections.Generic.KeyNotFoundException: The given key 'melee' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at MaltiezFSM.Framework.FiniteStateMachine.Init(ICoreAPI api, Dictionary`2 operations, Dictionary`2 systems, Dictionary`2 inputs, JsonObject behaviourAttributes, CollectibleObject collectible) in D:\Projects\Firearms\fsmlib\fsmlib\src\Framework\FiniteStateMachine.cs:line 119
at MaltiezFSM.Framework.FiniteStateMachineBehaviour.OnLoaded(ICoreAPI api) in D:\Projects\Firearms\fsmlib\fsmlib\src\Framework\FiniteStateMachineBehaviour.cs:line 38
at Vintagestory.API.Common.CollectibleObject.OnLoaded(ICoreAPI api) in VintagestoryApi\Common\Collectible\Collectible.cs:line 255
at Vintagestory.API.Common.CollectibleObject.OnLoadedNative(ICoreAPI api) in VintagestoryApi\Common\Collectible\Collectible.cs:line 246
at Vintagestory.Server.ServerSystemBlockSimulation.b__13_0(Item item) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 301
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at Vintagestory.Server.ServerSystemBlockSimulation.OnBeginModsAndConfigReady() in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 302
at Vintagestory.Server.ServerMain.EnterRunPhase(EnumServerRunPhase runPhase) in VintagestoryLib\Server\ServerMain.cs:line 609
at Vintagestory.Server.ServerMain.Launch() in VintagestoryLib\Server\ServerMain.cs:line 529
at Vintagestory.Server.ServerProgram.Main() in VintagestoryLib\Server\ServerProgram.cs:line 123
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Edit:
Newest update seems to somehow be causing server to crash upon startup with the following:
Game Version: v1.18.14 (Stable)
10/9/2023 21:50:00: Critical error occurred
Loaded Mods:
System.Collections.Generic.KeyNotFoundException: The given key 'melee' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at MaltiezFSM.Framework.FiniteStateMachine.Init(ICoreAPI api, Dictionary`2 operations, Dictionary`2 systems, Dictionary`2 inputs, JsonObject behaviourAttributes, CollectibleObject collectible) in D:\Projects\Firearms\fsmlib\fsmlib\src\Framework\FiniteStateMachine.cs:line 119
at MaltiezFSM.Framework.FiniteStateMachineBehaviour.OnLoaded(ICoreAPI api) in D:\Projects\Firearms\fsmlib\fsmlib\src\Framework\FiniteStateMachineBehaviour.cs:line 38
at Vintagestory.API.Common.CollectibleObject.OnLoaded(ICoreAPI api) in VintagestoryApi\Common\Collectible\Collectible.cs:line 259
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at Vintagestory.Server.ServerSystemBlockSimulation.OnBeginModsAndConfigReady() in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 302
at Vintagestory.Server.ServerMain.EnterRunPhase(EnumServerRunPhase runPhase) in VintagestoryLib\Server\ServerMain.cs:line 609
at Vintagestory.Server.ServerMain.Launch() in VintagestoryLib\Server\ServerMain.cs:line 529
at Vintagestory.Server.ServerProgram.Main() in VintagestoryLib\Server\ServerProgram.cs:line 123
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
error is reporting at your FSM library however due to only change on the server was updating firearms and behaivor was fine prior I assume its due to some interaction between the two. Will downgrade back to a working version of Firearms and if the same occurs let you know incase its an oddity of server behaivor with the either FSM or Firearms even on earlier versions
Extremely actually, one of our main comments when deciding between the two was reload speed and "overkill" for the cost of firing. Outside of occasional bears a musket is not quite needed and the long reload would be punishing on a missed shot (as it should be). Since most of our fighting is on Sheep, Wolves, and at worst usually Tainted or Nightmare drifters atm, the lesser damage, but improved reload of the carbine (giving us more a chance for a follow up shot without needing to retreat or switch to a sidearm or melee), was just a better option for us. Perfectly cementing it in the role it was designed for historically within gameplay. Ive not really mentally noted the speed and aim times between the two so I have no real comment there.
Pursec
My aim is at mostly vanilla, so I see it was a good balancing deceision. It seems that it created a fun problem to solve, which is great. But I will need mroe feedback from more players to be able make any conclusions.
I'm happy that the mod have been able to provide this inetresting gameplay situation.
Also one of the balancing deceision was to make carbine more convinient to use due to significantly shorter reload time and less speed reduction, and also higher aim speed. Were you able to experience this difference?
Yeah ive been seeing the mod-developement chat and while I dont write libraries I understand fully. A fair bit of traders sell, and in good amounts, the materials for Gunpowder production however it does require having the right luck of finding the right traders and in good proximity to make them accessible. If it was not for the welcome mats addition from (I believe useful-stuff?) we never would have actually seen a trade thus far for Sulfur. Only got one for the first time last night concidentally. The just-in-case secondary balancing has actually felt quite good and helped steered us to using the carbine over just rushing to muskets because, again, our particular circumstance of worldgen. I remember going on quite a lengthy expedetion once we had enough iron for the first time for the Matchlock to find and secure sulfur - which took me across I think 2 climate bands and multiple hours until I finally managed to prospect some just my luck. As such with our source of one of the ingredients being so far we've had to weigh the cost of actually using a musket or carbine appropriately when it came time for steel. In a more village type setting with lots of traders and lots of gears to spare I can see players swimming in it, but with pretty vanilla transportation (walking and a little bit of gliding), and a far journey to world spawned traders or sources of sulfur in the ground, its become a tangible resource we have to work and think about - in a very good way. I dont think much tweaking would be needed at its current stage from at least my subjective experience with it.
Pursec
Thanks for feedback, it means a lot and is very usefull!
It is a lot more files that I can curretnly write due to lack of time and energy (amount of work that library requres just immense, as it turned out).
Kroxxus
> Could crouching potentially making shots more accurate?
Not implemented yet, but I can implemented it easily with new framework, good idea thanks. Also can reduce speed reduction while aiming and let crouch inrease accuracy significantly... So you will be able to fire on longer distances.
> Also by the time I'm close enough for an accurate shot, with carbine, most bears usually whiff me out.
This is usefull insight, I need to make a balancing spreadsheet for accuracy, target sizes and decetction range. Thanks for feedback!
As for gunpowder costs... I thought that traders have a lot of sulphur and saltpeter so gunpowder will be in abundance and gunpowder costs of shot was secondary balancing feature of "just in case" type... May be I need to do more research on this part.
Actually on the contrary atm, with how the current recipies and cost of firing is balanced, we have settled mostly on the carbine and pistol, a bit in tandem. Steel is precious early on and the high cost of powder per shot means that we are always running out materials for more powder - sulfur mainly. The carbine is funny enough fitting right into its niche of an intermediate option for our situation of resource conservation. Personally im still using the Matchlock and a pistol in tandem until we can afford to splurge on a musket to replace it, but until then those the carbine is getting lots of use among the others and is cheap enough that any who wants a firearm at our stage we can justify the cost of one compared to the musket. As for the bullet mold stuff, ill extract it out from my personal mod and send it over. Obviously its not many files, just a clayform, blocktype, itemtype, recipe, and a patch. Im actually using the vanilla games bullet mold for the shape currently.
Adore this mod, I plan to go up North and hunt for moose from the Caprolinae mod using the carbine to taxidermy it for my home! I usually run around with the brass pistol and carbine on hand, those two alone is enough to get any bear away (I sometimes will bring and extra brass pistol if I don't want to get scratched while hunting bears.) I prefer the carbine over the musket because of gunpowder costs, carbine is great as self defense but not much when it comes to general hunting (dont know who would spend gunpowder on a sheep or pig when a shortsword can do it in five hits with minimal damage). Also by the time I'm close enough for an accurate shot, with carbine, most bears usually whiff me out.
Could crouching potentially making shots more accurate?
Tyron
It is listed like this:
"dependencies": {
"game": "1.18.8",
"survival": "1.18.8",
"fsmlib": "0.1.0"
}
But it seems, that depending on: if mod was just updated without changing modlist, if the dependency was turned off manually, if game already crashed once due to missing dependency - players will have different results like crashing or receving a suggestion to check the logs, or mod being turned off in modlist without notifying the player
Also it would be nice to have a dedicated field in mod's description to the right of images that will automaticly list all dependencies from modinfo.json... I'll make a suggestion in discord if I wont forget about it.
By the way, you can simply not mention the required dependency in your mod description. As long as the dependency is configured in the modinfo.json, the game will automatically detect and ask users whether it should download the dependencies.
Edit: Ok apparently this system is broken. Will check!
Pursec
Thanks. You can send this workaround via discord and I may add it to the mod if you want. Currently I left all the recipes work to the release, cause there just a lot of more important work to do with the mod (like really a lot, framework for example needs documentation and support, and I have already spent around 100-130+ hours in last two weeks just writing it).
But I'm not sure if "in-the-field" bullet making will be viable gameplay wise, due to presumably low consumption of the bullets it will be easier to carry more bullets, may be, than raw materials and mold, but I add you idea to the roadmap.
Also just curious, what you and your friends use more often: musket or carbine, and why? (I suspect that carbine is not really popular and does not fulfill its role requirements well enough)
Probably one of my favorite mods made for Vintage yet and has already become a staple for my friends and I. Ik the current recipes are placeholder but I know the current recipe for making slugs is conflicting with a recipe for lead bits from (I believe Salvage+), I made a simple workaround for myself and my friends with a custom casting mold for "rough" lead slugs which need to be clipped with shears to yield the proper slugs fit for firing. I was wondering if that could be an idea going forward for bullet making as whole, casting in general or a cast metal->rough bullet->proper bullet. And not to just unwarrented throw out suggestions too much, but id love to see a "in-the-field" bullet making the likes of the handheld bullet molds, some with built in spruce cutters. Regardless of any of that keep up the brilliant work.
Maltiez
I missed this, thanks for telling me - it works great!
You are great!
Kaofan
Because FSMlib is a versitile and generalized framework for other modders to use and write their own weapon (and not only weapon) mods without need in writing their own C# code, or if they want they can easily extend this lib with C#. Firearms now is just an example of its application. I also will use it myself for other mods too. It is a very common practice in modding (not in VS modding it seems) to make libraries.
By the way, no need in mentioning me with @ sign, I just receive 2 notifications instead of 1 in this case.
Maltiez
Okay, I added the demanding mod and everything works normally. I just don't know why you made a separate mod for this mod
Kaofan
It is new codebase for the mod, I totally rewrited code responsible for weapon logic, and it is listed in Firearm modinfo.json, so without it mod will no load. From the players point of view there will be only minor changes right now (and take a look into Controls tab in settings in Actions section... I need to add this into description)
Maltiez
I'm doing it right now. Does it change anything?
Kaofan
Have you installed new required library (link in description)?
Maltiez
Generally, muskets worked in version 0.11.1 but when I updated to version 0.2.0 there is no weapon or even a diagram on how to do it. As if fashion didn't exist at all
Kaofan
Me happened, I'll add it back, give me a moment (just some git shenanigans with branches).
What musket items?
Maltiez
What happened to my Polish version and why are musket items missing in the new version .0.2.0?
Samino2
Thanks! I want to do Crossbows mod and Firearms (extra) somewhere in the future (and may be even melee mod), but right now I'm trying very hard to focus on this particullar mod and framework.
Hello, here to give feedback, this mod is really good, and all the problem I see are already listed in the description, can't wait to see the final release and the other mod you gonna do keep it up =)
Zuul
Have you also downloaded new required FSM-lib (link in description above)?
Great mod but I downloaded "maltiefirearms_0.2.0.", launched the game and it shows up. "The mod cannot be faulted. Check the log file." Even turning off all mods and leaving it, nothing changed.
Fortunately, "Firearms _0.1.11" works without any problems.
WickedSchnitzel
I'll add them in Beta, it is not as important right now, and I just have not time and energy for this fix due to Beta active development.
you should add your entities to the language file, like
prefixandcreature-slug
and others
Viktor_Z
This site just broke when I tried to update 0.1.10 release, and I was not able to repair it, so I removed it. I'll reupload it if you need it.
How do I install 0.1.10? A server is hosting with that version.
Kaofan
No, I currently just have almost no free time. I'll add it as soon as I have some spare time.
Maltiez
Is there something wrong with my Polish version?
Kaofan
Thanks, I'll read it out and add in a couple of hours.
Upd.: sorry, dont have time now, I'll add it a bit later.
Maltiez
Polish version
pl.json
{
"game:tabname-maltiezfirearms": "Broń Palna",
"item-musket-none": "Muszkiet",
"item-musket-bayonet": "Muszkiet (bagnet)",
"item-carbine": "Karabinek",
"item-arquebus": "Arkebuz",
"item-pistol": "Pistolet",
"item-slug": "Pocisk kulowy",
"item-bullet": "Pocisk",
"item-wetpowder": "Mokry proch strzelniczy (WIP)",
"item-coarsepowder": "Gruby proch strzelniczy (WIP)",
"item-gunpowder": "Proch strzelniczy",
"item-powderflask": "Flaszka z prochem",
"item-cockinglever": "Dźwignia nakręcająca",
"item-match-lit": "Zapałka (zapalona)",
"item-match-*": "Zapałka",
"item-bayonet": "Bagnet",
"item-linenpatch": "Podkładka lniana",
"itemdesc-pistol": "Pistolet na mechanizm kołowy z brązu. Stopy miedzi nie mogą wywoływać iskier, dlatego używa się rdzewiejących części zamiast nich.\n\n Obrażenia: 12\n Czas przeładowania: 4s + 2s\n Dawkowanie prochu: 3 + 1\n Amunicja: pocisk\n\nDo ponownego załadowania wymagany jest pocisk, podkładka lniana i flaszka z prochem. Wymagana jest obecność 'Dźwigni nakręcającej' w ekwipunku na drugim etapie przeładowania.\n\nAby przeładować lub celować - przytrzymaj prawy przycisk myszy.\nAby strzelać - kliknij lewy przycisk myszy podczas celowania.\n\nAktualny przepis jest tylko wstępny. Sprawdź czat 'Info log' po brakujące wymagania przeładowania.",
"itemdesc-arquebus": "Broń na zapałkowy mechanizm o stosunkowo prostym wykonaniu, która nie wymaga zaawansowanych materiałów.\n\n Obrażenia: 20\n Czas przeładowania: 7s + 2s + 1s\n Dawkowanie prochu: 7 + 1\n Amunicja: pocisk\n\nDo ponownego załadowania wymagany jest pocisk, podkładka lniana i flaszka z prochem. Do ostatniego etapu przeładowania i strzelania potrzebna jest zapalona 'Zapałka' trzymana w drugiej dłoni.\nAby przeładować lub celować - przytrzymaj prawy przycisk myszy.\nAby strzelać - kliknij lewy przycisk myszy podczas celowania.\n\nAktualny przepis jest tylko wstępny. Sprawdź czat 'Info log' po brakujące wymagania przeładowania.",
"itemdesc-musket-*": "Bardzo potężna broń palna, która może być wyposażona w bagnet.\n\n Obrażenia: 63\n Czas przeładowania: 15s + 3s\n Dawkowanie prochu: 15 + 1\n Amunicja: kulowy pocisk\n\nDo ponownego załadowania wymagany jest kulowy pocisk, podkładka lniana i flaszka z prochem.\n\nAby przyłączyć bagnet, weź go w drugą rękę i naciśnij: Shift + Ctrl + prawy przycisk myszy.\nAby przeładować lub celować - przytrzymaj prawy przycisk myszy.\nAby strzelać - kliknij lewy przycisk myszy podczas celowania.\n\nAktualny przepis jest tylko wstępny. Sprawdź czat 'Info log' po brakujące wymagania przeładowania.",
"itemdesc-carbine": "Zaawansowana broń na kamiennej zapalce, która wymaga stali do produkcji sprężyn i mocnej lufy.\n\n Obrażenia: 39\n Czas przeładowania: 9s + 3s\n Dawkowanie prochu: 11 + 1\n Amunicja: kulowy pocisk\n\nDo ponownego załadowania wymagany jest kulowy pocisk, podkładka lniana i flaszka z prochem.\n\nAby przeładować lub celować - przytrzymaj prawy przycisk myszy.\nAby strzelać - kliknij lewy przycisk myszy podczas celowania.\n\nAktualny przepis jest tylko wstępny. Sprawdź czat 'Info log' po brakujące wymagania przeładowania.",
"itemdesc-powderflask": "Weź proch strzelniczy (nie materiał wybuchowy) w drugą rękę, a następnie kliknij prawy przycisk myszy, aby napełnić flaszkę.\nTrwałość flaszki reprezentuje ilość prochu w flaszce.\n\nAktualny przepis jest tylko wstępny.",
"itemdesc-slug": "Wielkokalibrowy kulowy pocisk używany w muszkietach i karabinkach\n\nAktualny przepis jest tylko wstępny.",
"itemdesc-bullet": "Małokalibrowy kulowy pocisk używany w pistoletach i arkebusach\n\nAktualny przepis jest tylko wstępny",
"itemdesc-linenpatch": "Używany jako wypełnienie w broni palnej\n\nAktualny przepis jest tylko wstępny",
"itemdesc-cockinglever": "Używany do nakręcania sprężyny w kołowrotkowym pistolecie",
"itemdesc-bayonet": "Aby przyłączyć bagnet, umieść go w drugiej ręce i naciśnij: Shift + Ctrl + prawy przycisk myszy, aby go odpiąć, postępuj podobnie",
"itemdesc-gunpowder": "Proch odpowiedni do użycia w broni palnej.\n\nAktualny przepis jest tylko wstępny",
"itemdesc-match-*": "Wymagana, aby była zapalona i trzymana w drugiej ręce podczas strzelania z arkebusa.\nNie jest dotknięta wilgocią."
}
TaffyStars
It is planned for release version first major update (you can find planned features in roadmap). Due to irl problems I was not working on mod for a while, but I plan to resume work on beta version this month and hopefully we will have it this autumn.
Is it possible to add a bag that specificly holds the reloading stuff for this mod like the bullets linen patches and the lever etc.
It could be a bandoler and have like 10 slots and hold the guns/other stuff from this mod
Own a musket for home defense, since that's what the founding fathers intended. Four drifters break into my house. "What the devil?" As I grab my powdered copper helmet and french 1806 flintlock rifle. Blow a golf ball sized hole through the first drifter, he's dead on the spot. Draw my pistol on the second drifter, miss him entirely because it's smoothbore and nails the neighbor's locust. I have to resort to the cannon mounted at the top of the stairs loaded with grape shot, "Tally ho lads" the grape shot shreds two drifters in the blast, the sound and extra shrapnel set off a temporal storm. Fix bayonet and charge the last terrified rapscallion.He Bleeds out waiting on the rust to arrive since triangular bayonet wounds are impossible to stitch up, Just as the founding fathers intended
DUCATISLO
I will retexture all models and add wood and furniture metals material variants before full release. So yes, it is planned. Currently mod uses just vanilla debarked wood textures.
Accensus
Thanks!
nice mod, maybe in the future would you polish the wood textures to make it less noisy? anyways good luck on the future
Maltiez Good call on the framework. And no worries, man, no pressure at all. Honestly I'm just glad someone's working on a firearms framework. These things, they take time. I know from firsthand experience. As for the mod, I don't really have any solid feedback yet as I have not used it extensively, but from what I've seen so far I am really digging it. Excellent work. If this is the alpha version, I'm gonna have to strap myself to the chair for the release version. Yeah, I'm thinking I'll be using it for sure. For your first mod, this is top stuff. Keep up the good work and best of luck.
mthaefner
Cannons, mortars and rockets require completly different code and design approach. I may add in the future support for mounted weapons, but only after release and first major update.
Accensus
Support for different systems that are required for modern firearms is planned, and I hope most of them will be ready on release.
Descriptions are very rough placeholders, it will take some effords to make them in a propper way, but I'll better spend these effords on framework code considering alpha status of the mod.
And btw, current mod is in alpha state, it is basically a prototype made in two weeks partially during vacation, currently I'm working on actual framework code and it will take at least a month (considering my full-time job and BD3 release it may take even longer). This alpha version is meant to test overall design of firearms behaviour, style and balance (and for me to learn how mods are made for VS in general, this is my first mode after all). The beta version will be meant for testing framework code.
I'll investigate compatability with item rarity mod later, but damage attribute is indeed used for calculating projectile damage.
An awesome mod for late game mate! I built a firing range to test the accuracy at 40 blocks and man there's actual incentive and trade off for each weapon. Could only do the test as the shots stay after being fired.
Once the framework is more fleshed out, how possible would it be to make more "modern" rifles with it? Let's say bolt-action rifles and semi-automatics. I'm extremely interested in potentially using this for some pew-pews.
I also noticed that Yew's RPG Item Rarity mod does affect this one (at least the durability), but because the weapon stats are hardcoded into the language file, I am unable to tell if the damage is actually affected. Looking at the sauce, it should technically work as you take into account damage attributes and whatnot. Is this addressable?
Edit, a day later: after testing this in Creative, it turns out none of the weapon-specific stats are touched at all. The issue with hardcoding the numbers is still present, regardless. I'll bring it up to Yew and see if maybe some compatibility patch can be done on his side.
I know you stated that you wouldn't be adding any further weapons than the four that you have already added to the pack I was wondering if you would however be interested in adding potentially items such as cannons, mortars, and rockets. They would be in keeping with the level of technology that is available with the firearms and could be a great addition to servers already utilizing your mod to add potentially dynamic pvp events. Regardless a great mod with a great future ahead of it.
Rythillian
Thanks. I was trying to fit them into vanilla style as much as possible and at some iterations of working on models I actually decreased amount of details.
I like that you didn't make the firearms look overly detailed; That might seem like an insult at first, but I geniunely think most firearm mods for other voxel games go wayyyy too overboard with the model and make the firearms not fit the art style. You did a good job making it fit into the world! That coming soon model also fits perfectly, good job overall!
Salieri
Reworked weapon state code a bit, so it would not brick and will reset to server state on start and end of interaction all the time. But you still dont want to mush mouse buttons trying to reload and fire faster, it might not play sounds or animation right.
wXDogeKingXw
Give the numbers on how long you think the range should be in blocks for different weapons. Sounds being different with range is not planned for Alpha or Beta, I'll investigate possibility of such feature before full release, it is in the roadmap.
Installing it on server in its alpha state is a bit risky, it can crash the game after all, but thanks, I need server testing for fidning out this crashes and fixing them.
The sound range is still pretty low, and not realistic, real-life muskets you can hear the gun shoot far away in a field, and the sound is different from close range to long range (like in long range the sound is less loud and more "disperse"
If that gets added would be cool to hear/watch muskets fights and wars
that's the only aspect of the mod that has to be improved right now for full realism
Btw we added this mod for our server Atlas Civ, there's PVP enabled, and in future wars would be amazing to hear the gunshots in a realistic way
this mod got everyone impressed, thanks for ya good work! :D
So. I have good news and bad news.
Good news: the game no longer crashes.
Bad news: the particular pistol in question is now bricked entirely, when firing the pistol just stays in "aim" animation forever.
Also, foung this code in client-main:
31.7.2023 23:02:28 [Error] [Firearms] [GetOperationParameters] Weapon current state is higher then amount of operation stages it has. Weapon: Pistol, state: 3
Salieri
I reupload 0.1.6 version 16 minutes ago, because it contained wrong binary files. So it was actually 0.1.5. Also can you look in a client-main.log and server-main.log for lines with "[Firearms]" in it?
@maltiez
Bug still present, this was on 0.1.6.
Salieri
Please redownload latest (0.1.6) version and try to reproduce bug again.
P.S. Also it is best to use discord server and mod post there, so I will be able to react quiker. Also long crash reports is better to send as a file. There is also a github issue tracker.
Crash log, as requested
Running on 64 bit Windows with 16 GB RAM
Game Version: v1.18.7 (Stable)
31.07.2023 21:36:54: Critical error occurred in the following mod: maltiezfirearms@0.1.6
Loaded Mods: Ceramos@0.4.0, HumanSkinTones@0.0.3, instruments@1.2.2, medieval@2.01.26, millwright@1.0.5, leadroof@1.3.4, TA_plainsandvalleys@1.0.4, litbrig@0.5.0, temporal_gears_stack@1.0.0, translocatorengineeringredux@1.4.3, game@1.18.7, wildcrafttrees@1.2.4, abcsreborn@0.1.1, alchemy@1.6.14, carryon@1.3.0, commonlib@2.1.1, electricity@0.0.10, fancyplanters@1.2.0, fishing@1.1.5, fromgoldencombs@1.4.19, lavoisier@1.3.0, naturalnight@2.1.0, petai@1.7.10, prospecttogether@1.1.0-rc.3, solidshields@1.0.1, statushud@1.4.1, creative@1.18.7, survival@1.18.7, metalrecovery@0.1.19-pre.1, betterbamboo@1.0.2, bullseye@2.5.0-rc.1, chemistrylib@1.1.5, tradercamps@1.0.6, em@2.2.1, maltiezfirearms@0.1.6, stonequarry@3.0.2, tpnet@1.12.1, kosfire@1.1.3, kos-goldamalgam@1.0.0, kosphotography@1.3.2
System.IndexOutOfRangeException: Индекс находился вне границ массива.
в MaltiezFirearms.ItemFirearm.GetOperationParameters(ItemSlot weaponSlot, Int32 currentState) в E:\Modding\mods\firearms\mods\maltiezfirearms\src\ItemFirearm.cs:строка 453
в MaltiezFirearms.ItemFirearm.Attack(Single secondsUsed, ItemSlot weaponSlot, EntityAgent byEntity, Int32 currentState) в E:\Modding\mods\firearms\mods\maltiezfirearms\src\ItemFirearm.cs:строка 154
в MaltiezFirearms.ItemMultistateWeapon.OnHeldInteractStep(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel) в E:\Modding\mods\firearms\mods\maltiezfirearms\src\ItemReloadableWeapon.cs:строка 73
в Vintagestory.API.Common.CollectibleObject.OnHeldUseStep(Single secondsPassed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryApi\Common\Collectible\Collectible.cs:строка 1043
в Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleHandInteraction(Single dt) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:строка 237
в Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnGameTick(Single dt) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:строка 165
в Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Common\EventManager.cs:строка 85
в Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\ClientMain.cs:строка 813
в Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\ClientMain.cs:строка 712
в Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:строка 165
в Vintagestory.Client.ScreenManager.Render(Single dt) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\ScreenManager.cs:строка 683
в Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\ScreenManager.cs:строка 627
в Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\ClientPlatform\GameWindow.cs:строка 126
в System.EventHandler`1.Invoke(Object sender, TEventArgs e)
в OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp) в C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:строка 479
в OpenTK.GameWindow.DispatchRenderFrame() в C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:строка 454
в OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second) в C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:строка 375
в Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
в Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) в C:\Users\Tyron\Documents\vintagestory\game-net4\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:строка 93
Event Log entries containing Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 31.07.2023 21:36:55, Site = , Source = Application Error, Message = Имя сбойного приложения: Vintagestory.exe, версия: 1.18.7.0, метка времени: 0x64bd7a7d
Имя сбойного модуля: KERNELBASE.dll, версия: 10.0.19041.804, метка времени: 0x0e9c5eae
Код исключения: 0xc0020001
Смещение ошибки: 0x000000000002d759
Идентификатор сбойного процесса: 0xe98
Время запуска сбойного приложения: 0x01d9c3c181e4ef7d
Путь сбойного приложения: C:\Hueta\Vintagestory\Vintagestory.exe
Путь сбойного модуля: C:\Windows\System32\KERNELBASE.dll
Идентификатор отчета: ffd4f0c2-5d35-4430-ae71-8ecfa2393d2a
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом: }
--------------
{ TimeGenerated = 31.07.2023 21:36:55, Site = , Source = .NET Runtime, Message = Приложение: Vintagestory.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: код исключения c0020001, адрес исключения 00007FFA9F78D759
Стек:
}
Excuse my system language
Orman
Added a safe guards around, but not fixed the problem itself. Added error message in log when problem occurs.
It is actually good that game crashed and problem is reported, cause otherwise problem may be ignored and cause other major problems.
It is alpha version so it is better for game to crash and bug reported and fixed early in development. In release would be better for game to not crash, so there will be safe guards everywhere.
P.S. I also haven't tested mod on the unstable .NET7 version of the game yet.
P.P.S. It seems the problem is actually race conditions that I was expecting and even left a todo comments in these places, but to really fix this I need write a propper network code, that was planned for Beta version code rewrite, not for Alpha. So the problem persists, you may have gun not playing firing animations and other stuff, but I hope It would not crash. Proper solution will be closer to release of the Beta version.
Here is a crash dump of sometimes crashing when firing a pistol:
Running on 64 bit Linux with REDACTED MB RAM
Game Version: .net7 Experimental build - v1.18.6 (Unstable)
Critical error occurred in the following mod: maltiezfirearms@0.1.3
Loaded Mods: aculinaryartillery@1.0.12-pre.2, ancienttools@1.5.7, autosifter@1.1.0, backpackpack@1.0.3, betterruins@0.2.1, bettertraders@0.0.2, brigandinerebalance@1.0.0, buzzwords@1.3.0, chiseltools@1.8.4, landformoverhaul@0.0.1, cralutweaks@1.0.2, extrainfo@1.3.0, fancysky@1.0.6, instruments@1.2.2, meteoricexpansion@1.2.4, millwright@1.0.5, NoNegativeTraits@1.0.1, primitivesurvival@3.2.5, game@1.18.6, wlts@1.0.0, wildcrafttrees@1.2.4, wildcraft@1.6.6, alchemy@1.6.12, animalcages@2.1.5, carryon@1.2.0, commonlib@2.1.1, electricity@0.0.10, expandedfoods@1.6.6, farmlanddropssoil@1.4.0, fromgoldencombs@1.4.19, hudclock@3.2.1, metaltongs@1.0.1, moreanimals@1.2.4, morepiles@1.4.3, naturalnight@2.1.0, petai@1.7.10, prospectorinfo@4.3.0, statushud@1.4.0, stickscrafting@1.0.16, th3dungeon@0.1.2, creative@1.18.6, vsquest@0.4.1, survival@1.18.6, wildfarmingrevival@1.0.9, metalrecovery@0.1.19-pre.1, bullseye@2.5.0-rc.1, cats@1.7.0, darkerspawns@1.0.0, feverstonewilds@1.2.0, maltiezfirearms@0.1.3, stonequarry@3.0.2, wolftaming@1.7.3, xinvtweaks@1.5.6
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MaltiezFirearms.ItemFirearm.GetOperationParameters(ItemSlot weaponSlot, Int32 currentState)
at MaltiezFirearms.ItemFirearm.Attack(Single secondsUsed, ItemSlot weaponSlot, EntityAgent byEntity, Int32 currentState)
at MaltiezFirearms.ItemMultistateWeapon.OnHeldInteractStep(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel)
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStep(Single secondsPassed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryApi\Common\Collectible\Collectible.cs:line 1046
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleHandInteraction(Single dt) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 332
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnGameTick(Single dt) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 165
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Common\EventManager.cs:line 59
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientMain.cs:line 796
at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientMain.cs:line 712
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 200
at Vintagestory.Client.ScreenManager.Render(Single dt) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ScreenManager.cs:line 668
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ScreenManager.cs:line 643
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 73
at OpenTK.Windowing.Desktop.GameWindow.DispatchRenderFrame()
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientProgram.cs:line 300
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientProgram.cs:line 127
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Looks like you gotta double check those array dimensions.
wXDogeKingXw
If you try to reload the powder bag while crouching you will crash - fixed
sound range its lame - greatly increased, need feedback on it
Salieri
Need more details like crash log or steps to reproduce it
Pistol will sometimes cause crashes on interaction.
The best mod in terms of quality I have ever seen so far!
But hey the weapon sound range its lame, you cant hear it far away, which does not make sense since its a loud musket
Also a bug report
If you try to reload the powder bag while crouching you will crash
💜
This is AMAZING!
The coolest firearms mod on the db
Nikkolai
Nope, not planned. Other modders can add it as an extension, or may be even I'll make an extension that adds it, or crossbows. But this particular mod will have only these four weapons.
Impressed with the model design, great job! Keep it up!
Very nice. Any plans for a Blunderbus?
great animations
Love the models of these guns! You did amazing!