Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment
- ;NEXT FRAGMENT INDEX 1
- Scriptname slac_TopicCreaturePCOralReceive Extends TopicInfo Hidden
- ;BEGIN FRAGMENT Fragment_0
- Function Fragment_0(ObjectReference akSpeakerRef)
- Actor akSpeaker = akSpeakerRef as Actor
- ;BEGIN CODE
- ; Creature performs oral sex on
- Actor Creature = CreatureRef.GetActorRef()
- String CreatureName = CreatureRef.GetActorRef().GetLeveledActorBase().GetName()
- String RejTags = ""
- If !slacUtility.TestCreature(Creature, invited = True) || !slacUtility.TestVictim(PlayerRef,Creature, inviting = True)
- slacUtility.Log("The " + CreatureName + " has no interested in pleasuring you", forceNote = slacConfig.showNotificationsNPC)
- Return
- EndIf
- ; Indicate inviting status to block other engagements via TestCreature/TestVictim
- PlayerRef.AddToFaction(slacConfig.slac_InvitingFaction)
- Creature.AddToFaction(slacConfig.slac_InvitedFaction)
- If slacUtility.TreatAsSex(playerRef,Creature) == 1
- If slacUtility.SexLab.GetGender(Creature) == 2
- RejTags = "BlowJob" ; Male creature performs on female PC
- EndIf
- If slacConfig.inviteAnimationPC
- slacUtility.StripActor(PlayerRef)
- slacUtility.PlayInviteAnimation(PlayerRef,Creature)
- Utility.Wait(3.0)
- EndIf
- Else
- If slacUtility.SexLab.GetGender(Creature) == 3
- RejTags = "Cunnilingus" ; Female creature performs on male PC
- EndIf
- EndIf
- If slacUtility.StartCreatureSex(PlayerRef, Creature, False, requireTags = "Oral", rejectTags = RejTags)
- ; Success: Start sex with reject tags
- slacUtility.Log("The aroused " + CreatureName + " is willing",False,slacConfig.showNotificationsNPC)
- ElseIf RejTags != "" && slacUtility.StartCreatureSex(PlayerRef, Creature, False, requireTags = "Oral")
- ; Fallback: Start sex without reject tags
- slacUtility.Log("Could not find oral animations for " + Creature + " without the " + RejTags + " tag")
- slacUtility.Log("The aroused " + CreatureName + " wants something else",False,slacConfig.showNotificationsNPC)
- Else
- ; Failure
- slacUtility.UnstripActor(PlayerRef)
- slacUtility.StopInviteAnimation(PlayerRef,Creature)
- slacUtility.Log("No oral animations available for " + Creature)
- slacUtility.Log(CreatureName + " is not interested",False,slacConfig.showNotificationsNPC)
- EndIf
- ; Reset inviting status
- PlayerRef.RemoveFromFaction(slacConfig.slac_InvitingFaction)
- Creature.RemoveFromFaction(slacConfig.slac_InvitedFaction)
- slacConfig.slac_CreatureDialogueSignal.SetValue(0)
- ;END CODE
- EndFunction
- ;END FRAGMENT
- ;END FRAGMENT CODE - Do not edit anything between this and the begin comment
- Quest Property CreatureDialogueQuest Auto
- ReferenceAlias Property CreatureRef Auto
- Actor Property PlayerRef Auto
- slac_Utility Property slacUtility Auto
- slac_Config Property slacConfig Auto
Add Comment
Please, Sign In to add comment