public void SetVisual(String aVisual, String aBodyMesh, String aHeadMesh, int aBodyTex, int aSkinColor, int aHeadTex, int aTeethTex) { String _visual = aVisual.ToUpper().Trim(); bool sameVisual = _visual == this.Visual; this.Visual = _visual; this.BodyMesh = aBodyMesh; this.BodyTex = aBodyTex; this.SkinColor = aSkinColor; this.HeadMesh = aHeadMesh; this.HeadTex = aHeadTex; this.TeethTex = aTeethTex; if (this.Address == 0) { return; } Process process = Process.ThisProcess(); oCNpc npc = new oCNpc(process, this.Address); if (sameVisual) { npc.SetAdditionalVisuals(BodyMesh, bodyTex, skinColor, HeadMesh, headTex, teethTex, -1); } else { npc.ClearOverlays(); this.Overlays.Clear(); npc.CloseSpellBook(true); npc.SetWeaponMode2(0); npc.AniCtrl.SearchStandAni(); npc.Shrink(); npc.MDSName.Set(_visual); npc.SetAdditionalVisuals(BodyMesh, bodyTex, skinColor, HeadMesh, headTex, teethTex, -1); if (this == Player.Hero) { npc.UnShrink(); } else { npc.AvoidShrink(1000); } this.setWeaponMode(this.WeaponMode); //00AB1F28 } }