Jump to content
IGNORED

Female Creature Workshop


Recommended Posts

Introduction

 

I've been working on female versions of vanilla creatures recently for Lovers Creature update, but the thing is it takes QUITE some time to make a decent creature model. I've got more things to do with Lovers Creature, not even counting my RL, so I decided to post the resources in public. To draw more attention, and hopefully attracting some helping hands in the process.

 

 

The Female Creature Workshop

 

 

The main purpose of this project and thread is to contribute to the long-overdue upcoming new version of Lovers Creature (which will let you bang female creatures), but also it can be a separate greatness on its own, to have female versions of creatures. Because why the hell not, chicks have tits and are cool.

 

There are a few female creature mods already. While I generally suck at collecting and locating stuff, let me first point you to the glorious Oblivion Sexualized Monsters (OSM) by Rebel o Conner. There are a few on Nexus as well, at least Xivilai and Lich. Especially, OSM contains the female version of almost all monsters. So technically we should say, we're done with the female part.... right?

 

RIGHT?

 

Except we aren't quite so. OSM is an old mod and the models and textures there often don't meet today's higher standards. So we still have some room for improvement. So I started working on them.

 

On this post, I'll write down my finished works, WIPs, their progresses and future plans. None will be released in a cookie-cutter installer form, they're primarily a modder's resource. You can create your own mod with them though.

If the textures in the uploaded packages are not assigned a proper path, know that they are supposed to be at the standard location ("textures\creatures\<creaturefolder>") when included in the LoversCreature distribution package.

 

Quote

How to contribute:

 

  • If you can make models, that's really great. You can pick a creature you want and make a female version and post it here.
  • If you can't model but can do some texturing, that's still great too, because texturing is an equally time-consuming process (if not more so). A 3d modeler is not necessarily a great texturer. You can help by picking up a finished/unfinished model and making a texture for them. Contact the author of the model to do so, they'll be very happy to hand you the model.
  • Maybe you could provide a design idea or sketch.
  • If you can't do any of the above, you can still help by trying them out in game and spot problems, or finding a decent female creature mod on the internet and link here. As I said, I suck at collecting stuff, so it is very possible that I try to re-invent the wheel when there is a great creature resource out there already.

 

Quote

In case you decided to contribute:

 

  • The female model must use the same skeleton with the male version. Otherwise it is of no use for LoversCreature.
  • Know that the creatures will regularly appear as random monsters, so please refrain from making your model with absurdly many polygons or obcenely large textures.
  • The design of your model is completely free.
  • Whether you include your work files (.blend, .psd, etc.) in the package is totally up to you. It's helpful to have them, but you're not compelled.
  • If multiple contributors compete over the same creature, if ever, then (probably) the most popular one will be included as default in LoversCreature. The others will (again, probably) still be included as options.

 

License:

 

  • By posting your models/textures here, you are agreeing that it may be included in the LoversCreature mod without further of your express permission. You will get one line of credit, maybe the community's heartfelt gratitude and perhaps some fame, but definitely not a fortune. Other than those you will get nothing, as is usual in all things voluntary.

 

 

 

Status


 

Flesh Atronach: DONE

Spoiler

 

fem-fleshatronach.7z

 

No variants, other than their gemstone color. The gemstones are glossy (somewhat similar to glass) and glowy.

 

Oblivion20190504-14-53-38.jpg

(screenshot by sunhawken)

 

fleshatrf-00.jpgfleshatrf-01.jpg

 

fleshatrf-02.jpgfleshatrf-03.jpg

 

fleshatrf-04.jpg

 

Frost Atronach: Texture WIP (on hold)

Spoiler

 

fem-frostatronach-model.7z

 

Rigging, uv mapping all done. The package  includes uv map (joined all together for convenience) and two kinds of ambient occlusion maps - one with the shades cast by clipping objects, and one without. The spider daedra face texture is there simply for a guide.

 

I kinda don't have much idea on how to paint a nice ice-like texture for this one, so I'm procrastinating. Unless someone else does it of course, which seems unlikely...

 

There are two potential problems here:

  1. I want to make it partially transparent, and transparency in a skinned model tends not to play nice with other such objects. This is especially so if it has to be only partially transparent and not to be done with a test threashold (such as the combination of flag 4845 & 4846 with high threshold which you often see in wig meshes). I'll try 4333 first. If I can't get it working, it will have to do without transparency.
  2. I want to apply a refraction shader instead of envmap reflection, like the Chameleon effect. Problem is I don't know if refraction shader works for the skinned model, I've never tried it. As to why it can be bad: I once had enabled parallax occlusion for an armor model in the past. It looked cool, but some people reported CTD. Looks like some graphics cards/drivers handle unusual things better than others. Again, if this fails, she will have to carry on without the 20% cooler factor.

 

frostatr-07.jpg

 

 

 

Goblin: Not started (don't know if this is needed)

 

Imp: Not started

 

Lich: Not started

Spoiler

dfeeffc8493c0d22b0623f30a7df6ba7.jpg

 

Minotaur: Not started (don't know if this is needed; OSM may be good enough)

 

Ogre: Not freshly done, but I think OSM version is good enough.

Spoiler

Slightly fixed OSM model. Originally by Rebel'O'Conner.

 

ogre-00.jpg

 

Scamp: Not started

 

Spider Daedra: WIP, Based on Myst's

Spoiler

spiderdd-00.jpg

spiderdd-01.jpg

spiderdd-02.jpg

spiderdd-04.jpg

spiderdd-05.jpg

spiderdd-06.jpg

 

Spriggan: Already female, but I have a plan to improve them (using Myst's Beatiful Spriggan as base)

 

Xivilai: DONE

Spoiler

fem-xivilai.7z

 

They come with 3 clothing variants: skirt (default), bikini and a clothing resembles kimono (the usual Daedric theme, if you ask me why)

 

K-001.jpg.923280948d974c006862e5ac869b5226.jpgK-002.jpg.211fd3236af3bdd1ba76ceed2d29a932.jpg

 

xiv.jpg

 

xiv-shirt.jpg

 

Auroran: Not started (Not present in OSM)

Spoiler

auroran-00.jpg

 

Zombie: Modified Tbsk's Zombie

Spoiler

 

fem-zombie.7z

 

*Reuploaded with the fixed hairs*

 

It's a modified Tbsk's Zombie Race.

I chopped the models by body parts and standarized the seams. So now this has two variants for each body part (just like vanilla) and all of them can be assembled freely (again, just like vanilla).

I also ended up fixing one of the AGS hairs in the process... gah. (fixed normals artifact caused by wrong uv mapping and totally reordered the hair layers.)

It's AGS 03, if anybody cares.

 

zombie-01.jpg

zombie-00.jpg

 

The others, I don't think they really need female version. But you can argue that if you think differently.

 

 

General Resource

 

 

rt--hgec-el.nif

An HGEC E/L body model mapped to Robert Female texture. Robert Female is much easier for texturing.

 

rt--hgec-el--laz-kexw.nif

Said RF-HGEC body converted to ZKEC Kaiaku E/XWide using the Clothing Converter.

 

 

Link to comment

LoversCreature test plugin

 

femswap.esp

 

femswap-data-0.2.3.7z (data)

 

femswap-esp-0.2.2.7z (esp only)

femswap-esp-0.2.3.7z (esp only)

femswap-esp-0.3.0.7z (esp only)

 

Version: 0.3.0

 

Changes:

Spoiler

0.3.0

  • new: Pregnancy-specific model switching. (Enabled for all 4 types: b, c, p, v)

 

0.2.3

  • fix: Update3D logic issue
  • change: Different cache structure for more effective partial purge.
  • change: Now purges cache after walking nearby creatures, not before.
  • new: Now contains ALL vanilla creature penis.

 

0.2.2

  • fix: properly use original model even if none found for a specific gender
  • change: More frequent purge (after {iCachePurgeThreshold} sessions: current 3)
  • new: Mountain lion, horse ap, dog ap (need fix), ogre ap penis meshes

 

lion.jpg

 

0.2.1

  • fix: ini setting retrieval (I was doing it wrong, cell buffer guessing was completely not functional)
  • change: Optimization
  • change: fsFnFormatPretty rewritten as fsFnPrettyPrint, fsFnPrettyFormat
  • new: fsFnSetFemale
  • new: Deer, Sheep penis meshes

 

sheep.jpg

 

 

Abstract:

 

This plugin sets all creatures' gender to either male or female (by 50% chance each) in the vicinity of the player character. It then parses the creature's model list and modifies it according to certain rules, making him/her look properly masculine/faminine. Also, it responds to the common Lovers sex event and equip 'genital' models when a creature is engaged in sex.

 

This is merely a 'proof of concept' kind of plugin. It will not be maintained steadily. Once the model switch mechanic is deemed successful enough, this mod will be merged into LoversCreature.

 

 

Detail:

 

There are 2 kinds of genders: male ("m") and female ("f").

Also 4 kinds of model types: body ("b"), clothing ("c"), penis ("p") and vagina ("v")

femswap-compatible model is recognized by the model's file name with a speicial suffix consisting of "_Lc" and model type / gender described above.

No messing with ini or model path changing via esp necessary.

 

 

File names:

 

MODELNAME = [ BASENAME + ] "_Lc" + TYPE [ + GENDER ] + ".nif"

# All letters are case-insensitive.

@optional
BASENAME = "Any filename accepted by filesystem" and not ("_Lc" or ".nif")

@mandatory
TYPE = "b" or "c" or "p" or "v"

@optional
GENDER = "f" or "m"

# Pregnancy was added as of 0.3.0, but I'm too lazy to update the doc.
# Enabled by appending t# to any of the above 4 types, such that it would be like "basename_Lcbft3.nif".
# https://www.loverslab.com/topic/119906-female-creature-workshop/?do=findComment&comment=2629449

 

Simply put, you append a suffix "_LcXX" between your original file name and file extension (".nif") and you're done.

 

  • If BASENAME is omitted, TYPE must be PENIS or VAGINA.
  • If GENDER is omitted, the model is considered neuter / unisex. (both male and female can use it)

 

Now I'll explain what each type does.

Do note that I only specify when each type of model is enabled/disabled, but not how it should look. Each type's name is merely a 'nickname' that I think most suitable for its designed role.

 

  • BODY ("b"): BODY model stays enabled at all times. Given a BASENAME, first femswap.esp searches if at least one BODY model can be found for it. If one is found, then the original model is disabled and the newfound BODY model is used instead; If none is found, the original model is left alone.

 

  • CLOTHING ("c"): CLOTHING model is enabled while not having sex and disabled during sex. Even if a CLOTHING model is found for BASENAME, the original model is not disabled, unless BODY model is also found.

 

  • PENIS ("p"): PENIS model is only enabled during sex, and the creature must be in the giving position (aka "offence" in LAPF terms).

 

  • VAGINA ("v"): VAGINA model is only enabled during sex, and the creature must be in the receiving position (aka "defence" in LAPF terms).

 

 

All of the above four may be combined with an optional GENDER.

This makes some interesting combinations, notably female penis and male vagina.

Now you might ask "What in Nocturnal's divine keyhole a male vagina is???"

In case such a faithless question plagues your embarrassed mind; do penance, and recall that I do not enforce your model to resemble a certain phallic/yonic object. Such a thing is allowed to give more freedom to modders, and in turn players as well.

 

 

  • A special note on PENIS/VAGINA models: If BASENAME is omitted in the file name (such as "_Lcp.nif" or "_Lcvf.nif") then such models are recognized as 'fallback' genital model. For creatures about to have some fun, femswap.esp counts the number of genital models found. If none is found, it attempts to locate the fallback genital model for the creature.

 

  • models with GENDER takes precedence over a neuter model. If a model with matching gender (such as "_Lcbf") and an unisex model (such as "_Lcb") are both found, the unisex one is not used.

 

 

Quest stages:

 

Some quest stages are (or will be) assigned some debug functionalities. Notably, type:

SetStage femswapMain, 100

to display help message.

As of this writing, only one though: (101) Dump creature model cache on the console.

 

Link to comment

Well, I think you did mention that the 'Goblins' are just plain ugly.  The OSM does have ugly Goblin women.... and probably why they prefer to go out after OTHER humanoid women.

 

Minotaurs?  I agree with you.  But I think the cows NEED to lose the horns.  Have you seen a cow with horns?  The head is basically it for an edit of the OSM version I think.

 

Ogres.  Well, the males in the OSM have those blasted loin cloths.  Whoever heard of a loin cloth made with an erection hole in place?

 

Imps and Scamps?  The OSM has em and are just too damn ugly...   But then again, a scamp might think the same of  Scarlett Johansson.

 

I think I saw a Female Lich mod in Nexus Mods.  Nice work on the Xivilai femme.  At least this one looks decent compared to the OSM version, and uses the same skeleton instead of the Female Xivilai mod at Nexus Mods.  Damn, that sucked not working.

 

On 4/12/2019 at 7:26 AM, movomo said:

The female model must use the same skeleton with the male version. Otherwise it is of no use for LoversCreature.

Thankfully, both the male and female Hitode and Mushroom creatures in Lovers Creatures share skeletons.  But what of the Tentacle Monster?  Or can we tell it to go fuck itself? :P

 

EDIT:

 

On 4/12/2019 at 7:26 AM, movomo said:

Auroran

 

Okay,  Not withstanding Mr. Spammy McGee (below), what the heck is an Auroran?  *GOOGLES*  Hrm...    If doing that, why not the Twilight (spriggan model?) or Guar from Morrowwind (Horse model?  Some  mount mods were made).

 

 

Link to comment
On 4/13/2019 at 12:24 AM, myuhinny said:

Looks good. I unfortunately have no skills in this area.

Showing your interest is good enough for me, thanks. I forgot to comment about this. :D

 

 

 

 

Ah, yes. Minotaur girls really do need to lose their horns. And no I have not seen a cow with the horns, well except in the glorified monstergirl stuff.

 

I [want to] think of the Imps and Scamps as some sort of little cute devils. Mischief, but still adorable. At least in everything except appearance. And voice.

So why not make their chick version better? Espcially when their OSM version are sub-optimal. I want to do them if I can spare some time. (low priority)

 

The lich mod on Nexus used different skeleton last time I checked. Duh...

 

5 hours ago, LongDukDong said:

EDIT:

 

 

Okay,  Not withstanding Mr. Spammy McGee (below), what the heck is an Auroran?  *GOOGLES*  Hrm...    If doing that, why not the Twilight (spriggan model?) or Guar from Morrowwind (Horse model?  Some  mount mods were made).

I plan to do Aurorans because they are from an official plugin that is Knights of the Nine, friend. Not originally from ESO, I assure you. Although, for some unknown (but imaginable) reason, not included in LoversCreature.

I do want to work Twilight also, believe me. But those already on the list alone will take at least months.

Link to comment

Thanks. err.. Unfortunately, the zombie (I presume it's Colourwheel's) sounds like they use human skeleton. Female Lich uses human skeleton too. Though I might have to check if I can easily convert them before I waste time.

Only the Ogre one is usable, but I'm not quite sure if it's any better than OSM's.

Link to comment

Nice.... bumps.

 

So we're gonna have attractive scamps and imps?  Seriously?   This is like having Sofia Boutella as the Mummy!  I seriously never thought I'd be attracted to the Mummy.

 

Will there be a means to remove clothing during sex?  That heavy loin cloth would obviously get in the way.

Link to comment

I have little idea on how should the imps and scamps look like without utterly breaking their original theme. On the other hand, I do have some thoughts on the Frost Atronach so I think maybe I'll do them next time.

 

Btw removing clothings during sex is supposed to be one of the core features of the upcoming 2.5 update. I'm fairly certain it could be done.

 

Link to comment

Hey.  Here's some CODE I used.

 

* THERE'S NO SPOILERS?   THE CODE BOXES DON'T RESIZE? *

 

 

This one obtains an ID for the creature based on model and texture-type.  That way, you can have various horses as they all have the same model.

Scn  OGCTestModel

; FUNCTION:  Modeled after the 'xLoversCmnGetCreatureType' script,  this script
;            examines the subject and acquires its ID based on Model or FormID.


;; Define values for script
ref me                      ; Function Reference:  Subject Reference
short iRet                  ; Function Return:     Numeric ID value for Creature Detected
short zombiemix
;ref testHitodeF             ; Variable:            Temporary Holder for Female Hitode Reference
;ref testHitodeM             ; Variable:            Temporary Holder for Male Hitode Reference
;ref testMushroomF           ; Variable:            Temporary Holder for Female Mushroom Reference
;ref testMushroomM           ; Variable:            Temporary Holder for Male Mushroom Reference
;ref testTentacle            ; Variable:            Temporary Holder for Tentacle Monster Reference


;; Define Function
Begin Function { me }


    ;; Define the return values
    Set iRet to 0
    SetFunctionValue 0


    ;; Create New References for test
   ; set testHitodeF     to xSSDCV.xLCVHitodeF
   ; set testHitodeM     to xSSDCV.xLCVHitodeM
   ; set testMushroomF   to xSSDCV.xLCVMushroomF
   ; set testMushroomM   to xSSDCV.xLCVMushroomM
   ; set testTentacle    to xSSDCV.xLCVTentacle    


    ; Exit if not a valid creature
    ; Return value already set
    if me.GetIsCreature == 0
        return
    endif


    ;; Otherwise, branch on Creature Model
    if( me.ModelPathIncludes "\Baliwog\" == 1 )             ; Baliwog
        Set iRet to 1
    elseif( me.ModelPathIncludes "\Bear\" == 1 )            ; Bear
        if me.HasModel "BlackBearHead.nif" == 1
            Set iRet to 2
        else
            Set iRet to 3
        endif
    elseif( me.ModelPathIncludes "\Boar\" == 1 )            ; Boar
        Set iRet to 4
    elseif( me.ModelPathIncludes "\Clannfear\" == 1 )       ; Clannfear
        Set iRet to 5
    elseif( me.ModelPathIncludes "\Daedroth\" == 1 )        ; Daedroth
        Set iRet to 6
    elseif( me.ModelPathIncludes "\Deer\" == 1 )            ; Deer
        Set iRet to 7
    elseif( me.ModelPathIncludes "\Dog\" == 1 )             ; Dog (Continue test on model)
        Set iRet to 8
    elseif( me.ModelPathIncludes "\Elytra\" == 1 )          ; Elytra
        if me.HasModel "ManiaHead1.nif" == 1
            Set iRet to 10
        elseif me.HasModel "ManiaHeadset2.nif" == 1
            Set iRet to 10
        elseif me.HasModel "ManiaHeadset3.nif" == 1
            Set iRet to 10
        else
            Set iRet to 9
        endif
    elseif( me.ModelPathIncludes "\FlameAtronach\" == 1 )   ; Flame Atronach
        Set iRet to 11
    elseif( me.ModelPathIncludes "\FleshAtronach\" == 1 )   ; Flesh Atronach
        Set iRet to 12
    elseif( me.ModelPathIncludes "\FrostAtronach\" == 1 )   ; Frost Atronach
        Set iRet to 13
    elseif( me.ModelPathIncludes "\GateKeeper\" == 1 )      ; Gatekeeper
        Set iRet to 14
    elseif( me.ModelPathIncludes "\Ghost\" == 1 )           ; Ghost
        Set iRet to 15
    elseif( me.ModelPathIncludes "\Gnarl Dementia\" == 1 )  ; Gnarl - Dementia
        Set iRet to 16
    elseif( me.ModelPathIncludes "\Gnarl\" == 1 )           ; Gnarl
        Set iRet to 17
    elseif( me.ModelPathIncludes "\Goblin\" == 1 )          ; Goblin
        if me.HasModel "shamanbag.nif" == 1
            Set iRet to 21
        elseif me.HasModel "skirmisherfront.nif" == 1
        
            Set iRet to 19
        elseif me.HasModel "skirmisherfront2.nif" == 1
            Set iRet to 19
        elseif me.HasModel "goblinhelmet.nif" == 1
            Set iRet to 20
        else
            Set iRet to 18
        endif
    elseif( me.ModelPathIncludes "\Grummite\" == 1 )        ; Grummite
        if me.HasModel "Grummitem.nif" == 1
            Set iRet to 23
        elseif me.HasModel "GrummitemArmor.nif" == 1
            Set iRet to 23
        else
            Set iRet to 22
        endif
    elseif( me.ModelPathIncludes "\Horse\" == 1 )           ; Horse
        if me.HasModel "Horseheadblack.nif" == 1
            Set iRet to 25
        elseif me.HasModel "Horseheadchestnut.nif" == 1
            Set iRet to 26
        elseif me.HasModel "Horseheadgrey.nif" == 1
            Set iRet to 27
        elseif me.HasModel "Horseheadpaint.nif" == 1
            Set iRet to 28
        else
            Set iRet to 24
        endif
    elseif( me.ModelPathIncludes "\Hunger\" == 1 )          ; Hunger
        Set iRet to 29
    elseif( me.ModelPathIncludes "\Imp\" == 1 )             ; Imp
        Set iRet to 30
    elseif( me.ModelPathIncludes "\Jyggylag\" == 1 )        ; Jyggylag
        Set iRet to 31
    elseif( me.ModelPathIncludes "\LandDreugh\" == 1 )      ; Land Dreugh
        Set iRet to 32
    elseif( me.ModelPathIncludes "\Lich\" == 1 )            ; Lich
        Set iRet to 33
    elseif( me.ModelPathIncludes "\MehrunesDagon\" == 1 )   ; Mehrunes Dagon
        Set iRet to 34
    elseif( me.ModelPathIncludes "\Minotaur\" == 1 )        ; Minotaur
        if me.HasModel "HeadLord.nif" == 1
            Set iRet to 36
        else
            Set iRet to 35
        endif
    elseif( me.ModelPathIncludes "\MountainLion\" == 1 )    ; Mountain Lion
        if me.HasModel "LstGel.nif" == 1
            Set iRet to 38
        else
            Set iRet to 37
        endif
    elseif( me.ModelPathIncludes "\MudCrab\" == 1 )         ; Mud Crab
        Set iRet to 39
    elseif( me.ModelPathIncludes "\MurkDweller\" == 1 )     ; Murk Dweller / Scalon
        if me.HasModel "murk.nif" == 1
            Set iRet to 41
        elseif me.HasModel "murkarmor.nif" == 1
            Set iRet to 41
        else
            Set iRet to 40
        endif
    elseif( me.ModelPathIncludes "\Ogre\" == 1 )            ; Ogre
        Set iRet to 42
        
    elseif( me.ModelPathIncludes "\Rat\" == 1 )             ; Rat
        if me.HasModel "LDKRabbit.nif" == 1
            Set iRet to 44
        elseif me.HasModel "LDKRabbit.nif" == 1
            Set iRet to 44
        elseif me.HasModel "LSTRabbitWhiteBlack.nif" == 1
            Set iRet to 45
        elseif me.HasModel "LSTRabbitWhiteBlackF.nif" == 1
            Set iRet to 45
        elseif me.HasModel "LSTGangChong2.nif" == 1
            Set iRet to 46
        elseif me.HasModel "LSTGangChongF.nif" == 1
            Set iRet to 46
        elseif me.HasModel "LSTWorm2.nif" == 1
            Set iRet to 47
        elseif me.HasModel "LSTWormF.nif" == 1
            Set iRet to 47
        else
            Set iRet to 43
        endif        


        
        
    elseif( me.ModelPathIncludes "\Scamp\" == 1 )           ; Scamp
        Set iRet to 48
    elseif( me.ModelPathIncludes "\Shambles\" == 1 )        ; Shambles
        Set iRet to 49

        
    elseif( me.ModelPathIncludes "\Sheep\" == 1 )           ; Sheep
        if me.HasModel "LSTDickInsectSheep.nif" == 1
            Set iRet to 51
        elseif me.HasModel "LSTDickInsectSheepF.nif" == 1
            Set iRet to 51
        else
            Set iRet to 50
        endif        
    elseif( me.ModelPathIncludes "\Skeleton\" == 1 )        ; Skeleton
        Set iRet to 52
    elseif( me.ModelPathIncludes "\Slaughterfish\" == 1 )   ; Slaugherfish
        if me.HasModel "LstPeter1.nif" == 1
            Set iRet to 54
        elseif me.HasModel "LstPeter1.nif" == 1
            Set iRet to 54
        elseif me.HasModel "LstPaul1.nif" == 1
            Set iRet to 55
        elseif me.HasModel "LstPaul1F.nif" == 1
            Set iRet to 55
        elseif me.HasModel "LstMarry1.nif" == 1
            Set iRet to 56
        elseif me.HasModel "LstMarry1F.nif" == 1
            Set iRet to 56
        else
            Set iRet to 53
        endif        
    elseif( me.ModelPathIncludes "\SpiderDaedra\" == 1 )    ; Spider Daedra
        if me.HasModel "Spiderling.nif" == 1
            Set iRet to 58
        elseif me.HasModel "Spiderling-E.nif" == 1
            Set iRet to 58
        else
            Set iRet to 57
        endif            
    elseif( me.ModelPathIncludes "\Spriggan\" == 1 )        ; Spriggan
        Set iRet to 59
    elseif( me.ModelPathIncludes "\StormAtronach\" == 1 )   ; Storm Atronach
        Set iRet to 60
    elseif( me.ModelPathIncludes "\Troll\" == 1 )           ; Troll
        if me.HasModel "MS14TrollF.nif" == 1
            Set iRet to 62
        elseif me.HasModel "MS14TrollME.nif" == 1
            Set iRet to 62
        else
            Set iRet to 61
        endif            
    elseif( me.ModelPathIncludes "\WillOTheWisp\" == 1 )    ; Will o the Wisp
        Set iRet to 63
    elseif( me.ModelPathIncludes "\Wraith\" == 1 )          ; Wraith
        if me.HasModel "WraithLordHead.nif" == 1
            Set iRet to 65
        else
            Set iRet to 64
        endif
    elseif( me.ModelPathIncludes "\Xivilai\" == 1 )         ; Xivilai
        if me.ModelPathIncludes "xBitchWWWerewolf"
               set iRet to -1
        else
            set iret to 66
        endif
    elseif( me.ModelPathIncludes "\Zombie\" == 1 )          ; Zombie
        
        if me.HasModel "lefttorsof01.nif" == 1
            Set zombieMix to 1
        elseif me.HasModel "lefttorso01.nif" == 1
            Set zombieMix to 1
        else
            Set zombieMix to 0
        endif            
        
        if me.HasModel "Righttorsof01.nif" == 1
            Set zombieMix to (zombieMix + 2)
        elseif me.HasModel "Righttorso01.nif" == 1
            Set zombieMix to (zombieMix + 2)
        endif            
        
        if me.HasModel "leftlegf01.nif" == 1
            Set zombieMix to (zombieMix + 4)
        elseif me.HasModel "leftleg01.nif" == 1
            Set zombieMix to (zombieMix + 4)
        endif            
        if me.HasModel "Rightlegf01.nif" == 1
            Set zombieMix to (zombieMix + 8 )
        elseif me.HasModel "Rightleg01.nif" == 1
            Set zombieMix to (zombieMix + 8 )
        endif            


        if zombiemix == 0         ;; left2 / Right 02 / Left Leg02 / Right Leg02
            Set iRet to 67
        elseif zombiemix == 1     ;; left1 / Right 02 / Left Leg02 / Right Leg02
            Set iRet to 68
        elseif zombiemix == 2     ;; left2 / Right 01 / Left Leg02 / Right Leg02
            Set iRet to 69

            
        elseif zombiemix == 3     ;; left1 / Right 01 / Left Leg02 / Right Leg02
            Set iRet to 70
            
        elseif zombiemix == 4     ;; left2 / Right 02 / Left Leg01 / Right Leg02
            Set iRet to 71
            
        elseif zombiemix == 5     ;; left1 / Right 02 / Left Leg01 / Right Leg02
            Set iRet to 72
        elseif zombiemix == 6     ;; left2 / Right 01 / Left Leg01 / Right Leg02
            Set iRet to 73

        elseif zombiemix == 7     ;; left1 / Right 01 / Left Leg01 / Right Leg02
            Set iRet to 74

        elseif zombiemix == 8     ;; left2 / Right 02 / Left Leg02 / Right Leg01
            Set iRet to 75
        elseif zombiemix == 9     ;; left1 / Right 02 / Left Leg02 / Right Leg01
            Set iRet to 76
        elseif zombiemix == 10     ;; left2 / Right 01 / Left Leg02 / Right Leg01
            Set iRet to 77
        elseif zombiemix == 11     ;; left1 / Right 01 / Left Leg02 / Right Leg01
            Set iRet to 78
        elseif zombiemix == 12     ;; left2 / Right 02 / Left Leg01 / Right Leg01
            Set iRet to 79
        elseif zombiemix == 13     ;; left1 / Right 02 / Left Leg01 / Right Leg01
            Set iRet to 79==80
        elseif zombiemix == 14     ;; left2 / Right 01 / Left Leg01 / Right Leg01
            Set iRet to 81
        elseif zombiemix == 15     ;; left1 / Right 01 / Left Leg01 / Right Leg01
            Set iRet to 82
        endif
        
    else
        Set iRet to 0                                       ; Else... no base detected
    endif


    ;; Additional considerations for Lovers Creatures and
    ;; Werewolf model From Lovers Bitch and/or Bravil Underground
    ;if me.getisid testHitodeF == 1
    ;    set iRet to 46
    ;elseif me.getisid testHitodeM == 1
    ;    set iRet to 47
    ;elseif me.getisid testMushroomF == 1
    ;    set iRet to 48
    ;elseif me.getisid testMushroomM == 1
    ;    set iRet to 49
    ;elseif me.getisid testTentacle == 1
    ;    set iRet to 50
    ;elseif me.ModelPathIncludes "xBitchWWWerewolf"
    ;    set iRet to 51
    ;endif


    ;; Redefine the Function Return
    SetFunctionValue iRet


End

 

And the other code  runs the above code to get the model ID, but requires the creature's reference and two ID flags for gender:

 

call OGCSwitchGender refOwner 0 1 .... if the creature's gender is becoming female

call OGCSwitchGender refOwner 1 0 .... if the creature's gender is becoming male

 

scn OGCSwitchGender


ref target               ; Variable:   Object/Actor Reference
;short tofemaleflag       ; Variable

short modelval

short togglemale
short togglefemale

 

Begin function {target togglemale togglefemale}

    set modelval to call OGCTestModel target

    ;if tofemaleflag == 1
    ;    set togglemale to 0
    ;    set togglefemale to 1
    ;else
    ;    set togglemale to 1
    ;    set togglefemale to 0
    ;endif


    printC "the target is a %n and a model value of %.0f" target modelval


    printc "male value is %.0f  while female value is %.0f" togglemale togglefemale    
    

    
    
        
    if modelval == 1
        target.ToggleCreatureModel "BaliwogArmor.Nif" togglemale
        target.ToggleCreatureModel "Baliwog.Nif" togglefemale            
    elseif modelval == 2
        target.ToggleCreatureModel "BlackBearArmor.Nif" togglemale
        target.ToggleCreatureModel "BlackBearBody.Nif" togglefemale
    elseif modelval == 3
        target.ToggleCreatureModel "BearArmor.Nif" togglemale
        target.ToggleCreatureModel "BearBody.Nif" togglefemale
    elseif modelval == 4
        target.ToggleCreatureModel "BoarArmor.Nif" togglemale
        target.ToggleCreatureModel "BoarBody.Nif" togglefemale    
    elseif modelval == 5
        target.ToggleCreatureModel "ClannfearArmor.Nif" togglemale
        target.ToggleCreatureModel "Clannfear.Nif" togglefemale
    elseif modelval == 6
        target.ToggleCreatureModel "DaedrothArmor.Nif" togglemale
        target.ToggleCreatureModel "Daedroth.Nif" togglefemale
    elseif modelval == 7
        target.ToggleCreatureModel "antlar8point.Nif" togglemale
        target.ToggleCreatureModel "skindoearmor.Nif" togglemale
        target.ToggleCreatureModel "skindoe.Nif" togglefemale
    elseif modelval == 8
        target.ToggleCreatureModel "DogD.Nif" togglemale
    elseif modelval == 9
        target.ToggleCreatureModel "elytraarmor.Nif" togglemale
        target.ToggleCreatureModel "elytrabody.Nif" togglefemale        
    elseif modelval == 10
        target.ToggleCreatureModel "maniaelytraarmor.Nif" togglemale
        target.ToggleCreatureModel "maniaelytrabody.Nif" togglefemale        
    elseif modelval == 11
        target.ToggleCreatureModel "FlameAtronachM-E.Nif" togglemale
        target.ToggleCreatureModel "FlameAtronachF-B.Nif" togglefemale            
    elseif modelval == 12
        target.ToggleCreatureModel "FleshAtronachArmor.Nif" togglemale
    elseif modelval == 13
        target.ToggleCreatureModel "FrostAtronachArmor.Nif" togglemale
        target.ToggleCreatureModel "FrostAtronachF.Nif" togglefemale            
    elseif modelval == 14
        target.ToggleCreatureModel "GatekeeperArmor.Nif" togglemale
        target.ToggleCreatureModel "Gatekeeper.Nif" togglefemale            
    elseif modelval == 15
        target.ToggleCreatureModel "InnerbodyMissiveArmor.Nif" togglemale
        target.ToggleCreatureModel "OuterBodyMissive.Nif" togglemale
        target.ToggleCreatureModel "InnerbodyMissiveF.Nif" togglefemale                
        target.ToggleCreatureModel "OuterBodyMissiveF.Nif" togglefemale                
    elseif modelval == 16
        ;; Elytra have no change
    elseif modelval == 17
         ;; Elytra have no change
    elseif modelval == 18
        target.ToggleCreatureModel "GoblinChest01.Nif" togglemale
        target.ToggleCreatureModel "GoblinLegsArmor.Nif" togglemale
        target.ToggleCreatureModel "LegF01.Nif" togglefemale            
        target.ToggleCreatureModel "ChestF02.Nif" togglefemale            
    elseif modelval == 19
        target.ToggleCreatureModel "GoblinLegsArmor.Nif" togglemale
        target.ToggleCreatureModel "SkirmisherFront.Nif" togglemale
        target.ToggleCreatureModel "LegF01.Nif" togglefemale            
        target.ToggleCreatureModel "ChestF02.Nif" togglefemale            
        target.ToggleCreatureModel "SkirmisherFrontF02.Nif" togglefemale            
    elseif modelval == 20
        target.ToggleCreatureModel "GoblinLegsArmor.Nif" togglemale
        target.ToggleCreatureModel "BerserkerChest.Nif" togglemale
        target.ToggleCreatureModel "LegF01.Nif" togglefemale            
        target.ToggleCreatureModel "ChestF02.Nif" togglefemale        

    elseif modelval == 21
        target.ToggleCreatureModel "GoblinLegsArmor.Nif" togglemale
        target.ToggleCreatureModel "ShamanChest.Nif" togglemale
        target.ToggleCreatureModel "LegF01.Nif" togglefemale            
        target.ToggleCreatureModel "ChestF02.Nif" togglefemale        

        
        
    elseif modelval == 22
        target.ToggleCreatureModel "GrummiteArmor.Nif" togglemale
        target.ToggleCreatureModel "Grummited.Nif" togglefemale    
    elseif modelval == 23
        target.ToggleCreatureModel "GrummitemArmor.Nif" togglemale
        target.ToggleCreatureModel "Grummitem.Nif" togglefemale        
        
    elseif modelval == 24
        target.ToggleCreatureModel "HorseArmor.Nif" togglemale
        target.ToggleCreatureModel "Horse.Nif" togglefemale        
    elseif modelval == 25
        target.ToggleCreatureModel "HorseArmorBlack.Nif" togglemale
        target.ToggleCreatureModel "Horse.Nif" togglefemale        
    elseif modelval == 26
        target.ToggleCreatureModel "HorseArmorChestnut.Nif" togglemale
        target.ToggleCreatureModel "HorseChestnut.Nif" togglefemale        
    elseif modelval == 27
        target.ToggleCreatureModel "HorseArmorGrey.Nif" togglemale
        target.ToggleCreatureModel "HorseGrey.Nif" togglefemale        
    elseif modelval == 28
        target.ToggleCreatureModel "HorseArmorPaint.Nif" togglemale
        target.ToggleCreatureModel "HorsePaint.Nif" togglefemale        
        
    elseif modelval == 29
        target.ToggleCreatureModel "HungerTentacleTungue.Nif" togglemale
        target.ToggleCreatureModel "HungerTungue2.Nif" togglefemale                
    elseif modelval == 30
        target.ToggleCreatureModel "ImpArmor.Nif" togglemale
        target.ToggleCreatureModel "ImpF.Nif" togglefemale                
    elseif modelval == 31
        target.ToggleCreatureModel "JyggalagArmor.Nif" togglemale
        target.ToggleCreatureModel "Jyggalag.Nif" togglefemale                
    elseif modelval == 32
        target.ToggleCreatureModel "LandDreughArmor.Nif" togglemale
        target.ToggleCreatureModel "LandDreugh.Nif" togglefemale                
    elseif modelval == 33
        target.ToggleCreatureModel "LichM2.Nif" togglemale
        target.ToggleCreatureModel "LichClothesM02.Nif" togglemale
        target.ToggleCreatureModel "LichF.Nif" togglefemale                
        target.ToggleCreatureModel "LichClothesF02.Nif" togglefemale
    elseif modelval == 34
        target.ToggleCreatureModel "MehrunesDagonArmor.Nif" togglemale
        target.ToggleCreatureModel "MehrunesDagon.Nif" togglefemale                
    elseif modelval == 35
        target.ToggleCreatureModel "MinotaurArmor.Nif" togglemale
        target.ToggleCreatureModel "MinotaurF.Nif" togglefemale                
    elseif modelval == 36
        target.ToggleCreatureModel "MinotaurLordArmor.Nif" togglemale
        target.ToggleCreatureModel "MinotaurLordF.Nif" togglefemale                
    elseif modelval == 37
        target.ToggleCreatureModel "Lion_BodyArmor.Nif" togglemale
        target.ToggleCreatureModel "Lion_Body.Nif" togglefemale                
    elseif modelval == 38
        ;target.ToggleCreatureModel "LstGelArmor.Nif" togglemale
        ;target.ToggleCreatureModel "LstGel.Nif" togglefemale                
    elseif modelval == 39
        target.ToggleCreatureModel "skincrabArmor.Nif" togglemale
        target.ToggleCreatureModel "skincrab.Nif" togglefemale                
    elseif modelval == 40
        target.ToggleCreatureModel "MurkDementiaArmor.Nif" togglemale
        target.ToggleCreatureModel "MurkDementia.Nif" togglefemale                
    elseif modelval == 41
        target.ToggleCreatureModel "MurkArmor.Nif" togglemale
        target.ToggleCreatureModel "Murk.Nif" togglefemale                
    elseif modelval == 42
        target.ToggleCreatureModel "OgreArmor.Nif" togglemale
        target.ToggleCreatureModel "OgreF.Nif" togglefemale
    elseif modelval == 43
        target.ToggleCreatureModel "RatArmor.Nif" togglemale
        target.ToggleCreatureModel "Rat.Nif" togglefemale
    elseif modelval == 44
        ; HAHAH
    elseif modelval == 48
        target.ToggleCreatureModel "ScampArmor.Nif" togglemale
        target.ToggleCreatureModel "ScampF.Nif" togglefemale
    elseif modelval == 49
        target.ToggleCreatureModel "ShamblesArmor.Nif" togglemale
        target.ToggleCreatureModel "Shambles.Nif" togglefemale
    elseif modelval == 50
        target.ToggleCreatureModel "SheepArmor.Nif" togglemale
        target.ToggleCreatureModel "RamHornL.Nif" togglemale
        target.ToggleCreatureModel "RamHornR.Nif" togglemale
        target.ToggleCreatureModel "Sheep.Nif" togglefemale
    elseif modelval == 51
        ; HAHAH
    elseif modelval == 52
        target.ToggleCreatureModel "SkellieArmor.Nif" togglemale
        target.ToggleCreatureModel "Skellie.Nif" togglefemale
    elseif modelval == 53
        target.ToggleCreatureModel "SlaughterfishArmor.Nif" togglemale
        target.ToggleCreatureModel "Slaughterfish.Nif" togglefemale    
    elseif modelval == 57
        target.ToggleCreatureModel "DaedraHairM.Nif" togglemale
        target.ToggleCreatureModel "SpiderDaedraM-E.Nif" togglemale
        target.ToggleCreatureModel "DaedraHair.Nif" togglefemale
        target.ToggleCreatureModel "SpiderDaedraF.Nif" togglefemale
    elseif modelval == 58
        target.ToggleCreatureModel "Spiderling-E.Nif" togglemale
        target.ToggleCreatureModel "Spiderling.Nif" togglefemale
    elseif modelval == 59
        target.ToggleCreatureModel "SprigganME03.Nif" togglemale
        target.ToggleCreatureModel "SprigganF.Nif" togglefemale
        
    elseif modelval == 60
        target.ToggleCreatureModel "StormAtronachArmor.Nif" togglemale
        target.ToggleCreatureModel "StormAtronach.Nif" togglefemale
    elseif modelval == 61
        target.ToggleCreatureModel "TrollArmor.Nif" togglemale
        target.ToggleCreatureModel "TrollF.Nif" togglefemale
    elseif modelval == 62
        target.ToggleCreatureModel "MS14TrollME.Nif" togglemale
        target.ToggleCreatureModel "MS14TrollF.Nif" togglefemale
    elseif modelval == 63
        ; What is a Will o the Wisp?
    elseif modelval == 64
        target.ToggleCreatureModel "WraithArmor.Nif" togglemale
        target.ToggleCreatureModel "Wraith.Nif" togglefemale
    elseif modelval == 65
        target.ToggleCreatureModel "WraithLordArmor.Nif" togglemale
        target.ToggleCreatureModel "WraithLord.Nif" togglefemale

        
    elseif modelval == 66
        target.ToggleCreatureModel "XivilaiArmor.Nif" togglemale
        target.ToggleCreatureModel "XivilaiF.Nif" togglefemale

        
    elseif modelval == 67
        target.ToggleCreatureModel "LeftTorso02.Nif" togglemale
        target.ToggleCreatureModel "RightTorso02.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg02.Nif" togglemale
        target.ToggleCreatureModel "RightLeg02.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        
        target.ToggleCreatureModel "LeftTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF02.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF02.Nif" togglefemale
    elseif modelval == 68
        target.ToggleCreatureModel "LeftTorso01.Nif" togglemale
        target.ToggleCreatureModel "RightTorso02.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg02.Nif" togglemale
        target.ToggleCreatureModel "RightLeg02.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF02.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF02.Nif" togglefemale
    elseif modelval == 69
        target.ToggleCreatureModel "LeftTorso02.Nif" togglemale
        target.ToggleCreatureModel "RightTorso01.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg02.Nif" togglemale
        target.ToggleCreatureModel "RightLeg02.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF02.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF02.Nif" togglefemale
    elseif modelval == 70
        target.ToggleCreatureModel "LeftTorso01.Nif" togglemale
        target.ToggleCreatureModel "RightTorso01.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg02.Nif" togglemale
        target.ToggleCreatureModel "RightLeg02.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF02.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF02.Nif" togglefemale
    elseif modelval == 71
        target.ToggleCreatureModel "LeftTorso02.Nif" togglemale
        target.ToggleCreatureModel "RightTorso02.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg01.Nif" togglemale
        target.ToggleCreatureModel "RightLeg02.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF01.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF02.Nif" togglefemale
    elseif modelval == 72
        target.ToggleCreatureModel "LeftTorso01.Nif" togglemale
        target.ToggleCreatureModel "RightTorso02.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg01.Nif" togglemale
        target.ToggleCreatureModel "RightLeg02.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF01.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF02.Nif" togglefemale
    elseif modelval == 73
        target.ToggleCreatureModel "LeftTorso02.Nif" togglemale
        target.ToggleCreatureModel "RightTorso01.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg01.Nif" togglemale
        target.ToggleCreatureModel "RightLeg02.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF01.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF02.Nif" togglefemale
    elseif modelval == 74
        target.ToggleCreatureModel "LeftTorso01.Nif" togglemale
        target.ToggleCreatureModel "RightTorso01.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg01.Nif" togglemale
        target.ToggleCreatureModel "RightLeg02.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF01.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF02.Nif" togglefemale

 

 


    elseif modelval == 75
        target.ToggleCreatureModel "LeftTorso02.Nif" togglemale
        target.ToggleCreatureModel "RightTorso02.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg02.Nif" togglemale
        target.ToggleCreatureModel "RightLeg01.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF02.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF01.Nif" togglefemale
    elseif modelval == 76
        target.ToggleCreatureModel "LeftTorso01.Nif" togglemale
        target.ToggleCreatureModel "RightTorso02.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg02.Nif" togglemale
        target.ToggleCreatureModel "RightLeg01.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF02.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF01.Nif" togglefemale
    elseif modelval == 77
        target.ToggleCreatureModel "LeftTorso02.Nif" togglemale
        target.ToggleCreatureModel "RightTorso01.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg02.Nif" togglemale
        target.ToggleCreatureModel "RightLeg01.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF02.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF01.Nif" togglefemale
    elseif modelval == 78
        target.ToggleCreatureModel "LeftTorso01.Nif" togglemale
        target.ToggleCreatureModel "RightTorso01.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg02.Nif" togglemale
        target.ToggleCreatureModel "RightLeg01.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF02.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF01.Nif" togglefemale
    elseif modelval == 79
        target.ToggleCreatureModel "LeftTorso02.Nif" togglemale
        target.ToggleCreatureModel "RightTorso02.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg01.Nif" togglemale
        target.ToggleCreatureModel "RightLeg01.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF01.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF01.Nif" togglefemale
    elseif modelval == 80
        target.ToggleCreatureModel "LeftTorso01.Nif" togglemale
        target.ToggleCreatureModel "RightTorso02.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg01.Nif" togglemale
        target.ToggleCreatureModel "RightLeg01.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF01.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF01.Nif" togglefemale
    elseif modelval == 81
        target.ToggleCreatureModel "LeftTorso02.Nif" togglemale
        target.ToggleCreatureModel "RightTorso01.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg01.Nif" togglemale
        target.ToggleCreatureModel "RightLeg01.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF02.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF01.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF01.Nif" togglefemale
    elseif modelval == 82
        target.ToggleCreatureModel "LeftTorso01.Nif" togglemale
        target.ToggleCreatureModel "RightTorso01.Nif" togglemale
        target.ToggleCreatureModel "LeftLeg01.Nif" togglemale
        target.ToggleCreatureModel "RightLeg01.Nif" togglemale
        target.ToggleCreatureModel "PenisE01.Nif" togglemale
        target.ToggleCreatureModel "LeftTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "RightTorsoF01.Nif" togglefemale
        target.ToggleCreatureModel "LeftLegF01.Nif" togglefemale
        target.ToggleCreatureModel "RightLegF01.Nif" togglefemale
    endif
        

    target.Update3D            
    

end
Link to comment

You should be able to put them in the spoilers if you edit the html source directly.

Or not. Codes in the spoilers seems to work just fine even in the wysiwyg mode.

Spoiler

#! /usr/bin/env python3
# -*- coding: utf-8 -*-


import subprocess


if __name__ == '__main__':
  import this
  subprocess.run(['pause'], shell=True)

 

 

My idea of switching creature models revolves around hardcoding as few stuff as possible. For that I need their model name set in my way, and that's what my "bash-creature" script (you see that in the pm) is about. Now I think I have to write a proof-of-concept plugin soon to show off what it will be like.

 

Oh, but it's good to know that Update3D works for ToggleCreatureModel. I've been contemplating what would disabling a creature for one frame imply (this includes things like spell scripts on disabled actors sometimes going postal) which is the canonical (documented) way of refreshing creature graphics. But now that I know you're doing it with update3D, I guess I'll do it that way too.

Link to comment
21 hours ago, movomo said:

My idea of switching creature models revolves around hardcoding as few stuff as possible.

So there's an outside 'ini' file to cover creatures and their models?  Schweet.  I hope it can be expandable to cover creatures from other mods.  Granted, Crowning Isles horses are still horses.    Oh, and if a 'gender flag' is not present, it should assume the creature is male.  Just saying that having a 'male flag' would ensure/force that the model IS male.

 

Yeah,  update3D worked well enough for LoversGenderbender that I used it with a Creature version, the code you see presented.  I first had that in the Creature version of Genderbender until I realized that it should be in Oblivion Gendified instead, using just the tokens as keys to change their appearance.

Link to comment
6 hours ago, LongDukDong said:

So there's an outside 'ini' file to cover creatures and their models?  Schweet.  I hope it can be expandable to cover creatures from other mods.  Granted, Crowning Isles horses are still horses.

Doesn't exactly work like that. Configuring things through a .ini file is a popular method, but the ini file itself becomes complicated very quickly as the complexity of things to configure increases. Just look at the SetBody custom menuing feature and see how horrifically, apocalyptically complicated it is to anyone short of half-programmer. I'm not doing that shit this time. Instead this time, I'm going to alter their base model paths directly using bashed patch. I even wrote a script to automate the process. (This automation also means it can be applied to any external mod, so yes, it's expandable.)

 

Unfortunately, no one gave any input regarding the viability of that approach. But I'm going ahead anyway. I have a feeling that I won't hear of any input until it's too late.  Anyways, the process of making some mod female-switchable involves renaming nif files according to some preset rules, sometimes changing their texture paths using NifSkope, sometimes modifying creature models at worst cases, and ultimately making an override plugin (which is automated, as I said I wrote a script for this) to override their model paths via bashed patch. These 'overriders' will sometimes be shipped with LoversCreature itself as optional component if the mod is deemed popular/important, or the end-users will have to make one themselves with the provided tools.

 

So how does this sound to you? Easy enough? Or too complicated? Because if at all possible, I want to entrust you with making existing Lovers-based mods compatible with this, because you are a scripter in the team and have the ability to make sense of technical things. And I'm sure it's related your gender bender project as well.

Link to comment
As I said before, I do not really need any female animals. They are nice for realism, but what do we do with them?
I see a lot of problems.
I do not want to be raped by female animals. Lovers Joburg and Rapers need a "female block" funktion." 
How should a female horse, a dog or a deer force you to mount it? OK a female ogre can force you to fuck her ( And if you do not want to, she'll rip off of one of your arms and use it at dildo.  ...  ? LoversMB2Creatures ????  )
Lovers Bitch needs a "do not train with females dogs" funktion.  ....
OK we can fuck female creatures ....
 
The bashed patch / script ?  I hope I do not need WryeBash, I do not use it ( and will never use it)

And yes, all creatures should be changed by default to male creatures models , and all unchanged should be male ( except the female deer, sheep )   Or two or more scripts to change Mod creatures. One realism scripts with 50% creatures will be female.  And Mods that you deactivate in the Modmanager before you run the script are unchanged = male ( like Crowning isle, LoversBitch, HorseRider, BravilUnderground,...)

And one 100% male script, so only creatures that are changed in a Mod/patch to female will be females.

What about futa? I like my futa spriggan and flame Atronach . Would be nice when they can fuck like males (rape)  and can be raped.

 
 
What interests me more in the LC2.5 project is the model switch.
No more permanent erections. Flaccid dicks can be switched during sex to erect dicks.
Spoiler

Horse and dog with flaccid and erect dick.

1Horse.jpg

 

1Dog.jpg

 

I like the female creatures models. In some Mods I use female creatures ( the all have a xLoversPkrDisableH token, so they can not have sex, rape or stalk )

Link to comment

 

18 hours ago, movomo said:

So how does this sound to you? Easy enough? Or too complicated? Because if at all possible, I want to entrust you with making existing Lovers-based mods compatible with this, because you are a scripter in the team and have the ability to make sense of technical things. And I'm sure it's related your gender bender project as well. 

 

My problem is figuring out a range script, one that happens every X cycles or seconds or whatever.   The premise is it   (1) Runs ever X seconds....    (2) At that time, it checks every creature in range....    (3) If a creature has a token, it activates/runs that token's code where gender is changed or ensured.,,, and  (4) If a token is exchanged, the code for the new gender executes.  Obviously, Game_Loaded/Reloaded should also activate, as well as an automatic execution when going from one cell to another.

 

Obviously, you wouldn't need to even change any creature other than adding 'tokens' to the new creatures.  Redefining their models to female versions wouldn't need be done as they would change by default.

 

Of the above, I've had troublesome issues.  *sigh*  Exiting/reloading while in the same map worked, and any gender changed creatures remained changed.  But not proximity or timing.

 

Genderbender would merely need to exchange tokens for creatures.    And I wouldn't be at all against 'no gender-changing' tokens.  It's been a thought for a while.

 

Now this is a pain, but do you think you could come up with a mod that can do this, if only coded to change one model's gender to another just by proximity?  I'd like to see how you'd accomplish it.

 

8 hours ago, fejeena said:

As I said before, I do not really need any female animals. They are nice for realism, but what do we do with them? 

There's probably a few sheep farmers that have some ideas .

 

Link to comment
12 hours ago, fejeena said:

As I said before, I do not really need any female animals. They are nice for realism, but what do we do with them?

First is indeed for the realism. Secondly and more importantly it is for the fun of it. I too don't think I'll try to bang the monstergirls on a daily, or even weekly basis, but that doesn't mean they shouldn't be there.

 

One more point: WappyOne's draft already had an option to fine-control creature gender chance with which you can make some specific creature types 100% female, 0% female, or any arbitrary chance in between for that matter, on top of the global female chance. Besides, toggling one scripted feature on or off is one of the easiest things that can be done with an ini. I hadn't thought about this before but now that you mention it, it's fair enough to have a global on/off button for messing with creature genders in case one doesn't want such a feature.

 

 

12 hours ago, fejeena said:

Lovers Joburg and Rapers need a "female block" funktion."

Shame about Joburg. But RaperS does have an option to control rape chance by gender.

 

 

12 hours ago, fejeena said:

The bashed patch / script ?  I hope I do not need WryeBash, I do not use it ( and will never use it)

I'll have to ignore this one. Wrye Bash has been the de facto standard mod manager for Oblivion for longer than I care to remember. Whether you want to use it or not is of little importance here. Besides, as an experienced oldbie, you can achieve pretty much the same thing using TES4Edit, making merged patch and whatnot. The implied inconvenience is a consequence from your own choice.

 

 

On 4/25/2019 at 12:22 PM, LongDukDong said:

Oh, and if a 'gender flag' is not present, it should assume the creature is male.  Just saying that having a 'male flag' would ensure/force that the model IS male.

12 hours ago, fejeena said:

And yes, all creatures should be changed by default to male creatures models , and all unchanged should be male ( except the female deer, sheep )

I don't quite understand why you two are specifically stressing this. Why does this matter? Male or not, they will be processed once per game session. If their model list needs an update, it will be done. Males get the male token and masculine models (usually their editor setup), females get the female token and faminine models.

 

 

12 hours ago, fejeena said:

What about futa? I like my futa spriggan and flame Atronach . Would be nice when they can fuck like males (rape)  and can be raped.

If you examine the LC2.5 alpha03 data pack, you will find that even female creatures have their own penis model.

 

Oh, and technically, male vagina is possible in my implementation, just like how female penis is possible.

 

 

12 hours ago, fejeena said:
What interests me more in the LC2.5 project is the model switch.
No more permanent erections. Flaccid dicks can be switched during sex to erect dicks.

Well... that's precisely what I've been desperately working on to have it in a working order. Don't you see? Female creature and on-demand erection are heavily inter-related. Both make a heavy use of creature model toggling function, same modelname parser, same backend. Once one is working then the other is already 90% working as well, give or take.

 

And, because you previously mentioned that you are "happy with permanent, viagra-induced male monsters" I even made an option to equip all male creatures with their sex loadout (that is, erect penis) as soon as you meet them. Seems like you've changed your mind, so we don't need that option? Because from a dev's perspective, another option is another pain.

 

Link to comment
7 hours ago, LongDukDong said:

 

On 4/25/2019 at 7:36 PM, movomo said:

So how does this sound to you? Easy enough? Or too complicated? Because if at all possible, I want to entrust you with making existing Lovers-based mods compatible with this, because you are a scripter in the team and have the ability to make sense of technical things. And I'm sure it's related your gender bender project as well. 

 

My problem is figuring out a range script, one that happens every X cycles or seconds or whatever.   The premise is it   (1) Runs ever X seconds....    (2) At that time, it checks every creature in range....    (3) If a creature has a token, it activates/runs that token's code where gender is changed or ensured.,,, and  (4) If a token is exchanged, the code for the new gender executes.  Obviously, Game_Loaded/Reloaded should also activate, as well as an automatic execution when going from one cell to another.

 

Obviously, you wouldn't need to even change any creature other than adding 'tokens' to the new creatures.  Redefining their models to female versions wouldn't need be done as they would change by default.

 

Of the above, I've had troublesome issues.  *sigh*  Exiting/reloading while in the same map worked, and any gender changed creatures remained changed.  But not proximity or timing.

 

Genderbender would merely need to exchange tokens for creatures.    And I wouldn't be at all against 'no gender-changing' tokens.  It's been a thought for a while.

 

Now this is a pain, but do you think you could come up with a mod that can do this, if only coded to change one model's gender to another just by proximity?  I'd like to see how you'd accomplish it.

Uh, I was asking your opinion on my bashed patch approach and if you're willing to help generating compatibility patches for Lovers mods, rather than asking you to write an esp.

 

And what do you mean "by proximity" or "timing"? You mean they will change their gender if you get close enough to them? What's timing? Or better, where can I have a look on your codes?

 

Anyways, here's a sample console output from my draft "femswap.esp" mod. The current state is where I'm checking if overall codes are working without runtime error. (it's at a very early stage)

But this might give you an idea of what I'm trying to accomplish.

Here, it show processing several nearby creatures, generating two arrays for each creature ref.

One is the list of models to disable, the other is the list of models to enable. If both are empty that means the creature doesn't need an update3D call. Creature models are discovered by a special suffix in their file names, such as "_Lcp"(for penis) or "_Lcc"(clothing).

This information is then stored in the model_cache to save processing resource. The cycle runs once every 5 seconds, but a same creature is never processed twice.

 

Spoiler

femswapMainScript:: CYCLE START. model_cache = {
}
femswapMainScript:: This cycles queue: creatures = [
    [
        Vulture(FF2DAF5D),
        -1
    ],
    [
        Skeleton(0001E5AB),
        -1
    ],
    [
        Skeleton(0001FEB8),
        -1
    ]
]

femswapProcScript:: creatures[1 - 1]=Vulture(FF2DAF5D), is_female=1
fsFnRedress:: skel="Creatures\Imp\Skeleton.NIF", skel_dir="data\meshes\Creatures\Imp\"
fsFnRedress:: target=Vulture(FF2DAF5D): is_female=1, is_for_sex=0, is_receiving=0 -> flag=1.
models = [
    "vulture.nif"
]
fsFnBuildCache:: name="vulture.nif", repls = [
    0,
    "vulture.nif"
]
fsFnRedress:: models_disable = [
]
fsFnRedress:: Dumping models_enable.[
]

femswapProcScript:: creatures[2 - 1]=Skeleton(0001E5AB), is_female=0
fsFnRedress:: skel="Creatures\Skeleton\skeleton.NIF", skel_dir="data\meshes\Creatures\Skeleton\"
fsFnRedress:: target=Skeleton(0001E5AB): is_female=0, is_for_sex=0, is_receiving=0 -> flag=0.
models = [
    "Skellie.NIF",
    "Skull.NIF"
]
fsFnBuildCache:: name="Skull.NIF", repls = [
    0,
    "Skull.NIF"
]
fsFnBuildCache:: name="Skellie.NIF", repls = [
    0,
    "Skellie.NIF"
]
fsFnRedress:: models_disable = [
]
fsFnRedress:: Dumping models_enable.[
]

femswapProcScript:: creatures[3 - 1]=Skeleton(0001FEB8), is_female=0
fsFnRedress:: skel="Creatures\Skeleton\skeleton.NIF", skel_dir="data\meshes\Creatures\Skeleton\"
fsFnRedress:: target=Skeleton(0001FEB8): is_female=0, is_for_sex=0, is_receiving=0 -> flag=0.
models = [
    "Skellie.NIF",
    "Skull.NIF"
]
fsFnRedress:: models_disable = [
]
fsFnRedress:: Dumping models_enable.[
]
femswapProcScript:: END OF CYCLE. model_cache = {
    "Creatures\Imp\Skeleton.NIF": {
        1: {
            "vulture.nif": [
                0,
                "vulture.nif"
            ]
        }
    },
    "Creatures\Skeleton\skeleton.NIF": {
        0: {
            "Skellie.NIF": [
                0,
                "Skellie.NIF"
            ],
            "Skull.NIF": [
                0,
                "Skull.NIF"
            ]
        }
    }
}

 

 

Link to comment

I am happy with my male creatures with permanent erect penis  in my game.

But a erect penis  only during sex would be nice.

I prefer that to female animals. ( Yes if we have a penis swap it is no problem to also have a pussy/female body switch. )

 

----------------

Uh, I was asking your opinion on my bashed patch approach and if you're willing to help generating compatibility patches for Lovers mods,....

 

I don't know how it works. ( I'm too stupid, I do not understand that. )

That's why I said if a Mod is not in bashed patch all creatures in that Mod should be male.  Do not add LoversBitch and all the wolves and dogs are male.

Link to comment
2 hours ago, fejeena said:

That's why I said if a Mod is not in bashed patch all creatures in that Mod should be male.  Do not add LoversBitch and all the wolves and dogs are male.

Ah, NOW I understand. So you're basically saying that monsters should retain their appearent gender if it is not made LC2.5-compatible.

But that's....... quite awkward to control gender that way. Difficult and must violate our own API.

However, what you CAN do is set all dogs to be male (specified either by skeleton path or model path). This one is easily done via the .ini file.

 

2 hours ago, fejeena said:

I'm too stupid, I do not understand that.

We're all stupid bums. It takes us much time, talking and agony to grab a slightest understanding of each other. Hopefully my test plugin is working and I finally found a female ogre. Now I'll show you guys some console output and explain what all this shit is about. Because codes do not lie unless told to. This time I'll actually annotate them.

 

Here goes the full output for a female ogre I found.

Spoiler

femswapProcScript:: creatures[8 - 1]=Ogre(FF2DD510), is_female=1
fsFnRedress:: skel="Creatures\Ogre\Skeleton.NIF", skel_dir="data\meshes\Creatures\Ogre\"
fsFnRedress:: target=Ogre(FF2DD510): is_female=1, is_for_sex=0, is_receiving=0 -> flag=0x01
models = [
    "Flask.NIF",
    "Furtufts.NIF",
    "Head.NIF",
    "ogre_Lccm.nif",
    "ogre_Lcbm.nif",
    "Pouch.NIF"
]
fsFnBuildCache:: name="Flask.NIF"
repls = [
    0,
    "Flask.NIF"
]
fsFnBuildCache:: name="Furtufts.NIF"
repls = [
    0,
    "Furtufts.NIF"
]
fsFnBuildCache:: name="Head.NIF"
repls = [
    0,
    "Head.NIF"
]
fsFnBuildCache:: name="ogre_Lccm.nif"
repls = [
    0,
    "ogre_Lcbf.nif",
    "ogre_Lccf.nif"
]
fsFnBuildCache:: name="ogre_Lcbm.nif"
repls = [
    0
]
fsFnBuildCache:: name="Pouch.NIF"
repls = [
    0,
    "Pouch.NIF"
]
models = [
    "ogre_Lccm.nif",
    "ogre_Lcbm.nif"
]
models_enable = [
    "ogre_Lcbf.nif",
    "ogre_Lccf.nif"
]

 

 

 

fsFnRedress:: target=Ogre(FF2DD510): is_female=1, is_for_sex=0, is_receiving=0 -> flag=0x01

This line shows that this ogre girl is female, not having sex, thus naturally not in the receiving position.

 

models = [
    "Flask.NIF",
    "Furtufts.NIF",
    "Head.NIF",
    "ogre_Lccm.nif",
    "ogre_Lcbm.nif",
    "Pouch.NIF"
]

This lists all the models for this ogre, as set in the editor.

Note the "ogre_Lccm.nif" and "ogre_Lcbm.nif"; These mean "clothing for male" and "body for male" accordingly. I changed their base model path (originally just "ogre.nif") using said bashed patch. Remember this ogre is supposed to be female?

 

models = [
    "ogre_Lccm.nif",
    "ogre_Lcbm.nif"
]
models_enable = [
    "ogre_Lcbf.nif",
    "ogre_Lccf.nif"
]

Bottom lines. After some file name parsing, string fuckery and yadda yadda yadda, my script finally figured that this ogre needs two meshes disabled ("ogre_Lccm.nif" and "ogre_Lcbm.nif") and two meshes enabled ("ogre_Lcbf.nif", "ogre_Lccf.nif"), which means "body for female" and "clothing for female" accordingly.

 

Do note the special suffixes for the basic "ogre.nif". I could figure out each model's function (clothing, body) only because they had special names. That's why I want to use a bashed patch. Without that I don't think I could write a code to recognize all the different and random model names out in the wild, at least not in a sane way.

 

In case some incompatible creature is encountered, thusly none of its model names are recognizable, then those are simply left alone. So they won't change their appearance. The only problem is that they can still be technically female. (Although do remember that female creatures can still grow boners, just like human can, and all creatures have a final fallback penis mesh.) That's where you edit your ini to force a specific gender.

Link to comment

Ok . When we have new male and female meshes  we still have the vanilla meshes in the meshes\creatures folders.

 

wolf_Lccm.nif , wolf_Lcbm.nif , wolf_Lccf.nif , wolf_Lcbf.nif ,  and a wolfbody.nif

We have only one wolf in the Oblivion.esm for all LevelList wolves.  (CreatureWolf "Wolf" [CREA:0006E912] )

If you meet a wolf in game , you system will select a male or female wolf.

??? You system do it only with wolfes in the bashed patch?  Or also with Levellist wolfes from Mods that are not in the bashed patch ( LoversBitch Horny wolves)

So if a Mod in not in the Patch? What happens? There is a LoversBitch wolf ( one of the Player wolfes)  You system finds a wolfbody,nif... isn't possible that you system adds a male flag to all "not specified" wolfes?

Not in the Patch and has wolfbody.nif  = is male ( use male sex animations) For wolfbody.nif  there a replacer so it get the wolf_Lccm.nif , wolf_Lcbm.nif

 

And

Not in the bashed Patch and has unkown body nif (d_dobermann.nif)  =  is male ( use male sex animations) For d_dobermann.nif there is NO replacer , so it use the d_dobermann.nif.

Yes, such creatures can not have a penis switch, they will have one only body.  There are so many Mod creatures with own meshes  it will take years to change all/add new bodies,... ( I still have not added a penis to all the Mod creatures meshes. Sometimes I meet a creature in game without a penis, check the Mod and it is a Mod with bsa files  which I had not yet unpacked )

 

Link to comment
1 hour ago, fejeena said:

??? You system do it only with wolfes in the bashed patch?  Or also with Levellist wolfes from Mods that are not in the bashed patch ( LoversBitch Horny wolves)

So if a Mod in not in the Patch? What happens? There is a LoversBitch wolf ( one of the Player wolfes)  You system finds a wolfbody,nif... isn't possible that you system adds a male flag to all "not specified" wolfes?

Leveled list or formID doesn't matter. Only their models matter. If their models are unrecognizable, it's simply ignored.

The reason I can't give a male flag to all the 'unknown' wolves is, because there is no simple way to determine if one creature is compatible or not before parsing all of its models first. And, to parse their model, you need to know their gender.

 

See? Logical loophole. You parse a dog's models to give it a gender but to parse it you need to know the gender first. The canonical process goes like this: call the IsFemale function (written by WappyOne) to decide the gender and parse their models given that gender.

 

Maybe I could write a probe function that peeks at the creature's model list quickly, if that is really needed. But is that really so needed? Dogs don't even have def animations so them playing wrong animation is the least of your worries. Besides female dogs will still have erect penis when they need 'em.

 

 

1 hour ago, fejeena said:

Not in the bashed Patch and has unkown body nif (d_dobermann.nif)  =  is male ( use male sex animations) For d_dobermann.nif there is NO replacer , so it use the d_dobermann.nif.

Yes, such creatures can not have a penis switch, they will have one only body.  There are so many Mod creatures with own meshes  it will take years to change all/add new bodies,... ( I still have not added a penis to all the Mod creatures meshes. Sometimes I meet a creature in game without a penis, check the Mod and it is a Mod with bsa files  which I had not yet unpacked )

If this d_dobermann.nif consists of a single object (that is, dog body and penis are one) yeah, that is a problem. Problem because my script will try to equip a fallback penis... then he will have double penises. (derp) Maybe it's not a good idea to have a fallback penis that applies globally.

 

Or not. The best approach is simply to make LoversBitch compatible. Which is what I was going to ask LDD to do in post #16. Naturally I wouldn't mind if you do it instead.

Yeah I know there are many mods that add creatures, but only those from Lovers mods tend to have a sword sheathed under their belt. And most other mods, often only features retextured creatures. They're easy enough to work with, and it's not like we have to make every single mod out there compatible. I say we only make patches for the official mods (such as DLCs) and Lovers mods (such as LoversBitch).

 

By the way, dogs or wolves won't have the faminine models. So in the particular case of LoversBitch, you can simply remove all the penises from the models and call it a day. They will still grow fallback boners regardless. Simple enough?

Link to comment

LoverBitch wolves and dogs have two added nif parts. The dick and the balls. Only a few dogs have balls and dick in one.

The added dicks the Mod once used at I have removed completely. Now only body nif with dicks and balls.

 

But not problem to change it.

 

Every dog race need it's own balls or dick with balls.  Only a few dogs/wolves can share the same dick nif.

Some dogs/wolves have "one- nif" dick and balls. If the dick and balls use the body textures or dick and balls use the flesh texture.

You have about 20 different dick-balls nif.

 

Examples

Spoiler

Madness dog : dick and ball use the body texture

1dog2.jpg

 

 

Skinned dog: dick and ball use the dick flesh texture.

1dog3.jpg

 

 

 

Other dogs and wolves use 3 part meshes.

Spoiler

A wolf body nif.  The body and the balls use the body textue and the dick use the flesh texture.

So the dogs and wolves have the balls with the right body fur.

 

 

1dog4.jpg

 

 

So I think dick and balls in one nif to add/remove it to the body nifs.

 

And that are the nif from the LC3 LoversBitch file with the animated penis and the animations from the LC workshop.

 

 

------------------------

???   If their models are unrecognizable, it's simply ignored.   ????

And the creature is set to male or female? (can it rape if allowed in LoversRapers ( and use male off animations) ?  Or can it be fucked and use female def animations?

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...