Skip to content

some functions presumably not called for dynamic joiners that leave early #260

@keerifox

Description

@keerifox

i haven't had the ability to confirm this, but it would explain pawns walking around naked after leaving a threesome, which is.. honestly a really harmless bug, but there are likely other problems that this causes, e.g. walking around with condoms/strapons, or keeping some status effects that should have ended, or not getting a reset on lust/arousal/pain/stamina/consciousness values etc. (possibly worse consequences when things get modded, or new features are added)

func removeDynamicJoiner(_charID:String):
if(!doms.has(_charID)):
return
var theDomInfo:SexDomInfo = doms[_charID]
var theCharacter:BaseCharacter = theDomInfo.getChar()
stopActivitiesThatInvolveCharID(_charID)
doms.erase(_charID)
addTextRaw("[b]Dominant leaves.[/b] "+theCharacter.getName()+" has left.")
# The InSex interaction should handle this
#var sexLoc:String = getLocation()
#if(theCharacter.isDynamicCharacter() && sexLoc != ""):
# var thePawn = GM.main.IS.spawnPawn(_charID)
# if(thePawn):
# thePawn.setLocation(sexLoc)

for domID in doms:
var domInfo = doms[domID]
# Lets us loot used condoms
var theCondom = domInfo.getChar().getWornCondom()
if(theCondom != null):
if(theCondom.getFluids() != null):
if(!theCondom.getFluids().isEmpty()):
theCondom.destroyMe()
saveCondomToLootIfPerk(theCondom)
domInfo.getChar().afterSexEnded(domInfo)
domInfo.getChar().onSexEnded({sexEngine=self,isDom=true,sexFullResult=sexResult,sexResult=sexResult.doms[domID]})

don't think i would save much time trying to fix it myself as there are some design decisions to consider (e.g. whether to pass partial sexresult or not pass it at all etc.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions