mirror of
https://gitgud.io/BondageProjects/Bondage-College.git
synced 2025-04-25 17:59:34 +00:00
Chapter 12 - Sidney Collaring the Player
Chapter 12 - Sidney Collaring the Player
This commit is contained in:
parent
ad57ca4ba1
commit
42a2e67915
17 changed files with 208 additions and 10 deletions
12
Actor.js
12
Actor.js
|
@ -11,6 +11,7 @@ var ActorLastBondageChapter = 6;
|
|||
var ActorCloth = 7;
|
||||
var ActorPose = 8;
|
||||
var ActorHideName = 9;
|
||||
var ActorOwner = 10;
|
||||
|
||||
// Make sure the current actor is loaded (create it if not)
|
||||
function ActorLoad(ActorToLoad, ActorLeaveScreen) {
|
||||
|
@ -19,13 +20,18 @@ function ActorLoad(ActorToLoad, ActorLeaveScreen) {
|
|||
LeaveIcon = "Leave";
|
||||
LeaveScreen = ActorLeaveScreen;
|
||||
|
||||
// Load the actor if it's not already loaded
|
||||
// Sets if the actor is the player lover, submissive or Mistress
|
||||
CurrentActor = ActorToLoad;
|
||||
Common_ActorIsLover = (CurrentActor == Common_PlayerLover);
|
||||
Common_ActorIsOwner = (CurrentActor == Common_PlayerOwner);
|
||||
Common_ActorIsOwned = (ActorGetValue(ActorOwner) == "Player");
|
||||
|
||||
// Load the actor if it's not already loaded
|
||||
for (var L = 0; L < Actor.length; L++)
|
||||
if (Actor[L][ActorName] == ActorToLoad)
|
||||
return;
|
||||
Actor[Actor.length] = [ActorToLoad, 0, 0, [], 0, 0, "", "Clothed", "", false];
|
||||
|
||||
Actor[Actor.length] = [ActorToLoad, 0, 0, [], 0, 0, "", "Clothed", "", false, ""];
|
||||
|
||||
}
|
||||
|
||||
// Return a value from the current actor data
|
||||
|
|
BIN
Actors/Player/ChastityBelt_NoBondage_Collar_NoGag_BackKneel.png
Normal file
BIN
Actors/Player/ChastityBelt_NoBondage_Collar_NoGag_BackKneel.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 86 KiB |
Binary file not shown.
After ![]() (image error) Size: 76 KiB |
BIN
Actors/Player/Naked_NoBondage_Collar_NoGag_BackKneel.png
Normal file
BIN
Actors/Player/Naked_NoBondage_Collar_NoGag_BackKneel.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 82 KiB |
BIN
Actors/Player/Naked_NoBondage_NoCollar_NoGag_BackKneel.png
Normal file
BIN
Actors/Player/Naked_NoBondage_NoCollar_NoGag_BackKneel.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 72 KiB |
BIN
Actors/Sidney/Shorts_NoBondage_NoGag_Happy.png
Normal file
BIN
Actors/Sidney/Shorts_NoBondage_NoGag_Happy.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 104 KiB |
BIN
Actors/Sidney/Shorts_NoBondage_NoGag_Mad.png
Normal file
BIN
Actors/Sidney/Shorts_NoBondage_NoGag_Mad.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 97 KiB |
|
@ -6,6 +6,11 @@ function C012_AfterClass_Dorm_Load() {
|
|||
|
||||
// Set the timer limits
|
||||
StartTimer(24 * 60 * 60 * 1000, "C012_AfterClass", "Outro");
|
||||
ActorSpecificSetPose("Amanda", "");
|
||||
ActorSpecificSetPose("Sarah", "");
|
||||
ActorSpecificSetPose("Sidney", "");
|
||||
ActorSpecificSetPose("Jennifer", "");
|
||||
Common_PlayerPose = "";
|
||||
Common_BondageAllowed = true;
|
||||
Common_SelfBondageAllowed = true;
|
||||
|
||||
|
|
|
@ -3,3 +3,26 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
|
|||
0,10,0,,"So my friend, what do you do to kill time?",Dorm.jpg
|
||||
0,0,-10,,"Hey girl, what do you do to kill time?",Dorm.jpg
|
||||
0,0,10,,"Miss, what would you like to do?",Dorm.jpg
|
||||
0,0,0,Common_PlayerNaked,You're so kinky.,Dorm.jpg
|
||||
0,10,0,Common_PlayerNaked,You're pretty without clothes.,Dorm.jpg
|
||||
0,0,-10,Common_PlayerNaked,"Girl, you're fucking kinky.",Dorm.jpg
|
||||
0,0,10,Common_PlayerNaked,"Miss, you have a fabulous body.",Dorm.jpg
|
||||
0,0,0,Common_ActorIsOwner,Hey there my little bitch.|What would you like to do?,Dorm.jpg
|
||||
100,0,0,,"Sure, we can fuck.|We do it right here?",Dorm.jpg
|
||||
100,0,-10,,"Sure, we can fuck.|Get in bed girl.",Dorm.jpg
|
||||
100,0,0,Common_ActorIsLover,Of course sweetie.,Dorm.jpg
|
||||
100,0,0,Common_ActorIsOwned,Of course Mistress.,Dorm.jpg
|
||||
200,0,0,,Protection? What do you mean Miss?,Dorm.jpg
|
||||
200,0,0,Common_ActorIsLover,I already have your lips and arms.|Do you really think I need protection?,Dorm.jpg
|
||||
300,0,0,,"I know you do, but you're going to get|crushed if you keep acting that way.",Dorm.jpg
|
||||
300,0,0,Common_ActorIsLover,"I know sweetheart, but you're going to get|eaten alive if you keep acting that way.",Dorm.jpg
|
||||
310,0,0,,,Dorm.jpg
|
||||
320,0,0,,,Dorm.jpg
|
||||
330,0,0,,,Dorm.jpg
|
||||
340,0,0,,,Dorm.jpg
|
||||
350,0,0,,,Dorm.jpg
|
||||
360,0,0,,,Dorm.jpg
|
||||
370,0,0,,,Dorm.jpg
|
||||
380,0,0,,,Dorm.jpg
|
||||
390,0,0,,,Dorm.jpg
|
||||
395,0,0,,,Dorm.jpg
|
||||
|
|
|
|
@ -1,6 +1,18 @@
|
|||
var C012_AfterClass_Sidney_CurrentStage = 0;
|
||||
var C012_AfterClass_Sidney_IntroText = "";
|
||||
|
||||
// In her shorts, Sidney can have many poses when she talks
|
||||
function C012_AfterClass_Sidney_SetPose() {
|
||||
if (ActorGetValue(ActorCloth) == "Shorts") {
|
||||
var Love = ActorGetValue(ActorLove);
|
||||
var Sub = ActorGetValue(ActorSubmission);
|
||||
if ((Sub <= -10) && (Math.abs(Sub) >= Math.abs(Love))) ActorSetPose("Point");
|
||||
if ((Sub >= 10) && (Math.abs(Sub) >= Math.abs(Love))) ActorSetPose("Shy");
|
||||
if ((Love >= 10) && (Math.abs(Love) >= Math.abs(Sub))) ActorSetPose("Happy");
|
||||
if ((Love <= -10) && (Math.abs(Love) >= Math.abs(Sub))) ActorSetPose("Mad");
|
||||
} else ActorSetPose("");
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Sidney Load
|
||||
function C012_AfterClass_Sidney_Load() {
|
||||
|
||||
|
@ -8,6 +20,8 @@ function C012_AfterClass_Sidney_Load() {
|
|||
LoadInteractions();
|
||||
ActorLoad("Sidney", "Leave");
|
||||
LeaveScreen = "Dorm";
|
||||
C012_AfterClass_Sidney_CurrentStage = 0;
|
||||
C012_AfterClass_Sidney_SetPose();
|
||||
|
||||
// Loads the previous text if needed
|
||||
if (C012_AfterClass_Sidney_IntroText != "") {
|
||||
|
@ -21,10 +35,11 @@ function C012_AfterClass_Sidney_Load() {
|
|||
function C012_AfterClass_Sidney_Run() {
|
||||
BuildInteraction(C012_AfterClass_Sidney_CurrentStage);
|
||||
DrawInteractionActor();
|
||||
if ((C012_AfterClass_Sidney_CurrentStage >= 340) && (C012_AfterClass_Sidney_CurrentStage < 400)) DrawActor("Player", 600, 100, 1);
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Sidney Click
|
||||
function C012_AfterClass_Sidney_Click() {
|
||||
function C012_AfterClass_Sidney_Click() {
|
||||
|
||||
// Regular interactions
|
||||
ClickInteraction(C012_AfterClass_Sidney_CurrentStage);
|
||||
|
@ -37,3 +52,96 @@ function C012_AfterClass_Sidney_Click() {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Sidney can make love with the player if (Love + seduction * 2) >= 12 or >= 25 on the next time or Sidney is the player girlfriend/submissive
|
||||
function C012_AfterClass_Sidney_GaggedAnswer() {
|
||||
var GagTalk = Math.floor(Math.random() * 5) + 1;
|
||||
OverridenIntroText = GetText("GaggedAnswer" + GagTalk.toString());
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Sidney can make love with the player if (Love + seduction * 2) >= 12 or >= 25 on the next time or Sidney is the player girlfriend/submissive
|
||||
function C012_AfterClass_Sidney_TestLove() {
|
||||
if (!ActorIsGagged()) {
|
||||
var LoveChance = ActorGetValue(ActorLove) + PlayerGetSkillLevel("Seduction") * 2;
|
||||
if (((LoveChance >= 12) && !GameLogQuery(CurrentChapter, "Sidney", "EnterDormFromPub")) || (LoveChance >= 25) || Common_ActorIsLover || Common_ActorIsOwned) {
|
||||
C012_AfterClass_Sidney_CurrentStage = 100;
|
||||
}
|
||||
} else C012_AfterClass_Sidney_GaggedAnswer();
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Sidney can be dominated at +20 submission
|
||||
function C012_AfterClass_Sidney_TestDomme() {
|
||||
if (!ActorIsGagged()) {
|
||||
if (ActorGetValue(ActorSubmission) >= 20) {
|
||||
C012_AfterClass_Sidney_CurrentStage = 200;
|
||||
}
|
||||
} else C012_AfterClass_Sidney_GaggedAnswer();
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Sidney can become the player Mistress at -20 submission
|
||||
function C012_AfterClass_Sidney_TestSub() {
|
||||
if (!ActorIsGagged()) {
|
||||
if (ActorGetValue(ActorSubmission) <= -20) {
|
||||
C012_AfterClass_Sidney_CurrentStage = 300;
|
||||
OverridenIntroText = "";
|
||||
}
|
||||
} else C012_AfterClass_Sidney_GaggedAnswer();
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - Tests if the player can submit (no restrains first)
|
||||
function C012_AfterClass_Sidney_TestSubmit() {
|
||||
if (Common_PlayerOwner != "") {
|
||||
OverridenIntroText = GetText("AlreadyOwned");
|
||||
} else {
|
||||
if (ActorIsRestrained()) {
|
||||
OverridenIntroText = GetText("UnrestrainFirst");
|
||||
} else {
|
||||
if (ActorIsChaste()) {
|
||||
OverridenIntroText = GetText("UnchasteFirst");
|
||||
} else {
|
||||
if (PlayerHasLockedInventory("Collar")) {
|
||||
OverridenIntroText = GetText("PlayerUncollarFirst");
|
||||
} else {
|
||||
if (Common_PlayerRestrained) {
|
||||
OverridenIntroText = GetText("PlayerUnrestrainFirst");
|
||||
} else {
|
||||
if (Common_PlayerNaked) {
|
||||
OverridenIntroText = GetText("GetOnYourKnees");
|
||||
C012_AfterClass_Sidney_PlayerStrip();
|
||||
C012_AfterClass_Sidney_CurrentStage = 340;
|
||||
} else {
|
||||
C012_AfterClass_Sidney_CurrentStage = 330;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - The player can strip for Sidney
|
||||
function C012_AfterClass_Sidney_PlayerStrip() {
|
||||
ActorSetPose("");
|
||||
PlayerClothes("Naked");
|
||||
Common_PlayerPose = "BackShy";
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - The player can strip for Sidney
|
||||
function C012_AfterClass_Sidney_KneelForSidney() {
|
||||
Common_PlayerPose = "BackKneel";
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - When the player gets collared
|
||||
function C012_AfterClass_Sidney_PlayerCollared() {
|
||||
LeaveIcon = "";
|
||||
Common_PlayerOwner = CurrentActor;
|
||||
Common_ActorIsOwner = true;
|
||||
PlayerLockInventory("Collar");
|
||||
CurrentTime = CurrentTime + 50000;
|
||||
}
|
||||
|
||||
// Chapter 12 After Class - When the player gets collared
|
||||
function C012_AfterClass_Sidney_PlayerStandUp() {
|
||||
Common_PlayerPose = "";
|
||||
LeaveIcon = "Leave";
|
||||
}
|
|
@ -1,2 +1,41 @@
|
|||
Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
|
||||
0,0,0,,TO DO,TO DO,0,0,0,
|
||||
0,5,0,,Would you like to|make love with me?,"No, I don't feel like it.|Let's do something else.",0,0,0,TestLove()
|
||||
0,0,5,!Common_ActorIsOwned,"Girl, you need|my protection.",I don't need protection from anyone.|(You need +20 submission to collar Sidney.),0,0,0,TestDomme()
|
||||
0,0,-5,!Common_ActorIsOwner,Miss Sidney.|I admire you.,"Don't talk like that, you sound like a loser.|(You need -20 submission to submit to Sidney.)",0,0,0,TestSub()
|
||||
100,0,0,,TO DO,TO DO,0,0,0,
|
||||
200,0,0,,TO DO,TO DO,0,0,0,
|
||||
300,0,0,,I know! I'm sorry.,(She sighs.) They only way you won't get|killed is if I take you under my wing.,310,0,0,
|
||||
300,0,0,,School can be harsh.,(She sighs.) They only way you won't get|killed is if I take you under my wing.,310,0,0,
|
||||
300,0,0,,Can you help me?,(She sighs.) They only way you won't get|killed is if I take you under my wing.,310,0,0,
|
||||
310,0,0,,Under your wing?,"Yeah, if you're willing to submit to me.|I will protect you from now on.",320,0,0,
|
||||
310,0,0,,You will protect me?,"Yeah, if you're willing to submit to me.|I will protect you from now on.",320,0,0,
|
||||
310,0,0,,"Miss, are you sure?","Yeah, if you're willing to submit to me.|I will protect you from now on.",320,0,0,
|
||||
320,0,0,,I need to think first.|(Don't submit now.),"Sure, take your fucking time.",0,0,0,
|
||||
320,0,0,!Common_ActorIsLover,I will submit Miss.|(Submit to Sidney.),"Good, you'll be my bitch then.|So bitch, get naked right now.",0,0,0,TestSubmit()
|
||||
320,0,0,Common_ActorIsLover,I will submit Miss.|(Submit to Sidney.),"You'll be my lover and my bitch then.|So my sexy bitch, get naked right now.",0,0,0,TestSubmit()
|
||||
330,0,0,,Yes Miss.|(Strip naked.),(You strip down for Sidney and she smiles.)|Very good little bitch. Now get on your knees.,340,0,0,PlayerStrip()
|
||||
330,0,0,,Why should I strip?,Cause you're my bitch|and you're going to strip.,330,0,0,
|
||||
330,0,0,,Stop! This is|going too far.,Fine. But I won't protect you.,0,0,0,
|
||||
340,0,0,,Yes Miss Sidney.|(Get on your knees.),"Just like a bitch, you will|wear a collar for me.",350,0,0,KneelForSidney()
|
||||
340,0,0,,My pleasure.|(Get on your knees.),"Just like a bitch, you will|wear a collar for me.",350,0,0,KneelForSidney()
|
||||
340,0,0,,Stop! This is|going too far.,Fine. But I won't protect you.,0,0,0,
|
||||
350,0,0,,I understand.,"This fucking collar will tell everyone|to backup, that you're my property.",360,0,0,
|
||||
350,0,0,,Very well.,"This fucking collar will tell everyone|to backup, that you're my property.",360,0,0,
|
||||
350,0,0,,Stop! This is|going too far.,Fine. But I won't protect you.,0,0,0,
|
||||
360,0,0,,Your property Miss?,"Yep, my own personal bitch. And this|collar will be fucking locked on you.",370,0,0,
|
||||
360,0,0,,This will protect me?,I will protect you bitch. And this|collar will be fucking locked on you.,370,0,0,
|
||||
360,0,0,,Stop! This is|going too far.,Fine. But I won't protect you.,0,0,0,
|
||||
370,0,0,,(Bow your head.),"Now say ""I'm your bitch"" and you'll be mine.|(She shows you a black collar and a padlock.)",380,0,0,
|
||||
370,0,0,,That's alright.,"Now say ""I'm your bitch"" and you'll be mine.|(She shows you a black collar and a padlock.)",380,0,0,
|
||||
370,0,0,,Stop! This is|going too far.,Fine. But I won't protect you.,0,0,0,
|
||||
380,0,0,!Common_ActorIsLover,I'm your bitch.,"Damn right! (She fastens the collar and locks it.)|From now on, you can call me ""Mistress"".",390,0,-3,PlayerCollared()
|
||||
380,0,0,Common_ActorIsLover,I'm your bitch.,"Damn right! (She fastens the collar and locks it.)|From now on my love, you can call me ""Mistress"".",390,0,-3,PlayerCollared()
|
||||
380,0,0,,Stop! This is|going too far.,Fine. But I won't protect you.,0,0,0,
|
||||
390,0,0,,I'm so happy!,That's pretty fucking awesome.|I'll protect you but never betray me.,395,1,0,
|
||||
390,0,0,,I know I'm|in good hands.,"You are, and that's fucking awesome.|I'll protect you but never betray me.",395,1,0,
|
||||
390,0,0,,I don't feel|very good.,You'll get used to it. Now remember.|I'll protect you but never betray me.,395,-1,0,
|
||||
390,0,0,,(Stay silent and|look at her feet.),That's pretty fucking awesome.|I'll protect you but never betray me.,395,0,-1,
|
||||
390,0,0,,Is the collar supposed|to be that tight?,Don't complain or I'll punish you.|I'll protect you but never betray me.,395,0,1,
|
||||
395,0,0,,I will never|betray you Mistress.,Very good my sexy little bitch.|Now stand up and let's do something fun.,0,0,-1,PlayerStandUp()
|
||||
395,0,0,,Ok Sidney.,That's MISTRESS for you! (She slaps you.)|Now stand up and let's do something fun.,0,-1,0,PlayerStandUp()
|
||||
395,0,0,,Very good.,Now stand up and let's do something fun.,0,0,0,PlayerStandUp()
|
||||
|
|
|
|
@ -1 +1,12 @@
|
|||
Tag,Content
|
||||
GaggedAnswer1,Ummgh ngh!
|
||||
GaggedAnswer2,(She mumbles something in the gag.)
|
||||
GaggedAnswer3,Ooooomp ohm mohmm!
|
||||
GaggedAnswer4,(She stares at you.)
|
||||
GaggedAnswer5,Ngmh ggn ng!
|
||||
AlreadyOwned,You're already owned girl.|I will not fuck with that.
|
||||
UnrestrainFirst,Get me out of that shit first.
|
||||
UnchasteFirst,Get me out of that fucking belt first.
|
||||
PlayerUncollarFirst,Remove that fucking collar first.
|
||||
PlayerUnrestrainFirst,Get out of these restrains first.
|
||||
GetOnYourKnees,"Good, you'll be my bitch then.|So bitch, get on your knees."
|
||||
|
|
|
|
@ -45,7 +45,7 @@ function C999_Common_Collar_SelfCollar() {
|
|||
|
||||
// Chapter Common - Self Uncollar
|
||||
function C999_Common_Collar_SelfUncollar() {
|
||||
if (C999_Common_Collar_LockedOn) {
|
||||
if ((C999_Common_Collar_LockedOn) || (Common_PlayerOwner != "")) {
|
||||
OverridenIntroText = GetText("LockedCollar");
|
||||
C999_Common_Collar_CurrentStage = 10;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Tag,Content
|
||||
BadTiming,You fantasizes about being collared but realize that|it might not be the best time to collar yourself.
|
||||
LockedCollar,Then collar is fastened with a padlock.|You need the key to remove it.
|
||||
LockedCollar,Then collar is fastened with a padlock.|You will need the key to remove it.
|
||||
|
|
|
|
@ -76,7 +76,7 @@ function C999_Common_Player_Run() {
|
|||
DrawText(GetText("Title") + " " + C999_Common_Player_GetTitle(), 300, 130, "black");
|
||||
|
||||
// Shows the current lover and owner
|
||||
if (Common_PlayerOwner != "") DrawText(GetText("Lover") + " " + Common_PlayerLover, 300, 170, "black");
|
||||
if (Common_PlayerLover != "") DrawText(GetText("Lover") + " " + Common_PlayerLover, 300, 170, "black");
|
||||
else DrawText(GetText("Lover") + " " + GetText("NoLover"), 300, 170, "black");
|
||||
if (Common_PlayerOwner != "") DrawText(GetText("Owner") + " " + Common_PlayerOwner, 300, 210, "black");
|
||||
else DrawText(GetText("Owner") + " " + GetText("NoOwner"), 300, 210, "black");
|
||||
|
|
|
@ -63,6 +63,9 @@ var Common_PlayerNaked = false;
|
|||
var Common_PlayerCloth = "";
|
||||
var Common_PlayerCostume = "";
|
||||
var Common_PlayerPose = "";
|
||||
var Common_ActorIsLover = false;
|
||||
var Common_ActorIsOwner = false;
|
||||
var Common_ActorIsOwned = false;
|
||||
var Common_Number = "";
|
||||
|
||||
// Returns the current date and time in a yyyy-mm-dd hh:mm:ss format
|
||||
|
@ -202,7 +205,10 @@ function SetScene(Chapter, Screen) {
|
|||
LeaveIcon = "";
|
||||
LeaveScreen = "";
|
||||
LeaveChapter = Chapter;
|
||||
|
||||
Common_ActorIsLover = false;
|
||||
Common_ActorIsOwner = false;
|
||||
Common_ActorIsOwned = false;
|
||||
|
||||
// Load the screen code
|
||||
DynamicFunction(CurrentChapter + "_" + CurrentScreen + "_Load()");
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ function LoadState(SlotNumber) {
|
|||
CurrentScreen = localStorage.getItem("CurrentScreen" + SN);
|
||||
Common_PlayerName = localStorage.getItem("Common_PlayerName" + SN);
|
||||
Common_PlayerOwner = localStorage.getItem("Common_PlayerOwner" + SN);
|
||||
Common_PlayerOwner = localStorage.getItem("Common_PlayerLover" + SN);
|
||||
Common_PlayerLover = localStorage.getItem("Common_PlayerLover" + SN);
|
||||
PlayerInventory = JSON.parse(localStorage.getItem("PlayerInventory" + SN));
|
||||
PlayerLockedInventory = JSON.parse(localStorage.getItem("PlayerLockedInventory" + SN));
|
||||
Actor = JSON.parse(localStorage.getItem("Actor" + SN));
|
||||
|
|
Loading…
Add table
Reference in a new issue