New Cell Room & Club Slave Activities

New Cell Room & Club Slave Activities
This commit is contained in:
Ben987 2019-07-15 23:55:16 -04:00
parent b5737ab620
commit 56a6c1d2c8
21 changed files with 260 additions and 27 deletions

Binary file not shown.

After

(image error) Size: 9 KiB

Binary file not shown.

After

(image error) Size: 77 KiB

Binary file not shown.

After

(image error) Size: 65 KiB

BIN
BondageClub/Icons/Cell.png Normal file

Binary file not shown.

After

(image error) Size: 7.4 KiB

BIN
BondageClub/Icons/Minus.png Normal file

Binary file not shown.

After

(image error) Size: 1.1 KiB

BIN
BondageClub/Icons/Plus.png Normal file

Binary file not shown.

After

(image error) Size: 1.1 KiB

BIN
BondageClub/Icons/Start.png Normal file

Binary file not shown.

After

(image error) Size: 1.6 KiB

View file

@ -168,9 +168,15 @@ function LoginResponse(C) {
// Fixes a few items
InventoryRemove(Player, "ItemMisc");
if (LogQuery("JoinedSorority", "Maid") && !InventoryAvailable(Player, "MaidOutfit2", "Cloth")) InventoryAdd(Player, "MaidOutfit2", "Cloth");
if ((InventoryGet(Player, "ItemArms") != null) && (InventoryGet(Player, "ItemArms").Asset.Name == "FourLimbsShackles")) InventoryRemove(Player, "ItemArms");
LoginValidCollar();
// If the player must log back in the cell
if (LogQuery("Locked", "Cell")) {
CommonSetScreen("Room", "Cell");
} else {
// If the player must start in her room, in her cage
if (LogQuery("SleepCage", "Rule") && (Player.Owner != "") && PrivateOwnerInRoom()) {
InventoryRemove(Player, "ItemFeet");
@ -180,9 +186,8 @@ function LoginResponse(C) {
CommonSetScreen("Room", "Private");
} else CommonSetScreen("Room", "MainHall");
if(LogQuery("JoinedSorority", "Maid") && !InventoryAvailable(Player, "MaidOutfit2", "Cloth")){
InventoryAdd(Player, "MaidOutfit2", "Cloth");
}
} else LoginMessage = TextGet("ErrorLoadingCharacterData");
} else LoginMessage = TextGet(C);

View file

@ -40,6 +40,7 @@ PumpIt,,,Pump it
pumps,,,pumps
deflates,,,deflates
gag,,,gag
's,,,'s
Delete,,,Delete
ConfirmDelete,,,Confirm
Beep,,,Beep

1 SelectItem Select an item to use
40 pumps pumps
41 deflates deflates
42 gag gag
43 's 's
44 Delete Delete
45 ConfirmDelete Confirm
46 Beep Beep

View file

@ -55,6 +55,6 @@ function InventoryItemMouthPumpGagSetPump(Modifier) {
// Reloads the character
CharacterLoadEffect(C);
if (C.ID == 0) ServerPlayerAppearanceSync();
ChatRoomPublishCustomAction(Player.Name + " " + DialogFind(Player, ((Modifier > 0) ? "pumps" : "deflates")) + " " + C.Name + " " + DialogFind(Player, "gag") + ".", true);
ChatRoomPublishCustomAction(Player.Name + " " + DialogFind(Player, ((Modifier > 0) ? "pumps" : "deflates")) + " " + C.Name + DialogFind(Player, "'s") + " " + DialogFind(Player, "gag") + ".", true);
}

View file

@ -0,0 +1,44 @@
"use strict";
var CellBackground = "Cell";
var CellMinutes = 5;
var CellOpenTimer = 0;
// Loads the cell screen
function CellLoad() {
CellOpenTimer = LogValue("Locked", "Cell")
if (CellOpenTimer == null) CellOpenTimer = 0;
if (CellOpenTimer > CurrentTime + 3600000) {
LogDelete("Locked", "Cell");
CellOpenTimer = 0;
}
}
// Run the cell screen
function CellRun() {
DrawCharacter(Player, 750, 0, 1);
if (CellOpenTimer < CurrentTime) DrawButton(1885, 25, 90, 90, "", "White", "Icons/Exit.png", TextGet("Leave"));
DrawButton(1885, 145, 90, 90, "", "White", "Icons/Character.png", TextGet("Profile"));
if (CellOpenTimer < CurrentTime) DrawButton(1885, 265, 90, 90, "", "White", "Icons/Start.png", TextGet("Lock"));
if (CellOpenTimer < CurrentTime) DrawButton(1885, 385, 90, 90, "", "White", "Icons/Plus.png", TextGet("AddTime"));
if (CellOpenTimer < CurrentTime) DrawButton(1885, 505, 90, 90, "", "White", "Icons/Minus.png", TextGet("RemoveTime"));
if (CellOpenTimer < CurrentTime) DrawText(TextGet("Timer") + " " + CellMinutes.toString() + " " + TextGet("Minutes"), 1620, 920, "White", "Black");
else DrawText(TextGet("OpensIn") + " " + TimerToString(CellOpenTimer - CurrentTime), 1620, 920, "White", "Black");
}
// When the user clicks in the cell screen
function CellClick() {
if ((MouseX >= 750) && (MouseX < 1250) && (MouseY >= 0) && (MouseY < 1000)) CharacterSetCurrent(Player);
if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 145) && (MouseY < 235)) InformationSheetLoadCharacter(Player);
if (CellOpenTimer < CurrentTime) {
if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 25) && (MouseY < 115)) CommonSetScreen("Room", "MainHall");
if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 265) && (MouseY < 355)) CellLock(CellMinutes);
if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 385) && (MouseY < 475) && (CellMinutes < 60)) CellMinutes = CellMinutes + 5;
if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 505) && (MouseY < 595) && (CellMinutes > 5)) CellMinutes = CellMinutes - 5;
}
}
// When the player gets locked in the cell
function CellLock(LockTime) {
LogAdd("Locked", "Cell", CurrentTime + LockTime * 60000);
CommonSetScreen("Room", "Cell");
}

View file

@ -0,0 +1,8 @@
Timer,Lock timer:
Minutes,minutes
Leave,Leave the cell
Profile,Character profile
AddTime,Add 5 minutes
RemoveTime,Remove 5 minutes
Lock,Lock yourself
OpensIn,Opens in
1 Timer Lock timer:
2 Minutes minutes
3 Leave Leave the cell
4 Profile Character profile
5 AddTime Add 5 minutes
6 RemoveTime Remove 5 minutes
7 Lock Lock yourself
8 OpensIn Opens in

View file

@ -0,0 +1,38 @@
"use strict";
var EmptyBackground = "MainHall";
var EmptyCharacter = [];
// When used in struggle mode
function EmptyStruggleSuccess() { return (!Player.IsRestrained() && Player.CanTalk() && (CurrentTime < ManagementTimer)) }
function EmptyStruggleFail() { return (CurrentTime >= ManagementTimer) }
function EmptyStruggleProgress() { return ((Player.IsRestrained() || !Player.CanTalk()) && (CurrentTime < ManagementTimer)) }
// Loads the empty room screen
function EmptyLoad() {
}
// Run the empty room screen
function EmptyRun() {
for (var C = 0; C < EmptyCharacter.length; C++)
DrawCharacter(EmptyCharacter[C], 1000 - EmptyCharacter.length * 250 + C * 500, 0, 1);
}
// When the user clicks in the empty room screen
function EmptyClick() {
for (var C = 0; C < EmptyCharacter.length; C++)
if ((MouseX >= 1000 - EmptyCharacter.length * 250 + C * 500) && (MouseX < 1500 - EmptyCharacter.length * 250 + C * 500) && (MouseY >= 0) && (MouseY < 1000))
CharacterSetCurrent(EmptyCharacter[C]);
}
// Returns to the main hall
function EmptyManagementMainHall() {
DialogLeave();
CommonSetScreen("Room", "MainHall");
}
// Locks the player in a cell for 5 minutes
function EmptyManagementCell() {
DialogLeave();
CharacterFullRandomRestrain(Player, "ALL");
CellLock(5);
}

View file

@ -0,0 +1 @@

View file

@ -67,6 +67,9 @@ function MainHallRun() {
DrawButton(1765, 385, 90, 90, "", "White", "Icons/Dojo.png", TextGet("ShibariDojo"));
if (SarahRoomAvailable) DrawButton(1885, 385, 90, 90, "", "White", "Icons/Explore.png", TextGet(SarahRoomLabel()));
// Cell
DrawButton(1885, 505, 90, 90, "", "White", "Icons/Cell.png", TextGet("Cell"));
// Draws the custom content rooms - Gambling, Prison & Photographic
DrawButton(265, 25, 90, 90, "", "White", "Icons/Camera.png", TextGet("Photographic"));
DrawButton(145, 25, 90, 90, "", "White", "Icons/Cage.png", TextGet("Prison"));
@ -146,6 +149,9 @@ function MainHallClick() {
if ((MouseX >= 1765) && (MouseX < 1855) && (MouseY >= 385) && (MouseY < 475)) MainHallWalk("Shibari");
if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 385) && (MouseY < 475) && SarahRoomAvailable) MainHallWalk("Sarah");
// Cell
if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 505) && (MouseY < 595)) MainHallWalk("Cell");
// Custom content rooms - Gambling, Prison & Photographic
if ((MouseX >= 25) && (MouseX < 115) && (MouseY >= 25) && (MouseY < 115)) MainHallWalk("Gambling");
if ((MouseX >= 145) && (MouseX < 235) && (MouseY >= 25) && (MouseY < 115)) MainHallWalk("Prison");

View file

@ -13,6 +13,7 @@ ChatRooms,Online Chat Rooms
Shop,Club Shop
Profile,Your Profile
Appearance,Change Appearance
Cell,Timer Cell
Exit,Leave the Club
SarahBedroom,Sarah's Bedroom
Gambling,Gambling by git4nick

1 SyncWithServer Synchronizing with server, please wait...
13 Shop Club Shop
14 Profile Your Profile
15 Appearance Change Appearance
16 Cell Timer Cell
17 Exit Leave the Club
18 SarahBedroom Sarah's Bedroom
19 Gambling Gambling by git4nick

View file

@ -13,13 +13,13 @@ Intro5,,,"(A girl sneaks up behind you.) Your cute ass is mine, slave girl.",,
IntroRestrained5,,,"(A girl sneaks up behind you and checks your bondage.) Your cute ass is mine, restrained girl.",,
Intro6,,,(A club member jumps of joy seeing you.) Yes! A club slave just for me.,,
IntroRestrained6,,,(A club member jumps of joy seeing you.) Yes! A restrained slave just for me.,,
0,,I'm here to serve you Miss.,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
0,,How can I please you?,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
0,,Will you release me?,,ClubSlaveRandomActivityLaunch(),Player.IsRestrained()
0,,Do as you wish. I'm your slave.,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
0,,Please don't be too rough.,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
0,,(Try to struggle out.),,ClubSlaveRandomActivityLaunch(),Player.IsRestrained()
0,,(Let her play with you.),,ClubSlaveRandomActivityLaunch(),
ActivityIntro,,I'm here to serve you Miss.,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
ActivityIntro,,How can I please you?,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
ActivityIntro,,Will you release me?,,ClubSlaveRandomActivityLaunch(),Player.IsRestrained()
ActivityIntro,,Do as you wish. I'm your slave.,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
ActivityIntro,,Please don't be too rough.,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
ActivityIntro,,(Try to struggle out.),,ClubSlaveRandomActivityLaunch(),Player.IsRestrained()
ActivityIntro,,(Let her play with you.),,ClubSlaveRandomActivityLaunch(),
ActivityAddArmsIntro,,,(She restrains your arms and smiles.) An unrestrained club slave? That wasn't proper.,,
ActivityAddArms,,This is tight.,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
ActivityAddArms,,I agree Miss.,,ClubSlaveRandomActivityLaunch(),Player.CanTalk()
@ -103,3 +103,71 @@ ActivityEnd,ActivityEnd2,Would you like to visit my room?,"Not now, I need to go
ActivityEnd,,(Leave her.),,ClubSlaveRandomActivityEnd(0),
ActivityEnd2,,(Leave her.),,ClubSlaveRandomActivityEnd(0),
ActivityEnd3,,Follow me! (Bring her to your room.),,ClubSlaveTransferToRoom(),
StruggleIntro,StrugglePlan,I'm here to serve you Miss.,"Good. I hope you like to be tied up girl, cause I have a devious plan for you.",,Player.CanTalk()
StruggleIntro,StrugglePlan,How can I please you?,"(She ponders.) I hope you like to be tied up girl, cause I have a devious plan for you.",,Player.CanTalk()
StruggleIntro,StrugglePlan,Will you release me?,"(She laughs.) Absolutely not. I hope you like to be tied up girl, cause I have a devious plan for you.",,Player.IsRestrained()
StruggleIntro,StrugglePlan,Do as you wish. I'm your slave.,"Good. I hope you like to be tied up girl, cause I have a devious plan for you.",,Player.CanTalk()
StruggleIntro,StrugglePlan,Please don't be too rough.,"(She laughs.) I hope you like to be tied up girl, cause I have a devious plan for you.",,Player.CanTalk()
StruggleIntro,StrugglePlan,(Try to struggle out.),"(She smiles.) I hope you like to be tied up girl, cause I have a devious plan for you.",,Player.IsRestrained()
StruggleIntro,StrugglePlan,(Let her play with you.),"I hope you like to be tied up girl, cause I have a devious plan for you.",,
StrugglePlan,StruggleConsequence,What plan Miss?,I will restrain you and give you one minute to struggle out.,,Player.CanTalk()
StrugglePlan,StruggleConsequence,Something devious? Nice.,"Yes, I will restrain you and give you one minute to struggle out.",,Player.CanTalk()
StrugglePlan,StruggleConsequence,(Look worried.),(She smirks.) I will restrain you and give you one minute to struggle out.,,
StrugglePlan,StruggleConsequence,(Stay silent.),I will restrain you and give you one minute to struggle out.,,
StruggleConsequence,StruggleRestrain,What if I fail?,"If you fail, I will leave you locked alone in a cell for five minutes. So you'll get plenty of time to get better at struggling.",,Player.CanTalk()
StruggleConsequence,StruggleRestrain,(Nod slowly.),"If you fail, I will leave you locked alone in a cell for five minutes. So you'll get plenty of time to get better at struggling.",,
StruggleRestrain,StruggleReady,I understand.,(She straps you up pretty tight.) You only have one minute to get free. Are you ready girl?,ActivityStruggleRestrain(),Player.CanTalk()
StruggleRestrain,StruggleReady,This is kinky!,(She straps you up pretty tight and smiles.) You only have one minute to get free. Are you ready girl?,ActivityStruggleRestrain(),Player.CanTalk()
StruggleRestrain,StruggleReady,(Grumble a little.),(She frowns and straps you up pretty tight.) You only have one minute to get free. Are you ready girl?,ActivityStruggleRestrain(),
StruggleRestrain,StruggleReady,(Nod politely.),(She straps you up pretty tight.) You only have one minute to get free. Are you ready girl?,ActivityStruggleRestrain(),
StruggleReady,StruggleProgress,(Nod happily and start struggling.),,ActivityStruggleStart(),
StruggleReady,StruggleProgress,(Nod reluctanly and start struggling.),,ActivityStruggleStart(),
StruggleProgress,,,Did you made it? Are you fully free?,,StruggleSuccess()
StruggleProgress,,,You've failed girl. The time is up.,,StruggleFail()
StruggleProgress,,,Don't look at me. Struggle girl!,,StruggleProgress()
StruggleProgress,StruggleSuccess,I've did it!,"Well done slave girl, you're free to go.",,StruggleSuccess()
StruggleProgress,StruggleSuccess,"Miss, it was an honor to complete your challenge.","Well done slave girl, you're free to go.","DialogChangeReputation(""Dominant"", -3)",StruggleSuccess()
StruggleProgress,StruggleSuccess,(Do a victory dance.),"Well done slave girl, you're free to go.","DialogChangeReputation(""Dominant"", 3)",StruggleSuccess()
StruggleProgress,StruggleFail,I've failed Miss. Sorry.,"Don't be sorry, you'll have plenty of time to practice struggling in one of the club cells.",,StruggleFail()
StruggleProgress,StruggleFail,(Bow your head in shame.),"Don't be sorry, you'll have plenty of time to practice struggling in one of the club cells.",,StruggleFail()
StruggleProgress,,Is there still time?,Yes! Now stop talking and struggle.,,StruggleProgress()
StruggleProgress,,Am I doing good?,Stop talking and struggle!,,StruggleProgress()
StruggleProgress,,(Beg for help.),"I'm not helping you, struggle girl!",,StruggleProgress()
StruggleProgress,,(Leave her to struggle.),,DialogLeave(),StruggleProgress()
StruggleSuccess,,Thanks Miss! (Leave her.),,MainHall(),
StruggleSuccess,,(Bow your head and leave.),,MainHall(),
StruggleFail,StruggleCell,Very well.,"Come with me girl, you'll spend five minutes all bundled up in a little cell.",,Player.CanTalk()
StruggleFail,StruggleCell,You can't lock me up!,"Don't complain and come with me girl, you'll spend five minutes all bundled up in a little cell.","DialogChangeReputation(""Dominant"", 2)",Player.CanTalk()
StruggleFail,StruggleCell,Please Miss! I've tried my best.,"Don't beg and come with me girl, you'll spend five minutes all bundled up in a little cell.","DialogChangeReputation(""Dominant"", -3)",Player.CanTalk()
StruggleFail,StruggleCell,(Shake your head no and grumble.),"Don't complain and come with me girl, you'll spend five minutes all bundled up in a little cell.","DialogChangeReputation(""Dominant"", 2)",!Player.CanTalk()
StruggleFail,StruggleCell,(Cry and beg for mercy.),"Don't beg and come with me girl, you'll spend five minutes all bundled up in a little cell.","DialogChangeReputation(""Dominant"", -3)",!Player.CanTalk()
StruggleFail,StruggleCell,(Bow your head.),"Come with me girl, you'll spend five minutes all bundled up in a little cell.",,!Player.CanTalk()
StruggleCell,,(Let her put you in a cell.),,Cell(),
QuizIntro,QuizExplain,I'm here to serve you Miss.,Good. Are you ready for a quiz question slave girl?,,Player.CanTalk()
QuizIntro,QuizExplain,How can I please you?,(She ponders.) Are you ready for a quiz question slave girl?,,Player.CanTalk()
QuizIntro,QuizExplain,Will you release me?,(She laughs.) Absolutely not. Are you ready for a quiz question slave girl?,,Player.IsRestrained()
QuizIntro,QuizExplain,Do as you wish. I'm your slave.,Good. Are you ready for a quiz question slave girl?,,Player.CanTalk()
QuizIntro,QuizExplain,Please don't be too rough.,(She laughs.) Are you ready for a quiz question slave girl?,,Player.CanTalk()
QuizIntro,QuizExplain,(Try to struggle out.),(She smiles.) You're cute when you struggle. Are you ready for a quiz question slave girl?,,Player.IsRestrained()
QuizIntro,QuizExplain,(Let her play with you.),Are you ready for a quiz question slave girl?,,
QuizExplain,,(Mumble in the gag.),(She laughs and removes your gag.) It will be easier like that. Ready for a quiz question?,RemoveGag(),!Player.CanTalk()
QuizExplain,,What if I give the correct answer?,You won't be punished and you will be free to go.,DialogRemove(),Player.CanTalk()
QuizExplain,,What if I give the wrong answer?,(She smirks.) I will strap you up tight and lock you up in a cell for a few minutes.,DialogRemove(),Player.CanTalk()
QuizExplain,,Why are you doing a quiz?,Club slaves must know and understand BDSM rules and safety. I will make sure you do.,DialogRemove(),Player.CanTalk()
QuizExplain,,I'm ready Miss!,,StartQuiz(),Player.CanTalk()
QuizExplain,,Go ahead with the quiz.,,StartQuiz(),Player.CanTalk()
QuizQuestion0,,,"In the ""BDSM"" acronym, what does the ""DS"" stands for?",,
QuizAnswer0,QuizFail,Domination and Sadism.,"Close but not perfect. The correct answer is: ""Dominance and Submission"".",,
QuizAnswer0,QuizSuccess,Dominance and Submission.,Very good little slave.,,
QuizAnswer0,QuizFail,Dommes and Switches.,"Absolutely not. The correct answer is: ""Dominance and Submission"".",,
QuizAnswer0,QuizFail,I don't know.,"This is disappointing. The correct answer is: ""Dominance and Submission"".",,
QuizSuccess,QuizSuccessEnd,Thanks a lot!,"(She smiles and nods.) I must go now, enjoy the club little slave.",,
QuizSuccess,QuizSuccessEnd,I've studied very hard Miss.,"(She pets your head.) Good girl! I must go now, enjoy the club little slave.","DialogChangeReputation(""Dominant"", -3)",
QuizSuccess,QuizSuccessEnd,That was too easy.,"(She frowns.) Maybe it was a little easy. Oh well, I must go now, enjoy the club slave girl.","DialogChangeReputation(""Dominant"", 2)",
QuizSuccessEnd,,(Leave her.),,MainHall(),
QuizFail,QuizFailEnd,Damn it! I knew it!,"Next time you will know it. But for now, you'll spend some time strapped up in a cell.","DialogChangeReputation(""Dominant"", 2)",
QuizFail,QuizFailEnd,That question was very hard Miss. (Blush.),"Next time you will know it. But for now, you'll spend some time strapped up in a cell.","DialogChangeReputation(""Dominant"", -3)",
QuizFail,QuizFailEnd,I didn't knew that.,"Next time you will know it. But for now, you'll spend some time strapped up in a cell.",,
QuizFailEnd,,Do I really have to?,Don't complain girl. You're going to a cell for five minutes for your lack of knowledge.,DialogRemove(),
QuizFailEnd,,Very well. (Let her put you in a cell.),,Cell(),
QuizFailEnd,,(Stay silent and let her put you in a cell.),,Cell(),

1 PlayerGagged Club slaves are so much better when they are gagged.
13 IntroRestrained5 (A girl sneaks up behind you and checks your bondage.) Your cute ass is mine, restrained girl.
14 Intro6 (A club member jumps of joy seeing you.) Yes! A club slave just for me.
15 IntroRestrained6 (A club member jumps of joy seeing you.) Yes! A restrained slave just for me.
16 0 ActivityIntro I'm here to serve you Miss. ClubSlaveRandomActivityLaunch() Player.CanTalk()
17 0 ActivityIntro How can I please you? ClubSlaveRandomActivityLaunch() Player.CanTalk()
18 0 ActivityIntro Will you release me? ClubSlaveRandomActivityLaunch() Player.IsRestrained()
19 0 ActivityIntro Do as you wish. I'm your slave. ClubSlaveRandomActivityLaunch() Player.CanTalk()
20 0 ActivityIntro Please don't be too rough. ClubSlaveRandomActivityLaunch() Player.CanTalk()
21 0 ActivityIntro (Try to struggle out.) ClubSlaveRandomActivityLaunch() Player.IsRestrained()
22 0 ActivityIntro (Let her play with you.) ClubSlaveRandomActivityLaunch()
23 ActivityAddArmsIntro (She restrains your arms and smiles.) An unrestrained club slave? That wasn't proper.
24 ActivityAddArms This is tight. ClubSlaveRandomActivityLaunch() Player.CanTalk()
25 ActivityAddArms I agree Miss. ClubSlaveRandomActivityLaunch() Player.CanTalk()
103 ActivityEnd (Leave her.) ClubSlaveRandomActivityEnd(0)
104 ActivityEnd2 (Leave her.) ClubSlaveRandomActivityEnd(0)
105 ActivityEnd3 Follow me! (Bring her to your room.) ClubSlaveTransferToRoom()
106 StruggleIntro StrugglePlan I'm here to serve you Miss. Good. I hope you like to be tied up girl, cause I have a devious plan for you. Player.CanTalk()
107 StruggleIntro StrugglePlan How can I please you? (She ponders.) I hope you like to be tied up girl, cause I have a devious plan for you. Player.CanTalk()
108 StruggleIntro StrugglePlan Will you release me? (She laughs.) Absolutely not. I hope you like to be tied up girl, cause I have a devious plan for you. Player.IsRestrained()
109 StruggleIntro StrugglePlan Do as you wish. I'm your slave. Good. I hope you like to be tied up girl, cause I have a devious plan for you. Player.CanTalk()
110 StruggleIntro StrugglePlan Please don't be too rough. (She laughs.) I hope you like to be tied up girl, cause I have a devious plan for you. Player.CanTalk()
111 StruggleIntro StrugglePlan (Try to struggle out.) (She smiles.) I hope you like to be tied up girl, cause I have a devious plan for you. Player.IsRestrained()
112 StruggleIntro StrugglePlan (Let her play with you.) I hope you like to be tied up girl, cause I have a devious plan for you.
113 StrugglePlan StruggleConsequence What plan Miss? I will restrain you and give you one minute to struggle out. Player.CanTalk()
114 StrugglePlan StruggleConsequence Something devious? Nice. Yes, I will restrain you and give you one minute to struggle out. Player.CanTalk()
115 StrugglePlan StruggleConsequence (Look worried.) (She smirks.) I will restrain you and give you one minute to struggle out.
116 StrugglePlan StruggleConsequence (Stay silent.) I will restrain you and give you one minute to struggle out.
117 StruggleConsequence StruggleRestrain What if I fail? If you fail, I will leave you locked alone in a cell for five minutes. So you'll get plenty of time to get better at struggling. Player.CanTalk()
118 StruggleConsequence StruggleRestrain (Nod slowly.) If you fail, I will leave you locked alone in a cell for five minutes. So you'll get plenty of time to get better at struggling.
119 StruggleRestrain StruggleReady I understand. (She straps you up pretty tight.) You only have one minute to get free. Are you ready girl? ActivityStruggleRestrain() Player.CanTalk()
120 StruggleRestrain StruggleReady This is kinky! (She straps you up pretty tight and smiles.) You only have one minute to get free. Are you ready girl? ActivityStruggleRestrain() Player.CanTalk()
121 StruggleRestrain StruggleReady (Grumble a little.) (She frowns and straps you up pretty tight.) You only have one minute to get free. Are you ready girl? ActivityStruggleRestrain()
122 StruggleRestrain StruggleReady (Nod politely.) (She straps you up pretty tight.) You only have one minute to get free. Are you ready girl? ActivityStruggleRestrain()
123 StruggleReady StruggleProgress (Nod happily and start struggling.) ActivityStruggleStart()
124 StruggleReady StruggleProgress (Nod reluctanly and start struggling.) ActivityStruggleStart()
125 StruggleProgress Did you made it? Are you fully free? StruggleSuccess()
126 StruggleProgress You've failed girl. The time is up. StruggleFail()
127 StruggleProgress Don't look at me. Struggle girl! StruggleProgress()
128 StruggleProgress StruggleSuccess I've did it! Well done slave girl, you're free to go. StruggleSuccess()
129 StruggleProgress StruggleSuccess Miss, it was an honor to complete your challenge. Well done slave girl, you're free to go. DialogChangeReputation("Dominant", -3) StruggleSuccess()
130 StruggleProgress StruggleSuccess (Do a victory dance.) Well done slave girl, you're free to go. DialogChangeReputation("Dominant", 3) StruggleSuccess()
131 StruggleProgress StruggleFail I've failed Miss. Sorry. Don't be sorry, you'll have plenty of time to practice struggling in one of the club cells. StruggleFail()
132 StruggleProgress StruggleFail (Bow your head in shame.) Don't be sorry, you'll have plenty of time to practice struggling in one of the club cells. StruggleFail()
133 StruggleProgress Is there still time? Yes! Now stop talking and struggle. StruggleProgress()
134 StruggleProgress Am I doing good? Stop talking and struggle! StruggleProgress()
135 StruggleProgress (Beg for help.) I'm not helping you, struggle girl! StruggleProgress()
136 StruggleProgress (Leave her to struggle.) DialogLeave() StruggleProgress()
137 StruggleSuccess Thanks Miss! (Leave her.) MainHall()
138 StruggleSuccess (Bow your head and leave.) MainHall()
139 StruggleFail StruggleCell Very well. Come with me girl, you'll spend five minutes all bundled up in a little cell. Player.CanTalk()
140 StruggleFail StruggleCell You can't lock me up! Don't complain and come with me girl, you'll spend five minutes all bundled up in a little cell. DialogChangeReputation("Dominant", 2) Player.CanTalk()
141 StruggleFail StruggleCell Please Miss! I've tried my best. Don't beg and come with me girl, you'll spend five minutes all bundled up in a little cell. DialogChangeReputation("Dominant", -3) Player.CanTalk()
142 StruggleFail StruggleCell (Shake your head no and grumble.) Don't complain and come with me girl, you'll spend five minutes all bundled up in a little cell. DialogChangeReputation("Dominant", 2) !Player.CanTalk()
143 StruggleFail StruggleCell (Cry and beg for mercy.) Don't beg and come with me girl, you'll spend five minutes all bundled up in a little cell. DialogChangeReputation("Dominant", -3) !Player.CanTalk()
144 StruggleFail StruggleCell (Bow your head.) Come with me girl, you'll spend five minutes all bundled up in a little cell. !Player.CanTalk()
145 StruggleCell (Let her put you in a cell.) Cell()
146 QuizIntro QuizExplain I'm here to serve you Miss. Good. Are you ready for a quiz question slave girl? Player.CanTalk()
147 QuizIntro QuizExplain How can I please you? (She ponders.) Are you ready for a quiz question slave girl? Player.CanTalk()
148 QuizIntro QuizExplain Will you release me? (She laughs.) Absolutely not. Are you ready for a quiz question slave girl? Player.IsRestrained()
149 QuizIntro QuizExplain Do as you wish. I'm your slave. Good. Are you ready for a quiz question slave girl? Player.CanTalk()
150 QuizIntro QuizExplain Please don't be too rough. (She laughs.) Are you ready for a quiz question slave girl? Player.CanTalk()
151 QuizIntro QuizExplain (Try to struggle out.) (She smiles.) You're cute when you struggle. Are you ready for a quiz question slave girl? Player.IsRestrained()
152 QuizIntro QuizExplain (Let her play with you.) Are you ready for a quiz question slave girl?
153 QuizExplain (Mumble in the gag.) (She laughs and removes your gag.) It will be easier like that. Ready for a quiz question? RemoveGag() !Player.CanTalk()
154 QuizExplain What if I give the correct answer? You won't be punished and you will be free to go. DialogRemove() Player.CanTalk()
155 QuizExplain What if I give the wrong answer? (She smirks.) I will strap you up tight and lock you up in a cell for a few minutes. DialogRemove() Player.CanTalk()
156 QuizExplain Why are you doing a quiz? Club slaves must know and understand BDSM rules and safety. I will make sure you do. DialogRemove() Player.CanTalk()
157 QuizExplain I'm ready Miss! StartQuiz() Player.CanTalk()
158 QuizExplain Go ahead with the quiz. StartQuiz() Player.CanTalk()
159 QuizQuestion0 In the "BDSM" acronym, what does the "DS" stands for?
160 QuizAnswer0 QuizFail Domination and Sadism. Close but not perfect. The correct answer is: "Dominance and Submission".
161 QuizAnswer0 QuizSuccess Dominance and Submission. Very good little slave.
162 QuizAnswer0 QuizFail Dommes and Switches. Absolutely not. The correct answer is: "Dominance and Submission".
163 QuizAnswer0 QuizFail I don't know. This is disappointing. The correct answer is: "Dominance and Submission".
164 QuizSuccess QuizSuccessEnd Thanks a lot! (She smiles and nods.) I must go now, enjoy the club little slave.
165 QuizSuccess QuizSuccessEnd I've studied very hard Miss. (She pets your head.) Good girl! I must go now, enjoy the club little slave. DialogChangeReputation("Dominant", -3)
166 QuizSuccess QuizSuccessEnd That was too easy. (She frowns.) Maybe it was a little easy. Oh well, I must go now, enjoy the club slave girl. DialogChangeReputation("Dominant", 2)
167 QuizSuccessEnd (Leave her.) MainHall()
168 QuizFail QuizFailEnd Damn it! I knew it! Next time you will know it. But for now, you'll spend some time strapped up in a cell. DialogChangeReputation("Dominant", 2)
169 QuizFail QuizFailEnd That question was very hard Miss. (Blush.) Next time you will know it. But for now, you'll spend some time strapped up in a cell. DialogChangeReputation("Dominant", -3)
170 QuizFail QuizFailEnd I didn't knew that. Next time you will know it. But for now, you'll spend some time strapped up in a cell.
171 QuizFailEnd Do I really have to? Don't complain girl. You're going to a cell for five minutes for your lack of knowledge. DialogRemove()
172 QuizFailEnd Very well. (Let her put you in a cell.) Cell()
173 QuizFailEnd (Stay silent and let her put you in a cell.) Cell()

View file

@ -13,7 +13,10 @@ var ManagementRandomGirlArchetype = "";
var ManagementRandomActivityCount = 0;
var ManagementRandomActivity = "";
var ManagementRandomActivityList = ["AddArms", "RemoveArms", "AddGag", "RemoveGag", "AddTorso", "RemoveTorso", "AddFeet", "RemoveFeet", "AddLegs", "RemoveLegs", "Tickle", "Spank", "Kiss", "Fondle", "Masturbate"];
var ManagementRandomActivityCategory = "";
var ManagementRandomActivityCategoryList = ["Activity", "Quiz", "Struggle"];
var ManagementVisitRoom = false;
var ManagementTimer = 0;
// Returns TRUE if the dialog situation is allowed
function ManagementNoTitle() { return (!LogQuery("JoinedSorority", "Maid") && !LogQuery("ClubMistress", "Management") && (ReputationGet("Kidnap") < 50) && !SarahUnlockQuest) }
@ -54,7 +57,7 @@ function ManagementMistressCanBePaid() { return (LogQuery("ClubMistress", "Manag
function ManagementMistressCannotBePaid() { return (LogQuery("ClubMistress", "Management") && LogQuery("MistressWasPaid", "Management")) }
function ManagementCanBeClubSlave() { return (!InventoryCharacterHasOwnerOnlyItem(Player) && DialogReputationLess("Dominant", -50)) }
function ManagementCannotBeClubSlaveDominant() { return (!InventoryCharacterHasOwnerOnlyItem(Player) && DialogReputationGreater("Dominant", -49)) }
function ManagementCannotBeClubSlaveOwnerLock() { return InventoryCharacterHasOwnerOnlyItem(Player); }
function ManagementCannotBeClubSlaveOwnerLock() { return InventoryCharacterHasOwnerOnlyItem(Player) }
// Returns TRUE if there's no other Mistress in the player private room
function ManagementNoMistressInPrivateRoom() {
@ -258,10 +261,13 @@ function ManagementClubSlaveRandomIntro() {
CharacterDelete("NPC_Management_RandomGirl");
ManagementRandomGirl = CharacterLoadNPC("NPC_Management_RandomGirl");
CharacterSetCurrent(ManagementRandomGirl);
ManagementRandomGirl.Stage = "0";
ManagementRandomGirl.AllowItem = false;
ManagementRandomActivityCount = 0;
// Picks a random category of activities from the list
ManagementRandomActivityCategory = CommonRandomItemFromList(ManagementRandomActivityCategory, ManagementRandomActivityCategoryList);
ManagementRandomGirl.Stage = ManagementRandomActivityCategory + "Intro";
// 1 out of 7 girls will be a maid
var Intro = (Math.floor(Math.random() * 7)).toString();
if (Intro == "0") {
@ -380,3 +386,44 @@ function ManagementFreeSarah() {
ReputationProgress("Dominant", 4);
SarahUnlock();
}
// Fully restrains the player for the struggle activity
function ManagementActivityStruggleRestrain() {
CharacterFullRandomRestrain(Player, "ALL");
}
// Starts the struggle game
function ManagementActivityStruggleStart() {
ManagementTimer = CurrentTime + 60000;
DialogLeave();
EmptyCharacter = [];
EmptyCharacter.push(Player);
EmptyCharacter.push(ManagementRandomGirl);
CommonSetScreen("Room", "Empty");
}
// Starts the quiz game
function ManagementStartQuiz() {
var Q = (0).toString();
CurrentCharacter.Stage = "QuizAnswer" + Q;
CurrentCharacter.CurrentDialog = DialogFind(CurrentCharacter, "QuizQuestion" + Q);
}
// Locks the player in a cell for 5 minutes
function ManagementRemoveGag() {
InventoryRemove(Player, "ItemMouth");
InventoryRemove(Player, "ItemHead");
}
// Locks the player in a cell for 5 minutes
function ManagementCell() {
DialogLeave();
CharacterFullRandomRestrain(Player, "ALL");
CellLock(5);
}
// Returns to the main hall
function ManagementMainHall() {
DialogLeave();
CommonSetScreen("Room", "MainHall");
}

View file

@ -13,8 +13,8 @@ var PrivateActivityAffectLove = true;
var PrivateActivityList = ["Gag", "Ungag", "Restrain", "RestrainOther", "FullRestrain", "FullRestrainOther", "Release", "Tickle", "Spank", "Pet", "Slap", "Kiss", "Fondle", "Naked", "Underwear", "RandomClothes", "Shibari", "Gift", "PetGirl", "Locks"];
var PrivateActivityTarget = null;
var PrivatePunishment = "";
//var PrivatePunishmentList = ["Cage", "Bound", "BoundPet", "ChastityBelt", "ChastityBra", "ForceNaked", "ConfiscateKey", "ConfiscateCrop", "ConfiscateWhip", "SleepCage", "LockOut"];
var PrivatePunishmentList = ["LockOut"];
//var PrivatePunishmentList = ["Cage", "Bound", "BoundPet", "ChastityBelt", "ChastityBra", "ForceNaked", "ConfiscateKey", "ConfiscateCrop", "ConfiscateWhip", "SleepCage", "LockOut", "Cell"];
var PrivatePunishmentList = ["Cell"];
var PrivateCharacterNewClothes = null;
// Returns TRUE if a specific dialog option is allowed
@ -610,6 +610,7 @@ function PrivateSelectPunishment() {
if ((PrivatePunishment == "ConfiscateWhip") && (InventoryAvailable(Player, "LeatherWhip", "ItemPelvis") || InventoryAvailable(Player, "LeatherWhip", "ItemBreast"))) break;
if ((PrivatePunishment == "SleepCage") && LogQuery("Cage", "PrivateRoom") && !LogQuery("SleepCage", "Rule")) break;
if ((PrivatePunishment == "LockOut") && (NPCTraitGet(CurrentCharacter, "Serious") >= 0)) break;
if (PrivatePunishment == "Cell") break;
}
@ -636,6 +637,7 @@ function PrivateRunPunishment(LoveFactor) {
if (PrivatePunishment == "ConfiscateWhip") { InventoryDelete(Player, "LeatherWhip", "ItemPelvis"); InventoryDelete(Player, "LeatherWhip", "ItemBreast"); }
if (PrivatePunishment == "SleepCage") LogAdd("SleepCage", "Rule", CurrentTime + 604800000);
if (PrivatePunishment == "LockOut") { LogAdd("LockOutOfPrivateRoom", "Rule", CurrentTime + 3600000); DialogLeave(); CommonSetScreen("Room", "MainHall"); }
if (PrivatePunishment == "Cell") { DialogLeave(); CharacterFullRandomRestrain(Player, "ALL"); CellLock(5); }
}
// Sets up the player collaring ceremony cutscene

View file

@ -57,6 +57,14 @@ function LogQuery(QueryLogName, QueryLogGroup) {
return false;
}
// Returns the value associated to the log
function LogValue(QueryLogName, QueryLogGroup) {
for (var L = 0; L < Log.length; L++)
if ((Log[L].Name == QueryLogName) && (Log[L].Group == QueryLogGroup))
return Log[L].Value;
return null;
}
// Loads the account log
function LogLoad(NewLog) {

View file

@ -49,6 +49,8 @@
<script src="Screens/Room/Introduction/Introduction.js"></script>
<script src="Screens/Room/MaidQuarters/MaidQuarters.js"></script>
<script src="Screens/Room/Shibari/Shibari.js"></script>
<script src="Screens/Room/Cell/Cell.js"></script>
<script src="Screens/Room/Empty/Empty.js"></script>
<script src="Screens/Room/KidnapLeague/KidnapLeague.js"></script>
<script src="Screens/Room/Private/Private.js"></script>
<script src="Screens/Room/Management/Management.js"></script>
@ -96,6 +98,7 @@
OK - Allow to go on a shopping trip with a friend + sub (50$)
OK - Owner locks on NPCs disappear on relog
OK - New cell for self bondage and other ways to be locked in
OK - Allow Dommes to use online sub restrains
OK - New back/forth buttons in changing appearance screen
@ -107,8 +110,9 @@
New random encounters for club slaves:
OK - Maids that strips you if you're not naked in main hall.
- Dommes that use locks with timers and run.
- Dommes that asks riddles, if the player fails, she gets put in chastity.
OK - Mew activity: QUIZ
OK - New activity: Struggle out in 1 minute
- More quiz questions!
Owner in private room:
OK - Owner can pet player in bitch suit