More skills added to all chapters

More skills added to all chapters
This commit is contained in:
Ben987 2018-03-01 18:54:24 -05:00
parent ed6195edf4
commit 2f869d7421
28 changed files with 164 additions and 32 deletions
C000_Intro/CreatePlayer
C001_BeforeClass/Amanda
C004_ArtClass
C005_GymClass
LoseFight
WinFight
C006_Isolation/IsolationRoom
C007_LunchBreak
C008_DramaClass
C999_Common/Player
Drawing.js
Icons
Skill.jsStruggle.jsTime.js

View file

@ -1,4 +1,6 @@
var C000_Intro_CreatePlayer_ChapterToLoad = "C001_BeforeClass";
var C000_Intro_CreatePlayer_SkillCount = 5;
var C000_Intro_CreatePlayer_ControlLoaded = false;
// Create Player Load
function C000_Intro_CreatePlayer_Load() {
@ -8,6 +10,14 @@ function C000_Intro_CreatePlayer_Load() {
LeaveScreen = "";
LoadText();
}
// Create Player Run
function C000_Intro_CreatePlayer_Run() {
// If we load the controls
if ((C000_Intro_CreatePlayer_ControlLoaded == false) && (GetText("Skill" + C000_Intro_CreatePlayer_SkillCount.toString()) != "")) {
// Creates a text box to enter the player name
var InputName = document.createElement('input');
InputName.setAttribute("ID", "InputName");
@ -15,23 +25,32 @@ function C000_Intro_CreatePlayer_Load() {
InputName.setAttribute("type", "text");
InputName.setAttribute("value", "");
InputName.setAttribute("maxlength", "20");
InputName.setAttribute("style", "font-size:24px; font-family:Arial; position:fixed; padding-left:10px; left:200px; top:300px; width:500px; height:50px;");
InputName.setAttribute("style", "font-size:24px; font-family:Arial; position:absolute; padding-left:10px; left:200px; top:240px; width:500px; height:50px;");
InputName.addEventListener("keypress", KeyDown);
document.body.appendChild(InputName);
InputName.focus();
}
// Creates a select box to pick a starting skill
var SelectSkill = document.createElement('select');
SelectSkill.setAttribute("ID", "SelectSkill");
SelectSkill.setAttribute("name", "SelectSkill");
SelectSkill.setAttribute("style", "font-size:24px; font-family:Arial; position:absolute; padding-left:10px; left:300px; top:320px; width:300px; height:50px;");
for(var S = 0; S <= 5; S++)
SelectSkill.appendChild(new Option(GetText("Skill" + S.toString()), S.toString()));
document.body.appendChild(SelectSkill);
C000_Intro_CreatePlayer_ControlLoaded = true;
// Create Player Run
function C000_Intro_CreatePlayer_Run() {
}
// Draw the player image and the text input for the name
var ctx = document.getElementById("MainCanvas").getContext("2d");
DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Player.jpg", 900, 0);
DrawRect(ctx, 0, 0, 900, 600, "white");
DrawRect(ctx, 300, 430, 300, 70, "#8c304e");
DrawText(ctx, GetText("EnterName"), 450, 100, "black");
DrawText(ctx, GetText("ValidChars"), 450, 200, "black");
DrawText(ctx, GetText("ValidChars"), 450, 180, "black");
// Creates the "validate" button
DrawRect(ctx, 300, 430, 300, 70, "#8c304e");
DrawText(ctx, GetText("Validate"), 450, 465, "white");
}
@ -39,17 +58,25 @@ function C000_Intro_CreatePlayer_Run() {
// Validate the name and starts the game
function C000_Intro_CreatePlayer_Validate() {
var NewName = document.getElementById("InputName").value.trim();
var StartingSkill = document.getElementById("SelectSkill").value.trim();
var letters = /^[a-zA-Z ]+$/;
if (NewName.match(letters) && (NewName.length > 0) && (NewName.length <= 20)) {
if (StartingSkill == "1") PlayerAddSkill("Arts", 1);
if (StartingSkill == "2") PlayerAddSkill("Fighting", 1);
if (StartingSkill == "3") PlayerAddSkill("RopeMastery", 1);
if (StartingSkill == "4") PlayerAddSkill("Sports", 1);
if (StartingSkill == "5") PlayerAddSkill("Seduction", 1);
PlayerSkillShowLevelUp = 0;
Common_PlayerName = NewName;
document.getElementById("InputName").parentNode.removeChild(document.getElementById("InputName"));
document.getElementById("SelectSkill").parentNode.removeChild(document.getElementById("SelectSkill"));
SetScene(C000_Intro_CreatePlayer_ChapterToLoad, "Intro");
}
}
// Create Player Key Down
function C000_Intro_CreatePlayer_KeyDown() {
if (KeyPress == 13) C000_Intro_CreatePlayer_Validate();
//if (KeyPress == 13) C000_Intro_CreatePlayer_Validate();
}
// Create Player Click

View file

@ -1,4 +1,10 @@
Tag,Content
EnterName,Enter a name for your character.
EnterName,Enter a name and select a skill for your character.
ValidChars,You can only use letters & spaces.
Validate,Start the game
Skill0,No skill
Skill1,Arts
Skill2,Fighting
Skill3,Rope Mastery
Skill4,Sports
Skill5,Seduction

1 Tag Content
2 EnterName Enter a name for your character. Enter a name and select a skill for your character.
3 ValidChars You can only use letters & spaces.
4 Validate Start the game
5 Skill0 No skill
6 Skill1 Arts
7 Skill2 Fighting
8 Skill3 Rope Mastery
9 Skill4 Sports
10 Skill5 Seduction

View file

@ -1,4 +1,10 @@
Tag,Content
EnterName,Enter a name for your character.
EnterName,Enter a name and select a skill for your character.
ValidChars,You can only use letters & spaces.
Validate,Start the game
Skill0,No skill
Skill1,Arts
Skill2,Fighting
Skill3,Rope Mastery
Skill4,Sports
Skill5,Seduction

1 Tag Content
2 EnterName Enter a name for your character. Enter a name and select a skill for your character.
3 ValidChars You can only use letters & spaces.
4 Validate Start the game
5 Skill0 No skill
6 Skill1 Arts
7 Skill2 Fighting
8 Skill3 Rope Mastery
9 Skill4 Sports
10 Skill5 Seduction

View file

@ -1,4 +1,10 @@
Tag,Content
EnterName,Entrez un nom pour votre personnage.
EnterName,Choisissez un nom et un talent pour votre personnage.
ValidChars,Seulement des lettres et des espaces.
Validate,Démarrer la partie
Skill0,No skill
Skill1,Arts
Skill2,Combat
Skill3,Maîtrise des Cordes
Skill4,Sports
Skill5,Séduction

1 Tag Content
2 EnterName Entrez un nom pour votre personnage. Choisissez un nom et un talent pour votre personnage.
3 ValidChars Seulement des lettres et des espaces.
4 Validate Démarrer la partie
5 Skill0 No skill
6 Skill1 Arts
7 Skill2 Combat
8 Skill3 Maîtrise des Cordes
9 Skill4 Sports
10 Skill5 Séduction

View file

@ -2,3 +2,9 @@ Tag,Content
EnterName,Nadaj imiê swojej postaci.
ValidChars,Mo¿esz u¿ywaæ wy³¹cznie liter oraz spacji.
Validate,Zacznij grê
Skill0,No skill
Skill1,Arts
Skill2,Fighting
Skill3,Rope Mastery
Skill4,Sports
Skill5,Seduction

1 Tag Content
2 EnterName Nadaj imiê swojej postaci.
3 ValidChars Mo¿esz u¿ywaæ wy³¹cznie liter oraz spacji.
4 Validate Zacznij grê
5 Skill0 No skill
6 Skill1 Arts
7 Skill2 Fighting
8 Skill3 Rope Mastery
9 Skill4 Sports
10 Skill5 Seduction

View file

@ -71,11 +71,12 @@ function C001_BeforeClass_Amanda_ConfrontBondage() {
C001_BeforeClass_Amanda_BondageNotConfronted = false;
}
// Chapter 1 - Amanda Kiss
// Chapter 1 - Amanda Kiss (extra love if the player has seduction)
function C001_BeforeClass_Amanda_Kiss() {
if (C001_BeforeClass_Amanda_Kiss_Done == false) {
C001_BeforeClass_Amanda_Kiss_Done = true;
ActorChangeAttitude(1, 0);
if (PlayerGetSkillLevel("Seduction") >= 1) ActorChangeAttitude(2, 0);
else ActorChangeAttitude(1, 0);
OverridenIntroText = GetText("Kiss");
}
}

View file

@ -15,6 +15,7 @@ var C004_ArtClass_Jennifer_PityDone = false;
var C004_ArtClass_Jennifer_EggConfirm = false;
var C004_ArtClass_Jennifer_EggInside = false;
var C004_ArtClass_Jennifer_StunningBeautyReady = true;
var C004_ArtClass_Jennifer_PaintAvail = true;
// Chapter 4 - Jennifer Load
function C004_ArtClass_Jennifer_Load() {
@ -231,3 +232,19 @@ function C004_ArtClass_Jennifer_StunningBeauty() {
C004_ArtClass_Jennifer_StunningBeautyReady = false;
ActorChangeAttitude(1, 0);
}
// Chapter 4 - Jennifer Paint, can only be done if there's 30 minutes left for the class
function C004_ArtClass_Jennifer_Paint() {
if (CurrentTime <= 9.75 * 60 * 60 * 1000) {
C004_ArtClass_Sarah_PaintAvail = false;
C004_ArtClass_Jennifer_PaintAvail = false;
ActorChangeAttitude(0, 2);
CurrentTime = CurrentTime + 0.5 * 60 * 60 * 1000;
PlayerAddSkill("Arts", 1);
if (PlayerGetSkillLevel("Arts") >= 1) {
ActorSpecificChangeAttitude("Julia", PlayerGetSkillLevel("Arts"), 0);
ActorSpecificChangeAttitude("Sarah", PlayerGetSkillLevel("Arts"), 0);
ActorSpecificChangeAttitude("Jennifer", PlayerGetSkillLevel("Arts"), 0);
}
} else OverridenIntroText = GetText("NoTimeToPaint");
}

View file

@ -42,9 +42,12 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
130,0,0,,(Tighten the ropes.)|(1 minute),(This bondage is already|as tight as it can be.),130,0,0,Tighten()
130,0,0,,(Tickle her.)|(1 minute),(She cowers in shame|to avoid your tickling.),130,0,0,Tickle()
130,0,0,Common_PlayerNotRestrained,(Untie her.)|(1 minute),(You untie her and she throws the|ropes at you.) Can I go sit now?,120,0,0,Untie()
130,0,0,PaintAvail,(Paint Jennifer.)|(30 minutes),(You carefully paint her and show the result.)|Please destroy this painting once class is over.,130,0,0,Paint()
140,0,0,,(Tighten the ropes.)|(1 minute),(This bondage is already|as tight as it can be.),140,0,0,Tighten()
140,0,0,,(Tickle her.)|(1 minute),(She cowers in shame|to avoid your tickling.),140,0,0,Tickle()
140,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle the gag and release it|from her mouth) Can you untie me now?,130,0,0,Ungag()
140,0,0,PaintAvail,(Paint Jennifer.)|(30 minutes),(You carefully paint her and show the result.)|(She looks at your work of art and whimpers.),140,0,0,Paint()
150,0,0,,(Tighten the ropes.)|(1 minute),(This bondage is already|as tight as it can be.),150,0,0,Tighten()
150,0,0,,(Tickle her.)|(1 minute),(She cowers in shame|to avoid your tickling.),150,0,0,Tickle()
150,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),"(You remove the tape from her mouth.)|Alright, can you untie me now?",130,0,0,Ungag()
150,0,0,PaintAvail,(Paint Jennifer.)|(30 minutes),(You carefully paint her and show the result.)|(She looks at your work of art and whimpers.),150,0,0,Paint()

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
42 130 0 0 (Tighten the ropes.)|(1 minute) (This bondage is already|as tight as it can be.) 130 0 0 Tighten()
43 130 0 0 (Tickle her.)|(1 minute) (She cowers in shame|to avoid your tickling.) 130 0 0 Tickle()
44 130 0 0 Common_PlayerNotRestrained (Untie her.)|(1 minute) (You untie her and she throws the|ropes at you.) Can I go sit now? 120 0 0 Untie()
45 130 0 0 PaintAvail (Paint Jennifer.)|(30 minutes) (You carefully paint her and show the result.)|Please destroy this painting once class is over. 130 0 0 Paint()
46 140 0 0 (Tighten the ropes.)|(1 minute) (This bondage is already|as tight as it can be.) 140 0 0 Tighten()
47 140 0 0 (Tickle her.)|(1 minute) (She cowers in shame|to avoid your tickling.) 140 0 0 Tickle()
48 140 0 0 Common_PlayerNotRestrained (Ungag her.)|(1 minute) (You unbuckle the gag and release it|from her mouth) Can you untie me now? 130 0 0 Ungag()
49 140 0 0 PaintAvail (Paint Jennifer.)|(30 minutes) (You carefully paint her and show the result.)|(She looks at your work of art and whimpers.) 140 0 0 Paint()
50 150 0 0 (Tighten the ropes.)|(1 minute) (This bondage is already|as tight as it can be.) 150 0 0 Tighten()
51 150 0 0 (Tickle her.)|(1 minute) (She cowers in shame|to avoid your tickling.) 150 0 0 Tickle()
52 150 0 0 Common_PlayerNotRestrained (Ungag her.)|(1 minute) (You remove the tape from her mouth.)|Alright, can you untie me now? 130 0 0 Ungag()
53 150 0 0 PaintAvail (Paint Jennifer.)|(30 minutes) (You carefully paint her and show the result.)|(She looks at your work of art and whimpers.) 150 0 0 Paint()

View file

@ -19,3 +19,4 @@ EarnTrust,I'll try to trust you then.|All of this is making me nervous.
EggComment,"But, but, but. I, I. Ok.|(She bows her head.)"
PlayerUntie,"(She blushes and steps up to untie you.)|Here you go my friend, I bet that was humiliating."
PlayerStayTied,(She's too nervous to move up to help you.)|(You need 3 love or more to get help from her.)
NoTimeToPaint,(There's not enough time left in|class to produce a work of art.)

1 Tag Content
19 EggComment But, but, but. I, I. Ok.|(She bows her head.)
20 PlayerUntie (She blushes and steps up to untie you.)|Here you go my friend, I bet that was humiliating.
21 PlayerStayTied (She's too nervous to move up to help you.)|(You need 3 love or more to get help from her.)
22 NoTimeToPaint (There's not enough time left in|class to produce a work of art.)

View file

@ -18,6 +18,7 @@ var C004_ArtClass_Sarah_EggConfirm = false;
var C004_ArtClass_Sarah_EggInside = false;
var C004_ArtClass_Sarah_CrotchRopeReady = false;
var C004_ArtClass_Sarah_OrgasmDone = false;
var C004_ArtClass_Sarah_PaintAvail = true;
// Chapter 4 - Sarah Load
function C004_ArtClass_Sarah_Load() {
@ -227,3 +228,19 @@ function C004_ArtClass_Sarah_OrgasmStart() {
function C004_ArtClass_Sarah_Orgasm() {
ActorAddOrgasm();
}
// Chapter 4 - Sarah Paint, can only be done if there's 30 minutes left for the class
function C004_ArtClass_Sarah_Paint() {
if (CurrentTime <= 9.75 * 60 * 60 * 1000) {
C004_ArtClass_Sarah_PaintAvail = false;
C004_ArtClass_Jennifer_PaintAvail = false;
ActorChangeAttitude(1, 1);
CurrentTime = CurrentTime + 0.5 * 60 * 60 * 1000;
PlayerAddSkill("Arts", 1);
if (PlayerGetSkillLevel("Arts") >= 1) {
ActorSpecificChangeAttitude("Julia", PlayerGetSkillLevel("Arts"), 0);
ActorSpecificChangeAttitude("Sarah", PlayerGetSkillLevel("Arts"), 0);
ActorSpecificChangeAttitude("Jennifer", PlayerGetSkillLevel("Arts"), 0);
}
} else OverridenIntroText = GetText("NoTimeToPaint");
}

View file

@ -40,14 +40,17 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
160,0,0,,(Tighten the ropes.)|(1 minute),The ropes are as tight as they can be.,160,0,0,Tighten()
160,0,0,Common_PlayerNotRestrained,(Untie her.)|(1 minute),"Ooooooh, why did you untie me?|(She pulls her tongue and takes her pose.)",150,0,0,Untie()
160,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),You're funny. But is that the best you can do?|(She giggles but isn't impressed by your tickling.),160,0,0,
160,0,0,PaintAvail,(Paint Sarah.)|(30 minutes),(You carefully paint her and show the result.)|Wow! This is such a kinky painting. I love it!,160,0,0,Paint()
170,0,0,CrotchRopeReady,(Play with the crotch|rope.) (1 minute),(You play while she trembles and falls on|her knees. Ready to have a huge orgasm.),200,0,0,OrgasmStart()
170,0,0,,(Tighten the ropes.)|(1 minute),The ropes are as tight as they can be.,170,0,0,Tighten()
170,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(She stretches her jaw and smiles)|Do you have a bigger gag coming up?,160,0,0,Ungag()
170,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),(She giggles but isn't impressed by your tickling.),170,0,0,
170,0,0,PaintAvail,(Paint Sarah.)|(30 minutes),(You carefully paint her and show the result.)|(She looks at your work of art and nods happily.),170,0,0,Paint()
180,0,0,CrotchRopeReady,(Play with the crotch|rope.) (1 minute),(You play while she trembles and falls on|her knees. Ready to have a huge orgasm.),250,0,0,OrgasmStart()
180,0,0,,(Tighten the ropes.)|(1 minute),The ropes are as tight as they can be.,180,0,0,Tighten()
180,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(She smiles at you.) This tape|was the best idea I've ever had.,160,0,0,Ungag()
180,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),(She giggles but isn't impressed by your tickling.),180,0,0,
180,0,0,PaintAvail,(Paint Sarah.)|(30 minutes),(You carefully paint her and show the result.)|(She looks at your work of art and nods happily.),180,0,0,Paint()
200,0,0,,Do you want to|climax subbie girl?,"(She nods slowly, trying to control herself.)",210,0,1,
200,0,0,,So this slut|wants to cum?,"(She shakes her head from left to right, then|from up to down, trying to control herself.)",210,-1,0,
200,0,0,,You seem ready|to reach heaven.,"(She nods happily, trying to control herself.)",210,1,0,

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
40 160 0 0 (Tighten the ropes.)|(1 minute) The ropes are as tight as they can be. 160 0 0 Tighten()
41 160 0 0 Common_PlayerNotRestrained (Untie her.)|(1 minute) Ooooooh, why did you untie me?|(She pulls her tongue and takes her pose.) 150 0 0 Untie()
42 160 0 0 Common_PlayerNotRestrained (Tickle her.)|(1 minute) You're funny. But is that the best you can do?|(She giggles but isn't impressed by your tickling.) 160 0 0
43 160 0 0 PaintAvail (Paint Sarah.)|(30 minutes) (You carefully paint her and show the result.)|Wow! This is such a kinky painting. I love it! 160 0 0 Paint()
44 170 0 0 CrotchRopeReady (Play with the crotch|rope.) (1 minute) (You play while she trembles and falls on|her knees. Ready to have a huge orgasm.) 200 0 0 OrgasmStart()
45 170 0 0 (Tighten the ropes.)|(1 minute) The ropes are as tight as they can be. 170 0 0 Tighten()
46 170 0 0 Common_PlayerNotRestrained (Ungag her.)|(1 minute) (She stretches her jaw and smiles)|Do you have a bigger gag coming up? 160 0 0 Ungag()
47 170 0 0 Common_PlayerNotRestrained (Tickle her.)|(1 minute) (She giggles but isn't impressed by your tickling.) 170 0 0
48 170 0 0 PaintAvail (Paint Sarah.)|(30 minutes) (You carefully paint her and show the result.)|(She looks at your work of art and nods happily.) 170 0 0 Paint()
49 180 0 0 CrotchRopeReady (Play with the crotch|rope.) (1 minute) (You play while she trembles and falls on|her knees. Ready to have a huge orgasm.) 250 0 0 OrgasmStart()
50 180 0 0 (Tighten the ropes.)|(1 minute) The ropes are as tight as they can be. 180 0 0 Tighten()
51 180 0 0 Common_PlayerNotRestrained (Ungag her.)|(1 minute) (She smiles at you.) This tape|was the best idea I've ever had. 160 0 0 Ungag()
52 180 0 0 Common_PlayerNotRestrained (Tickle her.)|(1 minute) (She giggles but isn't impressed by your tickling.) 180 0 0
53 180 0 0 PaintAvail (Paint Sarah.)|(30 minutes) (You carefully paint her and show the result.)|(She looks at your work of art and nods happily.) 180 0 0 Paint()
54 200 0 0 Do you want to|climax subbie girl? (She nods slowly, trying to control herself.) 210 0 1
55 200 0 0 So this slut|wants to cum? (She shakes her head from left to right, then|from up to down, trying to control herself.) 210 -1 0
56 200 0 0 You seem ready|to reach heaven. (She nods happily, trying to control herself.) 210 1 0

View file

@ -12,3 +12,4 @@ Tighten,"(You tighten the knots while she moans.)|Mmmmhh, can we see each other
TightenFail,(You try to tighten Sarah's bondage|but fail as the other students giggle.)
PlayerRelease,Yes Miss. Someone like you shouldn't be tied up.|(She releases you from your bondage.)
PlayerGag,Help you? Yes! I know what could help.|(She searches to find tape and shuts your mouth.)
NoTimeToPaint,(There's not enough time left in|class to produce a work of art.)

1 Tag Content
12 TightenFail (You try to tighten Sarah's bondage|but fail as the other students giggle.)
13 PlayerRelease Yes Miss. Someone like you shouldn't be tied up.|(She releases you from your bondage.)
14 PlayerGag Help you? Yes! I know what could help.|(She searches to find tape and shuts your mouth.)
15 NoTimeToPaint (There's not enough time left in|class to produce a work of art.)

View file

@ -1,7 +1,7 @@
// Chapter 5 - Lose Fight Load
function C005_GymClass_LoseFight_Load() {
if (C005_GymClass_Jennifer_EasyMode) LoadFight("Jennifer", "Easy", Icons.Fight.Rope, PlayerGetSkillLevel("Fighting"));
else LoadFight("Jennifer", "Normal", Icons.Fight.Rope, PlayerGetSkillLevel("Fighting"));
if (C005_GymClass_Jennifer_EasyMode) LoadFight("Jennifer", "Easy", Icons.Fight.Rope, PlayerGetSkillLevel("RopeMastery"));
else LoadFight("Jennifer", "Normal", Icons.Fight.Rope, PlayerGetSkillLevel("RopeMastery"));
}
// Chapter 5 - Lose Fight Run

View file

@ -1,7 +1,7 @@
// Chapter 5 - Win Fight Load
function C005_GymClass_WinFight_Load() {
if (C005_GymClass_Jennifer_EasyMode) LoadFight("Jennifer", "Normal", Icons.Fight.Rope, PlayerGetSkillLevel("Fighting"));
else LoadFight("Jennifer", "Hard", Icons.Fight.Rope, PlayerGetSkillLevel("Fighting"));
if (C005_GymClass_Jennifer_EasyMode) LoadFight("Jennifer", "Normal", Icons.Fight.Rope, PlayerGetSkillLevel("RopeMastery"));
else LoadFight("Jennifer", "Hard", Icons.Fight.Rope, PlayerGetSkillLevel("RopeMastery"));
}
// Chapter 5 - Win Fight Run

View file

@ -19,8 +19,7 @@ function C006_Isolation_IsolationRoom_DropInventory() {
// Chapter 6 - Isolation Room Load
function C006_Isolation_IsolationRoom_Load() {
LeaveIcon = "Wait";
StruggleDone = false;
StruggleProgress = 0;
StruggleLoad();
C006_Isolation_IsolationRoom_OrgasmReady = (PlayerHasLockedInventory("VibratingEgg"));
LoadText();
}

View file

@ -13,6 +13,7 @@ var C007_LunchBreak_Amanda_IntroText = "";
var C007_LunchBreak_Amanda_LeaveIcon = "";
var C007_LunchBreak_Amanda_IsBoundAndGagged = false;
var C007_LunchBreak_Amanda_ConfirmEvil = false;
var C007_LunchBreak_Amanda_HasSeduction = false;
// Calculates the screen parameters
function C007_LunchBreak_Amanda_CalcParams() {
@ -53,6 +54,7 @@ function C007_LunchBreak_Amanda_Load() {
ActorLoad("Amanda", "ActorSelect");
LoadInteractions();
C007_LunchBreak_Amanda_CalcParams();
C007_LunchBreak_Amanda_HasSeduction = (PlayerGetSkillLevel("Seduction") >= 1);
// If Amanda doesn't like the player and isn't subbie enough, she leaves and don't talk
if ((ActorGetValue(ActorLove) <= -3) && (ActorGetValue(ActorSubmission) <= 2) && (C007_LunchBreak_Amanda_CurrentStage == 0)) {
@ -261,7 +263,6 @@ function C007_LunchBreak_Amanda_Ungag() {
// Chapter 7 - Amanda Test Make Love (Amanda will only make love if +8 or more)
function C007_LunchBreak_Amanda_TestMakeLove() {
if (ActorGetValue(ActorLove) >= 8) {
if (PlayerGetSkillLevel("Seduction") >= 1) ActorChangeAttitude(1, 0);
OverridenIntroText = GetText("LoveStart");
C007_LunchBreak_Amanda_CurrentStage = 240;
} else {

View file

@ -77,6 +77,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
200,0,0,,We still have time|before the bell?,(She giggles.) Time for what?,210,0,0,
200,0,0,,Thanks for showing|me this lovely cafe.,My pleasure! We had a good time.,210,1,-1,
200,0,0,,I wanted you to know|that I had a great time.,I did too! We seem to fit well together.,210,1,0,
200,0,0,HasSeduction,"Amy, you're the sweetest|thing in this college.",(She blushes red and giggles.)|You're also sweet COMMON_PLAYERNAME.,210,2,0,
200,0,0,,Can I kiss you?|(1 minute),(She nods and puts her lips against yours.),220,1,0,
200,0,0,,(Stay silent and kiss her.)|(1 minute),,220,0,1,
200,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
77 200 0 0 We still have time|before the bell? (She giggles.) Time for what? 210 0 0
78 200 0 0 Thanks for showing|me this lovely cafe. My pleasure! We had a good time. 210 1 -1
79 200 0 0 I wanted you to know|that I had a great time. I did too! We seem to fit well together. 210 1 0
80 200 0 0 HasSeduction Amy, you're the sweetest|thing in this college. (She blushes red and giggles.)|You're also sweet COMMON_PLAYERNAME. 210 2 0
81 200 0 0 Can I kiss you?|(1 minute) (She nods and puts her lips against yours.) 220 1 0
82 200 0 0 (Stay silent and kiss her.)|(1 minute) 220 0 1
83 200 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()

View file

@ -24,6 +24,7 @@ var C007_LunchBreak_Jennifer_PushUpQuality = 0;
var C007_LunchBreak_Jennifer_PushUpCount = 0;
var C007_LunchBreak_Jennifer_RacketQuality = 0;
var C007_LunchBreak_Jennifer_HasRestrainsAvail = false;
var C007_LunchBreak_Jennifer_HasSeduction = false;
// Calculates the screen parameters
function C007_LunchBreak_Jennifer_CalcParams() {
@ -74,6 +75,7 @@ function C007_LunchBreak_Jennifer_Load() {
ActorLoad("Jennifer", "ActorSelect");
LoadInteractions();
C007_LunchBreak_Jennifer_CalcParams();
C007_LunchBreak_Jennifer_HasSeduction = (PlayerGetSkillLevel("Seduction") >= 1);
// If Jennifer doesn't like the player, she will run away from the start
if ((ActorGetValue(ActorLove) <= -3) && (ActorGetValue(ActorSubmission) <= 3)) {

View file

@ -18,6 +18,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
20,0,0,,The loser will be the|winner slave for lunch.,Slave? You mean the loser pays for lunch?,30,0,1,
20,0,0,,The loser submits to|the winner for lunch.,Submits? You mean the loser pays for lunch?,30,0,0,
20,0,0,,On second thoughts.|I don't want to play.,"Alright then, see you later.|(She packs and leaves for tennis.)",90,0,0,EndLunch()
30,0,0,HasSeduction,Lovely Jennifer. You|can't resist a challenge.,(She blushes and looks at the floor.)|Indeed. Are you ready to play now?,40,1,1,
30,0,0,,"Yes, whoever loses|will pay and obey.",You have a strange way to phrase your|bet but I'm up for it! Should we go now?,40,0,0,
30,0,0,,Don't make me repeat.|Are you game or not?,(She frowns at you and gets competitive.)|Alright then! Are you ready to play now?,40,-1,0,
30,0,0,,On second thoughts.|I don't want to play.,"Alright then, see you later.|(She packs and leaves for tennis.)",90,0,0,EndLunch()

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
18 20 0 0 The loser will be the|winner slave for lunch. Slave? You mean the loser pays for lunch? 30 0 1
19 20 0 0 The loser submits to|the winner for lunch. Submits? You mean the loser pays for lunch? 30 0 0
20 20 0 0 On second thoughts.|I don't want to play. Alright then, see you later.|(She packs and leaves for tennis.) 90 0 0 EndLunch()
21 30 0 0 HasSeduction Lovely Jennifer. You|can't resist a challenge. (She blushes and looks at the floor.)|Indeed. Are you ready to play now? 40 1 1
22 30 0 0 Yes, whoever loses|will pay and obey. You have a strange way to phrase your|bet but I'm up for it! Should we go now? 40 0 0
23 30 0 0 Don't make me repeat.|Are you game or not? (She frowns at you and gets competitive.)|Alright then! Are you ready to play now? 40 -1 0
24 30 0 0 On second thoughts.|I don't want to play. Alright then, see you later.|(She packs and leaves for tennis.) 90 0 0 EndLunch()

View file

@ -44,6 +44,12 @@ function C008_DramaClass_Julia_Load() {
ActorLoad("Julia", "Theater");
LoadInteractions();
// On a perfect play, the player gains a level in arts
if ((C008_DramaClass_Julia_CurrentStage == 300) && C008_DramaClass_Theater_PerfectPlay) {
C008_DramaClass_Theater_PerfectPlay = false;
PlayerAddSkill("Arts");
}
// Cannot leave before Julia gave her instructions
if (C008_DramaClass_Julia_CurrentStage < 100) LeaveIcon = "";
if (C008_DramaClass_Julia_CurrentStage == 330) C008_DramaClass_Julia_CurrentStage = 400;
@ -195,8 +201,7 @@ function C008_DramaClass_Julia_Masturbate() {
function C008_DramaClass_Julia_QuaintComment() {
if (!C008_DramaClass_Julia_QuaintCommentDone) {
C008_DramaClass_Julia_QuaintCommentDone = true;
if (PlayerGetSkillLevel("Seduction") >= 1) ActorChangeAttitude(2, 0);
else ActorChangeAttitude(1, 0);
ActorChangeAttitude(1 + PlayerGetSkillLevel("Seduction"), 0);
}
C008_DramaClass_Julia_CalcParams();
}

View file

@ -21,6 +21,7 @@ var C008_DramaClass_Villain_SpankDone = false;
var C008_DramaClass_Villain_OrgasmDone = false;
var C008_DramaClass_Villain_MastubateCount = 0;
var C008_DramaClass_Villain_RavishDone = false;
var C008_DramaClass_Villain_CanDoSwordDance = false;
// Calculates the scene parameters
function C008_DramaClass_Villain_CalcParams() {
@ -32,6 +33,7 @@ function C008_DramaClass_Villain_CalcParams() {
C008_DramaClass_Villain_CanConvinceJuliaToStrip = (C008_DramaClass_Villain_PlayerIsDamsel && !C008_DramaClass_Villain_IsGagged && (C008_DramaClass_Julia_CurrentStage == 400) && ((ActorSpecificGetValue("Amanda", ActorLove) >= 10) || (ActorSpecificGetValue("Amanda", ActorSubmission) >= 10)));
C008_DramaClass_Villain_DamselCanInteract = (C008_DramaClass_Villain_PlayerIsDamsel && !Common_PlayerGagged);
C008_DramaClass_Villain_DamselCanBeg = (C008_DramaClass_Villain_PlayerIsDamsel && Common_PlayerGagged);
C008_DramaClass_Villain_CanDoSwordDance = (!C008_DramaClass_Villain_PlayerIsDamsel && PlayerGetSkillLevel("Arts"));
OverridenIntroImage = "";
}
@ -262,3 +264,12 @@ function C008_DramaClass_Villain_Ravish() {
}
C008_DramaClass_Villain_CalcParams();
}
// Chapter 8 - Sword Dance, a special option to disarm the opponent using art
function C008_DramaClass_Villain_SwordDance() {
if (C008_DramaClass_Villain_PlayerIsHeroine) { C008_DramaClass_Villain_CurrentStage = 240; C008_DramaClass_Theater_GlobalStage = 240; }
if (C008_DramaClass_Villain_PlayerIsVillain) { C008_DramaClass_Villain_CurrentStage = 270; C008_DramaClass_Theater_GlobalStage = 270; }
ActorSpecificChangeAttitude("Julia", PlayerGetSkillLevel("Arts"), 0);
ActorSpecificChangeAttitude("Amanda", 0, 1);
ActorSpecificChangeAttitude("Sarah", 0, 1);
}

View file

@ -31,6 +31,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
230,0,0,PlayerIsHeroine,(Do a sword fight.),You charge each other and start|a funny but intense sword fight.,235,0,0,NoLeave()
230,0,0,PlayerIsHeroine,(Surrender without a fight.),You drop your sword and the black|knight steps forward with a grin.,270,0,0,Surrender()
230,0,0,PlayerIsDamsel,(Watch the fight.),Both knights charge on each other and|engage in a pretty neat sword fight.,235,0,0,NoLeave()
235,0,0,CanDoSwordDance,(Do a sword dance.)|(1 minute),You dance gracefully around your opponent and|easily disarm her while she's dazzled by you.,270,0,0,SwordDance()
235,0,0,CanIntimidate,(Intimidate her.)|(1 minute),You give a menacing look to Amanda which|barely fights and lets you disarm her.,270,0,0,"GlobalStage(270, 0, 1)"
235,0,0,CanDisarm,(Disarm her.)|(1 minute),Amanda puts a pretty nice fight but|you're able to win by disarming her.,270,0,0,"GlobalStage(270, 0, 0)"
235,0,0,PlayerIsVillain,(Play defensive.)|(1 minute),You stick to defensive moves and Amanda|takes advantage of it to disarm you.,240,0,0,"GlobalStage(240, 0, 0)"

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
31 230 0 0 PlayerIsHeroine (Do a sword fight.) You charge each other and start|a funny but intense sword fight. 235 0 0 NoLeave()
32 230 0 0 PlayerIsHeroine (Surrender without a fight.) You drop your sword and the black|knight steps forward with a grin. 270 0 0 Surrender()
33 230 0 0 PlayerIsDamsel (Watch the fight.) Both knights charge on each other and|engage in a pretty neat sword fight. 235 0 0 NoLeave()
34 235 0 0 CanDoSwordDance (Do a sword dance.)|(1 minute) You dance gracefully around your opponent and|easily disarm her while she's dazzled by you. 270 0 0 SwordDance()
35 235 0 0 CanIntimidate (Intimidate her.)|(1 minute) You give a menacing look to Amanda which|barely fights and lets you disarm her. 270 0 0 GlobalStage(270, 0, 1)
36 235 0 0 CanDisarm (Disarm her.)|(1 minute) Amanda puts a pretty nice fight but|you're able to win by disarming her. 270 0 0 GlobalStage(270, 0, 0)
37 235 0 0 PlayerIsVillain (Play defensive.)|(1 minute) You stick to defensive moves and Amanda|takes advantage of it to disarm you. 240 0 0 GlobalStage(240, 0, 0)

View file

@ -5,6 +5,7 @@ function C999_Common_Player_Load() {
C999_Common_Player_ActiveTab = "Profile";
LeaveIcon = "Leave";
LoadText();
PlayerSkillShowLevelUp = 0;
}
// Returns the title for the player based on actor interactions

View file

@ -248,6 +248,9 @@ function DrawInventory(ctx) {
else
DrawImage(ctx, "Icons/" + GetPlayerIconImage() + "_Inactive.png", 0, 601);
// Draw an arrow over the player head if there's a skill level up
if (PlayerSkillShowLevelUp > 0) DrawImage(ctx, "Icons/SkillLevelUp.png", 0, 601);
// Scroll in the full inventory to draw the icons and quantity, draw a padlock over the item if it's locked
var Pos = 1;
for (var I = 0; I < PlayerInventory.length; I++) {

BIN
Icons/SkillLevelUp.png Normal file

Binary file not shown.

After

(image error) Size: 2.7 KiB

View file

@ -1,10 +1,14 @@
var PlayerSkill = [];
var PlayerSkillName = 0;
var PlayerSkillLevel = 1;
var PlayerSkillShowLevelUp = 0;
// Add a new skill or raise the skill level if the skill is already known
function PlayerAddSkill(SkillToAdd, LevelToAdd) {
// Shows the new skill warning for 15 seconds
PlayerSkillShowLevelUp = Math.round(15 * 1000 / RunInterval);
// If the skill is already known, we raise the level
for (var I = 0; I < PlayerSkill.length; I++)
if (SkillToAdd == PlayerSkill[I][PlayerSkillName]) {

View file

@ -13,6 +13,14 @@ var StruggleDone = false;
var StruggleImageFrame = 0;
var StruggleImageFrameMax = 1;
var StruggleImageFrameTime = 0;
var StruggleSkillBonus = 0;
// For each Rope Mastery level, it's 50% easier to struggle out
function StruggleLoad() {
StruggleDone = false;
StruggleProgress = 0;
StruggleSkillBonus = PlayerGetSkillLevel("RopeMastery");
}
// The next tick to lower the struggle time comes faster with harder levels
function StruggleGetNextTick() {
@ -53,7 +61,7 @@ function StruggleClick(SType, SDifficulty, SMessage, SDoneMessage, SX, SY, SRadi
// Raise the progress by 2 for each click, 100 is done
if (StruggleProgress <= 0) StruggleProgress = 8;
StruggleProgress = StruggleProgress + 2;
StruggleProgress = StruggleProgress + 2 + StruggleSkillBonus;
if (StruggleProgress >= 100) {
StruggleProgress = 100;
StruggleDone = true;

View file

@ -32,6 +32,7 @@ function ProcessTimer() {
// Ticks the timer every for the screen refresh and events
clearInterval(CurrentTimer);
CurrentTimer = setInterval("MainRun()", RunInterval);
if (PlayerSkillShowLevelUp > 0) PlayerSkillShowLevelUp--;
// If the timer must run
if (RunTimer) {