This is my first game mod (more mods to come). If there are any bugs please let me know. I tested everything with The Handy,
Information
Game Store Page: DLsite
Funscripts provided by @99DM (here )
Game Mod Download: Pixeldrain / Gofile
How to install
54 Likes
dkskfm
June 23, 2025, 10:33am
2
one of my best game. thanks
3 Likes
T_P
June 23, 2025, 3:09pm
4
The naga in level 1 seems to have an empty script, nothing happens when it’s triggered ingame or played manually.
2 Likes
Kyral
June 23, 2025, 4:04pm
5
i’ve played through stage 1 completely but besides the hit/attack/jum scripts, nothing plays as it should
and for some reason i can’t save
Thank you I fixed this and updated the mod download link. The fault was a wrong funscript file reference inside the definitions.csv.
4 Likes
Try switching the selected variant for your toy to detailed or simple. That fixed it for me.
Kyral
June 24, 2025, 12:23pm
8
using the splitted scripts worked fine instead
Packet
June 24, 2025, 4:56pm
9
Nice to see a new game! Thank you.
However, i’ve tried a few levels and it seems pretty consistent that atleast using the simple version of the scripts, the scripts duing the intercourse/game over sections stop too soon, like 5 seconds before it shifts to the ejaculation sequence, from there it’s just the filler until in changes.
3 Likes
Hi, can you please upload the mod into another file hosting place? Pixeldrain is being blocked in some parts of the world and it is being such a nuisance.
I’ve added a gofile download link
I also compressed the funscript file which seemed to solve the playback problem, for everyone who had problems with the script playback.
2 Likes
Now it works like a charm, but I had to do a small workaround.
Everyone with the same issue (script stopping mid animation), go to the definitions.csv in EDI gallery. Change all after the rows with the attack, charm, etc, change all “false” for “true”. The looping was set to false, that is why it is not working properly.
Great integration! Thanks for the work.
2 Likes
The mod is great! Was super fun to play though, but damn is the game tough as nails. Definitely lives up to the name, great work making it man
Thanks for the mod. I made a quick modification so that you do not die after an animation, but have to wait until it is finished (then you have to press jump). After that you gain some hp if < 10, enemies around you disappear and lust is reset. Does not work if a new scene is loaded for the animation.
Its also still a bit buggy yet when fighting bosses yet.
It can be done if you grab the undertale Editor and edit the data.win:
replace gml_Object_objPlayerSex_Step_0 with
immortalTimer = 60
commonCounter++
if (delayed && getJump())
{
var p = getPlayer()
if (room == LevelEx1_00 || room == LevelEx1_01 || room == LevelEx1_02 || room == LevelEx1_04 || room == LevelEx1_05_car || room == LevelEx1_05_car2 || room == LevelEx1_KarasTengu || room == LevelEx1_Dakki || room == LevelEx1_DakkiNormal || room == LevelEx1_DakkiAlraune || room == LevelEx1_DakkiBeast || room == LevelEx1_DakkiGel || room == LevelEx1_DakkiDefeat || room == LevelEx1_TaniokaEvPre || room == LevelEx1_TaniokaEv || room == LevelEx1_TaniokaBattle || room == oniSexRoom || room == foxSexRoom || room == tenguSexRoom || room == AlDakkiSexRoom)
{
write_debug_msg("roomStageSelectEXOnly")
edi_stop()
room_goto(roomStageSelectEXOnly)
instance_destroy(id)
}
else if (commonCounter >= 1200)
{
write_debug_msg("roomStageSelect")
edi_stop()
print("3")
audio_group_stop_all(3)
audio_emitter_gain(global.bgmEmitterId, 1)
instance_change(objPlayerIdle, true)
visible = true
if getIsEasyMode()
immortalTimer = 180
else
immortalTimer = 150
p.lbd = 0
if (p.hp < 10)
p.hp = 10
}
}
var cam = getCamera()
if (cam != noone)
{
cam.shakeScale = 0
cam.isDamaging = 0
}
and
gml_Object_objPlayerSex_Create_0
with
hSp = 0
vSp = 0
grav = 0
audio_emitter_gain(global.bgmEmitterId, 0)
delayed = 0
commonCounter = 0
alarm[0] = 10
4 Likes
Thanks for this change! I’m still running into the following bug. After a scene has played and I press jump, I can continue, but the camera stays realy zoomed in. Adding an extra challenge
1 Like
Canoe
June 26, 2025, 6:26pm
16
I also have this same bug after adding @overkeks edits. Any fix?
@Jongemans , @Canoe Here is a fixed version which zooms the camera back out.
Thank you @overkeks for the nice modification!
Edit: This version also works for the extra stages and I also fixed the boss fights. The boss sex scenes are not skippable but you have to restart.
immortalTimer = 60;
commonCounter++;
if (delayed && getJump())
{
var p = getPlayer();
var stageSelect = 3;
var isBossFight = room == Level1_12 || room == krakenSexRoom || room == anubisSexRoom || room == Level4_12 || room == bapSexRoom || room == oniSexRoom || room == foxSexRoom || room == tenguSexRoom || room == AlDakkiSexRoom || room == LevelEx1_DakkiNormal || room == LevelEx1_DakkiBeast || room == LevelEx1_DakkiGel;
if (room == LevelEx1_00 || room == LevelEx1_01 || room == LevelEx1_02 || room == LevelEx1_04 || room == LevelEx1_05_car || room == LevelEx1_05_car2 || room == LevelEx1_KarasTengu || room == LevelEx1_Dakki || room == LevelEx1_DakkiNormal || room == LevelEx1_DakkiAlraune || room == LevelEx1_DakkiBeast || room == LevelEx1_DakkiGel || room == LevelEx1_DakkiDefeat || room == LevelEx1_TaniokaEvPre || room == LevelEx1_TaniokaEv || room == LevelEx1_TaniokaBattle || room == oniSexRoom || room == foxSexRoom || room == tenguSexRoom || room == AlDakkiSexRoom)
stageSelect = 49;
if (isBossFight && commonCounter >= 1200)
{
edi_stop();
room_goto(stageSelect);
instance_destroy(id);
}
else if (commonCounter >= 1200)
{
edi_stop();
audio_group_stop_all(3);
audio_emitter_gain(global.bgmEmitterId, 1);
instance_change(objPlayerIdle, true);
cam = getCamera();
if (-4 != cam)
cam.zoomScale = 1;
visible = true;
if (getIsEasyMode())
immortalTimer = 180;
else
immortalTimer = 150;
p.lbd = 0;
if (p.hp < 10)
p.hp = 10;
}
}
var cam = getCamera();
if (cam != -4)
{
cam.shakeScale = 0;
cam.isDamaging = 0;
}
2 Likes
cool, thanks for the fix. Somehow I thought the if is for bosses until I found the bonus stages ;).
Another thing I changed is the stun game over:
you can get up again after a few seconds if not caught with lbd 95 and hp 10.
gml_Object_objPlayerStun_Create_0
scrResetImage()
immortalTimer = 0
commonTimer = 0
var p = getPlayer()
p.lbd = 95
gml_Object_objPlayerStun_Step_0
event_inherited()
image_speed = 1
hSp = 0
vSp = 0
commonTimer++
changeAnimationA2B(32, sprPlayerStun)
if keyJump
{
if (room == Level6_01)
{
}
else if (commonTimer > 300)
{
var p = getPlayer()
audio_group_stop_all(3)
audio_emitter_gain(global.bgmEmitterId, 1)
instance_change(objPlayerIdle, true)
visible = true
if getIsEasyMode()
immortalTimer = 180
else
immortalTimer = 150
if (p.hp < 10)
p.hp = 10
}
}
1 Like
Not quite sure what’s wrong here, but with your gallery it will NOT allow me to switch between simple or detailed in EDI (dropdown menu is entirely blank), and absolutely NOTHING happens when I try to play.
ration
July 1, 2025, 9:01am
20
this happened to me as well, the solution for me to was use the latest version of EDI. Might not be the solution for your case, but give it a shot
1 Like