mirror of
https://gitgud.io/BondageProjects/Bondage-College.git
synced 2025-04-25 17:59:34 +00:00
Fix the Dojo daily job deleting owner locks on release
Instead of just blanket-releasing the player, just remove the two assets we've put on. Technically, the dialog should also restore the player's initial appearance, since they also get CharacterNaked called upon them, but that's more involved.
This commit is contained in:
parent
36d5bb532f
commit
5b10ed50e7
3 changed files with 22 additions and 7 deletions
BondageClub
|
@ -39,7 +39,6 @@ function DojoStruggleRun() {
|
|||
|
||||
// The game ends after 71 seconds with a victory
|
||||
if (MiniGameTimer >= 71000) {
|
||||
CharacterRelease(Player);
|
||||
MiniGameVictory = true;
|
||||
MiniGameEnded = true;
|
||||
} else {
|
||||
|
|
|
@ -201,10 +201,10 @@ function DailyJobPuppyPlayer() {
|
|||
* @returns {void} - Nothing
|
||||
*/
|
||||
function DailyJobDojoRestrainPlayer() {
|
||||
InventoryWear(Player, "HempRope", "ItemArms", "Default", 7);
|
||||
if (InventoryGet(Player, "ItemTorso") == null) {
|
||||
const item = InventoryWear(Player, "HempRopeHarness", "ItemTorso", "Default", 7);
|
||||
TypedItemSetOptionByName(Player, item, "Harness");
|
||||
InventoryWear(Player, "HempRope", "ItemArms", "Default", undefined, undefined, undefined, false);
|
||||
if (!InventoryGet(Player, "ItemTorso")) {
|
||||
const item = InventoryWear(Player, "HempRopeHarness", "ItemTorso", "Default", undefined, undefined, undefined, false);
|
||||
TypedItemSetOptionByName(Player, item, "Harness", false);
|
||||
}
|
||||
CharacterRefresh(Player);
|
||||
}
|
||||
|
@ -223,9 +223,24 @@ function DailyJobDojoGameStart() {
|
|||
*/
|
||||
function DailyJobDojoGameEnd() {
|
||||
CommonSetScreen("Room", "DailyJob");
|
||||
|
||||
DailyJobDojoTeacher.Stage = (MiniGameVictory) ? "100" : "200";
|
||||
CharacterSetCurrent(DailyJobDojoTeacher);
|
||||
if (MiniGameVictory) IntroductionJobDone();
|
||||
if (MiniGameVictory) {
|
||||
IntroductionJobDone();
|
||||
let refresh = false;
|
||||
if (InventoryGet(Player, "ItemArms")?.Asset.Name === "HempRope") {
|
||||
InventoryRemove(Player, "ItemArms", false);
|
||||
refresh = true;
|
||||
}
|
||||
if (InventoryGet(Player, "ItemTorso")?.Asset.Name === "HempRopeHarness") {
|
||||
InventoryRemove(Player, "ItemTorso", false);
|
||||
refresh = true;
|
||||
}
|
||||
if (refresh) {
|
||||
CharacterRefresh(Player);
|
||||
}
|
||||
}
|
||||
IntroductionMaid.Stage = "0";
|
||||
DailyJobDojoTeacher.CurrentDialog = DialogFind(DailyJobDojoTeacher, (MiniGameVictory) ? "DojoStruggleVictory" : "DojoStruggleDefeat");
|
||||
}
|
||||
|
|
|
@ -809,7 +809,8 @@ var InventoryWearCraft = /** @type {never} */(function() { return; });
|
|||
function InventoryWear(C, AssetName, AssetGroup, ItemColor, Difficulty, MemberNumber, Craft, Refresh=true) {
|
||||
const A = AssetGet(C.AssetFamily, AssetGroup, AssetName);
|
||||
if (!A) return null;
|
||||
const item = CharacterAppearanceSetItem(C, AssetGroup, A, (ItemColor == null || ItemColor == "Default") ? [...A.DefaultColor] : ItemColor, Difficulty, MemberNumber, false);
|
||||
const color = (ItemColor == null || ItemColor == "Default") ? [...A.DefaultColor] : ItemColor;
|
||||
const item = CharacterAppearanceSetItem(C, AssetGroup, A, color, Difficulty, MemberNumber, false);
|
||||
|
||||
/**
|
||||
* TODO: grant tighter control over setting expressions.
|
||||
|
|
Loading…
Add table
Reference in a new issue