/* Specimen Kills Mutator - Author : Marco */ Class KillsMessage extends LocalMessage; var localized string KillString,KillsString; var localized float MessageShowTime; static final function string GetNameOf( class M ) { if( Len(M.Default.MenuName)==0 ) return string(M.Name); return M.Default.MenuName; } static function string GetString( optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject ) { if( RelatedPRI_1==None ) return "+"$(Switch+1)@GetNameOf(Class(OptionalObject))@Eval(Switch==0,Default.KillString,Default.KillsString); return RelatedPRI_1.PlayerName@"+"$(Switch+1)@GetNameOf(Class(OptionalObject))@Eval(Switch==0,Default.KillString,Default.KillsString); } static function ClientReceive( PlayerController P, optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject ) { local HudKillingFloor H; if( Class(OptionalObject)==None || HudBase(P.myHud)==None || (RelatedPRI_1==None && Switch==1) ) return; H = HudKillingFloor(P.myHud); if(H != none && H.bTallySpecimenKills) { H.UpdateKillMessage(OptionalObject,RelatedPRI_1); H.LocalizedMessage(Default.Class,0,RelatedPRI_1,,OptionalObject); } } static function float GetLifeTime(int Switch) { return default.MessageShowTime; } // Fade color: Green (0-3 frags) > Yellow (4-7 frags) > Red (8-12 frags) > Dark Red (13+ frags). static function color GetColor( optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2 ) { local color C; C.A = 255; if( Switch<10 ) { C.G = Clamp(500-Switch*50,0,255); C.R = Clamp(0+Switch*50,0,255); } else C.R = Max(505-Switch*25,150); return C; } defaultproperties { FontSize = -2 KillString="kill" KillsString="kills" MessageShowTime=4.000000 bIsConsoleMessage=False bFadeMessage=True DrawColor=(B=0,G=0,R=150) DrawPivot=DP_UpperLeft StackMode=SM_Down PosX=0.020000 PosY=0.200000 }