Good work, it fits nicely with the other monster player characters.
If you want to make it so the different team skins have their own portraits, you can add this stuff to your player/bot classes:
Code: Select all
var string Dflt[4];
var string DfltFace;
var string DfltNull;
var string DfltFaceNull;
var string DfltPkg;
var string DfltBody;
var string LegalPrefix;
static function GetMultiSkin( Actor SkinActor, out string SkinName, out string FaceName )
{
local string ShortSkinName, FullSkinName;
FullSkinName = String(SkinActor.Skin);
ShortSkinName = SkinActor.GetItemName(FullSkinName);
SkinName = Left(FullSkinName, Len(FullSkinName) - Len(ShortSkinName)) $ Left(ShortSkinName, 4);
FaceName = ""; // no face is available on these models
}
static function SetMultiSkin( Actor SkinActor, string SkinName, string FaceName, byte TeamNum )
{
local string SkinItem, SkinPackage;
local texture Face;
local texture Body;
SkinItem = SkinActor.GetItemName(SkinName);
SkinPackage = Left(SkinName, Len(SkinName) - Len(SkinItem)-1); //excludes the dot
if ( TeamNum < 4 )
{
Body = texture(DynamicLoadObject(SkinPackage$"."$SkinItem$"1T_"$TeamNum,class'Texture',true));
Face = texture(DynamicLoadObject(SkinPackage$"."$SkinItem$"5T_"$TeamNum,class'Texture',true));
}
if ( Body == none )
{
// Try loading non-team skin from that package.
Body = texture(DynamicLoadObject(SkinPackage$"."$SkinItem$"1",class'Texture',true));
Face = texture(DynamicLoadObject(SkinPackage$"."$SkinItem$"5",class'Texture',true));
}
if ( Body == none )
{
Body = texture(DynamicLoadObject(default.DfltPkg$default.DfltBody,class'Texture'));
Face = texture(DynamicLoadObject(default.DfltPkg$default.DfltFace,class'Texture'));
}
SkinActor.Skin = Body;
SkinActor.MultiSkins[0] = Body; // make UT believe we have multiskins
SkinActor.MultiSkins[1] = Body;
if ( Face != none && Pawn(SkinActor) != none
&& Pawn(SkinActor).PlayerReplicationInfo != none )
Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Face;
}
And add this to the default properties:
Code: Select all
DfltFace="Warr5"
DfltNull="Warr1"
DfltFaceNull="War5"
DfltPkg="SkWarriorSkins."
DfltBody="Warr1"
I've used this for the mercenary and slith players, so it should work.