mirror of
https://gitgud.io/BondageProjects/Bondage-College.git
synced 2025-04-25 17:59:34 +00:00
Full Club Mistress Scripts + Chastity Keys
Full Club Mistress Scripts + Chastity Keys
This commit is contained in:
parent
03484701cd
commit
ab34cc1b9d
19 changed files with 122 additions and 43 deletions
BondageClub
Assets/Female3DCG
Screens
Character
Cutscene/PlayerMistress
Room
Scripts
index.html
|
@ -320,6 +320,7 @@ var AssetFemale3DCG = [
|
|||
Zone: [[150, 420, 200, 80]],
|
||||
Asset: [
|
||||
{ Name: "MetalChastityBelt", Effect: ["Chaste", "Lock"], Block: ["ItemVulva", "ItemButt"], Value: 100, Prerequisite: "AccessVulva", Time: 20, RemoveTime: 10 },
|
||||
{ Name: "MetalChastityBeltKey", Wear: false, Value: -1, Effect: ["Unlock-MetalChastityBelt"], Time: 5 },
|
||||
{ Name: "LeatherCrop", Value: 40, Wear: false, BuyGroup: "LeatherCrop", Bonus: [{Type: "KidnapDomination", Factor: 3}] },
|
||||
{ Name: "LeatherWhip", Value: 60, Wear: false, BuyGroup: "LeatherWhip", Bonus: [{Type: "KidnapBruteForce", Factor: 3}] }
|
||||
]
|
||||
|
@ -358,6 +359,7 @@ var AssetFemale3DCG = [
|
|||
{ Name: "RoundPiercing", Value: 20, Prerequisite: "AccessBreast", Time: 15 },
|
||||
{ Name: "NippleClamp", Value: 35, Prerequisite: "AccessBreast", Time: 10 },
|
||||
{ Name: "MetalChastityBra", Value: 75, Effect: ["Lock", "BreastChaste"], Prerequisite: "AccessBreast", Time: 15 },
|
||||
{ Name: "MetalChastityBraKey", Wear: false, Value: -1, Effect: ["Unlock-MetalChastityBra"], Time: 5 },
|
||||
{ Name: "LeatherCrop", Value: 40, Wear: false, BuyGroup: "LeatherCrop", Bonus: [{Type: "KidnapDomination", Factor: 3}] },
|
||||
{ Name: "LeatherWhip", Value: 60, Wear: false, BuyGroup: "LeatherWhip", Bonus: [{Type: "KidnapBruteForce", Factor: 3}] }
|
||||
]
|
||||
|
|
|
@ -23,7 +23,7 @@ Cloth,TShirt1,T-Shirt
|
|||
Cloth,TennisShirt1,Tennis
|
||||
Cloth,Sweater1,Sweater
|
||||
Cloth,MistressTop1,Mistress Top
|
||||
ClothLower,,Lower Cloth
|
||||
ClothLower,,Bottom
|
||||
ClothLower,Skirt1,Skirt
|
||||
ClothLower,TennisSkirt1,Tennis
|
||||
ClothLower,Jeans1,Jeans
|
||||
|
@ -146,6 +146,7 @@ ItemButt,TailButtPlug,Kitty Butt Plug
|
|||
ItemButt,HorseButtPlug,Horse Butt Plug
|
||||
ItemPelvis,,Pelvis
|
||||
ItemPelvis,MetalChastityBelt,Metal Chastity Belt
|
||||
ItemPelvis,MetalChastityBeltKey,Metal Chastity Belt Key
|
||||
ItemPelvis,LeatherCrop,Leather Crop
|
||||
ItemPelvis,LeatherWhip,Leather Whip
|
||||
ItemTorso,,Torso
|
||||
|
@ -157,6 +158,7 @@ ItemBreast,StraightPiercing,Straight Piercings
|
|||
ItemBreast,RoundPiercing,Round Piercings
|
||||
ItemBreast,NippleClamp,Nipple Clamps
|
||||
ItemBreast,MetalChastityBra,Metal Chastity Bra
|
||||
ItemBreast,MetalChastityBraKey,Metal Chastity Bra Key
|
||||
ItemBreast,LeatherCrop,Leather Crop
|
||||
ItemBreast,LeatherWhip,Leather Whip
|
||||
ItemArms,,Arms
|
||||
|
|
|
Binary file not shown.
After ![]() (image error) Size: 26 KiB |
Binary file not shown.
After ![]() (image error) Size: 26 KiB |
|
@ -6,18 +6,19 @@ var InformationSheetPreviousScreen = "";
|
|||
|
||||
// Gets the best title for the player and returns it
|
||||
function InformationSheetGetTitle() {
|
||||
if (SkillGetLevel(Player, "Dressage") > 9) return TextGet("TitlePonyPegasus")
|
||||
else if (SkillGetLevel(Player, "Dressage") >= 8) return TextGet("TitlePonyUnicorn")
|
||||
else if (SkillGetLevel(Player, "Dressage") >= 6) return TextGet("TitlePonyWild")
|
||||
else if (SkillGetLevel(Player, "Dressage") >= 5) return TextGet("TitlePonyHot")
|
||||
else if (SkillGetLevel(Player, "Dressage") >= 4) return TextGet("TitlePonyWarm")
|
||||
else if (SkillGetLevel(Player, "Dressage") >= 3) return TextGet("TitlePonyCold")
|
||||
else if (SkillGetLevel(Player, "Dressage") >= 2) return TextGet("TitlePonyFarm")
|
||||
else if (SkillGetLevel(Player, "Dressage") >= 1) return TextGet("TitlePonyFoal");
|
||||
if (LogQuery("ClubMistress", "Management")) return TextGet("TitleMistress");
|
||||
if (SkillGetLevel(Player, "Dressage") >= 10) return TextGet("TitlePonyPegasus");
|
||||
if (LogQuery("LeadSorority", "Maid")) return TextGet("TitleHeadMaid");
|
||||
if (ReputationGet("Kidnap") >= 100) return TextGet("TitleMasterKidnapper");
|
||||
if (SkillGetLevel(Player, "Dressage") >= 8) return TextGet("TitlePonyUnicorn");
|
||||
if (SkillGetLevel(Player, "Dressage") >= 6) return TextGet("TitlePonyWild");
|
||||
if (SkillGetLevel(Player, "Dressage") >= 5) return TextGet("TitlePonyHot");
|
||||
if (LogQuery("JoinedSorority", "Maid")) return TextGet("TitleMaid");
|
||||
if (ReputationGet("Kidnap") >= 50) return TextGet("TitleKidnapper");
|
||||
if (SkillGetLevel(Player, "Dressage") >= 4) return TextGet("TitlePonyWarm");
|
||||
if (SkillGetLevel(Player, "Dressage") >= 3) return TextGet("TitlePonyCold");
|
||||
if (SkillGetLevel(Player, "Dressage") >= 2) return TextGet("TitlePonyFarm");
|
||||
if (SkillGetLevel(Player, "Dressage") >= 1) return TextGet("TitlePonyFoal");
|
||||
return TextGet("TitleNone");
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,8 @@ function WardrobeLoadCharacter(P) {
|
|||
for (var S = 0; S < Asset.length; S++)
|
||||
if ((Asset[S].Name == Player.Wardrobe[P][A].Name) && (Asset[S].Group.Name == Player.Wardrobe[P][A].Group))
|
||||
if (Asset[S].Group.Category == "Appearance")
|
||||
CharacterAppearanceSetItem(C, Player.Wardrobe[P][A].Group, Asset[S], Player.Wardrobe[P][A].Color);
|
||||
if ((Asset[S].Value == 0) || InventoryAvailable(Player, Asset[S].Name, Asset[S].Group.Name))
|
||||
CharacterAppearanceSetItem(C, Player.Wardrobe[P][A].Group, Asset[S], Player.Wardrobe[P][A].Color);
|
||||
CharacterLoadCanvas(C);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -23,13 +23,13 @@ function PlayerMistressRun() {
|
|||
DrawCharacter(Player, 750, 0, 1);
|
||||
DrawCharacter(PlayerMistressMistressLeft, 250, 0, 1);
|
||||
DrawCharacter(PlayerMistressMistressRight, 1250, 0, 1);
|
||||
if (CutsceneStage > 1) DrawCharacter(PlayerMistressMaidLeft, -200, 100, 1);
|
||||
if (CutsceneStage > 1) DrawCharacter(PlayerMistressMaidRight, 1700, 100, 1);
|
||||
if (CutsceneStage > 2) DrawCharacter(PlayerMistressMaidLeft, -200, 100, 1);
|
||||
if (CutsceneStage > 2) DrawCharacter(PlayerMistressMaidRight, 1700, 100, 1);
|
||||
DrawText(TextGet("PlayerMistress" + CutsceneStage.toString()), 1000, 980, "White", "Black");
|
||||
}
|
||||
|
||||
// When the user clicks in the cutscene
|
||||
function PlayerMistressClick() {
|
||||
CutsceneStage++;
|
||||
if (CutsceneStage > 4) CommonSetScreen("Room", "Management");
|
||||
if (CutsceneStage > 5) CommonSetScreen("Room", "Management");
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
PlayerMistress0,Mistresses from the Bondage Club gather to meet you and introduce themselves.
|
||||
PlayerMistress1,They congratulate you on your promotion and talk about future club events.
|
||||
PlayerMistress2,"After a while, they bring in the bound maids to serve drinks and refreshments."
|
||||
PlayerMistress3,"You meet many new Dominant friends who now address you as ""Mistress""."
|
||||
PlayerMistress4,"Once the party is over, everyone walks away, and the club resume its activities."
|
||||
PlayerMistress2,You're provided with golden keys to unlock chastity belts and chastity bras.
|
||||
PlayerMistress3,"After a while, they bring in the bound maids to serve drinks and refreshments."
|
||||
PlayerMistress4,"You meet many new Dominant friends who now address you as ""Mistress""."
|
||||
PlayerMistress5,"Once the party is over, everyone walks away, and the club resume its activities."
|
||||
|
|
|
|
@ -18,11 +18,12 @@ ItemBreastLeatherWhip,,,(She jumps from the searing pain on her breast.) Ouch!
|
|||
ItemBreastLeatherCrop,,,(You whip her breast with the leather crop as she whimpers and bows her head.) Owwwwwww!,,
|
||||
ItemPelvisLeatherWhip,,,(You whip her butt hard as she sighs.) Ahh! I promise I'll work harder Miss Head Maid!,,
|
||||
ItemPelvisLeatherCrop,,,(She grumbles as you strike her butt with the crop.) Oww! That stings Miss!.,,
|
||||
0,,,Greetings Mistress DialogPlayerName. Welcome to the introduction class. (She does curtsies for you.),,"DialogLogQuery(""ClubMistress"", ""Management"")"
|
||||
0,,,Greetings head maid DialogPlayerName. Welcome to the introduction class. (She does curtsies for you.),,IsHeadMaid
|
||||
0,,,(She stares at you.) Hello naked girl. Welcome to the introduction class.,,Player.IsNaked()
|
||||
0,,,"Hello head maid DialogPlayerName, welcome to the introduction class.",,IsHeadMaid
|
||||
0,,,"Hi sister, welcome to the introduction class.",,IsMaid
|
||||
0,,,"Hello there, welcome to the introduction class.",,!IsMaid
|
||||
0,,"Hi, my name is DialogPlayerName.","Pleased to meet you. I'm DialogCharacterName, I work here as a maid.",DialogRemove(),!IsMaid
|
||||
0,,"Hi, my name is DialogPlayerName.","Pleased to meet you. I'm DialogCharacterName, I work here as a maid.",DialogRemove(),NoTitle()
|
||||
0,10,"Thanks, little maid. What's going on here?","In here, you can learn how to restrain someone, and how to escape by yourself.",ChangeMaidOpinion(1),
|
||||
0,10,Introduction class?,"In this class, you can learn how to restrain someone, and how to free yourself.",,
|
||||
0,100,I don't need any introduction.,"Very well, would you like to practice with us then?",,
|
||||
|
|
|
|
@ -17,11 +17,12 @@ ItemBreastLeatherWhip,,,(She trembles of pain and pleasure as you whip her breas
|
|||
ItemBreastLeatherCrop,,,(You swing the crop on her torso as she moans.) Mmmh! You have lots of talents Miss.,,
|
||||
ItemPelvisLeatherWhip,,,(You whip her butt as she jumps from the pain.) It hurts soooooo good Miss.,,
|
||||
ItemPelvisLeatherCrop,,,(She moans and shakes her butt each time the crop lands on it.) I love the pain Miss.,,
|
||||
0,,,It's an honor to see you at the introduction class Mistress DialogPlayerName.,,"DialogLogQuery(""ClubMistress"", ""Management"")"
|
||||
0,,,(She giggles.) Greetings naked girl. Welcome to the introduction class.,,Player.IsNaked()
|
||||
0,,,Greetings head maid DialogPlayerName. Welcome to the introduction class.,,IsHeadMaid
|
||||
0,,,Greetings maid DialogPlayerName. Welcome to the introduction class.,,IsMaid
|
||||
0,,,Greetings Miss. Welcome to the Bondage Club.,,!IsMaid
|
||||
0,,I'm new here. My name is DialogPlayerName.,Pleased to meet you Miss DialogPlayerName. I hope you will enjoy yourself in the club.,DialogRemove(),!IsMaid
|
||||
0,,"Hello, my name is DialogPlayerName.",Pleased to meet you Miss DialogPlayerName. I hope you will enjoy yourself in the club.,DialogRemove(),NoTitle()
|
||||
0,,Who are you?,I'm a new club member. My name is DialogCharacterName.,DialogRemove(),
|
||||
0,10,What's going on here?,This is a BDSM club. People come from all over the world to share their kinks.,,
|
||||
0,10,Tell me about the club.,The Bondage Club is pretty old. People come from all over the world to share their kinks.,,
|
||||
|
|
|
|
@ -14,6 +14,7 @@ var IntroductionRescueScenarioList = ["LatexWoman", "Newcomer", "MaidFight", "Sa
|
|||
function IntroductionIsRescueScenario(ScenarioName) { return (IntroductionRescueScenario == ScenarioName) }
|
||||
function IntroductionIsBothFree() { return (!IntroductionMaid.IsRestrained() && IntroductionMaid.CanTalk() && !IntroductionSub.IsRestrained() && IntroductionMaid.CanTalk()) }
|
||||
function IntroductionIsMaidRestrained() { return (IntroductionMaid.IsRestrained() || !IntroductionMaid.CanTalk()) }
|
||||
function IntroductionNoTitle() { return (!LogQuery("JoinedSorority", "Maid") && !LogQuery("ClubMistress", "Management")) }
|
||||
|
||||
// Loads the introduction room
|
||||
function IntroductionLoad() {
|
||||
|
|
|
@ -28,7 +28,8 @@ ItemBreastLeatherWhip,,,(She jumps from the searing pain on her breast.) Ouch!
|
|||
ItemBreastLeatherCrop,,,(You whip her breast with the leather crop as she whimpers and bows her head.),,
|
||||
ItemPelvisLeatherWhip,,,(You whip her butt hard as she sighs.) I promise I'll work harder Miss Head Maid.,,
|
||||
ItemPelvisLeatherCrop,,,(She grumbles as you strike her butt with the crop.) A maid work isn't easy.,,
|
||||
0,,,Greetings head maid DialogPlayerName. How can I help you?,,IsHeadMaid
|
||||
0,,,Greetings head maid DialogPlayerName. How can I help you? (She does curtsies for you.),,IsHeadMaid
|
||||
0,,,How pleasant to see you Mistress DialogPlayerName. (She does curtsies for you.),,"DialogLogQuery(""ClubMistress"", ""Management"")"
|
||||
0,,,(She giggles.) Welcome to the Maid Quarters naked girl. How can I help you?,,Player.IsNaked()
|
||||
0,,,Welcome to the Maid Quarters. How can I help you?,,"DialogReputationLess(""Maid"", 49)"
|
||||
0,,,You've done a lot for the maid sorority. You should apply to become a full sister.,,CanBecomeMaid
|
||||
|
|
|
|
@ -20,8 +20,8 @@ var MaidQuartersCurrentRescueCompleted = false;
|
|||
|
||||
// Returns TRUE if the player is dressed in a maid uniform or can take a specific chore
|
||||
function MaidQuartersPlayerInMaidUniform() { return ((CharacterAppearanceGetCurrentValue(Player, "Cloth", "Name") == "MaidOutfit1") && (CharacterAppearanceGetCurrentValue(Player, "Hat", "Name") == "MaidHairband1")) }
|
||||
function MaidQuartersAllowMaidDrinks() { return (!Player.IsRestrained() && !MaidQuartersMaid.IsRestrained()); }
|
||||
function MaidQuartersAllowMaidCleaning() { return (!Player.IsRestrained() && !MaidQuartersMaid.IsRestrained()); }
|
||||
function MaidQuartersAllowMaidDrinks() { return (!Player.IsRestrained() && !MaidQuartersMaid.IsRestrained() && !LogQuery("ClubMistress", "Management")); }
|
||||
function MaidQuartersAllowMaidCleaning() { return (!Player.IsRestrained() && !MaidQuartersMaid.IsRestrained() && !LogQuery("ClubMistress", "Management")); }
|
||||
function MaidQuartersAllowRescue() { return (!Player.IsRestrained()); }
|
||||
function MaidQuartersAllowCancelRescue() { return (MaidQuartersCurrentRescueStarted && !MaidQuartersCurrentRescueCompleted); }
|
||||
|
||||
|
|
|
@ -4,7 +4,9 @@ TouchSubAngry2,,,(DialogCharacterName grabs your arm.) You're getting on my ner
|
|||
TouchSubAngry3,,,(DialogCharacterName grabs your hair.) Touch my pet again and you'll get in a world of trouble!,,
|
||||
TouchSubPunishment,,,(She pulls you to her by the hair.) Never touch my pet! Now you're in trouble.,,
|
||||
KneelToTalk,,,"Submissive girl, what are you doing standing up in my presence? Get on your knees if you want to speak to me.",,
|
||||
MistressExpulsion,,,We Mistresses have been speaking. It seems you're not fit to wear the heels anymore.,,
|
||||
0,,,(She looks at you and grins.) Be direct and don't waste my time naked girl.,,Player.IsNaked()
|
||||
0,,,My respects to you Mistress DialogPlayerName.,,"DialogLogQuery(""ClubMistress"", ""Management"")"
|
||||
0,,,Greetings head maid DialogPlayerName. Is there a problem that the sorority cannot handle?,,"DialogLogQuery(""LeadSorority"", ""Maid"")"
|
||||
0,,,Greetings master kidnapper DialogPlayerName. I trust you're having a good time hunting.,,"DialogReputationGreater(""Kidnap"", 100)"
|
||||
0,,,Welcome little maid. How can I help you?,,"DialogLogQuery(""JoinedSorority"", ""Maid"")"
|
||||
|
@ -95,8 +97,9 @@ KneelToTalk,,,"Submissive girl, what are you doing standing up in my presence?
|
|||
56,0,Can you please help me?,"Very well, I will help you. (She releases you.) I hope you had fun with my pet.",PlayerRelease(),MistressWillRelease()
|
||||
56,0,(Whimper and beg for mercy.),"Very well, I will help you. (She releases you.) I hope you had fun with my pet.",PlayerRelease(),MistressWillRelease()
|
||||
56,,(Leave her.),,DialogLeave(),
|
||||
100,,What are the rules for chastity items?,"Only the club Mistresses can unlock chastity devices. If you have an owner, you need your owner permission to be unlocked.",,
|
||||
100,,Can I buy a key?,"No, the keys are not for sales. They are for Mistresses only.",DialogRemove(),
|
||||
100,,What are the rules for chastity items?,Only the club Mistresses can unlock chastity devices. Make sure you use your keys wisely. (She winks at you.),,"DialogLogQuery(""ClubMistress"", ""Management"")"
|
||||
100,,What are the rules for chastity items?,"Only the club Mistresses can unlock chastity devices. If you have an owner, you need your owner permission to be unlocked.",,"!DialogLogQuery(""ClubMistress"", ""Management"")"
|
||||
100,,Can I buy a key?,"No, the keys are not for sales. They are for Mistresses only.",DialogRemove(),"!DialogLogQuery(""ClubMistress"", ""Management"")"
|
||||
100,110,"I'm stuck, I need your help.","(She smirks.) So, a subbie girl got herself locked? What's your story?",,AllowReleaseChastity()
|
||||
100,,"I'm stuck, I need your help.",(She laughs.) Better learn to enjoy it girl. I'm not releasing you.,,RefuseReleaseChastity()
|
||||
100,130,A friend of mine needs your help.,What friend? You're alone girl.,,FriendIsChaste()
|
||||
|
@ -231,11 +234,14 @@ KneelToTalk,,,"Submissive girl, what are you doing standing up in my presence?
|
|||
400,,What are club Mistresses?,We Mistresses are the final arbiters in the club. We make the rules and enforce them. It's hard work but it's rewarding.,,
|
||||
400,,What are the requirements?,"To apply to be a club Mistress, someone must be a club member for at least two weeks and be known to be really dominant.",,
|
||||
400,,Do they get paid?,Absolutely. The salary is 100$ per week and they will receive the official Mistress outfit that I'm wearing right now.,,
|
||||
400,,Do they have privileges?,They have a special privilege that comes with responsibilities. Every Mistress get special keys for chastity devices.,,
|
||||
400,,What if a Mistress turns submissive?,She will be kicked out of the group and her Mistress clothes will be confiscated.,,
|
||||
400,410,Can I become a club Mistress?,You've made quite a reputation for yourself in the club. Are you serious about becoming a Mistress?,,CanBeClubMistress()
|
||||
400,,Can I become a club Mistress?,We've noticed your good reputation but it's not enough. Work harder to become an elite Dominant.,,CannotBeClubMistress()
|
||||
400,,Can I become a club Mistress?,You? Don't make me laugh. Being a Mistress is for real Dominants only.,,CannotBeClubMistressLaugh()
|
||||
400,,Can I become a club Mistress?,"Girl, you're a new member. You must be a club member for at least two weeks before you can apply.",,CannotBeClubMistressTime()
|
||||
400,0,I'm here to collect my salary.,(She checks her book and gives you 100$.) Here you go Mistress DialogPlayerName. Come again in seven days for your next pay.,MistressPay(),MistressCanBePaid()
|
||||
400,0,I'm here to collect my salary.,(She checks her book and frowns.) You're too early Mistress DialogPlayerName. It takes a full week between each payment.,,MistressCannotBePaid()
|
||||
400,0,That's all I wanted to know.,"Good. Now, get to the point or get going.",,
|
||||
410,420,"Yes, I'm serious.","Excellent! First, we need to prepare a perfect outfit for you. Do you prefer black, red or silver?",,
|
||||
410,400,Do you think I can do it?,"Not with this attitude. You'll know when you're ready, and it's not now.","DialogChangeReputation(""Dominant"", -2)",
|
||||
|
@ -248,3 +254,13 @@ KneelToTalk,,,"Submissive girl, what are you doing standing up in my presence?
|
|||
430,440,So much power!,(She nods.) It's time for your inauguration party Mistress DialogPlayerName.,,
|
||||
440,,Excellent! (Do the inauguration party.),,PlayerMistressCutscene(),
|
||||
440,,This should be fun. (Do the party.),,PlayerMistressCutscene(),
|
||||
500,510,What does it mean?,It means that you're not Dominant enough and you're getting kicked out of the Mistresses circle.,,
|
||||
500,510,You're kicking me out?,"Correct, you're not Dominant enough, so you're getting kicked out of the Mistresses circle.",,
|
||||
500,510,(Stay silent.),"Girl, you've really lost your Dominant touch and you're getting kicked out of the Mistresses circle.","DialogChangeReputation(""Dominant"", -3)",
|
||||
510,520,That's unfair!,"Don't make it harder than it should be, you've brought this on yourself. Now get naked for your shaming.",,
|
||||
510,520,I understand.,"Very good, you did brought this on yourself. Now get naked for your shaming.","DialogChangeReputation(""Dominant"", -2)",
|
||||
520,,My shaming?,"Yes, your shaming period will last for an hour. You will have to wander the club naked so everyone knows you're not a Mistress anymore.",DialogRemove(),
|
||||
520,530,(Grumble and get naked.),You're not allowed to wear clothes for the next hour. Now surrender your Mistress outfit and chastity keys.,PlayerStrip(),
|
||||
520,530,(Stay silent and get naked.),You're not allowed to wear clothes for the next hour. Now surrender your Mistress outfit and chastity keys.,PlayerStrip(),
|
||||
530,0,"Fine, take it. (Give your Mistress items.)","(She takes your Mistress items and sighs.) Such a pity, you had so much potential. Carry on girl.",MistressKicked(),
|
||||
530,0,That sucks! (Give your Mistress items.),"(She takes your Mistress items and sighs.) Such a pity, you had so much potential. Carry on girl.",MistressKicked(),
|
||||
|
|
|
|
@ -16,11 +16,10 @@ var ManagementRandomActivityList = ["AddArms", "RemoveArms", "AddGag", "RemoveGa
|
|||
var ManagementVisitRoom = false;
|
||||
|
||||
// Returns TRUE if the dialog situation is allowed
|
||||
function ManagementNoTitle() { return (!LogQuery("JoinedSorority", "Maid") && (ReputationGet("Kidnap") < 50)) }
|
||||
function ManagementNoTitle() { return (!LogQuery("JoinedSorority", "Maid") && !LogQuery("ClubMistress", "Management") && (ReputationGet("Kidnap") < 50)) }
|
||||
function ManagementGetMistressAngryCount(InCount) { return (InCount == ManagementMistressAngryCount) }
|
||||
function ManagementMistressAngryAdd() { ManagementMistressAngryCount++ }
|
||||
function ManagementMistressWillRelease() { return (CommonTime() >= ManagementMistressReleaseTimer) }
|
||||
function ManagementFriendIsChaste() { return (((PrivateCharacter.length > 1) && PrivateCharacter[1].IsChaste()) || ((PrivateCharacter.length > 2) && PrivateCharacter[2].IsChaste()) || ((PrivateCharacter.length > 3) && PrivateCharacter[3].IsChaste())); }
|
||||
function ManagementCanPlayWithoutPermission() { return (!ManagementMistressAllowPlay && Player.CanInteract() && (ManagementMistressReleaseTimer == 0) && !ManagementIsClubSlave()) }
|
||||
function ManagementOwnerFromBondageCollege() { return ((Player.Owner == "NPC-Sidney") || (Player.Owner == "NPC-Amanda") || (Player.Owner == "NPC-Jennifer")) }
|
||||
function ManagementOwnerInPrivateRoom() { return PrivateOwnerInRoom() }
|
||||
|
@ -43,10 +42,20 @@ function ManagementNoMistressInPrivateRoom() { return (((PrivateCharacter.length
|
|||
function ManagementIsClubSlave() { return ((InventoryGet(Player, "ItemNeck") != null) && (InventoryGet(Player, "ItemNeck").Asset.Name == "ClubSlaveCollar")) }
|
||||
function ManagementCanTransferToRoom() { return (LogQuery("RentRoom", "PrivateRoom") && (PrivateCharacter.length < PrivateCharacterMax)) }
|
||||
function ManagementWontVisitRoom() { return (!ManagementVisitRoom && ManagementCanTransferToRoom()) }
|
||||
function ManagementCanBeClubMistress() { return ((ReputationGet("Dominant") >= 100) && ((Math.floor((CurrentTime - Player.Creation) / 86400000)) >= 14) && !LogQuery("ClubMistress", "Management") && !Player.IsRestrained() && !Player.IsKneeling()) }
|
||||
function ManagementCannotBeClubMistress() { return ((ReputationGet("Dominant") < 100) && (ReputationGet("Dominant") >= 50) && ((Math.floor((CurrentTime - Player.Creation) / 86400000)) >= 14) && !LogQuery("ClubMistress", "Management") && !Player.IsRestrained() && !Player.IsKneeling()) }
|
||||
function ManagementCannotBeClubMistressLaugh() { return ((ReputationGet("Dominant") < 50) && ((Math.floor((CurrentTime - Player.Creation) / 86400000)) >= 14) && !LogQuery("ClubMistress", "Management") && !Player.IsRestrained() && !Player.IsKneeling()) }
|
||||
function ManagementCannotBeClubMistressTime() { return (((Math.floor((CurrentTime - Player.Creation) / 86400000)) < 14) && !LogQuery("ClubMistress", "Management") && !Player.IsRestrained() && !Player.IsKneeling()) }
|
||||
function ManagementCanBeClubMistress() { return ((ReputationGet("Dominant") >= 100) && ((Math.floor((CurrentTime - Player.Creation) / 86400000)) >= 14) && !LogQuery("ClubMistress", "Management") && !Player.IsRestrained() && !Player.IsKneeling() && !LogQuery("BlockChange", "Rule")) }
|
||||
function ManagementCannotBeClubMistress() { return ((ReputationGet("Dominant") < 100) && (ReputationGet("Dominant") >= 50) && ((Math.floor((CurrentTime - Player.Creation) / 86400000)) >= 14) && !LogQuery("ClubMistress", "Management") && !Player.IsRestrained() && !Player.IsKneeling() && !LogQuery("BlockChange", "Rule")) }
|
||||
function ManagementCannotBeClubMistressLaugh() { return ((ReputationGet("Dominant") < 50) && ((Math.floor((CurrentTime - Player.Creation) / 86400000)) >= 14) && !LogQuery("ClubMistress", "Management") && !Player.IsRestrained() && !Player.IsKneeling() && !LogQuery("BlockChange", "Rule")) }
|
||||
function ManagementCannotBeClubMistressTime() { return (((Math.floor((CurrentTime - Player.Creation) / 86400000)) < 14) && !LogQuery("ClubMistress", "Management") && !Player.IsRestrained() && !Player.IsKneeling() && !LogQuery("BlockChange", "Rule")) }
|
||||
function ManagementMistressCanBePaid() { return (LogQuery("ClubMistress", "Management") && !LogQuery("MistressWasPaid", "Management")) }
|
||||
function ManagementMistressCannotBePaid() { return (LogQuery("ClubMistress", "Management") && LogQuery("MistressWasPaid", "Management")) }
|
||||
|
||||
// Returns TRUE if any friend in the private room is chaste
|
||||
function ManagementFriendIsChaste() {
|
||||
for(var C = 1; C < PrivateCharacter.length; C++)
|
||||
if ((PrivateCharacter[C].AccountName != null) && PrivateCharacter[C].IsChaste())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Loads the club management room, creates the Mistress and sub character
|
||||
function ManagementLoad() {
|
||||
|
@ -84,8 +93,11 @@ function ManagementRun() {
|
|||
function ManagementClick() {
|
||||
if ((MouseX >= 250) && (MouseX < 750) && (MouseY >= 0) && (MouseY < 1000)) CharacterSetCurrent(Player);
|
||||
if ((MouseX >= 750) && (MouseX < 1250) && (MouseY >= 0) && (MouseY < 1000) && !ManagementEmpty) {
|
||||
if ((ManagementMistress.Stage == "0") && ManagementIsClubSlave())
|
||||
ManagementMistress.Stage = "350";
|
||||
if ((ManagementMistress.Stage == "0") && ManagementIsClubSlave()) ManagementMistress.Stage = "350";
|
||||
if ((ManagementMistress.Stage == "0") && (ReputationGet("Dominant") < 50) && LogQuery("ClubMistress", "Management")) {
|
||||
ManagementMistress.Stage = "500";
|
||||
ManagementMistress.CurrentDialog = DialogFind(ManagementMistress, "MistressExpulsion");
|
||||
}
|
||||
if (((ManagementMistress.Stage == "0") || (ManagementMistress.Stage == "5")) && (ReputationGet("Dominant") < 0) && !Player.IsKneeling()) {
|
||||
ReputationProgress("Dominant", 1);
|
||||
ManagementMistress.CurrentDialog = DialogFind(ManagementMistress, "KneelToTalk");
|
||||
|
@ -309,12 +321,34 @@ function ManagementClubSlaveTransferToRoom() {
|
|||
function ManagementGetMistressOutfit(Color) {
|
||||
CharacterRelease(Player);
|
||||
CharacterArchetypeClothes(Player, "Mistress", Color);
|
||||
ServerPlayerInventorySync();
|
||||
}
|
||||
|
||||
// When the player starts the Mistress introduction party
|
||||
function ManagementPlayerMistressCutscene() {
|
||||
LogAdd("ClubMistress", "Management");
|
||||
LogAdd("MistressWasPaid", "Management", CurrentTime + 604800000);
|
||||
DialogLeave();
|
||||
ManagementMistress.Stage = "0";
|
||||
CommonSetScreen("Cutscene", "PlayerMistress");
|
||||
}
|
||||
|
||||
// When the player gets her Mistress pay
|
||||
function ManagementMistressPay() {
|
||||
LogAdd("MistressWasPaid", "Management", CurrentTime + 604800000);
|
||||
CharacterChangeMoney(Player, 100);
|
||||
}
|
||||
|
||||
// When the player gets kicked out of the Mistress community
|
||||
function ManagementMistressKicked() {
|
||||
LogAdd("BlockChange", "Rule", CurrentTime + 3600000);
|
||||
LogDelete("ClubMistress", "Management");
|
||||
ReputationProgress("Dominant", -6);
|
||||
InventoryDelete(Player, "MistressGloves", "Gloves", false);
|
||||
InventoryDelete(Player, "MistressBoots", "Shoes", false);
|
||||
InventoryDelete(Player, "MistressTop", "Cloth", false);
|
||||
InventoryDelete(Player, "MistressBottom", "ClothLower", false);
|
||||
InventoryDelete(Player, "MetalChastityBeltKey", "ItemPelvis", false);
|
||||
InventoryDelete(Player, "MetalChastityBraKey", "ItemBreast", false);
|
||||
ServerPlayerInventorySync();
|
||||
}
|
|
@ -127,10 +127,10 @@ function CharacterArchetypeClothes(C, Archetype, ForceColor) {
|
|||
|
||||
// Maid archetype
|
||||
if (Archetype == "Maid") {
|
||||
InventoryAdd(C, "MaidOutfit1", "Cloth");
|
||||
InventoryAdd(C, "MaidOutfit1", "Cloth", false);
|
||||
CharacterAppearanceSetItem(C, "Cloth", C.Inventory[C.Inventory.length - 1].Asset);
|
||||
CharacterAppearanceSetColorForGroup(C, "Default", "Cloth");
|
||||
InventoryAdd(C, "MaidHairband1", "Hat");
|
||||
InventoryAdd(C, "MaidHairband1", "Hat", false);
|
||||
CharacterAppearanceSetItem(C, "Hat", C.Inventory[C.Inventory.length - 1].Asset);
|
||||
CharacterAppearanceSetColorForGroup(C, "Default", "Hat");
|
||||
C.AllowItem = (LogQuery("LeadSorority", "Maid"));
|
||||
|
@ -141,14 +141,16 @@ function CharacterArchetypeClothes(C, Archetype, ForceColor) {
|
|||
var ColorList = ["#333333", "#AA4444", "#AAAAAA"];
|
||||
var Color = (ForceColor == null) ? CommonRandomItemFromList("", ColorList) : ForceColor;
|
||||
CharacterAppearanceSetItem(C, "Hat", null);
|
||||
InventoryAdd(C, "MistressGloves", "Gloves");
|
||||
InventoryAdd(C, "MistressGloves", "Gloves", false);
|
||||
InventoryWear(C, "MistressGloves", "Gloves", Color);
|
||||
InventoryAdd(C, "MistressBoots", "Shoes");
|
||||
InventoryAdd(C, "MistressBoots", "Shoes", false);
|
||||
InventoryWear(C, "MistressBoots", "Shoes", Color);
|
||||
InventoryAdd(C, "MistressTop", "Cloth");
|
||||
InventoryAdd(C, "MistressTop", "Cloth", false);
|
||||
InventoryWear(C, "MistressTop", "Cloth", Color);
|
||||
InventoryAdd(C, "MistressBottom", "ClothLower");
|
||||
InventoryAdd(C, "MistressBottom", "ClothLower", false);
|
||||
InventoryWear(C, "MistressBottom", "ClothLower", Color);
|
||||
InventoryAdd(C, "MetalChastityBeltKey", "ItemPelvis", false);
|
||||
InventoryAdd(C, "MetalChastityBraKey", "ItemBreast", false);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,6 +32,22 @@ function LogAdd(NewLogName, NewLogGroup, NewLogValue, Push) {
|
|||
|
||||
}
|
||||
|
||||
// Deletes a log entry
|
||||
function LogDelete(DelLogName, DelLogGroup, Push) {
|
||||
|
||||
// Finds the log entry and deletes it
|
||||
for (var L = 0; L < Log.length; L++)
|
||||
if ((Log[L].Name == DelLogName) && (Log[L].Group == DelLogGroup)) {
|
||||
Log.splice(L, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
// Sends the new log to the server
|
||||
if ((Push == null) || Push)
|
||||
ServerPlayerLogSync();
|
||||
|
||||
}
|
||||
|
||||
// Checks if the log exists, return true if it does (if there's a value, it counts as an expiry time)
|
||||
function LogQuery(QueryLogName, QueryLogGroup) {
|
||||
for (var L = 0; L < Log.length; L++)
|
||||
|
|
|
@ -40,8 +40,10 @@ function InventoryDelete(C, DelItemName, DelItemGroup, Push) {
|
|||
|
||||
// First, we remove the item from the player inventory
|
||||
for (var I = 0; I < C.Inventory.length; I++)
|
||||
if ((C.Inventory[I].Name == DelItemName) && (C.Inventory[I].Group == DelItemGroup))
|
||||
if ((C.Inventory[I].Name == DelItemName) && (C.Inventory[I].Group == DelItemGroup)) {
|
||||
C.Inventory.splice(I, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
// Next, we call the player account service to remove the item
|
||||
if ((C.ID == 0) && ((Push == null) || Push))
|
||||
|
|
|
@ -80,11 +80,9 @@
|
|||
|
||||
TO DO:
|
||||
|
||||
TEST : Bring a gagged girl to your room after a kidnapping
|
||||
Code : Kick player out from being Mistress if below 50 Dominant
|
||||
Code : Pay player 100$ every week for being Mistress
|
||||
Credit Fluend for Russian translation
|
||||
Bug??? Remove Collar from outfit screen
|
||||
Add new Patreon users
|
||||
TO CODE: Collar subs
|
||||
|
||||
}*/
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue