Armbinder for Player
Armbinder for Player
|
@ -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();
|
||||||
|
|
|
@ -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");
|
||||||
|
|
||||||
}
|
}
|
BIN
C999_Common/Armbinder/Armbinder.jpg
Normal file
After ![]() (image error) Size: 48 KiB |
3
C999_Common/Armbinder/Intro_EN.csv
Normal 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
|
|
42
C999_Common/Armbinder/Script.js
Normal 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");
|
||||||
|
}
|
7
C999_Common/Armbinder/Stage_EN.csv
Normal 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,
|
|
2
C999_Common/Armbinder/Text_EN.csv
Normal 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.
|
|
BIN
C999_Common/Player/ChastityBelt_Armbinder_Collar_BallGag.jpg
Normal file
After ![]() (image error) Size: 41 KiB |
BIN
C999_Common/Player/ChastityBelt_Armbinder_Collar_ClothGag.jpg
Normal file
After ![]() (image error) Size: 39 KiB |
BIN
C999_Common/Player/ChastityBelt_Armbinder_Collar_NoGag.jpg
Normal file
After ![]() (image error) Size: 39 KiB |
BIN
C999_Common/Player/ChastityBelt_Armbinder_Collar_TapeGag.jpg
Normal file
After ![]() (image error) Size: 39 KiB |
BIN
C999_Common/Player/ChastityBelt_Armbinder_NoCollar_BallGag.jpg
Normal file
After ![]() (image error) Size: 40 KiB |
BIN
C999_Common/Player/ChastityBelt_Armbinder_NoCollar_ClothGag.jpg
Normal file
After ![]() (image error) Size: 39 KiB |
BIN
C999_Common/Player/ChastityBelt_Armbinder_NoCollar_NoGag.jpg
Normal file
After ![]() (image error) Size: 39 KiB |
BIN
C999_Common/Player/ChastityBelt_Armbinder_NoCollar_TapeGag.jpg
Normal file
After ![]() (image error) Size: 39 KiB |
BIN
C999_Common/Player/Clothed_Armbinder_BallGag.jpg
Normal file
After ![]() (image error) Size: 52 KiB |
BIN
C999_Common/Player/Clothed_Armbinder_ClothGag.jpg
Normal file
After ![]() (image error) Size: 51 KiB |
BIN
C999_Common/Player/Clothed_Armbinder_NoGag.jpg
Normal file
After ![]() (image error) Size: 51 KiB |
BIN
C999_Common/Player/Clothed_Armbinder_TapeGag.jpg
Normal file
After ![]() (image error) Size: 51 KiB |
BIN
C999_Common/Player/Naked_Armbinder_Collar_BallGag.jpg
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
C999_Common/Player/Naked_Armbinder_Collar_ClothGag.jpg
Normal file
After ![]() (image error) Size: 37 KiB |
BIN
C999_Common/Player/Naked_Armbinder_Collar_NoGag.jpg
Normal file
After ![]() (image error) Size: 36 KiB |
BIN
C999_Common/Player/Naked_Armbinder_Collar_TapeGag.jpg
Normal file
After ![]() (image error) Size: 37 KiB |
BIN
C999_Common/Player/Naked_Armbinder_NoCollar_BallGag.jpg
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
C999_Common/Player/Naked_Armbinder_NoCollar_ClothGag.jpg
Normal file
After ![]() (image error) Size: 36 KiB |
BIN
C999_Common/Player/Naked_Armbinder_NoCollar_NoGag.jpg
Normal file
After ![]() (image error) Size: 36 KiB |
BIN
C999_Common/Player/Naked_Armbinder_NoCollar_TapeGag.jpg
Normal file
After ![]() (image error) Size: 36 KiB |
BIN
C999_Common/Player/Underwear_Armbinder_Collar_BallGag.jpg
Normal file
After ![]() (image error) Size: 40 KiB |
BIN
C999_Common/Player/Underwear_Armbinder_Collar_ClothGag.jpg
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
C999_Common/Player/Underwear_Armbinder_Collar_NoGag.jpg
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
C999_Common/Player/Underwear_Armbinder_Collar_TapeGag.jpg
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
C999_Common/Player/Underwear_Armbinder_NoCollar_BallGag.jpg
Normal file
After ![]() (image error) Size: 39 KiB |
BIN
C999_Common/Player/Underwear_Armbinder_NoCollar_ClothGag.jpg
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
C999_Common/Player/Underwear_Armbinder_NoCollar_NoGag.jpg
Normal file
After ![]() (image error) Size: 38 KiB |
BIN
C999_Common/Player/Underwear_Armbinder_NoCollar_TapeGag.jpg
Normal file
After ![]() (image error) Size: 38 KiB |
|
@ -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
After ![]() (image error) Size: 5.2 KiB |
BIN
Icons/Armbinder_Inactive.png
Normal file
After ![]() (image error) Size: 4.9 KiB |
16
Inventory.js
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|