Ben987 d13bafdb8b Chapter 8 - Almost finish
Chapter 8 - Almost finish
2017-11-16 18:47:34 -05:00

216 lines
9.9 KiB
JavaScript

var C008_DramaClass_Heroine_CurrentStage = 100;
var C008_DramaClass_Heroine_PlayerIsHeroine = false;
var C008_DramaClass_Heroine_PlayerIsDamsel = false;
var C008_DramaClass_Heroine_PlayerIsVillain = false;
var C008_DramaClass_Heroine_ForgetLineDone = false;
var C008_DramaClass_Heroine_SnapFingersDone = false;
var C008_DramaClass_Heroine_VillainCanTaunt = false;
var C008_DramaClass_Heroine_CanProposeTrio = false;
var C008_DramaClass_Heroine_IsGagged = false;
var C008_DramaClass_Heroine_DamselCanInteract = false;
var C008_DramaClass_Heroine_DamselCanBeg = false;
var C008_DramaClass_Heroine_CanConvinceJuliaToStrip = false;
var C008_DramaClass_Heroine_CanUntie = false;
var C008_DramaClass_Heroine_CanUngag = false;
var C008_DramaClass_Heroine_CanAbuse = false;
var C008_DramaClass_Heroine_TickleDone = false;
var C008_DramaClass_Heroine_OrgasmDone = false;
var C008_DramaClass_Heroine_ViolenceDone = false;
var C008_DramaClass_Heroine_MastubateCount = 0;
// Calculates the scene parameters
function C008_DramaClass_Heroine_CalcParams() {
C008_DramaClass_Heroine_IsGagged = ActorIsGagged();
C008_DramaClass_Heroine_CanUntie = (ActorHasInventory("Rope") && !Common_PlayerRestrained);
C008_DramaClass_Heroine_CanUngag = (C008_DramaClass_Heroine_IsGagged && !Common_PlayerRestrained);
C008_DramaClass_Heroine_CanAbuse = (ActorIsRestrained() && !Common_PlayerRestrained);
C008_DramaClass_Heroine_CanConvinceJuliaToStrip = (C008_DramaClass_Heroine_PlayerIsDamsel && !C008_DramaClass_Heroine_IsGagged && (C008_DramaClass_Julia_CurrentStage == 400) && ((ActorSpecificGetValue("Sarah", ActorLove) >= 10) || (ActorSpecificGetValue("Sarah", ActorSubmission) >= 10)));
C008_DramaClass_Heroine_DamselCanInteract = (C008_DramaClass_Heroine_PlayerIsDamsel && !Common_PlayerGagged);
C008_DramaClass_Heroine_DamselCanBeg = (C008_DramaClass_Heroine_PlayerIsDamsel && Common_PlayerGagged);
}
// Chapter 8 - Heroine Load
function C008_DramaClass_Heroine_Load() {
// Checks if the player is the heroine & set the stage to the current global stage
C008_DramaClass_Heroine_PlayerIsHeroine = (C008_DramaClass_JuliaIntro_PlayerRole == "Heroine");
C008_DramaClass_Heroine_PlayerIsDamsel = (C008_DramaClass_JuliaIntro_PlayerRole == "Damsel");
C008_DramaClass_Heroine_PlayerIsVillain = (C008_DramaClass_JuliaIntro_PlayerRole == "Villain");
if (C008_DramaClass_Heroine_CurrentStage < 300) C008_DramaClass_Heroine_CurrentStage = C008_DramaClass_Theater_GlobalStage;
C008_DramaClass_Heroine_VillainCanTaunt = (C008_DramaClass_Heroine_PlayerIsVillain && ActorSpecificInBondage("Sarah"));
C008_DramaClass_Heroine_CanProposeTrio = (C008_DramaClass_Heroine_PlayerIsHeroine && (ActorSpecificGetValue("Sarah", ActorLove) >= 10) && (ActorSpecificGetValue("Amanda", ActorLove) >= 10))
// Load the scene parameters
if (!C008_DramaClass_Heroine_PlayerIsHeroine) ActorLoad(C008_DramaClass_Theater_Heroine, "Theater");
LoadInteractions();
LeaveIcon = "Leave";
LeaveScreen = "Theater";
C008_DramaClass_Heroine_CalcParams();
}
// Chapter 8 - Heroine Run
function C008_DramaClass_Heroine_Run() {
BuildInteraction(C008_DramaClass_Heroine_CurrentStage);
if ((C008_DramaClass_Heroine_CurrentStage != 226) && (C008_DramaClass_Heroine_CurrentStage != 260) && (C008_DramaClass_Heroine_CurrentStage != 290)) DrawInteractionActor();
}
// Chapter 8 - Heroine Click
function C008_DramaClass_Heroine_Click() {
// Regular and inventory interactions
ClickInteraction(C008_DramaClass_Heroine_CurrentStage);
var ClickInv = GetClickedInventory();
// A second rope can be applied on the fight loser before the play is over
if ((ClickInv == "Rope") && (C008_DramaClass_Heroine_CurrentStage == 280) && C008_DramaClass_Heroine_PlayerIsVillain)
ActorApplyRestrain(ClickInv);
// The heroine can be restrained on stage 400
if ((C008_DramaClass_Heroine_CurrentStage == 400) && (ClickInv != "") && (ClickInv != "Player") && !Common_PlayerRestrained) {
// 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 (!C008_DramaClass_Damsel_ViolenceDone) { C008_DramaClass_Damsel_ViolenceDone = true; }
// Both heroines react differently to the crop
if ((ClickInv == "Crop") && !C008_DramaClass_Damsel_ViolenceDone) {
C008_DramaClass_Damsel_ViolenceDone = true;
if (CurrentActor == "Amanda") ActorChangeAttitude(-1, 0);
if (CurrentActor == "Sarah") ActorChangeAttitude(1, 0);
}
// Apply the clicked restrain
ActorApplyRestrain(ClickInv);
if (ActorHasInventory("Rope")) ActorSetCloth("Underwear");
C008_DramaClass_Heroine_CalcParams();
}
}
// Chapter 8 - Heroine - Sets the global stage and can alter Julia's mood
function C008_DramaClass_Heroine_GlobalStage(GlobalStage, LoveMod, SubMod) {
C008_DramaClass_Theater_GlobalStage = GlobalStage;
if (!C008_DramaClass_Heroine_SnapFingersDone || (SubMod <= 0)) ActorSpecificChangeAttitude("Julia", LoveMod, SubMod);
if (SubMod > 0) C008_DramaClass_Heroine_SnapFingersDone = true;
if (LoveMod < 0) C008_DramaClass_Theater_PerfectPlay = false;
C008_DramaClass_Theater_SetPose();
}
// Chapter 8 - Heroine - When the player forgets her line
function C008_DramaClass_Heroine_ForgetLine() {
if (!C008_DramaClass_Heroine_ForgetLineDone) {
C008_DramaClass_Heroine_ForgetLineDone = true;
C008_DramaClass_Theater_PerfectPlay = false;
ActorSpecificChangeAttitude("Julia", 0, -1);
}
}
// Chapter 8 - Heroine - When the heroine kisses the damsel, it finishes the play
function C008_DramaClass_Heroine_FinalKiss() {
OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerKiss.jpg";
ActorSpecificChangeAttitude("Sarah", 2, 0);
ActorSpecificChangeAttitude("Amanda", -3, 0);
C008_DramaClass_Theater_GlobalStage = 300;
C008_DramaClass_Theater_Ending = "Kiss";
}
// Chapter 8 - Heroine - When the heroine hugs the damsel, it finishes the play
function C008_DramaClass_Heroine_FinalHug() {
OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerHug.jpg";
ActorSpecificChangeAttitude("Sarah", 1, 0);
ActorSpecificChangeAttitude("Amanda", -1, 0);
C008_DramaClass_Theater_GlobalStage = 300;
C008_DramaClass_Theater_Ending = "Hug";
}
// Chapter 8 - Heroine - When the damsel kneels for the heroine, it finishes the play
function C008_DramaClass_Heroine_FinalDomme() {
OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerDomme.jpg";
ActorSpecificChangeAttitude("Sarah", 1, -2);
ActorSpecificChangeAttitude("Amanda", -1, 0);
C008_DramaClass_Theater_GlobalStage = 300;
C008_DramaClass_Theater_Ending = "Domme";
}
// Chapter 8 - Heroine - When the heroine proposes a menage a trois, it finishes the play
function C008_DramaClass_Heroine_FinalTrio() {
OverridenIntroImage = "../HugImages/HeroinePlayerVillainAmandaDamselSarahKiss.jpg";
ActorSpecificChangeAttitude("Sarah", 1, 0);
ActorSpecificChangeAttitude("Amanda", 1, 0);
CurrentActor = "Sarah";
ActorUntie();
ActorUngag();
ActorSetCloth("Damsel");
CurrentActor = "";
C008_DramaClass_Theater_GlobalStage = 300;
C008_DramaClass_Theater_Ending = "Trio";
}
// Chapter 8 - Heroine - When the damsel begs to be released
function C008_DramaClass_Heroine_ReleasePlayer() {
PlayerClothes("Damsel");
PlayerUnlockInventory("Rope");
PlayerUnlockInventory("ClothGag");
C008_DramaClass_Heroine_DamselCanInteract = true;
C008_DramaClass_Heroine_DamselCanBeg = false;
}
// Chapter 8 - Heroine - When the damsel surrenders and the play ends with two prisoners
function C008_DramaClass_Heroine_FinalTwoPrisoners() {
C008_DramaClass_Theater_GlobalStage = 300;
C008_DramaClass_Theater_Ending = "TwoPrisoners";
}
// Chapter 8 - Heroine - The knight can convince Julia to strip for the player
function C008_DramaClass_Heroine_JuliaStrip() {
ActorSpecificSetCloth("Julia", "Underwear");
C008_DramaClass_Heroine_CanConvinceJuliaToStrip = false;
C008_DramaClass_Julia_CurrentStage = 410;
CurrentTime = CurrentTime + 50000;
}
// Chapter 8 - Heroine Untie
function C008_DramaClass_Heroine_Untie() {
ActorUntie();
C008_DramaClass_Heroine_CalcParams();
ActorSetCloth("Heroine");
}
// Chapter 8 - Heroine Ungag
function C008_DramaClass_Heroine_Ungag() {
ActorUngag();
C008_DramaClass_Heroine_CalcParams();
}
// Chapter 8 - Heroine Tickle
function C008_DramaClass_Heroine_Tickle() {
if ((CurrentActor == "Amanda") && !C008_DramaClass_Heroine_TickleDone) { C008_DramaClass_Heroine_TickleDone = true; ActorChangeAttitude(1, 0); }
}
// Chapter 8 - Heroine Spank
function C008_DramaClass_Heroine_Spank() {
if ((CurrentActor == "Amanda") && !C008_DramaClass_Damsel_ViolenceDone) { C008_DramaClass_Damsel_ViolenceDone = true; ActorChangeAttitude(-1, 0); }
if ((CurrentActor == "Sarah") && !C008_DramaClass_Damsel_ViolenceDone) { C008_DramaClass_Damsel_ViolenceDone = true; ActorChangeAttitude(1, 0); }
}
// Chapter 8 - Heroine Masturbate, Sarah or Amanda can climax with different parameters
function C008_DramaClass_Heroine_Masturbate() {
C008_DramaClass_Heroine_MastubateCount++;
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";
}
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);
OverridenIntroText = GetText("Orgasm");
OverridenIntroImage = "BackgroundOrgasm.jpg";
}
}