Fallout 2 mod Steal mechanic tweaks

What steal mechanic you prefer


  • Total voters
    8

phobos2077

Vault Dweller
Modder
So as I work on EcCo I finally decided to do something about stealing mechanics. Vanilla stealing just doesn't work. I'm at 18% skill and can easily steal stuff, chances are just too high. So I dig into engine how it works and found it to be strange:

- First it calculates a chance modifier based on item weight (but it doesn't take stack size into account, as you can steal several "big" items for the "price" of one), how many items you steal in a row (each consecutive attempt is 1% harder), if you're standing in front of the target (-25% if you do)
- If you have a Pickpocket perk, it ignores weight and facing penalties.
- If target is down, it increases by +25%.
- Then it adds your Steal skill to this modifier and caps at 95% (like most chance-based rolls in the game).

So far all good, right? Well this is where weird shit happens:
- It makes first random roll (using normal roll with critical chance).
- If roll is critical success, all good, item stolen.
- If roll is critical failure, you get caught.
- ELSE (if it's either success OR failure), it makes a second roll! This one is based on target's Steal skill as opposed to your skill and a negated modifier (the same one we calculated in the beginning and used for the first roll).
- IF this "catch roll" succeeds (success or critical success), then you get caught. Otherwise, you steal successfully.

Do you see an issue here? The first roll is the one using your skill and not an opponent's skill. And if you FAIL this skill check but target also fails his check, then you get a successful result. Which basically means you have a good chance to steal even at steal skill of 0%...

My first thought was this was a mistake, some oversight on the part of devs (maybe they rushed to implement this mechanic and it worked "well enough", they never bothered about balancing thief characters?).

So my response to this was to implement a modified steal mechanic:
https://github.com/phobos2077/fo2_ecco/blob/master/scripts_src/_pbs_main/gl_pbs_steal.ssl

- If catch roll failed but steal roll also failed, then "silently" fail steal instead of succeeding - this prints a new message.
- Also adds some extra tweaks like being able to configure all the constant numbers from ini file and taking into account item quantity, among other stuff (I also added optional local town reputation hit).


Looking again at this logic now, I think maybe the idea was that when you try to steal something, first roll basically defines how "sloppy" you are. So success or fail are treated in the same way. But then even if you're sloppy but not too much, but the victim is also sloppy - you get away with your poor skills. Like stealing from a blind person))

The issue with this justification is that it uses only "Steal" skill for the "catch" roll. Most critters have low steal skill (because, except for Den children's, nobody ever steals). Maybe if it used perception instead, it would make more sense? But then again, I still think it's wrong to treat both success and fail in the same way. Makes your skill investment almost meaningless.

I think this script is probably not the final version. It kinda works in how it makes steal harder and skill matter more, but you can still save-scum-steal lots of stuff even at 15% skill. Maybe if I subtract target's skill and/or perception with a multiplier for the first roll...


What do you think? Do you like the new mechanic or you prefer vanilla? How do you think this should work?
 
The problem with steal is the lack of difference when increasing the steal skill, since it all depends on the target's roll. Even with a high skill, you still need the target to fail at his check. The only difference comes from your base critical chance. For me to consider steal "worthy" of investing, the difference between steal skill 10% and steal skill 110% has to be qualitative, not just quantitative. I usually play ironman, a qualitative difference would be as an example if the target did not remember turning hostile on a failed check. There are NPCs where you can just leave the map and reenter, and they're non-hostile again, but others have the ally/enemy state permanently stored (in an LVAR?). I suppose this kind of override would be difficult to implement, since it's script behavior, not engine behavior.

If you can't get out of the hostile state via some deterministic option (reentering the map, or the override proposed above), stealing is never worth it and you go for something else.

Arcanum had the faith point thing, which resulted in deterministic behavior, but this wouldn't fit in a non-fantasy setting.

Looking at the github file and the description, it does introduce some difference (you have to succeed on your roll to have a successful steal), but I don't think it makes steal skill more/less worthy of investment. On NPCs that don't have hostile LVAR on a failed steal, you continue stealing without investing in the skill and on NPCs that do have that LVAR, you can't afford to fail at a steal check, so you don't steal at all.
 
Last edited:
Arcanum had the faith point thing, which resulted in deterministic behavior, but this wouldn't fit in a non-fantasy setting.
You mean "alignment" loss when stealing from "good" NPCs? Been a while since I played it. But based on wiki description, sounds very similar to Fallout (unsurprisingly, both likely designed and written by Tim Cain).

In my current implementation, you lose a small amount of local reputation when stealing. So this makes you consider if stealing worth it to get the item.
Also skill investment makes sense now, with the new "steal failed, but you didn't get caught" outcome. You will need to try several times to steal an item if your skill is low before you either succeed or get caught, where as in vanilla you will always just succeed in this case. And as you said, critical chance plays the biggest role.

I feel like I should do something about the "catch" roll. If on high levels of skill there is less randomness when determining success (very low catch probability), this will make steal investment more worthwhile and the outcome more "deterministic" for your ironman playthroughs, but maybe more boring as well? Since NPC's turn into free containers for you. (unless you care about reputation, I guess).
 
You mean "alignment" loss when stealing from "good" NPCs? Been a while since I played it. But based on wiki description, sounds very similar to Fallout (unsurprisingly, both likely designed and written by Tim Cain).
I meant this https://arcanum.fandom.com/wiki/Fate_Points
played it long time ago too... apparently it's called fate points :)
You can force a critical success roll via fate points.

You will need to try several times to steal an item if your skill is low before you either succeed or get caught, where as in vanilla you will always just succeed in this case.
Sure, that's true.
 
Ok how about this:

- For "steal success" roll instead of "modifier + thief_steal" use "modifier + thief_steal - target_steal". Since steal skill for most critters is very low (no allocated points, just the base between 10-20%), this effectively requires you to put at least some points into the skill to be able steal anything at all. And it makes sense in general that "skill contest" should take place within single roll, not 2.
- In case the result of first roll is FAILURE, for the "catch success" roll instead of "target_steal - modifier" use "target_perception * 4 - modifier". This doesn't change much against the regular critters on average. Against proficient thieves it reduces chance to get caught (if you're skilled enough to overcome their skill and have any chance of success whatsoever). This again makes more sense. The less observant the target is, the less likely is to get caught.
- Finally, if "steal" roll was a "success", then formula changes to just "-modifier". This ensures that your skill level plays even bigger role in the outcome, makes the result even more predictable (on very high skill you'll get success often) but still leaves some chance to get caught anyway, as to not make the mechanic too boring.

How modifier is calculated, you can see in OP.
 
Question regarding the steal mechanic: does the use and/or success of steal affect karma now?

If it doesn't now, could it be made to?

Would that be something you could do or would even be interested in attempting? I've always wanted that in the MM.
 
Question regarding the steal mechanic: does the use and/or success of steal affect karma now?
Not karma, but local reputation (in my current unreleased version of script, you can find it on github).

Would that be something you could do or would even be interested in attempting? I've always wanted that in the MM.
You can use my script as a starting point. Karma is just a global var. Don't know anything about MM, but in RPU headers there is a macro function that normal scripts use to inc/dec global reputation (karma). They just change gvar and add gvars for statuses on certain thresholds.
 
Oh. So, as it stands now, will your code apply then only to the player? Or, would it apply to any critter that potentially steals?
 
Oh. So, as it stands now, will your code apply then only to the player? Or, would it apply to any critter that potentially steals?
This is a strange question. I've answered this in the post above. If you have critters that steal in your mod, you can just copy pieces of this code into their script (use headers to reuse core stealing logic). I'm not sure what is it you're trying to solve there.
 
I know what MIB might have in mind.

sort of something similar to what Mr.Stalin did with other skills like repair, science, doctor, first aid, lockpick and traps, perhaps MIB wants to make a mechanic or plans to develop an party npc, that would steal items for you if that given npc has higher skill level than you,etc. actually this would be really cool.

Personally I'm on the board of DekRus version of steal mod.

the best way to utilize *his* version of the mod is actually in EtTu ( namely 200% skill cap) this way when an npc has 10 PE You are unable to steal the handheld items even with max skills. It would require an additional set of shenanigans to pull this off. Not only You would have to lower the PE of that npc by feeding it alcohol in an enaugh amount to lower the skill check below 200%, you would also have to, lower it a bit more than 200% to have any decent chance of stealing the item. o top of that sneak and or stealthboy is nessecary in order to increase the steal chance to a decent enaugh level, to consider it a "let's try it". Simple nerf to steal, like in your version, is a form of masochism, if it doesn't provide anythihg usefull when maxed out , then why even bother.
 
Simple nerf to steal, like in your version, is a form of masochism, if it doesn't provide anythihg usefull when maxed out , then why even bother.
Why do you mean by "doesn't provide anything useful"? It not a "simple nerf", it actually makes investing into skill useful. Maybe you didn't fully understand how it works or I don't understand what you meant.

I much prefer simpler system that gets the job done, without all the complexities. Although I have nothing against very complicated mechanics in general, but I think they usually fit well in sim games like Zomboid, not in RPG's.
 
This is a strange question. I've answered this in the post above. If you have critters that steal in your mod, you can just copy pieces of this code into their script (use headers to reuse core stealing logic). I'm not sure what is it you're trying to solve there.

This is a strange interpretation of my question. I wasn't trying to solve anything. As I haven't gotten a chance to see it yet for myself, the question was simply to ask about what you have already created. I know I *could* put code in any critter's script. But I didn't (and still don't) know for sure if you modified the obj_dude script directly (so, just the player) or created some type of hook or global script or did something else (which could affect other critters).

Although, @gustarballs1983 did just give me an idea to modify a party NPC who may be likely to steal. Oh! Imagine the trouble you could get into if one of your companions did something and got caught!
 
This is a strange interpretation of my question. I wasn't trying to solve anything. As I haven't gotten a chance to see it yet for myself, the question was simply to ask about what you have already created.
I assumed you were asking about how engine works, I thought it was obvious from the OP I was talking about modifying stealing mechanics built into the engine via hook script. Since non-combat behavior of critters is controlled entirely from scripts, whatever mechanic scripts implement has nothing to do with player stealing mechanics. And there is literally link to a script, you don't need more than 1 minute to click and see exactly how it works and what it does. I guess I see every FO2 discussion through sfall/engine lens because I'm in this bubble.

As I said, you can rewrite it to reuse some common logic between hook-based player stealing and whatever NPC stealing mechanic you have in mind. Or whatever, you didn't say what was the problem you were solving so I could give you a better answer.

I think having a thief party member is a neat idea, in theory. But what does the NPC decide to steal exactly? Need some kind of item selection logic to make it useful. If you look at Den orphans, they select totally random item and use some very simplified formula for steal success - which totally suits the purpose. So it makes sense to have entirely different implementation for PC, party members and specific NPCs based on their role. You can always put common logic into procedure in a header and reuse it.

And then there's a balance problem to consider. I struggled with it in EcCo. When you can get a party member fairly early in the game with little effort who happens to have higher barter skill than you, it nullified all your skill point investment into Barter. So every time you add ability to a party member (like healing, lock picking, crafting, etc.) - you need to consider how it affect character progression and remember FO1/2 are not party-based games. Should be about your main character. Party should help you out but not make character build choices irrelevant.
 
Last edited:
I have an opinion. If you get the steal skill high enough, you should be able to take the weapon from an npcs hands and the armour off his back. LARPing it away, you could imagine the steal skill not just being the act of sticking your hands into someones pockets but also more elaborately conning stupid wastelanders. The cutoffs could be high like 200%,you could have a possibility of failure, but the option should be there. Just seems like FUN.
 
I have an opinion. If you get the steal skill high enough, you should be able to take the weapon from an npcs hands and the armour off his back. LARPing it away, you could imagine the steal skill not just being the act of sticking your hands into someones pockets but also more elaborately conning stupid wastelanders. The cutoffs could be high like 200%,you could have a possibility of failure, but the option should be there. Just seems like FUN.

than go check DeKRuS's Fo2MechanicsMiniRework mod.

the steal threshold to steal from handslots is set to 160% +10% on top for every point in PE the victim has so it caps out on 210%. this is quite fun in EtTu with some guards in the Hub. In EtTu You cap out at 200% skill and one of the guards has 10PE so the minimum skill needed to steal is 210%, so you'd have to lower that guard's PE in order to steal his weapon ( he has Pancor Jackhammer). also certain locker in BoS is beeing guarded and falls under this same category (only you have to dope 2 npcs instead of just one).
this mod is handy in more than just one Fo2 Total Conversion Last Hope for example alows You to get Combat Armor (end game tier armor) a tad bit erlier, and also aquire Stealthboy without sacrificing a ton of super stimpacks.

no option for stealing armors from hide,#1 it;'s not implemented #2 npcs generally don't wear armor, and have resistances and thresholds imprinted in to their proto files, so it's a no no.. however DekRuS's mod has other interesting mechanics changes like for example skillbook mod that alows party npcs to benefit from skillbooks.
 
than go check DeKRuS's Fo2MechanicsMiniRework mod.

the steal threshold to steal from handslots is set to 160% +10% on top for every point in PE the victim has so it caps out on 210%. this is quite fun in EtTu with some guards in the Hub. In EtTu You cap out at 200% skill and one of the guards has 10PE so the minimum skill needed to steal is 210%, so you'd have to lower that guard's PE in order to steal his weapon ( he has Pancor Jackhammer). also certain locker in BoS is beeing guarded and falls under this same category (only you have to dope 2 npcs instead of just one).

@gustarballs1983 I'm currently playing Fallout Eu Tu + DeKRuS's Fo2MechanicsMiniRework with slightly lowered (via config) threshold to steal from handslots, so this mechanics is (in some way) usable also in this TCM. Just curious -> exactly which guard in Hub (show screenshot for example) has Pancor Jackhammer? I must have overlooked this thing. Thank you for feedback.
 
@gustarballs1983 I'm currently playing Fallout Eu Tu + DeKRuS's Fo2MechanicsMiniRework with slightly lowered (via config) threshold to steal from handslots, so this mechanics is (in some way) usable also in this TCM. Just curious -> exactly which guard in Hub (show screenshot for example) has Pancor Jackhammer? I must have overlooked this thing. Thank you for feedback.


this guy is not visible from above by default as buildings are covering him. he is in the middle crossection between four buildings in the center. Normally he has combat shotgun in vanilla, however if Fo2 weapons enabled=1 in the settings he should have some sort of a gun with pancor graphics ( it's name should be different though as far as i remember to fit lore rules set by some guy).

EDIT:
as I've said this cop has 10PE so it's the steal limit you've set plus ~50% (a.k.a +5% for each PE point or something or was it 10% for each point above 5PE i can't remember now). thing is if you don't have enaugh points in steal you need to lower PE of the victim with alcohol.
 
Last edited:
this guy is not visible from above by default as buildings are covering him. he is in the middle crossection between four buildings in the center. Normally he has combat shotgun in vanilla, however if Fo2 weapons enabled=1 in the settings he should have some sort of a gun with pancor graphics ( it's name should be different though as far as i remember to fit lore rules set by some guy).

EDIT:
as I've said this cop has 10PE so it's the steal limit you've set plus ~50% (a.k.a +5% for each PE point or something or was it 10% for each point above 5PE i can't remember now). thing is if you don't have enaugh points in steal you need to lower PE of the victim with alcohol.

I got it, thank you. Lowering PE with alcohol (Beer, Booze) also works perfectly as you said.
 

Attachments

  • screen.png
    screen.png
    1.1 MB · Views: 88
Last edited:
Back
Top