in-game_bodychanger/IchirouBodyChange.psc
2023-03-22 20:15:40 -07:00

42 lines
1.6 KiB
Plaintext

scriptName IchirouBodyChange extends activemagiceffect
;-- Properties --------------------------------------
formlist property IchirouHeadPartList auto
ichirouracemcmmenu property IchirouRaceMCMMEnuInstance auto
formlist property IchirouFaceTextureSetList auto
formlist property IchirouChangeSkinList auto
;-- Variables ---------------------------------------
Actor Player
ActorBase PlayerBase
;-- Functions ---------------------------------------
; Skipped compiler generated GetState
function OnEffectStart(Actor akTarget, Actor akCaster)
TextureSet FaceTextureSetToChange
Armor SkinToChange
HeadPart FaceToChange
debug.Notification("Ichirou Body Loading")
Player = game.GetPlayer()
PlayerBase = Player.GetActorBase()
if IchirouRaceMCMMEnuInstance.BodyChangeShapeFlag == 0
FaceToChange = IchirouRaceMCMMEnuInstance.HeadOriginal
FaceTextureSetToChange = IchirouRaceMCMMEnuInstance.FaceTextureOriginal
SkinToChange = IchirouRaceMCMMEnuInstance.SkinOriginal
elseIf IchirouRaceMCMMEnuInstance.BodyChangeShapeFlag != 0
FaceToChange = IchirouHeadPartList.getat(IchirouRaceMCMMEnuInstance.BodyChangeShapeFlag) as HeadPart
FaceTextureSetToChange = IchirouFaceTextureSetList.getat(IchirouRaceMCMMEnuInstance.BodyChangeShapeFlag) as TextureSet
SkinToChange = IchirouChangeSkinList.getat(IchirouRaceMCMMEnuInstance.BodyChangeShapeFlag) as Armor
endIf
Player.ChangeHeadPart(FaceToChange)
PlayerBase.SetSkin(SkinToChange)
PlayerBase.SetFaceTextureSet(FaceTextureSetToChange)
Player.QueueNiNodeUpdate()
Player.RegenerateHead()
endFunction
; Skipped compiler generated GotoState