Search the Community
Showing results for tags 'wip'.
-
A few days ago, I started playing Marvel Cosmic Invasion for the first time, and I've been enjoying it a lot, even though I'm not a huge beat 'em up fan. I also think the roster is really solid, with a great mix of popular characters and lesser-known ones. That made me want to see if the game could be modded, and I ended up making these sprites for Hela, Dark Phoenix, and Boom Boom. Would anyone be interested in seeing a full mod for this game?
- 9 replies
-
6
-
- marvel comics
- pixel art
- (and 5 more)
-
Real-Time Body Physics (DirectX 11) View File Real-Time Body Physics is a highly experimental mod for the Sims 4 that attempts to add real-time body physics to sims. Currently, only the breasts and butt are targeted, but other parts could be added in the future. The mod works via a fake DirectX DLL that behaves just like the real deal, but injects a little extra code into the rendering loop (See: https://en.wikipedia.org/wiki/Hooking). Please read the included "ReadMe.html" file before using this mod. It explains how to install, configure, and control the mod in-game. RTBP 11 (DirectX 11): RTBP for DirectX 11 is now available. You can expect all functionality from the DirectX 9 version in RTBP11, but the better performance of the Sims 4's newer DirectX 11 renderer. https://streamable.com/0ukdjd Be warned that it is a little buggy compared to the DirectX 9 version, but things should improve with time. DirectX 11 is quite a bit more complicated than DirectX 9, so getting everything working has been more of an ordeal. Most of the bugs are very minor, small visual glitches while everything else appears to be solid as a rock. That being said, don't forget to save often and backup your save games. Hopefully the small visual bugs aren't deal breakers for most of you. If they are, you can eliminate almost all of them by disabling butt physics. If you haven't used the internal GUI yet, try it out in game by pressing F11. The internal GUI will eventually replace the Commander, but for the time being both can be used to tweak RTBP to your liking. To avoid confusion, I'm calling this release RTBP v2.0. That way you'll know that and RTBP release with a version number of 2.0 and above is the DirectX 11 version and anything below is DirectX 9. Known Issues: * For some meshes, one of the butt cheeks looks deflated and sags downward. * Some sims glich out and their geometry shoots out in random directions. * Sims might look a little weird in the portrait images. * Probably more. These issues ought to be fixed in time. Let me know if you have any problems. Please enjoy and have a happy new year. Real-Time Body Physics Experimental Builds Fixing bugs can be difficult, especially when you can't reproduce the error that has befallen so many users. If you're up for it, try out an experimental build in testing and report your findings in the support thread. 2026-08-18: Better exception handling, minidumps, updated companion, updated installer, further work towards fixing OpenAdapter10_2 issue. RTBP v2.3.1~3 2026-08-18.zip If you were unable to use RTBP before, but this release works, let me know. RTBP Legacy (DirectX 9, Depreciated): The DirectX 9 version of RTBP has been superseded by the DirectX 11 version and is no longer being developed. Use the DirectX 9 version only if you have to. RTBP v0.4-p8 2024-04-12.zip Note for those with an Intel GPU: You'll need to tweak a Sims 4 configuration file for RTBP to work. Go to your game installation directory + "/Game/Bin/" (the same place you put "d3d9.dll"), and open the file "GraphicsRules.sgr". Find the line that says "setProp $ConfigGroup EnableSoftwareSkinning true" (for me it was on line 117) and replace the part that says "true" to "false". This will enable hardware skinning for Intel hardware and allow RTBP to work. Note on DirectX 11: A recent update added DirectX 11 support to the Sims 4. RTBP was designed around the original version of the game that uses DirectX 9. For RTBP to function, the D3D9 version of the game needs to be used (D3D11 support is coming). To explicitly launch the D3D9 version of the Sims 4, find your installation directory and execute "...\Game\Bin\TS4_DX9_x64.exe". You can also choose to switch to the D3D9 version of the game in the game options. RTBP 2020-08-12.webm Butt Physics.webm RTBP 2020-08-12.webm Bonus: If you'd like, you can try out the super duper, highly experimental, RTBP GUI tool that allows you to Alt+Tab out of the game and change settings on the fly via the RTBP Command Server using a user friendly GUI interface: * Screenshot is out of date. The RTBP GUI Tool is a work in progress and more features will be added soon. Beware that you can send values to RTBP that might break it and cause body parts to disappear. RTBP GUI Preview Breasts.webm RTBP GUI Preview Ass.webm RTBP GUI Preview Breasts.webm Bonus 2: Having a bit of trouble installing RTBP? Try out the RTBP installer. Just select the RTBP zip file you'd like to install, your Sims 4 installation directory, and your Sims 4 mods directory. The RTBP Installer will attempt to automatically detect these paths, so if you're unsure, I recommend going with the default values. Update 2023-11-11: The new versions of the RTBP Commander and Installer have been bundled to save space. Note that this version of the installer is incompatible with older versions of RTBP. Download both of them here: Update 2023-04-01: Origin has been depreciated and replaced with the EA App. The RTBP installer will no longer look for your Sims 4 installation in the Origin game directory. Update 2023-03-24: Added the EA App game installation directory to the list of potential Sims 4 game installation directories. The requisite libraries required for RTBP to function will be individually tested during installation. Update 2022-08-13: The RTBP Installer should now detect when GShade is installed and make the changes necessary for RTBP compatibility. Update 2022-07-26: Improved logging. Update 2021-11-18: The RTBP Installer now has an uninstallation wizard. Bonus 3: Looking for a more bleeding edge version of RTBP? Download the latest preview and/or experimental release here. These releases need to be manually installed, so they're for more advanced users. Documentation and script mods aren't typically included with these: RTBP v0.4-p9-e3 2025-12-11.zip RTBP GUI Tools 2026-03-04.zip Submitter CPVC Submitted 09/01/20 Category Extensions Requirements The Sims 4 (64 bit)
- 2745 replies
-
58
-
- experimental
- boobs
-
(and 2 more)
Tagged with:
-
View File Realistic Body Apparels & some sized apparel compatibility DESCRIPTION: Some sizedapparel-compatible clothing for NL's realistic body. Also adds SA textures for swimsuits Still a wip mod REQUIRED: Nal's Realistic Body URL: https://steamcommunity.com/sharedfiles/filedetails/?id=2820615654 RECOMMENDED: Skimpy Clothes for Nal's Realistic Body -> Adds great clothing for realistic body. This mod adds swimsuit textures (as of the moment). URL: https://steamcommunity.com/sharedfiles/filedetails/?id=3220388881 SizedApparel-Realistic body -> Adds Sized Apparel mechanics to Realistic Bodies. Compatible with this mod. URL: https://gitgud.io/Talos/sizedapparel-realistic-body SizedApparel-Realistic Body-More Apparels -> Adds Sized Apparel Bunnysuits from Skimpy clothes URL: https://gitgud.io/Alxgry/sized-apparel-realistic-body-more-apparels THIGAPPE -> For other clothes URL: https://steamcommunity.com/sharedfiles/filedetails/?id=2839518933 Submitter bukog Submitted 08/30/26 Category Rimworld Requirements Nal's Realistic Body (https://steamcommunity.com/sharedfiles/filedetails/?id=2820615654) Install Instructions Put in Mod folder
-
Version v0.2
592 downloads
DESCRIPTION: Some sizedapparel-compatible clothing for NL's realistic body. Also adds SA compatibility textures (currently Swimsuits and Shibari) for Skimpy Clothes Currently only female body type Some outfits are modular Still a wip mod REQUIRED: Nal's Realistic Body URL: https://steamcommunity.com/sharedfiles/filedetails/?id=2820615654 RECOMMENDED: Skimpy Clothes for Nal's Realistic Body -> Adds great clothing for Realistic Body. This mod (RB Apparels) adds swimsuit and shibari textures (as of the moment). URL: https://steamcommunity.com/sharedfiles/filedetails/?id=3220388881 SizedApparel-Realistic body -> Adds Sized Apparel mechanics to Realistic Bodies. Compatible and HIGHLY RECOMMENDED with this mod. URL: https://gitgud.io/Talos/sizedapparel-realistic-body SizedApparel-Realistic Body-More Apparels -> Adds Sized Apparel Bunnysuits from Skimpy Clothes URL: https://gitgud.io/Alxgry/sized-apparel-realistic-body-more-apparels THIGAPPE -> Autofitting for other clothes, generally not SA compatible but looks good URL: https://steamcommunity.com/sharedfiles/filedetails/?id=2839518933 Layered Apparel -> allows you to use specific outfits as cosmetics and even combines those that aren't usually equippable together URL: https://steamcommunity.com/sharedfiles/filedetails/?id=3632480044 TO DO: Thin body compatibility Outfit Stat Effects -
View File Xenomorph Species Expansion Xenomorph Domain Description: A large adult hive-mind overhaul for Stellaris built around the perfect organism. Play the Hive itself — grow the brood from ovomorph to Queen Mother, harvest hosts, subjugate broodstock tributaries, and remake worlds into living resin. Or stand on the other side of the glass: captor empires can contain, study, farm, and profit from the most dangerous species in the galaxy. Military, economy, and exploration stay in a cold biological-horror register; the adult content lives inside the systems built for it, built and validated against the current Stellaris version with all DLC in mind. This is a living WIP — updates ship frequently, and saves are best started fresh after major updates. AI disclosure: this mod is heavily AI-developed — see the full note in the AI Development Disclosure section below. https://discord.gg/v6WVHtR9S And here is a Discord server for those who'd like to join! throw up suggestions, report bugs, Chat about Aliens and shit! Included Content: * 1 Playable Species Class * 3 Prescripted Empires * 117 Species Traits and 24 Leader Traits * 30 Civics and 10 Origins * 119 Technologies * 142 Buildings * 83 Districts * 98 Jobs * 22 Army Types * 23 Tradition Trees * 16 Ascension Perks * 21 Planet Types * 14 Deposits and Blockers * 15 Empire Personalities * 93 Ship Components — 19 Weapons and 74 Utility Components * 9 War Goals and 8 Casus Belli * Custom portraits, AI-generated icons, espionage operations, war goals, relics, and the Hive Evolution Chamber menu Current Features: Requirements: Lustful Void by Lithia<3 — REQUIRED! UI Overhaul Dynamic — strongly recommended (no patch needed) Installation: Extract the zip contents to (...\Documents\Paradox Interactive\Stellaris\mod) — if you don't have a "mod" folder, create one there. The archive contains "Hive mods.mod" and the "Hive mods" folder; both go directly into the mod folder. Delete the old mod folder and .mod file before extracting a new version. Clean installs are the supported path. Load order: Lustful Void — Xenomorph Domain — XD Compat - Bug Branch (only if you use Bug Branch — load AFTER it) XD Compat - Forgotten Queens (only if you use Forgotten Queens — load AFTER it) — UI mods last To-Do List!/Bug to be fixed! Recent Changelog: Version 5.10 Changelog history: Compatibility Player support! AI Development Disclosure: This mod has been heavily developed with AI. The scripting and coding — events, civics, jobs, buildings, traditions, and the systems that tie them together — were written and debugged with AI assistance (Claude), working against the game's real files under human direction and playtesting. The custom icon images are AI-generated (civic, job, and tradition icons, and the Evolution Chamber banner). Design decisions, content direction, and testing are human; if you object to AI-assisted content, this mod is not for you. Inspiration & Credits: Lithia<3 — Lustful Void, the foundation this mod stands on (and the inspiration for this page). Calcifire — Calcifire's Trait Pack for LV. NickVirgo — Xenomorph Species Rework and Xenomorph Infection, whose early versions seeded several of this mod's systems before they diverged into their current forms. The Alien / Alien vs Predator franchise — the perfect organism itself: ovomorphs, facehuggers, Queens, the Alien 3 runner, Covenant's Neomorphs. TGMC (/tg/station Marine Corps) — the xenomorph caste roster that inspired the war-caste system. Plague Inc — the inspiration for the Evolution Chamber's spend-to-evolve board. Permissions: Franchise concepts belong to their respective owners; borrowed inspiration is credited above. Submods are welcome, as well as custom patches, which may be uploaded to a patch list on the main page. Owners of any art or characters featured in this mod have the right to request its removal from the mod at any time, no reason needed. Submitter Xenodragon54 Submitted 08/09/26 Category Stellaris Requirements Utopia Lustful Void UI Overhaul Dynamic
- 108 replies
-
3
-
- stellaris
- stellaris modding
-
(and 7 more)
Tagged with:
-
TSEX and TSEX Hardship Alpha (Modders resource) View File These unfinished mods are presented as-is for playing and as a modders resource. Anyone who wants to continue developing them has the permission of the authors (@Tentacus and @requiredname65) We are not in any way responsible for the content of any derivitive works. DESCRIPTION: TSEX: The Master mod. Originally meant to hold content that could be used in more mods than just Hardship, this can still be used as such by whoever wants to make it a requirement. It contains numerous global variables, keywords, sounds, and functions This Master also provides a framework of sorts containing numerous new systems, such as a sex drive and trauma system, as well as offering new solo actions like Masturbation and dancing. TSEX Hardship (Requires TSEX): The continuation of the Hardship: Beggar Whore mod (See original mod page for more information). Implementing the new features of TSEX as well as adding some new features. such as Threesomes. This is being posted on a new page because The original "Finished" version of Hardship 1.5 will remain it's own thing. WHAT'S IN THERE (as far as we can remember): - Massively improved MCM - Control your character's expressions/demeanor - Pregnancy system integration with FPE keeping in mind TSEX scene context. - Threesomes for raider rapes. - Cum overlays for both genders and reactions. - Character attributes and histories are expanded. - More character attribute aware content. - Torture mechanics from masters and doms. (slavery system not implemented, but hooks are in there) - Bondage equipment - Sex skills and perks. - Sex Achievments (Though this is dumb and pointless) - Carnal needs and trauma system. - Dancing, suggestive posing that may attract lustful actors. - Injury by beatings will leave bruise overlays on player. - Animated beating scenes interweaved with text boxes. - Branding system for females (no male sets available). - Relationship system for other mods. (Omoshiroi) - Hack some robots and discover a prewar pleasure subroutine. (Really? This sounds neat) - Threesomes for Codmann couple when both are invited to home plate party, requires BP70 animation pack. (I approve of this as I had the same idea) - 'Pillow talk' scene after hanky panky. - Menacing raider might be willing to let character go with a chem bribe. (Cool idea!) - Velma mode. Raiders may steal your glasses. THINGS WE DIDN'T GET TO: - Male dom NPC. Sorry. - Characters to teach the player to dance - Player slavery system (Though lots of elements of it are in there and ready to be utilized if someone takes up the mod) - Improved Isabel dialogue using new BDSM training hooks (Again, it wouldn't be too hard for someone to pick up these threads.) IN CLOSING: While playable, these mods are in an alpha state, and have bugs, some of which may be serious. Some originally planned features are incomplete, or excluded altogether I will provide no support for this mod. frankly I wouldn't know how as requiredname65 has added a lot in recent builds (as you might have guessed from my comments above ). However I am willing to answer questions for anyone wanting to take up the mod or help requiredname65 with their own efforts to continue. requiredname65, may or may not pop in to the forum if they so desire. It's my sincere wish that someone take this and run with it, I only regret that I let it get so out of hand and wasn't able to accomplish all my big ideas, and also that I didn't drop it a lot sooner and unintentionally lead some of you on. Big thanks to all the help and support requiredname65 has given. Without them this wouldn't be as complete as it is. See main Hardship thread for legacy thanks. Requirements: It requires everything Hardship does, so o look there for the detailed info. EXCEPTIONS include Rufgt's old animations, which aren't needed any more, and maybe Staged Leito Plus... This will probably work fine with just UAP's XMLs. instead. In addition to those requirements this needs: Vanilla DLCs May not need them all but I can't be arsed to figure out which it does at this point Atomic Lust Hard requirement. Savage Cabbage Hard requirement for raider threesomes... Maybe something else? ?♂️ BP70 needed for Codman scene. FPE Optional, for pregnancy support. FAQ: Q: Who is this for? A: Tinkerers who want to check out the new features and get a taste for what might have been or modders who wish to take up the challenge for finishing this project. Q: Who is this NOT for: A: Those new to modding, or AAF, or anyone wanting a polished smooth experience. Play Hardship Beggar Whore instead. Q: How do I _______? A: Nope... I am deadly serious about not providing support. Sorry. Please do help eachother though as you always have in the main Hardship thread. Credits: @Rufgt cunnilingus anim. @Gray User Various animations @kziitd facial @JB. bruise overlays @requiredname65bruise overlays, pregnancy system, making the messge windows not blinding and a ton of other shit. @DixiePig slave collar. @Polistiro cum overlays Ascendia for blindfold mesh Ender Guney for tiny snippet of royalty free track I used for Hardship disable sound. If I missed anything do let me know. It's been a long couple of years. Submitter Tentacus Submitted 05/23/2022 Category Framework & Resources Requires DLCs,Savage Cabbage, Atomic Lust,BP70,AAF, FO4 Animations by Leito, AAF Themes, Real Handcuffs
- 409 replies
-
8
-
WHAT IS AVRE? AVRE Erotic Conditioning is a standalone, multi-stage adult conditioning and corruption mod for Skyrim. It introduces an in-world curse that gradually affects the player through visions, thoughts, pressure, temptation and escalating conditioning, with configurable Normal, Bimbo and Extreme directions. AVRE is designed to work on its own. Integrations with mods such as Bimbos of Skyrim, SexLab, OStim, YPS or Devious Devices are intended to be optional extensions, not hard requirements. The long-term vision includes deeper progression, resistance and obedience mechanics, curse suppression/reversal, quests, the AVRE Sanctuary, training systems, native outfits/accessories and much more but the upcoming Alpha will begin with a smaller, testable core and grow from there. Built With Players in Mind AVRE is being developed with one principle at its core: the player experience comes first. I want to hear what players think ideas, criticism, suggestions, features you would love to see, or things that could genuinely improve your gameplay. I can’t promise that every suggestion will be implemented, but good ideas can absolutely influence AVRE as it grows. My goal is not to build a mod that forces you to adapt your entire load order around it. I want AVRE to become something you can shape around your own preferences through its MCM paths, intensity, integrations, content and other systems should increasingly be configurable rather than forced. I personally know how frustrating it is to find an interesting mod and then discover a huge dependency chain, compatibility problems, or a progression path you cannot customize. That experience is one of the reasons AVRE is being designed standalone first, optional integrations second. Wherever possible, I want AVRE to minimize unnecessary dependencies, reduce conflicts and make troubleshooting easier especially for people running large modlists. AVRE is a solo project that I develop in my free time alongside my regular job and photography, so the full vision will take time to build. But I would genuinely love for players to follow the development, test the Alpha builds, share feedback and comment to help shape what AVRE eventually becomes. I don’t just want to build the mod I want to play. I want to build something players can turn into the experience they want in their own game. Where Does “AVRE” Come From? AVRE comes from AVRealErotica.com, the home of my real-world adult photography / videography and other creative work. Photography came first. AVRE Erotic Conditioning grew from the idea of combining my interests in adult photography, gaming, storytelling and modding into something interactive inside Skyrim. The Skyrim mod itself will remain free permanently. There will be no paid gameplay paths, paid integrations or paid features. If someone enjoys AVRE and chooses to support my wider creative work, I’m obviously grateful, but support will never be required to access the complete mod. You can find my photography and other work at AVRealErotica.com. AVRE EROTIC CONDITIONING Dynamic Visions • Urge System • Normal & Bimbo Paths Hello everyone, I’m Andrei, a photographer from Europe, Skyrim player, and the creator of AVRE Erotic Conditioning. AVRE began as a personal experiment: a system where time, player behavior, visual events and progression could interact instead of simply displaying random images. It has since grown into a larger Skyrim mod project. AVRE is currently a Work in Progress. There is no public download yet. WHAT IS AVRE? AVRE is a progression-focused visual conditioning system. Time creates pressure. Pressure increases urge. The system progresses through stages, selects appropriate visual content and delivers visions when the player is in a safe situation. Randomized timing, anti-repeat selection and player satisfaction are used to make the system less predictable and repetitive. The goal is not simply to show images — the system should remember progression and react to the player. NORMAL & BIMBO PATHS Normal Path focuses on escalating urge, visual temptation and pressure. As time passes without satisfaction, stronger stages become available. Player satisfaction resets the cycle. Bimbo Path is intended to become its own progression style, with training visions, themed stages and eventually tasks, quests, rewards, consequences and dedicated content. Both paths use the same underlying AVRE engine but can have completely different presentation and progression. CURRENT DEVELOPMENT STATUS A large part of the underlying framework is already working. The current build includes Stage 1–6 progression, randomized timing, MAX-stage repeats, satisfaction reset, real player-orgasm detection, safe vision delivery, anti-repeat selection, the content catalog and the dynamic image/text rendering bridge. Right now, the focus is moving from the technical foundation into real DDS content population and practical testing. ORIGINAL VISUAL CONTENT The photography used for AVRE is original material created by me. Photography is part of my work outside Skyrim modding, including adult-oriented photography. I want AVRE to develop its own visual identity rather than depend on image packs taken from other projects. This is also one of the reasons I decided to build the project publicly and gradually. FUTURE DIRECTION The long-term goal is for AVRE to become much more than a vision system. Ideas planned or being explored include private gallery spaces, themed interiors, stockings and heels, outfits and accessories, toys and props, custom furniture, original NPCs and quests, training assignments, dream systems and additional animation content. The goal is eventually to make the experience increasingly self-contained. DEVELOPMENT PHILOSOPHY The plan is simple: Framework first → content second → testing → expansion. I would rather build a stable foundation and expand it gradually than rush dozens of features into an unstable release. AVRE is also being designed modularly so optional integrations can be added without forcing every player to install the same ecosystem. OPTIONAL COMPATIBILITY AVRE may eventually communicate with systems such as SexLab, SexLab P+, OStim, YPS, Devious Devices, Bimbo oriented mods and other Skyrim frameworks. Those integrations are intended to be optional compatibility paths, not ownership of or replacements for those projects. The preferred approach is APIs, events and dedicated compatibility bridges whenever possible. CREDITS & RESPECT AVRE is being developed as an independent fan-made project. At this stage, AVRE does not redistribute third-party outfits, animations, locations, images or other project assets. If outside resources are ever useful in future development, permissions will be checked where required and proper credit will be given. Respect and thanks go to the Skyrim modding community and to the authors of the tools and frameworks that made this kind of experimentation possible. WHY SHARE THE PROJECT NOW? I’m opening the development thread before release because I would like to build a community around AVRE while it is still evolving. Feedback about pacing, features, compatibility and future direction is welcome. Later builds will also need practical testers. Game screenshots, development demonstrations and milestone updates will be posted here as the project progresses. FOLLOW THE DEVELOPMENT If the project interests you, follow the thread and feel free to leave ideas or feedback. Support is appreciated but never required. AVRE Erotic Conditioning Work in Progress
- 16 replies
-
1
-
- bimbo
- bimbofication
- (and 4 more)
-
View File Smutty Space Ponies https://discord.gg/x3TxX5x Come visit the Discord! You can see exactly what I'm doing for the next updates there, as well as throw suggestions at me, for portraits, technologies, whatever! Smutty Space Ponies (SSP) adds in two new portrait groups, the first one being Anthro Equestrians which is listed below. United Ponies (163 Total Portraits.) (48 Ruler Portraits.) (90 Pony Portraits.) (18 Zebra Portraits) Changelings (47 Total Portraits.) Griffons (11 Total Portraits.) Zebra (35 Total Portraits.) Diamond Dogs (16 Total Portraits.) And the second portrait group is Feral Equestrians. United Feral Ponies (83 Total Portraits.) (14 Ruler Portraits.) (69 (Nice) Pony Potraits.) Feral Zebra (11 Total Portraits.) New portraits are added whenever I happen upon something that looks good enough, but if you want to suggest some, feel free to! My patreon if you wish to support my lewd horse endeavours. https://www.patreon.com/bigdeeter Submitter Orichalum Submitted 04/27/2019 Category Stellaris Requires
- 84 replies
-
11
-
- species/portrait
- prescripted empires
-
(and 2 more)
Tagged with:
-
View File What the mod does ? It is a lore friendly mod that transforms "You awaken feeling your Lover's Comfort" notification into live action. Even you if are not married you will soon discover that residents of Skyrim love to comfort each other. WIP - the mod is gong to stay WIP as long as I work (or plan to work ) on it, so don't expect the status to change. Implemented Features: Lover's Comfort - triggers sex with your spouse then you go to sleep at the same house. Follower's Comfort - get to know your follower from new perspective. NPC's Comfort - Married/Lovers NPC would occasionally comfort each other. Also Jarls and Housecarls, Cousins, Siblings, Courting NPCs. Couple Swinging - looking for some variety in sex? Ask NPC couples if they are interested to swing... Spouse Lover - If you do not comfort your spouse for some time he/she might find a lover, then see feature 3. Planned Features: Spouse/Follower approach and ask for sex Requirements: SKSE SkyUI 4.1 FNIS SexLab 1.32+!!! SexLabAroused v20131230+!!! Installation: BEFORE installing/enabling LoversComfort.esp verify that SexLabAroused is working properly. (You should see arousal changing overtime, PC being naked increases arousal of surrounding NPC, having sex reduces arousal). Copy all contents of attached .ZIP file to Skyrim/Data/ directory. Uninstall / Cleanup: Troubleshooting: FAQ: What is load order for LoversComfort? Any load order, or use BOSS How to have follower dialogues for Vilja (or some other NPC)? Open console, with mouse click on NPC, type "setfactionrank XX05BB1C 0". You must replace XX with LoversComfort load order hex code, which you can find by typing "help loverscomfort". Does PC need to be married to run the mod ? NO, just all spouse related content will not work. Does the mod supports multiple marriages? NO, currently I don't have practical solution for multiple marriage support. Though some users manged to make it working for one of the spouses. Does the mod modify/remove/replace vanilla "Lover's Comfort" effect? No. Documentation: Hacking: Bugs / Conflicts: Version History: v20121230 - requires SexLab 1.32+ and SexLabAroused 20131230+ - Matched API changes of SexLab Aroused Credits: Cmod - for creating SexiS framework, though it is not used by the current version it helped me to start the mod Ashal - for creating SexLab framework All modding community for creating scripts, animations, textures, meshes, utilities without which none would be possible. Permissions: Do whatever you want with the mod. Submitter redneck2x Submitted 05/14/2013 Category Misc Sex Requires SKSE, SkyUI, FNIS, SexLab,Aroused Special Edition Compatible
-
Last year I set out to make a simple unique player race, initially based on Daz G9. It was actually “finished” last October, but was put on hold because It needed to use a custom .mat for some of the textures, and there was no way to make a .mat until ~2 months later. In those two months, I stumbled across what I believe to be the source assets for vanilla starfield's humans on 3dscanstore.com. So I bought some of those, and found them to be far better looking than anything from Daz, though less versatile. I started working out ways to get the best out of both of them, had a few ideas…and managed to feature-creep the project so much that over a year later, it's only very recently reached a playable state. If all continues going well, the project goes into a public (discord) beta in the not too distant future, then I’ll do a full release later on (though that’s going to be a while.) Brief overview/planned features: - This is a unique player race, with full body, head, and all headparts replaced. Besides hair, there are zero vanilla meshes for the body or any of the headparts. - The aim is to create a playable race and customization framework for users to make whatever they wish, with more control than could be achieved with just a body replacer. I know this isn’t everyone’s cup of tea. I decided to do player-specific race for a lot of reasons, but the biggest reason was so I didn’t have to live under the tyranny of another Bethesda neck seam, and simply replacing the vanilla head without re-generating NPC faces + textures is a terrible idea for performance reasons. - It's current “default” shape is so close to the vanilla female body that almost all of the vanilla outfits fit without clipping out of the box. That doesn't mean that you won’t be able to make anything you want of course, but it aims to prioritize more natural, realistic shapes. - All the normal chargen options will still exist in game, but the best features will be in an optional external chargen system that runs entirely in blender. There are several reasons for doing this: It bypasses pretty much all limitations of the vanilla chargen system, gives users total freedom to make basically whatever character they want, down to every pore, freckle, and wrinkle if desired, for both the texture and the actual shape of the mesh. Features like scars, body piercings, tattoos, etc can be baked into the character directly, which is not possible in chargen yet. This way allows for higher fidelity textures, saves VRAM, and gives much more flexibility. External chargen also allows you to bypass the hardcoded 1k face texture limit (chargen textures over 1k resolution get forcibly downscaled and end up looking significantly worse than vanilla resolution). The majority of the skin detail is sampled from scan data, and will be baked at export - all characters made have a 100% unique set scan-grade textures generated. - It will come with a full set of default morphs, just like CBBE, BHUNP, Fusion Girl, etc all have, but thanks to blender's geometry nodes, it is out of the box compatible with all daz g8, g8.1, and g9 body morphs that don't change the character's proportions (like arm length, height, etc.) It is also very easy to add support for any other body's morphs if there are any others that warrant support (though many non-native morphs might not look great due to topology differences). Once it is possible to edit vanilla SF animations (or simply add offsets to some bone transforms per-animation) it's probable that all morphs and proportions can be supported, as well as body shapes from other sources, such as the animation-ready body scans from 3dscanstore.com, or characters ported directly from other games. - As for heads, it is compatible with all head/face morphs from Daz g8, g8.1, and g9, scanned heads/faces from 3dscanstore.com and texturing.xyz's Vface, as well as keentools' facebuilder, and Epic’s metahumans. No modelling ability or extra software is required. For those who want to sculpt their own head shape, scripts and geometry nodes correctly place all headparts, fit the eyeballs, generate the skeleton_facebones, and generate all of the performance morphs for face animations, including vertex color morphs, unique and precisely fitted to whatever shape you made. - For those who want to use this race but keep their existing vanilla face preset - It has 100% support for vanilla starfield face morphs. The head mesh has a morph that was wrapped + aligned at 3x subd, all chargen morphs and textures were transferred with extreme precision, then corrected if neccessary. All 700+ vanilla chargen/face customization texture options have been projected/transferred to the new UVs. The morphs were checked for Sarah, Andreja, and Amoli and match exactly. - If you’re worried that this is going to be a ton of effort, too much work, and not worth dealing with – exporting will be basically one click, for everything, all at once. The entire export process is scripted – When satisfied with the body shape and skin, all textures are automatically baked at whatever resolution you choose, performance morphs are generated, headparts are all conformed and fitted (eyes, brows, lashes, teeth, and all hair, plus all the morphs for those), the mesh is split into its individual parts, and everything is exported straight to the mod folder, ready to go. - Because all of the meshes, morphs, and textures are created from a single source at the same time, neck + arm seams are minimal. It is not possible to be 100% seamless due to vertex/UV quantization, among other things. (I do have a theoretical way to get to almost 100%, but its probably not necessary) - Bonus: users won’t ever have to worry about ChargenMenu or anything else being out of date, since morphs and presets can be handled completely outside of the game in most cases. All of the blender chargen features have been tested in isolation and work, but I have not yet started trying to put all of them into single user-friendly package. There are still some things that need to be decided before much progress on that can be made. The main thing needing to be figured out is performance (last time I tried it was using 24gb vram and 30gb+ of ram, despite half or more of the features not even being implemented at that point... I know of a lot of optimizations that can be done, but probably still need to squeeze out a bit more). The other main thing to be worked out is how to best handle clothes fitting - I've heard that OS+BS are in development, but I'm not sure yet if they could be compatible for what I need them to do. Outfit studio needs a conversion reference to convert clothes to different body shapes, this project by design doesn't really have a single reference, and there isn’t a good way to generate the procedural "clothes fitting" morphs (part of a seperate project, possibly more on that later...), and even if it could, i'm not sure if morph transferring can do as clean of a job as i'd want in all cases - there are other ways to do that with geonodes, cloth physics simulation, etc. but will almost certainly be much slower. __________ Don't have a lot of pictures at the moment - The face here is a blend of Victoria 9 and Sophie #102 – Texturing.xyz made with an earlier setup (blending face base shapes from multiple sources is supported). The texture-generator stuff wasn't implemented at all at that point, so I think the texture there is the one from the vface mixed with something from g9: and here's a basic default-ish body made when testing out the shape blending geonodes, made from g8, g9, and a little bit of a zwrapped 3dscanstore body. Mod authors, animators, etc: If you’re interested in testing/helping make decisions during the pre-alpha stage, I’d love to have a few more eyes on things, and some feedback/ insight on some of the other planned features I didn’t mention here (physics, muscular deformation/ bone modifiers, animations, etc). Mod users: I’m not quite ready to do a public beta – that will be soon – but I’m open to any and all suggestions/ideas/feature requests etc. I'll be posting updates periodically, and as soon as the beta is ready, i'll share a discord link here.
- 79 replies
-
43
-
[Dev/Test/Beta] LL FourPlay community F4SE plugin View File Scriptname LL_FourPlay Native Hidden ; ; Shared community library of utility function from LoverLab distributed with FourPlay resources as a F4SE plugin with sources included ; ; Version 52 for runtime 1.10.984 2024 08 19 by jaam and Chosen Clue and EgoBallistic and Fedim ; Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_984.dll) is NOT! ; You need to always use a plugin corresponding with the game version you play. ; Plugin should be available just after F4SE has been updated for the modified runtime. ; Runtime versions lower than 1.10.984 will no longer be supported. ; Written and tested against F4SE 0.7.2. You should not use an older version of F4SE. ; ; ; ; Returns the version of this script (when someone has not forgotten to update it :) ) Float Function GetLLFPScriptVersion() global return 52.0 endFunction ; Returns the version of the plugin and servers to verify it is properly installed. Float Function GetLLFPPluginVersion() native global ; Custom profile: written into "Data\F4SE\Plugins" ; =============== ; Returns the full path for custom profile name. IE "WhereverYourGameIs\Data\F4SE\Plugins\name". Don't forget to provide the .ini extension. string Function GetCustomConfigPath(string name) native global ; Get the value of custom config string option string Function GetCustomConfigOption(string name, string section, string key) native global ; Get the value of custom config integer option (Use 0/1 for boolean) int Function GetCustomConfigOption_UInt32(string name, string section, string key) native global ; Get the value of custom config float option Float Function GetCustomConfigOption_float(string name, string section, string key) native global ; Sets the value of custom config string option (at most 66535 characters per option). The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption(string name, string section, string key, string value) native global ; Sets the value of custom config integer option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_UInt32(string name, string section, string key, int data) native global ; Sets the value of custom config float option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_float(string name, string section, string key, float data) native global ; Get all the keys and values contained in a section. Both at once to avoid discrepancies in the order. ; The keys are in VarToVarArray(Var[0]) as String[] and the values in VarToVarArray(Var[1]) as String[] Var[] Function GetCustomConfigOptions(string fileName, string section) native global ; Set a list of keys and values in a section. Any other existing key will be left alone. bool Function SetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Reset all the keys and values contained in a section. ; Any exiting key value pair will be suppressed first, so providing none arrays will effectivly removes all keys from the section. bool Function ResetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Get all the sections in a file. string[] Function GetCustomConfigSections(string fileName) native global ; For all array functions: ; The implementation as an arbitrary limitation of 32767 bytes buffer for all Keys, Values or sections involved. ; If needed because the limitation becomes a problem, another implementation can be done using memory allocation, though there will remain a limit imposed by Windows. ; When arrays for keys and values are provided, the count of elements in both arrays must be identical or the function fails on purpose. ; An empty value should be provided as a zero length string. TO BE TESTED ; ; Camera functions ; ================ ; ; Forces the FlyCam state. ; if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated. ; if activate is false and the FlyCam is active, the FlyCam will be deactivated. ; if the requested state is identical to the current state nothing is done. ; Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed. bool Function SetFlyCam(bool activate) native global ; TO BE TESTED ; Forces the FlyCam state. Alternative version that allows to pause/unpause the game when entering FlyCam ; if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated. ; if pause then the game will be paused ; if activate is false and the FlyCam is active, the FlyCam will be deactivated. ; otherwise if the requested activate is identical to the current state nothing is done. ; Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed. ;TBT; bool Function SetFlyCam2(bool activate, bool pause) native global ; TO BE TESTED - So far this is useless as scripts seem to be stopped while in pause mode :( ; Get the current state of the FlyCam bool Function GetFlyCam() native global ; Get the current pause state of the game bool Function GetPaused() native global ; Get the current state of the FXCam bool Function GetFXCam() native global ; Select the speed at which the FlyCam moves (identical to SetUFOCamSpeedMult/sucsm console command) ; The console command supports an optional second parameter to control rotation speed. ; The way it handles default value is not compatible so I use an explicit bool to select which speed to change ; Returns the previous value of the selected speed. float Function SetFlyCamSpeedMult(float speed, bool rotation=False) native global ; ; Power Armor/Race/Skeleton functions ; =================================== ; ; Returns the actor's race when in PowerArmor Race Function GetActorPowerArmorRace(Actor akActor) native global ; Returns the actor's skeleton when in PowerArmor string Function GetActorPowerArmorSkeleton(Actor akActor) native global ; Returns the actor's current skeleton, not affected by PowerArmor string Function GetActorSkeleton(Actor akActor) native global ;Chosen Clue Edit ; ; String functions ; ================ ; ; Returns the first index of the position the toFind string starts. You can use this to check if an animation has a tag on it. Is not case sensitive. Int Function StringFind(string theString, string toFind, int startIndex = 0) native global ; Returns the selected substring from theString. If no length is set, the entire string past the startIndex number is returned. string Function StringSubstring(string theString, int startIndex, int len = 0) native global ; Splits the string into a string array based on the delimiter given in the second parameter. ; As this function does ignore whitespace, putting a space as the delimiter will only result in a string being returned without spaces. string[] Function StringSplit(string theString, string delimiter = ",") native global ; Opposite of StringSplit. string Function StringJoin(string[] theStrings, string delimiter = ",") native global ; Converts an integer of any base to a hexadecimal string representation string Function IntToHexString(Int num) native global ; Converts a hexadecimal string to an integer Int Function HexStringToInt(String theString) native global ; ; Array functions ; =============== ; ;Just a precursor: This does not mean we can use Alias based scripts to store animations like sexlab does, as the F4SE team has yet to include a typedef of them in the F4SE CPP files. I am guessing that they haven't reverse engineered it yet. Form[] Function ResizeFormArray(Form[] theArray, int theSize, Form theFill = NONE) native global String[] Function ResizeStringArray(String[] theArray, int theSize, String theFill = "") native global Int[] Function ResizeIntArray(Int[] theArray, int theSize, Int theFill = 0) native global Float[] Function ResizeFloatArray(Float[] theArray, int theSize, Float theFill = 0.0) native global Bool[] Function ResizeBoolArray(Bool[] theArray, int theSize, Bool theFill = False) native global Var[] Function ResizeVarArray2(Var[] theArray, int theSize) native global Var[] Function ResizeVarArray(Var[] theArray, int theSize) global ; Because filling with invalid values will CTD ; Bugged for any version prior to 14 ; theFill will be ignored, but kept for compatibility. Anyway nobody used it ever as it would have CTD. Please use ResizeVarArray2 Int theFill = 0 return ResizeVarArrayInternal(theArray, theSize, theFill) endFunction ; if the int theSize is negative, the resulting array is a copy of the original array unchanged. ; Sets the minimum array size required by a mod. Returns false if the current value was greater. Bool Function SetMinimalMaxArraySize(int theMaxArraySize) native global ; This patches ArrayAdd and ArrayInsert so they respect that maximum. The value is memorised in ToolLib.ini ;[Custom Arrays] ;uMaxArraySize=nnnnnn ; ; !! Creating arrays that are too large will adversaly affect your game !! ; ; Keyword functions ; ================= ; ; Return the first keyword whose editorID is akEditorID Keyword Function GetKeywordByName(string akEditorID) native global ; Adds a keyword to a form (not only a reference). Does not persists. bool Function AddKeywordToForm(Form akForm, Keyword akKeyword) native global ; Delete a keyword from a form (not only a reference). Does not persists. bool Function DelKeywordFromForm(Form akForm, Keyword akKeyword) native global ; Return an array of all keywords loaded in game. Keyword[] Function GetAllKeywords() native global ; ; CrossHair functions ; ==================== ; ; Returns the Reference that is currently under the CrossHair. Returns None if there isn't one currently. ObjectReference Function LastCrossHairRef() native global ; Returns the last Actor that is or was under the CrossHair. Returns None until there is one since the game was (re)started. Actor Function LastCrossHairActor() native global ; ; ObjectReference functions ; ========================= ; ; Set the reference display name as a string without token. TO BE TESTED bool Function ObjectReferenceSetSimpleDisplayName(ObjectReference akObject, string displayName) native global ; Sets reference angle in degrees. Will not cause load screen if called on Player Function SetRefAngle(ObjectReference akRef, float x, float y, float z) native global ; Sets no-collision state on reference Function SetRefNoCollision(ObjectReference akRef, bool abState) native global ; Get the scale of a reference Float Function GetScale(ObjectReference akRef) native global ; Set the scale of a reference Function SetScale(ObjectReference akRef, Float afScale) native global ; ; Actor functions ; =============== ; ; Check if the ActorBase has a specific skin. TO BE TESTED bool Function ActorBaseIsClean(Actor akActor) native global ; Return the WNAM ARMO of either the actor base or the actor's race Form Function GetActorBaseSkinForm(Actor akActor) native global ; Copy the base skin of one actor onto another as a skin override, similar to what LooksMenu does bool Function CopyActorBaseskinForm(Actor akSourceActor, Actor akDestActor) native global ; MFG morph function provided by EgoBallistic ; Apply a MFG Morph to the actor bool Function MfgMorph(Actor akActor, int morphID, int intensity) native global ; Set all MFG Morph values to zero on an actor bool Function MfgResetMorphs(Actor akActor) native global ; Save an actor's MFG Morph values to an array of float Float[] Function MfgSaveMorphs(Actor akActor) native global ; Restore an array of saved MFG morph values to an actor bool Function MfgRestoreMorphs(Actor akActor, Float[] values) native global ; Copy the MFG morph values from one actor to another bool Function MfgCopyMorphs(Actor a0, Actor a1) native global ; Apply a set of MFG morphs to an actor. Morph ID morphIDs[x] will be set to values[x] bool Function MfgApplyMorphSet(Actor akActor, int[] morphIDs, int[] values) native global ; Return an Actor's actor flags (not the same as the Form flags) Int Function GetActorFlags(Actor akActor) native global ; Reset an actor's persistent Essential / Protected data ; Calling Actor.SetEssential() overrides the actor base value. Changing the state on the actor base will no longer have any effect, and ; neither will the Essential flag on Aliases. This function resets the override so ActorBase and alias flags will work again. bool Function ResetActorEssential(Actor akActor) native global ; Sets an actor's position. Directly moves the ref so does not cause load screen if called on player Function SetActorPosition(Actor akActor, float x, float y, float z) native global ; Enable collisions for specific actor Function EnableActorCollision(Actor akActor) native global ; Disable collisions for specific actor Function DisableActorCollision(Actor akActor) native global ; Snap actor out of whatever interaction (furniture, etc) they are in Function ActorStopInteractingQuick(Actor akActor) native global ; Force AI package Function ActorSetPackageOverride(Actor akActor, Form pkg) native global ; Clear forced AI Package Function ActorClearPackageOverride(Actor akActor) native global ; Returns whether the actor is currently ignoring combat (e.g. due to package flags) Bool Function ActorGetIgnoringCombat(Actor akActor) native global ; Force the actor to ignore combat or not, overriding any package flags Function ActorSetIgnoringCombat(Actor akActor, Bool abIgnoreCombat) native global ; Update actor 3D equipment only (less expensive than QueueUpdate 0xC) Function ActorUpdateEquipment(Actor akActor) native global ; Update Player Character 3D Function PlayerUpdateEquipment() native global ; ; Collision functions ; =================== ; ; Set the collision state of a reference. Returns the previous state. TO BE TESTED _ currently fails. ;TBT; bool Function ObjectReferenceSetCollision(ObjectReference akObject, bool enable=True) native global ; Get the collision state of a reference. If akObject is None, return the global collision state (controlled by TCL). TO BE TESTED ;TBT; bool Function ObjectReferenceGetCollision(ObjectReference akObject) native global ; ; Cell Functions ; ============== ; ; Returns the number of references of type formType in cell. Use GetFormType() below for formType values. If formType is 0 this returns the count of all refs in the cell. Int Function GetNumRefsInCell(Cell akCell, Int formType) native global ; Returns nth reference of type formType in cell. If formType is 0 this returns the nth reference of any type. ObjectReference Function GetNthRefInCell(Cell akCell, Int index, Int formType) native global ; ; Misc. Form functions ; ==================== ; ; Returns the Editor ID of a Race. Originally GetFormEditorID, but passing in a form and using the F4SE function GetEditorID() has only worked on Quest and Race forms. So I've just made it for race forms only. String Function GetRaceEditorID(Race akForm) native global ; Returns the name of the plugin that created a form String Function OriginalPluginName(Form akForm) native global ; Returns the persistent ID of a form (excluding the load index) Should be compatible with esl files. (Fixed as of v18) Int Function OriginalPluginID(Form akForm) native global ; Returns whether a form is in a given leveled item list bool Function GetInLeveledItem(Leveleditem akList, Form akForm) native global ; Return a form's record flags Int Function GetRecordFlags(Form akForm) native global ; Return a form's formType Int Function GetFormType(Form akForm) native global ; Return whether form is persistent or not - updated in v51 Bool Function IsPersistent(Form akForm) native global ; Set a form persistent or not. Returns false if form does not exist - updated in v51 Bool Function SetPersistent(Form akForm, bool akFlag) native global ; Return an array of all the forms in a FormList Form[] Function FormListToArray(FormList akFormList) native global ; Return the form with the given formID from any type of plugin (esm, esl, esp) Form Function GetFormFromPlugin(String modName, Int formID) native global ; Return an array of forms given an array of plugin names and an array of form IDs Form[] Function GetFormArray(String[] modNames, Int[] formIDs) native global ; Given an array of FormID Ints that was packed as Var via VarArrayToVar(), return the array of corresponding forms Form[] Function GetFormArrayFromVar(Var akVar) native global ; Populate a formlist with the forms given an array of plugin names and a corresponding array of form IDs Function PopulateFormlist(FormList akFormList, String[] modNames, Int[] formIDs) native global ; ; AAF functions ; ============== ; ; Return an array of actors near akRef who qualify for AAF animations Actor[] Function AAF_PerformActorScan(ObjectReference akRef, float radius) native global ; Return the actor gender as seen by AAF Bool Function AAF_GetGender(Actor targetActor) native global ; Collects statistics on an actor for use by the Scaleform Var[] Function AAF_MakeActorData(Actor targetActor, Bool includeDistance, Keyword[] conditionKeywords) native global ; Collects statistics on location objects for use by the Scaleform Var[] Function AAF_MakeLocationData(ObjectReference target, Bool includeDistance = False) native global ; Returns whether an object is suitable for use as an animation location Bool Function AAF_IsValidLocation(ObjectReference targetLocation, Var[] actorGroup) native global ; Converts the internal representation of AAF's furniture list to an array of Forms as Var Var[] Function AAF_ProcessFurnitureList(Var[] akArgs) native global ; Returns an array of LocationData, packed as a Var, of all the valid locations for animations within the given radius from the scan location Var Function AAF_GetLocationData(int scanLocation, Var[] furnitureForms, Var[] furnitureSources, Var[] actorGroup, Bool quickScan, Float scanRadius) native global ; Returns whether an actor has any keywords in the blocked keywords list Bool Function AAF_GetBlockedStatus(Actor akActor) native global ; Returns whether an actor is valid for AAF use (not dead, not disabled/deleted, etc.) Bool Function AAF_IsValidActor(Actor akActor) native global ; Returns whether an actor is valid for use and not currently in an animation Bool Function AAF_IsAvailableActor(Actor akActor) native global ; ; Misc functions ; ============== ; ; Prints a message to the debug console. Exposes the internal F4SE function Console_Print using the code found in Papyrutil in Skyrim. bool Function PrintConsole(String text) native global ; Enable or disable blinking. Disabling allows MFG morphs to work on eyelids (morph ID 18 and 41) Function SetAllowBlinking(Bool allowed) native global ; ; HIDDEN Functions. Never call directly. ; ; hidden function, use ResizeVarArray instead Var[] Function ResizeVarArrayInternal(Var[] theArray, int theSize, Var theFill) native global ; ; Wav function (by Fedim) ; ; Plays a WAV file. FileName relative to "Data\Sound\Voice\" ; Option is possible "Data\Sound\Voice\MyPlugin\sound001.wav" Function PlaySoundWav(string FileName) native global ; Returns the current volume level of the player (-1 = 0xFFFFFFFF -> max) ; LowWord - left channel volume ; HeighWorg - right channel volume ; 0 <= volume <= 65535 (0xFFFF) int Function GetVolumeWav() native global ; Sets the volume of the player channels ; 0 <= volume <=65535 (0xFFFF) int Function SetVolumeWav(int volumeA, int volumeB) native global ; Randomly selects a line from the SectionText section of the "Data\F4SE\Plugins\PluginName.ini" file, plays the WAV and returns the text ; ini file must be UTF-8 encoded ; Sounds should be in the "Data\Sound\Voice\PluginName.esp\" String Function VoiceMessage(String PluginName, String SectionText) native global ; ; INI setting functions ; ===================== ; ; Functions to retrieve INI settings, e.g. Fallout4.ini, Fallout4Prefs.ini, Fallout4Custom.ini, mod .ini files in Data folder ; These functions retrieve the settings from the game engine, not from the INI files themselves. ; Parameter is the .ini setting name and section, fSettingName:SectionName. For example, fMinCurrentZoom:Camera ; Note that typing is strict, e.g. you cannot call GetINIFloat on an Int setting ; ; Return Float setting value or 0.0 if not found float Function GetINIFloat(string ini) native global ; Return Int setting value or 0 if not found int Function GetINIInt(string ini) native global ; Return Bool setting value or false if not found Bool Function GetINIBool(string ini) native global ; Return String setting value or NONE if not found String Function GetINIString(string ini) native global ; ; Animation functions ; =================== ; ; Functions to play animations on actors. They do basic sanity checking on the inputs so that None idles and actors, ; actors who are deleted or disabled, and actors with no AI middle process will not attempt to play idles. ; ; Make one actor play an idle Function PlayIdle(Actor akActor, Form akIdle) native global ; Make an array of actors play a corresponding array of idles, in synch Function PlayMultipleIdles(Actor[] akActor, Form[] akIdle) native global ; Stop the actor's current idle Function StopCurrentIdle(Actor akActor) native global Looks like I delteted the list of updates Well the first post is a lot shorter now. Also there is now a GitHub site to host the sources for this and other tools of mine at https://github.com/Lkdb5RDr v52-20240902 is a hotfix for v52-20240821 v53-20250105 fixes loading in fallout 1.10.163. v54-20250330 Hotfix for issue describe on March 30th by EgoBallistic v55 : deleted. v56 for 1.11.137.0 v57-20251120 adds support for Game version 1.11.159.0 (~AE Hotfix) paired with F4SE 0.7.5. Maintains support with 1.10.163.0, 1.10.984.0 and 1.11.137.0 (temporary) Tested successfully with basic functionality. v58-20251126: Adds support for Fallout v1.11.169.0 and F4SE 0.7.6. v59 for Fallout 1.11.191.0 and F4SE 0.7.8 v60 : - Compatible with game version 1.11.221.0 (and F4SE 0.7.8) - Corrected an issue with SetFlyCamSpeedMult in all versions but 1.10.984.0 since that game version was available. v61 : - Compatible with game version 1.11.240.0 (and F4SE 0.7.9) - Tested for functions not specific for AAF. v62 : - Correct 2 offsets I missed to update. Submitter jaam Submitted 07/22/17 Category Modders Resources Requirements Fallout 4 version 1.11.221.0 or 1.11.191.0 or 1.11.169.0 or 1.11.159.0 or 1.11.137.0 or 1.10.984.0 or 1.10.163 only. Use the correct related F4SE
-
Version v62-20260824
243587 downloads
Scriptname LL_FourPlay Native Hidden ; ; Shared community library of utility function from LoverLab distributed with FourPlay resources as a F4SE plugin with sources included ; ; Version 52 for runtime 1.10.984 2024 08 19 by jaam and Chosen Clue and EgoBallistic and Fedim ; Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_984.dll) is NOT! ; You need to always use a plugin corresponding with the game version you play. ; Plugin should be available just after F4SE has been updated for the modified runtime. ; Runtime versions lower than 1.10.984 will no longer be supported. ; Written and tested against F4SE 0.7.2. You should not use an older version of F4SE. ; ; ; ; Returns the version of this script (when someone has not forgotten to update it :) ) Float Function GetLLFPScriptVersion() global return 52.0 endFunction ; Returns the version of the plugin and servers to verify it is properly installed. Float Function GetLLFPPluginVersion() native global ; Custom profile: written into "Data\F4SE\Plugins" ; =============== ; Returns the full path for custom profile name. IE "WhereverYourGameIs\Data\F4SE\Plugins\name". Don't forget to provide the .ini extension. string Function GetCustomConfigPath(string name) native global ; Get the value of custom config string option string Function GetCustomConfigOption(string name, string section, string key) native global ; Get the value of custom config integer option (Use 0/1 for boolean) int Function GetCustomConfigOption_UInt32(string name, string section, string key) native global ; Get the value of custom config float option Float Function GetCustomConfigOption_float(string name, string section, string key) native global ; Sets the value of custom config string option (at most 66535 characters per option). The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption(string name, string section, string key, string value) native global ; Sets the value of custom config integer option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_UInt32(string name, string section, string key, int data) native global ; Sets the value of custom config float option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_float(string name, string section, string key, float data) native global ; Get all the keys and values contained in a section. Both at once to avoid discrepancies in the order. ; The keys are in VarToVarArray(Var[0]) as String[] and the values in VarToVarArray(Var[1]) as String[] Var[] Function GetCustomConfigOptions(string fileName, string section) native global ; Set a list of keys and values in a section. Any other existing key will be left alone. bool Function SetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Reset all the keys and values contained in a section. ; Any exiting key value pair will be suppressed first, so providing none arrays will effectivly removes all keys from the section. bool Function ResetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Get all the sections in a file. string[] Function GetCustomConfigSections(string fileName) native global ; For all array functions: ; The implementation as an arbitrary limitation of 32767 bytes buffer for all Keys, Values or sections involved. ; If needed because the limitation becomes a problem, another implementation can be done using memory allocation, though there will remain a limit imposed by Windows. ; When arrays for keys and values are provided, the count of elements in both arrays must be identical or the function fails on purpose. ; An empty value should be provided as a zero length string. TO BE TESTED ; ; Camera functions ; ================ ; ; Forces the FlyCam state. ; if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated. ; if activate is false and the FlyCam is active, the FlyCam will be deactivated. ; if the requested state is identical to the current state nothing is done. ; Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed. bool Function SetFlyCam(bool activate) native global ; TO BE TESTED ; Forces the FlyCam state. Alternative version that allows to pause/unpause the game when entering FlyCam ; if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated. ; if pause then the game will be paused ; if activate is false and the FlyCam is active, the FlyCam will be deactivated. ; otherwise if the requested activate is identical to the current state nothing is done. ; Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed. ;TBT; bool Function SetFlyCam2(bool activate, bool pause) native global ; TO BE TESTED - So far this is useless as scripts seem to be stopped while in pause mode :( ; Get the current state of the FlyCam bool Function GetFlyCam() native global ; Get the current pause state of the game bool Function GetPaused() native global ; Get the current state of the FXCam bool Function GetFXCam() native global ; Select the speed at which the FlyCam moves (identical to SetUFOCamSpeedMult/sucsm console command) ; The console command supports an optional second parameter to control rotation speed. ; The way it handles default value is not compatible so I use an explicit bool to select which speed to change ; Returns the previous value of the selected speed. float Function SetFlyCamSpeedMult(float speed, bool rotation=False) native global ; ; Power Armor/Race/Skeleton functions ; =================================== ; ; Returns the actor's race when in PowerArmor Race Function GetActorPowerArmorRace(Actor akActor) native global ; Returns the actor's skeleton when in PowerArmor string Function GetActorPowerArmorSkeleton(Actor akActor) native global ; Returns the actor's current skeleton, not affected by PowerArmor string Function GetActorSkeleton(Actor akActor) native global ;Chosen Clue Edit ; ; String functions ; ================ ; ; Returns the first index of the position the toFind string starts. You can use this to check if an animation has a tag on it. Is not case sensitive. Int Function StringFind(string theString, string toFind, int startIndex = 0) native global ; Returns the selected substring from theString. If no length is set, the entire string past the startIndex number is returned. string Function StringSubstring(string theString, int startIndex, int len = 0) native global ; Splits the string into a string array based on the delimiter given in the second parameter. ; As this function does ignore whitespace, putting a space as the delimiter will only result in a string being returned without spaces. string[] Function StringSplit(string theString, string delimiter = ",") native global ; Opposite of StringSplit. string Function StringJoin(string[] theStrings, string delimiter = ",") native global ; Converts an integer of any base to a hexadecimal string representation string Function IntToHexString(Int num) native global ; Converts a hexadecimal string to an integer Int Function HexStringToInt(String theString) native global ; ; Array functions ; =============== ; ;Just a precursor: This does not mean we can use Alias based scripts to store animations like sexlab does, as the F4SE team has yet to include a typedef of them in the F4SE CPP files. I am guessing that they haven't reverse engineered it yet. Form[] Function ResizeFormArray(Form[] theArray, int theSize, Form theFill = NONE) native global String[] Function ResizeStringArray(String[] theArray, int theSize, String theFill = "") native global Int[] Function ResizeIntArray(Int[] theArray, int theSize, Int theFill = 0) native global Float[] Function ResizeFloatArray(Float[] theArray, int theSize, Float theFill = 0.0) native global Bool[] Function ResizeBoolArray(Bool[] theArray, int theSize, Bool theFill = False) native global Var[] Function ResizeVarArray2(Var[] theArray, int theSize) native global Var[] Function ResizeVarArray(Var[] theArray, int theSize) global ; Because filling with invalid values will CTD ; Bugged for any version prior to 14 ; theFill will be ignored, but kept for compatibility. Anyway nobody used it ever as it would have CTD. Please use ResizeVarArray2 Int theFill = 0 return ResizeVarArrayInternal(theArray, theSize, theFill) endFunction ; if the int theSize is negative, the resulting array is a copy of the original array unchanged. ; Sets the minimum array size required by a mod. Returns false if the current value was greater. Bool Function SetMinimalMaxArraySize(int theMaxArraySize) native global ; This patches ArrayAdd and ArrayInsert so they respect that maximum. The value is memorised in ToolLib.ini ;[Custom Arrays] ;uMaxArraySize=nnnnnn ; ; !! Creating arrays that are too large will adversaly affect your game !! ; ; Keyword functions ; ================= ; ; Return the first keyword whose editorID is akEditorID Keyword Function GetKeywordByName(string akEditorID) native global ; Adds a keyword to a form (not only a reference). Does not persists. bool Function AddKeywordToForm(Form akForm, Keyword akKeyword) native global ; Delete a keyword from a form (not only a reference). Does not persists. bool Function DelKeywordFromForm(Form akForm, Keyword akKeyword) native global ; Return an array of all keywords loaded in game. Keyword[] Function GetAllKeywords() native global ; ; CrossHair functions ; ==================== ; ; Returns the Reference that is currently under the CrossHair. Returns None if there isn't one currently. ObjectReference Function LastCrossHairRef() native global ; Returns the last Actor that is or was under the CrossHair. Returns None until there is one since the game was (re)started. Actor Function LastCrossHairActor() native global ; ; ObjectReference functions ; ========================= ; ; Set the reference display name as a string without token. TO BE TESTED bool Function ObjectReferenceSetSimpleDisplayName(ObjectReference akObject, string displayName) native global ; Sets reference angle in degrees. Will not cause load screen if called on Player Function SetRefAngle(ObjectReference akRef, float x, float y, float z) native global ; Sets no-collision state on reference Function SetRefNoCollision(ObjectReference akRef, bool abState) native global ; Get the scale of a reference Float Function GetScale(ObjectReference akRef) native global ; Set the scale of a reference Function SetScale(ObjectReference akRef, Float afScale) native global ; ; Actor functions ; =============== ; ; Check if the ActorBase has a specific skin. TO BE TESTED bool Function ActorBaseIsClean(Actor akActor) native global ; Return the WNAM ARMO of either the actor base or the actor's race Form Function GetActorBaseSkinForm(Actor akActor) native global ; Copy the base skin of one actor onto another as a skin override, similar to what LooksMenu does bool Function CopyActorBaseskinForm(Actor akSourceActor, Actor akDestActor) native global ; MFG morph function provided by EgoBallistic ; Apply a MFG Morph to the actor bool Function MfgMorph(Actor akActor, int morphID, int intensity) native global ; Set all MFG Morph values to zero on an actor bool Function MfgResetMorphs(Actor akActor) native global ; Save an actor's MFG Morph values to an array of float Float[] Function MfgSaveMorphs(Actor akActor) native global ; Restore an array of saved MFG morph values to an actor bool Function MfgRestoreMorphs(Actor akActor, Float[] values) native global ; Copy the MFG morph values from one actor to another bool Function MfgCopyMorphs(Actor a0, Actor a1) native global ; Apply a set of MFG morphs to an actor. Morph ID morphIDs[x] will be set to values[x] bool Function MfgApplyMorphSet(Actor akActor, int[] morphIDs, int[] values) native global ; Return an Actor's actor flags (not the same as the Form flags) Int Function GetActorFlags(Actor akActor) native global ; Reset an actor's persistent Essential / Protected data ; Calling Actor.SetEssential() overrides the actor base value. Changing the state on the actor base will no longer have any effect, and ; neither will the Essential flag on Aliases. This function resets the override so ActorBase and alias flags will work again. bool Function ResetActorEssential(Actor akActor) native global ; Sets an actor's position. Directly moves the ref so does not cause load screen if called on player Function SetActorPosition(Actor akActor, float x, float y, float z) native global ; Enable collisions for specific actor Function EnableActorCollision(Actor akActor) native global ; Disable collisions for specific actor Function DisableActorCollision(Actor akActor) native global ; Snap actor out of whatever interaction (furniture, etc) they are in Function ActorStopInteractingQuick(Actor akActor) native global ; Force AI package Function ActorSetPackageOverride(Actor akActor, Form pkg) native global ; Clear forced AI Package Function ActorClearPackageOverride(Actor akActor) native global ; Returns whether the actor is currently ignoring combat (e.g. due to package flags) Bool Function ActorGetIgnoringCombat(Actor akActor) native global ; Force the actor to ignore combat or not, overriding any package flags Function ActorSetIgnoringCombat(Actor akActor, Bool abIgnoreCombat) native global ; Update actor 3D equipment only (less expensive than QueueUpdate 0xC) Function ActorUpdateEquipment(Actor akActor) native global ; Update Player Character 3D Function PlayerUpdateEquipment() native global ; ; Collision functions ; =================== ; ; Set the collision state of a reference. Returns the previous state. TO BE TESTED _ currently fails. ;TBT; bool Function ObjectReferenceSetCollision(ObjectReference akObject, bool enable=True) native global ; Get the collision state of a reference. If akObject is None, return the global collision state (controlled by TCL). TO BE TESTED ;TBT; bool Function ObjectReferenceGetCollision(ObjectReference akObject) native global ; ; Cell Functions ; ============== ; ; Returns the number of references of type formType in cell. Use GetFormType() below for formType values. If formType is 0 this returns the count of all refs in the cell. Int Function GetNumRefsInCell(Cell akCell, Int formType) native global ; Returns nth reference of type formType in cell. If formType is 0 this returns the nth reference of any type. ObjectReference Function GetNthRefInCell(Cell akCell, Int index, Int formType) native global ; ; Misc. Form functions ; ==================== ; ; Returns the Editor ID of a Race. Originally GetFormEditorID, but passing in a form and using the F4SE function GetEditorID() has only worked on Quest and Race forms. So I've just made it for race forms only. String Function GetRaceEditorID(Race akForm) native global ; Returns the name of the plugin that created a form String Function OriginalPluginName(Form akForm) native global ; Returns the persistent ID of a form (excluding the load index) Should be compatible with esl files. (Fixed as of v18) Int Function OriginalPluginID(Form akForm) native global ; Returns whether a form is in a given leveled item list bool Function GetInLeveledItem(Leveleditem akList, Form akForm) native global ; Return a form's record flags Int Function GetRecordFlags(Form akForm) native global ; Return a form's formType Int Function GetFormType(Form akForm) native global ; Return whether form is persistent or not - updated in v51 Bool Function IsPersistent(Form akForm) native global ; Set a form persistent or not. Returns false if form does not exist - updated in v51 Bool Function SetPersistent(Form akForm, bool akFlag) native global ; Return an array of all the forms in a FormList Form[] Function FormListToArray(FormList akFormList) native global ; Return the form with the given formID from any type of plugin (esm, esl, esp) Form Function GetFormFromPlugin(String modName, Int formID) native global ; Return an array of forms given an array of plugin names and an array of form IDs Form[] Function GetFormArray(String[] modNames, Int[] formIDs) native global ; Given an array of FormID Ints that was packed as Var via VarArrayToVar(), return the array of corresponding forms Form[] Function GetFormArrayFromVar(Var akVar) native global ; Populate a formlist with the forms given an array of plugin names and a corresponding array of form IDs Function PopulateFormlist(FormList akFormList, String[] modNames, Int[] formIDs) native global ; ; AAF functions ; ============== ; ; Return an array of actors near akRef who qualify for AAF animations Actor[] Function AAF_PerformActorScan(ObjectReference akRef, float radius) native global ; Return the actor gender as seen by AAF Bool Function AAF_GetGender(Actor targetActor) native global ; Collects statistics on an actor for use by the Scaleform Var[] Function AAF_MakeActorData(Actor targetActor, Bool includeDistance, Keyword[] conditionKeywords) native global ; Collects statistics on location objects for use by the Scaleform Var[] Function AAF_MakeLocationData(ObjectReference target, Bool includeDistance = False) native global ; Returns whether an object is suitable for use as an animation location Bool Function AAF_IsValidLocation(ObjectReference targetLocation, Var[] actorGroup) native global ; Converts the internal representation of AAF's furniture list to an array of Forms as Var Var[] Function AAF_ProcessFurnitureList(Var[] akArgs) native global ; Returns an array of LocationData, packed as a Var, of all the valid locations for animations within the given radius from the scan location Var Function AAF_GetLocationData(int scanLocation, Var[] furnitureForms, Var[] furnitureSources, Var[] actorGroup, Bool quickScan, Float scanRadius) native global ; Returns whether an actor has any keywords in the blocked keywords list Bool Function AAF_GetBlockedStatus(Actor akActor) native global ; Returns whether an actor is valid for AAF use (not dead, not disabled/deleted, etc.) Bool Function AAF_IsValidActor(Actor akActor) native global ; Returns whether an actor is valid for use and not currently in an animation Bool Function AAF_IsAvailableActor(Actor akActor) native global ; ; Misc functions ; ============== ; ; Prints a message to the debug console. Exposes the internal F4SE function Console_Print using the code found in Papyrutil in Skyrim. bool Function PrintConsole(String text) native global ; Enable or disable blinking. Disabling allows MFG morphs to work on eyelids (morph ID 18 and 41) Function SetAllowBlinking(Bool allowed) native global ; ; HIDDEN Functions. Never call directly. ; ; hidden function, use ResizeVarArray instead Var[] Function ResizeVarArrayInternal(Var[] theArray, int theSize, Var theFill) native global ; ; Wav function (by Fedim) ; ; Plays a WAV file. FileName relative to "Data\Sound\Voice\" ; Option is possible "Data\Sound\Voice\MyPlugin\sound001.wav" Function PlaySoundWav(string FileName) native global ; Returns the current volume level of the player (-1 = 0xFFFFFFFF -> max) ; LowWord - left channel volume ; HeighWorg - right channel volume ; 0 <= volume <= 65535 (0xFFFF) int Function GetVolumeWav() native global ; Sets the volume of the player channels ; 0 <= volume <=65535 (0xFFFF) int Function SetVolumeWav(int volumeA, int volumeB) native global ; Randomly selects a line from the SectionText section of the "Data\F4SE\Plugins\PluginName.ini" file, plays the WAV and returns the text ; ini file must be UTF-8 encoded ; Sounds should be in the "Data\Sound\Voice\PluginName.esp\" String Function VoiceMessage(String PluginName, String SectionText) native global ; ; INI setting functions ; ===================== ; ; Functions to retrieve INI settings, e.g. Fallout4.ini, Fallout4Prefs.ini, Fallout4Custom.ini, mod .ini files in Data folder ; These functions retrieve the settings from the game engine, not from the INI files themselves. ; Parameter is the .ini setting name and section, fSettingName:SectionName. For example, fMinCurrentZoom:Camera ; Note that typing is strict, e.g. you cannot call GetINIFloat on an Int setting ; ; Return Float setting value or 0.0 if not found float Function GetINIFloat(string ini) native global ; Return Int setting value or 0 if not found int Function GetINIInt(string ini) native global ; Return Bool setting value or false if not found Bool Function GetINIBool(string ini) native global ; Return String setting value or NONE if not found String Function GetINIString(string ini) native global ; ; Animation functions ; =================== ; ; Functions to play animations on actors. They do basic sanity checking on the inputs so that None idles and actors, ; actors who are deleted or disabled, and actors with no AI middle process will not attempt to play idles. ; ; Make one actor play an idle Function PlayIdle(Actor akActor, Form akIdle) native global ; Make an array of actors play a corresponding array of idles, in synch Function PlayMultipleIdles(Actor[] akActor, Form[] akIdle) native global ; Stop the actor's current idle Function StopCurrentIdle(Actor akActor) native global Looks like I delteted the list of updates Well the first post is a lot shorter now. Also there is now a GitHub site to host the sources for this and other tools of mine at https://github.com/Lkdb5RDr v52-20240902 is a hotfix for v52-20240821 v53-20250105 fixes loading in fallout 1.10.163. v54-20250330 Hotfix for issue describe on March 30th by EgoBallistic v55 : deleted. v56 for 1.11.137.0 v57-20251120 adds support for Game version 1.11.159.0 (~AE Hotfix) paired with F4SE 0.7.5. Maintains support with 1.10.163.0, 1.10.984.0 and 1.11.137.0 (temporary) Tested successfully with basic functionality. v58-20251126: Adds support for Fallout v1.11.169.0 and F4SE 0.7.6. v59 for Fallout 1.11.191.0 and F4SE 0.7.8 v60 : - Compatible with game version 1.11.221.0 (and F4SE 0.7.8) - Corrected an issue with SetFlyCamSpeedMult in all versions but 1.10.984.0 since that game version was available. v61 : - Compatible with game version 1.11.240.0 (and F4SE 0.7.9) - Tested for functions not specific for AAF. v62 : - Correct 2 offsets I missed to update. -
View File Dynamic Traps SE (WIP) New in 0.2: Death Worms and Mimics from Traps NTR(Need Trappy Reality). Spawn traps in dungeons at random locations. Some traps can appear at chokepoints (doorways, narrow corridors), while others - on random walkable surfaces. Optional integration with Deviously Cursed Loot, Skyrim Chain Beasts, Devious Curses NG - activating a trap can trigger events from these mods. Mod in incomplete, I would like to test its core mechanics before adding new stuff. Available Traps: 1) Fire, Frost and Shock Rune - spawns on the ground, behaves like vanilla runes. Can be disarmed by firing a spell from safe distance. Can appear in narrow corridors and basically anywhere as long as the area has NavMesh. 2) Tripwire - spawns in doorways, in front of doors and narrow corridors. Can be disarmed by firing a spell or manually activating it (Warning: will still trigger a Basic Event). 3) Death Worm - Requires "Traps NTR(Need Trappy Reality)" and "Dynamic traps - TNTR addon.esp" to be installed. A giant worm hides in the ground. Can spawn in narrow corridors, similar to tripwires. Triggers when walking over it. 4) Mimic Chest - Requires "Traps NTR(Need Trappy Reality)" and "Dynamic traps - TNTR addon.esp" to be installed. A mimic that replaces large boss chests. Grabs Player when activated or when mad. more to come Trigger Events Trigger Events - events that fire when a trap is activated. NPCs and Followers can trigger only Basic Events - damaging explosions and poking spikes. Available Events for the Player depend on installed mods and settings. Basic Events - explosions and spears poking through the ground, similar to what vanilla traps do. Deviously Cursed Loot Events - requires Deviously Cursed Loot to be installed - will start an event as if the Player opened a cursed chest. Deviously Cursed Loot will choose what happens based on it settings. Chain Beasts - requires Skyrim Chain Beasts to be installed - will spawn a number of random Chain Beasts, pretty self-explanatory. Devious Curses - requires Devious Curses NG to be installed - will trigger a random Event. Special trap description Death Worms Death Worms can be spotted by a large pile of dirt on the ground. They will attack anyone that steps on it. Two possible outcomes: 1) Death Worm will emerge from the ground and push away its target while dealing damage. Works on Player and NPCs; 2) Death Worm grabs its victim and starts a QTE Struggle Event; Death Worm can be tricked into emerging by strafing left and right in front of the dirt pile. When it appears, damage the Worm with a spell to force it into hiding for a few minutes. Mimics Mimics replace large boss chests and will grab Player when they try to open it. To open a chest safely you need to appease the Mimic by giving it a treat. There are 3 types of Mimics that prefer different offerings: Meat dishes, Alcohol and Sweet Rolls. Drop a treat in front of the Mimic and if it's the right type of item, Mimic will gobble it up. If satisfied, Mimic won't attack when you click on it and will let you access the chest it's replacing. Although Mimics prefer different treats there is a certain item adored by all Mimics. Panties. Offering this specific item will satisfy any Mimic and will grant you rewards. QTE Struggle Event Being grabbed by Mimics and Death Worms will start a QTE Event. Fill the Struggle Bar by sequentially pressing the keys shown above the Bar. For example, A-D-A-D-A-D. Fill amount depends on your current Stamina Percentage. Struggling with full Stamina Bar is much more effective. Press and hold Left Shift to replenish Stamina, but deplete Struggle Bar. Pressing correct keys consecutively will grant you a small bonus to fill amount. Hitting the wrong key will reset this bonus. Struggle Bar passively depletes over time with increasing speed. Mimics will also damage your Magicka. Once Magicka is fully depleted, Mimic will cast a shock spell that will deplete some amount of your Stamina. Issues Some traps might will spawn at weird locations - inaccessible areas, under furniture or being partially submerged underground making them hard to notice. This happens because we are not spawning traps at pre-determined placed - I'm not placing traps manually in every cell. Dynamic Traps analyses dungeons and their NavMeshes, looks for specific items and structures, and tries to calculate suitable locations for traps. Unfortunately, technical limitations make it complicated to check for all possible circumstances. I will continue to look for ways to improve calculation methods, but there will always be some level of imperfection. Compatibility 1) To prevent breaking other mods, Dynamic Traps won't spawn or trigger traps if the Player is considered to be enslaved by ZaZAnimationPack. 2) Mimic are incompatible will O.M.N.O.M.S. Both mods are basically doing the same thing. If you would like to use O.M.N.O.M.S. than set the Mimic spawn chance in Dynamic Traps MCM to 0. Future plans 1) Bug fixes, obviously; 2) More trap variations - vanilla frost and shock Runes, explosive gas trap; 3) Optional integration of Traps NTR, specifically Skeleton trap, Snare rope and Worms; SKSE Source Code (for mod makers): Submitter AndrewLRG Submitted 12/14/25 Category Regular Mods Requirements PapyrusUtil, Address Library for SKSE Plugins Regular Edition Compatible No Install Instructions
-
Version 2.3.2
204413 downloads
Real-Time Body Physics is a highly experimental mod for the Sims 4 that attempts to add real-time body physics to sims. Currently, only the breasts and butt are targeted, but other parts could be added in the future. The mod works via a fake DirectX DLL that behaves just like the real deal, but injects a little extra code into the rendering loop (See: https://en.wikipedia.org/wiki/Hooking). Please read the included "ReadMe.html" file before using this mod. It explains how to install, configure, and control the mod in-game. RTBP 11 (DirectX 11): RTBP for DirectX 11 is now available. You can expect all functionality from the DirectX 9 version in RTBP11, but the better performance of the Sims 4's newer DirectX 11 renderer. https://streamable.com/0ukdjd Be warned that it is a little buggy compared to the DirectX 9 version, but things should improve with time. DirectX 11 is quite a bit more complicated than DirectX 9, so getting everything working has been more of an ordeal. Most of the bugs are very minor, small visual glitches while everything else appears to be solid as a rock. That being said, don't forget to save often and backup your save games. Hopefully the small visual bugs aren't deal breakers for most of you. If they are, you can eliminate almost all of them by disabling butt physics. If you haven't used the internal GUI yet, try it out in game by pressing F11. The internal GUI will eventually replace the Commander, but for the time being both can be used to tweak RTBP to your liking. To avoid confusion, I'm calling this release RTBP v2.0. That way you'll know that and RTBP release with a version number of 2.0 and above is the DirectX 11 version and anything below is DirectX 9. Known Issues: * For some meshes, one of the butt cheeks looks deflated and sags downward. * Some sims glich out and their geometry shoots out in random directions. * Sims might look a little weird in the portrait images. * Probably more. These issues ought to be fixed in time. Let me know if you have any problems. Please enjoy and have a happy new year. Real-Time Body Physics Experimental Builds Fixing bugs can be difficult, especially when you can't reproduce the error that has befallen so many users. If you're up for it, try out an experimental build in testing and report your findings in the support thread. 2026-08-18: Better exception handling, minidumps, updated companion, updated installer, further work towards fixing OpenAdapter10_2 issue. RTBP v2.3.1~3 2026-08-18.zip If you were unable to use RTBP before, but this release works, let me know. RTBP Legacy (DirectX 9, Depreciated): The DirectX 9 version of RTBP has been superseded by the DirectX 11 version and is no longer being developed. Use the DirectX 9 version only if you have to. RTBP v0.4-p8 2024-04-12.zip Note for those with an Intel GPU: You'll need to tweak a Sims 4 configuration file for RTBP to work. Go to your game installation directory + "/Game/Bin/" (the same place you put "d3d9.dll"), and open the file "GraphicsRules.sgr". Find the line that says "setProp $ConfigGroup EnableSoftwareSkinning true" (for me it was on line 117) and replace the part that says "true" to "false". This will enable hardware skinning for Intel hardware and allow RTBP to work. Note on DirectX 11: A recent update added DirectX 11 support to the Sims 4. RTBP was designed around the original version of the game that uses DirectX 9. For RTBP to function, the D3D9 version of the game needs to be used (D3D11 support is coming). To explicitly launch the D3D9 version of the Sims 4, find your installation directory and execute "...\Game\Bin\TS4_DX9_x64.exe". You can also choose to switch to the D3D9 version of the game in the game options. RTBP 2020-08-12.webm Butt Physics.webm RTBP 2020-08-12.webm Bonus: If you'd like, you can try out the super duper, highly experimental, RTBP GUI tool that allows you to Alt+Tab out of the game and change settings on the fly via the RTBP Command Server using a user friendly GUI interface: * Screenshot is out of date. The RTBP GUI Tool is a work in progress and more features will be added soon. Beware that you can send values to RTBP that might break it and cause body parts to disappear. RTBP GUI Preview Breasts.webm RTBP GUI Preview Ass.webm RTBP GUI Preview Breasts.webm Bonus 2: Having a bit of trouble installing RTBP? Try out the RTBP installer. Just select the RTBP zip file you'd like to install, your Sims 4 installation directory, and your Sims 4 mods directory. The RTBP Installer will attempt to automatically detect these paths, so if you're unsure, I recommend going with the default values. Update 2023-11-11: The new versions of the RTBP Commander and Installer have been bundled to save space. Note that this version of the installer is incompatible with older versions of RTBP. Download both of them here: Update 2023-04-01: Origin has been depreciated and replaced with the EA App. The RTBP installer will no longer look for your Sims 4 installation in the Origin game directory. Update 2023-03-24: Added the EA App game installation directory to the list of potential Sims 4 game installation directories. The requisite libraries required for RTBP to function will be individually tested during installation. Update 2022-08-13: The RTBP Installer should now detect when GShade is installed and make the changes necessary for RTBP compatibility. Update 2022-07-26: Improved logging. Update 2021-11-18: The RTBP Installer now has an uninstallation wizard. Bonus 3: Looking for a more bleeding edge version of RTBP? Download the latest preview and/or experimental release here. These releases need to be manually installed, so they're for more advanced users. Documentation and script mods aren't typically included with these: RTBP v0.4-p9-e3 2025-12-11.zip RTBP GUI Tools 2026-03-04.zip- 14 reviews
-
395
-
- experimental
- boobs
-
(and 2 more)
Tagged with:
-
Version 5.10
3447 downloads
Xenomorph Domain Description: A large adult hive-mind overhaul for Stellaris built around the perfect organism. Play the Hive itself — grow the brood from ovomorph to Queen Mother, harvest hosts, subjugate broodstock tributaries, and remake worlds into living resin. Or stand on the other side of the glass: captor empires can contain, study, farm, and profit from the most dangerous species in the galaxy. Military, economy, and exploration stay in a cold biological-horror register; the adult content lives inside the systems built for it, built and validated against the current Stellaris version with all DLC in mind. This is a living WIP — updates ship frequently, and saves are best started fresh after major updates. AI disclosure: this mod is heavily AI-developed — see the full note in the AI Development Disclosure section below. Included Content: * 1 Playable Species Class * 3 Prescripted Empires * 117 Species Traits and 25 Leader Traits * 31 Civics and 9 Origins * 121 Technologies * 138 Buildings * 83 Districts * 98 Jobs * 23 Army Types * 23 Tradition Trees * 16 Ascension Perks * 21 Planet Types * Deposits and Blockers * 15 Empire Personalities * 49 Ship Components * War Goals and Casus Belli * 552 Events * Custom portraits, AI-generated icons, espionage operations, war goals, relics, and the Hive Evolution Chamber menu Current Features: Requirements: Lustful Void by Lithia<3 — REQUIRED! UI Overhaul Dynamic — strongly recommended (no patch needed) Installation: Extract the zip contents to (...\Documents\Paradox Interactive\Stellaris\mod) — if you don't have a "mod" folder, create one there. The archive contains "Hive mods.mod" and the "Hive mods" folder; both go directly into the mod folder. Delete the old mod folder and .mod file before extracting a new version. Clean installs are the supported path. Load order: Lustful Void Calcifire's Trait Pack for LV — Xenomorph Domain — XD Compat - Bug Branch (only if you use Bug Branch — load AFTER it) XD Compat - Forgotten Queens (only if you use Forgotten Queens — load AFTER it) — UI mods last To-Do List!/Bug to be fixed! Recent Changelog: Version 5.5 Changelog history: Compatibility AI Development Disclosure: This mod has been heavily developed with AI. The scripting and coding — events, civics, jobs, buildings, traditions, and the systems that tie them together — were written and debugged with AI assistance (Claude), working against the game's real files under human direction and playtesting. The custom icon images are AI-generated (civic, job, and tradition icons, and the Evolution Chamber banner). Design decisions, content direction, and testing are human; if you object to AI-assisted content, this mod is not for you. Inspiration & Credits: Lithia<3 — Lustful Void, the foundation this mod stands on (and the inspiration for this page). Calcifire — Calcifire's Trait Pack for LV. NickVirgo — Xenomorph Species Rework and Xenomorph Infection, whose early versions seeded several of this mod's systems before they diverged into their current forms. The Alien / Alien vs Predator franchise — the perfect organism itself: ovomorphs, facehuggers, Queens, the Alien 3 runner, Covenant's Neomorphs. TGMC (/tg/station Marine Corps) — the xenomorph caste roster that inspired the war-caste system. Plague Inc — the inspiration for the Evolution Chamber's spend-to-evolve board. Permissions: Franchise concepts belong to their respective owners; borrowed inspiration is credited above. Submods are welcome, as well as custom patches, which may be uploaded to a patch list on the main page. Owners of any art or characters featured in this mod have the right to request its removal from the mod at any time, no reason needed.-
20
-
- stellaris
- stellaris modding
-
(and 7 more)
Tagged with:
-
Slave Girls by hydragorgon SE View File Slave Girls by hydragorgon SE I DID NOT create this mod. It was created by the indomitable @hydragorgon, and all rights and privileges belong to them. I messaged Hydragorgon a while back asking for perms to upload this but they have been M.I.A. since last December, so I took a gamble and decided to go ahead and share. If Hydragorgon comes back and doesn't want this conversion to be posted they have the right to... BURN IT DOWN! All I did was Combine the Main Files and Texture Files, Optimize the textures and meshes for Skyrim Special Edition, and convert the ESPs to Form 44. The following copied from the original LE upload page by hydragorgon: About This File _-_Slave_Girls_-_ This mod adds about 200 npcs in various states of distress all throughout Skyrim. There are slave caravans, house slaves, hostages, and bandits in bondage. Many of the NPCs have dialogue, and some are merchants. At the moment this mod is mostly for visual appeal, but I have plans to add scripts and quests as soon as I can get online more regularly. I use alot of extra NPC mods because I think they add alot to the random element of the game. That's what Slavegirls does. This mod DOES NOT simulate an actual slave trading economy; it's just flavor so far. Thanks alot to all the Lover's Lab community for helping me make this mod decent. _Requirements_ There are only two requirements, but they both require FNIS SE and SKSE64 at least. Check the pages carefully, please. Sexlab Framework SE Zaz Animations SE _Patches_ Copy over the main esp No-Nude Males _More Info_ There are quite a few different types of slavegirl in the mod, and even a few slaveguys too. I use many different AI packages to tune the mod, but there are still bugs. If you see a slave standing around doing nothing, just wait an hour. She'll usually end up getting herself into trouble somehow. Some NPCs are Sexlab Forbidden to preserve their bondage, but there's a patch to change that included. Here's a brief explanation of most of the types of slavegirls out there. Slavegirls- These are house slaves serving the more wealthy denizens of Skyrim. They have been trained throughly, and so have a certain amount of freedom. Many slavegirls have dialogue. Townies- Most of the settlements have a townie or two with personal slaves to serve them. Some are paid champions protecting a given territory. Many of these lucky folk are merchants including a.. Rare gem dealer in Solitude Rare book dealer in Dawnstar Dealer in soul gems and enchanted objects in Whiterun Scroll dealer in Windhelm Skooma dealer in Riften And hopefully more soon... Adventurers- Small groups of adventurers travel the wilds of Skyrim, slave girls rushing behind them to catch up. You can often find them in taverns and inns, or discussing important business with their ragtag associates. Be careful because some of these adventurers are quite powerful! Some of them are merchants too, including.. Travelling alchemists selling potions and other apothecary needs Orc wanderers selling their ethnic weaponry A Dungeoneer selling Dwemer artifacts and metals And also more soon.. Slave Caravans- Various slave traders and their drooling cronies drive helpless slavegirls all along the roads of Skyrim. They are quite tough, and will defend their merchandise with their lives. Hostages- In some cities the guards keep groups of hostages in case their families are willing to pay ransom for their safe return. Many of these poor girls are prisoners of war. Vignettes- These poor ladies are stuck in states of almost total bondage, depending of course on buggy AI packages. If you see one standing around, just wait for an hour. thanks for downloading hydragorgon If you enjoy my conversion work and would like to toss a coin to my coffee fund, you can visit my Patreon ~ Nomkaz Submitter nomkaz Submitted 06/15/2019 Category Adult Mods Requires SexLab Framework SE, Zaz Animations SE Regular Edition Compatible No
-
View File [WIP] Incest for Storytelling I tried my hand on a somewhat nuanced incest system. I wanted to see what can be implemented and I will try to add more things. Right now this mod adds -new familial relationship labels -enabling incest through gameplay for one pair of paras at a time -interactions that let paras form opinions about incest -reaction of other paras to incest depending on different factors -being able to freely edit relationship labels in the character editor -developing onesided crushes on family members (right now only available for the version including teenagers) -chance that becoming romantic partners while having an incestuous crush become "stand-in" (right now only available for the version including teenagers) Note: Since so far I have only been asked for a version that includes teenagers I won't update the version that excludes them for now. If people are interested in that version as well I will pick up support for it. The new lables are grandparent, grandchild, pibling (genderneutral term for uncle/aunt), nibling (genderneutral term for niece/nephew) and cousin. They automatically apply the fitting inverse label to the other para when given (if you give someone grandparent, the other para gets grandchild as well), but i have not implemented any additional automatic connections since I don't know how that would interfere with the way i implemented the incest interactions. There are three new TogetherCard types: "innocent compliment" which is a normal friendly interaction available between family members, a variation that let's one para develop a onesided crush on a family member, and a variation that switches the normal familial label to one that allows romantic interactions (siblings would loose their "sibling" labels and those get replaced with "dearest sibling"). The second variation has a success chance based on a couple different factors. I added three new emotions: being ok with incest, being disgusted by it and having it as a fetish. Those can be gained by interacting with a mirror and they last for about two weeks. They are not exclusive. There is one interaction for each "emotion" plus one that gives you a randomised outcome. If other paras are in the group while two related paras "flirt" they will react to it if they know their family situation. Each "stance on incest" emotion should give a different reaction. Right now it only works for the TogetherCards I added, but I will see if I can add it for already exisitng ones as well. I don't know if there is a function with which I can implement people "noticing" without being in the group already. I don't think it is possible with to add the reaction of others to cards that are not exclusively available to incest couples with how things work at the moment, but I will continue to look into it. If a para that has an incestuous crush enters a romantic relationship there is a one in five chance for it to become a "stand-in" relationship giving a malus on all romantic interactions. If you have suggestions, bug reports or feedback let me know. I am very thankful for any input. Thank you for playing. Submitter .______. Submitted 06/06/26 Category Paralives Requirements Install Instructions Unzip the downloaded folder into: C:\[User]\AppData\LocalLow\Paralives\Paralives
- 9 replies
-
- incest
- paralives mod
-
(and 3 more)
Tagged with:
-
Version 0.0.2
1444 downloads
Creampie Overhaul FFoD Cycle Calendar Image Pack (WIP) A simple background image pack, used to decorate each day of the Female Player Character's fertility cycle - in Creampie Overhaul. This image pack is only usable with the test version (0.2.0 and up) of Creampie Overhaul The test version of creampie overhaul is a very exploratory work in progress and only available on the XCL discord. Image Themes It is very likely that this specific pack will be updated once i find better fitting images. My goal is to eventually have all images have a contemplative note (not looking to the camera, essentially lost in thought about their cycle) mixed with feminine visual cues. Work in Progress Rae is still missing 3 images and repeats the current available 4 Scarlit has images that have some awkward cropping and i hope to find better images soon -
View File Creampie Overhaul FFoD Cycle Calendar Image Pack Creampie Overhaul FFoD Cycle Calendar Image Pack (WIP) A simple background image pack, used to decorate each day of the Female Player Character's fertility cycle - in Creampie Overhaul. Image Themes It is very likely that this specific pack will be updated once i find better fiting images. My goal is to eventually have all images have contemplative note mixed with feminine visual cues. Work in Progress Rae is still missing images and defaults to a picture of liya Submitter FFoD Submitted 06/23/26 Category Gameplay Changes & Events Requirements XCL 0.24.8 Creampie Overhaul 0.2.3
-
Version 1.0.2
1419 downloads
I tried my hand on a somewhat nuanced incest system. I wanted to see what can be implemented and I will try to add more things. Right now this mod adds -new familial relationship labels -enabling incest through gameplay for one pair of paras at a time -interactions that let paras form opinions about incest -reaction of other paras to incest depending on different factors -being able to freely edit relationship labels in the character editor -developing onesided crushes on family members (right now only available for the version including teenagers) -chance that becoming romantic partners while having an incestuous crush become "stand-in" (right now only available for the version including teenagers) Note: Since so far I have only been asked for a version that includes teenagers I won't update the version that excludes them for now. If people are interested in that version as well I will pick up support for it. The new lables are grandparent, grandchild, pibling (genderneutral term for uncle/aunt), nibling (genderneutral term for niece/nephew) and cousin. They automatically apply the fitting inverse label to the other para when given (if you give someone grandparent, the other para gets grandchild as well), but i have not implemented any additional automatic connections since I don't know how that would interfere with the way i implemented the incest interactions. There are three new TogetherCard types: "innocent compliment" which is a normal friendly interaction available between family members, a variation that let's one para develop a onesided crush on a family member, and a variation that switches the normal familial label to one that allows romantic interactions (siblings would loose their "sibling" labels and those get replaced with "dearest sibling"). The second variation has a success chance based on a couple different factors. I added three new emotions: being ok with incest, being disgusted by it and having it as a fetish. Those can be gained by interacting with a mirror and they last for about two weeks. They are not exclusive. There is one interaction for each "emotion" plus one that gives you a randomised outcome. If other paras are in the group while two related paras "flirt" they will react to it if they know their family situation. Each "stance on incest" emotion should give a different reaction. Right now it only works for the TogetherCards I added, but I will see if I can add it for already exisitng ones as well. I don't know if there is a function with which I can implement people "noticing" without being in the group already. I don't think it is possible with to add the reaction of others to cards that are not exclusively available to incest couples with how things work at the moment, but I will continue to look into it. If a para that has an incestuous crush enters a romantic relationship there is a one in five chance for it to become a "stand-in" relationship giving a malus on all romantic interactions. If you have suggestions, bug reports or feedback let me know. I am very thankful for any input. Thank you for playing.-
10
-
- incest
- paralives mod
-
(and 3 more)
Tagged with:
-
-
1
-
- rayman origins
- 3ds
-
(and 5 more)
Tagged with:
-
View File Rayman Origins 3ds - Topless Betilla Warning ⚠️ For now, it's only for emulators! I'm still working on the console version despite the limited/nonexistent information and tools available. I hope you like it! :] Submitter msrio Submitted 06/01/26 Category Other Games Requirements Install Instructions
-
- rayman origins
- 3ds
-
(and 5 more)
Tagged with:
-
View File [XCL] [0.24] Porn Tolerance Mod - Porn Addict Rework (Compulsion) Disclaimer This is a very lightweight (very work-in-progress) mod about reworking the Porn Addict Compulsion to have some actual consequences for highly masculine PCs. Fair warning, it was very heavily vibe-coded. So, if you have any personal qualms about AI-usage... well, no offense, but why the fuck are you playing XCL? Requirements v0.24.8 from the gitgud repo | Playtest v0.24 (I can only guarantee the gitgud repo, at this time. Try earlier versions/ the supporter playtest at your own risk.) Context As someone who finds it difficult to RP a reluctant character, especially when it comes down to a highly masc character getting curious about being turned into a woman and willingly fucked, I wanted to have a way to self-sabotage that didn't break my RP/require major suspension of disbelief. If you're good at the mini-games, good at closing sales and dodging demos, good at dodging getting spiked at the bar/club, don't feel like your character would ever be dumb enough to gamble with Bruce or Dredd to risk taking a Breeder/Insta-Strip (lmao), and you don't have other mods that can force you to transform consistently in a narratively coherent way, you probably find yourself getting stuck in a loop of accidentally succeeding as a full masculine character like I do. I wanted to find a way to help address that problem without needing to force my character to make catastrophically poor decisions that were impossible to justify, or ending up in positions that escalate way too quickly (Secretary mini-game, many of the demos, Purple Alexia, etc.). It dawned on me that the porn videos don't currently have a tolerance system, despite the Porn Addict compulsion providing the framework for one. I was disappointed that X-Change porn (in base game) only serves to further an already ongoing feminization after you've lost a decent chunk of masculinity. Well, I wanted more from the porn given how sexy the clips are. So, this mod makes it so that a Porn Addiction can kick-start the feminization, instead. After all, what better way for someone to get curious about the pill than seeing someone on the pill cumming their brains out, or looking ecstatic while sucking a cock? In the privacy of their own home, while living in a city where anyone they know could swap around at any moment, who wouldn't get a little curious after seeing enough porn of it? What does this mod do? You'll have both RP and meta-game reasons to choose the X-Change porn despite the guaranteed -1 to Masc, even as a highly masculine PC. You want to keep your MAX AP buff, but you don't want to risk the heavier masc loss if you fail to get off to Mainstream porn. You can use an AP to bypass the failure, but it still heavily reduces the arousal reduction. I wanted it to reflect how a porn addiction in real life is a rabbit hole that sucks you down. The more Mainstream porn you watch, the harder it becomes to get off to it. (On an exponential curve increasing with times watched, to the point that even having Male Masturbation at level 10 won't net you more than a 10% chance of succeeding at the dice roll.) The Reflex mini-game also scales with this, but it's unfortunately one of the easiest in the entire game. Ironically, it's actually far more fun because your mandatory 20 seconds will likely be over by the time you've managed to fill the bar, as opposed to how your normally have to constantly stop-and-go with it. Basically, use the dice roll if you want to get the most out of this mod until I find a solution for the reflex mini-game being too easy. If you do manage to pass the check, the more you've watched over your entire run, the less arousal you'll lose (scaling all the way down to only 1 arousal lost based on the amount of porn watched). X-Change porn will get you off harder and can even overcap cum loads, so if you have a mod that raises the max load count, i.e. arousal, it'll work with that. If not, it's just an unnecessarily big number currently to convey the addiction better. If you cross over a certain number of watches, you'll now be at-risk of losing masculinity if you fail to get off to Mainstream porn. (-3 if you fail the check). Obviously, you can force pass the skill check with an AP point, but you still won't clear your arousal. A high masc character (>90) is no longer prevented from watching X-Change porn if they have the Porn Addict compulsion. However, you are guaranteed to lose 1 masc if you use it at all. Changes the nags and much of the dialogue surrounding porn usage based on your Porn Addict state to indicate your PC's growing desire for more "taboo" X-Change porn. Installation Use the Modloader (if not using the gitgud repo version) OR Drag and drop into your mods folder in the game's root (if using the gitgud repo version) X-Change Life/mods/Porn-Tolerance-Mod/PornToleranceMod.twee Bugs/Compatibility Please let me know if this mod conflicts with any current major mods. I don't think it should, given that it's almost entirely contained to just using the computer and the Porn Addict compulsion. I have only done the bare minimum of testing on the female side. I plan to spend more time improving that side of things, but hopefully it functions as smoothly as the male side. Admittedly, this mod is currently more focused on the masculine PC for the time being, but I absolutely plan to expand on that. It also uses the "around" function as much as possible, so even if there are any critical bugs, they shouldn't be catastrophic (I hope.) Future Plans I am still currently working on expanding this mod, and I plan to do much more with it. I want more dialogue, captions, functionality, porn videos/categories, but I feel that it's currently in a place that's worth sharing around for feedback/bug-testing. Primarily, I would like to introduce new porn categories and radiant dialogue/captions, as I believe that would be the easiest expansion. Once again, I have only done the bare minimum of testing on the female side. I plan to spend more time improving that side of things, but hopefully it functions as smoothly as the male side. Admittedly, this mod is currently more focused on the masculine PC for the time being, but I absolutely plan to expand on that in the future. Submitter Thronicomar Submitted 05/31/26 Category Gameplay Changes & Events Requirements v0.24 X-Change Life
- 2 replies
-
- x-change
- compulsion
-
(and 5 more)
Tagged with:
-
Version 0.4
1409 downloads
Disclaimer This is a very lightweight (very work-in-progress) mod about reworking the Porn Addict Compulsion to have some actual consequences for highly masculine PCs. Fair warning, it was very heavily vibe-coded. So, if you have any personal qualms about AI-usage... well, no offense, but why the fuck are you playing XCL? Requirements v0.24.8 from the gitgud repo | Playtest v0.24 (I can only guarantee the gitgud repo, at this time. Try earlier versions/ the supporter playtest at your own risk.) Context As someone who finds it difficult to RP a reluctant character, especially when it comes down to a highly masc character getting curious about being turned into a woman and willingly fucked, I wanted to have a way to self-sabotage that didn't break my RP/require major suspension of disbelief. If you're good at the mini-games, good at closing sales and dodging demos, good at dodging getting spiked at the bar/club, don't feel like your character would ever be dumb enough to gamble with Bruce or Dredd to risk taking a Breeder/Insta-Strip (lmao), and you don't have other mods that can force you to transform consistently in a narratively coherent way, you probably find yourself getting stuck in a loop of accidentally succeeding as a full masculine character like I do. I wanted to find a way to help address that problem without needing to force my character to make catastrophically poor decisions that were impossible to justify, or ending up in positions that escalate way too quickly (Secretary mini-game, many of the demos, Purple Alexia, etc.). It dawned on me that the porn videos don't currently have a tolerance system, despite the Porn Addict compulsion providing the framework for one. I was disappointed that X-Change porn (in base game) only serves to further an already ongoing feminization after you've lost a decent chunk of masculinity. Well, I wanted more from the porn given how sexy the clips are. So, this mod makes it so that a Porn Addiction can kick-start the feminization, instead. After all, what better way for someone to get curious about the pill than seeing someone on the pill cumming their brains out, or looking ecstatic while sucking a cock? In the privacy of their own home, while living in a city where anyone they know could swap around at any moment, who wouldn't get a little curious after seeing enough porn of it? What does this mod do? You'll have both RP and meta-game reasons to choose the X-Change porn despite the guaranteed -1 to Masc, even as a highly masculine PC. You want to keep your MAX AP buff, but you don't want to risk the heavier masc loss if you fail to get off to Mainstream porn. You can use an AP to bypass the failure, but it still heavily reduces the arousal reduction. I wanted it to reflect how a porn addiction in real life is a rabbit hole that sucks you down. The more Mainstream porn you watch, the harder it becomes to get off to it. (On an exponential curve increasing with times watched, to the point that even having Male Masturbation at level 10 won't net you more than a 10% chance of succeeding at the dice roll.) The Reflex mini-game also scales with this, but it's unfortunately one of the easiest in the entire game. Ironically, it's actually far more fun because your mandatory 20 seconds will likely be over by the time you've managed to fill the bar, as opposed to how your normally have to constantly stop-and-go with it. Basically, use the dice roll if you want to get the most out of this mod until I find a solution for the reflex mini-game being too easy. If you do manage to pass the check, the more you've watched over your entire run, the less arousal you'll lose (scaling all the way down to only 1 arousal lost based on the amount of porn watched). X-Change porn will get you off harder and can even overcap cum loads, so if you have a mod that raises the max load count, i.e. arousal, it'll work with that. If not, it's just an unnecessarily big number currently to convey the addiction better. If you cross over a certain number of watches, you'll now be at-risk of losing masculinity if you fail to get off to Mainstream porn. (-3 if you fail the check). Obviously, you can force pass the skill check with an AP point, but you still won't clear your arousal. A high masc character (>90) is no longer prevented from watching X-Change porn if they have the Porn Addict compulsion. However, you are guaranteed to lose 1 masc if you use it at all. Replaces and expands the nags and much of the dialogue surrounding porn usage based on your Porn Addict state to indicate your PC's growing desire for more "taboo" X-Change porn. Each X-Change video has 10 unique lines that replace the original "you gain arousal watching this" that would show up when clicking on a video, based on your masc/fem tier, and your current body state. It's a 5-band tier, scaling down from 100 100-80 | 79-60 | 59-40 | 39-20 | 19-0 These are meant to represent the reaction of the PC and their slowly eroding identity, so you'll see their thoughts shift from aroused repulsion, to a submissive acceptance. Basically, it's a spectrum from, "God, why is this so hot?" to "Yeah, I want to be her so bad right now." These are mostly AI-generated lines, but I plan to go through and overhaul them to my liking soon. I wanted to get the system working first. There are also general lines for all X-Change videos, so you have a 50% chance to see your stat specific line, or to see the general line. I figured that would help keep things a bit more exciting if you click on the same video at the same tier. A little trick to compel the player themselves to want to watch more of the in-game porn. Installation Use the Modloader (if not using the gitgud repo version) OR Drag and drop into your mods folder in the game's root (if using the gitgud repo version) X-Change Life/mods/Porn-Tolerance-Mod/PornToleranceMod.twee Bugs/Compatibility Please let me know if this mod conflicts with any current major mods. I don't think it should, given that it's almost entirely contained to just using the computer and the Porn Addict compulsion. I have only done the bare minimum of testing on the female side. I plan to spend more time improving that side of things, but hopefully it functions as smoothly as the male side. Admittedly, this mod is currently more focused on the masculine PC for the time being, but I absolutely plan to expand on that. It also uses the "around" function as much as possible, so even if there are any critical bugs, they shouldn't be catastrophic (I hope.) Future Plans I am still currently working on expanding this mod, and I plan to do much more with it. I want more dialogue, captions, functionality, porn videos/categories, but I feel that it's currently in a place that's worth sharing around for feedback/bug-testing. Primarily, I would like to introduce new porn categories and radiant dialogue/captions, as I believe that would be the easiest expansion. Once again, I have only done the bare minimum of testing on the female side. I plan to spend more time improving that side of things, but hopefully it functions as smoothly as the male side. Admittedly, this mod is currently more focused on the masculine PC for the time being, but I absolutely plan to expand on that in the future.-
5
-
- x-change
- compulsion
-
(and 5 more)
Tagged with:
-
Version 0.2.3
4178 downloads
New in 0.2: Death Worms and Mimics from Traps NTR(Need Trappy Reality). Spawn traps in dungeons at random locations. Some traps can appear at chokepoints (doorways, narrow corridors), while others - on random walkable surfaces. Optional integration with Deviously Cursed Loot, Skyrim Chain Beasts, Devious Curses NG - activating a trap can trigger events from these mods. Mod in incomplete, I would like to test its core mechanics before adding new stuff. Available Traps: 1) Fire, Frost and Shock Rune - spawns on the ground, behaves like vanilla runes. Can be disarmed by firing a spell from safe distance. Can appear in narrow corridors and basically anywhere as long as the area has NavMesh. 2) Tripwire - spawns in doorways, in front of doors and narrow corridors. Can be disarmed by firing a spell or manually activating it (Warning: will still trigger a Basic Event). 3) Death Worm - Requires "Traps NTR(Need Trappy Reality)" and "Dynamic traps - TNTR addon.esp" to be installed. A giant worm hides in the ground. Can spawn in narrow corridors, similar to tripwires. Triggers when walking over it. 4) Mimic Chest - Requires "Traps NTR(Need Trappy Reality)" and "Dynamic traps - TNTR addon.esp" to be installed. A mimic that replaces large boss chests. Grabs Player when activated or when mad. more to come Trigger Events Trigger Events - events that fire when a trap is activated. NPCs and Followers can trigger only Basic Events - damaging explosions and poking spikes. Available Events for the Player depend on installed mods and settings. Basic Events - explosions and spears poking through the ground, similar to what vanilla traps do. Deviously Cursed Loot Events - requires Deviously Cursed Loot to be installed - will start an event as if the Player opened a cursed chest. Deviously Cursed Loot will choose what happens based on it settings. Chain Beasts - requires Skyrim Chain Beasts to be installed - will spawn a number of random Chain Beasts, pretty self-explanatory. Devious Curses - requires Devious Curses NG to be installed - will trigger a random Event. Special trap description Death Worms Death Worms can be spotted by a large pile of dirt on the ground. They will attack anyone that steps on it. Two possible outcomes: 1) Death Worm will emerge from the ground and push away its target while dealing damage. Works on Player and NPCs; 2) Death Worm grabs its victim and starts a QTE Struggle Event; Death Worm can be tricked into emerging by strafing left and right in front of the dirt pile. When it appears, damage the Worm with a spell to force it into hiding for a few minutes. Mimics Mimics replace large boss chests and will grab Player when they try to open it. To open a chest safely you need to appease the Mimic by giving it a treat. There are 3 types of Mimics that prefer different offerings: Meat dishes, Alcohol and Sweet Rolls. Drop a treat in front of the Mimic and if it's the right type of item, Mimic will gobble it up. If satisfied, Mimic won't attack when you click on it and will let you access the chest it's replacing. Although Mimics prefer different treats there is a certain item adored by all Mimics. Panties. Offering this specific item will satisfy any Mimic and will grant you rewards. QTE Struggle Event Being grabbed by Mimics and Death Worms will start a QTE Event. Fill the Struggle Bar by sequentially pressing the keys shown above the Bar. For example, A-D-A-D-A-D. Fill amount depends on your current Stamina Percentage. Struggling with full Stamina Bar is much more effective. Press and hold Left Shift to replenish Stamina, but deplete Struggle Bar. Pressing correct keys consecutively will grant you a small bonus to fill amount. Hitting the wrong key will reset this bonus. Struggle Bar passively depletes over time with increasing speed. Mimics will also damage your Magicka. Once Magicka is fully depleted, Mimic will cast a shock spell that will deplete some amount of your Stamina. Issues Some traps might will spawn at weird locations - inaccessible areas, under furniture or being partially submerged underground making them hard to notice. This happens because we are not spawning traps at pre-determined placed - I'm not placing traps manually in every cell. Dynamic Traps analyses dungeons and their NavMeshes, looks for specific items and structures, and tries to calculate suitable locations for traps. Unfortunately, technical limitations make it complicated to check for all possible circumstances. I will continue to look for ways to improve calculation methods, but there will always be some level of imperfection. Compatibility 1) To prevent breaking other mods, Dynamic Traps won't spawn or trigger traps if the Player is considered to be enslaved by ZaZAnimationPack. 2) Mimic are incompatible will O.M.N.O.M.S. Both mods are basically doing the same thing. If you would like to use O.M.N.O.M.S. than set the Mimic spawn chance in Dynamic Traps MCM to 0. Future plans 1) Bug fixes, obviously; 2) More trap variations - vanilla frost and shock Runes, explosive gas trap; 3) Optional integration of Traps NTR, specifically Skeleton trap, Snare rope and Worms; SKSE Source Code (for mod makers):