Private Bedroom - Sexual Activities (WIP)

This commit is contained in:
BondageProjects 2022-10-29 17:44:32 -04:00
parent ebf8c8a0bf
commit 7beb5e82f4
8 changed files with 65 additions and 5 deletions

Binary file not shown.

After

(image error) Size: 17 KiB

Binary file not shown.

After

(image error) Size: 951 B

Binary file not shown.

Before

(image error) Size: 175 KiB

After

(image error) Size: 175 KiB

View file

@ -1,12 +1,32 @@
"use strict";
var PrivateBedBackground = "Private";
var PrivateBedCharacter = [];
var PrivateBedActivity = "Caress";
var PrivateBedActivityList = ["Caress", "Kiss"];
var PrivateBedLog = [];
/**
* Loads the private bedroom screen.
* @returns {void} - Nothing.
*/
function PrivateBedLoad() {
PrivateBedLog = [];
CharacterSetActivePose(Player, null, true);
PrivateBedBackground = PrivateBackground;
PrivateBedCharacter = [];
PrivateBedCharacter.push(Player);
Player.PrivateBedLeft = 1100;
Player.PrivateBedTop = 0;
if (Player.HeightRatio != null) Player.PrivateBedTop = (1 - Player.HeightRatio) * -1000;
}
/**
* Draws a private bedroom character.
* @param {Character} C - The character to draw.
* @returns {void} - Nothing.
*/
function PrivateBedDrawCharacter(C) {
DrawCharacter(C, C.PrivateBedLeft, C.PrivateBedTop, 1);
}
/**
@ -16,11 +36,30 @@ function PrivateBedLoad() {
function PrivateBedRun() {
if (LogQuery("BedBlack", "PrivateRoom")) DrawImage("Screens/Room/PrivateBed/Black.png", 0, 0);
if (LogQuery("BedWhite", "PrivateRoom")) DrawImage("Screens/Room/PrivateBed/White.png", 0, 0);
let Y = 0;
if (Player.HeightRatio != null) Y = (1 - Player.HeightRatio) * -1000;
DrawCharacter(Player, 750, Y, 1);
for (let C of PrivateBedCharacter)
PrivateBedDrawCharacter(C);
DrawButton(1885, 25, 90, 90, "", "White", "Icons/Exit.png", TextGet("Exit"));
if (Player.CanChangeOwnClothes()) DrawButton(1885, 145, 90, 90, "", "White", "Icons/Dress.png", TextGet("Dress"));
for (let A = PrivateBedActivityList.length - 1; A >= 0; A--)
DrawButton(20 + (A * 110), 20, 90, 90, "", ((PrivateBedActivityList[A] == PrivateBedActivity) ? "#AAFFAA" : "White"), "Icons/Activity/" + PrivateBedActivityList[A] + ".png", TextGet("Activity" + PrivateBedActivityList[A]));
DrawRect(20, 260, 820, 720, "#000000A0");
DrawEmptyRect(20, 260, 820, 720, "#FFFFFF", 2);
for (let L = PrivateBedLog.length - 1; L >= 0; L--)
DrawTextFit(PrivateBedLog[L], 420, (L * 57) + 305, 800, "#FFFFFF", "#000000");
}
/**
* Starts an arousal action on a character.
* @param {Character} Source - The source character.
* @param {Character} Target - The target character.
* @param {AssetGroup} Group - The zone / group to target.
* @param {String} Activity - The activity to do.
* @returns {void} - Nothing.
*/
function PrivateBedActivityStart(Source, Target, Group, Activity) {
ActivityEffect(Source, Target, Activity, Group.Name, 1);
if (PrivateBedLog.length >= 12) PrivateBedLog.splice(0, 1);
PrivateBedLog.push(CharacterNickname(Source) + " " + TextGet("Activity" + Activity) + " " + ((Source.ID == Target.ID) ? TextGet("Her") : CharacterNickname(Target)) + " " + Group.Description);
}
/**
@ -28,8 +67,26 @@ function PrivateBedRun() {
* @returns {void} - Nothing.
*/
function PrivateBedClick() {
// Bedroom buttons on the right side
if (MouseIn(1885, 25, 90, 90)) PrivateBedExit();
if (MouseIn(1885, 145, 90, 90) && Player.CanChangeOwnClothes()) CharacterAppearanceLoadCharacter(Player);
// Activity buttons on the left side
for (let A = PrivateBedActivityList.length - 1; A >= 0; A--)
if (MouseIn(20 + (A * 110), 20, 90, 90))
PrivateBedActivity = PrivateBedActivityList[A];
// If an arousal zone on one of the character was clicked
for (let C of PrivateBedCharacter)
if (MouseIn(C.PrivateBedLeft, C.PrivateBedTop, 500, C.HeightRatio * 1000))
for (let A = 0; A < AssetGroup.length; A++)
if ((AssetGroup[A].Zone != null) && !AssetGroup[A].MirrorActivitiesFrom && AssetActivitiesForGroup("Female3DCG", AssetGroup[A].Name).length)
if (ActivityCanBeDone(C, PrivateBedActivity, AssetGroup[A].Name) && !InventoryGroupIsBlocked(C, AssetGroup[A].Name, true))
for (let Z = 0; Z < AssetGroup[A].Zone.length; Z++)
if (DialogClickedInZone(C, AssetGroup[A].Zone[Z], 1, C.PrivateBedLeft, C.PrivateBedTop, C.HeightRatio))
return PrivateBedActivityStart(Player, C, AssetGroup[A], PrivateBedActivity);
}
/**

View file

@ -1,2 +1,5 @@
Exit,Return to your room
Dress,Change your clothes
ActivityCaress,Caress
ActivityKiss,Kiss
Her,her

1 Exit Return to your room
2 Dress Change your clothes
3 ActivityCaress Caress
4 ActivityKiss Kiss
5 Her her

Binary file not shown.

Before

(image error) Size: 175 KiB

After

(image error) Size: 175 KiB

View file

@ -16,7 +16,7 @@ var ActivityOrgasmRuined = false; // If set to true, the orgasm will be ruined r
*/
function ActivityAllowed() {
return (CurrentScreen == "ChatRoom" && !(ChatRoomData && ChatRoomData.BlockCategory && ChatRoomData.BlockCategory.includes("Arousal")))
|| ((CurrentScreen == "Private") && LogQuery("RentRoom", "PrivateRoom")); }
|| (((CurrentScreen == "Private") || (CurrentScreen == "PrivateBed")) && LogQuery("RentRoom", "PrivateRoom")); }
/**
* Loads the activity dictionary that will be used throughout the game to output messages. Loads from cache first if possible.

View file

@ -383,7 +383,7 @@ function DrawCharacter(C, X, Y, Zoom, IsHeightResizeAllowed, DrawCanvas) {
}
// Draw the character name below herself
if ((C.Name != "") && ((CurrentModule == "Room") || (CurrentModule == "Online" && !(CurrentScreen == "ChatRoom" && ChatRoomHideIconState >= 3)) || ((CurrentScreen == "Wardrobe") && (C.ID != 0))) && (CurrentScreen != "Private") && (CurrentScreen != "PrivateRansom"))
if ((C.Name != "") && ((CurrentModule == "Room") || (CurrentModule == "Online" && !(CurrentScreen == "ChatRoom" && ChatRoomHideIconState >= 3)) || ((CurrentScreen == "Wardrobe") && (C.ID != 0))) && (CurrentScreen != "Private") && (CurrentScreen != "PrivateBed") && (CurrentScreen != "PrivateRansom"))
if ((!Player.IsBlind() && BlurLevel <= 10) || (Player.GameplaySettings && Player.GameplaySettings.SensDepChatLog == "SensDepLight")) {
DrawCanvas.font = CommonGetFont(30);
const NameOffset = CurrentScreen == "ChatRoom" && (ChatRoomCharacter.length > 5 || (ChatRoomCharacter.length == 5 && CommonPhotoMode)) && CurrentCharacter == null ? -4 : 0;