Micromanagement, mostly.
Both managing inventory, and the fact that now when you order an attack you need to specify what kind of attack.
Then there's the AI side.
It's just a lot of work and player burden for a pretty prosaic little feature.
Wow. Good job. :)
It seems a bit OP however. Could you make a Lite version with just two slots? Say one ranged and one melee?
Wow. Good job. :)
It seems a bit OP however. Could you make a Lite version with just two slots? Say one ranged and one melee?
Why limit it to 1 ranged and 1 melee? Why not just 2 slots. (certain characters are so bad that if they have a melee it will be worthless.)
This is excellent, and I will be installing it on my next playthrough.
While I'm perfectly okay with you leaving it as is (because it leaves it free for people to use it as brokenly or as "fairly" as they choose) it makes sense to me that sidearms should only be pistols or melee weapons, maybe grenades.
Wow. Good job. :)I've considered adding numerical limits in addition to the weight ones, but I didn't want to further clutter the settings menu. I'll give it some more thought, maybe see if I can have folding categories in the settings or something. You can get similar results by setting the weight limits to low percentages for now.
It seems a bit OP however. Could you make a Lite version with just two slots? Say one ranged and one melee?
This is excellent, and I will be installing it on my next playthrough.Unfortunately the game doesnt have a concept of a "handgun" (far as the definition files are concerned, the pistol is just an unusually light gun) and I didn't want to restrict the mod to only working with vanilla weapons. I am considering adding a static maximum weapon weight, but some of the gun weights in Rimworld are a bit wonky: you have the pistol at 1.2, followed by the machine pistol at 2.5, followed by the pump shotgun, assault rifle, and the incendiary launcher of all things at 3.4... and then the heavy smg (which is what I'd personally liked the cutoff point to be at) at 3.5. I think HugsLib supports adding custom UI for settings, if so I might do something fancy with that.
While I'm perfectly okay with you leaving it as is (because it leaves it free for people to use it as brokenly or as "fairly" as they choose) it makes sense to me that sidearms should only be pistols or melee weapons, maybe grenades.
Let's say my hunter has a survival rifle and a knife. If he proceeds to down an animal, will he shoot the animal, or melee the animal?Your hunter, not being a barbarian, will shoot the poor thing as usual. (On a more serious note, pawns only switch to melee when attacked in melee. A downed animal can't attack.)
Wow. Good job. :)The only proper way to balance this would be with weight and carrying capacity, not random number of what you think it is enough to carry.
It seems a bit OP however. Could you make a Lite version with just two slots? Say one ranged and one melee?
This mod looks awesome, but I couldn't for the life of me understand what the customization options do.The settings menu is very much a first pass thing. I'm in fact working on improving it right now. Have a little sneak peek:
Good stuff.
As a bug report, pawns seem to sometimes use the wrong visual for a weapon when hunting. Had a few situations where a colonist equipped with a survival rifle and a pistol as a side-arm would go hunt and would technically be using the pistol (same projectile) but have the rifle equipped.
I think my big gripe with this mod is it really weakens pawns that are good at melee but not shooting, or vice versa.
A brawler is gonna get torn apart if, after his trek, he has to deal with all the ranged guys he was rushing pulling out knives.
Hm, I was not aware of a new dodging mechanic... I'll give it a spin, then.I think my big gripe with this mod is it really weakens pawns that are good at melee but not shooting, or vice versa.
A brawler is gonna get torn apart if, after his trek, he has to deal with all the ranged guys he was rushing pulling out knives.
Yeah, but A17 introduces dodging melee hits and odds are your brawler is probably using something more dangerous than a knife in that situation. If you're giving them adequate armor, then their bruises won't be much worse than normal.
[HugsLib][warn] Missing enum setting labels for enum SimpleSidearms.Globals+Preset
Verse.Log:Warning(String) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:36)
HugsLib.Utils.ModLogger:Warning(String, Object[])
HugsLib.Settings.ModSettingsPack:GetHandle(String, String, String, Preset, ValueIsValid, String)
SimpleSidearms.SimpleSidearms:DefsLoaded()
HugsLib.HugsLibController:OnDefsLoaded()
HugsLib.HugsLibController:LoadReloadInitialize()
Verse.LongEventHandler:RunEventFromAnotherThread(Action) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:439)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__851() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:353)
[HugsLib][warn] Missing enum setting labels for enum SimpleSidearms.hugsLibSettings.SettingsUIs+WeaponListKind
Verse.Log:Warning(String) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:36)
HugsLib.Utils.ModLogger:Warning(String, Object[])
HugsLib.Settings.ModSettingsPack:GetHandle(String, String, String, WeaponListKind, ValueIsValid, String)
SimpleSidearms.SimpleSidearms:DefsLoaded()
HugsLib.HugsLibController:OnDefsLoaded()
HugsLib.HugsLibController:LoadReloadInitialize()
Verse.LongEventHandler:RunEventFromAnotherThread(Action) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:439)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__851() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:353)
quick question on this mod, will colonists automatically seek out and equip sidearms (or primaries for that matter?) or does it need to be manually equippedSame as vanilla, they need to be explicitly told to touch those scary murder devices.
A couple warnings being thrown on startup from HugsLib, probably no big deal.
Please create one for A16.I get why this keeps coming up, but Id rather not write and maintain a soon-to-be obsolete separate version. Maybe when Im done with what Im working on right now.
Any chance you could make Mechanoids not spawn with sidearms? Or at least limit them to sensible choices, or make them not do stupid things with them. I just opened an Ancient Danger, and three Centipedes rushed me with...wait for it...plasteel shivs. Even though all three of them had Inferno Cannons, they came slithering over at half a mile an hour, trying to shank me with their space toothpicks. I was able to kill all three before they reached me, using two really bad shooters with bolt-action rifles. Even when their mobility dropped to near-zero, they still refused to shoot at me.Wot.
Maybe you can made a check/compare what give more DPS a mellee weapon or pawn's unarmed attack.Noted. Honestly, I tend to avoid prosthetics if I can help it so it didnt even occur to me that sometimes unarmed melee is better than armed.
Would it be possible to make a version for alpha 16?He just said he won't do it for a version that's about to become obsolete. Just wait a few weeks until it is updated to A17.
as long as mods im using arent updated i will probaly still be playing alpha 16 so it would be nice
Added presets*! Choosing customization options is now just one click away.
Hunters have been re-educated and will no longer fire sniper bullets out of their knives.
Centipedes have finally run out of free shiv coupons and will as such return to using shoddy inferno launchers.
After an initial wave of hype, scyther blade users have returned to tearing things apart with their own bare claws. Bionic arm users are on the fence, one of which was quoted as saying "There's a lot of math involved, you know? Have to calculate DPS on the fly and everything!"
*(sort of, anyway. the implementation leaves a bad taste in my mouth. have to see about reworking it)
I feel like the Basic preset should have weapon dropping set to Never.The basic preset is essentially what Ive set out to accomplish when I first started on this mod. Any changes to it would basically depend on subjective opinions, its not like I can please everyone. Thats why there's a settings menu that exposes basically everything in the first place - if you dont like it, you can change it yourself.
Added individual pawn weapon locks for ranged weapon switching
When switching from a used-up singleshot weapon, pawns will now prefer drawing spares over any other sidearm
Various bugfix attempts
The new locking mechanism:Does this mod work with other weapon mods? I imagine it should?
Minor issue, if I have weapons returned to inventory, after combat is over, they don't switch back to their main or ranged weapon, which leads back to hunter does not have ranged weapon.Hm, true. Changing that would require giving pawns less goldfish-like memory, but I think I know how to do that now... Ill add it on the list.
OP, if it's not much to ask, me and plenty of others are just looking for a code patch that automatically switches weapons from ranged to melee. The max mass mechanic you have, which restricts how much mass both weapons should have, IMO, is perfect to prevent abuse in the case of someone wielding a minigun and longsword, for instance.
So, if you can, could you make a SimpleSidearms Lite version, where you just set the maximum mass of one or the other, or both? Thanks in advance.
OP, if it's not much to ask, me and plenty of others are just looking for a code patch that automatically switches weapons from ranged to melee. The max mass mechanic you have, which restricts how much mass both weapons should have, IMO, is perfect to prevent abuse in the case of someone wielding a minigun and longsword, for instance.
So, if you can, could you make a SimpleSidearms Lite version, where you just set the maximum mass of one or the other, or both? Thanks in advance.
OP, if it's not much to ask, me and plenty of others are just looking for a code patch that automatically switches weapons from ranged to melee. The max mass mechanic you have, which restricts how much mass both weapons should have, IMO, is perfect to prevent abuse in the case of someone wielding a minigun and longsword, for instance.
So, if you can, could you make a SimpleSidearms Lite version, where you just set the maximum mass of one or the other, or both? Thanks in advance.
You're basically asking me to strip out ninety percent of the mod and then release it as a separate version (and then have to maintain it), when you can archieve exactly what you want already using the settings menu. I'd really rather not do that.
What I can do is add a preset that does that. At that point you literally only have to press a single button. List, added, etc.
Barbaric possibly, but would it be possible to implement such a feature? I realize it might be outside the scope of the mod, but we could benefit greatly from this. Especially when playing with mods that adds limited ammo, it makes no sense for a hunter in a survival scenario to waste several bullets to kill a downed squirrel or deer. One might argue that it is safer to do so, but then again we could micromanage our hunters to switch to a sword/axe/club/knife with no drawbacks (downed animals doesn't fight back, unlike in real life).Let's say my hunter has a survival rifle and a knife. If he proceeds to down an animal, will he shoot the animal, or melee the animal?Your hunter, not being a barbarian, will shoot the poor thing as usual. (On a more serious note, pawns only switch to melee when attacked in melee. A downed animal can't attack.)
Awesome mod! Just what's needed for my survival rifle-toting colonists. Especially once there's a few more weapons added by mods.Barbaric possibly, but would it be possible to implement such a feature? I realize it might be outside the scope of the mod, but we could benefit greatly from this. Especially when playing with mods that adds limited ammo, it makes no sense for a hunter in a survival scenario to waste several bullets to kill a downed squirrel or deer. One might argue that it is safer to do so, but then again we could micromanage our hunters to switch to a sword/axe/club/knife with no drawbacks (downed animals doesn't fight back, unlike in real life).Let's say my hunter has a survival rifle and a knife. If he proceeds to down an animal, will he shoot the animal, or melee the animal?Your hunter, not being a barbarian, will shoot the poor thing as usual. (On a more serious note, pawns only switch to melee when attacked in melee. A downed animal can't attack.)
Once again, great job. This will be an obvious mod for my future playthroughs.
To an extent. However even in vanilla it makes sense to go up and finish a downed animal than standing at a distance and fire at it, its usually faster and less risk of shooting a fellow colonist or another animal.Awesome mod! Just what's needed for my survival rifle-toting colonists. Especially once there's a few more weapons added by mods.Barbaric possibly, but would it be possible to implement such a feature? I realize it might be outside the scope of the mod, but we could benefit greatly from this. Especially when playing with mods that adds limited ammo, it makes no sense for a hunter in a survival scenario to waste several bullets to kill a downed squirrel or deer. One might argue that it is safer to do so, but then again we could micromanage our hunters to switch to a sword/axe/club/knife with no drawbacks (downed animals doesn't fight back, unlike in real life).Let's say my hunter has a survival rifle and a knife. If he proceeds to down an animal, will he shoot the animal, or melee the animal?Your hunter, not being a barbarian, will shoot the poor thing as usual. (On a more serious note, pawns only switch to melee when attacked in melee. A downed animal can't attack.)
Once again, great job. This will be an obvious mod for my future playthroughs.
Your premise takes into account limited ammunition, of which Rimworld has no mechanic. Obviously, mods that do should appreciate this feature.
To an extent. However even in vanilla it makes sense to go up and finish a downed animal than standing at a distance and fire at it, its usually faster and less risk of shooting a fellow colonist or another animal.Awesome mod! Just what's needed for my survival rifle-toting colonists. Especially once there's a few more weapons added by mods.Barbaric possibly, but would it be possible to implement such a feature? I realize it might be outside the scope of the mod, but we could benefit greatly from this. Especially when playing with mods that adds limited ammo, it makes no sense for a hunter in a survival scenario to waste several bullets to kill a downed squirrel or deer. One might argue that it is safer to do so, but then again we could micromanage our hunters to switch to a sword/axe/club/knife with no drawbacks (downed animals doesn't fight back, unlike in real life).Let's say my hunter has a survival rifle and a knife. If he proceeds to down an animal, will he shoot the animal, or melee the animal?Your hunter, not being a barbarian, will shoot the poor thing as usual. (On a more serious note, pawns only switch to melee when attacked in melee. A downed animal can't attack.)
Once again, great job. This will be an obvious mod for my future playthroughs.
Your premise takes into account limited ammunition, of which Rimworld has no mechanic. Obviously, mods that do should appreciate this feature.
You bring up good points. Especially the part about your colonist being closer to the herd if something happens. The manhunter argument and the toxic fallout one wouldn't be a problem, or rather nothing would change. In the manhunter scenario you would draft the colonists, so regular mod rules would apply. In the toxic fallout case your colonist would be exposed when your colonist goes out to get the carcass.To an extent. However even in vanilla it makes sense to go up and finish a downed animal than standing at a distance and fire at it, its usually faster and less risk of shooting a fellow colonist or another animal.Awesome mod! Just what's needed for my survival rifle-toting colonists. Especially once there's a few more weapons added by mods.Barbaric possibly, but would it be possible to implement such a feature? I realize it might be outside the scope of the mod, but we could benefit greatly from this. Especially when playing with mods that adds limited ammo, it makes no sense for a hunter in a survival scenario to waste several bullets to kill a downed squirrel or deer. One might argue that it is safer to do so, but then again we could micromanage our hunters to switch to a sword/axe/club/knife with no drawbacks (downed animals doesn't fight back, unlike in real life).Let's say my hunter has a survival rifle and a knife. If he proceeds to down an animal, will he shoot the animal, or melee the animal?Your hunter, not being a barbarian, will shoot the poor thing as usual. (On a more serious note, pawns only switch to melee when attacked in melee. A downed animal can't attack.)
Once again, great job. This will be an obvious mod for my future playthroughs.
Your premise takes into account limited ammunition, of which Rimworld has no mechanic. Obviously, mods that do should appreciate this feature.
It does not make sense, because it accounts one single occasion of which you would do it; you are out in the wilds hunting.
What if you're attacked by manhunting packs? Your shooters will switch to their melee weapons to finish the downed animals they shot? What if you finish the animal and in this last hit, the rest of the pack decides to attack the shooter? What if by switching the weapons, you instead walk into a forbidden area, like someplace without a roof during a toxic fallout?
I like the background of the idea, because it makes sense, but it ignores so many variables that i'd be happy if it simply could be a manual thing; switch weapons, walk to downed animal, deliver the killing blow and save the ammunition.
What if you're attacked by manhunting packs? Your shooters will switch to their melee weapons to finish the downed animals they shot?
I noticed a problem (don't know if I screwed something in options or just mod issue) (alpha 17)
When my colony gets back from caravan Raid (attacking other colony) they place back in stockpile everything they raided + the side arms equipped they had from the start and I need to equip sidearms again which is annoying
I noticed a problem (don't know if I screwed something in options or just mod issue) (alpha 17)
When my colony gets back from caravan Raid (attacking other colony) they place back in stockpile everything they raided + the side arms equipped they had from the start and I need to equip sidearms again which is annoying
Not just raiding, whenever you return from a caravan they unload everything as usual, but that also includes the sidearms.
Other than that, this mod is pretty amazing :)
Oi, small 'bug'; The mod doesn't appear to recognize elephant tusks or logs (or thrumbo horns, I suspect; cannot confirm, tho') as available sidearms. I currently have some dudes with tusks, and I can't set these as sidearms.You technically can in that when setting the weight restrictions high enough they will allow for using thrumbo horns, wood, elephant tusks and beer bottles. They just dont show up in the lists, since as is the mod only loads weapons from the actual weapon defs. Ill fix it at some point.
On latest version, when starting a new colony:Whoops. On it.
(https://image.ibb.co/bBjvDF/bug.png)
I figure maybe this didn't come up because you tested on an existing colony or summat. Or maybe I've done something wrong.
Nice updates! The unarmed feature will come in handy. Now I can get my pawns to knock out animals for medical training without having to manually unarm them.There's an image I posted a few pages back... here it is:
Could you please explain what the different autoswitch locks do?
Hehe, I like the "Goldfish" name there.On latest version, when starting a new colony:Whoops. On it.
(https://image.ibb.co/bBjvDF/bug.png)
I figure maybe this didn't come up because you tested on an existing colony or summat. Or maybe I've done something wrong.
EDIT: Okay, should be fixed.
FYI the two links you posted in the Mod Announcements thread are wonky, both link here but only if I delete the %22 from the front and add a : after httpsI AM GOOD AT YOUR INTERNET TUBES NO REALLY *flails incompetently*
That said, love the work <3
Disappeared completly or did they just unload them and they are on the ground like all the other caravan carried items ?they disappear completely
Mechanoids do not drop weapon on my current mod configuration, including this one.
But back on previous versions, they dropped weapons, so it should be some another mod.
I've noticed pawns won't swap to longer range weapons in their inventory if their target goes out of range of their current weapon.
Hiyo~
I think this mod causes pawns (including centipedes) to drop their weapon upon getting hit....
Or is this done on purpose in the mod? =x
Hello,
Still loving this mod. Here's a bug I've noticed that ignores the sidearm limits:
1. Set melee and ranged sidearm limits to specific weapons.
2. Fully equip a pawn with a main weapon (larger than sidearm limit, e.g. rifle), ranged sidearm, and melee sidearm.
3. Switch to a sidearm. The pawn now has their main weapon put in pockets.
4. Order pawn to pick up another weapon as main.
5. Pawn picks up new main weapon and retains prior main weapon (rifle) as a "sidearm.'
Question, how does the mod decide which weapons to auto-switch to? For example, choosing between two different ranged weapons.
Good Mod Thanks!!Not at the moment, since there is no such functionality in vanilla Rimworld, so every mod will do it using its own implementation (I'd probably have to write special case handlers for every mod like that out there).
Any plan to add some support for melee weapons that require activation: like Lightsabers or something similar ??
I sent some colonist to settle new colony but when they arrive sidearm all weapon disappearedI'm afraid I can't do much about it without something to work with. Ideally, a save file right before it happens.
I noticed a possible bug. A visiting caravan was attacked by maneater rats. A few of the caravan guards dropped their rifles when engaged in melee and left them when the caravan left the map.
Is the mod compatible with Combat Extended?Did a quick test once, I think SS functionality is broken in this case.
Is the mod compatible with Combat Extended?Did a quick test once, I think SS functionality is broken in this case.
Is the mod compatible with Combat Extended?Did a quick test once, I think SS functionality is broken in this case.
Indeed, it's broken. But you can still manually switch. Throwing grenades was never easier!
found an exploit. the mod does not check any sidearms rules when equipping a weapon into the main slot. this means that you can equip a weapon, switch to unarmed combat (putting the weapon you just equipped into your sidarm inventory), and repeat, filling up a pawns inventory beyond thier max carry limit. the worst part is that it is suprisingly easy to do accidentally. not sure how hard a fix may be, as you may have to overwrite the games ewuip weapon logic...
found an exploit. the mod does not check any sidearms rules when equipping a weapon into the main slot. this means that you can equip a weapon, switch to unarmed combat (putting the weapon you just equipped into your sidarm inventory), and repeat, filling up a pawns inventory beyond thier max carry limit. the worst part is that it is suprisingly easy to do accidentally. not sure how hard a fix may be, as you may have to overwrite the games ewuip weapon logic...
I would like to suggest that you suggest this to be integrated into the core game. A LOT of people would be grateful for it's implementation, and you've already worked your way around Tynan's argument of micromanagement :)
Awesome work!
Added learning helper popups!
-fixed mechonoids again
-investigated in-combat sidearm recovery (not this way)
-added in-combat switching back to primary weapon
Is there any way to prevent pawns switching away from their main weapon when they don't have a sidearm?
I'm not sure if it's a bug or not but when automatically switching weapons via this mod they're dropping the weapon they currently have equipped to pull out the next one
You can turn that off in the mod options:
(http://i.imgur.com/uYuOUOs.jpg)
On the subject of in-combat weapon retrieval
Created an account here just to say i've been looking for a mod like this for ages! This needs more exposure!Posts like these keep me going :D
As for the whole "dropping ranged weapons in favor of melee" thing, well, I'll admit this is personal bias but I much preferred the older versions of Rimworld where melee attacks reset ranged warmup. I'll probably add a toggle for it in the next release.
Added basic CE compatibility. When CE is loaded, SimpleSidearms disables its own inventory management and postfixes CE's alternative weapon verbs. It's pretty simplistic so I expect some issues to crop up, but there you go.
I'm wondering if there's a way to make this mod change weapon based on the pawn's current job.
I play with 'Right tool for the job' which adds some tools that increase job speed for certain tasks, but don't really perform well as melee weapons. I've been using Simple Sidearms to allow my colonists to carry their tools along with a weapon which makes drafting them in an emergency much easier since I can just have them switch to their ranged weapons and holster their tools for combat.
I always have some colonists that excel at jobs that require different tools (pickaxe for mining, hammer for construction, etc...) and I'm usually picking just 1 tool for them to carry all the time while not drafted because it's too difficult to manual switch their tools when they decide to change jobs. I'm hoping there could be a way to make a compatibility patch of some kind with Right Tool for the Job that would allow Simple Sidearms to dynamically change their weapon based on what job they're doing. So when Mining they would swap to a pickaxe if they have one, or when Constructing swap to a hammer, then back to a ranged weapon when they're not mining so they could do hunting jobs without me having to manually swap all the time. It'd be great if you could flag a specific weapon to be equipped when the colonist is Drafted too so I wouldn't have to go through them all holstering their tools manually.
I think that is what the toolbelt is for :)
<SimpleSidearms>
<ActivePreset>Custom</ActivePreset>
<CQCAutoSwitch>True</CQCAutoSwitch>
<RangedCombatAutoSwitch>True</RangedCombatAutoSwitch>
<RangedCombatAutoSwitchMaxWarmup>0.5</RangedCombatAutoSwitchMaxWarmup>
<SingleshotAutoSwitch>True</SingleshotAutoSwitch>
<SpeedSelectionBiasMelee>1.25</SpeedSelectionBiasMelee>
<SpeedSelectionBiasRanged>1.25</SpeedSelectionBiasRanged>
<SeparateModes>True</SeparateModes>
<LimitModeSingle>Selection</LimitModeSingle>
<LimitModeSingle_Absolute>3.35</LimitModeSingle_Absolute>
<LimitModeSingle_Selection>MeleeWeapon_Shiv|MeleeWeapon_Knife|MeleeWeapon_Gladius|Gun_Pistol|MeleeWeapon_Mace|Gun_MachinePistol|Weapon_GrenadeEMP|GunRevolver|Gun_FireExtinguisher|Weapon_FoamGrenade</LimitModeSingle_Selection>
<LimitModeAmount>Slots</LimitModeAmount>
<LimitModeAmount_Selection>2</LimitModeAmount_Selection>
<LimitModeSingleMelee>Selection</LimitModeSingleMelee>
<LimitModeSingleMelee_Selection>MeleeWeapon_Shiv|MeleeWeapon_Knife|MeleeWeapon_Gladius|MeleeWeapon_Mace</LimitModeSingleMelee_Selection>
<LimitModeAmountMelee>Slots</LimitModeAmountMelee>
<LimitModeAmountMelee_Selection>1</LimitModeAmountMelee_Selection>
<LimitModeSingleRanged>Selection</LimitModeSingleRanged>
<LimitModeSingleRanged_Selection>Gun_Pistol|GunRevolver|Gun_MachinePistol|Weapon_GrenadeEMP|Weapon_FoamGrenade|Gun_FireExtinguisher|Laser_Pistol|ROM_Gun_Revolver|ROM_Gun_Flaregun|Weapon_GrenadeFrag</LimitModeSingleRanged_Selection>
<LimitModeAmountRanged>Slots</LimitModeAmountRanged>
<LimitModeAmountRanged_Selection>1</LimitModeAmountRanged_Selection>
<LimitModeAmountTotal>Slots</LimitModeAmountTotal>
<LimitModeAmountTotal_Selection>2</LimitModeAmountTotal_Selection>
<SidearmSpawnChance>0.5</SidearmSpawnChance>
<SidearmsNeolithicExtension>MeleeWeapon_Shiv</SidearmsNeolithicExtension>
</SimpleSidearms>
Is there anything that this mod doesn't work with? Such as a mod that includes different bodys, such as the Elder Things from Call of Cthulhu - Elder Things?Lightsabers. It technically works, but since pawns are too stupid to flick the switch without a command, it only really works with autoswitch disabled.
Is there anything that this mod doesn't work with? Such as a mod that includes different bodys, such as the Elder Things from Call of Cthulhu - Elder Things?Lightsabers. It technically works, but since pawns are too stupid to flick the switch without a command, it only really works with autoswitch disabled.
Just don't let the weapons drop on switch, you can disable it at the mod-option.You can't disable drop when downed.
I don't think, in this case, that pawn was downed, because the zombies would ate them before he even think to get his weapon back ! :-)
Or:I don't think, in this case, that pawn was downed, because the zombies would ate them before he even think to get his weapon back ! :-)
Not when somebody saved the pawn.
I reported this too.
Rescued Pawns jump out of bed as soon as they are able to walk and try to get their weapons back.
The only ways to prevent this is either :
Keep the Weapons forbidden .. letting them rot outside in the rain .. the hell I will do that ..
Or remove the weapons from the pawns memory .. which sucks, because now I have to collect the correct loadout again ..
- Use mod to make your animals actually haul
- Unforbid it
- Your pawn will pick it up from safe warehouse instead of walking into zombie horde
Thanks, now I've gotta find a reason why SS wont work for me. When I turn it on, the debug menu pops up and there's lots of red. Time to learn what red means.It means you're getting exceptions and should press that little copy button in the corner and let me see it, ideally along with a modlist and a savegame :D
Hi,See, this guy gets it. Fix'd.
I get an error in the debug log when using your mod. I have uploaded the output_log.txt here: https://gist.github.com/4defbd44a3af9276382747b69f86aa67 (https://gist.github.com/4defbd44a3af9276382747b69f86aa67)
I'm using your latest version (1.2.1) together with CE (0.17.1.4c) and a bunch of other mods.
And of course thank you for this great mod :)
Don't use this mod with zombieland. My pawns keep going back to collect their weapons = dead pawn. :(Unfortunately given how the AI works I can only make recovering sidearms more or less important than ALL the work assignments (including bed rest).
Alternatively giving the option to autoswitch from melee to ranged when not drafter would alleviate this, albeit reducing pawns to using a single tool instead of carrying a choice of different tools.
I might have gotten that wrong but for me they switch *between* ranged weapons.
Alternatively giving the option to autoswitch from melee to ranged when not drafter would alleviate this, albeit reducing pawns to using a single tool instead of carrying a choice of different tools.
The Mod has a Hugslib Menu, you can set a autoswitch option for ranged weapons.
Works fine for my pawns.
I can confirm there is a bug with the ranged weapon selection logic.
pawns will only switch ranged weapons when they detect a threat in their currently equipped weapon range area instead of considering their side weapons range.
This also explains why when you have a melee weapon equipped you'll never switch to ranged.
Also idk what's the formula for computing weapon preference but I'm not sure it's taking burst shot count into consideration.
I attached two weapons for comparison, with default settings the game favours the mosin-nagant over the ppsh up to 8 tiles close.
according to my calculations, the ppsh is the winner at any range, here it goes:
ppsh: 8(dmg)*10(burst)/(1.9(warmup)+2.2(cooldown))*0.3(accuracy,long) = 5.85(dmg/s) worst case scenario
mosin: 17(dmg)/(1(warmup)+1.7(cooldown))*0.86(accuracy,medium) = 5.41(dmg/s) best case scenario
the pawn should keep using ppsh until max(19)range and switch to mosin beyond that. am I missing something?
VerbProperties atkProps = atkVerb.verbProps;
if (atkProps.range * atkProps.range < range || atkProps.minRange * atkProps.minRange > range)
return -1;
float damage = (atkProps.projectileDef == null) ? 0 : atkProps.projectileDef.projectile.damageAmountBase;
float warmup = atkProps.warmupTime;
float cooldown = weapon.def.GetStatValueAbstract(StatDefOf.RangedWeapon_Cooldown, null);
int burstShot = atkProps.burstShotCount;
int ticksBetweenShots = atkProps.ticksBetweenBurstShots;
float rawDps = (damage * burstShot) / (((warmup + cooldown)) + warmup * (speedBias - 1f) + (burstShot - 1) * (ticksBetweenShots / 60f));
float Dps = rawDps * GetHitChanceFactor(atkProps, weapon, range);
return Dps;
Right. There's the speed bias (to favor faster weapons so you actually get shots off at close range before getting interrupted by melee attacks) and after a point in the warmup is reached the shot wont be interrupted anymore (there's config options for both). The rest of it? I think I nicked it from the vanilla's game DPS stat calculator...
Right. There's the speed bias (to favor faster weapons so you actually get shots off at close range before getting interrupted by melee attacks) and after a point in the warmup is reached the shot wont be interrupted anymore (there's config options for both). The rest of it? I think I nicked it from the vanilla's game DPS stat calculator...Ok it makes sense I guess. It is not clear in the options how the speed bias impacts the decision...
int num = burstShotsGetter(d);
float num2 = warmupGetter(d) + cooldownGetter(d);
num2 += (float)(num - 1) * ((float)d.Verbs[0].ticksBetweenBurstShots / 60f);
return (float)(damageGetter(d) * num) / num2;
Yeah. Given the helpful variable names (Im sorry decompiler, I know you tried your best), I didn't want to make too many changes to the formula if I could help it, especially while I was writing it (I think I rewrote this function like three times before it started working?). That's why the speed bias is in its own little addition (warmup + 0.25 * warmup comes out at 1.25 warmup just like it should). Everything after the division sign is time between firing cycles (The warmup time, cooldown, bursting time). There's one less burst shot at the end because that part of the formula is counting the time between burst shots (with a five round burst you have four gaps) and the time between shots is divided by sixty because I dont know ask Tynan.Thank you for the quick fixHi,See, this guy gets it. Fix'd.
I get an error in the debug log when using your mod. I have uploaded the output_log.txt here: https://gist.github.com/4defbd44a3af9276382747b69f86aa67 (https://gist.github.com/4defbd44a3af9276382747b69f86aa67)
I'm using your latest version (1.2.1) together with CE (0.17.1.4c) and a bunch of other mods.
And of course thank you for this great mod :)
Exception filling tab RimWorld.ITab_Pawn_Gear: System.NullReferenceException: Object reference not set to an instance of an object
at SimpleSidearms.intercepts.ITab_Pawn_Gear_InterfaceDrop_Prefix.InterfaceDrop (RimWorld.ITab_Pawn_Gear,Verse.Thing) <0x00041>
at (wrapper dynamic-method) RimWorld.ITab_Pawn_Gear.InterfaceDrop_Patch3 (object,Verse.Thing) <0x00037>
at (wrapper dynamic-method) RimWorld.ITab_Pawn_Gear.DrawThingRow_Patch1 (object,single&,single,Verse.Thing,bool) <0x0037a>
at RimWorld.ITab_Pawn_Gear.FillTab () <0x00ace>
at Verse.InspectTabBase/<DoTabGUI>c__AnonStorey450.<>m__65A () <0x000e3>
Verse.Log:Error(String)
Verse.Log:ErrorOnce(String, Int32)
Verse.<DoTabGUI>c__AnonStorey450:<>m__65A()
Verse.ImmediateWindow:DoWindowContents(Rect)
Verse.<WindowOnGUI>c__AnonStorey2C5:<>m__1B1(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, GUISkin, Int32, Single, Single, GUIStyle)
JobDriver threw exception in initAction. Pawn=Joslyn, Job=WaitMaintainPosture, Exception: System.NullReferenceException: Object reference not set to an instance of an object
at SimpleSidearms.utilities.WeaponAssingment.doCQC (Verse.Pawn,Verse.Pawn) <0x001f8>
at SimpleSidearms.intercepts.Verb_MeleeAttack_TryCastShot_PostFix.TryCastShot (RimWorld.Verb_MeleeAttack) <0x00229>
at (wrapper dynamic-method) RimWorld.Verb_MeleeAttack.TryCastShot_Patch1 (object) <0x00722>
at (wrapper dynamic-method) Verse.Verb.TryCastNextBurstShot_Patch0 (object) <0x00040>
at Verse.Verb.WarmupComplete () <0x00028>
at (wrapper dynamic-method) Verse.Verb.TryStartCastOn_Patch0 (object,Verse.LocalTargetInfo,bool,bool) <0x00564>
at RimWorld.Pawn_MeleeVerbs.TryMeleeAttack (Verse.Thing,Verse.Verb,bool) <0x001dc>
at Verse.AI.JobDriver_Wait.CheckForAutoAttack () <0x0032b>
at Verse.AI.JobDriver_Wait/<MakeNewToils>c__Iterator1B4.<>m__76E () <0x0008e>
at Verse.AI.JobDriver.TryActuallyStartNextToil () <0x002d9>
lastJobGiver=, curJob.def=WaitMaintainPosture, curDriver=Verse.AI.JobDriver_WaitMaintainPosture
Verse.Log:Error(String)
Verse.AI.Pawn_JobTracker:StartErrorRecoverJob(String)
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:DriverTick()
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
This was by far the most useful mod for me! Any chance of it being updated when A18 comes out?
Created a temporary patch for B18, and sent a pull request to the author. If you want an unofficial version, download the zip here:
https://github.com/FrodoOf9Fingers/SimpleSidearms
Now my question is: Is it ok if I use some of your code to implement my mod's options?
Created a temporary patch for B18, and sent a pull request to the author. If you want an unofficial version, download the zip here:Now less unofficial than ever. Thanks!
https://github.com/FrodoOf9Fingers/SimpleSidearms
[B18] IssuesCreate Mods/SimpleSidearms and drop the files in there. It's supposed to go Mods/SimpleSidearms/About/About.xml.
When I opened the Non steam version, the zip didn't include the folder it belongs in, it was just the subfolders and it creates errors in the startup, for anyone else with this problem I hope it is fixed soon, I've tried making and renaming the folder it's supposed to be in but it didn't work.
Hello Pete, is your mod compatible with the Weapon storage Mod (https://ludeon.com/forums/index.php?topic=35503.msg363876#msg363876)?
Basicly when you use the Weapon storage Mod you don't need Simplesidearms beside the range switch feature.Yeah mostly because of the automatic range switch.
No A17 version available anywhere? Really?
No A17 version available anywhere? Really?
It's on GitHub, just scroll down .. :o
Ah, my browser wasn't loading the page properly. Thanks.
The Version below the A18 release is the last A17 Version.
You have to lower the change priority or disallow using Hand to Hand at all.
In the mod settings.
Take a look at the mod option, you can disable the drop on ground.Ah I must have scrolled past the option. Thanks for letting me know. :)
I'm also noticing Simple Sidearms weapon switching doesn't seem to be working properly with CE B18. When someone with a ranged weapon gets into melee, they switch to fists, instead of a knife/shiv/whatever. Not sure if this is SS's fault, CE's fault, or my fault, but figured it was worth mentioning.
internal static float MeleeDPS(Pawn pawn, ThingWithComps weapon, float speedBias) {
if (pawn == null)
return 0;
float dps = GetMeleeDamage(pawn, weapon) * GetMeleeHitChance(pawn, weapon) / GetMeleeCooldown(pawn, weapon);
return dps;
/*if (weapon == null)
return 0;
Verb atkVerb = (weapon.GetComp<CompEquippable>()).PrimaryVerb;
VerbProperties atkProps = atkVerb.verbProps;
ThingDef wepDef = weapon.def;
float damage = atkProps.AdjustedMeleeDamageAmount(atkVerb, atkVerb.CasterPawn, weapon);
float warmup = atkProps.warmupTime;
float cooldown = atkProps.AdjustedCooldownTicks(weapon);
float dps = damage / ((warmup * speedBias + cooldown));
return dps;*/
}
Exception filling tab RimWorld.ITab_Pawn_Gear: System.NullReferenceException: Object reference not set to an instance of an object
at SimpleSidearms.intercepts.ITab_Pawn_Gear_InterfaceDrop_Prefix.InterfaceDrop (RimWorld.ITab_Pawn_Gear,Verse.Thing) <0x00041>
at (wrapper dynamic-method) RimWorld.ITab_Pawn_Gear.InterfaceDrop_Patch1 (object,Verse.Thing) <0x00022>
at RimWorld.ITab_Pawn_Gear.DrawThingRow (single&,single,Verse.Thing,bool) <0x0039e>
at RimWorld.ITab_Pawn_Gear.FillTab () <0x00b3e>
at Verse.InspectTabBase/<DoTabGUI>c__AnonStorey0.<>m__0 () <0x000e3>
Verse.Log:Error(String)
Verse.Log:ErrorOnce(String, Int32)
Verse.<DoTabGUI>c__AnonStorey0:<>m__0()
Verse.ImmediateWindow:DoWindowContents(Rect)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)
I came across a minor issue when playing with this & Miscellaneous MAI: The Mobile AIs don't switch over to their melee side arms like they should, but unfortunately there aren't any error logs that are being produced to help out with this one. Haplo mentioned when I had brought up the gizmo/UI issue with MAI & Run&Gun before that the Moble AI pawns were still supposed to be based off of the vanilla pawns to a certain extent, so it's a little unclear as to why it clashes somewhat with the two mods... :-\Don't quote me on this, but I think this is somewhat how it works: any pawns added by any mods that are not based off of basePawn will not get certain benefits from certain mods. An example is MAI. So since she is not based on basePawn, she will not be able to work with certain mods like Pick Up and Haul, and/or she might have issues with Simple Sidearms and Run & Gun. I do believe I saw the author (of R&G) say they were going to fix the issue with Run & Gun and swapping weapons while firing was causing a crash if you tried it with MAI.
(And it's kind of hard to choose between them all, because I find all 3 very essential to my Rim World experience...)
So is the biggest limiter to prevent OP shooter the weight or slots?This is completely customizable in the mod options. You can have the sidearm limits based on I think either mass or slots. These can be further split up into ranged/melee, and then further split up into tribal/not tribal. All of the options are completely customizable, so you can put some weapons in some categories, and different weapons in other categories, however you would like it. You can also change how pawns will drop weapons, and when they will auto-swap weapons, to ranged or melee, if even at all.
Hmmm interesting. I'd be eager to hear the setup of the author to know what hes running because I want the most balanced option possible.
Also, do you plan on doing an official update of your QOLTweaksPack?
Nice! Thank you Pete! ;DWhat was the problem with Pick up?
Curious, do you know if this will solve any issues that were popping up in the past with Pick Up and Haul?
Also, do you plan on doing an official update of your QOLTweaksPack?
What was the problem with Pick up?
Hey there, anyone else has the bug that ur attackspeed is like 2million if u melee attack something. Same goes for my enemies i attack, like megaspiders...
it seems that actually Simple Sidearms causes the problem, i tested a reload without the mod, unfortunatly my interface doesnt work anymore if i delete SImple Sidearms
ty 4 ur help :)
i think i tried every button switch nd option to chnge it, but i didnt find proper solution unfortuntly
The good news is - this guy rapidly develops. I've contributed to a few other mods and they haven't got an update in a week. This one was developed, added, released and fixed in three days.
Even when the option in the mod options is unchecked pawns with no melee weapons still switch to unarmed combat in melee and you can't even force them to shoot... anyone know how to fix that?
Even when you right click & select "equip (x) as sidearm"?
Dang, i realy should read the whole forum before i start Rimworld, now i need another restart to update Simplesidearms.You have to start another game to update the mod??
Btw. what do you think to add ModSync support ? So people would see faster if a new version is ready.
I have to restart Rimworld so the new def's are loaded after i update the mod.Dang, i realy should read the whole forum before i start Rimworld, now i need another restart to update Simplesidearms.You have to start another game to update the mod??
As Pete is here again, I have an old problem. While my colonists are able to equip sidearms as expected, in A17 the raiders/visitors/whatever were spawned with only shivs as sidearms. In B18, they spawn with no sidearms at all. I've tried many settings including "enable all without any limits". I'm afraid there could be more than 1 mod conflicting so the other info could be useful.My problem as well. At least high level pirates should get proper guns/melee weapons for sidearms rather than crappy shivs. I would like to see a few elite raiders with longswords or snipers with pistols/smgs.
Turns out the GitHub release doesn't contain a recompiled version of the dll or something. Steam version works fine.SOLVED!! thanks Mehni!
In the interim I've attached the Steam version of the dll to this post, for those having trouble.
Could not execute post-long-event action. Exception: System.TypeInitializationException: An exception was thrown by the type initializer for CompVehicle.HarmonyCompVehicle ---> System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
at Harmony.AccessTools+<>c.<TypeByName>b__1_0 (System.Reflection.Assembly x) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateSelectManyIterator>c__Iterator12`2[System.Reflection.Assembly,System.Type].MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.First[Type] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.FirstOrDefault[Type] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0
at Harmony.AccessTools.TypeByName (System.String name) [0x00000] in <filename unknown>:0
at CompVehicle.HarmonyCompVehicle..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at (wrapper managed-to-native) System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor (intptr)
at System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (RuntimeTypeHandle type) [0x00000] in <filename unknown>:0
at Verse.StaticConstructorOnStartupUtility.CallAll () [0x00000] in <filename unknown>:0
at Verse.PlayDataLoader.<DoPlayLoad>m__2 () [0x00000] in <filename unknown>:0
at Verse.LongEventHandler.ExecuteToExecuteWhenFinished () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update_Patch1(Object)
Verse.Root_Entry:Update()
[HugsLib][ERR] SimpleSidearms caused an exception during OnDefsLoaded: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
at Harmony.AccessTools+<>c.<TypeByName>b__1_0 (System.Reflection.Assembly x) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateSelectManyIterator>c__Iterator12`2[System.Reflection.Assembly,System.Type].MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.First[Type] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.FirstOrDefault[Type] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0
at Harmony.AccessTools.TypeByName (System.String name) [0x00000] in <filename unknown>:0
at SimpleSidearms.CEPatcher.isCEPresent (Harmony.HarmonyInstance harmony) [0x00000] in <filename unknown>:0
at SimpleSidearms.SimpleSidearms.DefsLoaded () [0x00000] in <filename unknown>:0
at HugsLib.HugsLibController.OnDefsLoaded () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
HugsLib.Utils.ModLogger:ReportException(Exception, String, Boolean, String)
HugsLib.HugsLibController:OnDefsLoaded()
HugsLib.HugsLibController:LoadReloadInitialize()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()
Please update to B19, this mod it a must have especially after the gun nerf!
guns werent nerfed. all that happened is base game now uses a armor system similar to combat extended but tylian was lazy and never boterhed to add a ammo system or change how the guns workedGuns were nerfed. You can't shoot with them at point blank.
I'm currently subjecting hapless Steam users that dont know any better to testing a hotfix. Assuming nothing particularily important breaks I'll have an update up here in a few days.Thank you!
I'm currently subjecting hapless Steam users that dont know any better to testing a hotfix. Assuming nothing particularily important breaks I'll have an update up here in a few days.So far so good.
I'm currently subjecting hapless Steam users that dont know any better to testing a hotfix. Assuming nothing particularily important breaks I'll have an update up here in a few days.So far so good.
I use Rah's mega OP shield-armor that lets you shoot :o
Even a better implementation would be this: pawn can equip 2 weapons - 1 melee, 1 ranged. Pawn uses ranged by default. If someone engages pawn in melee range he auto switches to melee to defend. Remove all UI completely.Very curious, thats how it work's at my side.
[HugsLib][ERR] SimpleSidearms caused an exception during OnDefsLoaded: System.MissingMethodException: Method not found: 'HugsLib.ModBase.get_HarmonyInst'.
at HugsLib.HugsLibController.OnDefsLoaded () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
HugsLib.Utils.ModLogger:ReportException(Exception, String, Boolean, String)
HugsLib.HugsLibController:OnDefsLoaded()
HugsLib.HugsLibController:LoadReloadInitialize()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()
[HugsLib][ERR] SimpleSidearms caused an exception during OnUpdate: System.NullReferenceException: Object reference not set to an instance of an object
at SimpleSidearms.SimpleSidearms.Update () [0x00000] in <filename unknown>:0
at HugsLib.HugsLibController.OnUpdate () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
HugsLib.Utils.ModLogger:ReportException(Exception, String, Boolean, String)
HugsLib.HugsLibController:OnUpdate()
HugsLib.Patches.Root_Patch:UpdateHook()
Verse.Root:Update_Patch1(Object)
Verse.Root_Entry:Update()
Cmon man, GIVE US SOME NON-STEAM LINKdid you look at the GITHUB link?????
This is a must have mod, plz man :'( :'( :'( :'(
Even a better implementation would be this: pawn can equip 2 weapons - 1 melee, 1 ranged. Pawn uses ranged by default. If someone engages pawn in melee range he auto switches to melee to defend. Remove all UI completely.No. This mod is very useful combined with mods that add non-combat tools. Without a way to manually switch "weapons", it would lose part of its appeal.
Pawns will remember which weapon is their primary and will switch back to it once undrafted.Does it affect only auto-switch or manual switching also must be affected?
Hey kid, you want some *holds coat open* bootleg versions (https://ufile.io/na9vp)?
Standard delay on a proper release. There's been some issues on the steam version that I suspect were caused by people (or Steam) either not updating their Hugslib or having it in the wrong place on the load order, but I'd like to be sure first.
Thats why some clever people made download tools for.
Copy the link, the tool analyse the clipboard and detect a link and add it to the download list.
No annoying popups beside captcha's.
[HugsLib][ERR] SimpleSidearms caused an exception during OnDefsLoaded: System.MissingMethodException: Method not found: 'HugsLib.ModBase.get_HarmonyInst'.
at HugsLib.HugsLibController.OnDefsLoaded () [0x00000] in <filename unknown>:0
[StackXXL] Loaded
[HugsLib][ERR] SimpleSidearms caused an exception during OnUpdate: System.NullReferenceException: Object reference not set to an instance of an object
at SimpleSidearms.SimpleSidearms.Update () [0x00000] in <filename unknown>:0
at HugsLib.HugsLibController.OnUpdate () [0x00000] in <filename unknown>:0
https://gist.github.com/HugsLibRecordKeeper/782f23ccb41354e4eec0253c475eecafException in Verse.AI.ThinkNode_Priority TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at SimpleSidearms.utilities.WeaponAssingment.SetPrimary (Verse.Pawn pawn, Verse.Thing toSwapTo, Boolean intentionalEquip, Boolean fromInventory, Boolean dropCurrent, Boolean intentionalDrop) [0x00000] in <filename unknown>:0
at SimpleSidearms.utilities.WeaponAssingment.reequipPrimaryIfNeededAndAvailable (Verse.Pawn pawn, SimpleSidearms.rimworld.GoldfishModule pawnMemory) [0x00000] in <filename unknown>:0
at SimpleSidearms.rimworld.JobGiver_RetrieveWeapon.TryGiveJobStatic (Verse.Pawn pawn, Boolean inCombat) [0x00000] in <filename unknown>:0
at SimpleSidearms.rimworld.JobGiver_RetrieveWeapon.TryGiveJob (Verse.Pawn pawn) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_SubtreesByTag.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_Priority.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch1(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
Exception in Verse.AI.ThinkNode_Priority TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at SimpleSidearms.utilities.WeaponAssingment.SetPrimary (Verse.Pawn pawn, Verse.Thing toSwapTo, Boolean intentionalEquip, Boolean fromInventory, Boolean dropCurrent, Boolean intentionalDrop) [0x00000] in <filename unknown>:0
at SimpleSidearms.utilities.WeaponAssingment.reequipPrimaryIfNeededAndAvailable (Verse.Pawn pawn, SimpleSidearms.rimworld.GoldfishModule pawnMemory) [0x00000] in <filename unknown>:0
at SimpleSidearms.rimworld.JobGiver_RetrieveWeapon.TryGiveJobStatic (Verse.Pawn pawn, Boolean inCombat) [0x00000] in <filename unknown>:0
at SimpleSidearms.rimworld.JobGiver_RetrieveWeapon.TryGiveJob (Verse.Pawn pawn) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_SubtreesByTag.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_Priority.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob(ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
Could you maybe explain how you did that ?
Since you said it happen with hugslib and SimpleSidearms only too, you prolly can reproduce it.
-snip highly detailed, non-ambiguous, minimal-case error report-
Hope this helps :)
//avoid hunting stackoverflowexception
if (pawn.jobs.curJob.def == JobDefOf.Hunt)
pawn.jobs.EndCurrentJob(JobCondition.InterruptForced, true);
Just basic question, why there is an option to drop weapon when switch ? Is there a benefit, combat wise to drop the weapon instead moving it to inventory ?
Combat wise,These two posts being able to exist back to back, by the way, is the impossibility of pleasing everyone incarnate.
you see a fighter 2 steps ahead on the way to you.
Do you shoulter/holster your range weapon before and then draw your mellee weapon, you might use the range weapon after this.
Or do you just drop the range weapon draw the mellee weapon to parry the incoming attack.
Puting a weapon back should take time, but it doesn't.
SansMasterBudaa :3,I just cant understand how this mod makes appears 1 base faction per independent faction ???
i don't think it is this mod, it is more one of your other mod at your modlist.
Or many other would report a similar problem too.
Check out if the problem happen if you use the hugslib quickstart function (need dev mode on).
Then you just could disable some mods, and try it again until you found that mod.
It just allowed me to pick up the item (that is from another mod that lets my pawns carry things).Are you running combat extended by any chance? Simple Sidearms disables most inventory handling in favor of CE's when its installed.
Exception in Verse.AI.ThinkNode_Priority TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at SimpleSidearms.utilities.WeaponAssingment.SetPrimary (Verse.Pawn pawn, Verse.Thing toSwapTo, Boolean intentionalEquip, Boolean fromInventory, Boolean dropCurrent, Boolean intentionalDrop) [0x00000] in <filename unknown>:0
at SimpleSidearms.utilities.WeaponAssingment.reequipPrimaryIfNeededAndAvailable (Verse.Pawn pawn, SimpleSidearms.rimworld.GoldfishModule pawnMemory) [0x00000] in <filename unknown>:0
at SimpleSidearms.rimworld.JobGiver_RetrieveWeapon.TryGiveJobStatic (Verse.Pawn pawn, Boolean inCombat) [0x00000] in <filename unknown>:0
at SimpleSidearms.rimworld.JobGiver_RetrieveWeapon.TryGiveJob (Verse.Pawn pawn) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_SubtreesByTag.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
at Verse.AI.ThinkNode_Priority.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch1(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
Exception filling window for HugsLib.Settings.Dialog_ModSettings: System.NullReferenceException: Object reference not set to an instance of an object
at Toggles.Patches.Widgets_Patch.Prefix (string&) <0x00056>
at (wrapper dynamic-method) Verse.Widgets.Label_Patch1 (UnityEngine.Rect,string) <0x00023>
at HugsLib.Settings.Dialog_ModSettings.DrawHandleEntry (HugsLib.Settings.SettingHandle,UnityEngine.Rect,single&,single) <0x00a36>
at HugsLib.Settings.Dialog_ModSettings.DoWindowContents (UnityEngine.Rect) <0x00b95>
at Verse.Window/<WindowOnGUI>c__AnonStorey0.<>m__0 (int) <0x00882>
Verse.Log:Error(String, Boolean)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)
Mouse position stack is not empty. There were more calls to BeginScrollView than EndScrollView. Fixing.
Verse.Log:Error(String, Boolean)
Verse.Widgets:EnsureMousePositionStackEmpty()
Verse.Root:Update_Patch1(Object)
Verse.Root_Entry:Update()
repeated in that order forever.
Pawn Ant, Gatherer got primaryInt equipment Gun_MRGPistol289727 while already having primaryInt equipment MeleeWeapon_Knife113370
Verse.Log:Error(String, Boolean)
Verse.Pawn_EquipmentTracker:DMD<DMD<AddEquipment_Patch2>?468877312::AddEquipment_Patch2>(Pawn_EquipmentTracker, ThingWithComps)
SimpleSidearms.utilities.WeaponAssingment:equipSpecificWeapon(Pawn, ThingWithComps, Boolean, Boolean)
SimpleSidearms.utilities.WeaponAssingment:equipSpecificWeaponFromInventory(Pawn, ThingWithComps, Boolean, Boolean)
SimpleSidearms.utilities.WeaponAssingment:equipSpecificWeaponTypeFromInventory(Pawn, ThingDefStuffDefPair, Boolean, Boolean)
SimpleSidearms.rimworld.Gizmo_SidearmsList:handleInteraction(SidearmsListInteraction, Event)
SimpleSidearms.rimworld.Gizmo_SidearmsList:ProcessInput(Event)
Verse.GizmoGridDrawer:DrawGizmoGrid(IEnumerable`1, Single, Gizmo&)
RimWorld.InspectGizmoGrid:DMD<DMD<DrawInspectGizmoGridFor_Patch0>?-1592953600::DrawInspectGizmoGridFor_Patch0>(IEnumerable`1, Gizmo&)
RimWorld.MainTabWindow_Inspect:DrawInspectGizmos()
RimWorld.InspectPaneUtility:ExtraOnGUI(IInspectPane)
RimWorld.MainTabWindow_Inspect:ExtraOnGUI()
Verse.WindowStack:WindowStackOnGUI()
RimWorld.UIRoot_Play:UIRootOnGUI()
Verse.Root:OnGUI()
[Simple sidearms] Patch operation Verse.PatchOperationInsert(/Defs/ThinkTreeDef[defName="Humanlike"]/thinkRoot[@Class="ThinkNode_Priority"]/subNodes/li[@Class="ThinkNode_ConditionalColonist"]/subNodes/li[@Class="JobGiver_Work" and emergency="true"]) failed
file: D:\Game\Steam\steamapps\workshop\content\294100\927155256\v1.1\Patches\thinkTreePatches.xml
Verse.Log:Error(String, Boolean)
Verse.PatchOperation:Complete(String)
Verse.LoadedModManager:ClearCachedPatches()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.<>c:<Start>b__6_1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.<>c:<UpdateCurrentAsynchronousEvent>b__27_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()
ThePerroZX,
do you use maybe the mod "Mellee hunting" or why does start your hunter the hunt with a mellee weapon ? Normaly he wouldn't do that.
Then you should switch the default weapon of your hunter to a range weapon instead of a mellee weapon.
Maybe you disable at the setting that he don't switch at all, or don't switch to a mellee weapon.
At the mod setting left of the Open button is hidden a button to reset all settings, maybe that helps too.
Does this mod work for RM 1.2.2753?
(Apologies if this is necro-thread, but I didn't find a more recent Simple Sidearms thread)
Does anybody have good details on what the settings do?
I'm trying to set my colonists each with a rifle and a pistol--but no matter what they end up using the rifle at all ranges of ranged combat.
The colonists *do* correctly swap for grenades, just not for pistols.
Pretty sure this is something in the "Mod Settings" for *Simple Sidearms* which I can affect, but kinda clueless as to what knob/switch/slider effects what.
Thanks in advance!
Does anyone have any good workarounds for dealing with sidearms when caravanning? I'm relying on memory not to sell my caravanners sidearms, and when I'm splitting up caravans I always end up missing something and sending someone off with someone else's monosword.
Ah that would work if the assault team was always the same...
Hi,
Is there a way to set the colonists to use ranged weapons preferentially and to use a melee weapon only after a close attack?
Yes, in mod settings -> triggers -> melee combat autoswitch