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
Exploit: The gate guard can be bribed multiple times with Dusty as a follower #182
Conversation
The info condition: gothic-1-community-patch/scriptbase/_work/Data/Scripts/Content/Story/Missions/DIA_GRD_216_Torwache.d Lines 78 to 86 in 1301413
The dialog lines (following the correct dialog choice): gothic-1-community-patch/scriptbase/_work/Data/Scripts/Content/Story/Missions/DIA_GRD_216_Torwache.d Lines 128 to 154 in 1301413
The only reference point whether the bribe was paid is the log entry. The info condition will have to be extended by a check for that specific entry in the respective log topic. The function for doing that is already supplied by G1CP. The difficult thing is to find the exact wording of the log entry. To do so the byte code of the dialog function will have to searched to find the string symbol that is pushed when calling |
An alternativ would be to check the amount of ore the guard has. Given he is immortal (is he?), that amount should not change. Such a check won’t be very robust and will depend on how much the bribe is and how much ore the guard had beforehand. |
Can we introduce new global variables like Edit: This might not work due to the fact that if the patch gets removed and reinstalled, the variables will be resetted. 🤔 |
Yes, here some information how that works. Only some types of variables are written to and restored from game saves:
Yes and no. In the context of patches, variables introduced by a patch remain in game saves even when the patch is removed. This allows to remove and reintroduce a patch and continue where left off. It’s only when Ninja is uninstalled that these variables are lost from game saves. So yes, using a variable is very suitable here. Setting it to true will allow to add a reliable check in the condition function. But since we are writing a patch, there are two problems:
This is going against the idea of allowing to add and remove the patch at any time. |
Thanks for the insight!
So we will continue to find additional conditions for the |
This approach here should be reliable enough:
|
The test is automatic. It may still be worth to check it manually (with saving and loading as written in the issue description). I have not tested that yet. |
Describe the bug
When bringing Dusty to the Swamp Camp, the player can indefinitely bribe the gate guard to get EXP.
Expected behavior
The gate guard can only be bribed once when bringing Dusty to the Swamp Camp.
Steps to reproduce the issue