KF2-Server-Extension/ServerExt/Classes/ExtSM_Player_Emote.uc

50 lines
1.3 KiB
Ucode
Raw Normal View History

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
{
}