<![CDATA[Unofficial Hotscreen Community - All Forums]]> https://hotscreen.dominated.dev/ Sun, 22 Mar 2026 10:47:52 +0000 MyBB <![CDATA[Gaussian Blur Shader]]> https://hotscreen.dominated.dev/showthread.php?tid=68 Sat, 21 Mar 2026 16:35:04 +0000 lamba5da]]> https://hotscreen.dominated.dev/showthread.php?tid=68 I didn't like how built-in blur looked like at high values

.png   compar.png (Size: 1.25 MB / Downloads: 61)
So I generated a shader for another variant of adjustable Gaussian Blur

Adjustables through code:
uniform float blur_radius : hint_range(0.0, 50.0) - The radius of the blur in pixels. Higher = more blur.
uniform float blur_intensity : hint_range(0.1, 5.0) - Higher values make the blur softer/more spread out for the same radius
There are little more, but I'm not sure what they do
...

Installation:

1. Just put .filter file in your CUSTOM_DATA directory
2. To add follow in Hotscreen: Add a Filter - Custom filters - Blur_shader


If you don't want to download anything, you can just copy it's code:
1. Follow in Hotscreen: Add a Filter - Mods - Shader effect
2. Press "Expand code window" and delete all the code
3. Paste this, and then press "Apply shader code":

shader_type canvas_item;

// --- Adjustable Parameters ---
// The radius of the blur in pixels. Higher = more blur but slower.
uniform float blur_radius : hint_range(0.0, 50.0) = 17.0;
// The intensity (sigma) of the gaussian distribution.
// Higher values make the blur softer/more spread out for the same radius.
uniform float blur_intensity : hint_range(0.1, 5.0) = 1.0;

// always put this to get if the border must be smoothed
uniform int use_smooth;

// this allows to sample the current screen correctly
global uniform int ScreenRotation;
global uniform sampler2D CurrentScreenTexture;

vec4 sampleCurrentScreen(vec2 uv, vec2 screen_pixel_size) {
vec2 rotated_uv = uv * (1.0-screen_pixel_size);
if (ScreenRotation == 2) {
rotated_uv = vec2(uv.y, 1.0 - uv.x);
} else if (ScreenRotation == 3) {
rotated_uv = vec2(uv.x, uv.y);
} else if (ScreenRotation == 4) {
rotated_uv = vec2(1.0 - uv.y, uv.x);
}
return texture(CurrentScreenTexture, rotated_uv).bgra;
}

// Helper to calculate Gaussian weight
float gaussian(float x, float sigma) {
return exp(-(x * x) / (2.0 * sigma * sigma));
}

void fragment() {
vec2 uv = SCREEN_UV;

// Normalize texel size to be consistent across resolutions (based on 1920 width reference)
float coherent_texel = 1.0 / 1920.0;
vec2 texel = vec2(coherent_texel, coherent_texel * SCREEN_PIXEL_SIZE.y / SCREEN_PIXEL_SIZE.x);

// Calculate Sigma based on radius and user intensity adjustment
// Standard Gaussian relation: sigma ≈ radius / 3.0 covers 99% of the curve
float sigma = max(0.1, (blur_radius / 3.0) * blur_intensity);

// Determine how many pixels to sample on either side of the center
// We clamp to prevent performance spikes, maxing out at roughly 32 samples per axis
int range = int(ceil(sigma * 3.0));
range = clamp(range, 1, 32);

vec4 accum = vec4(0.0);
float total_weight = 0.0;

// --- Horizontal Pass ---
for (int i = -range; i <= range; i++) {
float x_offset = float(i) * texel.x;
float weight = gaussian(float(i), sigma);

vec2 offsetUV = uv + vec2(x_offset, 0.0);
accum += sampleCurrentScreen(offsetUV, SCREEN_PIXEL_SIZE) * weight;
total_weight += weight;
}

// Normalize horizontal result
accum /= total_weight;

// --- Vertical Pass ---
// To do a true 2D Gaussian separable blur, we take the result of the horizontal pass
// and blur it vertically. Since we can't store intermediate textures easily in one pass,
// we simulate this by accumulating the vertical samples of the *already horizontally blurred* logic?
// NO: In a single pass fragment shader, we cannot actually do two distinct passes without a backbuffer.
//
// OPTIMIZATION FOR SINGLE PASS:
// A true separable blur requires two draws. In a single custom shader slot like this,
// doing a full 2D Gaussian kernel (sampling X then Y for every pixel) is O(R^2) and very slow.
//
// ALTERNATIVE APPROACH FOR SINGLE PASS:
// We will perform a standard 2D Gaussian Kernel sampling (Radial Gaussian).
// It is less efficient than separable but looks correct and fits the single-pass constraint.
// We reset accum and sample in a grid/circle pattern.

accum = vec4(0.0);
total_weight = 0.0;

// Sample in a square grid, discarding corners outside the radius for efficiency
for (int y = -range; y <= range; y++) {
for (int x = -range; x <= range; x++) {
float dist_sq = float(x*x + y*y);

// Optimization: Skip pixels outside the effective radius circle
if (dist_sq > float(range * range)) continue;

float dist = sqrt(dist_sq);
float weight = gaussian(dist, sigma);

vec2 offsetUV = uv + vec2(float(x) * texel.x, float(y) * texel.y);
accum += sampleCurrentScreen(offsetUV, SCREEN_PIXEL_SIZE) * weight;
total_weight += weight;
}
}

accum /= total_weight;

vec4 final_color = accum;

// Always put this code to correctly manage the transparency if smooth blending enabled
if (use_smooth == 1) {
final_color.a *= texture(TEXTURE, UV).r;
}
final_color.a *= COLOR.a;

COLOR = final_color;
}

.zip   Blur_shader.zip (Size: 5.43 KB / Downloads: 19) ]]>
I didn't like how built-in blur looked like at high values

.png   compar.png (Size: 1.25 MB / Downloads: 61)
So I generated a shader for another variant of adjustable Gaussian Blur

Adjustables through code:
uniform float blur_radius : hint_range(0.0, 50.0) - The radius of the blur in pixels. Higher = more blur.
uniform float blur_intensity : hint_range(0.1, 5.0) - Higher values make the blur softer/more spread out for the same radius
There are little more, but I'm not sure what they do
...

Installation:

1. Just put .filter file in your CUSTOM_DATA directory
2. To add follow in Hotscreen: Add a Filter - Custom filters - Blur_shader


If you don't want to download anything, you can just copy it's code:
1. Follow in Hotscreen: Add a Filter - Mods - Shader effect
2. Press "Expand code window" and delete all the code
3. Paste this, and then press "Apply shader code":

shader_type canvas_item;

// --- Adjustable Parameters ---
// The radius of the blur in pixels. Higher = more blur but slower.
uniform float blur_radius : hint_range(0.0, 50.0) = 17.0;
// The intensity (sigma) of the gaussian distribution.
// Higher values make the blur softer/more spread out for the same radius.
uniform float blur_intensity : hint_range(0.1, 5.0) = 1.0;

// always put this to get if the border must be smoothed
uniform int use_smooth;

// this allows to sample the current screen correctly
global uniform int ScreenRotation;
global uniform sampler2D CurrentScreenTexture;

vec4 sampleCurrentScreen(vec2 uv, vec2 screen_pixel_size) {
vec2 rotated_uv = uv * (1.0-screen_pixel_size);
if (ScreenRotation == 2) {
rotated_uv = vec2(uv.y, 1.0 - uv.x);
} else if (ScreenRotation == 3) {
rotated_uv = vec2(uv.x, uv.y);
} else if (ScreenRotation == 4) {
rotated_uv = vec2(1.0 - uv.y, uv.x);
}
return texture(CurrentScreenTexture, rotated_uv).bgra;
}

// Helper to calculate Gaussian weight
float gaussian(float x, float sigma) {
return exp(-(x * x) / (2.0 * sigma * sigma));
}

void fragment() {
vec2 uv = SCREEN_UV;

// Normalize texel size to be consistent across resolutions (based on 1920 width reference)
float coherent_texel = 1.0 / 1920.0;
vec2 texel = vec2(coherent_texel, coherent_texel * SCREEN_PIXEL_SIZE.y / SCREEN_PIXEL_SIZE.x);

// Calculate Sigma based on radius and user intensity adjustment
// Standard Gaussian relation: sigma ≈ radius / 3.0 covers 99% of the curve
float sigma = max(0.1, (blur_radius / 3.0) * blur_intensity);

// Determine how many pixels to sample on either side of the center
// We clamp to prevent performance spikes, maxing out at roughly 32 samples per axis
int range = int(ceil(sigma * 3.0));
range = clamp(range, 1, 32);

vec4 accum = vec4(0.0);
float total_weight = 0.0;

// --- Horizontal Pass ---
for (int i = -range; i <= range; i++) {
float x_offset = float(i) * texel.x;
float weight = gaussian(float(i), sigma);

vec2 offsetUV = uv + vec2(x_offset, 0.0);
accum += sampleCurrentScreen(offsetUV, SCREEN_PIXEL_SIZE) * weight;
total_weight += weight;
}

// Normalize horizontal result
accum /= total_weight;

// --- Vertical Pass ---
// To do a true 2D Gaussian separable blur, we take the result of the horizontal pass
// and blur it vertically. Since we can't store intermediate textures easily in one pass,
// we simulate this by accumulating the vertical samples of the *already horizontally blurred* logic?
// NO: In a single pass fragment shader, we cannot actually do two distinct passes without a backbuffer.
//
// OPTIMIZATION FOR SINGLE PASS:
// A true separable blur requires two draws. In a single custom shader slot like this,
// doing a full 2D Gaussian kernel (sampling X then Y for every pixel) is O(R^2) and very slow.
//
// ALTERNATIVE APPROACH FOR SINGLE PASS:
// We will perform a standard 2D Gaussian Kernel sampling (Radial Gaussian).
// It is less efficient than separable but looks correct and fits the single-pass constraint.
// We reset accum and sample in a grid/circle pattern.

accum = vec4(0.0);
total_weight = 0.0;

// Sample in a square grid, discarding corners outside the radius for efficiency
for (int y = -range; y <= range; y++) {
for (int x = -range; x <= range; x++) {
float dist_sq = float(x*x + y*y);

// Optimization: Skip pixels outside the effective radius circle
if (dist_sq > float(range * range)) continue;

float dist = sqrt(dist_sq);
float weight = gaussian(dist, sigma);

vec2 offsetUV = uv + vec2(float(x) * texel.x, float(y) * texel.y);
accum += sampleCurrentScreen(offsetUV, SCREEN_PIXEL_SIZE) * weight;
total_weight += weight;
}
}

accum /= total_weight;

vec4 final_color = accum;

// Always put this code to correctly manage the transparency if smooth blending enabled
if (use_smooth == 1) {
final_color.a *= texture(TEXTURE, UV).r;
}
final_color.a *= COLOR.a;

COLOR = final_color;
}

.zip   Blur_shader.zip (Size: 5.43 KB / Downloads: 19) ]]>
<![CDATA[Beta Chastity Timer]]> https://hotscreen.dominated.dev/showthread.php?tid=67 Wed, 18 Mar 2026 22:11:20 +0000 Xx_Noice_xX]]> https://hotscreen.dominated.dev/showthread.php?tid=67
With the help of AI i created a timer which increases the more you look at nudity. 
The idea would be to punish the user for looking at nudity and increasing the time spent in chastity.


.png   Chastity Time .png (Size: 991.78 KB / Downloads: 121)

.zip   Chastitytimer.zip (Size: 4.27 KB / Downloads: 69) ]]>

With the help of AI i created a timer which increases the more you look at nudity. 
The idea would be to punish the user for looking at nudity and increasing the time spent in chastity.


.png   Chastity Time .png (Size: 991.78 KB / Downloads: 121)

.zip   Chastitytimer.zip (Size: 4.27 KB / Downloads: 69) ]]>
<![CDATA[Red Light & Green Light Game]]> https://hotscreen.dominated.dev/showthread.php?tid=66 Wed, 18 Mar 2026 12:48:06 +0000 siamirold]]> https://hotscreen.dominated.dev/showthread.php?tid=66
Rule:
Red light = stop, hands off.
Green light = go jerk off to the censor.

NO CHEATING ! NO CHEATING ! NO CHEATING !

This is a version without any humiliation words, because I’m not sure if you enjoy being humiliated like my subs do, and sexual preferences vary too. So this version contains absolutely no humiliation.

.png   screenshot_112709974.png (Size: 1.43 MB / Downloads: 136)

.png   screenshot_3255585084.png (Size: 1.39 MB / Downloads: 102)

.collection   Red Light & Green Light.collection (Size: 14.53 KB / Downloads: 97) ]]>

Rule:
Red light = stop, hands off.
Green light = go jerk off to the censor.

NO CHEATING ! NO CHEATING ! NO CHEATING !

This is a version without any humiliation words, because I’m not sure if you enjoy being humiliated like my subs do, and sexual preferences vary too. So this version contains absolutely no humiliation.

.png   screenshot_112709974.png (Size: 1.43 MB / Downloads: 136)

.png   screenshot_3255585084.png (Size: 1.39 MB / Downloads: 102)

.collection   Red Light & Green Light.collection (Size: 14.53 KB / Downloads: 97) ]]>
<![CDATA[fiction stories about the Betachip]]> https://hotscreen.dominated.dev/showthread.php?tid=65 Tue, 17 Mar 2026 06:46:48 +0000 TerriblePerson123]]> https://hotscreen.dominated.dev/showthread.php?tid=65
i'll start with some classic mangas:

Censored for Betas by ratatatat74:
https://hitomi.la/cg/censored-for-betas-...477.html#1

Honkai Star Rail Beta Chip Censor parts 1 & 2 by chihel:
https://hitomi.la/doujinshi/honkai-star-...029.html#1
https://hitomi.la/doujinshi/honkai-star-...508.html#1]]>

i'll start with some classic mangas:

Censored for Betas by ratatatat74:
https://hitomi.la/cg/censored-for-betas-...477.html#1

Honkai Star Rail Beta Chip Censor parts 1 & 2 by chihel:
https://hitomi.la/doujinshi/honkai-star-...029.html#1
https://hitomi.la/doujinshi/honkai-star-...508.html#1]]>
<![CDATA[pause when in game (working)]]> https://hotscreen.dominated.dev/showthread.php?tid=64 Mon, 16 Mar 2026 21:35:50 +0000 serd]]> https://hotscreen.dominated.dev/showthread.php?tid=64
(claude so powerful)

.png   hotscreen game detector.png (Size: 37.67 KB / Downloads: 57)

.zip   game_detector.mod.zip (Size: 2.16 KB / Downloads: 10) ]]>

(claude so powerful)

.png   hotscreen game detector.png (Size: 37.67 KB / Downloads: 57)

.zip   game_detector.mod.zip (Size: 2.16 KB / Downloads: 10) ]]>
<![CDATA[Intiface integration]]> https://hotscreen.dominated.dev/showthread.php?tid=63 Fri, 13 Mar 2026 10:05:41 +0000 Wombatant1]]> https://hotscreen.dominated.dev/showthread.php?tid=63 I Claude-ed a simple mod that allows for vibration triggering on bodypart detecion, with customizable delay and 'grace period' that is the same thing as 'stay detected during' setting in filters.

Simply put - add a mod, click connect (the connection takes longer than other apps of this kind, no idea why tho) select the vibe intensity and bodyparts it has to react to and you're good


.zip   intiface_detection_v1.1.mod.zip (Size: 4.96 KB / Downloads: 14)

I'm working on patterns and and multi-vibrating toys, but i can't make it satisfactory.
Implemented patterns menu is availbe in v1.3, but i don't like this ui, so consider this a wip:


.zip   intiface_detection_v1.3.mod.zip (Size: 8.21 KB / Downloads: 34)

you can select different patterns for different bodypart and then select which bodypart triggers the vibration. (there's 'escalation mode' but it's not functional as patterns kind of eliminated it's use]]>
I Claude-ed a simple mod that allows for vibration triggering on bodypart detecion, with customizable delay and 'grace period' that is the same thing as 'stay detected during' setting in filters.

Simply put - add a mod, click connect (the connection takes longer than other apps of this kind, no idea why tho) select the vibe intensity and bodyparts it has to react to and you're good


.zip   intiface_detection_v1.1.mod.zip (Size: 4.96 KB / Downloads: 14)

I'm working on patterns and and multi-vibrating toys, but i can't make it satisfactory.
Implemented patterns menu is availbe in v1.3, but i don't like this ui, so consider this a wip:


.zip   intiface_detection_v1.3.mod.zip (Size: 8.21 KB / Downloads: 34)

you can select different patterns for different bodypart and then select which bodypart triggers the vibration. (there's 'escalation mode' but it's not functional as patterns kind of eliminated it's use]]>
<![CDATA[Discord notification + screenshot version (working)]]> https://hotscreen.dominated.dev/showthread.php?tid=62 Thu, 12 Mar 2026 15:07:43 +0000 serd]]> https://hotscreen.dominated.dev/showthread.php?tid=62
You select what body part can send a msg, the cooldown between msg, and a cooldown for false detection 

To use it: In Discord serveur, go to your channel → Edit Channel → Integrations → Webhooks → New Webhook → Copy URL, then paste it into the new field in the mod's UI.

(not working in private message)

.zip   discord_notification.mod.zip (Size: 3.15 KB / Downloads: 28)

.png   hotscreen mod.png (Size: 69.06 KB / Downloads: 250) ]]>

You select what body part can send a msg, the cooldown between msg, and a cooldown for false detection 

To use it: In Discord serveur, go to your channel → Edit Channel → Integrations → Webhooks → New Webhook → Copy URL, then paste it into the new field in the mod's UI.

(not working in private message)

.zip   discord_notification.mod.zip (Size: 3.15 KB / Downloads: 28)

.png   hotscreen mod.png (Size: 69.06 KB / Downloads: 250) ]]>
<![CDATA[Latency]]> https://hotscreen.dominated.dev/showthread.php?tid=59 Tue, 24 Feb 2026 23:41:15 +0000 FutaCumRag]]> https://hotscreen.dominated.dev/showthread.php?tid=59
.png   Screenshot 2026-02-24 183457.png (Size: 10.11 KB / Downloads: 45)
I get very high latency with consistent freezes.  Ryzen 7700 & RTX 5070. Please let me know if you find solutions]]>

.png   Screenshot 2026-02-24 183457.png (Size: 10.11 KB / Downloads: 45)
I get very high latency with consistent freezes.  Ryzen 7700 & RTX 5070. Please let me know if you find solutions]]>
<![CDATA[Xtoy integration Help]]> https://hotscreen.dominated.dev/showthread.php?tid=56 Mon, 16 Feb 2026 02:12:55 +0000 Victim2338]]> https://hotscreen.dominated.dev/showthread.php?tid=56 I just have difficulty finding the mod. Anyone have an idea?
.png   Screenshot 2026-02-16 031214.png (Size: 38.39 KB / Downloads: 155)
.png   Screenshot 2026-02-16 031214.png (Size: 38.39 KB / Downloads: 155) ]]>
I just have difficulty finding the mod. Anyone have an idea?
.png   Screenshot 2026-02-16 031214.png (Size: 38.39 KB / Downloads: 155)
.png   Screenshot 2026-02-16 031214.png (Size: 38.39 KB / Downloads: 155) ]]>
<![CDATA[Prompt pop-up?]]> https://hotscreen.dominated.dev/showthread.php?tid=55 Fri, 06 Feb 2026 23:51:05 +0000 dick322]]> https://hotscreen.dominated.dev/showthread.php?tid=55 Is this possible to do with a mod so a pop-up window with some text could appear over the body and you need to type in some text?]]> Is this possible to do with a mod so a pop-up window with some text could appear over the body and you need to type in some text?]]> <![CDATA[[Payment window] Instalation prompt]]> https://hotscreen.dominated.dev/showthread.php?tid=54 Thu, 22 Jan 2026 15:15:09 +0000 Wombatant1]]> https://hotscreen.dominated.dev/showthread.php?tid=54 I've made gemini create this scene that can be used in paywall filter to make a fake installation window that upgrades your tier when you proceed with installation. However I have no idea how to make it stop prompting this payment window once the 'instalation' is complete - even when money is full, nooo body part is costing to watch, the window keeps getting back - idk if there's something missing in the scene or is this how the paywall works - if yoou people have any idea please let me know!


.zip   installer_game.paymenu.zip (Size: 2.48 KB / Downloads: 119) ]]>
I've made gemini create this scene that can be used in paywall filter to make a fake installation window that upgrades your tier when you proceed with installation. However I have no idea how to make it stop prompting this payment window once the 'instalation' is complete - even when money is full, nooo body part is costing to watch, the window keeps getting back - idk if there's something missing in the scene or is this how the paywall works - if yoou people have any idea please let me know!


.zip   installer_game.paymenu.zip (Size: 2.48 KB / Downloads: 119) ]]>
<![CDATA[Eyes show through box]]> https://hotscreen.dominated.dev/showthread.php?tid=53 Fri, 16 Jan 2026 12:17:02 +0000 Chasub1]]> https://hotscreen.dominated.dev/showthread.php?tid=53
downloaded the program today and am wondering if this is normal ?

The collection is the built-in collection Eyes censored and body pixelated. Other collections seem to have the same kind of behaviour. Just googled female face for an example to show my problem.

As you can see the eyes show through the box, sometimes just the pupils. It looks kinda scary D: ^^ In many rnd examples on here I see the box be fully on top.
(example2 image is with user created censorbox collection)

Can the box be set to be a hard box over top of everything when it makes a detection ? Or is it meant to anyway and there is something wrong with my stuff ? It's clearly detecting, just showing the literal eyeballs (and often hair etc) through the box.^^ Thanks for any help.

Edit: I downloaded the old 0.4.2 and that one does not have this issue.

Edit: fixed, am dumb had mod installed early on when i was experimenting and didn't realize LOL

.png   rndExample.png (Size: 567.73 KB / Downloads: 130)

.png   example2.png (Size: 372.69 KB / Downloads: 98) ]]>

downloaded the program today and am wondering if this is normal ?

The collection is the built-in collection Eyes censored and body pixelated. Other collections seem to have the same kind of behaviour. Just googled female face for an example to show my problem.

As you can see the eyes show through the box, sometimes just the pupils. It looks kinda scary D: ^^ In many rnd examples on here I see the box be fully on top.
(example2 image is with user created censorbox collection)

Can the box be set to be a hard box over top of everything when it makes a detection ? Or is it meant to anyway and there is something wrong with my stuff ? It's clearly detecting, just showing the literal eyeballs (and often hair etc) through the box.^^ Thanks for any help.

Edit: I downloaded the old 0.4.2 and that one does not have this issue.

Edit: fixed, am dumb had mod installed early on when i was experimenting and didn't realize LOL

.png   rndExample.png (Size: 567.73 KB / Downloads: 130)

.png   example2.png (Size: 372.69 KB / Downloads: 98) ]]>
<![CDATA[Harsh collections?]]> https://hotscreen.dominated.dev/showthread.php?tid=50 Fri, 09 Jan 2026 06:38:21 +0000 Rugbyborsh]]> https://hotscreen.dominated.dev/showthread.php?tid=50
i absoluetly love this program. im not a computer wiz unfortunately but i have been enjoying experimenting with the collections and mods.

im just wanting to know if anyone has designed some collections or mods that are extremely harsh. like unable to undo the lock feature?]]>

i absoluetly love this program. im not a computer wiz unfortunately but i have been enjoying experimenting with the collections and mods.

im just wanting to know if anyone has designed some collections or mods that are extremely harsh. like unable to undo the lock feature?]]>
<![CDATA[Discord server]]> https://hotscreen.dominated.dev/showthread.php?tid=48 Tue, 06 Jan 2026 11:48:14 +0000 Rowdy]]> https://hotscreen.dominated.dev/showthread.php?tid=48
I was wondering if it would be cool to have a Discord server for the Hotscreen community, like a unofficial place where we could chat, share things/mods/collections or maybe even take control of other's hotscreens ?

Let me know if you're interested or if you think that's a bad idea^^

Have a great day of gooning Smile]]>

I was wondering if it would be cool to have a Discord server for the Hotscreen community, like a unofficial place where we could chat, share things/mods/collections or maybe even take control of other's hotscreens ?

Let me know if you're interested or if you think that's a bad idea^^

Have a great day of gooning Smile]]>
<![CDATA[MOD - increase lock timer on wrong level.]]> https://hotscreen.dominated.dev/showthread.php?tid=47 Sat, 03 Jan 2026 20:30:46 +0000 TerryLong]]> https://hotscreen.dominated.dev/showthread.php?tid=47 Here's how it works:
You set the level goal in the mod (this is the level you should try to stay at).
Then you set how much time should be added whenever you are not that level with any level collection.
That's it, you're done!
Now just pick a level collection (I'd recommend one with decay, but you do you) and try to stay at that level.

Some ideas for possible uses:
Make a really hard level to maintain so you'd get forced to watch a shitload of porn before you can turn off your censors again.
Make a collection that punishes you for watching porn by locking you out longer.

You can also use a negative value on the time that should be added so you'll be rewarded for not hitting the level goal.

Have fun and don't be a stranger ;p

P.S. I'm kinda working on a level collection with this mod in mind.

.zip   punish_level_lock_timer.mod.tscn.zip (Size: 1.83 KB / Downloads: 234) ]]>
Here's how it works:
You set the level goal in the mod (this is the level you should try to stay at).
Then you set how much time should be added whenever you are not that level with any level collection.
That's it, you're done!
Now just pick a level collection (I'd recommend one with decay, but you do you) and try to stay at that level.

Some ideas for possible uses:
Make a really hard level to maintain so you'd get forced to watch a shitload of porn before you can turn off your censors again.
Make a collection that punishes you for watching porn by locking you out longer.

You can also use a negative value on the time that should be added so you'll be rewarded for not hitting the level goal.

Have fun and don't be a stranger ;p

P.S. I'm kinda working on a level collection with this mod in mind.

.zip   punish_level_lock_timer.mod.tscn.zip (Size: 1.83 KB / Downloads: 234) ]]>