Jump to content

Recommended Posts

Instead of trying to check factions to decide who is on what side you might try a different approach.

You can attach a script to each actor you have in a quest alias.  With that script you can watch the "OnHit" event and log all the actors that strike the actor the script is attached to.  Check akAggressor as actor.IsHostileToActor(getActorRef())  to see if that was a friendly-fire incident or not.

getActorRef() is what you call in the OnHit event to find the actor that was struck while akAggressor is an ObjectReference to the actor that struck this actor and since Actor inherits from ObjectReference you can cast it as Actor.

If that actor is subdued then you have the list of actors that can assault that actor in any "after action" scenario assuming that the actor isn't part of the winning side.

I am attaching a script that was used by the SexAddict mod from way back in 2013 before the Sexlab Framework came to be and before nice toys like MCM Menus became available but is the early combat sex mod which inspired the first pre_Sexlab sex framework mod.  Since I use comments in my code you should be able to follow the code easily enough.  This can give you an idea of what Defeat was originally based on.

 

_SA_NPCSandbox.psc

Link to comment
3 hours ago, WaxenFigure said:

You can attach a script to each actor you have in a quest alias.  With that script you can watch the "OnHit" event and log all the actors that strike the actor the script is attached to.  Check akAggressor as actor.IsHostileToActor(getActorRef())  to see if that was a friendly-fire incident or not.

Already do it that way :) 

 

Once the Combat Quests starts, the mod fetches 21 Actors in your surroundings and applies a Script to them with the OnHit Event. When theyre hit I try to cast the aggressor as Actor and if that works I run several checks on them to validate them as a valid aggressor. An aggression check like you suggested is part of that (since V2)

(See that super long line in ValidIbteraction at the very bottom)

 

Spoiler

Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
  Actor myAggr = akAggressor as Actor
  If(!myAggr || bLock || MCM.bNPCVicMaster)
    return
  else
    bLock = true
    ;Conditions for an Actor to be knocked down
    If(ValidInteraction(myAggr))
      ; Debug.Trace("Yamete: " + (akAggressor as Actor).GetLeveledActorBase().GetName() + " got past check for Actor: " + myID)
      If(mySelf.GetActorValuePercentage("Health") <= ((MCM.iWkHpThreshNPC as float)/100) && mySelf.GetAV("Health") >= 1)
        If(MCM.bWkBlockNPC && !abHitBlocked)
          If(MCM.bWkMeleeNPC && akProjectile == none)
            Aggressor = myAggr
            Defeated()
          ElseIf(!MCM.bWkMeleeNPC)
            Aggressor = myAggr
            Defeated()
          EndIf
        ElseIf(!MCM.bWkBlockNPC)
          If(MCM.bWkMeleeNPC && akProjectile == none)
            Aggressor = myAggr
            Defeated()
          ElseIf(!MCM.bWkMeleeNPC)
            Aggressor = myAggr
            Defeated()
          EndIf
        EndIf
      ;Next Condition
      EndIf
    EndIf
    Utility.Wait(0.3)
    bLock = false
  EndIf
EndEvent

bool Function ValidInteraction(Actor me)
  ;I hate doing so many "exists" checks here but I still get some Errors about stuff not existing ... zzz. Apparently things that dont exist get hits registerd by aggressors that dont exist but arent none. Someone, explain me this game
  If(!GetReference())
    TryToClear()
    return false
  elseIf(firstCall)
    mySelf = GetReference() as Actor
    myID = GetName()
    firstCall = false
  EndIf
  If(!me || !myself)
    ; Debug.Trace("Yamete: Me or Myself doesnt exist")
    return false
  ElseIf(me.HasKeyWordString("SexLabActive") || me.IsDead() || me == mySelf || mySelf.IsDead() || mySelf.HasKeyWordString("SexLabActive") || !me.IsHostileToActor(mySelf) || me.GetDistance(mySelf) > 2000)
    return false
  EndIf
<s Gender checks below>

 

 

3 hours ago, WaxenFigure said:

you have the list of actors that can assault that actor in any "after action" scenario assuming that the actor isn't part of the winning side.

How so?

My issue with that is "what about Actors that have been knocked down during Combat but are actually befriended with the winning Side?"

Link to comment
14 hours ago, Scrab said:

Already do it that way :) 

 

Once the Combat Quests starts, the mod fetches 21 Actors in your surroundings and applies a Script to them with the OnHit Event. When theyre hit I try to cast the aggressor as Actor and if that works I run several checks on them to validate them as a valid aggressor. An aggression check like you suggested is part of that (since V2)

(See that super long line in ValidIbteraction at the very bottom)

 

  Reveal hidden contents

 

How so?

My issue with that is "what about Actors that have been knocked down during Combat but are actually befriended with the winning Side?"


Once combat is finished all the survivors of one side will be knocked down while all those standing will be on the winning side.  Now check the list of who hit each of those knocked down, if those who hit the knocked down are standing then you have a victim, if those who hit the knocked down person are kneeling then you have a person from the winning side.

That's why it's important to not log friendly fire hits in the list of who hit an actor.

You should be able then to seperate the victors from the victims that way.  Then it would be a matter of resuscitating the knocked down members of the winning side and let them decide how many of the victims each member of the winning side gets to take advantage of.   That could range from a simplistic "everyone who wins gets to chose whether to have sex with one of the losers" to "last person to strike a victim gets to rape them" to "everyone who struck a blow to the victim gets a turn on the victim (can allow x-way sex)" to "everyone on the winning team gets to use everyone on the losing side" depending on how long the gamer decides victory sex should be allowed to take.

This would allow you the option of not starting any sex acts until combat is finished instead of pairing off actors as they are defeated.

 

Keep in mind that Sexlab supports a maximum of 14 sex acts going on at once but with your internal limit of 21 actors I can't see how you'd reach the Sexlab maximum but if you do increase the number of actors you support that's a limitation you should be aware of.

 

 

 

All else aside, it's great to see someone new moving in with new ideas on a mod type that's not been seeing any new developments for quite a while.

 

 

 

Link to comment
2 hours ago, saberthesword said:

the bug where followers cannot be traded with after triggering a scene still exists on my end, and it's not limited to followers under the NFF.

Try this:

 

YamFollower.pex

 

This adds an additional check on Combat end to make Followers proper Player Teammates again in case that somehow failed in Scenarios

 

8 hours ago, WaxenFigure said:

Keep in mind that Sexlab supports a maximum of 14 sex acts going on at once but with your internal limit of 21 actors I can't see how you'd reach the Sexlab maximum but if you do increase the number of actors you support that's a limitation you should be aware of.

As a matter of facts its not just SL but the engine itself that limits the amount of Actors I can use

There is a limit how many Actors the engine can fetch through "Find Matching Conditions" before it starts crippling down & breaking. That limit is between 25 and 30 and Id prefer to have some room before this limit is reached so any other requests to increase the Actor limit will most likely be ignored due to this and SLs limitation (that I actually wasnt aware of, ty) adds another reason to that. Yay.

 

8 hours ago, WaxenFigure said:

That's why it's important to not log friendly fire hits in the list of who hit an actor.

You should be able then to seperate the victors from the victims that way.  Then it would be a matter of resuscitating the knocked down members of the winning side and let them decide how many of the victims each member of the winning side gets to take advantage of.   That could range from a simplistic "everyone who wins gets to chose whether to have sex with one of the losers" to "last person to strike a victim gets to rape them" to "everyone who struck a blow to the victim gets a turn on the victim (can allow x-way sex)" to "everyone on the winning team gets to use everyone on the losing side" depending on how long the gamer decides victory sex should be allowed to take.

Ah so..

 

I log an aggressor in my Main Frame a nd on Combat end  I need to look for the "last man standing" group and based on Hostility Checks I could define who this group is enemy too. There is no need taking a 3rd party consideration here, right? 

My current model would split every Actor on the field into 3 (4) Groups based on 2 Aggression checks at Combat Start, that way I could use pulse Scans with Spells to get all Actors I want fairly easily

 

Ah... this is why I hate working on this mod, its so complicated and whacky

Link to comment
12 hours ago, Scrab said:

I log an aggressor in my Main Frame and on Combat end I need to look for the "last man standing" group and based on Hostility Checks I could define who this group is enemy too. There is no need taking a 3rd party consideration here, right? 

My current model would split every Actor on the field into 3 (4) Groups based on 2 Aggression checks at Combat Start, that way I could use pulse Scans with Spells to get all Actors I want fairly easily

 

Ah... this is why I hate working on this mod, its so complicated and whacky

 

Actually when you get the "last man standing" group you no longer need to perform hostility checks if you've tracked who hit who excepting any friendly-fire during the battle.  You need only look at each loser, if they struck ANY of the winners then they remain losers.  If they struck only other losers and were not struck by any of the winners then they become part of the winning side.   That way you don't have to examine who's hostile to who and try to figure out multi-sided battles.  Calm them all and let the post battle orgy commence. 

As a thought, since you are tracking onHit events you can also track the severity of the hits so you can add up who did the most damage.  It's always annoying with Sexlab Defeat to battle someone almost to their knees and have some other NPC add their mostly ineffective strike at the very last and have them be credited with the knockdown.   Doubly annoying when it's some NPC who just ran into the battle and that was the only hit they actually made.

Link to comment

I tried this out, sadly didn't really work at all... as in it loads fine. MCM showed up and I set pc/followers to can't be victims. I wanted pc/followers as aggressors only and npc/npc scenes. But in the end nothing actually happened during combat.

 

Some more info:

I use Sexlab Leveling for the essential flag and surrender at 0 health. And YACR for the combat defeat part. 

I should also mention I use NFF, and some of this mod's scripts overwrite the ones from that follower framework. I loaded this mod after that one btw.

 

Anyways you really should look up YACR; it may help you out a lot. It pretty much does what this mod does but lacks NPC/NPC or pc/followers as aggressors.

 

That mod starts scenes based on nudity and health% between enemies and your pc/followers. Then you can press a hotkey to try and end scenes early, or let them go on endlessly.

 

Check it out: https://github.com/nbits-ssl/SexLabYACR4N

 

Hope this helps.

Link to comment

For some reason, when I install Yamate, it loads the mod fine, I can access its MCM, make changes to the settings, but when I then try so save my game, I get immediate CTD.

Has this happened to anyone before, what could be the reason and how can this be fixed?

PS: This also happens, when I load the mod and then save my game without ever accessing the MCM.

Link to comment

Am I missing something, or does this mod ONLY work with a health threshold? Because it's really annoying to have combat interruped immediately when you loose a certain amount of health or just be straight up killed if you set the threshold too low. I much prefer Defeat's approach by replacing death with bleedout.

 

Will keep an eye on this mod in case this gets implemented in the future.

Link to comment
15 hours ago, ssskn said:

I tried this out, sadly didn't really work at all... as in it loads fine. MCM showed up and I set pc/followers to can't be victims. I wanted pc/followers as aggressors only and npc/npc scenes. But in the end nothing actually happened during combat.

 

Some more info:

I use Sexlab Leveling for the essential flag and surrender at 0 health. And YACR for the combat defeat part. 

I should also mention I use NFF, and some of this mod's scripts overwrite the ones from that follower framework. I loaded this mod after that one btw.

 

Anyways you really should look up YACR; it may help you out a lot. It pretty much does what this mod does but lacks NPC/NPC or pc/followers as aggressors.

 

That mod starts scenes based on nudity and health% between enemies and your pc/followers. Then you can press a hotkey to try and end scenes early, or let them go on endlessly.

 

Check it out: https://github.com/nbits-ssl/SexLabYACR4N

 

Hope this helps.

You tried it out on its own or with all that other stuff installed?

Link to comment
1 hour ago, rys3n said:

Am I missing something, or does this mod ONLY work with a health threshold? Because it's really annoying to have combat interruped immediately when you loose a certain amount of health or just be straight up killed if you set the threshold too low. I much prefer Defeat's approach by replacing death with bleedout.

 

Will keep an eye on this mod in case this gets implemented in the future.

 

Replacing death with bleedout and marking player essential is the number one thing that breaks the game

Link to comment
On 3/13/2021 at 7:28 PM, saberthesword said:

Also, is it possible for you to create a version where you can select Male and/or Female followers?

Wut?

 

On 3/14/2021 at 11:46 AM, ssskn said:

some of this mod's scripts overwrite the ones from that follower framework.

Those are UILib scripts. They are used for the collored notifications n stuff. Its a modders resource thats supposed to be shipped with the mod, both Yamete & NFF use it

 

On 3/14/2021 at 11:46 AM, ssskn said:

surrender at 0 health.

You cant get knocked out at 0 health. Yamete requires a victim to be alive to be assaulted (health > 1) 

 

And frankly, this seems to be more of a you issue than a mod issue

 

 

 

Link to comment

This thread perfectly illustrates the state of LL-discussions: Absolute idiocy, incompetence and injustice is permitted, but don't you dare to drop an F-bomb or write in a confrontational manner: Then your post gets promptly (re-)moved regardless of its value or truth. And for the record: I'm not talking about the developer, who seems have created an infinite patience cheat for himself, in addition to this mod.

 

More on topic: I wish the creator all the best for this mod. I'm currently running defeat, but only because i had no other choice before. Never liked it because its a known troublemaker. The other thing i'd like to say is: Please be careful with scope-creep. I'd prefer if this mod sticks to the topic, which is handling sex during combat, and delegates other features like capture or enslavement to other mods. The reason i'd prefer that approach is: The more topics and gamemechanics this mod sticks its tentacles in, the higher the risk of conflicts with other mods. Plus trying to do everything usually results in... well, you know how the saying goes.

Link to comment
20 hours ago, Illana said:

 

Replacing death with bleedout and marking player essential is the number one thing that breaks the game

Completely agree and can confirm this from own experience. Trigger on 0 HP is a no-go.

 

However, i think this is a by-the-book example of users not having the analytical skill to understand their actual problem. And the last thing a programmer wants to do is, doing the user's job of filing a proper report. So the actual problem gets lost in translation.

 

What's the actual problem? Simple: The player char has N maxhp. Combat is balanced around that stat, plus if the game tells the player he has N hp to spare, but then he doesn't actually get to use it, the player feels cheated. So the problem isn't some magic 0 HP number: It's that a player doesn't have his full HP available in fights.

 

Well, that can be fixed - although i'm not sure if the effort, cputime and added complexity is worth it: All that's needed is some kind of "buffer-stat". If HP drops below say 50%, all extra damage is subtracted from the buffer-stat instead of HP. If the buffer drops too low, a knockdown is triggered. The buffer-state could simply be stamina, so if HP drops below 50%, all incoming damage is taken from stamina. If stamina drops too low, you get knocked down.

 

Of course there's plenty of issues with that idea: It changes fundamental gamemechanics. It sounds like a lot of work. And it might not even be possible without a plugin. But hey, in theory it solves the original problem.

Link to comment
16 hours ago, Scrab said:

Those are UILib scripts. They are used for the collored notifications n stuff. Its a modders resource thats supposed to be shipped with the mod, both Yamete & NFF use it

 

You cant get knocked out at 0 health. Yamete requires a victim to be alive to be assaulted (health > 1) 

 

And frankly, this seems to be more of a you issue than a mod issue

 

 

 

Definitely it's a me issue.

I was hoping Yamete would handle NPC/NPC assaults while YACR handles NPCs assaulting PC/followers.

Probably a conflict with this and YACR.

Link to comment

Hello, I'm really enjoying the mod with defeat feeling a bit intimidating as a newcomer, but I'm running into an issue and I'm not sure how I might fix it. To make sure that I've got the settings all correct I've been suiciding a test character into a bandit camp near Helgen, and while scenes will properly be initiated there is no ghost mode at least for my character (haven't been able to confirm for aggressor bandit, I don't have a follower). I've tried toggling the ghost settings off and on again, exiting the game and then reloading the save, and I'm a bit at a loss. I don't mind manually toggling god mode if I need to, but I was hoping that I might be able to see if anyone has a more permanent fix here or find someone who ran into the same issue.

 

Please let me know if I need to provide any more details like other mods I'm using.

Link to comment

I think there must be some incompatability with Skyrim Souls and the reaper's mercy function. When I select the kill function it doesn't do anything but it opens the loot menu.

 

Also I got assaulted once but killed by another bandit mid scene, so I'm wondering if there needs to be more stringest checks for applying teams and ghost flag

 

 

Actually also it just doesn't seem to recognise the target is dead with reapers mercy on, i was able to knockdown a npc, select kill but the next time i interacted with the corpse it still gave me the menu to kill/free/assualt etc

 

Ok so there's  a conflict between reaper's mercy and Simply Overwhelming Slaying for sure, reaper's mercy completely disables ths mod in question:  https://www.nexusmods.com/skyrimspecialedition/mods/46324

 

With Reaper's Mercy OFF it seems I got the ghost flag properly, but the other bandits still attempted to attack me

Link to comment

Hi, I was doing some testing with this mod. I have been unable to find any issue with NPC/NPC, NPC/Follower, or NPC on PC. However, I've been completely unable to use the new "Reaper's Mercy" aura as aggressor against NPCs except by using Healing Hands on NPCs.

Reproduce:

1. Use any load order (I tested with my typical load order (huge modlist) and a load order with just SL and requirements, MNC and requirements, SLAL, and AS-LAL)

2. Initialize SL and set Yamete! settings to 100% chance (I used HP thresholds of 25%, 50%, and 100%, all of which reproduced this error). 

3. Find any battle with a valid target (I used several methods, from spawning wolves/bandits in QAsmoke to running around in Skyrim finding bandits/wolves outside Riverwood)

4. When PC is put below HP threshold, Yamete! activates normally and scenario plays properly.

5. When NPC is put below HP threshold, game continues normally (I don't see any break in combat, didn't notice anything in MCM)

6. When Healing Hands is learned and used on previously damaged NPC, they are downed into bleedout and can be interacted with to bring up Yamete!'s downed menu.

 

I've reproduced this with wolves, bandits (m/f) and a guard. I have a papyrus log from the above reproduction. (2 wolves interaction in regular skyrim overworld, SOS and CBBE were installed, but no other mods aside from requirements, no followers). I hope I've been detailed enough to help.

Papyrus.0.log

Link to comment
4 hours ago, saltshade said:

I read that it takes in 16 NPCs. Can the mod queue up aggressors and create a chain event, or does combat simply resume after one aggressor is done with the player? I'm not using any followers right now, so I'm not interested in scenes not involving the player.

As far as I've seen it resumes after one aggressor is done with the player. 

Link to comment
On 3/17/2021 at 2:22 AM, Skyrim4DERS said:

For my game it would be nice if it were just random chance. Like fighting a creature and if it hits you there's a % chance that a SL scene will start. 


Was able to get what I was looking for in this mod, Set health to 100% then set on hit chance to something like 5-10%

You know all those porn games where enemies have like, a couple of attacks. Damage attacks and Rape attacks?

Wish something like that existed for skyrim, and this mod is a good start!

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 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