This article is addressed to modding community; modders who want to make their own content for playable super mutant race. This is still a WIP article, if you have any questions or need help— feel free to comment here.
New armors
Want to add new super mutant equipment? To make your armors equippable to super mutant race, model meshes have to be placed indata\meshes\creatures\smspinebreaker\
ordata\meshes\creatures\smspinebreakerplayer\
Open your armor in GECK and set Biped Objects (biped slots) as necessary for your armor, lastly select BodyAddOn3 biped slot for your armor.
Note that Super mutant equipment cannot be used by human NPCs (or companions).
Skin shaders & textures
Like any playable race in Gamebryo engine, super mutant body meshes use skin shaders and FaceGen data.
In NifSkope, set BSShaderPPLightingProperty shader type to SHADER_SKIN and enable FaceGen shader flag for super mutant body parts.
1st person hand textures are located inside Mariposa.bsa archive:
textures\creatures\smspinebreakerplayer\hand_1st.dds
textures\creatures\smspinebreakerplayer\hand_nightkin_1st.dds
Scripting functions
Global variable PosaState can be used in conditions to check whether player is a super mutant.
This is useful for dialogue options where you need to check if player is either a regular super mutant or a Nightkin in one condition, instead of using GetIsRace function multiple times. PosaState returns 0 if player is neither a super mutant nor Nightkin.
For example:
If PosaState > 0
PrintC "player is a super mutant or Nightkin"
EndIf
If PosaState == 1
PrintC "player is a regular super mutant"
EndIf
If PosaState == 2
PrintC "player is a Nightkin"
EndIf
Alternatively, you can use PosaSysGetIsPlayerSuperMutant function to do the same. For example:
If Eval (Call PosaSysGetIsPlayerSuperMutant)
PrintC "player is a super mutant or Nightkin"
EndIf
Mariposa can replace human armor models with super mutant ones by using Auxiliary Variables. Say, you made super mutant leather armor model and want human leather armor to use your custom mesh, you can do that with Auxiliary Variables.
For example, you can change the model path of Leather Armor to your super mutant armor model:
AuxiliaryVariableSetString "*_POSA_MODEL_PATH" "creatures\smspinebreakerplayer\posa_armor_light02.nif" 0 ArmorLeather
Leather Armor will now visually appear as a super mutant Salvaged Grunt Armor (posa_armor_light02.nif) This way you can set super mutant model paths for human armors without directly changing armors themselves.
Note that this will only affect super mutant player character, other races or NPCs will still use regular (Human) model path.
You can do the same with armor addons:
AuxiliaryVariableSetRef "*_POSA_ARMOR_ADDON" ARMASuperMutantSpikedKnuckles 0 WeapSpikedKnuckles
Spiked Knuckles will now use our custom armor add-on with super mutant weapon model.
Auxiliary Variables must be set once every game restart. For example:
If GetGameRestarted
AuxiliaryVariableSetString "*_POSA_MODEL_PATH" "creatures\smspinebreakerplayer\posa_armor_light02.nif" 0 ArmorLeather
AuxiliaryVariableSetRef "*_POSA_ARMOR_ADDON" ARMASuperMutantSpikedKnuckles 0 WeapSpikedKnuckles
EndIf
Endnotes & misc
In GECK, everything from Mariposa has a prefix 'Posa'
Super mutant vendor lists are PosaVendorJacobstown for Glen and PosaVendorBlackMountain for Nocturne. If you want your armor to appear in their stock, you have to add your armor to one of these leveled lists.
For example:
If GetGameRestarted
LeveledListAddForm PosaVendorBlackMountain AntNectar 1 1 1
EndIf
Ant Nectar was added to Nocturne's vendor inventory. LeveledListAddForm function has to be called once every game restart.
1 comment
PS - great mod