Skip to content

Dev#823

Merged
littlesera merged 2 commits into
mainfrom
dev
May 26, 2026
Merged

Dev#823
littlesera merged 2 commits into
mainfrom
dev

Conversation

@littlesera
Copy link
Copy Markdown
Owner

No description provided.

tenjou-no-kitsune and others added 2 commits May 25, 2026 09:40
This commit stops a `StruggleMinigameStart` that isn't on the player themselves from triggering tamperproof behaviors.
It is done by introducing a `C.IsPlayer()` check before setting `this.Struggling` to `true` on the `StruggleMinigameStart` hook.

There is a case where a struggle minigame is started on another character instead of the player which can result in a buggy message:
X has a self-tightening tamperproof binding with a lock... Y tries to lockpick it but fails... and the following is sent...
"Y's <binding> tightens around them, countering their tampering.`"
instead of the following which makes more sense...
"X's <binding> tightens around them, countering Y's tampering.`"

The reason why I have opted to completely disable this code path is because it didn't seem like tamperproof was meant to work this way at all...
as in... struggles on a third-party doesn't seem supported in the first place, since even if we fixed the message appropriately...
the self-tightening counter effect doesn't actually apply at all, since it'd try to lookup the Player's own appearance...
and not the appearance of the one the player is assisting.
xref: https://github.com/littlesera/LSCG/blob/main/src/Modules/item-use.ts#L1881-L1884

As for the other effects, it's up for debate whether it makes sense for the character helping another struggle to be sedated or shocked...
I think this warrants a revisit to the logic for cases where someone is helping another struggle.
Henceforth, I believe it is better to disable this codepath for now.

The bug lies specifically when `StruggleMinigameStart` is called with a `C` argument that isn't the player themselves...
This has been found out to occur when a player tries to lockpick others... i.e. when `StruggleProgressCurrentMinigame` is `"LockPick"`...
xref: https://gitgud.io/BondageProjects/Bondage-College/-/blob/master/BondageClub/Scripts/Dialog.js?ref_type=heads#L1851

The character the struggling minigame is done on could also be not the player in other cases as well... which would lead to the bug too...
xref: https://gitgud.io/BondageProjects/Bondage-College/-/blob/master/BondageClub/Scripts/Dialog.js?ref_type=heads#L5749
…hirdparty-tamperproof

fix(item-use): disable buggy tamperproofing against third-party assist
@littlesera littlesera merged commit d7ae141 into main May 26, 2026
2 checks passed
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

Successfully merging this pull request may close these issues.

2 participants