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