50 lines
1.3 KiB
Ucode
50 lines
1.3 KiB
Ucode
class ExtSM_Player_Emote extends KFSM_Player_Emote;
|
|
|
|
static function byte PackFlagsBase(KFPawn P)
|
|
{
|
|
return class'ExtEmoteList'.static.GetEmoteIndex(class'ExtEmoteList'.static.GetEquippedEmoteId(ExtPlayerController(P.Controller)));
|
|
}
|
|
|
|
function PlayAnimation()
|
|
{
|
|
AnimName = class'ExtEmoteList'.static.GetEmoteFromIndex(KFPOwner.SpecialMoveFlags);
|
|
|
|
PlaySpecialMoveAnim(AnimName, AnimStance, BlendInTime, BlendOutTime, 1.f);
|
|
|
|
if (KFPOwner.Role == ROLE_Authority)
|
|
{
|
|
KFGameInfo(KFPOwner.WorldInfo.Game).DialogManager.PlayDialogEvent(KFPOwner, 31);
|
|
}
|
|
|
|
// Store camera mode for restoration after move ends
|
|
LastCameraMode = 'FirstPerson';
|
|
if (PCOwner != none && PCOwner.PlayerCamera != none)
|
|
{
|
|
LastCameraMode = PCOwner.PlayerCamera.CameraStyle;
|
|
}
|
|
|
|
// Set camera to emote third person camera
|
|
if (PCOwner == none || !PawnOwner.IsLocallyControlled())
|
|
{
|
|
KFPOwner.SetWeaponAttachmentVisibility(false);
|
|
return;
|
|
}
|
|
|
|
if (PCOwner.CanViewCinematics())
|
|
{
|
|
PCOwner.ClientSetCameraFade(true, FadeInColor, vect2d(1.f, 0.f), FadeInTime, true);
|
|
PCOwner.PlayerCamera.CameraStyle = 'Emote';
|
|
|
|
// Switch camera modes immediately in single player or on client
|
|
if (PCOwner.WorldInfo.NetMode != NM_DedicatedServer)
|
|
{
|
|
PCOwner.ClientSetCameraMode('Emote');
|
|
}
|
|
|
|
KFPOwner.SetWeaponAttachmentVisibility(false);
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
} |