Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using crowbar to open locks #101

Closed
Lexx2k opened this issue Jul 21, 2022 · 5 comments
Closed

Using crowbar to open locks #101

Lexx2k opened this issue Jul 21, 2022 · 5 comments
Assignees

Comments

@Lexx2k
Copy link

Lexx2k commented Jul 21, 2022

This isn't really a bug report, just some thoughts ...

I kinda feel like using the crowbar to open any lock makes the lockpick skill completely useless. My character has 8 STR, and since the very beginning of the game, I literally open every single lock with the first crowbar I've found in Klamath. This seems incredibility overpowered to me. If at least there would be a higher chance to fail more and damage yourself, or you destroy the crowbar, etc. it might be different, but the way it is right now, I would be stupid to not keep using it.

In a way, the game was better when using the crowbar was bugged. :D

/Edit: This SAD door is the first one that apparently can't be opened with the crowbar.
scr00007
(from RPU, but I blindly assume it's the same in UPU :x )

@burner1024
Copy link
Member

But you're not getting the XP! That alone is enough to stop an obsessive type.
And there's a chance to damage yourself.

@Lexx2k
Copy link
Author

Lexx2k commented Jul 21, 2022

I'm literally breezing through SAD with just using crowbar on everything that is locked. Doing that for the whole game and never had a crit fail. Sometimes I have to use the crowbar twice, but that's as bad as it gets.

Didn't even noticed diminishing xp. I'm level 14 now and seem to be doing fine. :>

@burner1024
Copy link
Member

burner1024 commented Aug 21, 2022

Stat_Roll:=do_check(source_obj,STAT_st,Crowbar_Bonus);

int do_check(ObjectPtr who, int check, int modifier)
Do a check/test-roll versus one of the various basic traits (strength, perception, etc.). Note: these cannot generate Critical Success or Critical Failure as they are a basic X==Y check.

Looks like criticals don't work for stat checks, only skill checks.
Crowbar_Bonus is 0 by default. If I understand correctly, the result is that the check is that STR > 0 =).
Or is it an actual roll?

$ grep -R Crowbar_Bonus scripts_src/
scripts_src/generic/ziwoddor.ssl:#define Crowbar_Bonus                   (0)
scripts_src/generic/ziwoddor.ssl:  Stat_Roll:=do_check(source_obj,STAT_st,Crowbar_Bonus);
scripts_src/headers/doors_containers.h:#ifndef Crowbar_Bonus
scripts_src/headers/doors_containers.h:  #define Crowbar_Bonus                   (0)
scripts_src/headers/doors_containers.h:    Stat_Roll:=do_check(source_obj,STAT_st,Crowbar_Bonus);
scripts_src/navarro/cstouch.ssl:   //Stat_Roll:=do_check(source_obj,STAT_st,Crowbar_Bonus);
scripts_src/vault15/bselev.ssl:#define Crowbar_Bonus                   (-200)

But for some reason bselev uses value of -200??
Does it mean that do_check actually rolls something after all? Maybe random(1, STR) > modifier?

Edit: looking at CE source, it's rolling d10, then checks is roll_result <= (STR+mod).

@burner1024
Copy link
Member

I thought prying was added by killap as #61 said, but I checked vanilla files, and it's actually there too, so it's an original feature.
I fixed chance to strain back on critical failure, and in addition introduced a separate chance to destroy the crowbar (more likely to happen with metal doors/containers)

burner1024 added a commit to BGforgeNet/Fallout2_Restoration_Project that referenced this issue Aug 27, 2022
burner1024 added a commit to BGforgeNet/Fallout2_Restoration_Project that referenced this issue Aug 27, 2022
burner1024 added a commit to BGforgeNet/Fallout2_Restoration_Project that referenced this issue Aug 27, 2022
burner1024 added a commit that referenced this issue Aug 27, 2022
burner1024 added a commit that referenced this issue Aug 27, 2022
burner1024 added a commit that referenced this issue Aug 27, 2022
burner1024 added a commit that referenced this issue Aug 27, 2022
burner1024 added a commit that referenced this issue Aug 27, 2022
burner1024 added a commit that referenced this issue Aug 27, 2022
burner1024 added a commit to BGforgeNet/Fallout2_Restoration_Project that referenced this issue Aug 27, 2022
burner1024 added a commit to BGforgeNet/Fallout2_Restoration_Project that referenced this issue Aug 27, 2022
@burner1024
Copy link
Member

burner1024 commented Aug 27, 2022

As usual, pull a thread and the whole thing starts to unravel...
The critical perception check branch wouldn't work, of course, since stat checks don't generate criticals. Added a workaround for that, did some more cleanup and consolidation. Hopefully didn't screw up anything, pretty tired of that now.

Just fyi, if you pull prying changes into 1in2, the breaking algo is just something I came up with on the fly. Since pry never worked, we have some leeway in how exactly to implement it.

The whole codebase needs to be reexamined for is_critical checks checking stat rolls. From a quick look, there's a few.
I wonder if it makes it more sense to just fix it in sfall to allow criticals.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants