Jump to content

(WIP) Lover's Rituals


kilana

Recommended Posts

If the gods are kind, I won't get burnt out from this. X.x

 

I had always wanted to make lovers more engaging... to make it feel more like a game element. I tried out Lovers Extender which looked promising... but it always felt incomplete... There was real incentive to raise sex xp/level... and during sex you don't really do anything though the mod tried by implementing an odd potion system. Sexlivion was more frustrating than interesting, as I never could figure out what the buttons actually did. So... while playing around with the image editor, making HUDs, and learning what I could and couldn't do with scripting, this mod idea started forming. Backstory over.

 

Description and Mechanics Info

Lover's Rituals combines concepts from Lovers Extender, Lovers Love Juice, Lovers Magic, and maybe some stuff from a few other games/manhwas... Perhaps a concept image would help before I start.

post-9926-13597873858054_thumb.jpg

Players get a few new sex stats to keep track of.

  • Sex Stamina - Could be compared to fatigue... this works similar to SexPower in Lovers Extender. During Sex, Partners compete to use up the other's Stamina. Once a player's Stamina is exhausted, Energy begins transferring to the winning Partner. Stamina regenerates regularly outside of combat. Performing Sex moves costs Stamina.
  • Sex Energy - Could be compared to magicka... and the source of this mod's namesake. To perform Sex Rituals, players need Sex Energy. Energy does not regenerate naturally. Energy is gained by going through a Partner's Stamina, and still having stamina left over yourself to draw out energy from them.
  • Sex Alignment - Different Sex moves and rituals have a Yang(masculine) or Yin(feminine) alignment. Performing them may shift the player towards one spectrum or another. This has an effect on certain moves and rituals.
  • Sex Levels(and XP) - Sex XP is calculated from the amount of stamina you exhaust out of each Partner during sex. As levels increase, players will have higher Max Stamina, Max Energy, and have access to more sex moves/combos and rituals.

 

Okay now for the game mechanics:

The minigame HUD appears as soon as lovers sex activates. The player's Stats are displayed on bottom while the Partner's Stats are displayed on top. I may change how the game runs based on what type of sex action is detected.

 

I think the variables work like this:

player.GetItemCount xLoversPkrIdentifier (##00008C)

1 = Regular Sex (Like AdultPlayPlus)

2 = Bed Sex/Masturbation

3 = Raping?

4 = Being Raped(or maybe just creature rape, will need to test further)

 

 

Players can choose from these actions(The concept image above only shows first 3 items... though 5 menu options is the ultimate goal):

-Head Action

-Arm Action

-Lower Body Action

-Sex Ritual

-Use Item

Controls: (M) Confirm/Open Submenu, (,<) Previous, (.>) Next, (?/) Cancel/Back from Submenu

I'm using expanded hotkeys so it was REALLY hard to find which buttons I could make available. Y-P, G-L, All number keys, All numpad, plus most of the buttons around WASD are already mapped to things... I don't run Dance Synchronizer because it hogs so many hotkeys despite it being such a fun mod .

I think lovers uses number keys for reposition, WASD for camera, and arrow keys for something too... so for Menu Nav, I hope M,<,>,/ are okay

 

About Sex Actions

Each Sex Action is tied to one of 3 bipeds. Head, Arm, Lower Body. So players can theoretically run 3 simultaneous sex actions. However, sex actions cost stamina so you will tire yourself out faster this way. As the ultimate goal of the sex game is to make your partner's Stamina 0, most sex actions damage Partner stamina. Sex actions also have a duration and cause a limb cooldown(where you can't select a new action for that limb until it refreshes).

 

So an example Sex Action:

Kiss(lips) - Head Action
Neutral Move
3 Stamina Damage/second to Partner
6-12 Second Duration (+1 /5 Sex levels)
Cost: 4 Stamina
9 Second Cooldown
-Additional Effect: Blocks Partner Head Actions

After you confirm a Kiss(lips) attack:

-Neutral Moves have no effect on Yang/Yin Alignment

-You will be unable to change your Head Action for 9 seconds.

-You will lose 4 Stamina

-Partner will lose 3 Stamina/Second while the effect remains

-Partner will be unable to perform most Head Actions(Or rituals that require the Head Biped) while the effect remains

 

Using certain actions in certain sequences can transform into combo abilities with their own unique effects or unlock abilities. Like for a basic combo, Kiss(lips)-> Kiss(lips) transforms the second Kiss into French Kiss(lips). Or another example: Lick(groin)->Caress(ass)->Suck(groin) transforms the third action into Deep Throat(groin)

 

As soon as one partner runs out of Stamina, they lose... Sex animations will continue... not going to hook anything in scripts to affect them. So I'll probably need to suggest players change Sex Progression to Manual for consensual actions... and I'll need custom mechanics for forced sex. Anyways, at 0 stamina, the winning partner starts using up their remaining Stamina and drawing Energy from their partner. For example, Player has 43 stamina left after their partner hits 0. Player stamina starts draining and energy is added. Think of it as the partner is now too exhausted and in a limp state of bliss while you work you plumb their depths to generate sex power.

 

Well, hard earned sex power needs to have a use... so that's where Sex Rituals come in. Any time during sex, players can choose to start channeling a Sex Ritual(Similar to regular sex actions). While the ritual is being chanted, Stamina is regularly sucked out of your partner for fuel (makes winning a little easier). All stamina drained by sex action attacks on the partner and the passive ritual drain gets added to a power counter. Sex action stamina costs will not add to the counter, so it's in your best interest to exhaust your partner before they spend it doing sex actions on their own... although drawing out a fight with disabling moves might be better for some rituals. You can only activate one ritual for each sex encounter.

 

An example ritual:

Essence Feast - Draw forth the sexual energies of your victim and convert it into raw magicka. (Head)
Yang Aligned
-5 Stamina Damage/second to Partner (-1 / 5 Sex Levels)
Cost: 50 Energy
15 Second cooldown
Effect: 25% Power returned to player as Stamina, 75% returned as a Fortify Magicka Buff (Duration 20 minutes ~1200 seconds)

-As a chanted ritual, the Head biped needs to be available to start casting. Rituals, once started, stay in effect for the whole sex encounter.

-The cooldown prevents the associated biped from doing a regular sex action until finished (example uses head). Players will not be able to do more than one ritual per sex encounter.

-A power counter will appear which adds up as the partner's Stamina is damaged.

-Once the partner reaches 0 remaining Stamina, the script waits for sex to finish (after the climax stage) before applying the bonuses to the Ritual Caster. No stamina will be converted to energy like during regular sex.

 

Addition: Sex rituals can serve as a double edged sword. If the caster loses all THEIR stamina first, and the Partner wins, they get the bonus from the ritual once sex ends.

 

 

Items will include various sex toys, potions, foods or other consumable items which can inflict buffs/debuffs related to the sex game. These will include obvious items like stamina/energy potions, things like dildos/anal beads, etc.

 

 

Old draft of move list ideas... This is more of a name reference, not actual stats of moves.

Menu Reference		Stamina Cost	Align Value	Bipeds Used	Description
-------------------	------------	------------	-----------	-----------
1. Offensive Action(Regular)
 A. Kiss		3		(+1 Yang)	Head		-1 Stamina/Round(Partner), Head actions blocked(Partner), Duration(1-10 rounds)
 B. Lick Nipples	3		(+2 Yang)	Head		-1+1d5 Stamina/Round(Partner), Duration(1-6 rounds)
 C. Grope Tits/Ass	5		(+1 Yang)	Arms		-4 Stamina/Round(Partner), Duration(1-10 rounds)
 D. Bind Wrists	5		(+2 Yang)	Arms		Arm actions blocked(Partner)
 E. Grind Hips		8		(+3 Yang)	Pelvis		-7+1d5 Stamina/Round(Partner), Duration(1-6 rounds)
 F. Deep Thrusts	8		(+3 Yang)	Pelvis		-2d6 Stamina/Round(Partner), 10% chance for Critical(2x Stamina Damage, Dispel effects(Self)), Duration(1-6 rounds)
1. Offensive Action(Oral)
 A. Stir Cock		3		(+1 Yang)	Pelvis
 B. Deep Throat	5		(+3 Yang)	Pelvis

2. Defensive Action
 A. Resist Kiss	2		(+1 Yin )	Head		Remove Kiss effects(Self), Success Chance(Random(Stamina) vs. PartnerStamina/2)
 B. Resist Grope	4		(+1 Yin )	Arms		Remove Grope effects(Self), Success Chance(Random(Stamina) vs. PartnerStamina/2)
 C. Struggle Hips	6		(+3 Yin )	Pelvis		Remove Grind/Thrust effects(Self), Success Chance(Random(Stamina) vs. PartnerStamina/2)
 D. Steady Breathes	2		(+1 Yin )	Head		Halves Stamina Drain(Self), Duration(1-10 rounds)
 E. Caress		4		(+2 Yin )	Arms		-1+1d2 Stamina/Round(Partner), +50% Stamina Cost(Partner), Duration(1-6 rounds)
 F. Counter Thrust	6		(+3 Yin )	Pelvis		-2+1d4 Stamina/Round(Partner), 2x Stamina Damage if under Grind/Thrust effects, Duration(1-4 rounds)
2. Defensive Action(Oral)
 A. Suckle		2		(+1 Yin )	Head		

Menu Reference			Energy Cost	Align Req	Bipeds Used	Description
-------------------		-----------	-----------	-----------	-----------
3. Magic
 A. Virgin Guard		10		Yin		Pelvis		Ends Sex Act, (Current Stamina)Damage Health(Partner), Damage Stamina(Self), Damage Fatigue(Self), -1 Drain Fatigue(Self) (1 minute)
 B. Essence Drain		10		--		Head		-1d6(Level) Stamina(Partner)
 C. Essence Absorb		20		--		Head		-1d6(Level) Stamina(Partner), +Half Stamina(Self)
 D. Essence Consume		30		--		Head		-1d6(Level) Stamina(Partner), +Half Stamina(Self), +Quarter Health(Self)
 E. Essence Feast		50		--		Head		-1d6(Level) Stamina(Partner), +Half Stamina(Self), +Quarter Health(Self), +Fortify Magicka(Self) (20 minutes)
 F. Raging Passion		20		Yang		Arms		Offensive Actions no Stamina Cost (10 minutes)
 G. Insatiable Lust		20		--		Head		+2+1(Level/5) Stamina Regeneration/Round (Self) (10 minutes)
 H. Distill Essence		--		--		Head		-(Current Energy) Damage Energy(Self), -Stamina(Partner), Create "Sexual Essence" Potions
 I. Crystalize Essence 	--		--		Head		-(Current Energy) Damage Energy(Self), -Stamina(partner), Create "Sexual Essence" Crystals(Ingred)
 J. Spiritual Injection	10		Yin		Pelvis		-1d6(Level) Stamina(Partner), +Half Health(Partner)
 K. Spiritual Infusion		20		Yin		Pelvis		-1d6(Level) Stamina(Partner), +Half Health(Partner), +Half Fortify Health(Partner) (20 minutes)
 L. Spiritual Embrace		30		Yin		Pelvis		-1d6(Level) Stamina(Partner), +

 

Okay, wall of text ALMOST over...

 

Dev Stuff

Right now, I'm working on getting all the HUD elements in place. I.E. Making sure I can read/update variables for each sex stat and HUD element. I've got a working prototype of the menu like seen in the screenshot. So I can use the > and < keys to move up and down the menu and I can detect when M or / keys are pressed. I went with hotkey menu display system thingy because I hate the oblivion messagebox system. A few house mods use message boxes for their crafting messages and its pretty annoying having to reposition the mouse and click 5-6 times to make a couple lockpicks... Hope this is worth the effort... I don't want to be the only one who dislikes messageboxes.

 

Once I'm happy with a move list, I can start populating arrays to store them.

 

I can detect when Sex encounters start, and what kind of sex events they are with 'xLoversPkrIdentifier'. I can detect what sex stage is current with 'xLoversPkrStep' and 'xLoversPkrStageM' (I'm not 100% sure what the difference is between these two variables, other than StageM shows 1 higher than PkrStep... usually.) 5 happens to be climax, and it resets to 0 once ended.

 

I can also detect the current animation group(cowgirl, standing, lying back...) as well as the specific pair animation(1-200 are the standard sex animations, i think the ones higher than that are all creature). Though I'm probably not going to touch the specific animations(too much variation to look through)... I'd like to be able to filter some moves depending on the animation... but lets pretend I'm not going to because I'm certain trying would burn me out. 'xLoversPkrSposGroupM' 'xLoversSPosM'

 

Inside cumshots are tracked with 'xLoversPkrIsEjaculation' which I figured out from working with the TamagoHUD plugin. 1=sperm inside, 0=blowjob animation group or F/F pairs.

 

'xLoversOff' 'xLoversDef' are flags for whether the current actor is doing the male(Off) or female(Def) set of animations... you'd think it would be straight forward because of the genders... but for same sex pairs, these flags help... One thing i've noticed, female players wanting to have sex with female NPC's always take the masculine animation... unless the female NPC is raping the player. Wonder why I haven't seen a mod that lets the female NPC companion play the futa.

 

2 flags I don't know the use for are 'xLoversPkrFlagSlave' and 'xLoversPkrRelationship'. Would be nice if someone knows if any mods use those flags... might be useful info to know.

 

I'd love suggestions for the move lists. The coding is going to take a while, but it would be a big help if the community could help with some inspiring move/ritual names or effect ideas. Also maybe the mod name could use work... would be a shame if Lover's Rituals is used by another mod already.

Link to comment

Hey there,

 

very nice idea, i'd love to see it finished. Youre right, the Extender got boring after a while and Sexlivion was maybe a little too hard.

 

For some Moves, are you familiar with the FF Fight Games by Crimson Comics or who ever developed them?

 

 

1263240682_oyfmk9mknzleurs.jpeg

 

 

They got a small Stat System and some Moves you could do. Mainly rubbing here or there, squezing and so on... ...at least it could be some inspiration :)

 

The Name should be fine, i havent heard about another Mod called Rituals.

 

Thanks for your work, i hope you have a great time continuing your Project.

 

 

Link to comment

Looks very interesting' date=' one question will, this work with LoversRapeStruggle? If not would it be possible to add it to this? Or if the author doesnt mind could this just absorb it and replace that project.

[/quote']

 

Nice. I always did like mods that allowed competitive fucking. I just wish SKSE was up to implmenting your interface :)

 

Link to comment

Looks very interesting' date=' one question will, this work with LoversRapeStruggle? If not would it be possible to add it to this? Or if the author doesnt mind could this just absorb it and replace that project. [/quote']

 

As the code plan stands... both mods could be activated at the same time, but they wouldn't interact at all. Its been a while since I last used RapeStruggle, if I remember though, the player could spam the Wield Weapon or maybe it was the block key to try and break out of a rape encounter?

 

Lovers Rituals will have its own set of moves for trying to break free from a rape... so I don't think I'd recommend activating both.

 

 

Progress:

I've got the interactable menu interface setup (player can go up and down the list). Reading button presses is no problem. The current script checks once every 0.2 seconds, but the sensitivity is still kind of weak. I'll probably try 0.1 seconds. I've seen other scripts try for 0.001 seconds, though not sure just how big my updateHUD script is going to get.

post-9926-13597873871609_thumb.jpgpost-9926-13597873870702_thumb.jpgpost-9926-13597873872347_thumb.jpg

Need to figure out how to get the text alignment to center... 'HudT_Align' doesn't seem to do anything

 

 

Turned this:

 

Into this:

post-9926-13597873873119_thumb.jpg

 

Well, the status bar works... although it fills upside down (I set the value to 75%). I'll probably have to invert the value and switch the texture paths if I want it to fill up instead. Then it's just a matter of copying the XML stuff 3 more times for the Partner Stamina bar and 2x Energy bars.

 

Little fact I've noticed... HUDS created via pluggy scripts show up on top of area load screens. HUDS created via Menuque vanish under load screens though...

Link to comment

Finished writing up the xml stuff for the sex move display thing. I like using menuque over pluggy since I don't have to maintain any script variables. pluggy needs like 2-4 variables per hud item x.x. I might rewrite the menu selection thing to use menuque huds instead.

 

 

 

SetMenuStringValue "LLR_BodyStatus\_font" 1004 STRINGVAR
-Body Status Font
SetMenuFloatValue "LLR_BodyStatus\_vspacing" 1004 NUMBERVAR
-Spacing between each biped status (head, arm, leg)


SetMenuStringValue "LLR_BodyStatus\LLR_Head1Title" 1004 STRINGVAR
-Action Name for Head move
SetMenuStringValue "LLR_BodyStatus\LLR_Head1TextDMG" 1004 STRINGVAR
-String format of Head move damage Value
SetMenuStringValue "LLR_BodyStatus\LLR_Head1TextCST" 1004 STRINGVAR
-String format of Head move cost Value

SetMenuStringValue "LLR_BodyStatus\LLR_Arm1Title" 1004 STRINGVAR
-Action Name for Arm move
SetMenuStringValue "LLR_BodyStatus\LLR_Arm1TextDMG" 1004 STRINGVAR
-String format of Arm move damage Value
SetMenuStringValue "LLR_BodyStatus\LLR_Arm1TextCST" 1004 STRINGVAR
-String format of Arm move cost Value

SetMenuStringValue "LLR_BodyStatus\LLR_Legs1Title" 1004 STRINGVAR
-Action Name for Legs move
SetMenuStringValue "LLR_BodyStatus\LLR_Legs1TextDMG" 1004 STRINGVAR
-String format of Legs move damage Value
SetMenuStringValue "LLR_BodyStatus\LLR_Legs1TextCST" 1004 STRINGVAR
-String format of Legs move cost Value


SetMenuStringValue "LLR_BodyStatus2\LLR_Head1Title" 1004 STRINGVAR
-Action Name for Head move
SetMenuStringValue "LLR_BodyStatus2\LLR_Head1TextDMG" 1004 STRINGVAR
-String format of Head move damage Value
SetMenuStringValue "LLR_BodyStatus2\LLR_Head1TextCST" 1004 STRINGVAR
-String format of Head move cost Value

SetMenuStringValue "LLR_BodyStatus2\LLR_Arm1Title" 1004 STRINGVAR
-Action Name for Arm move
SetMenuStringValue "LLR_BodyStatus2\LLR_Arm1TextDMG" 1004 STRINGVAR
-String format of Arm move damage Value
SetMenuStringValue "LLR_BodyStatus2\LLR_Arm1TextCST" 1004 STRINGVAR
-String format of Arm move cost Value

SetMenuStringValue "LLR_BodyStatus2\LLR_Legs1Title" 1004 STRINGVAR
-Action Name for Legs move
SetMenuStringValue "LLR_BodyStatus2\LLR_Legs1TextDMG" 1004 STRINGVAR
-String format of Legs move damage Value
SetMenuStringValue "LLR_BodyStatus2\LLR_Legs1TextCST" 1004 STRINGVAR
-String format of Legs move cost Value

 

Guess it shouldn't have surprised me to find that SetMenuString works different than SetMenuFloat... Seems like every single string command in oblivion has a different syntax >.<.

 

set text to sv_construct "Kissing(Lips)"
SetMenuStringValue "LLR_BodyStatus\LLRHead1Title\string|%z", TEXTVAR, 1004

 

Link to comment

Finished reversing the bars to fill from the bottom up... MUCH more complicated than I thought... but it looks nicer. Also rebuilt the menu interface with menuque. The font selection is alot weaker though. It only supports 5 fonts (the same ones you see in books). And you can't resize them. With HudStatusBars and Darn installed, I have access to more fonts via scripting, but I want to avoid too many dependencies.

 

This is the smallest font available though... as you can see the buttons can't fit much text. I believe oblivion auto scales the HUD with resolution... so stuff should still be readable even for players who have better(or worse) resolutions than what I'm using. (1024x768) I think I'll display the currently selected move below the whole menu, instead of replacing the button text with the move name like in the concept image.

 

As I can detect when a key is held down and released, I'm considering adding a detail window option thingy. Like if the player holds down LEFT SHIFT some kind of info popup shows up and vanishes when released. Like a combo 'cheat sheet' that lists all available combos... maybe even displaying ??? entries for unused combos so players have an alternate goal of discovering all possible combos instead of telling them directly what they are.

 

 

 

This is the current basic movelist. Combos will work by using basic moves in certain sequences which will automatically change the last move into the combo version.

So Move1, then using Move2, updates the status area(next to the bars) with the combo move name and stats... the menu won't display any combo move info itself... this is so players won't have to scroll through a movelist with like a hundred entries.

 

Moves I'd like to consider adding are Oblivion skill related moves... For example, Destruction skill could add moves that inflict hot, cold, shock sensations with their vfx...

 

Also while I was filling out the stats for these moves, I noticed that they really drain stamina numbers fast. Assuming stamina damage is applied each second... players would be hitting anywhere between 3-30 dps... just with these basic moves, combos and specials skills will of course only make that go higher... So to make any sex game meaningful, base stamina values will have to be like 300-500 minimum to be viable. I'll probably add another bar stat to help buffer that damage... (the stamina damage resistance i added to the move list). We can call it sensitivity or maybe lust? So depending on the state of the sensitivity/lust bar, stamina damage will be reduced against the target.

Link to comment

Finished adding in the basic move arrays. And the coding for the HUD to browse through them. A new HUD element below the menu will show full details about the currently selected move. The menu will remember the last used action so player's won't have to scroll through every time to repeat something.

 

 

After finishing the detail window code... I think my next step will be to implement cooldown bars next to the menu elements. After selecting an action, the button will fade transparent and slowly become solid as the cooldown recovers... but having a visual timer next to them would be nice too.

 

Link to comment

This sounds amazing. Thanks for sharing your thought processes and progress. Very interesting stuff - far beyond anything I am capable of' date=' but you explain it clearly, so I am following it.

 

Look forward to seeing the results.

[/quote']

 

:D Thanks for following.

 

 

Added the heat bar which I think looks very nice. I'll try to fancy up the stamina and energy bars when i get some inspiration for those too. The large bars and menu HUD will only appear during sex encounters, and of course, I'll set them off to the side of the screen by default... and have a much more compact view for regular play.

 

Heat represents the level of a character's lust. Higher heat will increase the stamina damage you take. Players will typically start at 0 heat, and the MAX heat value depends greatly on your WILLPOWER attribute. INTELLIGENCE and LUCK play a small part too.

-10 points of HEAT damage = 4% if you have 400 MAX

-10 points of HEAT damage = 8% if you have 200 MAX

So high WILLPOWER chars will be more resistant to sexual heat attacks... and by proxy will suffer less stamina damage in sex fights since their heat rises more slowly.

(Thanks Kahne for pointing out that FF Fight game, this is inspired by a concept I saw in it).

 

Stamina will be based mainly on the ENDURANCE attribute. STRENGTH and LUCK play a small part as well.

Energy will be based mainly on the PERSONALITY attribute. With a LUCK bonus too.

 

Also busy writing up the combat round code. I've decided to take the DnD approach by doing stat damage in set intervals (6 seconds probably). This, instead of applying damage every second lets me be more flexible with the numbers. Move durations and cooldowns are read in rounds as well, going to have to update that HUD info window to say rounds instead of seconds later.

 

So every 6 seconds
-Game checks what moves you have active and decreases their duration timers
-Adds up Stamina Damage
-Modifies Stamina Damage based on Partner's HEAT %

-Adds up Heat Damage
-Adds up Energy Damage

-Runs special effect scripts
-Repeats for Partner
-Updates HUD

Having a bit of trouble getting in that Special Effect scripts part though... Can't find a way to call another script inside a script (unless I type the script name specifically in the editor...)

call FUNCTIONNAME var1 var2...

I want to put a string variable's contents in for FUNCTIONNAME, but it doesn't work like that...

 

The most drastic measure I'd have to take is to make a huge If/elseif script to check for every possible effect and call it... but I really really don't want to do that x.x.

 

Or I'd greatly limit the types of special effects and try to 'hardcode' support for all of them into the main scripts... something I also really really don't want to do. If anyone has advice on that, I'd love help in that area. In the meantime, I'll stick some placeholder comments and leave that for later.

Link to comment

Absolutely great.

 

How many people of LL to stop play Skyrim a while to test this mod?

 

It can be very interesting to implement this system in other mods.

 

I'm imagining the scene with loversbitch training the dog, or teaching how to make a slave of loversslavetrader, or remodeling chains missions SOAP girls win in a sexual encounter all the pirates of the ship.

 

Well I'll stop imagining that they are not my mods.

 

Thanks for your work.

Link to comment

This is a promising project. It is also ambitious and revolutionary, in the sense that it has the capacity to change(for better) many mods(say RapeStruggle, SlaveTrader etc). May the community help kilana both in the scripting and bug-fixing phases -- but specially in the first one. To those users who have a vast scripting knowledge, please help kilana so that she/he can completely implement her/his good ideas into the mod!

Link to comment

Finished the Body Actions HUD update script. Updates every second during sexual battle. The menu select also fades properly if a move is on cooldown, but players can still enter the menu and browse through it to ready what they want when the action refreshes.

 

 

 

Currently the HUD elements are divided into 4 groups

LLR_BodyStatus - NPC Battle actions/Status Bars

LLR_BodyStatus2 - Player Battle actions/Status Bars

-These appear during sexual battle, and vanish after the climax action is finished.

LLR_Menu - Action select menu (The purple buttons)

-This appears during sexual battle, and vanishes after either you or your partner runs out of stamina. XP is rewarded to the player if they won, and any energy absorption/final ritual calculations are done. Ritual magic effects will be applied after the climax action is finished... but players can continue with the sex animation for as long as they like. (None of the scripts are planned to touch the animations, they just detect when you are in sex play (as well as other values like who is in what position or what sex stage you are at).

LLR_Overlay - Compact form Status Bars for player

-This appears during normal game mode and will show Stamina, Energy, and Heat values. During Sex Battles, this goes invisible as the Big bars show the same info. This one is yet to be made, but its really just some copy/paste of the player status bars... then i'll just change the zoom factor and positioning a bit... Though i might need to add new bar textures so all 3 will either be horizontal or vertical.

 

Battle round code is written. It adds up action damages. applies any Heat modifiers to stamina damage, and decreases values from opposite party (never below 0). Cooldown timers and Duration timers are all reduced when this script runs.

 

Battle initialization code is written. This is when the Battle HUDs get activated and Enemy sex values (Stamina, Energy, Heat) are calculated. Currently NPC's values reset with every new sex battle... though I may change this later.

 

Added hooks into the main code to check if player is masturbating, raping, or being raped... placeholder scripts for each action for now.

 

I'll need to write AI for basic NPC actions... though I should probably hold off on that till after I test the number balance. I think the AI code will be hooked to run once a round (6 seconds)... or maybe 3 seconds... since items are instant use and could influence AI action choice.

 

For now I should get to work on that move effect handler. :/ Its the bottleneck stopping me from adding all the moves I really want to add, magic effects, rituals, even the custom items... Maybe magic effect scripts are the way to go... since all those shrines and such are scripted to cast a spell on the player... I could try to duplicate something similar.

Link to comment

Yay, seems i solved my problem with calling scripts with variables.

 

ref movescript
...

let movescript := GetFormFromMod "LoversRituals.esp" HEXSTRING
call movescript

 

Works perfectly for calling the script. So the editorIDs are really kind of meaningless, the game converts the editorID into the formID which is that 8 char number you use for console commands (like spawning items and such). I can get to work on adding those special move effects and rituals now.

Link to comment

So I've really been busy with the special move/ritual code... and I've been populating the list with new ideas as I go along.

 

Current Move list + Combos:

 

 

Attack Damage = Stamina drained from partner every round.

Cost = Stamina drained from user when cast (Only happens once/Action select... even if the duration is more than one round).

Base Duration = Number of rounds the action will repeat. Duration increases depending on players Sex Level and base duration.

--Bonus Formula: (1/3 * Base Duration)*(Sex Level/2). Example: Base(3), Level(14)= 3(Base) + 1*7(Bonus)=Total Duration 10 rounds.

--Actions with 1 round duration never increase though.

Effect = Scripted effect that happens each round.

--Using basic actions increase the recorded XP for that specific sex action. So currently the player can level up 20 sex skills(0-19). These sex skills are separate from player Sex Level which players get by winning sex battles. Sex Levels will boost durations and grant access to more abilities. Sex Skill will only boost specific scripted aspects of the associated moves.

 

The combo list still seems really lackluster, I'll need more ideas for them before I'm happy :s.

 

 

Current Ritual List

 

 

 

Rituals require focus so casting a ritual will lock out magic actions for the rest of the current sex battle. Thats option 4 in the action menu select.

 

The fuel mechanic introduces a risk vs. reward scenario when deciding how to proceed with the sex battle.

-On one hand, you can use delay moves to let the ritual suck as much stamina out of the victim as possible... The final effect will be stronger overall, however you run the risk of exhausting all your stamina and giving the effect to your partner.

-Finishing the victim off quick is another option as the ritual stamina drain makes winning even easier... though you'll likely get a very minor effect.

 

The Effect Descriptions in BOLD are finisher effects applied after the sex battle is over. I'll probably have to balance those buff durations if they seem too short.

 

 

Current Magic Spell List

 

 

 

Magic spells can be performed like other sex actions, except that these moves cost magicka(blue bar) in addition to stamina(dark green bar). And possibly sex energy(pink bar). These spells will be under the ritual action menu select, but have refreshing cooldowns so you can cast more than one spell per sex encounter as opposed to the one time cast ritual which will lock out magic for the rest of the current battle. Also, casting spells will count towards your skill levelups giving, mages at least, the ability to increase standard combat ability through sex.

 

The introduction of direct damage spells gives players another way to approach hostiles. I think Lovers Magic introduced an absorb health toggle ability which triggers during sex. Hopefully this will be an expansion of that concept.

Sex can also be used as a way to restore your companions, though waiting for 1 hour probably has the same effect. Would like to incorporate stat restoring or curing spells later too. Buffs I'd like to tie into rituals as opposed to single action spells to balance things.

 

Might possibly introduce moves related to other oblivion skills if any inspiring ideas appear. I'd really love to give sex demons a truly new style of play ever since I discovered the IncrementPlayerSkillUse command.

 

Alot of work still left for this area... and I'm hoping for some more creative ideas than 1 spell/magic effect type... please give me some ideas if you have any.

 

Link to comment

That fear' date=' it seems very difficult to make a mod like this

[/quote']

 

Mmmhm, the scripting is actually going smoothly though... It is just really time consuming. Despite being simple, every move needs it's own custom script.

 

Like these:

scn kilLRmove03
;(Nibble) kilLRmove03 target -0 Enemy, 1 Player
; +1 Heat; +1/4 Skill Level (PARTNER)

short target
short heat

begin function { target }

if (target==0)
	let heat := 0
	let heat += (kilLR.aPlayerSexStats["03level"] / 4)
	let kilLR.aPlayerMoves["1movelst"] += heat
else
	let heat := 0
	let heat += GetRandomPercent * 5
	let kilLR.aEnemyMoves["1movelst"] += heat
endif	
end

 

scn kilLRmove16

short target
short chance
short dc
ref self
ref enemy

begin function { target }
if(target==0)
	set self to player
	set enemy to kilLR.enemy
	let chance := (self.getAV strength) * GetRandomPercent
	let chance += kilLR.aPlayerSexStats["16level"]
	let dc := enemy.getAV endurance
	if(chance > dc)
		let chance -= dc
		if(chance > 30)
			let kilLR.enemymove3time := 0
		endif
		if(chance > 20)
			let kilLR.enemymove2time := 0
		endif
		let kilLR.enemymove1time := 0
	endif
	let kilLR.aPlayerMoves["3movecst"] += 2
else
	set self to kilLR.enemy
	set enemy to player
	let chance := (self.getAV strength) * GetRandomPercent
	let chance += self.GetLevel - enemy.getLevel
	let dc := enemy.getAV endurance
	if(chance > dc)
		let chance -= dc
		if(chance > 30)
			let kilLR.menumove3time := 0
		endif
		if(chance > 20)
			let kilLR.menumove2time := 0
		endif
		let kilLR.menumove1time := 0
	endif
	let kilLR.aEnemyMoves["3movecst"] += 2
endif
end

 

The core battle functions though are really complicated requiring lots of cross referencing between other scripts and files. As I add new features, I often have to go back and update all the core scripts too x.x.

scn kilLRUpdateStatusBars

short stamina
short energy
short heat
string_var readout

begin function { }

   ;Update PC Stats
if (kilLR.modstamina > 0)
	if(kilLR.curstamina < kilLR.maxstamina)
		let kilLR.curstamina += 1
	endif
	let kilLR.modstamina -= 1
elseif (kilLR.modstamina < 0)
	if (kilLR.curstamina > 0)
		let kilLR.curstamina -= 1
	endif
	let kilLR.modstamina += 1		
endif
if (kilLR.modenergy > 0)
	if (kilLR.curenergy < kilLR.maxenergy)
		let kilLR.curenergy += 1
	endif
	let kilLR.modenergy -= 1
elseif (kilLR.modenergy < 0)
	if (kilLR.curenergy > 0)
		let kilLR.curenergy -= 1
	endif
	let kilLR.modenergy += 1		
endif
if (kilLR.modheat > 0)
	if (kilLR.curheat < kilLR.maxheat)
		let kilLR.curheat += 1
	endif
	let kilLR.modheat -= 1
elseif (kilLR.modheat < 0)
	if (kilLR.curheat > 0)
		let kilLR.curheat -= 1
	endif
	let kilLR.modheat += 1		
endif

let stamina := (kilLR.curstamina / kilLR.maxstamina)*100
if (stamina > 100)
	let stamina := 100
elseif (stamina < 0)
	let stamina := 0
endif
let energy := (kilLR.curenergy / kilLR.maxenergy)*100
if (energy > 100)
	let energy := 100
elseif (energy < 0)
	let energy := 0
endif
let heat := (kilLR.curheat / kilLR.maxheat)*100
if (heat > 100)
	let heat := 100
elseif (heat < 0)
	let heat := 0
endif

SetMenuFloatValue "LLR_BodyStatus2\_valstamina" 1004 stamina
SetMenuFloatValue "LLR_BodyStatus2\_valenergy" 1004 energy
SetMenuFloatValue "LLR_BodyStatus2\_valheat" 1004 heat

set readout to sv_construct "%0.0f / %0.0f", kilLR.curstamina, kilLR.maxstamina
SetMenuStringValue "LLR_BodyStatus2\LLR_BarSet\LLR_StaminaRead\string|%z", readout, 1004
set readout to sv_construct "%0.0f / %0.0f", kilLR.curenergy, kilLR.maxenergy
SetMenuStringValue "LLR_BodyStatus2\LLR_BarSet\LLR_EnergyRead\string|%z", readout, 1004
set readout to sv_construct "%0.0f%%%% (%0.0f / %0.0f)", heat, kilLR.curheat, kilLR.maxheat
SetMenuStringValue "LLR_BodyStatus2\LLR_HeatBG\LLR_HeatRead\string|%z", readout, 1004

   ;Update NPC Stats
if (kilLR.enemymodstamina > 0)
	if(kilLR.enemystamina < kilLR.enemymaxstamina)
		let kilLR.enemystamina += 1
	endif
	let kilLR.enemymodstamina -= 1
elseif (kilLR.enemymodstamina < 0)
	if (kilLR.enemystamina > 0)
		let kilLR.enemystamina -= 1
	endif
	let kilLR.enemymodstamina += 1		
endif
if (kilLR.enemymodenergy > 0)
	if (kilLR.enemyenergy < kilLR.enemymaxenergy)
		let kilLR.enemyenergy += 1
	endif
	let kilLR.enemymodenergy -= 1
elseif (kilLR.enemymodenergy < 0)
	if (kilLR.enemyenergy > 0)
		let kilLR.enemyenergy -= 1
	endif
	let kilLR.enemymodenergy += 1		
endif
if (kilLR.enemymodheat > 0)
	if (kilLR.enemyheat < kilLR.enemymaxheat)
		let kilLR.enemyheat += 1
	endif
	let kilLR.enemymodheat -= 1
elseif (kilLR.enemymodheat < 0)
	if (kilLR.enemyheat > 0)
		let kilLR.enemyheat -= 1
	endif
	let kilLR.enemymodheat += 1		
endif

let stamina := (kilLR.enemystamina / kilLR.enemymaxstamina)*100
if (stamina > 100)
	let stamina := 100
elseif (stamina < 0)
	let stamina := 0
endif
let energy := (kilLR.enemyenergy / kilLR.enemymaxenergy)*100
if (energy > 100)
	let energy := 100
elseif (energy < 0)
	let energy := 0
endif
let heat := (kilLR.enemyheat / kilLR.enemymaxheat)*100
if (heat > 100)
	let heat := 100
elseif (heat < 0)
	let heat := 0
endif

SetMenuFloatValue "LLR_BodyStatus\_valstamina" 1004 stamina
SetMenuFloatValue "LLR_BodyStatus\_valenergy" 1004 energy
SetMenuFloatValue "LLR_BodyStatus\_valheat" 1004 heat

set readout to sv_construct "%0.0f / %0.0f", kilLR.enemystamina, kilLR.enemymaxstamina
SetMenuStringValue "LLR_BodyStatus\LLR_BarSet\LLR_StaminaRead\string|%z", readout, 1004
set readout to sv_construct "%0.0f / %0.0f", kilLR.enemyenergy, kilLR.enemymaxenergy
SetMenuStringValue "LLR_BodyStatus\LLR_BarSet\LLR_EnergyRead\string|%z", readout, 1004
set readout to sv_construct "%0.0f%%%% (%0.0f / %0.0f)", heat, kilLR.enemyheat, kilLR.enemymaxheat
SetMenuStringValue "LLR_BodyStatus\LLR_HeatBG\LLR_HeatRead\string|%z", readout, 1004

sv_Destruct readout
end

This one runs 10 times a second and updates the status bar values. The visual bars themselves require percentage format (0-100) so some math and checks are required. And I've designed value damage or regeneration to only increment 1 at a time... so the bar smoothly goes up and down, rather than sharply loses chunks at a time.

 

Unfortunately, for the past couple of days, I've been doing, more or less... tedious move scripts or ritual scripts. So I haven't had anything interesting to update (I don't think people want to see a new update every time I add 10-20 moves ^.^;;)... Fear not, I haven't gotten burnt out yet.

 

Added numbers to the status bar HUD... wonder if there are better places to position them though... You would not believe how long it took me to figure out how to display an actual percent sign in the heat bar readout... that was hours of reading before I found out you have to put in %%%% to actually display one without bugging the string.

post-9926-13597874094052_thumb.jpg

Link to comment

Is this mod going to be able to work with creatures?

 

At the moment' date=' I don't have anything special planned for creatures... though that may change as I work deeper on the rape mechanics. [i']Either way, there shouldn't be any compatibility issues with it.[/i]

 

 

Right now I'm working on adding sound effects... nothing overly intrusive, but its nice to have audio feedback when browsing through the menu or leveling up. Current sounds used are ripped from neverwinter nights... hope that won't be cause any issues...

Link to comment

Wohoo you really put a lot of work into this...

cant wait to see it fully operational :)

 

Last time i tryed scripting i wanted to combine lovers sexcounter and loverbitches crawling system but i failed terribly :(

 

So have fun and thanks in advance for this awesome looking mod :D

Link to comment
  • 3 months later...

BIG EDIT: I didn't pay attention to the timestamp on your last post, Kilana. Hope I'm not too much of a 'johnny come lately' here.

 

This is very interesting, I have to agree. Definitely following this work! Great job here... You make me jealous with your scripting skills! By the way, Thank you so much for sharing with the community here, Kilana. Happy gaming, and good luck to you!! -Merctime

 

EDIT: Just thinking here... You seem to state you feel you need more idea's/inspiration. I'm curious... is your idea to animate these actions for this mod, or use current lovers animations? If it's current, you could just have someone (maybe me?) go through a test run of lovers animations and look at them, see what they do... and then try to 'name' various activities in the different off/def motion kf's? Or, if you are planning something more extravagant, such as animating new things, how about some moves/combo's such as:

 

(hard sex type) Choke, face-slap, breast/chest/ass-slap, hairpull, facegag (a more serious 'deep throat'), head push (into a pillow/table/wall, etc), degrading whispers (like the sweet nothings thing below, but trashy/hard speak to the unwilling or those into this sort of treatment)

 

(more loving type) tender kiss (body part, not mouth to mouth), clit/pussy rub, caress balls, massage (body part), 'sensual snuggle/hug' (like, hugging someone tightly to you during thrusting/being thrust into), whisper sweet nothings (verbal arousal?)

 

Also, have you considered having some sort of 'preference' type setting, where this or that NPC may prefer giving/recieving Anal over Vaginal, may really like kissing, may like to be choked or talked badly too, and thus those actions do more 'damage' to them? If so, how about a token of sorts (note: I am no scripter, just thought the word token fit) for the PC to initially choose/set some preferences, and then throughout play, develop new 'moves/combos' they are more susceptible to? Such as, during play, the PC was raped many times, and thus is now more apt to 'orgasm' or take damage from harsh language or rough treatment such as hairpulling or slapping/choking?

 

I hope this is not like, information overload. I was just tossing out idea's out there, but like I state... I am no scripter. I have no clue how or even *if* these idea's can be implemented... Just had me thinking about this as I read through the post. Looking forward to reading your thoughts or input on these, or just as hopefully, these idea's spring new inspiration to your own ideas?

 

Lastly, how are you thinking this will work in conjunction with Lovers RaperS or Joburg/LandE, if at all? If you go for Joburg, would it be possible to marry the LandE idea of lower armor health inspiring rape desire more quickly into NPC's?

 

OK, I promise, last idea from me for a bit :) Sorry for getting carried away here, but I *really* like the idea of this so far, and the direction it seems to be going. I wish the best to you! Hope something in this wall of text was of some use at all to you.

Link to comment

Very interesting mod, I'm adding to my personal list of threads to lurk. I too think that lovers extender is kind of limited and boring so if you can manage to replace it with your work then I will be very, very happy.

 

you have my endorsement.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use