bondage-college-mirr/C009_Library/Yuki/Script.js
Ben987 5ab5b64792 Chapter 9 - More Yuki
Chapter 9 - More Yuki
2018-04-01 15:56:41 -04:00

302 lines
No EOL
12 KiB
JavaScript

var C009_Library_Yuki_CurrentStage = 0;
var C009_Library_Yuki_BookAlreadyFound = false;
var C009_Library_Yuki_DetentionBondage = false;
var C009_Library_Yuki_DetentionFighting = false;
var C009_Library_Yuki_IsolationMildred = false;
var C009_Library_Yuki_IsolationYuki = false;
var C009_Library_Yuki_IsolationPleasureYuki = false;
var C009_Library_Yuki_IsolationOrgasmYuki = false;
var C009_Library_Yuki_IsolationEarlyReleaseYuki = false;
var C009_Library_Yuki_IsolationEscapeYuki = false;
var C009_Library_Yuki_HasEgg = false;
var C009_Library_Yuki_CanFindPlayer = true;
var C009_Library_Yuki_AllowSecondChance = true;
var C009_Library_Yuki_PenInHole = false;
var C009_Library_Yuki_AnnoyCount = 0;
var C009_Library_Yuki_TickleDone = false;
var C009_Library_Yuki_CaressDone = false;
var C009_Library_Yuki_OrgasmDone = false;
var C009_Library_Yuki_MasturbateCount = 0;
var C009_Library_Yuki_ReleaseConfirm = false;
var C009_Library_Yuki_SleepingPillFromHole = false;
var C009_Library_Yuki_CanAskForDoor = false;
var C009_Library_Yuki_PenAvail = true;
// Chapter 9 Library - Yuki Load
function C009_Library_Yuki_Load() {
// Load the scene parameters
ActorLoad("Yuki", "Library");
LoadInteractions();
Common_SelfBondageAllowed = false;
C009_Library_Yuki_ReleaseConfirm = false;
C009_Library_Yuki_CanAskForDoor = C009_Library_Library_FoundLockedDoor;
if (C009_Library_Yuki_CurrentStage >= 500) C009_Library_Library_CurrentZone = "008";
else C009_Library_Library_CurrentZone = "007";
// A few variables on what already happened
C009_Library_Yuki_PenInHole = (C009_Library_Search_PenInHole && !GameLogQuery("C009_Library", "Yuki", "StuckInHole") && C009_Library_Yuki_PenAvail);
C009_Library_Yuki_BookAlreadyFound = (C009_Library_Library_BookProgress > 40);
C009_Library_Yuki_DetentionBondage = GameLogQuery("C001_BeforeClass", "Sidney", "PublicBondage");
C009_Library_Yuki_DetentionFighting = (GameLogQuery("C001_BeforeClass", "Sidney", "FightVictory") || GameLogQuery("C001_BeforeClass", "Sidney", "FightDefeat"));
C009_Library_Yuki_IsolationMildred = GameLogQuery("C006_Isolation", "Mildred", "Isolation");
C009_Library_Yuki_IsolationYuki = GameLogQuery("C006_Isolation", "Yuki", "Isolation");
C009_Library_Yuki_IsolationPleasureYuki = GameLogQuery("C006_Isolation", "Yuki", "Pleasure");
C009_Library_Yuki_IsolationOrgasmYuki = GameLogQuery("C006_Isolation", "Yuki", "Orgasm");
C009_Library_Yuki_IsolationEarlyReleaseYuki = (GameLogQuery("C006_Isolation", "", "Release") && C009_Library_Yuki_IsolationYuki);
C009_Library_Yuki_IsolationEscapeYuki = (GameLogQuery("C006_Isolation", "", "Escape") && C009_Library_Yuki_IsolationYuki);
C009_Library_Yuki_HasEgg = ActorHasInventory("VibratingEgg");
// The first dialog can be different depending on what happened before
if (C009_Library_Yuki_CurrentStage == 6) C009_Library_Yuki_CurrentStage = 0;
if ((C009_Library_Yuki_CurrentStage == 0) && (Common_PlayerRestrained || Common_PlayerGagged)) C009_Library_Yuki_CurrentStage = 5;
if ((C009_Library_Yuki_CurrentStage == 0) && C009_Library_Yuki_IsolationOrgasmYuki && C009_Library_Yuki_IsolationEarlyReleaseYuki) C009_Library_Yuki_CurrentStage = 10;
if ((C009_Library_Yuki_CurrentStage == 0) && C009_Library_Yuki_IsolationEscapeYuki) C009_Library_Yuki_CurrentStage = 20;
if ((C009_Library_Yuki_CurrentStage == 0) && C009_Library_Yuki_IsolationPleasureYuki && !C009_Library_Yuki_IsolationOrgasmYuki) C009_Library_Yuki_CurrentStage = 30;
if ((C009_Library_Yuki_CurrentStage == 0) && C009_Library_Yuki_IsolationYuki) C009_Library_Yuki_CurrentStage = 40;
if ((C009_Library_Yuki_CurrentStage == 0) && C009_Library_Yuki_IsolationMildred) C009_Library_Yuki_CurrentStage = 50;
if ((C009_Library_Yuki_CurrentStage == 0) && C009_Library_Yuki_DetentionFighting) C009_Library_Yuki_CurrentStage = 60;
if ((C009_Library_Yuki_CurrentStage == 0) && C009_Library_Yuki_DetentionBondage) C009_Library_Yuki_CurrentStage = 70;
}
// Chapter 9 Library - Yuki Run
function C009_Library_Yuki_Run() {
BuildInteraction(C009_Library_Yuki_CurrentStage);
if (C009_Library_Yuki_CurrentStage < 250) DrawInteractionActor();
if ((C009_Library_Yuki_CurrentStage >= 270) && (C009_Library_Yuki_CurrentStage < 300)) DrawInteractionActor();
if ((C009_Library_Yuki_CurrentStage >= 300) && (C009_Library_Yuki_CurrentStage < 320)) { DrawActor("Yuki", 480, 0, 1); DrawActor("Player", 720, 30, 1); }
if ((C009_Library_Yuki_CurrentStage >= 400) && (C009_Library_Yuki_CurrentStage < 500)) DrawInteractionActor();
if (C009_Library_Yuki_CurrentStage >= 530) DrawInteractionActor();
}
// Chapter 9 Library - Yuki Click
function C009_Library_Yuki_Click() {
// Regular and inventory interactions
ClickInteraction(C009_Library_Yuki_CurrentStage);
var ClickInv = GetClickedInventory();
// Allows the player to access the menu if she could leave the scene
if ((ClickInv == "Player") && (LeaveIcon != "")) {
C009_Library_Yuki_IntroText = OverridenIntroText;
InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
}
// The player can slide an egg in Yuki if she's stuck in the hole with no panties
if ((ClickInv == "VibratingEgg") && !ActorHasInventory("ChastityBelt") && !ActorHasInventory("VibratingEgg") && (C009_Library_Yuki_CurrentStage == 510) && !Common_PlayerRestrained) {
OverridenIntroText = GetText("VibratingEggInHole");
ActorChangeAttitude(0, 1);
PlayerRemoveInventory("VibratingEgg", 1);
ActorAddInventory("VibratingEgg");
CurrentTime = CurrentTime + 50000;
}
// The player can slide a sleeping pill in Yuki's anus if she's stuck in the hole with no panties
if ((ClickInv == "SleepingPill") && !ActorHasInventory("ChastityBelt") && !C009_Library_Yuki_SleepingPillFromHole && (C009_Library_Yuki_CurrentStage == 510) && !Common_PlayerRestrained) {
C009_Library_Yuki_SleepingPillFromHole = true;
OverridenIntroText = GetText("SleepingPillInHole");
PlayerRemoveInventory("SleepingPill", 1);
CurrentTime = CurrentTime + 50000;
}
// The player can lock the chastity belt on Yuki if she's stuck in the hole with no panties
if ((ClickInv == "ChastityBelt") && !ActorHasInventory("ChastityBelt") && (C009_Library_Yuki_CurrentStage == 510) && !Common_PlayerRestrained) {
OverridenIntroText = GetText("ChastityBeltInHole");
PlayerRemoveInventory("ChastityBelt", 1);
ActorAddInventory("ChastityBelt");
ActorChangeAttitude(-1, 1);
C009_Library_Yuki_CurrentStage = 520;
CurrentTime = CurrentTime + 50000;
}
// If an item is used while Yuki is sleeping, she will wake up
if ((ClickInv != "Player") && (ClickInv != "") && (C009_Library_Yuki_CurrentStage == 410) && !Common_PlayerRestrained) {
C009_Library_Yuki_Wake();
C009_Library_Yuki_CurrentStage = 420;
OverridenIntroText = GetText("ItemWakeUp");
}
}
// Chapter 9 Library - Yuki - When the player leaves to find her book
function C009_Library_Yuki_PlayerLeaveForBook() {
SetScene(CurrentChapter, "Library");
}
// Chapter 9 Library - Yuki Allow Leaving
function C009_Library_Yuki_AllowLeave() {
LeaveIcon = "Leave";
}
// Chapter 9 Library - Yuki confiscates the Sweet Gwendoline magazine
function C009_Library_Yuki_NoMoreSweetGwendoline() {
C009_Library_Search_MagazineConfiscated = true;
}
// Chapter 9 Library - Yuki can help to player to retrieve her pencil if she likes the player
function C009_Library_Yuki_TestForHelp() {
if (ActorGetValue(ActorLove) >= 0) {
OverridenIntroText = GetText("AcceptToHelp");
C009_Library_Yuki_CurrentStage = 220;
LeaveIcon = "";
}
}
// Chapter 9 Library - Yuki will restrain the player is she's annoyed 3 times
function C009_Library_Yuki_AnnoyYuki() {
C009_Library_Yuki_AnnoyCount++;
if (C009_Library_Yuki_AnnoyCount >= 3) {
if (!C009_Library_Search_CanStealArmbinder && PlayerHasInventory("Armbinder")) PlayerRemoveInventory("Armbinder", 1);
PlayerLockInventory("Armbinder");
ActorSetPose("Angry");
C009_Library_Library_LockedArmbinder = true;
OverridenIntroText = GetText("Annoyed");
C009_Library_Yuki_CurrentStage = 300;
LeaveIcon = "";
}
}
// Chapter 9 Library - Yuki starts to crawl in the hole
function C009_Library_Yuki_CrawlInHole() {
CurrentTime = CurrentTime + 50000;
}
// Chapter 9 Library - Yuki can get stuck in the hole
function C009_Library_Yuki_StuckInHole() {
LeaveIcon = "Leave";
C009_Library_Yuki_CanFindPlayer = false;
C009_Library_Library_CurrentZone = "008";
GameLogAdd("StuckInHole");
}
// Chapter 9 Library - The player can leave for the regular hole scene
function C009_Library_Yuki_LeaveForHole() {
C009_Library_Yuki_PenInHole = false;
C009_Library_Search_PenInHole = false;
C009_Library_Yuki_PenAvail = false;
C009_Library_Library_CurrentZone = "008";
C009_Library_Search_CurrentStage = 85;
SetScene(CurrentChapter, "Search");
}
// Chapter 9 Library - When Yuki gags the player
function C009_Library_Yuki_GagPlayer() {
PlayerLockInventory("TapeGag");
CurrentTime = CurrentTime + 50000;
}
// Chapter 9 Library - Wait 2 minutes
function C009_Library_Yuki_TwoMinutes() {
CurrentTime = CurrentTime + 110000;
}
// Chapter 9 Library - Yuki Tickle
function C009_Library_Yuki_Tickle() {
if (!C009_Library_Yuki_TickleDone) {
C009_Library_Yuki_TickleDone = true;
ActorChangeAttitude(-1, 1);
}
}
// Chapter 9 Library - Yuki Caress
function C009_Library_Yuki_Caress() {
if (!C009_Library_Yuki_CaressDone) {
C009_Library_Yuki_CaressDone = true;
ActorChangeAttitude(1, 0);
}
}
// Chapter 9 Library - Yuki Caress
function C009_Library_Yuki_Masturbate() {
C009_Library_Yuki_MasturbateCount++;
if ((C009_Library_Yuki_MasturbateCount >= 3) && !C009_Library_Yuki_OrgasmDone && ActorHasInventory("VibratingEgg")) {
C009_Library_Yuki_CurrentStage = 511;
C009_Library_Yuki_OrgasmDone = true;
OverridenIntroText = GetText("ReadyForOrgasm");
}
}
// Chapter 9 Library - Yuki can get an orgasm in the hole
function C009_Library_Yuki_HoleOrgasm() {
ActorAddOrgasm();
CurrentTime = CurrentTime + 50000;
}
// Chapter 9 Library - Yuki can be released from the hole
function C009_Library_Yuki_ReleaseFromHole() {
if (!C009_Library_Yuki_ReleaseConfirm) {
C009_Library_Yuki_ReleaseConfirm = true;
} else {
CurrentTime = CurrentTime + 50000;
C009_Library_Yuki_CurrentStage = 530;
ActorSetPose("Angry");
OverridenIntroText = GetText("ReleaseFromHole");
C009_Library_Yuki_CanFindPlayer = true;
LeaveIcon = "";
}
}
// Chapter 9 Library - Yuki can fall asleep if she had a sleeping pill
function C009_Library_Yuki_TestSleep() {
C009_Library_Library_CurrentZone = "007";
if (C009_Library_Yuki_SleepingPillFromHole) {
C009_Library_Yuki_SleepingPillFromHole = false;
OverridenIntroText = GetText("DizzySleep");
C009_Library_Yuki_CurrentStage = 400;
ActorSetPose("Sleepy");
CurrentTime = CurrentTime + 50000;
LeaveIcon = "Leave";
}
}
// Chapter 9 Library - Yuki restrains the player in an armbinder
function C009_Library_Yuki_RestrainPlayer() {
if (!C009_Library_Search_CanStealArmbinder && PlayerHasInventory("Armbinder")) PlayerRemoveInventory("Armbinder", 1);
PlayerLockInventory("Armbinder");
ActorSetPose("Angry");
C009_Library_Library_LockedArmbinder = true;
CurrentTime = CurrentTime + 50000;
}
// Chapter 9 Library - Yuki can free the player before any chat
function C009_Library_Yuki_TestRelease() {
if (ActorGetValue(ActorLove) >= -2) {
PlayerReleaseBondage();
CurrentTime = CurrentTime + 50000;
} else OverridenIntroText = GetText("RefuseHelp");
}
// Chapter 9 Library - Yuki set a new pose
function C009_Library_Yuki_SetPose(NewPose) {
ActorSetPose("");
}
// Chapter 9 Library - Yuki set a new pose
function C009_Library_Yuki_Sleep() {
ActorSetPose("Sleeping");
LeaveIcon = "Leave";
CurrentTime = CurrentTime + 50000;
C009_Library_Library_CurrentZone = "007";
C009_Library_Yuki_CanFindPlayer = false;
}
// Chapter 9 Library - When Yuki sleeps, the player can search the room
function C009_Library_Yuki_StartSearch() {
C009_Library_Search_CurrentStage = 70;
SetScene(CurrentChapter, "Search");
}
// Chapter 9 Library - When Yuki is awoken
function C009_Library_Yuki_Wake() {
ActorSetPose("Sleepy");
CurrentTime = CurrentTime + 50000;
LeaveIcon = "";
C009_Library_Yuki_CanFindPlayer = true;
C009_Library_Yuki_AllowSecondChance = false;
}
// Chapter 9 Library - In some intro, Yuki will not allow a second chance
function C009_Library_Yuki_NoSecondChance() {
C009_Library_Yuki_AllowSecondChance = false;
}