Armbinder for Player

Armbinder for Player
This commit is contained in:
Ben987 2018-03-20 23:58:43 -04:00
parent 348819d90b
commit 9484636687
40 changed files with 68 additions and 11 deletions

View file

@ -32,7 +32,7 @@ function C009_Library_Jennifer_CalcParams() {
C009_Library_Jennifer_IsGagged = ActorIsGagged(); C009_Library_Jennifer_IsGagged = ActorIsGagged();
C009_Library_Jennifer_IsRestrained = ActorIsRestrained(); C009_Library_Jennifer_IsRestrained = ActorIsRestrained();
C009_Library_Jennifer_IsChaste = ActorIsChaste(); C009_Library_Jennifer_IsChaste = ActorIsChaste();
C009_Library_Jennifer_CanUntie = (ActorHasInventory("Rope") && !Common_PlayerRestrained); C009_Library_Jennifer_CanUntie = ((ActorHasInventory("Rope") || ActorHasInventory("Armbinder")) && !Common_PlayerRestrained);
C009_Library_Jennifer_CanUngag = (C009_Library_Jennifer_IsGagged && !Common_PlayerRestrained); C009_Library_Jennifer_CanUngag = (C009_Library_Jennifer_IsGagged && !Common_PlayerRestrained);
C009_Library_Jennifer_CanAbuse = (C009_Library_Jennifer_IsRestrained && !Common_PlayerRestrained); C009_Library_Jennifer_CanAbuse = (C009_Library_Jennifer_IsRestrained && !Common_PlayerRestrained);
C009_Library_Jennifer_CanKiss = ((C009_Library_Jennifer_IsRestrained || (ActorGetValue(ActorLove) >= 5) || (PlayerGetSkillLevel("Seduction") >= 1)) && !Common_PlayerGagged && !C009_Library_Jennifer_IsGagged); C009_Library_Jennifer_CanKiss = ((C009_Library_Jennifer_IsRestrained || (ActorGetValue(ActorLove) >= 5) || (PlayerGetSkillLevel("Seduction") >= 1)) && !Common_PlayerGagged && !C009_Library_Jennifer_IsGagged);
@ -156,7 +156,7 @@ function C009_Library_Jennifer_Click() {
} }
// On specific stages where Jennifer is naked, the player can get items to restrain her // On specific stages where Jennifer is naked, the player can get items to restrain her
if (((ClickInv == "Rope") || (ClickInv == "Cuffs") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "TapeGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg") || (ClickInv == "Crop") || (ClickInv == "Collar")) && (C009_Library_Jennifer_CurrentStage in {171:1,172:1,173:1,174:1,175:1,176:1,177:1,178:1,235:1,240:1,250:1,260:1,270:1,280:1})) { if (((ClickInv == "Rope") || (ClickInv == "Armbinder") || (ClickInv == "Cuffs") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "TapeGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg") || (ClickInv == "Crop") || (ClickInv == "Collar")) && (C009_Library_Jennifer_CurrentStage in {171:1,172:1,173:1,174:1,175:1,176:1,177:1,178:1,235:1,240:1,250:1,260:1,270:1,280:1})) {
C009_Library_Jennifer_CurrentStage = 300; C009_Library_Jennifer_CurrentStage = 300;
OverridenIntroText = GetText("JumpOffWorry"); OverridenIntroText = GetText("JumpOffWorry");
C009_Library_Jennifer_SetPose(); C009_Library_Jennifer_SetPose();

View file

@ -34,4 +34,4 @@ function C009_Library_Outro_Click() {
TextPhase++; TextPhase++;
if (TextPhase >= 3) SaveMenu("C101_KinbakuClub", "Intro"); if (TextPhase >= 3) SaveMenu("C101_KinbakuClub", "Intro");
} }

Binary file not shown.

After

(image error) Size: 48 KiB

View file

@ -0,0 +1,3 @@
Stage,LoveReq,SubReq,VarReq,IntroText,Image
0,0,0,,This one sleeved leather armbinder is|used to restrain someone behind her back.,Armbinder.jpg
10,0,0,,"Without help, there's no way to slip|out if this one sleeved leather armbinder.",Armbinder.jpg
1 Stage LoveReq SubReq VarReq IntroText Image
2 0 0 0 This one sleeved leather armbinder is|used to restrain someone behind her back. Armbinder.jpg
3 10 0 0 Without help, there's no way to slip|out if this one sleeved leather armbinder. Armbinder.jpg

View file

@ -0,0 +1,42 @@
var C999_Common_Armbinder_CurrentStage = 0;
var C999_Common_Armbinder_HasLooseArmbinder = 0;
// Chapter Common - Armbinder Load
function C999_Common_Armbinder_Load() {
// Load the scene parameters
LeaveIcon = "Leave";
LoadInteractions();
// Set the correct starting stage
if (PlayerHasLockedInventory("Armbinder") == true) C999_Common_Armbinder_CurrentStage = 10;
else C999_Common_Armbinder_CurrentStage = 0;
// If the player has a loose Armbinder
C999_Common_Armbinder_HasLooseArmbinder = PlayerHasInventory("Armbinder");
}
// Chapter Common - Armbinder Run, we draw the regular player image if the item is on
function C999_Common_Armbinder_Run() {
BuildInteraction(C999_Common_Armbinder_CurrentStage);
if (PlayerHasLockedInventory("Armbinder") && (OverridenIntroImage == "")) DrawPlayerImage(150, 240);
}
// Chapter Common - Armbinder Click, allow regular interactions and clicking on another item
function C999_Common_Armbinder_Click() {
OverridenIntroImage = "";
ClickInteraction(C999_Common_Armbinder_CurrentStage);
InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
}
// Chapter Common - Show the item image
function C999_Common_Armbinder_ShowImage() {
OverridenIntroImage = "Armbinder.jpg";
}
// Chapter Common - When the player wants to strap herself
function C999_Common_Armbinder_QuerySelfBondage() {
if (!Common_BondageAllowed || !Common_SelfBondageAllowed)
OverridenIntroText = GetText("BadTiming");
}

View file

@ -0,0 +1,7 @@
Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
0,0,0,,(Inspect it.)|(1 minute),This armbinder seems very strong.|It won't break if someone struggles in it.,0,0,0,
0,0,0,,(Play with it.)|(1 minute),You play with the leather straps and laces.|The feel on your skin makes you shiver with anticipation.,0,0,0,
0,0,0,Common_PlayerNotRestrained,(Strap yourself.)|(1 minute),You slide your arms inside but it won't|hold without someone else to lace and strap.,0,0,0,
10,0,0,HasLooseArmbinder,(Play with the loose|armbinder.) (1 minute),You play with the loose armbinder|while being restrained but can't do much.,10,0,0,ShowImage()
10,0,0,,(Try to break it.)|(1 minute),"Using all your strength, you try to|break the armbinder but fail miserably.",10,0,0,
10,0,0,,(Struggle to get out.)|(1 minute),You struggle madly in the device|but cannot manage to get out.,10,0,0,
1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
2 0 0 0 (Inspect it.)|(1 minute) This armbinder seems very strong.|It won't break if someone struggles in it. 0 0 0
3 0 0 0 (Play with it.)|(1 minute) You play with the leather straps and laces.|The feel on your skin makes you shiver with anticipation. 0 0 0
4 0 0 0 Common_PlayerNotRestrained (Strap yourself.)|(1 minute) You slide your arms inside but it won't|hold without someone else to lace and strap. 0 0 0
5 10 0 0 HasLooseArmbinder (Play with the loose|armbinder.) (1 minute) You play with the loose armbinder|while being restrained but can't do much. 10 0 0 ShowImage()
6 10 0 0 (Try to break it.)|(1 minute) Using all your strength, you try to|break the armbinder but fail miserably. 10 0 0
7 10 0 0 (Struggle to get out.)|(1 minute) You struggle madly in the device|but cannot manage to get out. 10 0 0

View file

@ -0,0 +1,2 @@
Tag,Content
BadTiming,You fantasizes about tying yourself up but realize|that it might not be the best time for that.
1 Tag Content
2 BadTiming You fantasizes about tying yourself up but realize|that it might not be the best time for that.

Binary file not shown.

After

(image error) Size: 41 KiB

Binary file not shown.

After

(image error) Size: 39 KiB

Binary file not shown.

After

(image error) Size: 39 KiB

Binary file not shown.

After

(image error) Size: 39 KiB

Binary file not shown.

After

(image error) Size: 40 KiB

Binary file not shown.

After

(image error) Size: 39 KiB

Binary file not shown.

After

(image error) Size: 39 KiB

Binary file not shown.

After

(image error) Size: 39 KiB

Binary file not shown.

After

(image error) Size: 52 KiB

Binary file not shown.

After

(image error) Size: 51 KiB

Binary file not shown.

After

(image error) Size: 51 KiB

Binary file not shown.

After

(image error) Size: 51 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

After

(image error) Size: 37 KiB

Binary file not shown.

After

(image error) Size: 36 KiB

Binary file not shown.

After

(image error) Size: 37 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

After

(image error) Size: 36 KiB

Binary file not shown.

After

(image error) Size: 36 KiB

Binary file not shown.

After

(image error) Size: 36 KiB

Binary file not shown.

After

(image error) Size: 40 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

After

(image error) Size: 39 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

Binary file not shown.

After

(image error) Size: 38 KiB

View file

@ -327,6 +327,7 @@ function DrawGetPlayerImageName(IncludePose) {
var ImageBondage = "_NoBondage"; var ImageBondage = "_NoBondage";
if (PlayerHasLockedInventory("Cuffs") == true) ImageBondage = "_Cuffs"; if (PlayerHasLockedInventory("Cuffs") == true) ImageBondage = "_Cuffs";
if (PlayerHasLockedInventory("Rope") == true) ImageBondage = "_Rope"; if (PlayerHasLockedInventory("Rope") == true) ImageBondage = "_Rope";
if (PlayerHasLockedInventory("Armbinder") == true) ImageBondage = "_Armbinder";
// Third part is the collar, which only shows for certain clothes // Third part is the collar, which only shows for certain clothes
var ImageCollar = ""; var ImageCollar = "";
@ -386,6 +387,7 @@ function DrawActor(ActorToDraw, X, Y, Zoom) {
if (ActorSpecificHasInventory(ActorToDraw, "Cuffs")) ImageBondage = "_Cuffs"; if (ActorSpecificHasInventory(ActorToDraw, "Cuffs")) ImageBondage = "_Cuffs";
if (ActorSpecificHasInventory(ActorToDraw, "Rope")) ImageBondage = "_Rope"; if (ActorSpecificHasInventory(ActorToDraw, "Rope")) ImageBondage = "_Rope";
if (ActorSpecificHasInventory(ActorToDraw, "TwoRopes")) ImageBondage = "_TwoRopes"; if (ActorSpecificHasInventory(ActorToDraw, "TwoRopes")) ImageBondage = "_TwoRopes";
if (ActorSpecificHasInventory(ActorToDraw, "Armbinder")) ImageBondage = "_Armbinder";
// Third part is the collar, which only shows for certain clothes // Third part is the collar, which only shows for certain clothes
var ImageCollar = ""; var ImageCollar = "";

BIN
Icons/Armbinder_Active.png Normal file

Binary file not shown.

After

(image error) Size: 5.2 KiB

Binary file not shown.

After

(image error) Size: 4.9 KiB

View file

@ -15,7 +15,7 @@ function PlayerClothes(NewCloth) {
// Set the restrained and gagged common variables, used by many scenes // Set the restrained and gagged common variables, used by many scenes
function LoadRestrainStatus() { function LoadRestrainStatus() {
Common_PlayerRestrained = (PlayerHasLockedInventory("Cuffs") || PlayerHasLockedInventory("Rope")); Common_PlayerRestrained = (PlayerHasLockedInventory("Cuffs") || PlayerHasLockedInventory("Rope") || PlayerHasLockedInventory("Armbinder"));
Common_PlayerGagged = (PlayerHasLockedInventory("BallGag") || PlayerHasLockedInventory("TapeGag") || PlayerHasLockedInventory("ClothGag") || PlayerHasLockedInventory("DoubleOpenGag")); Common_PlayerGagged = (PlayerHasLockedInventory("BallGag") || PlayerHasLockedInventory("TapeGag") || PlayerHasLockedInventory("ClothGag") || PlayerHasLockedInventory("DoubleOpenGag"));
Common_PlayerChaste = PlayerHasLockedInventory("ChastityBelt"); Common_PlayerChaste = PlayerHasLockedInventory("ChastityBelt");
Common_PlayerNotRestrained = !Common_PlayerRestrained; Common_PlayerNotRestrained = !Common_PlayerRestrained;
@ -142,9 +142,11 @@ function PlayerRandomBondage() {
// Selects the restrain type // Selects the restrain type
var R = ""; var R = "";
if (!Common_PlayerRestrained) { if (!Common_PlayerRestrained) {
if (PlayerHasInventory("Rope") && PlayerHasInventory("Cuffs")) { if (Math.floor(Math.random() * 2) == 1) R = "Rope"; else R = "Cuffs"; } var RT = [];
if (PlayerHasInventory("Rope") && !PlayerHasInventory("Cuffs")) { R = "Rope"; } if (PlayerHasInventory("Rope")) RT.push("Rope");
if (!PlayerHasInventory("Rope") && PlayerHasInventory("Cuffs")) { R = "Cuffs"; } if (PlayerHasInventory("Cuffs")) RT.push("Cuffs");
if (PlayerHasInventory("Armbinder")) RT.push("Armbinder");
if (RT.length > 0) R = RT[Math.floor(Math.random() * RT.length)];
} }
// Selects the gag type // Selects the gag type
@ -160,9 +162,6 @@ function PlayerRandomBondage() {
// Applies them on the player // Applies them on the player
if (R != "") { PlayerRemoveInventory(R, 1); PlayerLockInventory(R); } if (R != "") { PlayerRemoveInventory(R, 1); PlayerLockInventory(R); }
if (G != "") { PlayerRemoveInventory(G, 1); PlayerLockInventory(G); } if (G != "") { PlayerRemoveInventory(G, 1); PlayerLockInventory(G); }
// If the player has rope, she must at least be in her underwear
if (PlayerHasLockedInventory("Rope") && Common_PlayerClothed) PlayerClothes("Underwear");
} }
@ -170,6 +169,7 @@ function PlayerRandomBondage() {
function PlayerReleaseBondage() { function PlayerReleaseBondage() {
if (PlayerHasLockedInventory("Cuffs")) { PlayerUnlockInventory("Cuffs"); PlayerAddInventory("Cuffs", 1); } if (PlayerHasLockedInventory("Cuffs")) { PlayerUnlockInventory("Cuffs"); PlayerAddInventory("Cuffs", 1); }
if (PlayerHasLockedInventory("Rope")) { PlayerUnlockInventory("Rope"); PlayerAddInventory("Rope", 1); } if (PlayerHasLockedInventory("Rope")) { PlayerUnlockInventory("Rope"); PlayerAddInventory("Rope", 1); }
if (PlayerHasLockedInventory("Armbinder")) { PlayerUnlockInventory("Armbinder"); PlayerAddInventory("Armbinder", 1); }
PlayerUngag(); PlayerUngag();
} }
@ -182,7 +182,7 @@ function PlayerUngag() {
// Add a random item in the player inventory // Add a random item in the player inventory
function PlayerAddRandomItem() { function PlayerAddRandomItem() {
var ItemList = ["BallGag", "TapeGag", "ClothGag", "Cuffs", "Rope", "ChastityBelt", "VibratingEgg", "Crop", "Collar", "SleepingPill"]; var ItemList = ["BallGag", "TapeGag", "ClothGag", "Cuffs", "Rope", "Armbinder", "ChastityBelt", "VibratingEgg", "Crop", "Collar", "SleepingPill"];
var Item = ItemList[Math.floor(Math.random() * 10)]; var Item = ItemList[Math.floor(Math.random() * 10)];
PlayerAddInventory(Item, 1); PlayerAddInventory(Item, 1);
if (Item == "TapeGag") PlayerAddInventory(Item, 7); // For tape gag, add a bonus + 7 quantity if (Item == "TapeGag") PlayerAddInventory(Item, 7); // For tape gag, add a bonus + 7 quantity

View file

@ -125,6 +125,7 @@
<script src="C999_Common/Cuffs/Script.js"></script> <script src="C999_Common/Cuffs/Script.js"></script>
<script src="C999_Common/CuffsKey/Script.js"></script> <script src="C999_Common/CuffsKey/Script.js"></script>
<script src="C999_Common/Rope/Script.js"></script> <script src="C999_Common/Rope/Script.js"></script>
<script src="C999_Common/Armbinder/Script.js"></script>
<script src="C999_Common/BallGag/Script.js"></script> <script src="C999_Common/BallGag/Script.js"></script>
<script src="C999_Common/TapeGag/Script.js"></script> <script src="C999_Common/TapeGag/Script.js"></script>
<script src="C999_Common/ClothGag/Script.js"></script> <script src="C999_Common/ClothGag/Script.js"></script>