mirror of
https://gitgud.io/BondageProjects/Bondage-College.git
synced 2025-04-10 02:19:20 +00:00
Tweaks
This commit is contained in:
parent
f4a099563f
commit
1de9698a41
143 changed files with 1563 additions and 1563 deletions
BondageClub/Scripts
AfkTimer.jsControllerSupport.jsDialog.jsDrawing.jsDrawing3D.jsDynamicDraw.jsExtendedItem.jsModularItem.jsTypedef.d.ts
lib
C000_Intro
C001_BeforeClass
Amanda
Bag
Classroom
FightIntro
FightOutro
Intro
Outro
Sidney
C002_FirstClass
C003_MorningDetention
Bag
DetentionRoom
Glass
Intro
Outro
Sidney
Yuki
C004_ArtClass
ArtRoom
HiddenEgg
Intro
Jennifer
Julia
Outro
Sarah
C005_GymClass
C006_Isolation
CellDoor
CellGround
Cross
Horse
Intro
IsolationRoom
Mildred
Outro
Pillory
Table
Yuki
C007_LunchBreak
ActorSelect
Amanda
Intro
Jennifer
Natalie
Outro
Sarah
Sidney
C008_DramaClass
AmandaIntro
Damsel
Dressing
DressingHiddenItem
DressingRoom
Heroine
Intro
Julia
JuliaIntro
Outro
SarahIntro
Theater
Transition
Villain
C009_Library
Intro
Jennifer
Library
Outro
Search
Yuki
C010_Revenge
AmandaSarah
EarlyEnding
Intro
Outro
SidneyJennifer
C011_LiteratureClass
C012_AfterClass
|
@ -54,7 +54,7 @@ function AfkTimerStop() {
|
|||
|
||||
/**
|
||||
* Enables or disables the afk timer. Is called, when the player changes her settings in the preferences dialog
|
||||
* @param {boolean} Enabled - Determines, wether the afk timer will be enabled (true) or disabled (false).
|
||||
* @param {boolean} Enabled - Determines, whether the afk timer will be enabled (true) or disabled (false).
|
||||
* @returns {void} - Nothing
|
||||
*/
|
||||
function AfkTimerSetEnabled(Enabled) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
/* eslint-disable no-redeclare */
|
||||
var ControllerButtonsX = [];//there probably is a way to use just one list, but i don't want to bother and this works anyway
|
||||
var ControllerButtonsX = [];//there probably is a way to use just one list, but I don't want to bother and this works anyway
|
||||
var ControllerButtonsY = [];
|
||||
var ControllerActive = true;
|
||||
var ControllerCurrentButton = 0;
|
||||
|
@ -57,7 +57,7 @@ function setButton(X, Y) {
|
|||
}
|
||||
}
|
||||
/**
|
||||
* checks, wether a button is already in the lists (i realise now, that i could have used .includes but it works)
|
||||
* checks, whether a button is already in the lists (I realize now, that I could have used .includes but it works)
|
||||
* @param {any} X X value of the button
|
||||
* @param {any} Y Y value of the button
|
||||
*/
|
||||
|
|
|
@ -323,7 +323,7 @@ function DialogCanInteract(C) { return DialogGetCharacter(C).CanInteract(); }
|
|||
function DialogSetPose(C, NewPose) { CharacterSetActivePose((C.toUpperCase().trim() == "PLAYER") ? Player : CurrentCharacter, ((NewPose != null) && (NewPose != "")) ? NewPose : null, true); }
|
||||
|
||||
/**
|
||||
* CHecks, wether a given skill of the player is greater or equal a given value
|
||||
* Checks, whether a given skill of the player is greater or equal a given value
|
||||
* @param {string} SkillType - Name of the skill to check
|
||||
* @param {string} Value - The value, the given skill must be compared to
|
||||
* @returns {boolean} - Returns true if a specific skill is greater or equal than a given value
|
||||
|
@ -331,7 +331,7 @@ function DialogSetPose(C, NewPose) { CharacterSetActivePose((C.toUpperCase().tri
|
|||
function DialogSkillGreater(SkillType, Value) { return (parseInt(SkillGetLevel(Player, SkillType)) >= parseInt(Value)); }
|
||||
|
||||
/**
|
||||
* Cheks, if a given item is available in the player's inventory
|
||||
* Checks, if a given item is available in the player's inventory
|
||||
* @param {string} InventoryName
|
||||
* @param {string} InventoryGroup
|
||||
* @returns {boolean} - Returns true, if the item is available, false otherwise
|
||||
|
@ -2588,7 +2588,7 @@ function DialogSetSkillRatio(SkillType, NewRatio) {
|
|||
/**
|
||||
* Sends an room administrative command to the server for the chat room from the player dialog
|
||||
* @param {string} ActionType - The name of the administrative command to use
|
||||
* @param {string} Publish - Determines wether the action should be published to the ChatRoom. As this is a string, use "true" to do so
|
||||
* @param {string} Publish - Determines whether the action should be published to the ChatRoom. As this is a string, use "true" to do so
|
||||
* @returns {void} - Nothing
|
||||
*/
|
||||
function DialogChatRoomAdminAction(ActionType, Publish) {
|
||||
|
|
|
@ -776,35 +776,35 @@ function DrawImageEx(
|
|||
* @returns {Array<string>} - A list of string that being fragmented.
|
||||
*/
|
||||
function fragmentText(text, maxWidth) {
|
||||
let words = text.split(' '),
|
||||
lines = [],
|
||||
line = "";
|
||||
let words = text.split(' '),
|
||||
lines = [],
|
||||
line = "";
|
||||
|
||||
if (MainCanvas.measureText(text).width < maxWidth) {
|
||||
return [text];
|
||||
}
|
||||
if (MainCanvas.measureText(text).width < maxWidth) {
|
||||
return [text];
|
||||
}
|
||||
|
||||
while (words.length > 0) {
|
||||
while (MainCanvas.measureText(words[0]).width >= maxWidth) {
|
||||
let temp = words[0];
|
||||
words[0] = temp.slice(0, -1);
|
||||
if (words.length > 1) {
|
||||
words[1] = temp.slice(-1) + words[1];
|
||||
} else {
|
||||
words.push(temp.slice(-1));
|
||||
}
|
||||
}
|
||||
if (MainCanvas.measureText(line + words[0]).width < maxWidth) {
|
||||
line += words.shift() + " ";
|
||||
} else {
|
||||
lines.push(line);
|
||||
line = "";
|
||||
}
|
||||
if (words.length === 0) {
|
||||
lines.push(line);
|
||||
}
|
||||
}
|
||||
return lines;
|
||||
while (words.length > 0) {
|
||||
while (MainCanvas.measureText(words[0]).width >= maxWidth) {
|
||||
let temp = words[0];
|
||||
words[0] = temp.slice(0, -1);
|
||||
if (words.length > 1) {
|
||||
words[1] = temp.slice(-1) + words[1];
|
||||
} else {
|
||||
words.push(temp.slice(-1));
|
||||
}
|
||||
}
|
||||
if (MainCanvas.measureText(line + words[0]).width < maxWidth) {
|
||||
line += words.shift() + " ";
|
||||
} else {
|
||||
lines.push(line);
|
||||
line = "";
|
||||
}
|
||||
if (words.length === 0) {
|
||||
lines.push(line);
|
||||
}
|
||||
}
|
||||
return lines;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -33,7 +33,7 @@ function Draw3DKeyDown() {
|
|||
}
|
||||
|
||||
// TODO: create more fbx assets <.<
|
||||
// TODO: seperate all fbx files
|
||||
// TODO: separate all fbx files
|
||||
// TODO: call each 3d asset and transform x,y towards the next bone node(point)
|
||||
function init(){
|
||||
|
||||
|
|
|
@ -238,11 +238,11 @@ function DynamicDrawTextFromTo(text, ctx, from, to, options) {
|
|||
if (!width) {
|
||||
options.width = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));
|
||||
if (contain && dx != 0) {
|
||||
// If the text should be fully contained withing the [x0, y0], [x1, y1] box, subtract appropriately
|
||||
// If the text should be fully contained within the [x0, y0], [x1, y1] box, subtract appropriately
|
||||
options.width -= 2 * Math.abs(dy / dx) * (fontSize / 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Center point (cx, cy)
|
||||
const cx = x0 + 0.5 * dx;
|
||||
const cy = y0 + 0.5 * dy;
|
||||
|
|
|
@ -145,7 +145,7 @@ function ExtendedItemLoad(Options, DialogKey, BaselineProperty=null) {
|
|||
* @param {string} DialogPrefix - The prefix to the dialog keys for the display strings describing each extended type.
|
||||
* The full dialog key will be <Prefix><Option.Name>
|
||||
* @param {number} [OptionsPerPage] - The number of options displayed on each page
|
||||
* @param {boolean} [ShowImages=true] - Denotes wether images should be shown for the specific item
|
||||
* @param {boolean} [ShowImages=true] - Denotes whether images should be shown for the specific item
|
||||
* @param {[number, number][]} [XYPositions] - An array with custom X & Y coordinates of the buttons
|
||||
* @returns {void} Nothing
|
||||
*/
|
||||
|
@ -200,7 +200,7 @@ function ExtendedItemDraw(Options, DialogPrefix, OptionsPerPage, ShowImages=true
|
|||
* @param {number} Y - The Y coordinate of the button
|
||||
* @param {string} DialogPrefix - The prefix to the dialog keys for the display strings describing each extended type.
|
||||
* The full dialog key will be <Prefix><Option.Name>
|
||||
* @param {boolean} ShowImages - Denotes wether images should be shown for the specific item
|
||||
* @param {boolean} ShowImages - Denotes whether images should be shown for the specific item
|
||||
* @param {Item} Item - The item in question; defaults to {@link DialogFocusItem}
|
||||
* @param {boolean | null} IsSelected - Whether the button is already selected or not. If `null` compute this value by checking if the item's current type matches `Option`.
|
||||
* @see {@link ExtendedItemDraw}
|
||||
|
@ -323,7 +323,7 @@ function ExtendedItemGetButtonColor(C, Option, CurrentOption, Hover, IsSelected,
|
|||
* @param {ExtendedItemOption[]} Options - An Array of type definitions for each allowed extended type. The first item
|
||||
* in the array should be the default option.
|
||||
* @param {number} [OptionsPerPage] - The number of options displayed on each page
|
||||
* @param {boolean} [ShowImages=true] - Denotes wether images are shown for the specific item
|
||||
* @param {boolean} [ShowImages=true] - Denotes whether images are shown for the specific item
|
||||
* @param {[number, number][]} [XYPositions] - An array with custom X & Y coordinates of the buttons
|
||||
* @returns {void} Nothing
|
||||
*/
|
||||
|
@ -743,7 +743,7 @@ function ExtendedItemCreateValidateFunction(functionPrefix, ValidationCallback,
|
|||
* @param {string} Name - The name of the button and its pseudo-type
|
||||
* @param {number} X - The X coordinate of the button
|
||||
* @param {number} Y - The Y coordinate of the button
|
||||
* @param {boolean} ShowImages — Denotes wether images should be shown for the specific item
|
||||
* @param {boolean} ShowImages — Denotes whether images should be shown for the specific item
|
||||
* @param {boolean} IsSelected - Whether the button is selected or not
|
||||
* @returns {void} Nothing
|
||||
*/
|
||||
|
|
|
@ -620,7 +620,7 @@ function ModularItemConstructType(modules, values) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Seperate a modular item type string into a list with the types of each individual module.
|
||||
* Separate a modular item type string into a list with the types of each individual module.
|
||||
* @param {string} Type - The modular item type string
|
||||
* @returns {string[] | null} - A list with the options of each individual module or `null` if the input type wasn't a string
|
||||
*/
|
||||
|
@ -910,13 +910,13 @@ function ModularItemHideElement(ID, Module) {
|
|||
return ModularItemModuleIsActive(Module);
|
||||
}
|
||||
|
||||
if (ModularItemModuleIsActive(Module)) {
|
||||
Element.style.display = "block";
|
||||
return true;
|
||||
} else {
|
||||
Element.style.display = "none";
|
||||
return false;
|
||||
}
|
||||
if (ModularItemModuleIsActive(Module)) {
|
||||
Element.style.display = "block";
|
||||
return true;
|
||||
} else {
|
||||
Element.style.display = "none";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
10
BondageClub/Scripts/Typedef.d.ts
vendored
10
BondageClub/Scripts/Typedef.d.ts
vendored
|
@ -1992,7 +1992,7 @@ interface ItemPropertiesCustom {
|
|||
|
||||
// #endregion
|
||||
|
||||
/** A comma-seperated string with the futuristic vibrator's trigger words */
|
||||
/** A comma-separated string with the futuristic vibrator's trigger words */
|
||||
TriggerValues?: string;
|
||||
/** A string denoting who has permission to use the vibrator's trigger words */
|
||||
AccessMode?: ItemVulvaFuturisticVibratorAccessMode;
|
||||
|
@ -2237,7 +2237,7 @@ interface ModularItemConfig {
|
|||
Validate?: ExtendedItemValidateScriptHookCallback<ModularItemOption>;
|
||||
};
|
||||
/**
|
||||
* To-be initialized properties independant of the selected item module(s).
|
||||
* To-be initialized properties independent of the selected item module(s).
|
||||
* Relevant if there are properties that are (near) exclusively managed by {@link ModularItemConfig.ScriptHooks} functions.
|
||||
*/
|
||||
BaselineProperty?: ItemProperties;
|
||||
|
@ -2433,7 +2433,7 @@ interface ModularItemData {
|
|||
validate?: ExtendedItemValidateScriptHookCallback<ModularItemOption>,
|
||||
};
|
||||
/**
|
||||
* To-be initialized properties independant of the selected item module(s).
|
||||
* To-be initialized properties independent of the selected item module(s).
|
||||
* Relevant if there are properties that are (near) exclusively managed by {@link ModularItemData.scriptHooks} functions.
|
||||
*/
|
||||
BaselineProperty: ItemProperties | null;
|
||||
|
@ -2504,7 +2504,7 @@ interface TypedItemConfig {
|
|||
PublishAction?: ExtendedItemPublishActionCallback<ExtendedItemOption>,
|
||||
};
|
||||
/**
|
||||
* To-be initialized properties independant of the selected item module(s).
|
||||
* To-be initialized properties independent of the selected item module(s).
|
||||
* Relevant if there are properties that are (near) exclusively managed by {@link TypedItemConfig.ScriptHooks} functions.
|
||||
*/
|
||||
BaselineProperty?: ItemProperties;
|
||||
|
@ -2596,7 +2596,7 @@ interface TypedItemData {
|
|||
publishAction?: ExtendedItemPublishActionCallback<ExtendedItemOption>,
|
||||
};
|
||||
/**
|
||||
* To-be initialized properties independant of the selected item module(s).
|
||||
* To-be initialized properties independent of the selected item module(s).
|
||||
* Relevant if there are properties that are (near) exclusively managed by {@link TypedItemData.scriptHooks} functions.
|
||||
*/
|
||||
BaselineProperty: ItemProperties | null;
|
||||
|
|
2
BondageClub/Scripts/lib/LZString.d.ts
vendored
2
BondageClub/Scripts/lib/LZString.d.ts
vendored
|
@ -88,6 +88,6 @@ declare namespace LZString {
|
|||
*
|
||||
* @param compressed A string obtained from a call to compressToUint8Array().
|
||||
*/
|
||||
decompressFromUint8Array(compressed: Uint8Array): null | string;
|
||||
decompressFromUint8Array(compressed: Uint8Array): null | string;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,9 +39,9 @@ function C000_Intro_CreatePlayer_Run() {
|
|||
SelectSkill.appendChild(new Option(GetText("Skill" + S.toString()), S.toString()));
|
||||
document.body.appendChild(SelectSkill);
|
||||
C000_Intro_CreatePlayer_ControlLoaded = true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Draw the player image and the text input for the name
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Player.jpg", 900, 0);
|
||||
DrawRect(0, 0, 900, 600, "white");
|
||||
|
@ -51,7 +51,7 @@ function C000_Intro_CreatePlayer_Run() {
|
|||
// Creates the "validate" button
|
||||
DrawRect(300, 450, 300, 70, "#8c304e");
|
||||
DrawText(GetText("Validate"), 450, 485, "white");
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Validate the name and starts the game
|
||||
|
@ -79,6 +79,6 @@ function C000_Intro_CreatePlayer_KeyDown() {
|
|||
}
|
||||
|
||||
// Create Player Click
|
||||
function C000_Intro_CreatePlayer_Click() {
|
||||
function C000_Intro_CreatePlayer_Click() {
|
||||
if ((MouseX >= 300) && (MouseX <= 600) && (MouseY >= 450) && (MouseY <= 520)) C000_Intro_CreatePlayer_Validate();
|
||||
}
|
|
@ -3,12 +3,12 @@ function C000_Intro_Intro_Load() {
|
|||
|
||||
// Time is always 7:40 on the intro, no timer
|
||||
StopTimer(7.66666667 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Intro Run
|
||||
function C000_Intro_Intro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
@ -44,5 +44,5 @@ function C000_Intro_Intro_KeyDown() {
|
|||
PlayerAddInventory("VibratingEgg", 4);
|
||||
PlayerAddInventory("ChastityBelt", 4);
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -20,7 +20,7 @@ function C001_BeforeClass_Amanda_Load() {
|
|||
// She dresses back automatically if not tied up, she comes back to face if she's tied up
|
||||
if (C001_BeforeClass_Amanda_CurrentStage == 220) C001_BeforeClass_Amanda_CurrentStage = 200;
|
||||
if ((C001_BeforeClass_Amanda_CurrentStage >= 240) && (C001_BeforeClass_Amanda_CurrentStage <= 269)) C001_BeforeClass_Amanda_CurrentStage = 230;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 1 - Amanda Run
|
||||
|
@ -29,18 +29,18 @@ function C001_BeforeClass_Amanda_Run() {
|
|||
}
|
||||
|
||||
// Chapter 1 - Amanda Click
|
||||
function C001_BeforeClass_Amanda_Click() {
|
||||
function C001_BeforeClass_Amanda_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C001_BeforeClass_Amanda_CurrentStage);
|
||||
|
||||
|
||||
// Special code for when the user wants to use the rope
|
||||
if ((C001_BeforeClass_Amanda_CurrentStage < 200) && (GetClickedInventory() == "Rope")) {
|
||||
C001_BeforeClass_Amanda_BackupStage = C001_BeforeClass_Amanda_CurrentStage;
|
||||
C001_BeforeClass_Amanda_CurrentStage = 200;
|
||||
OverridenIntroText = GetText("RopeInquiry");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 1 - Amanda Tie
|
||||
|
|
|
@ -13,7 +13,7 @@ function C001_BeforeClass_Bag_Run() {
|
|||
}
|
||||
|
||||
// Chapter 1 - Bag Click
|
||||
function C001_BeforeClass_Bag_Click() {
|
||||
function C001_BeforeClass_Bag_Click() {
|
||||
ClickInteraction(C001_BeforeClass_Bag_CurrentStage);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@ var C001_BeforeClass_Classroom_Mode = 0;
|
|||
|
||||
// Chapter 1 - Classroom Load
|
||||
function C001_BeforeClass_Classroom_Load() {
|
||||
|
||||
|
||||
// Set the timer limits
|
||||
StartTimer(8 * 60 * 60 * 1000, "C001_BeforeClass", "Outro");
|
||||
Common_SelfBondageAllowed = false;
|
||||
|
||||
|
||||
// Set the screen background
|
||||
if (ActorSpecificHasInventory("Amanda", "Rope") && ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Classroom_Mode = 3;
|
||||
if (!ActorSpecificHasInventory("Amanda", "Rope") && ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Classroom_Mode = 2;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Chapter 1 - Fight Load
|
||||
function C001_BeforeClass_FightIntro_Load() {
|
||||
function C001_BeforeClass_FightIntro_Load() {
|
||||
|
||||
// Set the timer limits at 8:00
|
||||
StartTimer(8 * 60 * 60 * 1000, "C001_BeforeClass", "FightOutro");
|
||||
|
@ -10,11 +10,11 @@ function C001_BeforeClass_FightIntro_Load() {
|
|||
|
||||
// Chapter 1 - Fight Run
|
||||
function C001_BeforeClass_FightIntro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 800, 0);
|
||||
|
||||
|
||||
// Each animation show an additional line of text
|
||||
DrawText(GetText("Intro1"), 400, 150, "White");
|
||||
if (TextPhase >= 1) DrawText(GetText("Intro2"), 400, 250, "White");
|
||||
|
|
|
@ -3,7 +3,7 @@ var C001_BeforeClass_FightOutro_FightResult = 0; // 0 = No winner, 1 = Victory,
|
|||
|
||||
// Chapter 1 - Fight Outro Load
|
||||
function C001_BeforeClass_FightOutro_Load() {
|
||||
|
||||
|
||||
// Sidney attitude changes if the player won or not
|
||||
CurrentActor = "Sidney";
|
||||
if (C001_BeforeClass_FightOutro_FightResult == 1) { GameLogAdd("FightVictory"); ActorChangeAttitude(0, 2); }
|
||||
|
@ -12,20 +12,20 @@ function C001_BeforeClass_FightOutro_Load() {
|
|||
|
||||
// Time is always 8:00 on the fight outro, no timer
|
||||
StopTimer(8 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 1 - Fight Outro Run
|
||||
function C001_BeforeClass_FightOutro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Mildred.jpg", 800, 0);
|
||||
|
||||
|
||||
// Each animation show an additional line of text
|
||||
if (C001_BeforeClass_FightOutro_FightResult == 0) DrawText(GetText("Intro1A"), 400, 150, "White");
|
||||
if (C001_BeforeClass_FightOutro_FightResult == 1) DrawText(GetText("Intro1B"), 400, 150, "White");
|
||||
if (C001_BeforeClass_FightOutro_FightResult == 2) DrawText(GetText("Intro1C"), 400, 150, "White");
|
||||
if (C001_BeforeClass_FightOutro_FightResult == 2) DrawText(GetText("Intro1C"), 400, 150, "White");
|
||||
if (TextPhase >= 1) DrawText(GetText("Intro2"), 400, 300, "White");
|
||||
if (TextPhase >= 2) DrawText(GetText("Intro3"), 400, 450, "White");
|
||||
|
||||
|
|
|
@ -3,17 +3,17 @@ function C001_BeforeClass_Intro_Load() {
|
|||
|
||||
// Time is always 7:40 on the intro, no timer
|
||||
StopTimer(7.66666667 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 1 - Intro Run
|
||||
function C001_BeforeClass_Intro_Run() {
|
||||
|
||||
|
||||
// Draw the background and player
|
||||
if (TextPhase <= 2) DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background1.jpg", 0, 0);
|
||||
else DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background2.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
||||
|
||||
// Introduce chapter 1 with each clicks
|
||||
DrawText(GetText("Intro1"), 450, 50, "White");
|
||||
if (TextPhase >= 1) DrawText(GetText("Intro2"), 450, 150, "White");
|
||||
|
|
|
@ -21,27 +21,27 @@ function C001_BeforeClass_Outro_Load() {
|
|||
|
||||
// Chapter 1 - Outro Run
|
||||
function C001_BeforeClass_Outro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 800, 0);
|
||||
|
||||
|
||||
// The text changes based on the trouble that was done
|
||||
if (TextPhase >= 0) DrawText(GetText("Intro1"), 400, 100, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode == 0) && (TextPhase >= 1)) DrawText(GetText("Intro2A"), 400, 250, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode == 1) && (TextPhase >= 1)) DrawText(GetText("Intro2B"), 400, 200, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode == 2) && (TextPhase >= 1)) DrawText(GetText("Intro2C"), 400, 200, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode == 3) && (TextPhase >= 1)) DrawText(GetText("Intro2D"), 400, 200, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode == 0) && (TextPhase >= 2)) DrawText(GetText("Intro3A"), 400, 400, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode == 0) && (TextPhase >= 2)) DrawText(GetText("Intro3A"), 400, 400, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode >= 1) && (TextPhase >= 2)) DrawText(GetText("Intro3B"), 400, 300, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode >= 1) && (TextPhase >= 3)) DrawText(GetText("Intro4"), 400, 400, "White");
|
||||
if ((C001_BeforeClass_Outro_Mode >= 1) && (TextPhase >= 4)) DrawText(GetText("Intro5"), 400, 500, "White");
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 1 - Outro Click
|
||||
function C001_BeforeClass_Outro_Click() {
|
||||
TextPhase++;
|
||||
if ((TextPhase >= 5) && (C001_BeforeClass_Outro_Mode >= 1)) SaveMenu("C003_MorningDetention", "Intro");
|
||||
if ((TextPhase >= 3) && (C001_BeforeClass_Outro_Mode < 1)) SaveMenu("C002_FirstClass", "Intro");
|
||||
if ((TextPhase >= 3) && (C001_BeforeClass_Outro_Mode < 1)) SaveMenu("C002_FirstClass", "Intro");
|
||||
}
|
|
@ -13,10 +13,10 @@ function C001_BeforeClass_Sidney_Load() {
|
|||
ActorLoad("Sidney", "Classroom");
|
||||
LoadInteractions();
|
||||
C001_BeforeClass_Sidney_AmandaInBondage = ActorSpecificHasInventory("Amanda", "Rope");
|
||||
|
||||
|
||||
// She resets back to the facing position if in bondage
|
||||
if ((C001_BeforeClass_Sidney_CurrentStage >= 230) && (C001_BeforeClass_Sidney_CurrentStage <= 259)) C001_BeforeClass_Sidney_CurrentStage = 220;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 1 - Sidney Run
|
||||
|
@ -25,7 +25,7 @@ function C001_BeforeClass_Sidney_Run() {
|
|||
}
|
||||
|
||||
// Chapter 1 - Sidney Click
|
||||
function C001_BeforeClass_Sidney_Click() {
|
||||
function C001_BeforeClass_Sidney_Click() {
|
||||
|
||||
// Regular interaction
|
||||
ClickInteraction(C001_BeforeClass_Sidney_CurrentStage);
|
||||
|
@ -36,11 +36,11 @@ function C001_BeforeClass_Sidney_Click() {
|
|||
C001_BeforeClass_Sidney_CurrentStage = 200;
|
||||
OverridenIntroText = GetText("MyRopes");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 1 - Sidney Fight
|
||||
function C001_BeforeClass_Sidney_Fight() {
|
||||
function C001_BeforeClass_Sidney_Fight() {
|
||||
SetScene(CurrentChapter, "FightIntro");
|
||||
}
|
||||
|
||||
|
@ -62,7 +62,7 @@ function C001_BeforeClass_Sidney_Tie() {
|
|||
ActorChangeAttitude(-1, 0);
|
||||
OverridenIntroText = GetText("Bondage");
|
||||
C001_BeforeClass_Sidney_BondageFlag = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 1 - Sidney Tickle
|
||||
|
|
|
@ -19,14 +19,14 @@ function C002_FirstClass_Classroom_CalcStage() {
|
|||
|
||||
// Chapter 2 - Classroom Load
|
||||
function C002_FirstClass_Classroom_Load() {
|
||||
|
||||
|
||||
// Set the classroom timer limits at 8:30 or 9:00
|
||||
if (C002_FirstClass_Classroom_Sarah == "SarahEmpty") StartTimer(8.5 * 60 * 60 * 1000, "C002_FirstClass", "SarahIntro");
|
||||
else StartTimer(9 * 60 * 60 * 1000, "C002_FirstClass", "Outro");
|
||||
|
||||
|
||||
// Self bondage is only allowed if Mildred was subdued
|
||||
Common_SelfBondageAllowed = C002_FirstClass_Classroom_MildredSubdueSuccess;
|
||||
|
||||
|
||||
// Get the image file for each girls
|
||||
C002_FirstClass_Classroom_Sidney = ActorSpecificGetImage("Sidney");
|
||||
C002_FirstClass_Classroom_Mildred = ActorSpecificGetImage("Mildred");
|
||||
|
@ -43,7 +43,7 @@ function C002_FirstClass_Classroom_Run() {
|
|||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + C002_FirstClass_Classroom_Mildred.toString() + ".jpg", 300, 0);
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + C002_FirstClass_Classroom_Amanda.toString() + ".jpg", 600, 0);
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + C002_FirstClass_Classroom_Sarah.toString() + ".jpg", 900, 0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 2 - Classroom Click
|
||||
|
|
|
@ -8,7 +8,7 @@ function C002_FirstClass_Intro_Load() {
|
|||
|
||||
// Chapter 2 - Intro Run
|
||||
function C002_FirstClass_Intro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
|
|
@ -8,20 +8,20 @@ var C002_FirstClass_Mildred_ConfirmUnlock = false;
|
|||
// Chapter 2 - Mildred Load
|
||||
function C002_FirstClass_Mildred_Load() {
|
||||
|
||||
// Load the scene parameters
|
||||
// Load the scene parameters
|
||||
ActorLoad("Mildred", "Classroom");
|
||||
LoadInteractions();
|
||||
C002_FirstClass_Mildred_ConfirmUnlock = false;
|
||||
if (C002_FirstClass_Mildred_CurrentStage == 0) StartTimer(8.5 * 60 * 60 * 1000, "C002_FirstClass", "SarahIntro");
|
||||
|
||||
|
||||
// When re-entering, jump from 50 to 200 and stop any whipping
|
||||
if (C002_FirstClass_Mildred_CurrentStage == 50) C002_FirstClass_Mildred_CurrentStage = 200;
|
||||
if ((C002_FirstClass_Mildred_CurrentStage >= 410) && (C002_FirstClass_Mildred_CurrentStage <= 440)) C002_FirstClass_Mildred_CurrentStage = C002_FirstClass_Mildred_CurrentStage - 100;
|
||||
|
||||
|
||||
// When the talk is over, allow the player to leave
|
||||
if (C002_FirstClass_Mildred_CurrentStage >= 200) LeaveIcon = "Leave";
|
||||
else LeaveIcon = "";
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 2 - Mildred Run
|
||||
|
@ -30,18 +30,18 @@ function C002_FirstClass_Mildred_Run() {
|
|||
}
|
||||
|
||||
// Chapter 2 - Mildred Click
|
||||
function C002_FirstClass_Mildred_Click() {
|
||||
function C002_FirstClass_Mildred_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C002_FirstClass_Mildred_CurrentStage);
|
||||
var ClickedInv = GetClickedInventory();
|
||||
|
||||
|
||||
// Beyond -3 love, the teacher spank the player
|
||||
if ((C002_FirstClass_Mildred_CurrentStage <= 50) && (ActorGetValue(ActorLove) <= -3) && !C002_FirstClass_Mildred_BeatingDone) {
|
||||
OverridenIntroText = GetText("SurpriseAttack");
|
||||
C002_FirstClass_Mildred_CurrentStage = 100;
|
||||
C002_FirstClass_Mildred_BeatingDone = true;
|
||||
}
|
||||
}
|
||||
|
||||
// When the user wants to use the gag
|
||||
if ((C002_FirstClass_Mildred_CurrentStage >= 310) && (ClickedInv == "BallGag") && (ActorHasInventory("BallGag") == false) && (Common_PlayerNotRestrained)) {
|
||||
|
@ -96,11 +96,11 @@ function C002_FirstClass_Mildred_Click() {
|
|||
ActorAddInventory("Cuffs");
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the talk is over, allow the player to leave
|
||||
if (C002_FirstClass_Mildred_CurrentStage == 50)
|
||||
LeaveIcon = "Leave";
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 2 - Mildred Restrain Player
|
||||
|
@ -117,7 +117,7 @@ function C002_FirstClass_Mildred_RestrainPlayer() {
|
|||
|
||||
// Chapter 2 - Mildred Disturb Class
|
||||
function C002_FirstClass_Mildred_Disturb() {
|
||||
|
||||
|
||||
// After 4 attempts to disturb Mildred, she cuffs and gags the player
|
||||
C002_FirstClass_Mildred_DisturbCount++;
|
||||
if (C002_FirstClass_Mildred_DisturbCount == 1) OverridenIntroText = GetText("Disturb1");
|
||||
|
@ -133,7 +133,7 @@ function C002_FirstClass_Mildred_Disturb() {
|
|||
|
||||
// Chapter 2 - Mildred Subdue
|
||||
function C002_FirstClass_Mildred_Subdue() {
|
||||
|
||||
|
||||
// Count the number of girls who agree
|
||||
var AgreeCount = 0;
|
||||
if (C002_FirstClass_Classroom_SidneyAgree) AgreeCount++;
|
||||
|
@ -145,9 +145,9 @@ function C002_FirstClass_Mildred_Subdue() {
|
|||
OverridenIntroText = GetText("SubdueAlone");
|
||||
C002_FirstClass_Mildred_CurrentStage = 220;
|
||||
GameLogAdd("SubdueFail");
|
||||
LeaveIcon = "";
|
||||
LeaveIcon = "";
|
||||
}
|
||||
|
||||
|
||||
// With one helper, both the player and the helper end up bound and gagged
|
||||
if (AgreeCount == 1) {
|
||||
if (C002_FirstClass_Classroom_SidneyAgree) { OverridenIntroText = GetText("SubdueSidney"); CurrentActor = "Sidney"; ActorAddInventory("Cuffs"); ActorAddInventory("BallGag"); }
|
||||
|
|
|
@ -2,7 +2,7 @@ var C002_FirstClass_Outro_Restrained = false;
|
|||
|
||||
// Chapter 2 - Outro Load
|
||||
function C002_FirstClass_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 9:15:00 in the outro
|
||||
StopTimer(9 * 60 * 60 * 1000);
|
||||
C002_FirstClass_Outro_Restrained = Common_PlayerRestrained;
|
||||
|
@ -15,11 +15,11 @@ function C002_FirstClass_Outro_Load() {
|
|||
|
||||
// Chapter 2 - Outro Run
|
||||
function C002_FirstClass_Outro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 800, 0);
|
||||
|
||||
|
||||
// Write the chapter outro
|
||||
DrawText(GetText("Intro1"), 400, 150, "White");
|
||||
if ((TextPhase >= 1) && (C002_FirstClass_Classroom_MildredSubdueSuccess == false) && (C002_FirstClass_Classroom_MildredSubdueFailed == false)) DrawText(GetText("Intro2A"), 400, 250, "White");
|
||||
|
@ -38,7 +38,7 @@ function C002_FirstClass_Outro_Click() {
|
|||
TextPhase++;
|
||||
if (TextPhase >= 4)
|
||||
SaveMenu("C004_ArtClass", "Intro");
|
||||
|
||||
|
||||
// Release the player on phase 2
|
||||
if (TextPhase == 2) {
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ var C002_FirstClass_Sidney_AmandaWhipDone = false;
|
|||
var C002_FirstClass_Sidney_SarahWhipDone = false;
|
||||
|
||||
// Change the Amanda and Sarah variables
|
||||
function C002_FirstClass_Sidney_AmandaSarahVariables() {
|
||||
function C002_FirstClass_Sidney_AmandaSarahVariables() {
|
||||
C002_FirstClass_Sidney_AmandaWhipReady = ((C002_FirstClass_Sidney_CurrentStage == 100) && (Common_PlayerNotGagged) && (Common_PlayerNotRestrained) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (C002_FirstClass_Sidney_AmandaWhipDone == false) && (PlayerHasInventory("Crop")) && ((ActorSpecificHasInventory("Amanda", "Rope")) || (ActorSpecificHasInventory("Amanda", "Cuffs"))));
|
||||
C002_FirstClass_Sidney_SarahWhipReady = ((C002_FirstClass_Sidney_CurrentStage == 100) && (Common_PlayerNotGagged) && (Common_PlayerNotRestrained) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (C002_FirstClass_Sidney_SarahWhipDone == false) && (PlayerHasInventory("Crop")) && ((ActorSpecificHasInventory("Sarah", "Rope")) || (ActorSpecificHasInventory("Sarah", "Cuffs"))));
|
||||
}
|
||||
|
@ -17,13 +17,13 @@ function C002_FirstClass_Sidney_AmandaSarahVariables() {
|
|||
// Chapter 2 - Sidney Load
|
||||
function C002_FirstClass_Sidney_Load() {
|
||||
|
||||
// Load the scene parameters
|
||||
// Load the scene parameters
|
||||
ActorLoad("Sidney", "Classroom");
|
||||
LoadInteractions();
|
||||
C002_FirstClass_Sidney_PlayerHasRope = PlayerHasInventory("Rope");
|
||||
if (C002_FirstClass_Classroom_MildredSubdueSuccess) C002_FirstClass_Sidney_BowRemarkReady = false;
|
||||
C002_FirstClass_Sidney_BondageBefore = (ActorGetValue(ActorBondageCount) > 0);
|
||||
|
||||
|
||||
// Stage jumps depending on actor bondage if subdue was tried
|
||||
if ((C002_FirstClass_Classroom_MildredSubdueFailed) || (C002_FirstClass_Classroom_MildredSubdueSuccess)) {
|
||||
if ((parseInt(C002_FirstClass_Sidney_CurrentStage) < 100) && (Common_PlayerNotGagged) && (C002_FirstClass_Classroom_MildredSubdueSuccess)) C002_FirstClass_Sidney_SubdueRemarkReady = true;
|
||||
|
@ -50,15 +50,15 @@ function C002_FirstClass_Sidney_Run() {
|
|||
}
|
||||
|
||||
// Chapter 2 - Sidney Click
|
||||
function C002_FirstClass_Sidney_Click() {
|
||||
function C002_FirstClass_Sidney_Click() {
|
||||
|
||||
// Keep the stage on entry
|
||||
var EntryStage = C002_FirstClass_Sidney_CurrentStage;
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C002_FirstClass_Sidney_CurrentStage);
|
||||
ClickInteraction(C002_FirstClass_Sidney_CurrentStage);
|
||||
var ClickedInv = GetClickedInventory();
|
||||
|
||||
|
||||
// If the player wants to gag Sidney
|
||||
if ((C002_FirstClass_Sidney_CurrentStage >= 100) && (ClickedInv == "BallGag") && (ActorHasInventory("BallGag") == false) && (Common_PlayerNotRestrained)) {
|
||||
if ((ActorGetValue(ActorSubmission) >= 2) || (ActorHasInventory("Rope")) || (ActorHasInventory("Cuffs"))) {
|
||||
|
@ -160,5 +160,5 @@ function C002_FirstClass_Sidney_SarahWhip() {
|
|||
OverridenIntroImage = "Sidney_Crop.jpg";
|
||||
GameLogAdd("CropSarah");
|
||||
C002_FirstClass_Sidney_SarahWhipDone = true;
|
||||
C002_FirstClass_Sidney_AmandaSarahVariables();
|
||||
C002_FirstClass_Sidney_AmandaSarahVariables();
|
||||
}
|
|
@ -27,7 +27,7 @@ function C003_MorningDetention_Bag_Click() {
|
|||
}
|
||||
|
||||
// Chapter 3 - Bag Steal Pill
|
||||
function C003_MorningDetention_Bag_StealPill() {
|
||||
function C003_MorningDetention_Bag_StealPill() {
|
||||
|
||||
// Steal the sleeping pill from the bag
|
||||
PlayerAddInventory("SleepingPill", 1);
|
||||
|
@ -38,7 +38,7 @@ function C003_MorningDetention_Bag_StealPill() {
|
|||
}
|
||||
|
||||
// Chapter 3 - Bag Steal Egg
|
||||
function C003_MorningDetention_Bag_StealEgg() {
|
||||
function C003_MorningDetention_Bag_StealEgg() {
|
||||
|
||||
// Steal the vibrating egg from the bag
|
||||
PlayerAddInventory("VibratingEgg", 1);
|
||||
|
|
|
@ -9,12 +9,12 @@ function C003_MorningDetention_DetentionRoom_Load() {
|
|||
|
||||
// Set the timer limits
|
||||
StartTimer(9 * 60 * 60 * 1000, "C003_MorningDetention", "Outro");
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 3 - Detention Room Run
|
||||
function C003_MorningDetention_DetentionRoom_Run() {
|
||||
|
||||
|
||||
// Yuki mode changes with time or if she's in trouble
|
||||
C003_MorningDetention_DetentionRoom_Yuki = (Math.round((CurrentTime - 180000) / 120000) % 3) + 1;
|
||||
if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer)) C003_MorningDetention_DetentionRoom_Yuki = 4; // Sleeping
|
||||
|
|
|
@ -13,11 +13,11 @@ function C003_MorningDetention_Glass_Run() {
|
|||
}
|
||||
|
||||
// Chapter 3 - Glass Click
|
||||
function C003_MorningDetention_Glass_Click() {
|
||||
function C003_MorningDetention_Glass_Click() {
|
||||
|
||||
// Regular interaction
|
||||
ClickInteraction(C003_MorningDetention_Glass_CurrentStage);
|
||||
|
||||
|
||||
// Special code for when the user wants to use the sleeping pills
|
||||
if ((C003_MorningDetention_Glass_CurrentStage == 0) && (GetClickedInventory() == "SleepingPill"))
|
||||
C003_MorningDetention_Glass_CurrentStage = 10;
|
||||
|
@ -25,7 +25,7 @@ function C003_MorningDetention_Glass_Click() {
|
|||
}
|
||||
|
||||
// Chapter 3 - Glass Break Pill
|
||||
function C003_MorningDetention_Glass_BreakPill() {
|
||||
function C003_MorningDetention_Glass_BreakPill() {
|
||||
|
||||
// Remove the pill from the player and starts the timer for 10 minutes
|
||||
if (Common_PlayerNotRestrained) {
|
||||
|
@ -35,6 +35,6 @@ function C003_MorningDetention_Glass_BreakPill() {
|
|||
} else {
|
||||
OverridenIntroText = GetText("CannotWithCuffs");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@ var C003_MorningDetention_Intro_Fighting = false;
|
|||
|
||||
// Chapter 3 - Intro Load
|
||||
function C003_MorningDetention_Intro_Load() {
|
||||
|
||||
|
||||
// Time is always 8:20 on the intro + remove any remaining rope
|
||||
StopTimer(8.33333334 * 60 * 60 * 1000);
|
||||
PlayerRemoveAllInventory();
|
||||
|
||||
|
||||
// Set the fighting variable based on if the player fought Sidney in the 1st chapter
|
||||
C003_MorningDetention_Intro_Fighting = (GameLogQuery("C001_BeforeClass", "Sidney", "FightVictory") || GameLogQuery("C001_BeforeClass", "Sidney", "FightDefeat"));
|
||||
C003_MorningDetention_Intro_Fighting = (GameLogQuery("C001_BeforeClass", "Sidney", "FightVictory") || GameLogQuery("C001_BeforeClass", "Sidney", "FightDefeat"));
|
||||
if (!C003_MorningDetention_Intro_Fighting) GameLogSpecificAdd("C001_BeforeClass", "", "PublicBondage");
|
||||
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ function C003_MorningDetention_Intro_Run() {
|
|||
if (TextPhase >= 3) DrawText(GetText("Intro4"), 450, 350, "White");
|
||||
if (TextPhase >= 4) DrawText(GetText("Intro5"), 450, 450, "White");
|
||||
if (TextPhase >= 5) DrawText(GetText("Intro6"), 450, 550, "White");
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 3 - Intro Click
|
||||
|
|
|
@ -2,7 +2,7 @@ var C003_MorningDetention_Outro_EscapedDetention = false;
|
|||
|
||||
// Chapter 3 - Outro Load
|
||||
function C003_MorningDetention_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 9:15:00 in the outro
|
||||
C003_MorningDetention_Outro_EscapedDetention = (CurrentTime < 9 * 60 * 60 * 1000);
|
||||
if (C003_MorningDetention_Outro_EscapedDetention) GameLogSpecificAdd(CurrentChapter, "Yuki", "Escape");
|
||||
|
@ -17,11 +17,11 @@ function C003_MorningDetention_Outro_Load() {
|
|||
|
||||
// Chapter 3 - Outro Run
|
||||
function C003_MorningDetention_Outro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 800, 0);
|
||||
|
||||
|
||||
// Write the chapter outro
|
||||
if (C003_MorningDetention_Outro_EscapedDetention == false) DrawText(GetText("Outro1A"), 400, 150, "White");
|
||||
if (C003_MorningDetention_Outro_EscapedDetention == true) DrawText(GetText("Outro1B"), 400, 150, "White");
|
||||
|
|
|
@ -9,19 +9,19 @@ var C003_MorningDetention_Sidney_EggInside = false;
|
|||
function C003_MorningDetention_Sidney_Load() {
|
||||
|
||||
// Jump directly to stage 100 if the teacher was drugged but is not sleeping
|
||||
if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime < C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Sidney_CurrentStage < 100))
|
||||
if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime < C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Sidney_CurrentStage < 100))
|
||||
C003_MorningDetention_Sidney_CurrentStage = 100;
|
||||
|
||||
// Jump directly to stage 200 if the teacher was drugged and is sleeping
|
||||
if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Sidney_CurrentStage < 200))
|
||||
if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Sidney_CurrentStage < 200))
|
||||
C003_MorningDetention_Sidney_CurrentStage = 200;
|
||||
|
||||
|
||||
// If Sidney isn't gone and the teacher woke up, there's a special dialog
|
||||
if ((C003_MorningDetention_Yuki_CurrentStage >= 200) && (C003_MorningDetention_Sidney_CurrentStage != 160) && (C003_MorningDetention_Sidney_CurrentStage < 300) && (C003_MorningDetention_Yuki_CurrentStage != 230))
|
||||
C003_MorningDetention_Sidney_CurrentStage = 150;
|
||||
|
||||
// Load the scene parameters
|
||||
C003_MorningDetention_Sidney_EggReady = false;
|
||||
C003_MorningDetention_Sidney_EggReady = false;
|
||||
C003_MorningDetention_Sidney_FightVictory = GameLogQuery("C001_BeforeClass", "Sidney", "FightVictory");
|
||||
C003_MorningDetention_Sidney_FightDefeat = GameLogQuery("C001_BeforeClass", "Sidney", "FightDefeat");
|
||||
ActorLoad("Sidney", "DetentionRoom");
|
||||
|
@ -35,12 +35,12 @@ function C003_MorningDetention_Sidney_Run() {
|
|||
}
|
||||
|
||||
// Chapter 3 - Sidney Click
|
||||
function C003_MorningDetention_Sidney_Click() {
|
||||
function C003_MorningDetention_Sidney_Click() {
|
||||
|
||||
// Regular interaction
|
||||
ClickInteraction(C003_MorningDetention_Sidney_CurrentStage);
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
|
||||
// Special code for when the user wants to unlock Sidney
|
||||
if ((ClickInv == "CuffsKey") && (C003_MorningDetention_Sidney_CurrentStage < 300) && Common_PlayerNotRestrained) {
|
||||
PlayerAddInventory("Cuffs", 1);
|
||||
|
@ -59,27 +59,27 @@ function C003_MorningDetention_Sidney_Click() {
|
|||
// Special code for when the user wants to use the vibrating egg on Sidney
|
||||
if ((ClickInv == "SleepingPill") && (C003_MorningDetention_Sidney_CurrentStage < 200) && Common_PlayerNotRestrained)
|
||||
OverridenIntroText = GetText("SleepingPill");
|
||||
|
||||
|
||||
// Special code for when the user wants to use the vibrating egg on Sidney
|
||||
if ((ClickInv == "VibratingEgg") && (C003_MorningDetention_Sidney_CurrentStage >= 200) && (C003_MorningDetention_Sidney_CurrentStage < 300) && Common_PlayerNotRestrained) {
|
||||
OverridenIntroText = GetText("VibratingEggReady");
|
||||
C003_MorningDetention_Sidney_EggReady = true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 3 - Sidney Strip
|
||||
function C003_MorningDetention_Sidney_Strip() {
|
||||
function C003_MorningDetention_Sidney_Strip() {
|
||||
C003_MorningDetention_DetentionRoom_SidneyStrip = true;
|
||||
}
|
||||
|
||||
// Chapter 3 - Sidney Dress
|
||||
function C003_MorningDetention_Sidney_Dress() {
|
||||
function C003_MorningDetention_Sidney_Dress() {
|
||||
C003_MorningDetention_DetentionRoom_SidneyStrip = false;
|
||||
}
|
||||
|
||||
// Chapter 3 - Sidney Unlock
|
||||
function C003_MorningDetention_Sidney_Unlock() {
|
||||
function C003_MorningDetention_Sidney_Unlock() {
|
||||
C003_MorningDetention_DetentionRoom_SidneyGone = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,13 +12,13 @@ var C003_MorningDetention_Yuki_TickleDone = false;
|
|||
function C003_MorningDetention_Yuki_Load() {
|
||||
|
||||
// Jump directly to stage 100 if the teacher was drugged and sleeping
|
||||
if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Yuki_CurrentStage < 100))
|
||||
if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Yuki_CurrentStage < 100))
|
||||
C003_MorningDetention_Yuki_CurrentStage = 100;
|
||||
|
||||
// Flag if Yuki is sleepy or Sidney is gone
|
||||
C003_MorningDetention_Yuki_Sleepy = (C003_MorningDetention_DetentionRoom_SleepTimer > 0);
|
||||
C003_MorningDetention_Yuki_SidneyGone = C003_MorningDetention_DetentionRoom_SidneyGone;
|
||||
|
||||
C003_MorningDetention_Yuki_SidneyGone = C003_MorningDetention_DetentionRoom_SidneyGone;
|
||||
|
||||
// Load the scene parameters
|
||||
C003_MorningDetention_Yuki_EggReady = false;
|
||||
C003_MorningDetention_Yuki_Fighting = C003_MorningDetention_Intro_Fighting;
|
||||
|
@ -37,12 +37,12 @@ function C003_MorningDetention_Yuki_Run() {
|
|||
}
|
||||
|
||||
// Chapter 3 - Yuki Click
|
||||
function C003_MorningDetention_Yuki_Click() {
|
||||
function C003_MorningDetention_Yuki_Click() {
|
||||
|
||||
// Regular interaction
|
||||
ClickInteraction(C003_MorningDetention_Yuki_CurrentStage);
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
|
||||
// Special code for when the user wants to lock Yuki
|
||||
if ((ClickInv == "Cuffs") && (C003_MorningDetention_Yuki_CurrentStage == 110) && Common_PlayerNotRestrained) {
|
||||
PlayerRemoveInventory("Cuffs", 1);
|
||||
|
@ -50,8 +50,8 @@ function C003_MorningDetention_Yuki_Click() {
|
|||
OverridenIntroText = GetText("Cuffs");
|
||||
C003_MorningDetention_Yuki_CurrentStage = 120;
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Special code for when the user wants to unlock Yuki when she sleeps
|
||||
if ((ClickInv == "CuffsKey") && ((C003_MorningDetention_Yuki_CurrentStage == 120) || (C003_MorningDetention_Yuki_CurrentStage == 130)) && Common_PlayerNotRestrained) {
|
||||
PlayerAddInventory("Cuffs", 1);
|
||||
|
@ -59,7 +59,7 @@ function C003_MorningDetention_Yuki_Click() {
|
|||
OverridenIntroText = GetText("Unlock");
|
||||
C003_MorningDetention_Yuki_CurrentStage = 110;
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
}
|
||||
|
||||
// Special code for when the user wants to unlock Yuki when she's awake
|
||||
if ((ClickInv == "CuffsKey") && (C003_MorningDetention_Yuki_CurrentStage == 230) && Common_PlayerNotRestrained) {
|
||||
|
@ -74,22 +74,22 @@ function C003_MorningDetention_Yuki_Click() {
|
|||
if ((ClickInv == "VibratingEgg") && (C003_MorningDetention_Yuki_CurrentStage >= 110) && (C003_MorningDetention_Yuki_CurrentStage <= 130) && Common_PlayerNotRestrained) {
|
||||
OverridenIntroText = GetText("VibratingEggReady");
|
||||
C003_MorningDetention_Yuki_EggReady = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Special code for when the user wants to use an item when Yuki is awake
|
||||
if (((ClickInv == "VibratingEgg") || (ClickInv == "SleepingPill")) && (C003_MorningDetention_Yuki_CurrentStage < 100) && Common_PlayerNotRestrained)
|
||||
C003_MorningDetention_Yuki_CurrentStage = 30;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 3 - Yuki Confiscate
|
||||
function C003_MorningDetention_Yuki_Confiscate() {
|
||||
function C003_MorningDetention_Yuki_Confiscate() {
|
||||
PlayerRemoveInventory("VibratingEgg", 1);
|
||||
PlayerRemoveInventory("SleepingPill", 1);
|
||||
PlayerRemoveInventory("SleepingPill", 1);
|
||||
}
|
||||
|
||||
// Chapter 3 - Yuki Search
|
||||
function C003_MorningDetention_Yuki_Search() {
|
||||
function C003_MorningDetention_Yuki_Search() {
|
||||
C003_MorningDetention_Yuki_CanSearch = false;
|
||||
PlayerAddInventory("Cuffs", 1);
|
||||
if (PlayerHasInventory("CuffsKey") == false) PlayerAddInventory("CuffsKey", 1);
|
||||
|
@ -104,7 +104,7 @@ function C003_MorningDetention_Yuki_SearchCuffKeys() {
|
|||
}
|
||||
|
||||
// Chapter 3 - Yuki Insert
|
||||
function C003_MorningDetention_Yuki_Insert() {
|
||||
function C003_MorningDetention_Yuki_Insert() {
|
||||
C003_MorningDetention_Yuki_EggReady = false;
|
||||
C003_MorningDetention_Yuki_EggInside = true;
|
||||
PlayerRemoveInventory("VibratingEgg", 1);
|
||||
|
@ -112,7 +112,7 @@ function C003_MorningDetention_Yuki_Insert() {
|
|||
}
|
||||
|
||||
// Chapter 3 - Yuki Escape
|
||||
function C003_MorningDetention_Yuki_Escape() {
|
||||
function C003_MorningDetention_Yuki_Escape() {
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ var C004_ArtClass_ArtRoom_SarahStage = 0;
|
|||
|
||||
// Chapter 4 - ArtRoom Load
|
||||
function C004_ArtClass_ArtRoom_Load() {
|
||||
|
||||
|
||||
// Get the image file for each girls
|
||||
LeaveIcon = "Wait";
|
||||
C004_ArtClass_ArtRoom_Jennifer = "Jennifer";
|
||||
|
@ -20,7 +20,7 @@ function C004_ArtClass_ArtRoom_Load() {
|
|||
if ((C004_ArtClass_ArtRoom_ExtraModel == "") && (C004_ArtClass_ArtRoom_JuliaStage <= 1)) C004_ArtClass_ArtRoom_Julia = "Julia_DoublePose";
|
||||
if ((C004_ArtClass_ArtRoom_ExtraModel == "") && (C004_ArtClass_ArtRoom_JuliaStage == 2)) C004_ArtClass_ArtRoom_Julia = "Julia_DoublePoseNoTop";
|
||||
if ((C004_ArtClass_ArtRoom_ExtraModel == "") && (C004_ArtClass_ArtRoom_JuliaStage >= 3)) C004_ArtClass_ArtRoom_Julia = "Julia_DoublePoseNaked";
|
||||
|
||||
|
||||
// Define the extra model picture
|
||||
if (C004_ArtClass_ArtRoom_ExtraModel == "Sarah") C004_ArtClass_ArtRoom_Sarah = "Sarah_Empty";
|
||||
if (C004_ArtClass_ArtRoom_ExtraModel == "Jennifer") C004_ArtClass_ArtRoom_Jennifer = "Jennifer_Empty";
|
||||
|
@ -43,7 +43,7 @@ function C004_ArtClass_ArtRoom_Run() {
|
|||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + C004_ArtClass_ArtRoom_Julia + ".jpg", 300, 0);
|
||||
if (C004_ArtClass_ArtRoom_ExtraModel != "") DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + C004_ArtClass_ArtRoom_ExtraModelImage + "_Extra.jpg", 600, 0);
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + C004_ArtClass_ArtRoom_Sarah + ".jpg", 900, 0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 4 - ArtRoom Click
|
||||
|
|
|
@ -4,7 +4,7 @@ var C004_ArtClass_HiddenEgg_CurrentStage = 0;
|
|||
function C004_ArtClass_HiddenEgg_Load() {
|
||||
LeaveIcon = "Leave";
|
||||
LeaveScreen = "ArtRoom";
|
||||
LoadInteractions();
|
||||
LoadInteractions();
|
||||
}
|
||||
|
||||
// Chapter 4 - Hidden Egg Run
|
||||
|
@ -18,7 +18,7 @@ function C004_ArtClass_HiddenEgg_Click() {
|
|||
}
|
||||
|
||||
// Chapter 4 - Bag Take Egg
|
||||
function C004_ArtClass_HiddenEgg_TakeEgg() {
|
||||
function C004_ArtClass_HiddenEgg_TakeEgg() {
|
||||
PlayerAddInventory("VibratingEgg", 1);
|
||||
AchievementUnlock("HappyEaster");
|
||||
}
|
|
@ -3,7 +3,7 @@ function C004_ArtClass_Intro_Load() {
|
|||
|
||||
// Time is always 9:15 on the intro, no timer
|
||||
StopTimer(9.25 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
// Do not allow bondage when we begin
|
||||
Common_BondageAllowed = false;
|
||||
Common_SelfBondageAllowed = false;
|
||||
|
@ -12,7 +12,7 @@ function C004_ArtClass_Intro_Load() {
|
|||
|
||||
// Chapter 4 - Intro Run
|
||||
function C004_ArtClass_Intro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
|
|
@ -20,22 +20,22 @@ var C004_ArtClass_Jennifer_PaintAvail = true;
|
|||
// Chapter 4 - Jennifer Load
|
||||
function C004_ArtClass_Jennifer_Load() {
|
||||
|
||||
// Load the scene parameters
|
||||
// Load the scene parameters
|
||||
ActorLoad("Jennifer", "ArtRoom");
|
||||
LoadInteractions();
|
||||
C004_ArtClass_Jennifer_EggConfirm = false;
|
||||
C004_ArtClass_Jennifer_JuliaStrip = (C004_ArtClass_ArtRoom_JuliaStage >= 2);
|
||||
|
||||
|
||||
// Jumps to the correct stage
|
||||
if ((C004_ArtClass_ArtRoom_ExtraModel == "Jennifer") && (C004_ArtClass_Jennifer_CurrentStage < 100)) C004_ArtClass_Jennifer_CurrentStage = 100;
|
||||
if ((C004_ArtClass_ArtRoom_ExtraModel != "") && (C004_ArtClass_ArtRoom_ExtraModel != "Jennifer")) C004_ArtClass_Jennifer_CurrentStage = 80;
|
||||
|
||||
// If we allow the player to beg to be released
|
||||
C004_ArtClass_Jennifer_CanBegForRelease = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerRestrained && Common_PlayerNotGagged);
|
||||
|
||||
|
||||
// A player with seduction has an extra option
|
||||
if (PlayerGetSkillLevel("Seduction") == 0) C004_ArtClass_Jennifer_StunningBeautyReady = false;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 4 - Jennifer Run
|
||||
|
@ -62,7 +62,7 @@ function C004_ArtClass_Jennifer_Click() {
|
|||
C004_ArtClass_Jennifer_CurrentStage = 60;
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the rope
|
||||
if (Common_BondageAllowed && (C004_ArtClass_Jennifer_CurrentStage >= 120) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if (ActorGetValue(ActorSubmission) < 3) {
|
||||
|
@ -76,12 +76,12 @@ function C004_ArtClass_Jennifer_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use a gag without tying her
|
||||
if (Common_BondageAllowed && ((ClickInv == "BallGag") || (ClickInv == "TapeGag")) && !ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && !ActorHasInventory("TapeGag") && Common_PlayerNotRestrained)
|
||||
OverridenIntroText = GetText("NoGag");
|
||||
|
||||
// When the user wants to use a BallGag
|
||||
|
||||
// When the user wants to use a BallGag
|
||||
if (Common_BondageAllowed && (ClickInv == "BallGag") && ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && Common_PlayerNotRestrained) {
|
||||
OverridenIntroText = GetText("BallGag");
|
||||
C004_ArtClass_Jennifer_CurrentStage = 140;
|
||||
|
@ -109,9 +109,9 @@ function C004_ArtClass_Jennifer_Click() {
|
|||
if (C004_ArtClass_Jennifer_CropDone == false) { C004_ArtClass_Jennifer_CropDone = true; ActorChangeAttitude(-1, 1); }
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the vibrating egg on Jennifer
|
||||
if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if (C004_ArtClass_Jennifer_EggConfirm == false) {
|
||||
C004_ArtClass_Jennifer_EggConfirm = true;
|
||||
OverridenIntroText = GetText("VibratingEggWarning");
|
||||
|
@ -128,7 +128,7 @@ function C004_ArtClass_Jennifer_Click() {
|
|||
|
||||
// Chapter 4 - Jennifer Sandro Comment - Start Julia Stage 1
|
||||
function C004_ArtClass_Jennifer_SandroComment() {
|
||||
if (C004_ArtClass_ArtRoom_JuliaStage == 0)
|
||||
if (C004_ArtClass_ArtRoom_JuliaStage == 0)
|
||||
C004_ArtClass_ArtRoom_JuliaStage = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -40,24 +40,24 @@ function C004_ArtClass_Julia_Load() {
|
|||
if (C004_ArtClass_Julia_CurrentStage == 100) C004_ArtClass_Julia_CurrentStage = 110;
|
||||
if (C004_ArtClass_Julia_CurrentStage == 130) C004_ArtClass_Julia_CurrentStage = 140;
|
||||
if ((C004_ArtClass_Julia_CurrentStage == 160) || (C004_ArtClass_Julia_CurrentStage == 180)) C004_ArtClass_Julia_CurrentStage = 170;
|
||||
C004_ArtClass_Julia_Sandro = ((C004_ArtClass_ArtRoom_JuliaStage >= 1) && Common_PlayerNotGagged);
|
||||
C004_ArtClass_Julia_Sandro = ((C004_ArtClass_ArtRoom_JuliaStage >= 1) && Common_PlayerNotGagged);
|
||||
C004_ArtClass_Julia_AllowUnderwear = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerNotGagged && Common_PlayerClothed);
|
||||
C004_ArtClass_Julia_AllowNaked = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerNotGagged && Common_PlayerUnderwear);
|
||||
C004_ArtClass_Julia_GetImage();
|
||||
|
||||
|
||||
// When the talk is over, allow the player to leave
|
||||
if (C004_ArtClass_Julia_CurrentStage >= 60) LeaveIcon = "Leave";
|
||||
else LeaveIcon = "";
|
||||
else LeaveIcon = "";
|
||||
C004_ArtClass_Julia_BigHugReady = (!C004_ArtClass_Julia_BigHugDone && Common_PlayerNotGagged && (C004_ArtClass_Julia_CurrentStage >= 60));
|
||||
C004_ArtClass_Julia_AllowShibari = ((Common_BondageAllowed == false) && (C004_ArtClass_ArtRoom_JuliaStage >= 4));
|
||||
|
||||
|
||||
// If we allow the player to beg to be released or do self bondage
|
||||
C004_ArtClass_Julia_CanBegForRelease = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerRestrained && Common_PlayerGagged);
|
||||
C004_ArtClass_Julia_CanDoSelfBondage = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && !Common_PlayerRestrained && !Common_PlayerGagged && Common_PlayerNaked && Common_BondageAllowed && PlayerHasInventory("Rope") && (PlayerGetSkillLevel("RopeMastery") >= 1));
|
||||
|
||||
// A player with seduction has an extra option
|
||||
if (PlayerGetSkillLevel("Seduction") == 0) C004_ArtClass_Julia_WorkOfArtReady = false;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 4 - Julia Run
|
||||
|
@ -66,12 +66,12 @@ function C004_ArtClass_Julia_Run() {
|
|||
}
|
||||
|
||||
// Chapter 4 - Julia Click
|
||||
function C004_ArtClass_Julia_Click() {
|
||||
function C004_ArtClass_Julia_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C004_ArtClass_Julia_CurrentStage);
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
|
||||
// When the talk is over, allow the player to leave
|
||||
if (C004_ArtClass_Julia_CurrentStage >= 60) LeaveIcon = "Leave";
|
||||
|
||||
|
@ -81,7 +81,7 @@ function C004_ArtClass_Julia_Click() {
|
|||
|
||||
// When the user wants to use the rope on Julia
|
||||
if (Common_BondageAllowed && (ClickInv == "Rope") && !ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
|
||||
|
||||
// It can work if Julia is submissive, else the player gets tied up
|
||||
if (ActorGetValue(ActorSubmission) > 0) {
|
||||
OverridenIntroText = GetText("RopeJulia");
|
||||
|
@ -100,7 +100,7 @@ function C004_ArtClass_Julia_Click() {
|
|||
|
||||
// Time and item are consumed
|
||||
PlayerRemoveInventory("Rope", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
// When the user wants to use the BallGag
|
||||
|
@ -126,7 +126,7 @@ function C004_ArtClass_Julia_Click() {
|
|||
C004_ArtClass_Julia_IsGagged = true;
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the crop
|
||||
if (Common_BondageAllowed && (ClickInv == "Crop") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
OverridenIntroText = GetText("Crop");
|
||||
|
@ -134,7 +134,7 @@ function C004_ArtClass_Julia_Click() {
|
|||
}
|
||||
|
||||
// When the user wants to use the vibrating egg on Julia
|
||||
if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if (C004_ArtClass_Julia_EggConfirm == false) {
|
||||
C004_ArtClass_Julia_EggConfirm = true;
|
||||
OverridenIntroText = GetText("VibratingEggWarning");
|
||||
|
@ -145,10 +145,10 @@ function C004_ArtClass_Julia_Click() {
|
|||
C004_ArtClass_Julia_EggInside = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Get the correct image for Julia
|
||||
C004_ArtClass_Julia_GetImage();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 4 - Julia Big Hug
|
||||
|
@ -164,13 +164,13 @@ function C004_ArtClass_Julia_BigHug() {
|
|||
|
||||
// Chapter 4 - Julia Remove Top
|
||||
function C004_ArtClass_Julia_RemoveTop() {
|
||||
if (C004_ArtClass_ArtRoom_JuliaStage <= 1)
|
||||
if (C004_ArtClass_ArtRoom_JuliaStage <= 1)
|
||||
C004_ArtClass_ArtRoom_JuliaStage = 2;
|
||||
}
|
||||
|
||||
// Chapter 4 - Julia Strip
|
||||
function C004_ArtClass_Julia_Strip() {
|
||||
if (C004_ArtClass_ArtRoom_JuliaStage <= 2)
|
||||
if (C004_ArtClass_ArtRoom_JuliaStage <= 2)
|
||||
C004_ArtClass_ArtRoom_JuliaStage = 3;
|
||||
}
|
||||
|
||||
|
@ -287,7 +287,7 @@ function C004_ArtClass_Julia_Tickle() {
|
|||
else OverridenIntroText = GetText("TickleRestrained");
|
||||
ActorChangeAttitude(1, 0);
|
||||
C004_ArtClass_Julia_TickleDone = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 4 - Julia Change Model
|
||||
|
@ -305,10 +305,10 @@ function C004_ArtClass_Julia_BegForRelease() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
} else {
|
||||
OverridenIntroText = GetText("PlayerStayGagged");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
OverridenIntroText = GetText("JuliaRestrainedPlayerGagged");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 4 - Julia Gagged Speech
|
||||
|
|
|
@ -3,14 +3,14 @@ var C004_ArtClass_Outro_Crime = "";
|
|||
|
||||
// Chapter 4 - Outro Load
|
||||
function C004_ArtClass_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 10:15:00 in the outro
|
||||
StopTimer(10.25 * 60 * 60 * 1000);
|
||||
C004_ArtClass_Outro_Restrained = Common_PlayerRestrained;
|
||||
ActorSpecificClearInventory("Jennifer", false);
|
||||
ActorSpecificClearInventory("Julia", false);
|
||||
ActorSpecificClearInventory("Sarah", false);
|
||||
|
||||
|
||||
// Gets the player crime chapter 2 or 3. If there's any, we go to chapter 6 instead of 5.
|
||||
if (GameLogQuery("C002_FirstClass", "Mildred", "Subdue") && !GameLogQuery("C002_FirstClass", "Mildred", "Release")) C004_ArtClass_Outro_Crime = "RestrainMildred";
|
||||
if (GameLogQuery("C003_MorningDetention", "Yuki", "Drug") && !GameLogQuery("C003_MorningDetention", "Yuki", "DrugAwake")) C004_ArtClass_Outro_Crime = "DrugYuki";
|
||||
|
@ -21,10 +21,10 @@ function C004_ArtClass_Outro_Load() {
|
|||
|
||||
// Chapter 4 - Outro Run
|
||||
function C004_ArtClass_Outro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
|
||||
|
||||
// Write the chapter outro
|
||||
if (C004_ArtClass_Outro_Crime == "") {
|
||||
|
||||
|
@ -35,7 +35,7 @@ function C004_ArtClass_Outro_Run() {
|
|||
if ((TextPhase >= 1) && !C004_ArtClass_Outro_Restrained && (C004_ArtClass_ArtRoom_ExtraModel == "Player")) DrawText(GetText("NoCrime2B"), 400, 300, "White");
|
||||
if ((TextPhase >= 1) && !C004_ArtClass_Outro_Restrained && (C004_ArtClass_ArtRoom_ExtraModel != "Player")) DrawText(GetText("NoCrime2C"), 400, 300, "White");
|
||||
if (TextPhase >= 2) DrawText(GetText("NoCrime3"), 400, 450, "White");
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
// Crime outro
|
||||
|
|
|
@ -23,7 +23,7 @@ var C004_ArtClass_Sarah_PaintAvail = true;
|
|||
// Chapter 4 - Sarah Load
|
||||
function C004_ArtClass_Sarah_Load() {
|
||||
|
||||
// Load the scene parameters
|
||||
// Load the scene parameters
|
||||
ActorLoad("Sarah", "ArtRoom");
|
||||
LoadInteractions();
|
||||
C004_ArtClass_Sarah_EggConfirm = false;
|
||||
|
@ -53,14 +53,14 @@ function C004_ArtClass_Sarah_Run() {
|
|||
function C004_ArtClass_Sarah_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C004_ArtClass_Sarah_CurrentStage);
|
||||
ClickInteraction(C004_ArtClass_Sarah_CurrentStage);
|
||||
if (C004_ArtClass_Sarah_CurrentStage > 130) OverridenIntroImage = "";
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
// When the user wants to use any item and bondage isn't allowed
|
||||
if (!Common_BondageAllowed && ((ClickInv == "Rope") || (ClickInv == "BallGag") || (ClickInv == "TapeGag") || (ClickInv == "Crop") || (ClickInv == "Cuffs") || (ClickInv == "VibratingEgg")) && Common_PlayerNotRestrained)
|
||||
OverridenIntroText = GetText("NoBondage");
|
||||
|
||||
|
||||
// When the user wants to use the rope
|
||||
if (Common_BondageAllowed && (C004_ArtClass_Sarah_CurrentStage >= 150) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
OverridenIntroText = GetText("Rope");
|
||||
|
@ -74,8 +74,8 @@ function C004_ArtClass_Sarah_Click() {
|
|||
// When the user wants to use a gag without tying her
|
||||
if (Common_BondageAllowed && ((ClickInv == "BallGag") || (ClickInv == "TapeGag")) && !ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && !ActorHasInventory("TapeGag") && Common_PlayerNotRestrained)
|
||||
OverridenIntroText = GetText("BondageBeforeGag");
|
||||
|
||||
// When the user wants to use a BallGag
|
||||
|
||||
// When the user wants to use a BallGag
|
||||
if (Common_BondageAllowed && (ClickInv == "BallGag") && ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && Common_PlayerNotRestrained) {
|
||||
OverridenIntroText = GetText("BallGag");
|
||||
C004_ArtClass_Sarah_CurrentStage = 170;
|
||||
|
@ -105,7 +105,7 @@ function C004_ArtClass_Sarah_Click() {
|
|||
}
|
||||
|
||||
// When the user wants to use the vibrating egg on Sarah
|
||||
if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if (C004_ArtClass_Sarah_EggConfirm == false) {
|
||||
C004_ArtClass_Sarah_EggConfirm = true;
|
||||
OverridenIntroText = GetText("VibratingEggWarning");
|
||||
|
@ -117,7 +117,7 @@ function C004_ArtClass_Sarah_Click() {
|
|||
C004_ArtClass_Sarah_EggInside = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Set if the crotch robe/orgasm mode is ready
|
||||
C004_ArtClass_Sarah_CrotchRopeReady = (C004_ArtClass_Sarah_IsModel && ActorHasInventory("VibratingEgg") && !C004_ArtClass_Sarah_OrgasmDone);
|
||||
|
||||
|
@ -125,7 +125,7 @@ function C004_ArtClass_Sarah_Click() {
|
|||
|
||||
// Chapter 4 - Sarah Shibari Comment - Start Julia Stage 4
|
||||
function C004_ArtClass_Sarah_ShibariComment() {
|
||||
if (C004_ArtClass_ArtRoom_JuliaStage == 3)
|
||||
if (C004_ArtClass_ArtRoom_JuliaStage == 3)
|
||||
C004_ArtClass_ArtRoom_JuliaStage = 4;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ function C005_GymClass_GymFight_KeyDown() {
|
|||
|
||||
// Chapter 5 - Gym Fight End
|
||||
function C005_GymClass_GymFight_FightEnd(Victory) {
|
||||
|
||||
|
||||
// The first fight counts if it wasn't on practice mode
|
||||
if (!C005_GymClass_Jennifer_PracticeMode) {
|
||||
if (Victory) C005_GymClass_Jennifer_CurrentStage = 100;
|
||||
|
|
|
@ -3,7 +3,7 @@ function C005_GymClass_Intro_Load() {
|
|||
|
||||
// Time is always 10:30 on the intro, no timer
|
||||
StopTimer(10.5 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
// Do not allow bondage when we begin
|
||||
Common_BondageAllowed = false;
|
||||
Common_SelfBondageAllowed = false;
|
||||
|
@ -12,7 +12,7 @@ function C005_GymClass_Intro_Load() {
|
|||
|
||||
// Chapter 5 - Intro Run
|
||||
function C005_GymClass_Intro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
@ -32,6 +32,6 @@ function C005_GymClass_Intro_Click() {
|
|||
if (TextPhase >= 5) {
|
||||
PlayerClothes("Judo");
|
||||
Common_SelfBondageAllowed = false;
|
||||
SetScene(CurrentChapter, "Jennifer");
|
||||
SetScene(CurrentChapter, "Jennifer");
|
||||
}
|
||||
}
|
|
@ -30,13 +30,13 @@ function C005_GymClass_Jennifer_Load() {
|
|||
LoadInteractions();
|
||||
StartTimer(11.5 * 60 * 60 * 1000, CurrentChapter, "Outro");
|
||||
LeaveIcon = "";
|
||||
|
||||
|
||||
// Jennifer scene specific parameters
|
||||
C005_GymClass_Jennifer_EggInside = (ActorHasInventory("VibratingEgg"));
|
||||
C005_GymClass_Jennifer_EggConfirm = false;
|
||||
C005_GymClass_Jennifer_PlayerHasBallGag = (PlayerHasInventory("BallGag"));
|
||||
C005_GymClass_Jennifer_PlayerHasTapeGag = (PlayerHasInventory("TapeGag"));
|
||||
|
||||
|
||||
// If the player can collect the hard mode bonus (better bonus if the match was perfect)
|
||||
if (C005_GymClass_Jennifer_DefeatedHardMode && !C005_GymClass_Jennifer_DefeatedHardModeBonus) {
|
||||
ActorChangeAttitude(1, 1);
|
||||
|
@ -46,7 +46,7 @@ function C005_GymClass_Jennifer_Load() {
|
|||
}
|
||||
C005_GymClass_Jennifer_DefeatedHardModeBonus = true;
|
||||
}
|
||||
|
||||
|
||||
// If there's no egg, we skip the stage 0
|
||||
if (!C005_GymClass_Jennifer_EggInside && (C005_GymClass_Jennifer_CurrentStage == 0))
|
||||
C005_GymClass_Jennifer_CurrentStage = 5;
|
||||
|
@ -56,7 +56,7 @@ function C005_GymClass_Jennifer_Load() {
|
|||
C005_GymClass_Jennifer_RopeGiven = true;
|
||||
PlayerAddInventory("Rope", 1);
|
||||
}
|
||||
|
||||
|
||||
// If the rope was given, we take it back if there was a defeat
|
||||
if ((C005_GymClass_Jennifer_RopeGiven == true) && (C005_GymClass_Jennifer_CurrentStage == 210)) {
|
||||
C005_GymClass_Jennifer_RopeGiven = false;
|
||||
|
@ -66,7 +66,7 @@ function C005_GymClass_Jennifer_Load() {
|
|||
// If the player won, we restrain Jennifer
|
||||
if ((C005_GymClass_Jennifer_CurrentStage == 400) && !ActorHasInventory("Rope") && PlayerHasInventory("Rope")) {
|
||||
PlayerRemoveInventory("Rope", 1);
|
||||
ActorAddInventory("Rope");
|
||||
ActorAddInventory("Rope");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -78,16 +78,16 @@ function C005_GymClass_Jennifer_Run() {
|
|||
|
||||
// Chapter 5 - Jennifer Click
|
||||
function C005_GymClass_Jennifer_Click() {
|
||||
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C005_GymClass_Jennifer_CurrentStage);
|
||||
|
||||
|
||||
// If we want to access player inventory (we can do it at every moment expect when Jennifer is tied up)
|
||||
if ((MouseX <= 74) || (C005_GymClass_Jennifer_CurrentStage < 400) || (C005_GymClass_Jennifer_CurrentStage >= 500)) {
|
||||
InventoryClick(GetClickedInventory(), "C005_GymClass", "Jennifer");
|
||||
}
|
||||
else {
|
||||
|
||||
|
||||
// Retrieve which item was clicked
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
|
@ -97,8 +97,8 @@ function C005_GymClass_Jennifer_Click() {
|
|||
if (C005_GymClass_Jennifer_CropDone == false) { C005_GymClass_Jennifer_CropDone = true; ActorChangeAttitude(-1, 1); }
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
// When the user wants to use a BallGag
|
||||
|
||||
// When the user wants to use a BallGag
|
||||
if ((ClickInv == "BallGag") && ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && Common_PlayerNotRestrained && ((C005_GymClass_Jennifer_CurrentStage == 400) || (C005_GymClass_Jennifer_CurrentStage == 410) || (C005_GymClass_Jennifer_CurrentStage == 430))) {
|
||||
OverridenIntroText = GetText("BallGag");
|
||||
C005_GymClass_Jennifer_CurrentStage = 420;
|
||||
|
@ -116,10 +116,10 @@ function C005_GymClass_Jennifer_Click() {
|
|||
ActorAddInventory("TapeGag");
|
||||
PlayerRemoveInventory("TapeGag", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// When the user wants to use the vibrating egg on Jennifer
|
||||
if ((ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if ((ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
|
||||
if (C005_GymClass_Jennifer_EggConfirm == false) {
|
||||
C005_GymClass_Jennifer_EggConfirm = true;
|
||||
OverridenIntroText = GetText("VibratingEggWarning");
|
||||
|
@ -131,7 +131,7 @@ function C005_GymClass_Jennifer_Click() {
|
|||
C005_GymClass_Jennifer_EggInside = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,7 +143,7 @@ function C005_GymClass_Jennifer_StartPractice() {
|
|||
|
||||
// Chapter 5 - Jennifer Explain Mobile
|
||||
function C005_GymClass_Jennifer_ExplainMobile() {
|
||||
if (IsMobile)
|
||||
if (IsMobile)
|
||||
OverridenIntroText = GetText("ExplainMobile");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Chapter 5 - Outro Load
|
||||
function C005_GymClass_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 11:30:00 in the outro, unlock if needed
|
||||
StopTimer(11.5 * 60 * 60 * 1000);
|
||||
PlayerUnlockAllInventory();
|
||||
|
@ -11,11 +11,11 @@ function C005_GymClass_Outro_Load() {
|
|||
|
||||
// Chapter 5 - Outro Run
|
||||
function C005_GymClass_Outro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
|
||||
|
||||
|
||||
// Draw the outro text
|
||||
DrawText(GetText("Outro1"), 400, 200, "White");
|
||||
if (TextPhase >= 1) DrawText(GetText("Outro2"), 400, 400, "White");
|
||||
|
|
|
@ -13,7 +13,7 @@ function C006_Isolation_CellDoor_Run() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Cell Door Click
|
||||
function C006_Isolation_CellDoor_Click() {
|
||||
function C006_Isolation_CellDoor_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C006_Isolation_CellDoor_CurrentStage);
|
||||
|
|
|
@ -16,7 +16,7 @@ function C006_Isolation_CellGround_Run() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Cell Ground Click
|
||||
function C006_Isolation_CellGround_Click() {
|
||||
function C006_Isolation_CellGround_Click() {
|
||||
ClickInteraction(C006_Isolation_CellGround_CurrentStage);
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ function C006_Isolation_Cross_Run() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Cross Click
|
||||
function C006_Isolation_Cross_Click() {
|
||||
function C006_Isolation_Cross_Click() {
|
||||
ClickInteraction(C006_Isolation_Cross_CurrentStage);
|
||||
}
|
||||
|
||||
|
|
|
@ -16,25 +16,25 @@ function C006_Isolation_Horse_Run() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Horse Click
|
||||
function C006_Isolation_Horse_Click() {
|
||||
function C006_Isolation_Horse_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C006_Isolation_Horse_CurrentStage);
|
||||
|
||||
|
||||
// The collar can be used to get a better grip on the bolt
|
||||
if ((GetClickedInventory() == "Collar") && C006_Isolation_Horse_BoltSeen && !C006_Isolation_Horse_BoltUndone) {
|
||||
OverridenIntroText = GetText("UndoBolt");
|
||||
OverridenIntroText = GetText("UndoBolt");
|
||||
C006_Isolation_Horse_BoltSeen = false;
|
||||
C006_Isolation_Horse_BoltUndone = true;
|
||||
C006_Isolation_Horse_MetalAvail = true;
|
||||
CurrentTime = CurrentTime + 10000;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 6 - Horse Allow Bolt
|
||||
function C006_Isolation_Horse_AllowBolt() {
|
||||
if (!C006_Isolation_Horse_BoltUndone)
|
||||
if (!C006_Isolation_Horse_BoltUndone)
|
||||
C006_Isolation_Horse_BoltSeen = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@ function C006_Isolation_Intro_Load() {
|
|||
|
||||
// Time is always 10:30 on the intro, no timer
|
||||
StopTimer(10.5 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
// Do not allow bondage when we begin
|
||||
Common_BondageAllowed = true;
|
||||
Common_SelfBondageAllowed = true;
|
||||
|
||||
|
||||
// Gets the player crime chapter 2 or 3. If there's any, we go to chapter 6 instead of 5.
|
||||
if (GameLogQuery("C002_FirstClass", "Mildred", "Subdue") && !GameLogQuery("C002_FirstClass", "Mildred", "Release")) C006_Isolation_Intro_Teacher = "Mildred";
|
||||
if (GameLogQuery("C003_MorningDetention", "Yuki", "Drug") && !GameLogQuery("C003_MorningDetention", "Yuki", "DrugAwake")) C006_Isolation_Intro_Teacher = "Yuki";
|
||||
|
@ -21,7 +21,7 @@ function C006_Isolation_Intro_Load() {
|
|||
if (Math.floor(Math.random() * 2) == 1) C006_Isolation_Intro_Teacher = "Mildred";
|
||||
else C006_Isolation_Intro_Teacher = "Yuki";
|
||||
}
|
||||
|
||||
|
||||
// Logs the isolation for the teacher
|
||||
GameLogSpecificAdd(CurrentChapter, C006_Isolation_Intro_Teacher, "Isolation");
|
||||
|
||||
|
@ -29,7 +29,7 @@ function C006_Isolation_Intro_Load() {
|
|||
|
||||
// Chapter 6 - Intro Run
|
||||
function C006_Isolation_Intro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
|
|
@ -69,8 +69,8 @@ function C006_Isolation_IsolationRoom_Click() {
|
|||
if ((MouseX >= 830) && (MouseX <= 1000) && (MouseY >= 180) && (MouseY <= 300) && (!C006_Isolation_IsolationRoom_AllowCutRope)) SetScene(CurrentChapter, "Table");
|
||||
if (C006_Isolation_IsolationRoom_AllowCutRope) StruggleClick("C006_CutRope", "Hard", GetText("CutRope"), GetText("CutRopeSuccess"), 910, 220, 100);
|
||||
}
|
||||
|
||||
// Opens the inventory screen
|
||||
|
||||
// Opens the inventory screen
|
||||
InventoryClick(GetClickedInventory(), CurrentChapter, "IsolationRoom");
|
||||
|
||||
}
|
||||
|
@ -83,8 +83,8 @@ function C006_Isolation_IsolationRoom_StruggleDone() {
|
|||
if ((C006_Isolation_IsolationRoom_Stage == 1) && (StruggleType == "C006_Collar")) { PlayerUnlockInventory("Collar"); C006_Isolation_IsolationRoom_Stage++; }
|
||||
if ((C006_Isolation_IsolationRoom_Stage == 2) && (StruggleType == "C006_CellDoor")) C006_Isolation_IsolationRoom_Stage++;
|
||||
if ((C006_Isolation_IsolationRoom_Stage == 3) && (StruggleType == "C006_CutRope")) SetScene(CurrentChapter, "Outro");
|
||||
|
||||
|
||||
// Can only have one orgasm from the crotch rope at any stage
|
||||
if (StruggleType == "C006_Crotch") C006_Isolation_IsolationRoom_OrgasmReady = false;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ function C006_Isolation_Mildred_Run() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Mildred Click
|
||||
function C006_Isolation_Mildred_Click() {
|
||||
function C006_Isolation_Mildred_Click() {
|
||||
ClickInteraction(C006_Isolation_Mildred_CurrentStage);
|
||||
}
|
||||
|
||||
|
@ -55,7 +55,7 @@ function C006_Isolation_Mildred_Release() {
|
|||
// Chapter 6 - Mildred Leave Isolation
|
||||
function C006_Isolation_Mildred_LeaveIsolation() {
|
||||
C006_Isolation_Outro_EarlyRelease = true;
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
}
|
||||
|
||||
// Chapter 6 - Mildred Allow Leave
|
||||
|
@ -64,7 +64,7 @@ function C006_Isolation_Mildred_AllowLeave() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Mildred, if she doesn't like the player, she crops
|
||||
function C006_Isolation_Mildred_CheckForCrop() {
|
||||
function C006_Isolation_Mildred_CheckForCrop() {
|
||||
if (ActorGetValue(ActorLove) <= -3) {
|
||||
OverridenIntroText = GetText("CropStartHate");
|
||||
C006_Isolation_Mildred_CurrentStage = 300;
|
||||
|
@ -84,20 +84,20 @@ function C006_Isolation_Mildred_CheckForCrop() {
|
|||
|
||||
// Chapter 6 - Mildred, crop the player
|
||||
function C006_Isolation_Mildred_DoCrop() {
|
||||
|
||||
|
||||
// If there's still cropping to be done
|
||||
if (C006_Isolation_Mildred_CropCount < C006_Isolation_Mildred_CropMaxCount) {
|
||||
|
||||
|
||||
// The text is random and the image rotates
|
||||
C006_Isolation_Mildred_CropCount++;
|
||||
var P = Math.floor(Math.random() * 6);
|
||||
OverridenIntroText = GetText("Count" + C006_Isolation_Mildred_CropCount) + " ! " + GetText("CropEvent" + P.toString());
|
||||
OverridenIntroImage = "MildredPlayerHorseCrop" + (C006_Isolation_Mildred_CropCount % 3).toString() + ".jpg";
|
||||
|
||||
|
||||
} else {
|
||||
OverridenIntroText = GetText("CropStop");
|
||||
C006_Isolation_Mildred_CurrentStage = 330;
|
||||
OverridenIntroImage = "";
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -5,7 +5,7 @@ var C006_Isolation_Outro_StuckCross = false;
|
|||
|
||||
// Chapter 6 - Outro Load
|
||||
function C006_Isolation_Outro_Load() {
|
||||
|
||||
|
||||
// If there was an early escape
|
||||
if ((CurrentTime < 11.5 * 60 * 60 * 1000) && !C006_Isolation_Outro_EarlyRelease) {
|
||||
C006_Isolation_Outro_EarlyEscape = true;
|
||||
|
@ -21,7 +21,7 @@ function C006_Isolation_Outro_Load() {
|
|||
if ((CurrentTime < 11.5 * 60 * 60 * 1000) && C006_Isolation_Outro_EarlyRelease) GameLogSpecificAdd(CurrentChapter, "", "Release");
|
||||
if (C006_Isolation_Outro_StuckPillory) GameLogSpecificAdd(CurrentChapter, "", "Pillory");
|
||||
if (C006_Isolation_Outro_StuckCross) GameLogSpecificAdd(CurrentChapter, "", "Cross");
|
||||
|
||||
|
||||
// Time is always 11:30:00 in the outro, unlock if needed
|
||||
StopTimer(11.5 * 60 * 60 * 1000);
|
||||
PlayerUnlockAllInventory();
|
||||
|
@ -33,7 +33,7 @@ function C006_Isolation_Outro_Load() {
|
|||
// Chapter 6 - Outro Run
|
||||
function C006_Isolation_Outro_Run() {
|
||||
|
||||
// Paints the background
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
if (C006_Isolation_Outro_EarlyEscape) DrawImage(CurrentChapter + "/" + CurrentScreen + "/Player.jpg", 800, 0);
|
||||
if (!C006_Isolation_Outro_EarlyEscape) DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + C006_Isolation_Intro_Teacher + ".jpg", 800, 0);
|
||||
|
|
|
@ -13,7 +13,7 @@ function C006_Isolation_Pillory_Run() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Pillory Click
|
||||
function C006_Isolation_Pillory_Click() {
|
||||
function C006_Isolation_Pillory_Click() {
|
||||
ClickInteraction(C006_Isolation_Pillory_CurrentStage);
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ function C006_Isolation_Table_Run() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Cell Table Click
|
||||
function C006_Isolation_Table_Click() {
|
||||
function C006_Isolation_Table_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C006_Isolation_Table_CurrentStage);
|
||||
|
|
|
@ -8,7 +8,7 @@ var C006_Isolation_Yuki_Pleasure3 = 0;
|
|||
// Chapter 6 - Yuki Load
|
||||
function C006_Isolation_Yuki_Load() {
|
||||
|
||||
// Load the scene parameters
|
||||
// Load the scene parameters
|
||||
StartTimer(11.5 * 60 * 60 * 1000, CurrentChapter, "Outro");
|
||||
ActorLoad("Yuki", "IsolationRoom");
|
||||
LoadInteractions();
|
||||
|
@ -23,12 +23,12 @@ function C006_Isolation_Yuki_Run() {
|
|||
}
|
||||
|
||||
// Chapter 6 - Yuki Click
|
||||
function C006_Isolation_Yuki_Click() {
|
||||
function C006_Isolation_Yuki_Click() {
|
||||
ClickInteraction(C006_Isolation_Yuki_CurrentStage);
|
||||
}
|
||||
|
||||
// Chapter 6 - Yuki Steal Items
|
||||
function C006_Isolation_Yuki_StealItems() {
|
||||
function C006_Isolation_Yuki_StealItems() {
|
||||
PlayerSaveAllInventory();
|
||||
PlayerRemoveAllInventory();
|
||||
}
|
||||
|
@ -49,35 +49,35 @@ function C006_Isolation_Yuki_AddGag() {
|
|||
PlayerLockInventory("BallGag");
|
||||
}
|
||||
|
||||
// Chapter 6 - Yuki Pleasure
|
||||
// Chapter 6 - Yuki Pleasure
|
||||
function C006_Isolation_Yuki_Pleasure(PleasureType) {
|
||||
|
||||
|
||||
// The player must pleasure her in 3 different ways and at least 5 times to make her climax)
|
||||
if (PleasureType == 1) C006_Isolation_Yuki_Pleasure1++;
|
||||
if (PleasureType == 2) C006_Isolation_Yuki_Pleasure2++;
|
||||
if (PleasureType == 3) C006_Isolation_Yuki_Pleasure3++;
|
||||
if ((C006_Isolation_Yuki_Pleasure1 > 0) && (C006_Isolation_Yuki_Pleasure2 > 0) && (C006_Isolation_Yuki_Pleasure3 > 0) && (C006_Isolation_Yuki_Pleasure1 + C006_Isolation_Yuki_Pleasure2 + C006_Isolation_Yuki_Pleasure3 >= 5)) {
|
||||
|
||||
|
||||
// Yuki gets an orgasm
|
||||
OverridenIntroText = GetText("Orgasm");
|
||||
C006_Isolation_Yuki_CurrentStage = 220;
|
||||
ActorChangeAttitude(2, 0);
|
||||
ActorAddOrgasm();
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
// If the player took too long to try all 3 pleasures, she gives up
|
||||
if (C006_Isolation_Yuki_Pleasure1 + C006_Isolation_Yuki_Pleasure2 + C006_Isolation_Yuki_Pleasure3 >= 7) {
|
||||
OverridenIntroText = GetText("StopPleasure");
|
||||
C006_Isolation_Yuki_CurrentStage = 250;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 6 - Yuki Check to Eat
|
||||
function C006_Isolation_Yuki_CheckToEat() {
|
||||
|
||||
|
||||
// Yuki forces the player if she has the egg
|
||||
if (C006_Isolation_Yuki_EggInside) {
|
||||
OverridenIntroText = GetText("LickEgg");
|
||||
|
@ -110,7 +110,7 @@ function C006_Isolation_Yuki_CheckToStop() {
|
|||
C006_Isolation_Yuki_CurrentStage = 200;
|
||||
C006_Isolation_Yuki_AllowPullBack = false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 6 - Yuki Release
|
||||
|
@ -122,7 +122,7 @@ function C006_Isolation_Yuki_Release() {
|
|||
// Chapter 6 - Yuki Leave Isolation
|
||||
function C006_Isolation_Yuki_LeaveIsolation() {
|
||||
C006_Isolation_Outro_EarlyRelease = true;
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
}
|
||||
|
||||
// Chapter 6 - Yuki Allow Leave
|
||||
|
|
|
@ -13,16 +13,16 @@ var C007_LunchBreak_ActorSelect_Kinbaku = false;
|
|||
|
||||
// Chapter 7 - Lunch Break - Actor Select Load
|
||||
function C007_LunchBreak_ActorSelect_Load() {
|
||||
|
||||
|
||||
// 1 hour is allowed for lunch, starts the timer
|
||||
StartTimer(12.75 * 60 * 60 * 1000, CurrentChapter, "Outro");
|
||||
|
||||
|
||||
// Allow the player to invite a student
|
||||
LeaveIcon = "";
|
||||
LeaveScreen = "";
|
||||
Common_SelfBondageAllowed = false;
|
||||
LoadInteractions();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 7 - Lunch Break - Actor Select Run
|
||||
|
@ -31,13 +31,13 @@ function C007_LunchBreak_ActorSelect_Run() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Lunch Break - Actor Select Click
|
||||
function C007_LunchBreak_ActorSelect_Click() {
|
||||
function C007_LunchBreak_ActorSelect_Click() {
|
||||
ClickInteraction(C007_LunchBreak_ActorSelect_CurrentStage);
|
||||
InventoryClick(GetClickedInventory(), CurrentChapter, "ActorSelect");
|
||||
}
|
||||
|
||||
// When the user selects an actor, we load it
|
||||
function C007_LunchBreak_ActorSelect_LoadActor(ActorToLoad) {
|
||||
function C007_LunchBreak_ActorSelect_LoadActor(ActorToLoad) {
|
||||
C007_LunchBreak_ActorSelect_Actor = ActorToLoad;
|
||||
SetScene(CurrentChapter, ActorToLoad)
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ function C007_LunchBreak_Amanda_CalcParams() {
|
|||
|
||||
// No special images by default
|
||||
OverridenIntroImage = "";
|
||||
|
||||
|
||||
// Between 100 and 200, the image evolves with the number of matches
|
||||
if ((C007_LunchBreak_Amanda_CurrentStage >= 100) && (C007_LunchBreak_Amanda_CurrentStage < 200)) {
|
||||
var Img = "0";
|
||||
|
@ -46,7 +46,7 @@ function C007_LunchBreak_Amanda_CalcParams() {
|
|||
|
||||
// Keep the status of Amanda
|
||||
C007_LunchBreak_Amanda_IsBoundAndGagged = ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")));
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 7 - Amanda Load
|
||||
|
@ -80,7 +80,7 @@ function C007_LunchBreak_Amanda_Run() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Amanda Click
|
||||
function C007_LunchBreak_Amanda_Click() {
|
||||
function C007_LunchBreak_Amanda_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C007_LunchBreak_Amanda_CurrentStage);
|
||||
|
@ -90,7 +90,7 @@ function C007_LunchBreak_Amanda_Click() {
|
|||
C007_LunchBreak_Amanda_LeaveIcon = LeaveIcon;
|
||||
InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the rope on Amanda - Time and item are consumed
|
||||
if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
|
||||
C007_LunchBreak_Amanda_CurrentStage = 330;
|
||||
|
@ -109,7 +109,7 @@ function C007_LunchBreak_Amanda_Click() {
|
|||
PlayerRemoveInventory("Cuffs", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the BallGag on Amanda - Time and item are consumed
|
||||
if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
|
||||
C007_LunchBreak_Amanda_CurrentStage = 330;
|
||||
|
@ -141,7 +141,7 @@ function C007_LunchBreak_Amanda_Click() {
|
|||
}
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the egg on Amanda (Amanda isn't affected by the egg but can still have one)
|
||||
if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
|
||||
OverridenIntroText = GetText("VibratingEgg");
|
||||
|
@ -170,10 +170,10 @@ function C007_LunchBreak_Amanda_Click() {
|
|||
// When the user wants to use a bondage item when subbie
|
||||
if ((C007_LunchBreak_Amanda_CurrentStage >= 400) && (C007_LunchBreak_Amanda_CurrentStage < 440) && ((ClickInv == "Collar") || (ClickInv == "Cuffs") || (ClickInv == "VibratingEgg") || (ClickInv == "Crop") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "Cuffs") || (ClickInv == "Rope")))
|
||||
OverridenIntroText = GetText("SubbieNoItem");
|
||||
|
||||
|
||||
// Recalculates the scene parameters
|
||||
C007_LunchBreak_Amanda_CalcParams();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 7 - Amanda No Leave
|
||||
|
@ -189,7 +189,7 @@ function C007_LunchBreak_Amanda_StartLunch() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Amanda Eat Lunch (adds 20 minutes)
|
||||
function C007_LunchBreak_Amanda_EatLunch() {
|
||||
function C007_LunchBreak_Amanda_EatLunch() {
|
||||
CurrentTime = CurrentTime + 1800000;
|
||||
}
|
||||
|
||||
|
@ -232,7 +232,7 @@ function C007_LunchBreak_Amanda_Tickle() {
|
|||
|
||||
// Chapter 7 - Amanda Masturbate
|
||||
function C007_LunchBreak_Amanda_Masturbate() {
|
||||
|
||||
|
||||
// The count goes up, after 3 times she can have an orgasm but only if she's bound and gagged
|
||||
C007_LunchBreak_Amanda_MasturbateCount++;
|
||||
if ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag"))) {
|
||||
|
@ -245,7 +245,7 @@ function C007_LunchBreak_Amanda_Masturbate() {
|
|||
OverridenIntroText = GetText("Masturbate");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 7 - Amanda Untie
|
||||
|
@ -344,7 +344,7 @@ function C007_LunchBreak_Amanda_EvilEnd() {
|
|||
C007_LunchBreak_ActorSelect_EvilEnding = true;
|
||||
GameLogAdd("Stranded");
|
||||
ActorChangeAttitude(-5, 1);
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
} else {
|
||||
OverridenIntroText = GetText("LeaveBoundAndGagged");
|
||||
C007_LunchBreak_Amanda_ConfirmEvil = true;
|
||||
|
|
|
@ -3,12 +3,12 @@ function C007_LunchBreak_Intro_Load() {
|
|||
|
||||
// Time is always 11:45 on the intro, no timer
|
||||
StopTimer(11.75 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 7 - Lunch Break Run
|
||||
function C007_LunchBreak_Intro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
|
|
@ -41,7 +41,7 @@ function C007_LunchBreak_Jennifer_CalcParams() {
|
|||
if (C007_LunchBreak_Jennifer_MatchCount >= 4) Img = "2";
|
||||
OverridenIntroImage = "JenniferPlayerLunch" + Img + ".jpg";
|
||||
}
|
||||
|
||||
|
||||
// At 240 the player can restrain Jennifer
|
||||
if (C007_LunchBreak_Jennifer_CurrentStage == 240) {
|
||||
var Img = "";
|
||||
|
@ -61,7 +61,7 @@ function C007_LunchBreak_Jennifer_CalcParams() {
|
|||
if (PlayerHasLockedInventory("TapeGag")) Img = Img + "TapeGag";
|
||||
OverridenIntroImage = "JenniferPlayerPunishRacket" + Img + ".jpg";
|
||||
}
|
||||
|
||||
|
||||
// If love and submission are below 4, there's no option for lunch
|
||||
C007_LunchBreak_Jennifer_IsBoundAndGagged = ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")));
|
||||
C007_LunchBreak_Jennifer_NoOption = ((ActorGetValue(ActorLove) <= 3) && (ActorGetValue(ActorSubmission) <= 3));
|
||||
|
@ -102,7 +102,7 @@ function C007_LunchBreak_Jennifer_Load() {
|
|||
|
||||
// From lunch an up, the player cannot leave directly
|
||||
if (C007_LunchBreak_Jennifer_CurrentStage >= 100) {
|
||||
LeaveIcon = "";
|
||||
LeaveIcon = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ function C007_LunchBreak_Jennifer_Run() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Jennifer Click
|
||||
function C007_LunchBreak_Jennifer_Click() {
|
||||
function C007_LunchBreak_Jennifer_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C007_LunchBreak_Jennifer_CurrentStage);
|
||||
|
@ -123,7 +123,7 @@ function C007_LunchBreak_Jennifer_Click() {
|
|||
C007_LunchBreak_Jennifer_LeaveIcon = LeaveIcon;
|
||||
InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the rope
|
||||
if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("Rope");
|
||||
|
@ -132,7 +132,7 @@ function C007_LunchBreak_Jennifer_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Jennifer_IsRoped = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the cuffs
|
||||
if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "Cuffs") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("Cuffs");
|
||||
|
@ -140,7 +140,7 @@ function C007_LunchBreak_Jennifer_Click() {
|
|||
PlayerRemoveInventory("Cuffs", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the BallGag
|
||||
if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
|
||||
OverridenIntroText = GetText("BallGag");
|
||||
|
@ -150,17 +150,17 @@ function C007_LunchBreak_Jennifer_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Jennifer_IsGagged = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the tape gag
|
||||
if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "TapeGag") && !ActorHasInventory("TapeGag")) {
|
||||
OverridenIntroText = GetText("TapeGag");
|
||||
OverridenIntroText = GetText("TapeGag");
|
||||
C007_LunchBreak_Jennifer_Ungag();
|
||||
ActorAddInventory("TapeGag");
|
||||
PlayerRemoveInventory("TapeGag", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Jennifer_IsGagged = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the cuffs keys
|
||||
if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "CuffsKey") && ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("Uncuff");
|
||||
|
@ -168,17 +168,17 @@ function C007_LunchBreak_Jennifer_Click() {
|
|||
PlayerAddInventory("Cuffs", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the crop
|
||||
if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "Crop")) {
|
||||
OverridenIntroText = GetText("Crop");
|
||||
if (C007_LunchBreak_Jennifer_CropDone == false) { C007_LunchBreak_Jennifer_CropDone = true; ActorChangeAttitude(-1, 1); }
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the egg
|
||||
if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
|
||||
|
||||
|
||||
// It only works if Jennifer is restrained
|
||||
if (ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("VibratingEgg");
|
||||
|
@ -189,12 +189,12 @@ function C007_LunchBreak_Jennifer_Click() {
|
|||
OverridenIntroText = GetText("VibratingEggFail");
|
||||
}
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
}
|
||||
|
||||
// When the user wants to use the collar (+20 submission and a ceremony is required)
|
||||
if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "Collar") && !ActorHasInventory("Collar"))
|
||||
OverridenIntroText = GetText("Collar");
|
||||
|
||||
|
||||
// Recalculates the scene parameters
|
||||
C007_LunchBreak_Jennifer_CalcParams();
|
||||
|
||||
|
@ -235,7 +235,7 @@ function C007_LunchBreak_Jennifer_BadMatch() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Jennifer Eat Lunch (Adds 15 minutes)
|
||||
function C007_LunchBreak_Jennifer_EatLunch() {
|
||||
function C007_LunchBreak_Jennifer_EatLunch() {
|
||||
CurrentTime = CurrentTime + 900000;
|
||||
}
|
||||
|
||||
|
@ -252,7 +252,7 @@ function C007_LunchBreak_Jennifer_TestObey() {
|
|||
function C007_LunchBreak_Jennifer_Untie() {
|
||||
if (ActorHasInventory("Rope")) {
|
||||
ActorRemoveInventory("Rope");
|
||||
PlayerAddInventory("Rope", 1);
|
||||
PlayerAddInventory("Rope", 1);
|
||||
C007_LunchBreak_Jennifer_IsRoped = false;
|
||||
}
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ function C007_LunchBreak_Jennifer_Ungag() {
|
|||
// Chapter 7 - Jennifer Release
|
||||
function C007_LunchBreak_Jennifer_Release() {
|
||||
C007_LunchBreak_Jennifer_Untie();
|
||||
C007_LunchBreak_Jennifer_Ungag();
|
||||
C007_LunchBreak_Jennifer_Ungag();
|
||||
if (ActorHasInventory("Cuffs")) {
|
||||
ActorRemoveInventory("Cuffs");
|
||||
PlayerAddInventory("Cuffs", 1);
|
||||
|
@ -362,7 +362,7 @@ function C007_LunchBreak_Jennifer_DressHerBack() {
|
|||
|
||||
// Chapter 7 - Jennifer ask the player to do 10 push-up, the parameter is the push-up quality
|
||||
function C007_LunchBreak_Jennifer_PushUp(Quality) {
|
||||
|
||||
|
||||
// Keeps the count and shows it
|
||||
C007_LunchBreak_Jennifer_PushUpQuality = C007_LunchBreak_Jennifer_PushUpQuality + Quality;
|
||||
C007_LunchBreak_Jennifer_PushUpCount++;
|
||||
|
@ -378,7 +378,7 @@ function C007_LunchBreak_Jennifer_PushUp(Quality) {
|
|||
} else {
|
||||
C007_LunchBreak_Jennifer_CurrentStage = 400;
|
||||
GameLogAdd("PushUpFail");
|
||||
OverridenIntroText = GetText("PushUpFail");
|
||||
OverridenIntroText = GetText("PushUpFail");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -7,7 +7,7 @@ Remote2,(Natalie trembles more and|moans softly through your gag.)
|
|||
Remote3,"(Natalie trembles hard and moans loader. Suddenly|your vibrator peaks, in shock you drop the remote)"
|
||||
Orgasm,(You explode on a wonderful orgasm.|Natalie holds you up as you collapse in here arms.)
|
||||
JennaReturns,(Jenna walks over removes the vibrators.)|Times up you two.
|
||||
OutOfTime,(You realise your next lesson is about to start.|You release her and she tidies her self.)
|
||||
OutOfTime,(You realize your next lesson is about to start.|You release her and she tidies her self.)
|
||||
SubbieMasturbate,(Natalie's touch gives you a wonderful orgasm.|When it subsides she releases you.)
|
||||
NoMasturbate,(She pushes you hands away.|You're meant to be 'tight binding' her.)
|
||||
NatalieOrgasm1,(She trembles with a sweet orgasm|but she seems to be repressing it.)
|
||||
|
|
|
|
@ -1,6 +1,6 @@
|
|||
// Chapter 7 - Lunch Break Load
|
||||
function C007_LunchBreak_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 12:45:00 in the outro, unlock if needed
|
||||
StopTimer(12.75 * 60 * 60 * 1000, CurrentChapter, "Outro");
|
||||
PlayerUnlockAllInventory();
|
||||
|
@ -21,7 +21,7 @@ function C007_LunchBreak_Outro_Load() {
|
|||
function C007_LunchBreak_Outro_Run() {
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
if (C007_LunchBreak_ActorSelect_Actor == "") DrawImage(CurrentChapter + "/" + CurrentScreen + "/EatAlone.jpg", 800, 0);
|
||||
else DrawImage(CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
|
||||
|
||||
|
@ -29,7 +29,7 @@ function C007_LunchBreak_Outro_Run() {
|
|||
if (C007_LunchBreak_ActorSelect_Kinbaku) {
|
||||
if (TextPhase >= 0) DrawText(GetText("Kinbaku1"), 400, 150, "White");
|
||||
if (TextPhase >= 1) DrawText(GetText("Kinbaku2"), 400, 300, "White");
|
||||
if (TextPhase >= 2) DrawText(GetText("Kinbaku3"), 400, 450, "White");
|
||||
if (TextPhase >= 2) DrawText(GetText("Kinbaku3"), 400, 450, "White");
|
||||
} else {
|
||||
|
||||
// Text for eating alone
|
||||
|
@ -71,7 +71,7 @@ function C007_LunchBreak_Outro_Click() {
|
|||
|
||||
// Jump to the next animation
|
||||
TextPhase++;
|
||||
|
||||
|
||||
// Jump to lunch on phase 3
|
||||
if (TextPhase >= 3) {
|
||||
SaveMenu("C008_DramaClass", "Intro");
|
||||
|
|
|
@ -22,19 +22,19 @@ function C007_LunchBreak_Sarah_CalcParams() {
|
|||
|
||||
// No special images by default
|
||||
OverridenIntroImage = "";
|
||||
|
||||
|
||||
// Between 100 and 200, the image evolves with the number of matches
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 100) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 110) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 120) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 130) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 140) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 150) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 160) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 190) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 300) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 310) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 320)) {
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 110) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 120) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 130) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 140) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 150) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 160) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 190) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 300) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 310) ||
|
||||
(C007_LunchBreak_Sarah_CurrentStage == 320)) {
|
||||
var Img = "0";
|
||||
if ((C007_LunchBreak_Sarah_MatchCount == 2) || (C007_LunchBreak_Sarah_MatchCount == 3)) Img = "1";
|
||||
if (C007_LunchBreak_Sarah_MatchCount >= 4) Img = "2";
|
||||
|
@ -51,11 +51,11 @@ function C007_LunchBreak_Sarah_CalcParams() {
|
|||
if (ActorHasInventory("TapeGag")) Img = Img + "TapeGag";
|
||||
OverridenIntroImage = "SarahPlayerRestroomLove" + Img + ".jpg";
|
||||
}
|
||||
|
||||
|
||||
// Keep the status of Sarah
|
||||
C007_LunchBreak_Sarah_IsBoundAndGagged = ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")));
|
||||
C007_LunchBreak_Sarah_HasEgg = ActorHasInventory("VibratingEgg");
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 7 - Sarah Load
|
||||
|
@ -66,7 +66,7 @@ function C007_LunchBreak_Sarah_Load() {
|
|||
LoadInteractions();
|
||||
C007_LunchBreak_Sarah_CalcParams();
|
||||
C007_LunchBreak_Sarah_SubdueMildred = (GameLogQuery("C002_FirstClass", "Mildred", "Subdue") && !GameLogQuery("C002_FirstClass", "Mildred", "Release"));
|
||||
|
||||
|
||||
// If Sarah doesn't like the player and isn't subbie enough, she leaves and don't talk
|
||||
if ((ActorGetValue(ActorLove) <= -3) && (ActorGetValue(ActorSubmission) <= 2) && (C007_LunchBreak_Sarah_CurrentStage == 0)) {
|
||||
C007_LunchBreak_Sarah_CurrentStage = 5;
|
||||
|
@ -87,7 +87,7 @@ function C007_LunchBreak_Sarah_Run() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Sarah Click
|
||||
function C007_LunchBreak_Sarah_Click() {
|
||||
function C007_LunchBreak_Sarah_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C007_LunchBreak_Sarah_CurrentStage);
|
||||
|
@ -105,7 +105,7 @@ function C007_LunchBreak_Sarah_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Sarah_TwoRopes = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the rope
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("FirstRope");
|
||||
|
@ -114,7 +114,7 @@ function C007_LunchBreak_Sarah_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Sarah_IsRoped = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the cuffs
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Cuffs") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("Cuffs");
|
||||
|
@ -122,7 +122,7 @@ function C007_LunchBreak_Sarah_Click() {
|
|||
PlayerRemoveInventory("Cuffs", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the BallGag
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
|
||||
OverridenIntroText = GetText("BallGag");
|
||||
|
@ -132,17 +132,17 @@ function C007_LunchBreak_Sarah_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Sarah_IsGagged = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the tape gag
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "TapeGag") && !ActorHasInventory("TapeGag")) {
|
||||
OverridenIntroText = GetText("TapeGag");
|
||||
OverridenIntroText = GetText("TapeGag");
|
||||
C007_LunchBreak_Sarah_Ungag();
|
||||
ActorAddInventory("TapeGag");
|
||||
PlayerRemoveInventory("TapeGag", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Sarah_IsGagged = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the cuffs keys
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "CuffsKey") && ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("Uncuff");
|
||||
|
@ -150,14 +150,14 @@ function C007_LunchBreak_Sarah_Click() {
|
|||
PlayerAddInventory("Cuffs", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the crop
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Crop")) {
|
||||
OverridenIntroText = GetText("Crop");
|
||||
C007_LunchBreak_Sarah_Violence();
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the egg
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
|
||||
OverridenIntroText = GetText("VibratingEgg");
|
||||
|
@ -165,7 +165,7 @@ function C007_LunchBreak_Sarah_Click() {
|
|||
ActorAddInventory("VibratingEgg");
|
||||
PlayerRemoveInventory("VibratingEgg", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
}
|
||||
|
||||
// When the user wants to use the collar (+20 submission and a ceremony is required)
|
||||
if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Collar") && !ActorHasInventory("Collar"))
|
||||
|
@ -177,7 +177,7 @@ function C007_LunchBreak_Sarah_Click() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Sarah Start Lunch
|
||||
function C007_LunchBreak_Sarah_StartLunch() {
|
||||
function C007_LunchBreak_Sarah_StartLunch() {
|
||||
GameLogAdd("Lunch");
|
||||
CurrentTime = CurrentTime + 480000;
|
||||
LeaveIcon = "";
|
||||
|
@ -272,7 +272,7 @@ function C007_LunchBreak_Sarah_Violence() {
|
|||
function C007_LunchBreak_Sarah_Untie() {
|
||||
if (ActorHasInventory("Rope")) {
|
||||
ActorRemoveInventory("Rope");
|
||||
PlayerAddInventory("Rope", 1);
|
||||
PlayerAddInventory("Rope", 1);
|
||||
if (C007_LunchBreak_Sarah_TwoRopes) {
|
||||
PlayerAddInventory("Rope", 1);
|
||||
C007_LunchBreak_Sarah_TwoRopes = false;
|
||||
|
@ -294,7 +294,7 @@ function C007_LunchBreak_Sarah_Ungag() {
|
|||
// Chapter 7 - Sarah Release
|
||||
function C007_LunchBreak_Sarah_Release() {
|
||||
C007_LunchBreak_Sarah_Untie();
|
||||
C007_LunchBreak_Sarah_Ungag();
|
||||
C007_LunchBreak_Sarah_Ungag();
|
||||
if (ActorHasInventory("Cuffs")) {
|
||||
ActorRemoveInventory("Cuffs");
|
||||
PlayerAddInventory("Cuffs", 1);
|
||||
|
@ -317,7 +317,7 @@ function C007_LunchBreak_Sarah_EvilEnd() {
|
|||
C007_LunchBreak_ActorSelect_EvilEnding = true;
|
||||
GameLogAdd("Stranded");
|
||||
ActorChangeAttitude(-5, 1);
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
SetScene(CurrentChapter, "Outro");
|
||||
} else {
|
||||
OverridenIntroText = GetText("LeaveBoundAndGagged");
|
||||
C007_LunchBreak_Sarah_ConfirmEvil = true;
|
||||
|
|
|
@ -20,7 +20,7 @@ function C007_LunchBreak_Sidney_CalcParams() {
|
|||
|
||||
// No special images by default
|
||||
OverridenIntroImage = "";
|
||||
|
||||
|
||||
// Between 200 and 299, the image evolves with the number of matches
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage >= 200) && (C007_LunchBreak_Sidney_CurrentStage <= 299)) {
|
||||
var Img = "0";
|
||||
|
@ -39,11 +39,11 @@ function C007_LunchBreak_Sidney_CalcParams() {
|
|||
if (ActorHasInventory("TapeGag")) Img = Img + "TapeGag";
|
||||
OverridenIntroImage = "SidneySit" + Img + ".jpg";
|
||||
}
|
||||
|
||||
|
||||
// Keep the status of Sidney
|
||||
C007_LunchBreak_Sidney_IsBoundAndGagged = ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")));
|
||||
C007_LunchBreak_Sidney_HasEgg = ActorHasInventory("VibratingEgg");
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 7 - Sidney Load
|
||||
|
@ -54,9 +54,9 @@ function C007_LunchBreak_Sidney_Load() {
|
|||
LoadInteractions();
|
||||
C007_LunchBreak_Sidney_HelpedEscape = GameLogQuery("C003_MorningDetention", "Sidney", "Unlock");
|
||||
C007_LunchBreak_Sidney_CalcParams();
|
||||
|
||||
|
||||
// If the player is submissive toward Sidney, she will get bullied
|
||||
if ((ActorGetValue(ActorLove) <= 4) && (ActorGetValue(ActorSubmission) <= -2) && C007_LunchBreak_Sidney_CurrentStage == 0)
|
||||
if ((ActorGetValue(ActorLove) <= 4) && (ActorGetValue(ActorSubmission) <= -2) && C007_LunchBreak_Sidney_CurrentStage == 0)
|
||||
C007_LunchBreak_Sidney_CurrentStage = 100;
|
||||
|
||||
// If we must put the previous text back
|
||||
|
@ -72,12 +72,12 @@ function C007_LunchBreak_Sidney_Load() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Sidney Run
|
||||
function C007_LunchBreak_Sidney_Run() {
|
||||
function C007_LunchBreak_Sidney_Run() {
|
||||
BuildInteraction(C007_LunchBreak_Sidney_CurrentStage);
|
||||
}
|
||||
|
||||
// Chapter 7 - Sidney Click
|
||||
function C007_LunchBreak_Sidney_Click() {
|
||||
function C007_LunchBreak_Sidney_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C007_LunchBreak_Sidney_CurrentStage);
|
||||
|
@ -95,7 +95,7 @@ function C007_LunchBreak_Sidney_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Sidney_TwoRopes = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the rope
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("FirstRope");
|
||||
|
@ -104,7 +104,7 @@ function C007_LunchBreak_Sidney_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Sidney_IsRoped = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the cuffs
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Cuffs") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("Cuffs");
|
||||
|
@ -112,7 +112,7 @@ function C007_LunchBreak_Sidney_Click() {
|
|||
PlayerRemoveInventory("Cuffs", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the BallGag
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
|
||||
OverridenIntroText = GetText("BallGag");
|
||||
|
@ -122,17 +122,17 @@ function C007_LunchBreak_Sidney_Click() {
|
|||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Sidney_IsGagged = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the tape gag
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "TapeGag") && !ActorHasInventory("TapeGag")) {
|
||||
OverridenIntroText = GetText("TapeGag");
|
||||
OverridenIntroText = GetText("TapeGag");
|
||||
C007_LunchBreak_Sidney_Ungag();
|
||||
ActorAddInventory("TapeGag");
|
||||
PlayerRemoveInventory("TapeGag", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
C007_LunchBreak_Sidney_IsGagged = true;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the cuffs keys
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "CuffsKey") && ActorHasInventory("Cuffs")) {
|
||||
OverridenIntroText = GetText("Uncuff");
|
||||
|
@ -140,25 +140,25 @@ function C007_LunchBreak_Sidney_Click() {
|
|||
PlayerAddInventory("Cuffs", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the crop
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Crop")) {
|
||||
OverridenIntroText = GetText("Crop");
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// When the user wants to use the egg
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
|
||||
OverridenIntroText = GetText("VibratingEgg");
|
||||
ActorAddInventory("VibratingEgg");
|
||||
PlayerRemoveInventory("VibratingEgg", 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
}
|
||||
|
||||
// When the user wants to use the collar (+20 submission and a ceremony is required)
|
||||
if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Collar") && !ActorHasInventory("Collar"))
|
||||
OverridenIntroText = GetText("Collar");
|
||||
|
||||
|
||||
// Recalculates the scene parameters
|
||||
C007_LunchBreak_Sidney_CalcParams();
|
||||
|
||||
|
@ -190,7 +190,7 @@ function C007_LunchBreak_Sidney_PilloryWait() {
|
|||
if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
|
||||
OverridenIntroText = GetText("Extortion");
|
||||
C007_LunchBreak_Sidney_CurrentStage = 170;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 7 - Sidney - The player is free from the pillory
|
||||
|
@ -199,7 +199,7 @@ function C007_LunchBreak_Sidney_PilloryFree() {
|
|||
}
|
||||
|
||||
// Chapter 7 - Sidney Start Lunch
|
||||
function C007_LunchBreak_Sidney_StartLunch() {
|
||||
function C007_LunchBreak_Sidney_StartLunch() {
|
||||
GameLogAdd("Lunch");
|
||||
CurrentTime = CurrentTime + 480000;
|
||||
LeaveIcon = "";
|
||||
|
@ -260,7 +260,7 @@ function C007_LunchBreak_Sidney_CuteRemark() {
|
|||
function C007_LunchBreak_Sidney_Untie() {
|
||||
if (ActorHasInventory("Rope")) {
|
||||
ActorRemoveInventory("Rope");
|
||||
PlayerAddInventory("Rope", 1);
|
||||
PlayerAddInventory("Rope", 1);
|
||||
if (C007_LunchBreak_Sidney_TwoRopes) {
|
||||
PlayerAddInventory("Rope", 1);
|
||||
C007_LunchBreak_Sidney_TwoRopes = false;
|
||||
|
@ -282,7 +282,7 @@ function C007_LunchBreak_Sidney_Ungag() {
|
|||
// Chapter 7 - Sidney Release
|
||||
function C007_LunchBreak_Sidney_Release() {
|
||||
C007_LunchBreak_Sidney_Untie();
|
||||
C007_LunchBreak_Sidney_Ungag();
|
||||
C007_LunchBreak_Sidney_Ungag();
|
||||
if (ActorHasInventory("Cuffs")) {
|
||||
ActorRemoveInventory("Cuffs");
|
||||
PlayerAddInventory("Cuffs", 1);
|
||||
|
@ -294,7 +294,7 @@ function C007_LunchBreak_Sidney_Masturbate() {
|
|||
C007_LunchBreak_Sidney_MasturbateCount++;
|
||||
if (C007_LunchBreak_Sidney_MasturbateCount == 3) {
|
||||
C007_LunchBreak_Sidney_CurrentStage = "350";
|
||||
OverridenIntroText = GetText("ReadyForOrgasm");
|
||||
OverridenIntroText = GetText("ReadyForOrgasm");
|
||||
} else {
|
||||
if (ActorGetValue(ActorLove) >= ActorGetValue(ActorSubmission)) OverridenIntroText = GetText("MasturbateLove");
|
||||
else OverridenIntroText = GetText("MasturbateSub");
|
||||
|
|
|
@ -51,7 +51,7 @@ function C008_DramaClass_AmandaIntro_Load() {
|
|||
ActorLoad("Amanda", "DressingRoom");
|
||||
LoadInteractions();
|
||||
C008_DramaClass_AmandaIntro_CalcParams();
|
||||
|
||||
|
||||
// Check if Sarah is missing for this scene and if Amanda is the Heroine
|
||||
C008_DramaClass_AmandaIntro_SarahMissing = GameLogQuery("C007_LunchBreak", "Sarah", "Stranded");
|
||||
C008_DramaClass_AmandaIntro_IsHeroine = (C008_DramaClass_JuliaIntro_AmandaRole == "Heroine");
|
||||
|
@ -67,12 +67,12 @@ function C008_DramaClass_AmandaIntro_Run() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Amanda Intro Click
|
||||
function C008_DramaClass_AmandaIntro_Click() {
|
||||
function C008_DramaClass_AmandaIntro_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C008_DramaClass_AmandaIntro_CurrentStage);
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
|
||||
// Amanda can take the keys if the player is too submissive
|
||||
if (ClickInv == "CuffsKey")
|
||||
C008_DramaClass_AmandaIntro_TakeKey();
|
||||
|
@ -84,10 +84,10 @@ function C008_DramaClass_AmandaIntro_Click() {
|
|||
// Amanda will not accept any item when she's costumed
|
||||
if (((ClickInv == "Rope") || (ClickInv == "Armbinder") || (ClickInv == "Cuffs") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg")) && (C008_DramaClass_AmandaIntro_CurrentStage == 50))
|
||||
OverridenIntroText = GetText("CostumeBlocksFun");
|
||||
|
||||
|
||||
// Amanda can be restrained on stage 40
|
||||
if ((C008_DramaClass_AmandaIntro_CurrentStage == 40) && (ClickInv != "") && (ClickInv != "Player") && !Common_PlayerRestrained) {
|
||||
|
||||
|
||||
// Amande doesn't like the crop but becomes more submissive
|
||||
if ((ClickInv == "Crop") && (!C008_DramaClass_AmandaIntro_CropDone)) {
|
||||
C008_DramaClass_AmandaIntro_CropDone = true;
|
||||
|
@ -98,7 +98,7 @@ function C008_DramaClass_AmandaIntro_Click() {
|
|||
// Amande cannot be tied up if she's not at least a little submissive
|
||||
if ((ActorGetValue(ActorSubmission) < 2) && (ClickInv != "CuffsKey")) {
|
||||
OverridenIntroText = GetText("RefuseBondage");
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
// Amanda can refuse the belt if she's not submissive enough or not tied up
|
||||
|
@ -106,7 +106,7 @@ function C008_DramaClass_AmandaIntro_Click() {
|
|||
OverridenIntroText = GetText("RefuseBelt");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Apply the clicked restrain
|
||||
ActorApplyRestrain(ClickInv);
|
||||
C008_DramaClass_AmandaIntro_CalcParams();
|
||||
|
@ -233,7 +233,7 @@ function C008_DramaClass_AmandaIntro_Ungag() {
|
|||
function C008_DramaClass_AmandaIntro_Masturbate() {
|
||||
if (C008_DramaClass_AmandaIntro_IsRestrained) {
|
||||
if (!ActorIsChaste()) {
|
||||
|
||||
|
||||
// She can get an orgasm if she's bound and gagged, and was complimented, tickled or hugged
|
||||
C008_DramaClass_AmandaIntro_MasturbateCount++;
|
||||
if (C008_DramaClass_AmandaIntro_HugDone || C008_DramaClass_AmandaIntro_PrettyCommentDone || C008_DramaClass_AmandaIntro_TickleDone) {
|
||||
|
@ -245,7 +245,7 @@ function C008_DramaClass_AmandaIntro_Masturbate() {
|
|||
C008_DramaClass_AmandaIntro_CurrentStage = 100;
|
||||
} else OverridenIntroText = GetText("MasturbateGood");
|
||||
} else OverridenIntroText = GetText("Masturbate");
|
||||
|
||||
|
||||
} else OverridenIntroText = GetText("MasturbateBelt");
|
||||
}
|
||||
}
|
||||
|
@ -262,7 +262,7 @@ function C008_DramaClass_AmandaIntro_RandomBondage() {
|
|||
if (!C008_DramaClass_AmandaIntro_PlayerBondageDone) {
|
||||
C008_DramaClass_AmandaIntro_PlayerBondageDone = true;
|
||||
ActorChangeAttitude(0, -2);
|
||||
}
|
||||
}
|
||||
} else OverridenIntroText = GetText("NoBondageItem");
|
||||
} else OverridenIntroText = GetText("UndressBeforeBondage");
|
||||
}
|
||||
|
|
|
@ -70,12 +70,12 @@ function C008_DramaClass_Damsel_Run() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Damsel Click
|
||||
function C008_DramaClass_Damsel_Click() {
|
||||
function C008_DramaClass_Damsel_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C008_DramaClass_Damsel_CurrentStage);
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
|
||||
// If the player is the villain, she can restrain Sarah once stage 140 is reached. Stage 220 becomes the minimum stage if she's gagged.
|
||||
if (((ClickInv == "Rope") || (ClickInv == "BallGag") || (ClickInv == "TapeGag") || (ClickInv == "ClothGag")) && C008_DramaClass_Damsel_PlayerIsVillain && (C008_DramaClass_Damsel_CurrentStage >= 140) && (C008_DramaClass_Damsel_CurrentStage < 300) && !Common_PlayerRestrained) {
|
||||
var HadRope = ActorHasInventory("Rope");
|
||||
|
@ -96,29 +96,29 @@ function C008_DramaClass_Damsel_Click() {
|
|||
|
||||
// A few items can change the actor attitude
|
||||
if ((ClickInv == "Crop") && !C008_DramaClass_Damsel_ViolenceDone) { C008_DramaClass_Damsel_ViolenceDone = true; ActorChangeAttitude(1, 0); }
|
||||
|
||||
|
||||
// Apply the clicked restrain
|
||||
ActorApplyRestrain(ClickInv);
|
||||
C008_DramaClass_Damsel_CalcParams();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 8 - Damsel - Sets the global stage and can alter Julia's mood
|
||||
function C008_DramaClass_Damsel_GlobalStage(GlobalStage, LoveMod, SubMod) {
|
||||
|
||||
|
||||
// We can also flag for snapped fingers and a perfect play
|
||||
C008_DramaClass_Theater_GlobalStage = GlobalStage;
|
||||
if (!C008_DramaClass_Damsel_SnapFingersDone || (SubMod <= 0)) ActorSpecificChangeAttitude("Julia", LoveMod, SubMod);
|
||||
if (SubMod > 0) C008_DramaClass_Damsel_SnapFingersDone = true;
|
||||
if (LoveMod < 0) C008_DramaClass_Theater_PerfectPlay = false;
|
||||
C008_DramaClass_Theater_SetPose();
|
||||
|
||||
|
||||
// Remember who was picked for later
|
||||
if (GlobalStage == 200) C008_DramaClass_Damsel_KnightSelection = "Heroine";
|
||||
if (GlobalStage == 210) C008_DramaClass_Damsel_KnightSelection = "Villain";
|
||||
|
||||
|
||||
// If the player is the Damsel, Amanda can restrain her if she's in a Domme mood and wasn't selected
|
||||
if ((GlobalStage == 200) && (C008_DramaClass_Theater_Damsel == "Player") && (C008_DramaClass_Theater_Villain == "Amanda") && (ActorSpecificGetValue("Amanda", ActorSubmission) < 0)) {
|
||||
PlayerClothes("Underwear");
|
||||
|
@ -141,15 +141,15 @@ function C008_DramaClass_Damsel_ForgetLine() {
|
|||
|
||||
// Chapter 8 - Damsel - When Sarah must choose a knight
|
||||
function C008_DramaClass_Damsel_SarahChooseKnight() {
|
||||
|
||||
|
||||
// Sarah chooses the player if love is 10 or better
|
||||
if (((ActorGetValue(ActorLove) >= 10) && (C008_DramaClass_Theater_Heroine == "Player")) || ((ActorGetValue(ActorLove) < 10) && (C008_DramaClass_Theater_Heroine == "Amanda"))) {
|
||||
|
||||
|
||||
// Stage 200 means the hero was selected
|
||||
C008_DramaClass_Damsel_CurrentStage = 200;
|
||||
C008_DramaClass_Theater_GlobalStage = 200;
|
||||
C008_DramaClass_Damsel_KnightSelection = "Heroine";
|
||||
|
||||
|
||||
// If Amanda is the villain, she will restrain Sarah
|
||||
if (C008_DramaClass_Theater_Villain == "Amanda") {
|
||||
ActorSetCloth("Underwear");
|
||||
|
@ -176,7 +176,7 @@ function C008_DramaClass_Damsel_ReleaseDamsel() {
|
|||
ActorUntie();
|
||||
ActorUngag();
|
||||
ActorSetCloth("Damsel");
|
||||
C008_DramaClass_Theater_SetPose();
|
||||
C008_DramaClass_Theater_SetPose();
|
||||
}
|
||||
|
||||
// Chapter 8 - Damsel - When the damsel kisses the victor, it finishes the play
|
||||
|
|
|
@ -22,19 +22,19 @@ function C008_DramaClass_Dressing_Click() {
|
|||
|
||||
// Chapter 8 - Dressing Search
|
||||
function C008_DramaClass_Dressing_Search() {
|
||||
|
||||
|
||||
// On the first search, we find the costume
|
||||
C008_DramaClass_Dressing_SearchCount++;
|
||||
if (C008_DramaClass_Dressing_SearchCount == 1) {
|
||||
OverridenIntroText = GetText("FindCostume");
|
||||
}
|
||||
|
||||
|
||||
// On the third search, we find a chastity belt
|
||||
if (C008_DramaClass_Dressing_SearchCount == 3) {
|
||||
OverridenIntroText = GetText("FindBelt");
|
||||
PlayerAddInventory("ChastityBelt", 1);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 8 - Dressing - Dress back up
|
||||
|
|
|
@ -20,7 +20,7 @@ function C008_DramaClass_DressingHiddenItem_Click() {
|
|||
|
||||
// Chapter 8 - Hidden Item - Search
|
||||
function C008_DramaClass_DressingHiddenItem_Search() {
|
||||
|
||||
|
||||
// After 1 search, a cloth gag, after 3 searches, a random item
|
||||
C008_DramaClass_DressingHiddenItem_SearchCount++;
|
||||
if (C008_DramaClass_DressingHiddenItem_SearchCount == 1) {
|
||||
|
|
|
@ -9,20 +9,20 @@ function C008_DramaClass_DressingRoom_Load() {
|
|||
// Chapter 8 - Dressing Room Run
|
||||
function C008_DramaClass_DressingRoom_Run() {
|
||||
|
||||
// Draw the background image
|
||||
// Draw the background image
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
|
||||
|
||||
// Draw Sarah
|
||||
if (!GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) {
|
||||
if (C008_DramaClass_SarahIntro_CurrentStage == 0) DrawImage(CurrentChapter + "/" + CurrentScreen + "/SarahSearch.png", 0, 0);
|
||||
else DrawActor("Sarah", 130, 50, 0.575);
|
||||
}
|
||||
|
||||
|
||||
// Draw Amanda
|
||||
if (!GameLogQuery("C007_LunchBreak", "Amanda", "Stranded")) {
|
||||
if (C008_DramaClass_AmandaIntro_CurrentStage == 0) DrawImage(CurrentChapter + "/" + CurrentScreen + "/AmandaSearch.png", 800, 0);
|
||||
else DrawActor("Amanda", 800, 50, 0.575);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ function C008_DramaClass_Heroine_Run() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Heroine Click
|
||||
function C008_DramaClass_Heroine_Click() {
|
||||
function C008_DramaClass_Heroine_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C008_DramaClass_Heroine_CurrentStage);
|
||||
|
@ -79,7 +79,7 @@ function C008_DramaClass_Heroine_Click() {
|
|||
|
||||
// The damsel can tie up a knight if she's +10 submissive, the other knight can tie up a knight if she's +5 submissive
|
||||
if ((ActorGetValue(ActorSubmission) < 10) && C008_DramaClass_Heroine_PlayerIsDamsel && !ActorIsRestrained() && (ClickInv != "CuffsKey")) { OverridenIntroText = GetText("RefuseBondageFromDamsel"); return; }
|
||||
if ((ActorGetValue(ActorSubmission) < 5) && C008_DramaClass_Heroine_PlayerIsVillain && !ActorIsRestrained() && (ClickInv != "CuffsKey")) { OverridenIntroText = GetText("RefuseBondageFromKnight"); return; }
|
||||
if ((ActorGetValue(ActorSubmission) < 5) && C008_DramaClass_Heroine_PlayerIsVillain && !ActorIsRestrained() && (ClickInv != "CuffsKey")) { OverridenIntroText = GetText("RefuseBondageFromKnight"); return; }
|
||||
|
||||
// Both heroines react differently to the crop
|
||||
if ((ClickInv == "Crop") && !C008_DramaClass_Heroine_ViolenceDone) {
|
||||
|
@ -222,21 +222,21 @@ function C008_DramaClass_Heroine_Spank() {
|
|||
function C008_DramaClass_Heroine_Masturbate() {
|
||||
|
||||
// Cannot work if the girl is locked in a chastity belt
|
||||
if (ActorIsChaste()) { OverridenIntroText = GetText("MasturbateChaste"); return; }
|
||||
if (ActorIsChaste()) { OverridenIntroText = GetText("MasturbateChaste"); return; }
|
||||
OverridenIntroImage = "";
|
||||
C008_DramaClass_Heroine_MastubateCount++;
|
||||
|
||||
|
||||
// Amanda will climax if she's properly tied up
|
||||
if ((CurrentActor == "Amanda") && (C008_DramaClass_Heroine_MastubateCount >= 3) && !C008_DramaClass_Heroine_OrgasmDone && ActorIsGagged() && ActorHasInventory("TwoRopes")) {
|
||||
if ((CurrentActor == "Amanda") && (C008_DramaClass_Heroine_MastubateCount >= 3) && !C008_DramaClass_Heroine_OrgasmDone && ActorIsGagged() && ActorHasInventory("TwoRopes")) {
|
||||
C008_DramaClass_Heroine_OrgasmDone = true;
|
||||
ActorAddOrgasm();
|
||||
ActorChangeAttitude(1, 0);
|
||||
OverridenIntroText = GetText("Orgasm");
|
||||
OverridenIntroImage = "BackgroundOrgasm.jpg";
|
||||
}
|
||||
|
||||
|
||||
// Sarah will climax if she was beaten up
|
||||
if ((CurrentActor == "Sarah") && (C008_DramaClass_Heroine_MastubateCount >= 3) && !C008_DramaClass_Heroine_OrgasmDone && C008_DramaClass_Heroine_ViolenceDone) {
|
||||
if ((CurrentActor == "Sarah") && (C008_DramaClass_Heroine_MastubateCount >= 3) && !C008_DramaClass_Heroine_OrgasmDone && C008_DramaClass_Heroine_ViolenceDone) {
|
||||
C008_DramaClass_Heroine_OrgasmDone = true;
|
||||
ActorAddOrgasm();
|
||||
ActorChangeAttitude(1, 0);
|
||||
|
|
|
@ -3,12 +3,12 @@ function C008_DramaClass_Intro_Load() {
|
|||
|
||||
// Time is always 13:00 on the intro, no timer
|
||||
StopTimer(13.00 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 8 - Drama Class Run
|
||||
function C008_DramaClass_Intro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
|
|
@ -43,25 +43,25 @@ function C008_DramaClass_Julia_Load() {
|
|||
if (C008_DramaClass_Julia_CurrentStage < 300) C008_DramaClass_Julia_CurrentStage = C008_DramaClass_Theater_GlobalStage;
|
||||
ActorLoad("Julia", "Theater");
|
||||
LoadInteractions();
|
||||
|
||||
|
||||
// On a perfect play, the player gains a level in arts
|
||||
if ((C008_DramaClass_Julia_CurrentStage == 300) && C008_DramaClass_Theater_PerfectPlay) {
|
||||
C008_DramaClass_Theater_PerfectPlay = false;
|
||||
GameLogSpecificAdd(CurrentChapter, "", "PerfectPlay");
|
||||
PlayerAddSkill("Arts", 1);
|
||||
}
|
||||
|
||||
|
||||
// Cannot leave before Julia gave her instructions
|
||||
if (C008_DramaClass_Julia_CurrentStage < 100) LeaveIcon = "";
|
||||
if (C008_DramaClass_Julia_CurrentStage == 330) C008_DramaClass_Julia_CurrentStage = 400;
|
||||
if (C008_DramaClass_Julia_CurrentStage == 340) C008_DramaClass_Julia_CurrentStage = 500;
|
||||
|
||||
|
||||
// Set the role variables
|
||||
C008_DramaClass_Julia_IsDamsel = (C008_DramaClass_JuliaIntro_PlayerRole == "Damsel");
|
||||
C008_DramaClass_Julia_IsHeroine = (C008_DramaClass_JuliaIntro_PlayerRole == "Heroine");
|
||||
C008_DramaClass_Julia_IsVillain = (C008_DramaClass_JuliaIntro_PlayerRole == "Villain");
|
||||
C008_DramaClass_Julia_CalcParams();
|
||||
|
||||
|
||||
// Keep the ending type
|
||||
C008_DramaClass_Julia_EndingKiss = (C008_DramaClass_Theater_Ending == "Kiss");
|
||||
C008_DramaClass_Julia_EndingHug = (C008_DramaClass_Theater_Ending == "Hug");
|
||||
|
@ -78,19 +78,19 @@ function C008_DramaClass_Julia_Run() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Julia Click
|
||||
function C008_DramaClass_Julia_Click() {
|
||||
function C008_DramaClass_Julia_Click() {
|
||||
|
||||
// Regular interaction click
|
||||
ClickInteraction(C008_DramaClass_Julia_CurrentStage);
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
|
||||
// Julia can be restrained on stage 410
|
||||
if ((C008_DramaClass_Julia_CurrentStage == 410) && (ClickInv != "") && (ClickInv != "Player") && !Common_PlayerRestrained) {
|
||||
|
||||
|
||||
// The damsel cannot tie up the other damsel unless she's +5 submissive
|
||||
if ((ActorGetValue(ActorSubmission) < 5) && (C008_DramaClass_Julia_IsDamsel) && !ActorIsRestrained() && (ClickInv != "CuffsKey")) {
|
||||
OverridenIntroText = GetText("RefuseBondage");
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
// Julia cannot wear a belt or a collar
|
||||
|
@ -114,7 +114,7 @@ function C008_DramaClass_Julia_Click() {
|
|||
PlayerRandomBondage();
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 8 - Julia Refuse Script
|
||||
|
@ -191,10 +191,10 @@ function C008_DramaClass_Julia_Masturbate() {
|
|||
OverridenIntroImage = "";
|
||||
C008_DramaClass_Julia_MastubateCount++;
|
||||
if (C008_DramaClass_Julia_MastubateCount <= 3) ActorChangeAttitude(-1, 0);
|
||||
if ((C008_DramaClass_Julia_MastubateCount >= 3) && !C008_DramaClass_Julia_OrgasmDone && ActorHasInventory("VibratingEgg")) {
|
||||
if ((C008_DramaClass_Julia_MastubateCount >= 3) && !C008_DramaClass_Julia_OrgasmDone && ActorHasInventory("VibratingEgg")) {
|
||||
C008_DramaClass_Julia_OrgasmDone = true;
|
||||
ActorAddOrgasm();
|
||||
ActorChangeAttitude(2, 0);
|
||||
ActorAddOrgasm();
|
||||
ActorChangeAttitude(2, 0);
|
||||
OverridenIntroText = GetText("Orgasm");
|
||||
OverridenIntroImage = "BackgroundOrgasm.jpg";
|
||||
}
|
||||
|
@ -229,7 +229,7 @@ function C008_DramaClass_Julia_Rebellion() {
|
|||
if (!Common_PlayerGagged) PlayerLockInventory("ClothGag");
|
||||
CurrentActor = "Sarah";
|
||||
if (!ActorIsRestrained()) { ActorAddInventory("Rope"); ActorSetCloth("Underwear"); }
|
||||
if (!ActorIsGagged()) ActorAddInventory("ClothGag");
|
||||
if (!ActorIsGagged()) ActorAddInventory("ClothGag");
|
||||
CurrentActor = "Amanda";
|
||||
if (!ActorIsRestrained()) { ActorAddInventory("Rope"); ActorSetCloth("Underwear"); }
|
||||
if (!ActorIsGagged()) ActorAddInventory("ClothGag");
|
||||
|
|
|
@ -15,7 +15,7 @@ function C008_DramaClass_JuliaIntro_Load() {
|
|||
LoadInteractions();
|
||||
LeaveIcon = "";
|
||||
C008_DramaClass_JuliaIntro_Painted = GameLogQuery("C004_ArtClass", "Julia", "Paint");
|
||||
|
||||
|
||||
// If Julia doesn't like the player, we skip the "hug" intro
|
||||
if (ActorGetValue(ActorLove) < 1) C008_DramaClass_JuliaIntro_CurrentStage = 20;
|
||||
|
||||
|
@ -27,13 +27,13 @@ function C008_DramaClass_JuliaIntro_Run() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Julia Intro Click
|
||||
function C008_DramaClass_JuliaIntro_Click() {
|
||||
function C008_DramaClass_JuliaIntro_Click() {
|
||||
ClickInteraction(C008_DramaClass_JuliaIntro_CurrentStage);
|
||||
}
|
||||
|
||||
// Chapter 8 - Julia Intro - Check if the player should be forced to play a role
|
||||
function C008_DramaClass_JuliaIntro_CheckRole() {
|
||||
|
||||
|
||||
// If the player is submissive, she will be forced to play the damsel in Distress
|
||||
if (ActorGetValue(ActorSubmission) <= -3) {
|
||||
C008_DramaClass_JuliaIntro_SetRole("Damsel");
|
||||
|
@ -51,9 +51,9 @@ function C008_DramaClass_JuliaIntro_CheckRole() {
|
|||
C008_DramaClass_JuliaIntro_SetRole("Villain");
|
||||
OverridenIntroText = GetText("ForceVillain");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 8 - Julia Intro - Set all the roles for the play
|
||||
function C008_DramaClass_JuliaIntro_SetRole(NewRole) {
|
||||
|
|
|
@ -2,7 +2,7 @@ var C008_DramaClass_Outro_Crime = "";
|
|||
|
||||
// Chapter 8 - Outro Load
|
||||
function C008_DramaClass_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 14:00:00 in the outro, unlock if needed
|
||||
StopTimer(14 * 60 * 60 * 1000);
|
||||
PlayerReleaseBondage();
|
||||
|
@ -17,7 +17,7 @@ function C008_DramaClass_Outro_Load() {
|
|||
ActorSpecificSetPose("Amanda", "");
|
||||
ActorSpecificSetPose("Sarah", "");
|
||||
ActorSpecificSetPose("Julia", "");
|
||||
|
||||
|
||||
// Gets the correct crime in chapter 7 for text and next chapter
|
||||
if (GameLogQuery("C007_LunchBreak", "Amanda", "Stranded")) C008_DramaClass_Outro_Crime = "AmandaStranded";
|
||||
if (GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) C008_DramaClass_Outro_Crime = "SarahStranded";
|
||||
|
@ -28,10 +28,10 @@ function C008_DramaClass_Outro_Load() {
|
|||
|
||||
// Chapter 8 - Outro Run
|
||||
function C008_DramaClass_Outro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
|
||||
|
||||
// If there was a crime that leads to chapter 10
|
||||
if ((C008_DramaClass_Outro_Crime == "AmandaStranded") || (C008_DramaClass_Outro_Crime == "SarahStranded") || (C008_DramaClass_Outro_Crime == "SidneyStranded") || (C008_DramaClass_Outro_Crime == "JenniferStranded")) {
|
||||
|
||||
|
@ -47,7 +47,7 @@ function C008_DramaClass_Outro_Run() {
|
|||
if (TextPhase <= 1) DrawImage(CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
|
||||
if ((TextPhase >= 2) && ((C008_DramaClass_Outro_Crime == "AmandaStranded") || (C008_DramaClass_Outro_Crime == "SarahStranded"))) DrawImage(CurrentChapter + "/" + CurrentScreen + "/AmandaSarah.jpg", 800, 0);
|
||||
if ((TextPhase >= 2) && ((C008_DramaClass_Outro_Crime == "SidneyStranded") || (C008_DramaClass_Outro_Crime == "JenniferStranded"))) DrawImage(CurrentChapter + "/" + CurrentScreen + "/SidneyJennifer.jpg", 800, 0);
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
// Draw the outro text to lead to chapter 9
|
||||
|
|
|
@ -47,11 +47,11 @@ function C008_DramaClass_SarahIntro_Load() {
|
|||
ActorLoad("Sarah", "DressingRoom");
|
||||
LoadInteractions();
|
||||
C008_DramaClass_SarahIntro_CalcParams();
|
||||
|
||||
|
||||
// Check if Amanda is missing for this scene and if Sarah is the damsel
|
||||
C008_DramaClass_SarahIntro_AmandaMissing = GameLogQuery("C007_LunchBreak", "Amanda", "Stranded");
|
||||
C008_DramaClass_SarahIntro_IsDamsel = (C008_DramaClass_JuliaIntro_SarahRole == "Damsel");
|
||||
|
||||
|
||||
// Sarah can ungag the player if needed at first
|
||||
if ((C008_DramaClass_SarahIntro_CurrentStage == 0) && (Common_PlayerGagged))
|
||||
C008_DramaClass_SarahIntro_CurrentStage = 100;
|
||||
|
@ -66,12 +66,12 @@ function C008_DramaClass_SarahIntro_Run() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Sarah Intro Click
|
||||
function C008_DramaClass_SarahIntro_Click() {
|
||||
function C008_DramaClass_SarahIntro_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C008_DramaClass_SarahIntro_CurrentStage);
|
||||
var ClickInv = GetClickedInventory();
|
||||
|
||||
|
||||
// The player can whip her to help her strip
|
||||
if ((ClickInv == "Crop") && (C008_DramaClass_SarahIntro_CurrentStage == 10) && !Common_PlayerRestrained) {
|
||||
OverridenIntroText = GetText("CropToStrip");
|
||||
|
@ -87,7 +87,7 @@ function C008_DramaClass_SarahIntro_Click() {
|
|||
ActorChangeAttitude(0, 1);
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
}
|
||||
|
||||
|
||||
// Sarah can tease the player if she wants to use a toy on stage 0 or 10
|
||||
if (((ClickInv == "Rope") || (ClickInv == "Armbinder") || (ClickInv == "Cuffs") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg")) && (C008_DramaClass_SarahIntro_CurrentStage < 20))
|
||||
OverridenIntroText = GetText("CostumeBeforeFun");
|
||||
|
@ -95,17 +95,17 @@ function C008_DramaClass_SarahIntro_Click() {
|
|||
// Sarah refuses but tease the player on stage 30
|
||||
if (((ClickInv == "Rope") || (ClickInv == "Armbinder") || (ClickInv == "Cuffs") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg")) && (C008_DramaClass_SarahIntro_CurrentStage == 30))
|
||||
OverridenIntroText = GetText("CostumeBlocksFun");
|
||||
|
||||
|
||||
// Sarah can be restrained on stage 20
|
||||
if ((C008_DramaClass_SarahIntro_CurrentStage == 20) && (ClickInv != "")) {
|
||||
|
||||
|
||||
// Sarah can refuse the belt if she's not submissive enough or not tied up
|
||||
if ((ClickInv == "ChastityBelt") && !C008_DramaClass_SarahIntro_IsRestrained && (ActorGetValue(ActorSubmission) < 10)) {
|
||||
OverridenIntroText = GetText("RefuseBelt");
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Apply the clicked restrain
|
||||
ActorApplyRestrain(ClickInv);
|
||||
C008_DramaClass_SarahIntro_CalcParams();
|
||||
|
@ -116,7 +116,7 @@ function C008_DramaClass_SarahIntro_Click() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Sarah Check Ungag - Sarah will ungag the player if she's submissive or loves her
|
||||
function C008_DramaClass_SarahIntro_CheckUngag() {
|
||||
function C008_DramaClass_SarahIntro_CheckUngag() {
|
||||
if ((ActorGetValue(ActorLove)) > 0 || (ActorGetValue(ActorSubmission) > 0)) {
|
||||
PlayerUngag();
|
||||
OverridenIntroText = GetText("UngagPlayer");
|
||||
|
@ -136,7 +136,7 @@ function C008_DramaClass_SarahIntro_RandomBondage() {
|
|||
C008_DramaClass_SarahIntro_PlayerBondageDone = true;
|
||||
ActorChangeAttitude(0, -2);
|
||||
}
|
||||
} else OverridenIntroText = GetText("NoBondageItem");
|
||||
} else OverridenIntroText = GetText("NoBondageItem");
|
||||
} else OverridenIntroText = GetText("UndressBeforeBondage");
|
||||
}
|
||||
}
|
||||
|
@ -193,7 +193,7 @@ function C008_DramaClass_SarahIntro_TestUntiePlayer() {
|
|||
if (!C008_DramaClass_SarahIntro_IsRestrained) {
|
||||
if ((ActorGetValue(ActorLove)) > 0 || (ActorGetValue(ActorSubmission) >= 5)) {
|
||||
PlayerReleaseBondage();
|
||||
C008_DramaClass_SarahIntro_CalcParams();
|
||||
C008_DramaClass_SarahIntro_CalcParams();
|
||||
if (!C008_DramaClass_SarahIntro_IsGagged) OverridenIntroText = GetText("UntiePlayer");
|
||||
else OverridenIntroText = GetText("HelpWhileGagged");
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
|
@ -208,7 +208,7 @@ function C008_DramaClass_SarahIntro_TestUnstrapPlayer() {
|
|||
if (!C008_DramaClass_SarahIntro_IsRestrained) {
|
||||
if ((ActorGetValue(ActorLove)) > 0 || (ActorGetValue(ActorSubmission) >= 5)) {
|
||||
PlayerReleaseBondage();
|
||||
C008_DramaClass_SarahIntro_CalcParams();
|
||||
C008_DramaClass_SarahIntro_CalcParams();
|
||||
if (!C008_DramaClass_SarahIntro_IsGagged) OverridenIntroText = GetText("UnstrapPlayer");
|
||||
else OverridenIntroText = GetText("HelpWhileGagged");
|
||||
CurrentTime = CurrentTime + 60000;
|
||||
|
@ -229,10 +229,10 @@ function C008_DramaClass_SarahIntro_TestUncuffPlayer() {
|
|||
function C008_DramaClass_SarahIntro_Masturbate() {
|
||||
if (C008_DramaClass_SarahIntro_IsRestrained) {
|
||||
if (!ActorIsChaste()) {
|
||||
|
||||
|
||||
// She can get an orgasm with the vibrating egg or if she was hit
|
||||
C008_DramaClass_SarahIntro_MasturbateCount++;
|
||||
if (C008_DramaClass_SarahIntro_ViolenceDone || ActorHasInventory("VibratingEgg")) {
|
||||
if (C008_DramaClass_SarahIntro_ViolenceDone || ActorHasInventory("VibratingEgg")) {
|
||||
if ((C008_DramaClass_SarahIntro_MasturbateCount >= 3) && !C008_DramaClass_SarahIntro_OrgasmDone) {
|
||||
OverridenIntroText = GetText("MasturbateOrgasm");
|
||||
ActorAddOrgasm();
|
||||
|
@ -241,7 +241,7 @@ function C008_DramaClass_SarahIntro_Masturbate() {
|
|||
C008_DramaClass_SarahIntro_CurrentStage = 200;
|
||||
} else OverridenIntroText = GetText("MasturbateGood");
|
||||
} else OverridenIntroText = GetText("Masturbate");
|
||||
|
||||
|
||||
} else OverridenIntroText = GetText("MasturbateBelt");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ Full play by stages:
|
|||
160 - Damsel: I profess love unto thy white hero. (200) / I profess love unto thy black champion. (210) * Now the Damsel can go either side, Sarah will choose the player if +10 love
|
||||
200 - Villain: Hero! Thou hast her heart, flesh is mine.
|
||||
210 - Villain: Hero! Concede thine defeat, she's mine.
|
||||
220 - Heroine: So fate chooseth steel, en garde! * From here, the villain or hero can try to restrain each other
|
||||
220 - Heroine: So fate chooseth steel, en garde! * From here, the villain or hero can try to restrain each other
|
||||
230 - Villain: Indeed, en garde! * Here there's a sword fight (240 if the Heroine wins, 270 if the Villain wins)
|
||||
235 - The sword fight, acted from the villain
|
||||
240 - Heroine: The law shalt judgeth. * Villain gets tied up
|
||||
|
@ -35,7 +35,7 @@ function C008_DramaClass_Theater_SetPose() {
|
|||
var CurActor = CurrentActor;
|
||||
|
||||
// If the villain must be tied up
|
||||
if ((C008_DramaClass_Theater_GlobalStage == 250) && !ActorSpecificInBondage(C008_DramaClass_Theater_Villain)) {
|
||||
if ((C008_DramaClass_Theater_GlobalStage == 250) && !ActorSpecificInBondage(C008_DramaClass_Theater_Villain)) {
|
||||
if (C008_DramaClass_Theater_Villain == "Player") {
|
||||
PlayerClothes("Underwear");
|
||||
PlayerLockInventory("Rope");
|
||||
|
@ -52,7 +52,7 @@ function C008_DramaClass_Theater_SetPose() {
|
|||
}
|
||||
|
||||
// If the heroine must be tied up
|
||||
if ((C008_DramaClass_Theater_GlobalStage == 280) && !ActorSpecificInBondage(C008_DramaClass_Theater_Heroine)) {
|
||||
if ((C008_DramaClass_Theater_GlobalStage == 280) && !ActorSpecificInBondage(C008_DramaClass_Theater_Heroine)) {
|
||||
if (C008_DramaClass_Theater_Heroine == "Player") {
|
||||
PlayerClothes("Underwear");
|
||||
PlayerLockInventory("Rope");
|
||||
|
@ -67,7 +67,7 @@ function C008_DramaClass_Theater_SetPose() {
|
|||
C008_DramaClass_Villain_CurrentStage = 251;
|
||||
C008_DramaClass_Damsel_CurrentStage = 251;
|
||||
}
|
||||
|
||||
|
||||
// Assign the heroine pose depending on the stage
|
||||
var HeroinePose = "";
|
||||
if (((C008_DramaClass_Theater_GlobalStage >= 110) && (C008_DramaClass_Theater_GlobalStage <= 220)) || (C008_DramaClass_Theater_GlobalStage == 270)) HeroinePose = "Acting";
|
||||
|
@ -90,12 +90,12 @@ function C008_DramaClass_Theater_SetPose() {
|
|||
|
||||
// Sets the current actor back
|
||||
CurrentActor = CurActor;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 8 - Theater Load, sets the role each images
|
||||
function C008_DramaClass_Theater_Load() {
|
||||
|
||||
|
||||
// Set the theater parameters
|
||||
LeaveIcon = "Wait";
|
||||
if (C008_DramaClass_JuliaIntro_PlayerRole == "Damsel") C008_DramaClass_Theater_Damsel = "Player";
|
||||
|
@ -107,7 +107,7 @@ function C008_DramaClass_Theater_Load() {
|
|||
if (C008_DramaClass_JuliaIntro_AmandaRole == "Heroine") C008_DramaClass_Theater_Heroine = "Amanda";
|
||||
Common_SelfBondageAllowed = (C008_DramaClass_Theater_GlobalStage >= 400);
|
||||
C008_DramaClass_Theater_SetPose();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 8 - Theater Run
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Chapter 8 - Transition Load
|
||||
function C008_DramaClass_Transition_Load() {
|
||||
|
||||
|
||||
// Time is 13:30:00 at max in the transition, unlock if needed
|
||||
if (CurrentTime >= 13.5 * 60 * 60 * 1000) CurrentTime = 13.5 * 60 * 60 * 1000;
|
||||
StopTimer(CurrentTime);
|
||||
|
@ -15,7 +15,7 @@ function C008_DramaClass_Transition_Load() {
|
|||
ActorLoad("Sarah", "");
|
||||
ActorSpecificSetCloth("Sarah", C008_DramaClass_JuliaIntro_SarahRole);
|
||||
LeaveIcon = "";
|
||||
|
||||
|
||||
// Resets the last bondage chapter for each so it counts again for chapter 8 part 2
|
||||
for (var A = 0; A < Actor.length; A++)
|
||||
Actor[A][ActorLastBondageChapter] = "NONE";
|
||||
|
@ -24,15 +24,15 @@ function C008_DramaClass_Transition_Load() {
|
|||
|
||||
// Chapter 8 - Transition Run
|
||||
function C008_DramaClass_Transition_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Julia.jpg", 800, 0);
|
||||
|
||||
|
||||
// Sets if the transition is late or not
|
||||
var LateForDrama = "Transition";
|
||||
if (CurrentTime == 13.5 * 60 * 60 * 1000) LateForDrama = "Late";
|
||||
|
||||
|
||||
// Draw the outro text
|
||||
DrawText(GetText(LateForDrama + "1"), 400, 150, "White");
|
||||
if (TextPhase >= 1) DrawText(GetText(LateForDrama + "2"), 400, 300, "White");
|
||||
|
|
|
@ -54,7 +54,7 @@ function C008_DramaClass_Villain_Load() {
|
|||
LeaveIcon = "Leave";
|
||||
LeaveScreen = "Theater";
|
||||
C008_DramaClass_Villain_CalcParams();
|
||||
|
||||
|
||||
// The player can disarm if sub +2 vs Amanda and intimidate if sub + 10
|
||||
C008_DramaClass_Villain_CanDisarm = (C008_DramaClass_Villain_PlayerIsVillain && (ActorSpecificGetValue("Amanda", ActorSubmission) >= 2));
|
||||
C008_DramaClass_Villain_CanIntimidate = (C008_DramaClass_Villain_PlayerIsVillain && (ActorSpecificGetValue("Amanda", ActorSubmission) >= 10));
|
||||
|
@ -68,7 +68,7 @@ function C008_DramaClass_Villain_Run() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Villain Click
|
||||
function C008_DramaClass_Villain_Click() {
|
||||
function C008_DramaClass_Villain_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C008_DramaClass_Villain_CurrentStage);
|
||||
|
@ -84,10 +84,10 @@ function C008_DramaClass_Villain_Click() {
|
|||
// The damsel can tie up a knight if she's +10 submissive, the other knight can tie up a knight if she's +5 submissive
|
||||
if ((ActorGetValue(ActorSubmission) < 10) && C008_DramaClass_Villain_PlayerIsDamsel && !ActorIsRestrained() && (ClickInv != "CuffsKey")) { OverridenIntroText = GetText("RefuseBondageFromDamsel"); return; }
|
||||
if ((ActorGetValue(ActorSubmission) < 5) && C008_DramaClass_Villain_PlayerIsHeroine && !ActorIsRestrained() && (ClickInv != "CuffsKey")) { OverridenIntroText = GetText("RefuseBondageFromKnight"); return; }
|
||||
|
||||
|
||||
// A few items can change the actor attitude
|
||||
if ((ClickInv == "Crop") && !C008_DramaClass_Villain_CropDone) { C008_DramaClass_Villain_CropDone = true; ActorChangeAttitude(-1, 1); }
|
||||
|
||||
|
||||
// Apply the clicked restrain
|
||||
ActorApplyRestrain(ClickInv);
|
||||
if (ActorHasInventory("Rope")) ActorSetCloth("Underwear");
|
||||
|
@ -134,10 +134,10 @@ function C008_DramaClass_Villain_NoLeave() {
|
|||
|
||||
// Chapter 8 - Villain - Do the fight between Amanda as the villain and Sarah as the heroine
|
||||
function C008_DramaClass_Villain_AmandaSarahFight(CheerFactor) {
|
||||
|
||||
|
||||
// Victory depends on who's more Domme and the cheering from the player
|
||||
if ((ActorSpecificGetValue("Amanda", ActorSubmission) * -1) - (ActorSpecificGetValue("Sarah", ActorSubmission) * -1) + CheerFactor >= 0) {
|
||||
|
||||
|
||||
// Amanda the villain wins
|
||||
C008_DramaClass_Villain_CurrentStage = 270;
|
||||
C008_DramaClass_Theater_GlobalStage = 270;
|
||||
|
@ -155,14 +155,14 @@ function C008_DramaClass_Villain_AmandaSarahFight(CheerFactor) {
|
|||
// Allows the player to leave once the fight is over
|
||||
C008_DramaClass_Theater_SetPose();
|
||||
LeaveIcon = "Leave";
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 8 - Villain - When the villain kisses the damsel, it finishes the play
|
||||
function C008_DramaClass_Villain_FinalKiss() {
|
||||
GameLogSpecificAdd(CurrentChapter, "", "FinalKiss");
|
||||
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerKiss.jpg";
|
||||
ActorSpecificChangeAttitude("Amanda", 2, 0);
|
||||
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerKiss.jpg";
|
||||
ActorSpecificChangeAttitude("Amanda", 2, 0);
|
||||
ActorSpecificChangeAttitude("Sarah", -3, 0);
|
||||
C008_DramaClass_Theater_GlobalStage = 300;
|
||||
C008_DramaClass_Theater_Ending = "Kiss";
|
||||
|
@ -171,8 +171,8 @@ function C008_DramaClass_Villain_FinalKiss() {
|
|||
// Chapter 8 - Villain - When the villain hugs the damsel, it finishes the play
|
||||
function C008_DramaClass_Villain_FinalHug() {
|
||||
GameLogSpecificAdd(CurrentChapter, "", "FinalHug");
|
||||
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerHug.jpg";
|
||||
ActorSpecificChangeAttitude("Amanda", 1, 0);
|
||||
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerHug.jpg";
|
||||
ActorSpecificChangeAttitude("Amanda", 1, 0);
|
||||
ActorSpecificChangeAttitude("Sarah", -1, 0);
|
||||
C008_DramaClass_Theater_GlobalStage = 300;
|
||||
C008_DramaClass_Theater_Ending = "Hug";
|
||||
|
@ -181,7 +181,7 @@ function C008_DramaClass_Villain_FinalHug() {
|
|||
// Chapter 8 - Villain - When the damsel kneels for the villain, it finishes the play
|
||||
function C008_DramaClass_Villain_FinalDomme() {
|
||||
GameLogSpecificAdd(CurrentChapter, "", "FinalDomme");
|
||||
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerDomme.jpg";
|
||||
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerDomme.jpg";
|
||||
ActorSpecificChangeAttitude("Amanda", 1, -2);
|
||||
ActorSpecificChangeAttitude("Sarah", -1, 0);
|
||||
C008_DramaClass_Theater_GlobalStage = 300;
|
||||
|
@ -226,7 +226,7 @@ function C008_DramaClass_Villain_Ungag() {
|
|||
}
|
||||
|
||||
// Chapter 8 - Villain Kiss
|
||||
function C008_DramaClass_Villain_Kiss() {
|
||||
function C008_DramaClass_Villain_Kiss() {
|
||||
if (!C008_DramaClass_Villain_KissDone) { GameLogAdd("Kiss"); C008_DramaClass_Villain_KissDone = true; ActorChangeAttitude(1, 0); }
|
||||
C008_DramaClass_Villain_CalcParams();
|
||||
}
|
||||
|
@ -252,7 +252,7 @@ function C008_DramaClass_Villain_Masturbate() {
|
|||
C008_DramaClass_Villain_MastubateCount++;
|
||||
|
||||
// Amanda will climax if she's properly tied up
|
||||
if ((C008_DramaClass_Villain_MastubateCount >= 3) && !C008_DramaClass_Villain_OrgasmDone && ActorIsGagged() && (ActorHasInventory("TwoRopes") || ActorHasInventory("Armbinder"))) {
|
||||
if ((C008_DramaClass_Villain_MastubateCount >= 3) && !C008_DramaClass_Villain_OrgasmDone && ActorIsGagged() && (ActorHasInventory("TwoRopes") || ActorHasInventory("Armbinder"))) {
|
||||
C008_DramaClass_Villain_OrgasmDone = true;
|
||||
ActorAddOrgasm();
|
||||
ActorChangeAttitude(1, 0);
|
||||
|
|
|
@ -4,12 +4,12 @@ function C009_Library_Intro_Load() {
|
|||
// Time is always 14:25 on the intro, no timer, if time was already higher, we keep it
|
||||
if ((CurrentTime < 14.25 * 60 * 60 * 1000) || (CurrentTime > 15.25 * 60 * 60 * 1000)) CurrentTime = 14.25 * 60 * 60 * 1000;
|
||||
StopTimer(CurrentTime);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 9 - Library Run
|
||||
function C009_Library_Intro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
|
|
@ -68,7 +68,7 @@ function C009_Library_Jennifer_Load() {
|
|||
LoadInteractions();
|
||||
C009_Library_Jennifer_IsArtist = ((PlayerGetSkillLevel("Arts") >= 1) && !Common_PlayerRestrained);
|
||||
Common_SelfBondageAllowed = false;
|
||||
|
||||
|
||||
// A few variables on what already happened
|
||||
C009_Library_Jennifer_BookAlreadyFound = (C009_Library_Library_BookProgress > 40);
|
||||
C009_Library_Jennifer_TennisVictory = GameLogQuery("C007_LunchBreak", "Jennifer", "TennisVictory");
|
||||
|
@ -87,7 +87,7 @@ function C009_Library_Jennifer_Load() {
|
|||
C009_Library_Jennifer_SetPose();
|
||||
|
||||
} else C009_Library_Jennifer_LoadFromPlayerScreen = false;
|
||||
|
||||
|
||||
// Recalls the previous text if needed
|
||||
if (C009_Library_Jennifer_IntroText != "") OverridenIntroText = C009_Library_Jennifer_IntroText;
|
||||
C009_Library_Jennifer_IntroText = "";
|
||||
|
@ -109,7 +109,7 @@ function C009_Library_Jennifer_Run() {
|
|||
}
|
||||
|
||||
// Chapter 9 Library - Jennifer Click
|
||||
function C009_Library_Jennifer_Click() {
|
||||
function C009_Library_Jennifer_Click() {
|
||||
|
||||
// Regular and inventory interactions
|
||||
ClickInteraction(C009_Library_Jennifer_CurrentStage);
|
||||
|
@ -122,10 +122,10 @@ function C009_Library_Jennifer_Click() {
|
|||
|
||||
// Jennifer can be restrained on stage 300 to 400
|
||||
if ((C009_Library_Jennifer_CurrentStage >= 300) && (C009_Library_Jennifer_CurrentStage < 400) && (ClickInv != "") && (ClickInv != "Player") && !Common_PlayerRestrained) {
|
||||
|
||||
|
||||
// If we must skip the chit chat to get to the action
|
||||
if (C009_Library_Jennifer_CurrentStage < 320) C009_Library_Jennifer_CurrentStage = 320;
|
||||
|
||||
|
||||
// Jennifer doesn't like the crop but becomes more submissive
|
||||
if ((ClickInv == "Crop") && (!C009_Library_Jennifer_CropDone)) {
|
||||
C009_Library_Jennifer_CropDone = true;
|
||||
|
@ -146,7 +146,7 @@ function C009_Library_Jennifer_Click() {
|
|||
C009_Library_Jennifer_RestrainPlayer();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Apply the clicked restrain
|
||||
ActorApplyRestrain(ClickInv);
|
||||
C009_Library_Jennifer_CalcParams();
|
||||
|
@ -175,7 +175,7 @@ function C009_Library_Jennifer_Click() {
|
|||
C009_Library_Jennifer_MastubateCount = 0;
|
||||
C009_Library_Jennifer_OrgasmDone = false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 9 Library - Jennifer query to get the egg back
|
||||
|
@ -184,7 +184,7 @@ function C009_Library_Jennifer_QueryEgg() {
|
|||
if ((ActorGetValue(ActorLove) >= 5) || (ActorGetValue(ActorSubmission) >= 5) || (PlayerGetSkillLevel("Seduction") >= 1)) {
|
||||
OverridenIntroText = GetText("GetEgg");
|
||||
PlayerAddInventory("VibratingEgg", 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 9 Library - Jennifer - When the player leaves
|
||||
|
@ -352,7 +352,7 @@ function C009_Library_Jennifer_ReleaseJennifer() {
|
|||
ActorSetCloth("Clothed");
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
C009_Library_Jennifer_CalcParams();
|
||||
C009_Library_Jennifer_SetPose();
|
||||
C009_Library_Jennifer_SetPose();
|
||||
} else {
|
||||
OverridenIntroText = GetText("UnlockBeforeRelease");
|
||||
C009_Library_Jennifer_CurrentStage = 320;
|
||||
|
|
|
@ -81,7 +81,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
|
|||
176,0,0,,Do you feel|more confident?,"I think I do, I'm still nervous but I feel better.|Should I dress back up? I don't want to get caught.",178,0,0,
|
||||
176,0,0,,You have guts|for a loner.,"Please don't call me a loner, I don't like that.|Should I dress back up? I don't want to get caught.",178,-1,0,
|
||||
176,0,0,,Congrats Jen.|You made it.,"Thanks COMMON_PLAYERNAME, I appreciate.|Should I dress back up? I don't want to get caught.",178,0,0,
|
||||
177,0,0,Painted,You're my favorite|model Jennifer.,It's very flatteting. You painted me|this morning and now you will draw me.,177,0,0,FavoriteModel()
|
||||
177,0,0,Painted,You're my favorite|model Jennifer.,It's very flattering. You painted me|this morning and now you will draw me.,177,0,0,FavoriteModel()
|
||||
177,0,0,,(Draw a quick sketch.)|(5 minutes),(You quickly draw her and show her the result.)|This is nice. You could show it to Julia.,178,0,0,DrawJennifer(5)
|
||||
177,0,0,,(Draw her fully.)|(15 minutes),"(You draw her carefully and show her the result.)|Very nice and flattering, I would love a copy.",178,0,0,DrawJennifer(15)
|
||||
177,0,0,,(Draw a work of art.)|(30 minutes),(You draw her masterfully and show her the result.)|Wow! I didn't know you had so much talent.,178,0,0,DrawJennifer(30)
|
||||
|
|
|
|
@ -26,7 +26,7 @@ MasturbateNoLove,(You masturbate her at a loving pace|but she stays silent and s
|
|||
MasturbateLove,(You masturbate her at a loving pace|and she can't hide her pleasure moans.)
|
||||
MasturbateOrgasm,(She loses control of her body and|gets a shattering orgasm in the library.)
|
||||
GreatKiss,"(At first she's cold but your seducing kiss|surprisingly aroused her, she enjoyed it.)"
|
||||
TestMakeLoveFail,(She shakes her head no and quickly|jumps off the couch and leaves.)
|
||||
TestMakeLoveFail,(She shakes her head 'no' and quickly|jumps off the couch and leaves.)
|
||||
StripRevealBelt,(She nods and you both strip down.|She quickly notices your chastity belt.)
|
||||
JenniferOralOrgasm,"(You sense her trembling in strong ecstasy.|She screams silently, getting a nice orgasm.)"
|
||||
PlayerOralOrgasm,"(Without much sexual experience, Jennifer is|able to lick you and bring you to a sweet orgasm.)"
|
||||
|
|
|
|
@ -15,10 +15,10 @@ function C009_Library_Library_Load() {
|
|||
LeaveIcon = "Wait";
|
||||
Common_BondageAllowed = true;
|
||||
Common_SelfBondageAllowed = true;
|
||||
|
||||
|
||||
// Makes sure the player is clothed when exploring
|
||||
if (!Common_PlayerRestrained) PlayerClothes("Clothed");
|
||||
|
||||
|
||||
// Jennifer can be gone from the start if chapter 10 was triggered for her or Sidney
|
||||
if (GameLogQuery("C007_LunchBreak", "Jennifer", "Stranded") || GameLogQuery("C007_LunchBreak", "Sidney", "Stranded")) C009_Library_Library_JenniferGone = true;
|
||||
|
||||
|
@ -107,7 +107,7 @@ function C009_Library_Library_Click() {
|
|||
|
||||
// Checks if the user clicks on any regular item
|
||||
InventoryClick(GetClickedInventory(), "C009_Library", "Library");
|
||||
|
||||
|
||||
// In Zone 1, the player can search (left), zone 2 (up) or zone 3 (right)
|
||||
var E = true;
|
||||
if (E && (C009_Library_Library_CurrentZone == "001") && (MouseX >= 0) && (MouseX <= 200) && (MouseY >= 400) && (MouseY <= 600)) E = C009_Library_Library_StartSearch(10);
|
||||
|
@ -171,5 +171,5 @@ function C009_Library_Library_Click() {
|
|||
if (E && (C009_Library_Library_CurrentZone == "010") && (MouseX >= 110) && (MouseX <= 380) && (MouseY >= 50) && (MouseY <= 320)) E = C009_Library_Library_StartSearch(100);
|
||||
if (E && (C009_Library_Library_CurrentZone == "010") && (MouseX >= 940) && (MouseX <= 1200) && (MouseY >= 200) && (MouseY <= 470)) E = C009_Library_Library_StartSearch(105);
|
||||
if (E && (C009_Library_Library_CurrentZone == "010") && (MouseX >= 530) && (MouseX <= 800) && (MouseY >= 50) && (MouseY <= 320)) E = C009_Library_Library_StartSearch(106);
|
||||
|
||||
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
// Chapter 9 - Outro Load
|
||||
function C009_Library_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 15:15:00 in the outro, unlock if needed
|
||||
StopTimer(15.25 * 60 * 60 * 1000);
|
||||
if (C009_Library_Library_LockedArmbinder) PlayerUnlockInventory("Armbinder");
|
||||
|
@ -17,7 +17,7 @@ function C009_Library_Outro_Load() {
|
|||
|
||||
// Chapter 9 - Outro Run
|
||||
function C009_Library_Outro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
|
||||
|
@ -26,7 +26,7 @@ function C009_Library_Outro_Run() {
|
|||
var OutroText = "Outro";
|
||||
if (C009_Library_Library_StuckInHole) OutroText = "StuckInHole";
|
||||
if (C009_Library_Library_LockedArmbinder) OutroText = "LockedArmbinder";
|
||||
|
||||
|
||||
// Draw the outro text to lead to chapter 11
|
||||
DrawText(GetText(OutroText + "1"), 400, 150, "White");
|
||||
if (TextPhase >= 1) DrawText(GetText(OutroText + "2"), 400, 300, "White");
|
||||
|
|
|
@ -37,7 +37,7 @@ function C009_Library_Search_Run() {
|
|||
}
|
||||
|
||||
// Chapter 9 Library - Search Area Click
|
||||
function C009_Library_Search_Click() {
|
||||
function C009_Library_Search_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C009_Library_Search_CurrentStage);
|
||||
|
@ -83,7 +83,7 @@ function C009_Library_Search_Masturbate() {
|
|||
C009_Library_Yuki_AllowSecondChance = false;
|
||||
SetScene(CurrentChapter, "Yuki");
|
||||
LeaveIcon = "";
|
||||
GameLogAdd("CaughtInHole");
|
||||
GameLogAdd("CaughtInHole");
|
||||
} else {
|
||||
C009_Library_Search_MasturbateCount++;
|
||||
if (C009_Library_Search_MasturbateCount == 3) { GameLogSpecificAdd(CurrentChapter, "", "SweetGwendolineOrgasm"); OverridenIntroText = GetText("Orgasm"); }
|
||||
|
@ -93,7 +93,7 @@ function C009_Library_Search_Masturbate() {
|
|||
C009_Library_Search_MasturbateCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ function C009_Library_Yuki_Load() {
|
|||
C009_Library_Yuki_CanAskForDoor = (C009_Library_Library_FoundLockedDoor && !C009_Library_Library_DoorOpen);
|
||||
if ((C009_Library_Yuki_CurrentStage >= 500) && (C009_Library_Yuki_CurrentStage < 600)) 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);
|
||||
|
@ -67,7 +67,7 @@ function C009_Library_Yuki_Load() {
|
|||
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;
|
||||
|
||||
|
||||
// The player can pleasure Yuki if love + seduction * 2 >= 5 and no chastity belt
|
||||
C009_Library_Yuki_CanPleasure = (!C009_Library_Yuki_PleasureDone && !ActorIsChaste() && (ActorGetValue(ActorLove) + (PlayerGetSkillLevel("Seduction") * 2) >= 5));
|
||||
|
||||
|
@ -105,13 +105,13 @@ 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");
|
||||
|
@ -155,7 +155,7 @@ function C009_Library_Yuki_Click() {
|
|||
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();
|
||||
|
@ -163,7 +163,7 @@ function C009_Library_Yuki_Click() {
|
|||
OverridenIntroText = GetText("ItemWakeUp");
|
||||
GameLogAdd("DrugAwake");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 9 Library - Yuki - When the player leaves to find her book
|
||||
|
@ -241,7 +241,7 @@ function C009_Library_Yuki_GagPlayer() {
|
|||
|
||||
// Chapter 9 Library - Wait 2 minutes
|
||||
function C009_Library_Yuki_TwoMinutes() {
|
||||
CurrentTime = CurrentTime + 110000;
|
||||
CurrentTime = CurrentTime + 110000;
|
||||
}
|
||||
|
||||
// Chapter 9 Library - Yuki Tickle
|
||||
|
@ -300,7 +300,7 @@ function C009_Library_Yuki_TestSleep() {
|
|||
OverridenIntroText = GetText("DizzySleep");
|
||||
C009_Library_Yuki_CurrentStage = 400;
|
||||
ActorSetPose("Sleepy");
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
LeaveIcon = "Leave";
|
||||
}
|
||||
}
|
||||
|
@ -388,9 +388,9 @@ function C009_Library_Yuki_TestPullAway() {
|
|||
} else C009_Library_Yuki_NoPleasure();
|
||||
}
|
||||
|
||||
// Chapter 9 Library - Yuki Pleasure
|
||||
// Chapter 9 Library - Yuki Pleasure
|
||||
function C009_Library_Yuki_Pleasure(PleasureType) {
|
||||
|
||||
|
||||
// The player must pleasure her in 3 different ways and at least 5 times to make her climax)
|
||||
if (PleasureType == 1) C009_Library_Yuki_Pleasure1++;
|
||||
if (PleasureType == 2) C009_Library_Yuki_Pleasure2++;
|
||||
|
@ -398,7 +398,7 @@ function C009_Library_Yuki_Pleasure(PleasureType) {
|
|||
if (PleasureType == 4) C009_Library_Yuki_Pleasure4++;
|
||||
if (PleasureType == 5) C009_Library_Yuki_Pleasure5++;
|
||||
if ((C009_Library_Yuki_Pleasure1 > 0) && (C009_Library_Yuki_Pleasure2 > 0) && (C009_Library_Yuki_Pleasure3 > 0) && (C009_Library_Yuki_Pleasure4 > 0) && (C009_Library_Yuki_Pleasure5 > 0) && (C009_Library_Yuki_Pleasure1 + C009_Library_Yuki_Pleasure2 + C009_Library_Yuki_Pleasure3 + C009_Library_Yuki_Pleasure4 + C009_Library_Yuki_Pleasure5 >= 5)) {
|
||||
|
||||
|
||||
// Yuki gets an orgasm
|
||||
Common_PlayerPose = "KneelPleasureToYukiOrgasm";
|
||||
OverridenIntroText = GetText("DeskOrgasm");
|
||||
|
@ -407,9 +407,9 @@ function C009_Library_Yuki_Pleasure(PleasureType) {
|
|||
ActorChangeAttitude(2, 0);
|
||||
ActorAddOrgasm();
|
||||
C009_Library_Yuki_LittlePet = true;
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
// If the player took too long to try all 3 pleasures, she gives up
|
||||
if (C009_Library_Yuki_Pleasure1 + C009_Library_Yuki_Pleasure2 + C009_Library_Yuki_Pleasure3 + C009_Library_Yuki_Pleasure4 + C009_Library_Yuki_Pleasure5 >= 7) {
|
||||
OverridenIntroText = GetText("StopPleasure");
|
||||
|
@ -420,13 +420,13 @@ function C009_Library_Yuki_Pleasure(PleasureType) {
|
|||
Common_PlayerPose = "";
|
||||
C009_Library_Yuki_CurrentStage = 750;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 9 Library - Yuki, stops the pleasure dialog
|
||||
function C009_Library_Yuki_StopPleasure() {
|
||||
|
||||
|
||||
// Release the player
|
||||
C009_Library_Yuki_NoPleasure();
|
||||
ActorSetPose("");
|
||||
|
@ -438,5 +438,5 @@ function C009_Library_Yuki_StopPleasure() {
|
|||
C009_Library_Yuki_CurrentStage = 400;
|
||||
ActorSetPose("Sleepy");
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -15,11 +15,11 @@ function C010_Revenge_AmandaSarah_Load() {
|
|||
|
||||
// Set the timer limits at 15:15
|
||||
StartTimer(15.25 * 60 * 60 * 1000, "C010_Revenge", "Outro");
|
||||
|
||||
|
||||
// Load the scene parameters (loads Sarah first in case we are starting directly in chapter 10)
|
||||
ActorLoad("Sarah", "");
|
||||
ActorLoad(C010_Revenge_AmandaSarah_CurrentActor, "");
|
||||
if (C010_Revenge_AmandaSarah_CurrentStage == 0) { ActorSpecificSetPose("Amanda", "Furious"); ActorSpecificSetPose("Sarah", "Angry"); }
|
||||
if (C010_Revenge_AmandaSarah_CurrentStage == 0) { ActorSpecificSetPose("Amanda", "Furious"); ActorSpecificSetPose("Sarah", "Angry"); }
|
||||
LoadInteractions();
|
||||
LeaveIcon = "";
|
||||
Common_SelfBondageAllowed = false;
|
||||
|
@ -32,7 +32,7 @@ function C010_Revenge_AmandaSarah_Load() {
|
|||
|
||||
// Chapter 10 - Amanda and Sarah Revenge Run
|
||||
function C010_Revenge_AmandaSarah_Run() {
|
||||
|
||||
|
||||
// Build the text interactions
|
||||
BuildInteraction(C010_Revenge_AmandaSarah_CurrentStage);
|
||||
|
||||
|
@ -44,7 +44,7 @@ function C010_Revenge_AmandaSarah_Run() {
|
|||
DrawActor("Amanda", 500, 0, 1.0);
|
||||
} else {
|
||||
DrawActor("Amanda", 525, 50, 0.8);
|
||||
DrawActor("Sarah", 675, 0, 1.0);
|
||||
DrawActor("Sarah", 675, 0, 1.0);
|
||||
}
|
||||
} else {
|
||||
if (!C010_Revenge_AmandaSarah_AmandaGone || !C010_Revenge_AmandaSarah_SarahGone) {
|
||||
|
@ -53,9 +53,9 @@ function C010_Revenge_AmandaSarah_Run() {
|
|||
else
|
||||
DrawInteractionActor();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Between 100 and 160, draw the player in the middle of the girls
|
||||
if ((C010_Revenge_AmandaSarah_CurrentStage >= 100) && (C010_Revenge_AmandaSarah_CurrentStage <= 160)) {
|
||||
DrawActor("Amanda", 525, 50, 0.8);
|
||||
|
@ -70,7 +70,7 @@ function C010_Revenge_AmandaSarah_Run() {
|
|||
DrawActor("Amanda", 475, 25, 0.8);
|
||||
DrawActor("Sarah", 850, 30, 0.8);
|
||||
}
|
||||
|
||||
|
||||
// Between 170 and 180, draw the player in front of the locker, at 190 or more she's inside
|
||||
if ((C010_Revenge_AmandaSarah_CurrentStage >= 170) && (C010_Revenge_AmandaSarah_CurrentStage <= 180)) DrawActor("Player", 600, 150, 1.0);
|
||||
if ((C010_Revenge_AmandaSarah_CurrentStage >= 190) && (C010_Revenge_AmandaSarah_CurrentStage <= 300)) DrawActor("Player", 690, 20, 0.75);
|
||||
|
@ -80,27 +80,27 @@ function C010_Revenge_AmandaSarah_Run() {
|
|||
DrawActor("Sarah", 600, 20, 0.75);
|
||||
DrawActor("Amanda", 767, 25, 0.75);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 10 - Amanda and Sarah Revenge Click
|
||||
function C010_Revenge_AmandaSarah_Click() {
|
||||
function C010_Revenge_AmandaSarah_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C010_Revenge_AmandaSarah_CurrentStage);
|
||||
|
||||
|
||||
// The player can click on herself
|
||||
var ClickInv = GetClickedInventory();
|
||||
if (ClickInv == "Player") {
|
||||
C010_Revenge_AmandaSarah_IntroText = OverridenIntroText;
|
||||
C010_Revenge_AmandaSarah_CurrentActor = CurrentActor;
|
||||
C010_Revenge_AmandaSarah_CurrentActor = CurrentActor;
|
||||
InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 10 - Amanda and Sarah Revenge - Switch the focus to another actor
|
||||
function C010_Revenge_AmandaSarah_SwitchFocus(ActorToFocus) {
|
||||
function C010_Revenge_AmandaSarah_SwitchFocus(ActorToFocus) {
|
||||
if (C010_Revenge_AmandaSarah_CurrentStage < 400) ActorSetPose("Angry");
|
||||
ActorLoad(ActorToFocus, "");
|
||||
if (C010_Revenge_AmandaSarah_CurrentStage < 400) ActorSetPose("Furious");
|
||||
|
@ -146,7 +146,7 @@ function C010_Revenge_AmandaSarah_CalmDown(ActorToCalm) {
|
|||
|
||||
// Chapter 10 - Amanda and Sarah Revenge - When the actor enters the locker
|
||||
function C010_Revenge_AmandaSarah_EnterLocker(ActorInLocker) {
|
||||
|
||||
|
||||
// Puts the actor(s) in the locker
|
||||
if ((ActorInLocker == "Amanda") || (ActorInLocker == "Both")) ActorSpecificSetPose("Amanda", "Locker");
|
||||
if ((ActorInLocker == "Sarah") || (ActorInLocker == "Both")) ActorSpecificSetPose("Sarah", "Locker");
|
||||
|
@ -176,13 +176,13 @@ function C010_Revenge_AmandaSarah_CloseLocker(ActorInLocker) {
|
|||
|
||||
// Chapter 10 - Amanda and Sarah Revenge - Steal Items
|
||||
function C010_Revenge_AmandaSarah_StealItems() {
|
||||
|
||||
|
||||
// Backup the player inventory
|
||||
PlayerSaveAllInventory();
|
||||
PlayerRemoveAllInventory();
|
||||
C010_Revenge_AmandaSarah_ItemStolen = true;
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
|
||||
|
||||
// If Sarah and Amanda are not in belt, and they like (+20 total) or submit (+20 total) to the player, we skip the stripping part
|
||||
if (!ActorSpecificHasInventory("Amanda", "ChastityBelt") && !ActorSpecificHasInventory("Sarah", "ChastityBelt") && ((ActorSpecificGetValue("Amanda", ActorLove) + ActorSpecificGetValue("Sarah", ActorLove) >= 20) || (ActorSpecificGetValue("Amanda", ActorSubmission) + ActorSpecificGetValue("Sarah", ActorSubmission) >= 20))) {
|
||||
C010_Revenge_AmandaSarah_CurrentStage = 160;
|
||||
|
@ -190,7 +190,7 @@ function C010_Revenge_AmandaSarah_StealItems() {
|
|||
Common_PlayerPose = "BackShy";
|
||||
OverridenIntroText = GetText("LockerNoStrip");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 10 - Amanda and Sarah Revenge - Recover the stolen items and clothes
|
||||
|
@ -203,7 +203,7 @@ function C010_Revenge_AmandaSarah_RecoverItems() {
|
|||
|
||||
// Chapter 10 - Amanda and Sarah Revenge - Starts the fight 2 VS 1
|
||||
function C010_Revenge_AmandaSarah_StartFight() {
|
||||
|
||||
|
||||
// Sets the fight difficulty
|
||||
var AmandaDifficulty = "Normal";
|
||||
var SarahDifficulty = "Easy";
|
||||
|
@ -218,14 +218,14 @@ function C010_Revenge_AmandaSarah_StartFight() {
|
|||
|
||||
// Chapter 10 - Amanda and Sarah Revenge - When the fight ends
|
||||
function C010_Revenge_AmandaSarah_EndFight(Victory) {
|
||||
|
||||
// Change the girls attitude depending on the victory or defeat
|
||||
|
||||
// Change the girls attitude depending on the victory or defeat
|
||||
ActorSpecificChangeAttitude("Amanda", -2, Victory ? 2 : -2);
|
||||
ActorSpecificChangeAttitude("Sarah", -2, Victory ? 2 : -2);
|
||||
GameLogSpecificAdd("C010_Revenge", "Amanda", Victory ? "FightVictory" : "FightDefeat");
|
||||
GameLogSpecificAdd("C010_Revenge", "Sarah", Victory ? "FightVictory" : "FightDefeat");
|
||||
C010_Revenge_AmandaSarah_AllowFight = false;
|
||||
|
||||
|
||||
// On a victory, we jump to stage 400 right away, on a defeat, we show a custom text
|
||||
if (Victory) {
|
||||
C010_Revenge_Outro_GoodEnding = true;
|
||||
|
@ -252,7 +252,7 @@ function C010_Revenge_AmandaSarah_TestForBelt() {
|
|||
// If they don't like the player, the play is sub or the player locked a belt on them, she gets a chastity belt
|
||||
if (ActorSpecificHasInventory("Amanda", "ChastityBelt")) { C010_Revenge_AmandaSarah_CurrentStage = 130; OverridenIntroText = GetText("BeltForAmandaBelt"); return; }
|
||||
if (ActorSpecificHasInventory("Sarah", "ChastityBelt")) { C010_Revenge_AmandaSarah_CurrentStage = 130; OverridenIntroText = GetText("BeltForSarahBelt"); return; }
|
||||
if (ActorSpecificGetValue("Amanda", ActorLove) + ActorSpecificGetValue("Sarah", ActorLove) < 0) { C010_Revenge_AmandaSarah_CurrentStage = 130; OverridenIntroText = GetText("BeltForHate"); return; }
|
||||
if (ActorSpecificGetValue("Amanda", ActorLove) + ActorSpecificGetValue("Sarah", ActorLove) < 0) { C010_Revenge_AmandaSarah_CurrentStage = 130; OverridenIntroText = GetText("BeltForHate"); return; }
|
||||
if (ActorSpecificGetValue("Amanda", ActorSubmission) + ActorSpecificGetValue("Sarah", ActorSubmission) < 0) { C010_Revenge_AmandaSarah_CurrentStage = 130; OverridenIntroText = GetText("BeltForSub"); return; }
|
||||
|
||||
}
|
||||
|
@ -274,7 +274,7 @@ function C010_Revenge_AmandaSarah_BeltComment() {
|
|||
|
||||
// At 15:10, Amanda & Sarah return to the locker
|
||||
function C010_Revenge_AmandaSarah_ReturnToLocker() {
|
||||
|
||||
|
||||
// The player can be caught masturbating while she waits
|
||||
OverridenIntroImage = "";
|
||||
if (Common_PlayerPose == "LockerMasturbate") {
|
||||
|
@ -289,7 +289,7 @@ function C010_Revenge_AmandaSarah_ReturnToLocker() {
|
|||
C010_Revenge_AmandaSarah_CurrentStage = 250;
|
||||
}
|
||||
LeaveIcon = "";
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 10 - Amanda and Sarah Revenge - Wait in the locker (Spends 2 minutes)
|
||||
|
@ -320,7 +320,7 @@ function C010_Revenge_AmandaSarah_MasturbateLocker() {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Spends 2 minutes
|
||||
CurrentTime = CurrentTime + 110000;
|
||||
if (CurrentTime >= 15.16667 * 60 * 60 * 1000) C010_Revenge_AmandaSarah_ReturnToLocker();
|
||||
|
|
|
@ -22,7 +22,7 @@ function C010_Revenge_EarlyEnding_Load() {
|
|||
|
||||
// Chapter 10 - Early Ending Run
|
||||
function C010_Revenge_EarlyEnding_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
|
||||
|
|
|
@ -12,7 +12,7 @@ function C010_Revenge_Intro_Load() {
|
|||
|
||||
// Time is always 14:15 on the intro, no timer
|
||||
StopTimer(14.25 * 60 * 60 * 1000);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 10 - Revenge Run
|
||||
|
@ -27,8 +27,8 @@ function C010_Revenge_Intro_Run() {
|
|||
if (TextPhase >= 2) DrawText(GetText("AmandaSarah3"), 400, 350, "White");
|
||||
if (TextPhase >= 3) DrawText(GetText("AmandaSarah4"), 400, 450, "White");
|
||||
}
|
||||
|
||||
// Sidney or Jennifer intro
|
||||
|
||||
// Sidney or Jennifer intro
|
||||
if (GameLogQuery("C007_LunchBreak", "Sidney", "Stranded") || GameLogQuery("C007_LunchBreak", "Jennifer", "Stranded")) {
|
||||
DrawImage(CurrentChapter + "/" + CurrentScreen + "/BackgroundSidneyJennifer.jpg", 0, 0);
|
||||
DrawPlayerTransition();
|
||||
|
|
|
@ -2,7 +2,7 @@ var C010_Revenge_Outro_GoodEnding = false;
|
|||
|
||||
// Chapter 10 - Outro Load
|
||||
function C010_Revenge_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 15:15:00 in the outro, reset the poses if needed
|
||||
StopTimer(15.25 * 60 * 60 * 1000);
|
||||
if (C010_Revenge_AmandaSarah_ItemStolen) PlayerRestoreAllInventory();
|
||||
|
@ -22,10 +22,10 @@ function C010_Revenge_Outro_Load() {
|
|||
|
||||
// Chapter 10 - Outro Run
|
||||
function C010_Revenge_Outro_Run() {
|
||||
|
||||
|
||||
// Paints the background
|
||||
DrawRect(0, 0, 800, 600, "black");
|
||||
|
||||
|
||||
// Sets the correct text to fetch
|
||||
var OutroText = "";
|
||||
if (GameLogQuery("C007_LunchBreak", "Amanda", "Stranded") || GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) OutroText = "AmandaSarah";
|
||||
|
@ -33,8 +33,8 @@ function C010_Revenge_Outro_Run() {
|
|||
|
||||
// Draw the background image
|
||||
if (TextPhase >= 2) DrawImage(CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
|
||||
if (TextPhase < 2) DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + OutroText + ".jpg", 800, 0);
|
||||
|
||||
if (TextPhase < 2) DrawImage(CurrentChapter + "/" + CurrentScreen + "/" + OutroText + ".jpg", 800, 0);
|
||||
|
||||
// Shows the text
|
||||
if (C010_Revenge_Outro_GoodEnding) OutroText = OutroText + "Good";
|
||||
DrawText(GetText(OutroText + "1"), 400, 150, "White");
|
||||
|
|
|
@ -20,11 +20,11 @@ function C010_Revenge_SidneyJennifer_Load() {
|
|||
|
||||
// Set the timer limits at 15:15
|
||||
StartTimer(15.25 * 60 * 60 * 1000, "C010_Revenge", "Outro");
|
||||
|
||||
|
||||
// Load the scene parameters (loads Jennifer first in case we are starting directly in chapter 10)
|
||||
ActorLoad("Jennifer", "");
|
||||
ActorLoad(C010_Revenge_SidneyJennifer_CurrentActor, "");
|
||||
if (C010_Revenge_SidneyJennifer_CurrentStage == 0) { ActorSpecificSetPose("Sidney", "Angry"); ActorSpecificSetPose("Jennifer", "Angry"); }
|
||||
if (C010_Revenge_SidneyJennifer_CurrentStage == 0) { ActorSpecificSetPose("Sidney", "Angry"); ActorSpecificSetPose("Jennifer", "Angry"); }
|
||||
LoadInteractions();
|
||||
LeaveIcon = "";
|
||||
Common_SelfBondageAllowed = false;
|
||||
|
@ -38,7 +38,7 @@ function C010_Revenge_SidneyJennifer_Load() {
|
|||
|
||||
// Chapter 10 - Sidney and Jennifer Revenge Run
|
||||
function C010_Revenge_SidneyJennifer_Run() {
|
||||
|
||||
|
||||
// Build the text interactions
|
||||
BuildInteraction(C010_Revenge_SidneyJennifer_CurrentStage);
|
||||
|
||||
|
@ -50,12 +50,12 @@ function C010_Revenge_SidneyJennifer_Run() {
|
|||
DrawActor("Sidney", 500, 0, 1.0);
|
||||
} else {
|
||||
DrawActor("Sidney", 525, 50, 0.8);
|
||||
DrawActor("Jennifer", 700, 0, 1.0);
|
||||
DrawActor("Jennifer", 700, 0, 1.0);
|
||||
}
|
||||
} else {
|
||||
if ((C010_Revenge_SidneyJennifer_CurrentStage == 38) || (C010_Revenge_SidneyJennifer_CurrentStage == 142)) DrawActor(CurrentActor, 650, -100, 0.833);
|
||||
else DrawActor(CurrentActor, 600, 0, 1.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Include the player once she's naked
|
||||
|
@ -71,23 +71,23 @@ function C010_Revenge_SidneyJennifer_Run() {
|
|||
DrawActor("Sidney", 500, -350, 0.75);
|
||||
DrawActor("Player", 600, -150, 1);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 10 - Sidney and Jennifer Revenge Click
|
||||
function C010_Revenge_SidneyJennifer_Click() {
|
||||
function C010_Revenge_SidneyJennifer_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C010_Revenge_SidneyJennifer_CurrentStage);
|
||||
|
||||
|
||||
// The player can click on herself in most stages
|
||||
var ClickInv = GetClickedInventory();
|
||||
if ((ClickInv == "Player") && (C010_Revenge_SidneyJennifer_CurrentStage <= 170)) {
|
||||
C010_Revenge_SidneyJennifer_IntroText = OverridenIntroText;
|
||||
C010_Revenge_SidneyJennifer_CurrentActor = CurrentActor;
|
||||
C010_Revenge_SidneyJennifer_CurrentActor = CurrentActor;
|
||||
InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
|
||||
}
|
||||
|
||||
|
||||
// Can be restrained at stage 38 (Jennifer) or 142 (Sidney)
|
||||
if (((C010_Revenge_SidneyJennifer_CurrentStage == 38) || (C010_Revenge_SidneyJennifer_CurrentStage == 142)) && (ClickInv != "") && (ClickInv != "Player")) {
|
||||
|
||||
|
@ -107,10 +107,10 @@ function C010_Revenge_SidneyJennifer_Click() {
|
|||
if ((ClickInv == "Crop") && (C010_Revenge_SidneyJennifer_CurrentStage == 142)) OverridenIntroText = GetText("CropSidney");
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 10 - Sidney and Jennifer Revenge - Switch to a provoking pose
|
||||
// Chapter 10 - Sidney and Jennifer Revenge - Switch to a provoking pose
|
||||
function C010_Revenge_SidneyJennifer_ProvokePose() {
|
||||
ActorSpecificSetPose("Sidney", "Furious");
|
||||
ActorSpecificSetPose("Jennifer", "Furious");
|
||||
|
@ -194,13 +194,13 @@ function C010_Revenge_SidneyJennifer_Untie() {
|
|||
|
||||
// Chapter 10 - Sidney and Jennifer Revenge - Steal Items
|
||||
function C010_Revenge_SidneyJennifer_StealItems() {
|
||||
|
||||
|
||||
// Backup and remove the player inventory
|
||||
PlayerSaveAllInventory();
|
||||
PlayerRemoveAllInventory();
|
||||
C010_Revenge_SidneyJennifer_ItemStolen = true;
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 10 - Sidney and Jennifer Revenge - Recover the stolen items and clothes
|
||||
|
@ -213,7 +213,7 @@ function C010_Revenge_SidneyJennifer_RecoverItems() {
|
|||
|
||||
// Chapter 10 - Sidney and Jennifer Revenge - Starts the fight 2 VS 1
|
||||
function C010_Revenge_SidneyJennifer_StartFight() {
|
||||
|
||||
|
||||
// Sets the fight difficulty
|
||||
var SidneyDifficulty = "Hard";
|
||||
var JenniferDifficulty = "Normal";
|
||||
|
@ -227,7 +227,7 @@ function C010_Revenge_SidneyJennifer_StartFight() {
|
|||
|
||||
// Chapter 10 - Sidney and Jennifer Revenge - When the fight ends
|
||||
function C010_Revenge_SidneyJennifer_EndFight(Victory) {
|
||||
|
||||
|
||||
// Change the girls attitude depending on the victory or defeat
|
||||
ActorSpecificChangeAttitude("Sidney", 0, Victory ? 2 : -2);
|
||||
ActorSpecificChangeAttitude("Jennifer", -1, Victory ? 2 : -2);
|
||||
|
@ -237,7 +237,7 @@ function C010_Revenge_SidneyJennifer_EndFight(Victory) {
|
|||
ActorSpecificSetPose("Jennifer", "Angry");
|
||||
C010_Revenge_SidneyJennifer_FightVictory = Victory;
|
||||
C010_Revenge_SidneyJennifer_AllowFight = false;
|
||||
|
||||
|
||||
// If this was the hallway fight
|
||||
if (C010_Revenge_SidneyJennifer_CurrentStage <= 100) {
|
||||
|
||||
|
@ -253,9 +253,9 @@ function C010_Revenge_SidneyJennifer_EndFight(Victory) {
|
|||
OverridenIntroText = GetText("FightDefeatHallway");
|
||||
C010_Revenge_SidneyJennifer_CurrentStage = 40;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// If this was the outside fight
|
||||
if ((C010_Revenge_SidneyJennifer_CurrentStage >= 150) && (C010_Revenge_SidneyJennifer_CurrentStage <= 180)) {
|
||||
|
||||
|
@ -370,7 +370,7 @@ function C010_Revenge_SidneyJennifer_SidneyCute() {
|
|||
OverridenIntroImage = "";
|
||||
if (C010_Revenge_SidneyJennifer_CuteDone) {
|
||||
C010_Revenge_SidneyJennifer_CuteDone = true;
|
||||
ActorChangeAttitude(-1, 1);
|
||||
ActorChangeAttitude(-1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -432,7 +432,7 @@ function C010_Revenge_SidneyJennifer_StartRace() {
|
|||
|
||||
// Chapter 10 - Sidney and Jennifer Revenge - When the race ends
|
||||
function C010_Revenge_SidneyJennifer_EndRace(Victory) {
|
||||
|
||||
|
||||
// Change the girls attitude depending on the victory or defeat
|
||||
ActorSpecificChangeAttitude("Sidney", 0, Victory ? 2 : -2);
|
||||
ActorSpecificChangeAttitude("Jennifer", Victory ? 2 : -2, 0);
|
||||
|
|
|
@ -12,14 +12,14 @@ Collar,(You need +20 submission and a|special ceremony to collar a student.)
|
|||
MasturbateJenniferOrgasm,"(She struggles and suddenly loses|control of herself, getting a nice orgasm.)"
|
||||
MasturbateJenniferLove,(You masturbate her lovingly while|she trembles and moans quietly.)
|
||||
MasturbateJenniferNoLove,(You masturbate her lovingly but|she doesn't seem to be in the mood.)
|
||||
FightVictoryJenniferRun,(Sidney slowly recovers but Jennifer disapeared.)|Jen? Where the fuck did you go? Coward!
|
||||
FightVictoryJenniferRun,(Sidney slowly recovers but Jennifer disappeared.)|Jen? Where the fuck did you go? Coward!
|
||||
FightDefeatTrack,You really thought you could fight us both?|From now on you know you should obey.
|
||||
SidneyUnderwear,Fine! Make it quick.|(She strips to her underwear.)
|
||||
CropSidney,(You whip her pretty hard on the butt with the crop.|She pretends it doens't hurt but she's in pain.)
|
||||
SidneyPigTalk,(She takes a deep breath and imitates a pig.)|Sooooooowweeeee! Sowe! Sooweeee!
|
||||
CropSidney,(You whip her pretty hard on the butt with the crop.|She pretends it doesn't hurt but she's in pain.)
|
||||
SidneyPigTalk,(She takes a deep breath and imitates a pig.)|Sooooooowweeeee! Soowee! Sooweeee!
|
||||
MasturbateSidneyOrgasm,(She thrashes in her bonds and crumbles|to the ground in a shattering orgasm.)
|
||||
MasturbateSidneyEgg,(You masturbate her slowly while|she looks at you and moans quietly.)
|
||||
MasturbateSidneyNoEgg,(You masturbate her slowly while|she stares at you and grumbles.)
|
||||
RaceGoal,You have 10 minutes to reach Jennifer!
|
||||
RaceVictory,(Jennifer speaks with a cheeful voice.)|Congratulations COMMON_PLAYERNAME! You did it.
|
||||
RaceVictory,(Jennifer speaks with a cheerful voice.)|Congratulations COMMON_PLAYERNAME! You did it.
|
||||
RaceDefeat,(Jennifer speaks with a sad tone of voice.)|You failed the race COMMON_PLAYERNAME.
|
||||
|
|
|
|
@ -34,7 +34,7 @@ function C011_LiteratureClass_Mildred_Click() {
|
|||
// Regular interactions
|
||||
ClickInteraction(C011_LiteratureClass_Mildred_CurrentStage);
|
||||
var ClickedInv = GetClickedInventory();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 11 - Mildred recognizes that the player is being a good student
|
||||
|
@ -79,54 +79,54 @@ function C011_LiteratureClass_Mildred_EndQuiz(Victory) {
|
|||
|
||||
// The next chapter to test
|
||||
C011_LiteratureClass_Mildred_TestChapter++;
|
||||
|
||||
|
||||
// On a victory
|
||||
if (Victory) {
|
||||
|
||||
|
||||
C011_LiteratureClass_Mildred_PlayerVictoryCount++;
|
||||
|
||||
// If Sidney was already hit, she gets hit again (chastity version)
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "RedButt_Cuffs_Chastity") {
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "RedButt_Cuffs_Chastity") {
|
||||
OverridenIntroText = GetText("TestSidneyCropAgain");
|
||||
OverridenIntroImage = "TestSidneyRedButtChastity.jpg";
|
||||
}
|
||||
|
||||
|
||||
// If Sidney was already hit, she gets hit again
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "RedButt_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "RedButt_Cuffs") {
|
||||
OverridenIntroText = GetText("TestSidneyCropAgain");
|
||||
OverridenIntroImage = "TestSidneyRedButt.jpg";
|
||||
}
|
||||
|
||||
// If Sidney was stripped, she gets hit (chastity version)
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "NoSkirt_Cuffs_Chastity") {
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "NoSkirt_Cuffs_Chastity") {
|
||||
C011_LiteratureClass_Mildred_QuizSidneyStatus = "RedButt_Cuffs_Chastity";
|
||||
OverridenIntroText = GetText("TestSidneyCrop");
|
||||
OverridenIntroImage = "TestSidneyRedButtChastity.jpg";
|
||||
}
|
||||
|
||||
|
||||
// If Sidney was stripped, she gets hit
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "NoSkirt_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "NoSkirt_Cuffs") {
|
||||
C011_LiteratureClass_Mildred_QuizSidneyStatus = "RedButt_Cuffs";
|
||||
OverridenIntroText = GetText("TestSidneyCrop");
|
||||
OverridenIntroImage = "TestSidneyRedButt.jpg";
|
||||
}
|
||||
|
||||
// If Sidney was cuffed, she gets stripped of her skirt (can reveal her chastity belt)
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "Clothed_Cuffs") {
|
||||
if (ActorSpecificHasInventory("Sidney", "ChastityBelt")) {
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "Clothed_Cuffs") {
|
||||
if (ActorSpecificHasInventory("Sidney", "ChastityBelt")) {
|
||||
C011_LiteratureClass_Mildred_QuizSidneyStatus = "NoSkirt_Cuffs_Chastity";
|
||||
OverridenIntroText = GetText("TestSidneyNoSkirtChastity");
|
||||
OverridenIntroImage = "TestSidneyNoSkirtChastity.jpg";
|
||||
OverridenIntroText = GetText("TestSidneyNoSkirtChastity");
|
||||
OverridenIntroImage = "TestSidneyNoSkirtChastity.jpg";
|
||||
}
|
||||
else {
|
||||
else {
|
||||
C011_LiteratureClass_Mildred_QuizSidneyStatus = "NoSkirt_Cuffs";
|
||||
OverridenIntroText = GetText("TestSidneyNoSkirt");
|
||||
OverridenIntroImage = "TestSidneyNoSkirt.jpg";
|
||||
OverridenIntroText = GetText("TestSidneyNoSkirt");
|
||||
OverridenIntroImage = "TestSidneyNoSkirt.jpg";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If Sidney wasn't cuffed, she gets cuffed
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "Clothed") {
|
||||
if (C011_LiteratureClass_Mildred_QuizSidneyStatus == "Clothed") {
|
||||
CurrentActor = "Sidney";
|
||||
ActorAddInventory("Cuffs");
|
||||
CurrentActor = "Mildred";
|
||||
|
@ -134,59 +134,59 @@ function C011_LiteratureClass_Mildred_EndQuiz(Victory) {
|
|||
OverridenIntroText = GetText("TestSidneyCuffs");
|
||||
OverridenIntroImage = "TestSidneyCuffs.jpg";
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
C011_LiteratureClass_Mildred_SidneyVictoryCount++;
|
||||
|
||||
// If the player was already hit, she gets hit again (chastity version)
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "RedButt_Cuffs_Chastity") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "RedButt_Cuffs_Chastity") {
|
||||
OverridenIntroText = GetText("TestPlayerCropAgain");
|
||||
OverridenIntroImage = "TestPlayerRedButtChastity.jpg";
|
||||
}
|
||||
|
||||
|
||||
// If the player was already hit, she gets hit again
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "RedButt_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "RedButt_Cuffs") {
|
||||
OverridenIntroText = GetText("TestPlayerCropAgain");
|
||||
OverridenIntroImage = "TestPlayerRedButt.jpg";
|
||||
}
|
||||
|
||||
// If the player was stripped, she gets hit (chastity version)
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "NoSkirt_Cuffs_Chastity") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "NoSkirt_Cuffs_Chastity") {
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "RedButt_Cuffs_Chastity";
|
||||
OverridenIntroText = GetText("TestPlayerCrop");
|
||||
OverridenIntroImage = "TestPlayerRedButtChastity.jpg";
|
||||
}
|
||||
|
||||
|
||||
// If the player was stripped, she gets hit
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "NoSkirt_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "NoSkirt_Cuffs") {
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "RedButt_Cuffs";
|
||||
OverridenIntroText = GetText("TestPlayerCrop");
|
||||
OverridenIntroImage = "TestPlayerRedButt.jpg";
|
||||
}
|
||||
|
||||
// If the player was cuffed, she gets stripped of her skirt (can reveal her chastity belt)
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "Clothed_Cuffs") {
|
||||
if (Common_PlayerChaste) {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "Clothed_Cuffs") {
|
||||
if (Common_PlayerChaste) {
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "NoSkirt_Cuffs_Chastity";
|
||||
OverridenIntroText = GetText("TestPlayerNoSkirtChastity");
|
||||
OverridenIntroImage = "TestPlayerNoSkirtChastity.jpg";
|
||||
OverridenIntroText = GetText("TestPlayerNoSkirtChastity");
|
||||
OverridenIntroImage = "TestPlayerNoSkirtChastity.jpg";
|
||||
}
|
||||
else {
|
||||
else {
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "NoSkirt_Cuffs";
|
||||
OverridenIntroText = GetText("TestPlayerNoSkirt");
|
||||
OverridenIntroImage = "TestPlayerNoSkirt.jpg";
|
||||
OverridenIntroText = GetText("TestPlayerNoSkirt");
|
||||
OverridenIntroImage = "TestPlayerNoSkirt.jpg";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If the player wasn't cuffed, she gets cuffed
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "Clothed") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "Clothed") {
|
||||
PlayerLockInventory("Cuffs");
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "Clothed_Cuffs";
|
||||
OverridenIntroText = GetText("TestPlayerCuffs");
|
||||
OverridenIntroImage = "TestPlayerCuffs.jpg";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Flag to tell that player is currently losing the test
|
||||
|
@ -202,31 +202,31 @@ function C011_LiteratureClass_Mildred_EndQuizMildred(Victory) {
|
|||
|
||||
// On a victory
|
||||
if (Victory) {
|
||||
|
||||
|
||||
C011_LiteratureClass_Mildred_PlayerVictoryCount++;
|
||||
|
||||
// If Mildred was already hit, she gets hit again
|
||||
if (C011_LiteratureClass_Mildred_QuizMildredStatus == "RedButt_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizMildredStatus == "RedButt_Cuffs") {
|
||||
OverridenIntroText = GetText("TestMildredCropAgain");
|
||||
OverridenIntroImage = "TestMildredRedButt.jpg";
|
||||
}
|
||||
|
||||
// If Mildred was stripped, she gets hit
|
||||
if (C011_LiteratureClass_Mildred_QuizMildredStatus == "NoSkirt_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizMildredStatus == "NoSkirt_Cuffs") {
|
||||
C011_LiteratureClass_Mildred_QuizMildredStatus = "RedButt_Cuffs";
|
||||
OverridenIntroText = GetText("TestMildredCrop");
|
||||
OverridenIntroImage = "TestMildredRedButt.jpg";
|
||||
}
|
||||
|
||||
// If Mildred was cuffed, she gets stripped of her skirt
|
||||
if (C011_LiteratureClass_Mildred_QuizMildredStatus == "Clothed_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizMildredStatus == "Clothed_Cuffs") {
|
||||
C011_LiteratureClass_Mildred_QuizMildredStatus = "NoSkirt_Cuffs";
|
||||
OverridenIntroText = GetText("TestMildredNoSkirt");
|
||||
OverridenIntroImage = "TestMildredNoSkirt.jpg";
|
||||
}
|
||||
|
||||
|
||||
// If Mildred wasn't cuffed, she gets cuffed
|
||||
if (C011_LiteratureClass_Mildred_QuizMildredStatus == "Clothed") {
|
||||
if (C011_LiteratureClass_Mildred_QuizMildredStatus == "Clothed") {
|
||||
CurrentActor = "Mildred";
|
||||
ActorAddInventory("Cuffs");
|
||||
CurrentActor = "Mildred";
|
||||
|
@ -234,51 +234,51 @@ function C011_LiteratureClass_Mildred_EndQuizMildred(Victory) {
|
|||
OverridenIntroText = GetText("TestMildredCuffs");
|
||||
OverridenIntroImage = "TestMildredCuffs.jpg";
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
C011_LiteratureClass_Mildred_MildredVictoryCount++;
|
||||
|
||||
|
||||
// If the player was already hit, she gets hit again (chastity version)
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "RedButt_Cuffs_Chastity") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "RedButt_Cuffs_Chastity") {
|
||||
OverridenIntroText = GetText("TestPlayerCropAgainMildred");
|
||||
OverridenIntroImage = "TestPlayerRedButtChastity.jpg";
|
||||
}
|
||||
|
||||
|
||||
// If the player was already hit, she gets hit again
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "RedButt_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "RedButt_Cuffs") {
|
||||
OverridenIntroText = GetText("TestPlayerCropAgainMildred");
|
||||
OverridenIntroImage = "TestPlayerRedButt.jpg";
|
||||
}
|
||||
|
||||
// If the player was stripped, she gets hit (chastity version)
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "NoSkirt_Cuffs_Chastity") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "NoSkirt_Cuffs_Chastity") {
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "RedButt_Cuffs_Chastity";
|
||||
OverridenIntroText = GetText("TestPlayerCropMildred");
|
||||
OverridenIntroImage = "TestPlayerRedButtChastity.jpg";
|
||||
}
|
||||
|
||||
|
||||
// If the player was stripped, she gets hit
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "NoSkirt_Cuffs") {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "NoSkirt_Cuffs") {
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "RedButt_Cuffs";
|
||||
OverridenIntroText = GetText("TestPlayerCropMildred");
|
||||
OverridenIntroImage = "TestPlayerRedButt.jpg";
|
||||
}
|
||||
|
||||
// If the player was cuffed, she gets stripped of her skirt (can reveal her chastity belt)
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "Clothed_Cuffs") {
|
||||
if (Common_PlayerChaste) {
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "Clothed_Cuffs") {
|
||||
if (Common_PlayerChaste) {
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "NoSkirt_Cuffs_Chastity";
|
||||
OverridenIntroText = GetText("TestPlayerNoSkirtMildredChastity");
|
||||
OverridenIntroText = GetText("TestPlayerNoSkirtMildredChastity");
|
||||
OverridenIntroImage = "TestPlayerNoSkirtChastity.jpg";
|
||||
}
|
||||
else {
|
||||
else {
|
||||
C011_LiteratureClass_Mildred_QuizPlayerStatus = "NoSkirt_Cuffs";
|
||||
OverridenIntroText = GetText("TestPlayerNoSkirtMildred");
|
||||
OverridenIntroImage = "TestPlayerNoSkirt.jpg";
|
||||
OverridenIntroText = GetText("TestPlayerNoSkirtMildred");
|
||||
OverridenIntroImage = "TestPlayerNoSkirt.jpg";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If the player wasn't cuffed, she gets cuffed
|
||||
if (C011_LiteratureClass_Mildred_QuizPlayerStatus == "Clothed") {
|
||||
PlayerLockInventory("Cuffs");
|
||||
|
|
|
@ -3,7 +3,7 @@ var C011_LiteratureClass_Outro_MaxTextPhase = 3;
|
|||
|
||||
// Chapter 11 - Outro Load
|
||||
function C011_LiteratureClass_Outro_Load() {
|
||||
|
||||
|
||||
// Time is always 16:30:00 in the outro, reset the poses if needed
|
||||
StopTimer(16.5 * 60 * 60 * 1000);
|
||||
PlayerUnlockInventory("Cuffs");
|
||||
|
@ -24,7 +24,7 @@ function C011_LiteratureClass_Outro_Load() {
|
|||
if (GameLogQuery(CurrentChapter, "", "StrictLeader")) C011_LiteratureClass_Outro_Type = "StrictLeader";
|
||||
if (GameLogQuery(CurrentChapter, "", "FairLeader")) C011_LiteratureClass_Outro_Type = "FairLeader";
|
||||
if (GameLogQuery(CurrentChapter, "", "EasyLeader")) C011_LiteratureClass_Outro_Type = "EasyLeader";
|
||||
|
||||
|
||||
// A special outro type can occur where the player gets invited to the bondage club if at least 10 girls were tied up during the day
|
||||
if (ActorGetTotalBondageCount() >= 10) {
|
||||
C011_LiteratureClass_Outro_Type = "BondageClub";
|
||||
|
@ -54,7 +54,7 @@ function C011_LiteratureClass_Outro_Run() {
|
|||
if (TextPhase >= 2) DrawText(GetText("OutroClub3"), 400, 300, "White");
|
||||
if (TextPhase >= 3) DrawText(GetText("OutroClub4"), 400, 400, "White");
|
||||
if (TextPhase >= 4) DrawText(GetText("OutroClub5"), 400, 500, "White");
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
// Shows the regular outro text
|
||||
|
@ -62,9 +62,9 @@ function C011_LiteratureClass_Outro_Run() {
|
|||
DrawText(GetText("Outro1"), 400, 150, "White");
|
||||
if (TextPhase >= 1) DrawText(GetText(C011_LiteratureClass_Outro_Type), 400, 300, "White");
|
||||
if (TextPhase >= 2) DrawText(GetText("Outro2"), 400, 450, "White");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ function C011_LiteratureClass_SelectDesk_Load() {
|
|||
|
||||
// Set the timer limits at 15:35
|
||||
StartTimer(15.6666667 * 60 * 60 * 1000, CurrentChapter, "MildredIntro");
|
||||
|
||||
|
||||
// Load the scene parameters (loads Jennifer first in case we are starting directly in chapter 10)
|
||||
LoadInteractions();
|
||||
LeaveIcon = "";
|
||||
|
@ -33,18 +33,18 @@ function C011_LiteratureClass_SelectDesk_Load() {
|
|||
|
||||
// Chapter 11 - Literature Class Select Desk Run
|
||||
function C011_LiteratureClass_SelectDesk_Run() {
|
||||
|
||||
|
||||
// Build the text interactions
|
||||
BuildInteraction(C011_LiteratureClass_SelectDesk_CurrentStage);
|
||||
|
||||
}
|
||||
|
||||
// Chapter 11 - Literature Class Select Desk Click
|
||||
function C011_LiteratureClass_SelectDesk_Click() {
|
||||
function C011_LiteratureClass_SelectDesk_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C011_LiteratureClass_SelectDesk_CurrentStage);
|
||||
|
||||
|
||||
// The player can click on herself
|
||||
var ClickInv = GetClickedInventory();
|
||||
if (ClickInv == "Player") {
|
||||
|
@ -69,11 +69,11 @@ function C011_LiteratureClass_SelectDesk_SelectBack() {
|
|||
|
||||
// Chapter 11 - Literature Class - Check the front row neighbors
|
||||
function C011_LiteratureClass_SelectDesk_CheckFront() {
|
||||
|
||||
|
||||
// Loads Natalie
|
||||
ActorLoad("Natalie", "");
|
||||
LeaveIcon = "";
|
||||
|
||||
|
||||
// If Natalie was stranded, she will be angry at the player
|
||||
if (GameLogQuery("C007_LunchBreak", "Natalie", "Stranded")) {
|
||||
C011_LiteratureClass_SelectDesk_CurrentStage = 190;
|
||||
|
@ -103,7 +103,7 @@ function C011_LiteratureClass_SelectDesk_CheckBack() {
|
|||
// Loads Natalie
|
||||
ActorLoad("Sidney", "");
|
||||
LeaveIcon = "";
|
||||
|
||||
|
||||
// Sidney can ignore the player
|
||||
if (C011_LiteratureClass_SelectDesk_SidneyIgnorePlayer) {
|
||||
C011_LiteratureClass_SelectDesk_CurrentStage = 280;
|
||||
|
@ -117,7 +117,7 @@ function C011_LiteratureClass_SelectDesk_CheckBack() {
|
|||
OverridenIntroText = GetText("SidneyPig");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// With 8 submission or more, Sidney switches to sub mode
|
||||
if (ActorGetValue(ActorSubmission) >= 8) {
|
||||
C011_LiteratureClass_SelectDesk_CurrentStage = 240;
|
||||
|
@ -145,7 +145,7 @@ function C011_LiteratureClass_SelectDesk_CheckBack() {
|
|||
OverridenIntroText = GetText("SidneyLove");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 11 - Literature Class - Unload the current actor
|
||||
|
|
|
@ -54,14 +54,14 @@ function C012_AfterClass_Amanda_CalcParams() {
|
|||
C012_AfterClass_Amanda_AllowPajamas = GameLogQuery(CurrentChapter, CurrentActor, "AllowPajamas");
|
||||
C012_AfterClass_Amanda_HasEgg = ActorHasInventory("VibratingEgg");
|
||||
C012_AfterClass_Amanda_HasBelt = ActorHasInventory("ChastityBelt");
|
||||
C012_AfterClass_Amanda_IsGagged = ActorIsGagged();
|
||||
C012_AfterClass_Amanda_IsGagged = ActorIsGagged();
|
||||
C012_AfterClass_Amanda_IsRoped = (ActorHasInventory("Rope") || ActorHasInventory("TwoRopes") || ActorHasInventory("ThreeRopes"));
|
||||
C012_AfterClass_Amanda_IsStrapped = ActorHasInventory("Armbinder");
|
||||
C012_AfterClass_Amanda_IsRestrained = ActorIsRestrained();
|
||||
C012_AfterClass_Amanda_PleasurePlayerAvail = (!Common_PlayerChaste && !ActorIsGagged() && !ActorIsRestrained() && Common_ActorIsOwned && !GameLogQuery(CurrentChapter, "Player", "NextPossibleOrgasm"));
|
||||
C012_AfterClass_Amanda_SexAvail = (!Common_PlayerRestrained && !Common_PlayerChaste && !GameLogQuery(CurrentChapter, "Player", "NextPossibleOrgasm") && !GameLogQuery(CurrentChapter, "Amanda", "NextPossibleOrgasm"));
|
||||
if (GameLogQuery(CurrentChapter, "", "EventBlockChanging") && (C012_AfterClass_Dorm_Guest.indexOf(Common_PlayerOwner) >= 0) && !Common_PlayerNaked) C012_AfterClass_Amanda_SexAvail = false;
|
||||
C012_AfterClass_Amanda_CanMasturbate = (!Common_PlayerRestrained && !C012_AfterClass_Amanda_HasBelt && (ActorGetValue(ActorCloth) == "Naked"));
|
||||
C012_AfterClass_Amanda_CanMasturbate = (!Common_PlayerRestrained && !C012_AfterClass_Amanda_HasBelt && (ActorGetValue(ActorCloth) == "Naked"));
|
||||
C012_AfterClass_Amanda_CanKickOut = (!Common_ActorIsOwner && !Common_ActorIsLover);
|
||||
C012_AfterClass_Amanda_SidneyIsOwner = (Common_PlayerOwner == "Sidney");
|
||||
C012_AfterClass_Amanda_HaveCuffs = (PlayerHasInventory("Cuffs") && !Common_PlayerRestrained);
|
||||
|
@ -76,15 +76,15 @@ function C012_AfterClass_Amanda_CalcParams() {
|
|||
|
||||
// Chapter 12 After Class - Amanda Load
|
||||
function C012_AfterClass_Amanda_Load() {
|
||||
|
||||
|
||||
// Loads the scene
|
||||
LoadInteractions();
|
||||
ActorLoad("Amanda", "Dorm");
|
||||
Common_PlayerPose = "";
|
||||
if (C012_AfterClass_Amanda_CurrentStage == 3915) Common_PlayerPose = "HogtiePunishment";
|
||||
|
||||
|
||||
// Amanda's parameters
|
||||
C012_AfterClass_Amanda_CalcParams();
|
||||
C012_AfterClass_Amanda_CalcParams();
|
||||
C012_AfterClass_Amanda_ChatAvail = !GameLogQuery(CurrentChapter, CurrentActor, "ChatDone");
|
||||
C012_AfterClass_Amanda_SpankCount = 0;
|
||||
C012_AfterClass_Amanda_SpankMaxCount = 10 - Math.floor(ActorGetValue(ActorLove) / 7);
|
||||
|
@ -96,10 +96,10 @@ function C012_AfterClass_Amanda_Load() {
|
|||
OverridenIntroText = C012_AfterClass_Amanda_IntroText;
|
||||
C012_AfterClass_Amanda_IntroText = "";
|
||||
} else {
|
||||
|
||||
|
||||
// If the player is grounded
|
||||
if (GameLogQuery(CurrentChapter, "", "EventGrounded")) {
|
||||
|
||||
|
||||
// Skip to the punishment end phase, no talking while being grounded
|
||||
C012_AfterClass_Amanda_AllowLeave();
|
||||
C012_AfterClass_Amanda_CurrentStage = 3999;
|
||||
|
@ -128,17 +128,17 @@ function C012_AfterClass_Amanda_Load() {
|
|||
// A random event can be triggered when Amanda is clicked on
|
||||
if (C012_AfterClass_Amanda_CurrentStage == 0)
|
||||
if ((CurrentText != null) && (Math.floor(Math.random() * 8) == 0)) {
|
||||
|
||||
|
||||
// Generic Domme event
|
||||
if (!GameLogQuery(CurrentChapter, CurrentActor, "EventGeneric") && Common_ActorIsOwner)
|
||||
C012_AfterClass_Amanda_RandomAmandaDommeEvent();
|
||||
|
||||
|
||||
// Amanda might ask the player to use the bed with Sarah
|
||||
if (C012_AfterClass_Amanda_DatingSarah && (C012_AfterClass_Amanda_CurrentStage == 0) && !ActorSpecificIsRestrained("Amanda") && !ActorSpecificIsRestrained("Sarah") && !ActorSpecificIsGagged("Amanda") && !ActorSpecificIsGagged("Sarah") && !GameLogQuery(CurrentChapter, "Amanda", "NextPossibleOrgasm") && !GameLogQuery(CurrentChapter, "Sarah", "NextPossibleOrgasm")) {
|
||||
C012_AfterClass_Amanda_CurrentStage = 823;
|
||||
LeaveIcon = "";
|
||||
}
|
||||
|
||||
|
||||
// Unlocking Pajamas event after 22
|
||||
if (!GameLogQuery(CurrentChapter, CurrentActor, "AllowPajamas") && (CurrentTime >= 22 * 60 * 60 * 1000) && (C012_AfterClass_Amanda_CurrentStage == 0) && !Common_PlayerGagged && !Common_PlayerRestrained && !ActorIsRestrained() && !ActorIsGagged()) {
|
||||
C012_AfterClass_Amanda_CurrentStage = 660;
|
||||
|
@ -150,7 +150,7 @@ function C012_AfterClass_Amanda_Load() {
|
|||
C012_AfterClass_Amanda_CurrentStage = 670;
|
||||
LeaveIcon = "";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ function C012_AfterClass_Amanda_Run() {
|
|||
|
||||
// Draw the watching actors for ceremonies
|
||||
if (((C012_AfterClass_Amanda_CurrentStage >= 392) && (C012_AfterClass_Amanda_CurrentStage < 400)) || ((C012_AfterClass_Amanda_CurrentStage >= 293) && (C012_AfterClass_Amanda_CurrentStage < 300))) C012_AfterClass_Dorm_DrawOtherActors();
|
||||
|
||||
|
||||
// Draw the actor alone or with the player depending on the stage
|
||||
if ((C012_AfterClass_Amanda_CurrentStage < 800) || (C012_AfterClass_Amanda_CurrentStage >= 900)) {
|
||||
if ((C012_AfterClass_Amanda_CurrentStage != 3932) && (C012_AfterClass_Amanda_CurrentStage != 635) && (C012_AfterClass_Amanda_CurrentStage != 636) && (C012_AfterClass_Amanda_CurrentStage != 791) && (C012_AfterClass_Amanda_CurrentStage != 194)) {
|
||||
|
@ -177,7 +177,7 @@ function C012_AfterClass_Amanda_Run() {
|
|||
} else {
|
||||
DrawInteractionActor();
|
||||
if ((C012_AfterClass_Amanda_CurrentStage >= 392) && (C012_AfterClass_Amanda_CurrentStage < 400)) DrawActor("Player", 600, 100, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
DrawActor("Sarah", 475, 0, 1);
|
||||
|
@ -198,10 +198,10 @@ function C012_AfterClass_Amanda_Click() {
|
|||
C012_AfterClass_Amanda_IntroText = OverridenIntroText;
|
||||
InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
|
||||
}
|
||||
|
||||
|
||||
// Amanda can be restrained on stage 0 and 10
|
||||
if ((C012_AfterClass_Amanda_CurrentStage <= 10) && (ClickInv != "") && (ClickInv != "Player") && !Common_PlayerRestrained) {
|
||||
|
||||
|
||||
// Amanda becomes more submissive from the crop
|
||||
if (ClickInv == "Crop") {
|
||||
if (ActorIsGagged()) OverridenIntroText = GetText("CropWhileGagged");
|
||||
|
@ -236,7 +236,7 @@ function C012_AfterClass_Amanda_Click() {
|
|||
OverridenIntroText = GetText("RefuseBondage");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Amanda can only wear the belt if she's naked
|
||||
if (!ActorIsChaste() && (ActorGetValue(ActorCloth) != "Naked") && (ClickInv == "ChastityBelt")) {
|
||||
OverridenIntroText = GetText("NakedForBelt");
|
||||
|
@ -252,14 +252,14 @@ function C012_AfterClass_Amanda_Click() {
|
|||
// Cannot use rope or armbinder in the school play costumes
|
||||
if (((ActorGetValue(ActorCloth) == "Villain") || (ActorGetValue(ActorCloth) == "Heroine") || (ActorGetValue(ActorCloth) == "Damsel")) && ((ClickInv == "Rope") || (ClickInv == "Armbinder"))) {
|
||||
OverridenIntroText = GetText("NoRestrainInCostume");
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Apply the clicked restrain
|
||||
ActorApplyRestrain(ClickInv);
|
||||
C012_AfterClass_Amanda_CalcParams();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Amanda can be restrained to pleasure the player on stage 633
|
||||
if ((C012_AfterClass_Amanda_CurrentStage <= 633) && (ClickInv != "") && (ClickInv != "Player") && !Common_PlayerRestrained && !ActorIsRestrained()) {
|
||||
|
@ -269,14 +269,14 @@ function C012_AfterClass_Amanda_Click() {
|
|||
C012_AfterClass_Amanda_CurrentStage = 634;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Amanda can make love with the player if (Love + seduction * 2) >= 12 or >= 25 on the next time or Amanda is the player girlfriend/submissive
|
||||
function C012_AfterClass_Amanda_GaggedAnswer() {
|
||||
if (ActorIsGagged()) {
|
||||
var GagTalk = Math.floor(Math.random() * 8) + 1;
|
||||
OverridenIntroText = GetText("GaggedAnswer" + GagTalk.toString());
|
||||
OverridenIntroText = GetText("GaggedAnswer" + GagTalk.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -352,8 +352,8 @@ function C012_AfterClass_Amanda_TestSubmit() {
|
|||
OverridenIntroText = GetText("UnchasteFirst");
|
||||
} else {
|
||||
if (PlayerHasLockedInventory("Collar")) {
|
||||
OverridenIntroText = GetText("PlayerUncollarFirst");
|
||||
} else {
|
||||
OverridenIntroText = GetText("PlayerUncollarFirst");
|
||||
} else {
|
||||
if (Common_PlayerRestrained) {
|
||||
OverridenIntroText = GetText("PlayerUnrestrainFirst");
|
||||
} else {
|
||||
|
@ -400,7 +400,7 @@ function C012_AfterClass_Amanda_PlayerStandUp() {
|
|||
|
||||
// Chapter 12 After Class - The player can trigger a random Domme event from Amanda (3000 events)
|
||||
function C012_AfterClass_Amanda_RandomAmandaDommeEvent() {
|
||||
|
||||
|
||||
// Makes sure the next random event can be triggered
|
||||
if (!GameLogQuery(CurrentChapter, CurrentActor, "EventGeneric")) {
|
||||
|
||||
|
@ -412,7 +412,7 @@ function C012_AfterClass_Amanda_RandomAmandaDommeEvent() {
|
|||
|
||||
// If Amanda doesn't respond, she checks her notes
|
||||
if (C012_AfterClass_Amanda_CurrentStage == 0) C012_AfterClass_Amanda_CheckNotes();
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - As a Domme, Amanda can force the player to change
|
||||
|
@ -440,35 +440,35 @@ function C012_AfterClass_Amanda_TestUnbind() {
|
|||
|
||||
// Bound and gagged, there's not much she can do
|
||||
if (ActorIsGagged() && ActorIsRestrained()) {
|
||||
C012_AfterClass_Amanda_GaggedAnswer();
|
||||
C012_AfterClass_Amanda_GaggedAnswer();
|
||||
}
|
||||
else {
|
||||
|
||||
// Before the next event time, she will always refuse (skip is owned)
|
||||
if (!GameLogQuery(CurrentChapter, CurrentActor, "EventGeneric") || Common_ActorIsOwned) {
|
||||
|
||||
|
||||
// Check if the event succeeds randomly (skip is owned)
|
||||
if (EventRandomChance("Love") || Common_ActorIsOwned) {
|
||||
|
||||
|
||||
// Can only release if not restrained
|
||||
if (!ActorIsRestrained()) {
|
||||
if (ActorIsGagged()) OverridenIntroText = GetText("ReleasePlayerGagged");
|
||||
else OverridenIntroText = GetText("ReleasePlayer");
|
||||
else OverridenIntroText = GetText("ReleasePlayer");
|
||||
PlayerReleaseBondage();
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
} else OverridenIntroText = GetText("CannotReleasePlayer");
|
||||
|
||||
|
||||
} else EventSetGenericTimer();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - When the player disobey, she can get punished
|
||||
function C012_AfterClass_Amanda_DoActivity(ActivityType, Enjoyment, BonusStage) {
|
||||
|
||||
|
||||
// Launch the activity, some can have a bonus stage
|
||||
C012_AfterClass_Amanda_CurrentStage = EventDoActivity(ActivityType, Enjoyment, C012_AfterClass_Amanda_CurrentStage, 3290, BonusStage);
|
||||
|
||||
|
@ -509,7 +509,7 @@ function C012_AfterClass_Amanda_ConfiscateCrop() {
|
|||
|
||||
// Chapter 12 After Class - Amanda can confiscate the player keys
|
||||
function C012_AfterClass_Amanda_BegForOrgasm() {
|
||||
|
||||
|
||||
// If the player begs for it, Amanda will do it randomly based on love, if not it's based on hate
|
||||
if (EventRandomChance("Love")) {
|
||||
ActorAddOrgasm();
|
||||
|
@ -528,7 +528,7 @@ function C012_AfterClass_Amanda_IsChangingBlocked() {
|
|||
|
||||
// Chapter 12 After Class - Amanda will tell the player if she can change clothes or not
|
||||
function C012_AfterClass_Amanda_TestBlockChanging() {
|
||||
|
||||
|
||||
// The less love, the higher the chances Amanda will block changing
|
||||
if (EventRandomChance("Hate")) {
|
||||
OverridenIntroText = "";
|
||||
|
@ -543,7 +543,7 @@ function C012_AfterClass_Amanda_ReleaseBeforePunish() {
|
|||
ActorSetPose("ReadyToPunish");
|
||||
if (Common_PlayerRestrained || Common_PlayerGagged) {
|
||||
if (Common_PlayerNaked) {
|
||||
C012_AfterClass_Amanda_CurrentStage = 3903;
|
||||
C012_AfterClass_Amanda_CurrentStage = 3903;
|
||||
OverridenIntroText = GetText("ReleaseBeforePunishAlreadyNaked");
|
||||
}
|
||||
else OverridenIntroText = GetText("ReleaseBeforePunishNotNaked");
|
||||
|
@ -551,9 +551,9 @@ function C012_AfterClass_Amanda_ReleaseBeforePunish() {
|
|||
CurrentTime = CurrentTime + 50000;
|
||||
} else {
|
||||
if (Common_PlayerNaked) {
|
||||
C012_AfterClass_Amanda_CurrentStage = 3903;
|
||||
C012_AfterClass_Amanda_CurrentStage = 3903;
|
||||
OverridenIntroText = GetText("PunishSinceNaked");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -650,7 +650,7 @@ function C012_AfterClass_Amanda_TestChange() {
|
|||
if (!ActorIsRestrained()) {
|
||||
if ((ActorGetValue(ActorLove) >= 10) || (ActorGetValue(ActorSubmission) >= 10) || Common_ActorIsOwned || Common_ActorIsLover) {
|
||||
if (Common_ActorIsOwned) OverridenIntroText = GetText("AcceptChangeFromMistress");
|
||||
else
|
||||
else
|
||||
if (Common_ActorIsLover) OverridenIntroText = GetText("AcceptChangeFromLover");
|
||||
else OverridenIntroText = GetText("AcceptChange");
|
||||
C012_AfterClass_Amanda_CurrentStage = 600;
|
||||
|
@ -759,14 +759,14 @@ function C012_AfterClass_Amanda_StartPleasurePlayer() {
|
|||
|
||||
// Chapter 12 After Class - When Amanda pleasures the player
|
||||
function C012_AfterClass_Amanda_PleasurePlayer() {
|
||||
|
||||
|
||||
// The more it progresses, the faster Amanda must go
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
var StartCount = C012_AfterClass_Amanda_PleasurePlayerCount;
|
||||
if ((C012_AfterClass_Amanda_PleasurePlayerCount >= 0) && (C012_AfterClass_Amanda_PleasurePlayerCount <= 1) && (C012_AfterClass_Amanda_PleasurePlayerSpeed == 0)) C012_AfterClass_Amanda_PleasurePlayerCount++;
|
||||
if ((C012_AfterClass_Amanda_PleasurePlayerCount >= 2) && (C012_AfterClass_Amanda_PleasurePlayerCount <= 3) && (C012_AfterClass_Amanda_PleasurePlayerSpeed == 1)) C012_AfterClass_Amanda_PleasurePlayerCount++;
|
||||
if ((C012_AfterClass_Amanda_PleasurePlayerCount >= 4) && (C012_AfterClass_Amanda_PleasurePlayerCount <= 9) && (C012_AfterClass_Amanda_PleasurePlayerSpeed == 2)) C012_AfterClass_Amanda_PleasurePlayerCount++;
|
||||
|
||||
|
||||
// At 6 counts, an orgasm is achieved, the next one will be slower
|
||||
if (C012_AfterClass_Amanda_PleasurePlayerCount >= 6) {
|
||||
OverridenIntroText = GetText("OrgasmFromAmandaPleasure");
|
||||
|
@ -780,7 +780,7 @@ function C012_AfterClass_Amanda_PleasurePlayer() {
|
|||
} else {
|
||||
if (StartCount == C012_AfterClass_Amanda_PleasurePlayerCount) OverridenIntroText = GetText("PleasureFromAmandaNoProgress");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - When Amanda pleasures the player and is forced in a new position or speed
|
||||
|
@ -806,7 +806,7 @@ function C012_AfterClass_Amanda_EndPleasureFromAmanda(LoveFactor, SubFactor) {
|
|||
|
||||
// Chapter 12 After Class - When the player kisses Amanda
|
||||
function C012_AfterClass_Amanda_Kiss() {
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
if (Common_ActorIsOwner) OverridenIntroText = GetText("KissAmandaOwner");
|
||||
else if (C012_AfterClass_Amanda_IsGagged) OverridenIntroText = GetText("KissAmandaGagged");
|
||||
else if (!GameLogQuery(CurrentChapter, CurrentActor, "Kiss")) {
|
||||
|
@ -934,7 +934,7 @@ function C012_AfterClass_Amanda_TestTalk() {
|
|||
if (!ActorIsGagged()) {
|
||||
if (!ActorIsRestrained()) C012_AfterClass_Amanda_CurrentStage = 20;
|
||||
else OverridenIntroText = GetText("ReleaseBeforeTalk");
|
||||
} else C012_AfterClass_Amanda_GaggedAnswer();
|
||||
} else C012_AfterClass_Amanda_GaggedAnswer();
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - When the player breaks up with Amanda
|
||||
|
|
|
@ -47,12 +47,12 @@ function C012_AfterClass_Bed_Load() {
|
|||
else C012_AfterClass_Bed_CurrentStage = 800;
|
||||
if (ActorSpecificHasInventory("Amanda", "ChastityBelt")) OverridenIntroImage = "AmandaChastityBeltSarahBed.jpg";
|
||||
else OverridenIntroImage = "AmandaSarahBed.jpg";
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
// If there's no partner in bed
|
||||
if (C012_AfterClass_Bed_Partner == "") {
|
||||
|
||||
|
||||
// Starts the masturbation mini game
|
||||
LeaveIcon = "Leave";
|
||||
LeaveScreen = "Dorm";
|
||||
|
@ -62,9 +62,9 @@ function C012_AfterClass_Bed_Load() {
|
|||
C012_AfterClass_Bed_MistressApproveMasturbate = "";
|
||||
if (PlayerHasLockedInventory("VibratingEgg")) C012_AfterClass_Bed_MasturbationRequired = 2;
|
||||
else C012_AfterClass_Bed_MasturbationRequired = 3;
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
// With a partner, they can make love, some girls are a little harder to please
|
||||
C012_AfterClass_Bed_CanDateSarah = ((Common_PlayerLover == "") && !GameLogQuery(CurrentChapter, "Amanda", "DatingSarah"));
|
||||
ActorLoad(C012_AfterClass_Bed_Partner, "Dorm");
|
||||
|
@ -80,15 +80,15 @@ function C012_AfterClass_Bed_Load() {
|
|||
C012_AfterClass_Bed_SexPleasurePartner = ActorHasInventory("VibratingEgg") ? 3 : 0;
|
||||
C012_AfterClass_Bed_SexPleasurePlayer = PlayerHasLockedInventory("VibratingEgg") ? 3 : 0;
|
||||
if (CurrentActor == "Amanda") C012_AfterClass_Bed_SexPleasurePartner = C012_AfterClass_Bed_SexPleasurePartner - 1;
|
||||
if (CurrentActor == "Sarah") C012_AfterClass_Bed_SexPleasurePartner = C012_AfterClass_Bed_SexPleasurePartner + 2;
|
||||
if (CurrentActor == "Sarah") C012_AfterClass_Bed_SexPleasurePartner = C012_AfterClass_Bed_SexPleasurePartner + 2;
|
||||
if (CurrentActor == "Sidney") C012_AfterClass_Bed_SexPleasurePartner = C012_AfterClass_Bed_SexPleasurePartner + 1;
|
||||
if (CurrentActor == "Jennifer") C012_AfterClass_Bed_SexPleasurePartner = C012_AfterClass_Bed_SexPleasurePartner - 2;
|
||||
LeaveIcon = "";
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Bed Run
|
||||
|
@ -101,7 +101,7 @@ function C012_AfterClass_Bed_Run() {
|
|||
}
|
||||
|
||||
// Chapter 12 After Class - Bed Click
|
||||
function C012_AfterClass_Bed_Click() {
|
||||
function C012_AfterClass_Bed_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C012_AfterClass_Bed_CurrentStage);
|
||||
|
@ -116,20 +116,20 @@ function C012_AfterClass_Bed_EndChapter(OutroType) {
|
|||
|
||||
// Chapter 12 After Class - Checks if there's no guest that's not related to the player (love or BDSM)
|
||||
function C012_AfterClass_Bed_AllRelatedGuest() {
|
||||
|
||||
|
||||
// Loops in all guests to find one that's not related
|
||||
for (var G = 0; G < C012_AfterClass_Dorm_Guest.length; G++) {
|
||||
ActorLoad(C012_AfterClass_Dorm_Guest[G], "Dorm");
|
||||
if (!Common_ActorIsLover && !Common_ActorIsOwner && !Common_ActorIsOwned) {
|
||||
CurrentActor = "";
|
||||
return false;
|
||||
}
|
||||
CurrentActor = "";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If the player Mistress is around, she might punish her for masturbating or changing clothes
|
||||
for (var G = 0; G < C012_AfterClass_Dorm_Guest.length; G++) {
|
||||
if (Common_ActorIsOwner && (CurrentActor == Common_PlayerOwner)) {
|
||||
|
||||
|
||||
// If the player strips without being allowed, she gets punished
|
||||
if (!Common_PlayerNaked && GameLogQuery(CurrentChapter, "", "EventBlockChanging")) {
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
|
@ -141,7 +141,7 @@ function C012_AfterClass_Bed_AllRelatedGuest() {
|
|||
LeaveIcon = "";
|
||||
return false;
|
||||
} else {
|
||||
|
||||
|
||||
// Hints the player if she will get punished or not
|
||||
if (EventRandomChance("Hate")) C012_AfterClass_Bed_MistressApproveMasturbate = "NO";
|
||||
else C012_AfterClass_Bed_MistressApproveMasturbate = "YES";
|
||||
|
@ -150,7 +150,7 @@ function C012_AfterClass_Bed_AllRelatedGuest() {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// No guest found, we allow the player to masturbate
|
||||
CurrentActor = "";
|
||||
return true;
|
||||
|
@ -167,7 +167,7 @@ function C012_AfterClass_Bed_StartMasturbate() {
|
|||
if (C012_AfterClass_Bed_MistressApproveMasturbate == "NO") OverridenIntroText = GetText("LayMistressDisapprove");
|
||||
PlayerClothes("Naked");
|
||||
C012_AfterClass_Bed_CurrentStage = 100;
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
} else if (CurrentActor == "") OverridenIntroText = GetText("CannotMasturbateWithGuest");
|
||||
}
|
||||
}
|
||||
|
@ -229,13 +229,13 @@ function C012_AfterClass_Bed_Climax() {
|
|||
|
||||
// Chapter 12 After Class - When the player wants to leave the bed with a lover
|
||||
function C012_AfterClass_Bed_LeaveBedFromSex() {
|
||||
|
||||
|
||||
// If the actor is the owner and she didn't came, she will not let the player leave the bed
|
||||
if (Common_ActorIsOwner && (C012_AfterClass_Bed_SexPleasurePartner > -100)) {
|
||||
OverridenIntroText = GetText("SexStop" + CurrentActor + "Refuse");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// The actor will dislike the player if she didn't had her orgasm
|
||||
if (C012_AfterClass_Bed_SexPleasurePartner > -100) ActorChangeAttitude(-1, 0);
|
||||
if ((C012_AfterClass_Bed_SexPleasurePlayer < -100) && (C012_AfterClass_Bed_SexPleasurePartner > -100)) { ActorChangeAttitude(-1, 0); OverridenIntroText = GetText("SexStop" + CurrentActor + "PartnerNoOrgasm"); }
|
||||
|
@ -250,47 +250,47 @@ function C012_AfterClass_Bed_BackToDorm() {
|
|||
SetScene(CurrentChapter, "Dorm");
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Main sex event with the partenr, there's a pleasure factor for each and a flag to tell if an orgasm is possible or not
|
||||
// Chapter 12 After Class - Main sex event with the partner, there's a pleasure factor for each and a flag to tell if an orgasm is possible or not
|
||||
function C012_AfterClass_Bed_Sex(PleasurePartner, PleasurePlayer, CanOrgasm, WorkAnim) {
|
||||
|
||||
|
||||
// Raise the level for both lovers
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
C012_AfterClass_Bed_SexPleasurePartner = C012_AfterClass_Bed_SexPleasurePartner + PleasurePartner;
|
||||
C012_AfterClass_Bed_SexPleasurePlayer = C012_AfterClass_Bed_SexPleasurePlayer + PleasurePlayer;
|
||||
|
||||
|
||||
// More sex options opens when the scene progress
|
||||
C012_AfterClass_Bed_SexCount++;
|
||||
C012_AfterClass_Bed_SexSoft = (C012_AfterClass_Bed_SexCount >= 3);
|
||||
C012_AfterClass_Bed_SexWild = (C012_AfterClass_Bed_SexCount >= 6);
|
||||
|
||||
|
||||
// if an orgasm can be achieved from the activity, we trigger both orgasms at level 10 and they can be simultaneous
|
||||
var PartnerOrgasm = false;
|
||||
var PlayerOrgasm = false;
|
||||
if (CanOrgasm) {
|
||||
|
||||
|
||||
// When the partner achieves her orgasm
|
||||
if (C012_AfterClass_Bed_SexPleasurePartner >= 10) {
|
||||
PartnerOrgasm = true;
|
||||
C012_AfterClass_Bed_SexPleasurePartner = -10000000;
|
||||
if (C012_AfterClass_Bed_SexPleasurePartner >= 10) {
|
||||
PartnerOrgasm = true;
|
||||
C012_AfterClass_Bed_SexPleasurePartner = -10000000;
|
||||
ActorChangeAttitude(1, 0);
|
||||
OverridenIntroText = GetText("Sex" + CurrentActor + "PartnerOrgasm");
|
||||
GameLogSpecificAddTimer(CurrentChapter, CurrentActor, "NextPossibleOrgasm", ActorHasInventory("VibratingEgg") ? CurrentTime + 3600000 : CurrentTime + 7200000);
|
||||
}
|
||||
|
||||
|
||||
// When the player achieves her orgasm
|
||||
if (C012_AfterClass_Bed_SexPleasurePlayer >= 10) {
|
||||
PlayerOrgasm = true;
|
||||
if (C012_AfterClass_Bed_SexPleasurePlayer >= 10) {
|
||||
PlayerOrgasm = true;
|
||||
C012_AfterClass_Bed_SexPleasurePlayer = -10000000;
|
||||
GameLogSpecificAddTimer(CurrentChapter, "Player", "NextPossibleOrgasm", PlayerHasLockedInventory("VibratingEgg") ? CurrentTime + 1800000 : CurrentTime + 3600000);
|
||||
|
||||
// A simultaneous orgasm gives one extra love
|
||||
if (PartnerOrgasm) {
|
||||
OverridenIntroText = GetText("Sex" + CurrentActor + "SimultaneousOrgasm");
|
||||
ActorChangeAttitude(1, 0);
|
||||
ActorChangeAttitude(1, 0);
|
||||
} else OverridenIntroText = GetText("Sex" + CurrentActor + "PlayerOrgasm");
|
||||
|
||||
}
|
||||
|
||||
|
||||
// If the sex scene must end, we jump to the next stage
|
||||
if ((C012_AfterClass_Bed_SexPleasurePlayer < -100) && (C012_AfterClass_Bed_SexPleasurePartner < -100))
|
||||
C012_AfterClass_Bed_CurrentStage = parseInt(C012_AfterClass_Bed_CurrentStage) + 10;
|
||||
|
@ -305,7 +305,7 @@ function C012_AfterClass_Bed_Sex(PleasurePartner, PleasurePlayer, CanOrgasm, Wor
|
|||
// Chapter 12 After Class - Renders a final image after sex
|
||||
function C012_AfterClass_Bed_AfterSex() {
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
C012_AfterClass_Bed_PrepareImage(false, false);
|
||||
C012_AfterClass_Bed_PrepareImage(false, false);
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - When everyone gets off the bed
|
||||
|
|
|
@ -38,7 +38,7 @@ function C012_AfterClass_Dorm_LeavingGuest() {
|
|||
|
||||
// Sidney will leave at 20:00, it ends any grounding event
|
||||
if ((C012_AfterClass_Dorm_Guest.indexOf("Sidney") >= 0) && (CurrentTime >= C012_AfterClass_Dorm_SidneyExitTime) && (CurrentTime <= C012_AfterClass_Dorm_SidneyReturnTime) && !GameLogQuery(CurrentChapter, "Sidney", "BackFromRockShow") && !ActorSpecificIsRestrained("Sidney") && !GameLogQuery(CurrentChapter, "Sidney", "KickedOutFromDorm")) {
|
||||
C012_AfterClass_Dorm_Guest.splice("Sidney");
|
||||
C012_AfterClass_Dorm_Guest.splice("Sidney");
|
||||
if ((CurrentScreen == "Dorm") && (!C012_AfterClass_Dorm_PlayerGrounded || (Common_PlayerOwner == "Sidney"))) {
|
||||
C012_AfterClass_Sidney_CurrentStage = 400;
|
||||
if (C012_AfterClass_Dorm_PlayerGrounded && (Common_PlayerOwner == "Sidney")) GameLogSpecificAddTimer(CurrentChapter, "Sidney", "EventGrounded", 1);
|
||||
|
@ -49,7 +49,7 @@ function C012_AfterClass_Dorm_LeavingGuest() {
|
|||
}
|
||||
|
||||
// Sarah will leave at 21:00, it cancels the bed with Amanda event
|
||||
if ((C012_AfterClass_Dorm_Guest.indexOf("Sarah") >= 0) && (CurrentTime >= C012_AfterClass_Dorm_SarahExitTime) && !GameLogQuery(CurrentChapter, "Sarah", "BackFromBondageClub") && !ActorSpecificIsRestrained("Sarah") && !GameLogQuery(CurrentChapter, "Sarah", "KickedOutFromDorm")) {
|
||||
if ((C012_AfterClass_Dorm_Guest.indexOf("Sarah") >= 0) && (CurrentTime >= C012_AfterClass_Dorm_SarahExitTime) && !GameLogQuery(CurrentChapter, "Sarah", "BackFromBondageClub") && !ActorSpecificIsRestrained("Sarah") && !GameLogQuery(CurrentChapter, "Sarah", "KickedOutFromDorm")) {
|
||||
GameLogSpecificAddTimer(CurrentChapter, "Player", "AmandaAndSarahInBed", 1);
|
||||
C012_AfterClass_Dorm_Guest.splice("Sarah");
|
||||
if ((CurrentScreen == "Dorm") && !C012_AfterClass_Dorm_PlayerGrounded) {
|
||||
|
@ -58,7 +58,7 @@ function C012_AfterClass_Dorm_LeavingGuest() {
|
|||
ActorSetCloth("BrownDress");
|
||||
} else C012_AfterClass_Dorm_CalGuest();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Set the guest list in the dorm
|
||||
|
@ -67,15 +67,15 @@ function C012_AfterClass_Dorm_CalGuest() {
|
|||
// Build an array of everyone that's in the player dorm room
|
||||
C012_AfterClass_Dorm_LeavingGuest();
|
||||
C012_AfterClass_Dorm_Guest = [];
|
||||
if (GameLogQuery(CurrentChapter, "Sidney", "EnterDormFromPub") && !GameLogQuery(CurrentChapter, "Sidney", "KickedOutFromDorm") && ((CurrentTime <= C012_AfterClass_Dorm_SidneyExitTime) || (CurrentTime >= C012_AfterClass_Dorm_SidneyReturnTime) || GameLogQuery(CurrentChapter, "Sidney", "BackFromRockShow") || ActorSpecificIsRestrained("Sidney")))
|
||||
if (GameLogQuery(CurrentChapter, "Sidney", "EnterDormFromPub") && !GameLogQuery(CurrentChapter, "Sidney", "KickedOutFromDorm") && ((CurrentTime <= C012_AfterClass_Dorm_SidneyExitTime) || (CurrentTime >= C012_AfterClass_Dorm_SidneyReturnTime) || GameLogQuery(CurrentChapter, "Sidney", "BackFromRockShow") || ActorSpecificIsRestrained("Sidney")))
|
||||
if (!GameLogQuery(CurrentChapter, "Sidney", "LoverBreakUp") || (ActorSpecificGetValue("Sidney", ActorOwner) == "Player"))
|
||||
C012_AfterClass_Dorm_Guest.push("Sidney");
|
||||
if ((GameLogQuery(CurrentChapter, "Jennifer", "EnterDormFromPool") || GameLogQuery(CurrentChapter, "Jennifer", "EnterDormFromRoommates")) && !GameLogQuery(CurrentChapter, "Jennifer", "KickedOutFromDorm"))
|
||||
if ((GameLogQuery(CurrentChapter, "Jennifer", "EnterDormFromPool") || GameLogQuery(CurrentChapter, "Jennifer", "EnterDormFromRoommates")) && !GameLogQuery(CurrentChapter, "Jennifer", "KickedOutFromDorm"))
|
||||
C012_AfterClass_Dorm_Guest.push("Jennifer");
|
||||
if ((GameLogQuery(CurrentChapter, "Amanda", "EnterDormFromLibrary") || GameLogQuery(CurrentChapter, "Amanda", "EnterDormFromRoommates")) && !GameLogQuery(CurrentChapter, "Amanda", "KickedOutFromDorm") && !GameLogQuery(CurrentChapter, "Amanda", "LeaveDormEarly"))
|
||||
if (!GameLogQuery(CurrentChapter, "Amanda", "LoverBreakUp") || (ActorSpecificGetValue("Amanda", ActorOwner) == "Player"))
|
||||
C012_AfterClass_Dorm_Guest.push("Amanda");
|
||||
if (GameLogQuery(CurrentChapter, "Sarah", "EnterDormFromRoommates") && !GameLogQuery(CurrentChapter, "Sarah", "KickedOutFromDorm") && ((CurrentTime <= C012_AfterClass_Dorm_SarahExitTime) || GameLogQuery(CurrentChapter, "Sarah", "BackFromBondageClub") || ActorSpecificIsRestrained("Sarah")))
|
||||
if (GameLogQuery(CurrentChapter, "Sarah", "EnterDormFromRoommates") && !GameLogQuery(CurrentChapter, "Sarah", "KickedOutFromDorm") && ((CurrentTime <= C012_AfterClass_Dorm_SarahExitTime) || GameLogQuery(CurrentChapter, "Sarah", "BackFromBondageClub") || ActorSpecificIsRestrained("Sarah")))
|
||||
C012_AfterClass_Dorm_Guest.push("Sarah");
|
||||
|
||||
// Build an array of everyone that's visible (standing up)
|
||||
|
@ -89,7 +89,7 @@ function C012_AfterClass_Dorm_CalGuest() {
|
|||
|
||||
// Chapter 12 - After Class Dorm Load
|
||||
function C012_AfterClass_Dorm_Load() {
|
||||
|
||||
|
||||
// Set the timer limits
|
||||
StartTimer(24 * 60 * 60 * 1000, "C012_AfterClass", "Outro");
|
||||
ActorSpecificSetPose("Amanda", "");
|
||||
|
@ -143,7 +143,7 @@ function C012_AfterClass_Dorm_Load() {
|
|||
|
||||
// Chapter 12 - After Class Dorm Run
|
||||
function C012_AfterClass_Dorm_Run() {
|
||||
|
||||
|
||||
// Check if we must stop the scene for leaving guests
|
||||
C012_AfterClass_Dorm_LeavingGuest();
|
||||
|
||||
|
@ -152,7 +152,7 @@ function C012_AfterClass_Dorm_Run() {
|
|||
C012_AfterClass_Dorm_CalGuest();
|
||||
C012_AfterClass_Dorm_AmandaAndSarahInBed = false;
|
||||
}
|
||||
|
||||
|
||||
// If grounding is over, we go to the owner
|
||||
if (C012_AfterClass_Dorm_PlayerGrounded && !GameLogQuery(CurrentChapter, "", "EventGrounded") && (C012_AfterClass_Sidney_CurrentStage != 400)) {
|
||||
if (Common_PlayerOwner == "Sidney") C012_AfterClass_Sidney_CurrentStage = 3915;
|
||||
|
@ -181,10 +181,10 @@ function C012_AfterClass_Dorm_Run() {
|
|||
SetScene(CurrentChapter, "Sarah");
|
||||
LeaveIcon = "";
|
||||
}
|
||||
|
||||
|
||||
// Make sure we are still in the dorm after the previous events
|
||||
if (CurrentScreen == "Dorm") {
|
||||
|
||||
|
||||
// The "spanked" pose will fade out after time
|
||||
if (Common_PlayerPose == "Spanked" && !GameLogQuery(CurrentChapter, "", "EventSpanked")) Common_PlayerPose = "";
|
||||
|
||||
|
@ -194,7 +194,7 @@ function C012_AfterClass_Dorm_Run() {
|
|||
DrawTransparentPlayerImage(C012_AfterClass_Dorm_PlayerPos - 210, 0, 0.6667);
|
||||
for (var A = 0; A < C012_AfterClass_Dorm_GuestVisible.length; A++)
|
||||
DrawActor(C012_AfterClass_Dorm_GuestVisible[A], C012_AfterClass_Dorm_PlayerPos - 10 + A * 200, 0, 0.6667);
|
||||
|
||||
|
||||
// Draw the room icons
|
||||
if ((MouseX >= 1050) && (MouseX < 1200) && (MouseY >= 0) && (MouseY < 150)) DrawImage(CurrentChapter + "/" + CurrentScreen + "/Wardrobe_Active.png", 1075, 25);
|
||||
else DrawImage(CurrentChapter + "/" + CurrentScreen + "/Wardrobe_Inactive.png", 1075, 25);
|
||||
|
@ -206,7 +206,7 @@ function C012_AfterClass_Dorm_Run() {
|
|||
else DrawImage(CurrentChapter + "/" + CurrentScreen + "/Exit_Inactive.png", 1075, 475);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Chapter 12 - After Class Dorm Click
|
||||
|
@ -217,14 +217,14 @@ function C012_AfterClass_Dorm_Click() {
|
|||
|
||||
// Checks if the user clicks on any regular item
|
||||
InventoryClick(GetClickedInventory(), CurrentChapter, CurrentScreen);
|
||||
|
||||
|
||||
// Opens the other screens of the dorm
|
||||
if ((MouseX >= 1050) && (MouseX < 1200) && (MouseY >= 0) && (MouseY < 150)) SetScene(CurrentChapter, "Wardrobe");
|
||||
if ((MouseX >= 1050) && (MouseX < 1200) && (MouseY >= 150) && (MouseY < 300)) SetScene(CurrentChapter, "Bed");
|
||||
if ((MouseX >= 1050) && (MouseX < 1200) && (MouseY >= 300) && (MouseY < 450)) SaveMenu(CurrentChapter, "Dorm");
|
||||
if ((MouseX >= 1050) && (MouseX < 1200) && (MouseY >= 450) && (MouseY < 600)) SetScene(CurrentChapter, "DormExit");
|
||||
if ((MouseX >= C012_AfterClass_Dorm_PlayerPos - 100) && (MouseX < C012_AfterClass_Dorm_PlayerPos + 100) && (MouseY >= 0) && (MouseY <= 600)) InventoryClick("Player", CurrentChapter, CurrentScreen);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// When the player clicks on another actor
|
||||
|
|
|
@ -4,12 +4,12 @@ var C012_AfterClass_DormExit_KnowBondageClub = false;
|
|||
|
||||
// Chapter 12 After Class - Dorm Exit Load
|
||||
function C012_AfterClass_DormExit_Load() {
|
||||
|
||||
|
||||
// Loads the scene to search in the wardrobe
|
||||
LeaveIcon = "Leave";
|
||||
LeaveScreen = "Dorm";
|
||||
LoadInteractions();
|
||||
|
||||
|
||||
// The player can go to clubs if she heard about them
|
||||
C012_AfterClass_DormExit_KnowKinbakuClub = (GameLogQuery("C007_LunchBreak", "Natalie", "Lunch") || GameLogQuery("", "", "KinbakuClubInfo"));
|
||||
C012_AfterClass_DormExit_KnowBondageClub = GameLogQuery("", "", "BondageClubInvitation");
|
||||
|
@ -23,7 +23,7 @@ function C012_AfterClass_DormExit_Run() {
|
|||
}
|
||||
|
||||
// Chapter 12 After Class - Dorm Exit Click
|
||||
function C012_AfterClass_DormExit_Click() {
|
||||
function C012_AfterClass_DormExit_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C012_AfterClass_DormExit_CurrentStage);
|
||||
|
@ -81,7 +81,7 @@ function C012_AfterClass_DormExit_LaunchLibrary() {
|
|||
if (CurrentTime < (20.9 * 60 * 60 * 1000)) {
|
||||
CurrentTime = CurrentTime + 290000;
|
||||
C012_AfterClass_Library_CurrentStage = 0;
|
||||
SetScene(CurrentChapter, "Library");
|
||||
SetScene(CurrentChapter, "Library");
|
||||
} else OverridenIntroText = GetText("LibraryClosed");
|
||||
} else OverridenIntroText = GetText("SchoolClothesFirst");
|
||||
} else OverridenIntroText = GetText("UnrestrainFirst");
|
||||
|
|
|
@ -3,7 +3,7 @@ var C012_AfterClass_Humiliation_List = ["Art", "Detention", "Karate", "Pool", "R
|
|||
|
||||
// Chapter 12 After Class - Humiliation Load
|
||||
function C012_AfterClass_Humiliation_Load() {
|
||||
|
||||
|
||||
// Loads the scene
|
||||
LeaveIcon = "";
|
||||
LeaveScreen = "Dorm";
|
||||
|
@ -19,7 +19,7 @@ function C012_AfterClass_Humiliation_Run() {
|
|||
}
|
||||
|
||||
// Chapter 12 After Class - Humiliation Click
|
||||
function C012_AfterClass_Humiliation_Click() {
|
||||
function C012_AfterClass_Humiliation_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C012_AfterClass_Humiliation_CurrentStage);
|
||||
|
@ -27,7 +27,7 @@ function C012_AfterClass_Humiliation_Click() {
|
|||
}
|
||||
|
||||
// Chapter 12 After Class - process the humiliation scene
|
||||
function C012_AfterClass_Humiliation_Process() {
|
||||
function C012_AfterClass_Humiliation_Process() {
|
||||
CurrentTime = CurrentTime + 290000;
|
||||
var HumiliationType = C012_AfterClass_Humiliation_List[Math.floor(Math.random() * C012_AfterClass_Humiliation_List.length)];
|
||||
OverridenIntroImage = "Humiliation" + HumiliationType + (Common_PlayerChaste ? "Chastity": "") + ".jpg";
|
||||
|
|
|
@ -17,7 +17,7 @@ var C012_AfterClass_Isolation_DontLikeRemarkDone = false;
|
|||
|
||||
// Chapter 12 After Class - Isolation Load
|
||||
function C012_AfterClass_Isolation_Load() {
|
||||
|
||||
|
||||
// Loads the scene to search in the wardrobe
|
||||
LoadInteractions();
|
||||
ActorLoad("Sarah", "");
|
||||
|
@ -42,7 +42,7 @@ function C012_AfterClass_Isolation_Run() {
|
|||
}
|
||||
|
||||
// Chapter 12 After Class - Isolation Click
|
||||
function C012_AfterClass_Isolation_Click() {
|
||||
function C012_AfterClass_Isolation_Click() {
|
||||
|
||||
// Regular interactions
|
||||
OverridenIntroImage = "";
|
||||
|
@ -59,7 +59,7 @@ function C012_AfterClass_Isolation_Click() {
|
|||
var ClickInv = GetClickedInventory();
|
||||
if (ClickInv == "Player") {
|
||||
C012_AfterClass_Isolation_IntroText = OverridenIntroText;
|
||||
C012_AfterClass_Isolation_CurrentActor = CurrentActor;
|
||||
C012_AfterClass_Isolation_CurrentActor = CurrentActor;
|
||||
InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@ function C012_AfterClass_Isolation_DontLikeRemark() {
|
|||
if (!C012_AfterClass_Isolation_DontLikeRemarkDone) {
|
||||
C012_AfterClass_Isolation_DontLikeRemarkDone = true;
|
||||
ActorChangeAttitude(-1, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - The player can spank Sarah on the Pillory
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue