Botpack
Class DeathMessagePlus

source: e:\games\UnrealTournament\Botpack\Classes\DeathMessagePlus.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Info
         |
         +--Engine.LocalMessage
            |
            +--Botpack.LocalMessagePlus
               |
               +--Botpack.DeathMessagePlus
Direct Known Subclasses:EradicatedDeathMessage

class DeathMessagePlus
extends Botpack.LocalMessagePlus

// // An Unreal Tournament Death Message. // // Switch 0: Kill // RelatedPRI_1 is the Killer. // RelatedPRI_2 is the Victim. // OptionalObject is the Killer's Weapon Class. // // Switch 1: Suicide // RelatedPRI_1 guy who killed himself.
Variables
 string KilledString


Function Summary
 void ClientReceive(PlayerPawn P, optional int, optional PlayerReplicationInfo, optional PlayerReplicationInfo, optional Object)
 string GetString(optional int, optional PlayerReplicationInfo, optional PlayerReplicationInfo, optional Object)



Source Code


00001	//
00002	// An Unreal Tournament Death Message.
00003	//
00004	// Switch 0: Kill
00005	//	RelatedPRI_1 is the Killer.
00006	//	RelatedPRI_2 is the Victim.
00007	//	OptionalObject is the Killer's Weapon Class.
00008	//
00009	// Switch 1: Suicide
00010	//	RelatedPRI_1 guy who killed himself.
00011	
00012	class DeathMessagePlus extends LocalMessagePlus;
00013	
00014	var localized string KilledString;
00015	
00016	static function string GetString(
00017		optional int Switch,
00018		optional PlayerReplicationInfo RelatedPRI_1, 
00019		optional PlayerReplicationInfo RelatedPRI_2,
00020		optional Object OptionalObject 
00021		)
00022	{
00023		switch (Switch)
00024		{
00025			case 0:
00026				if (RelatedPRI_1 == None)
00027					return "";
00028				if (RelatedPRI_1.PlayerName == "")
00029					return "";
00030				if (RelatedPRI_2 == None)
00031					return "";
00032				if (RelatedPRI_2.PlayerName == "")
00033					return "";
00034				if (Class<Weapon>(OptionalObject) == None)
00035				{
00036					return "";
00037				}
00038				return class'GameInfo'.Static.ParseKillMessage(
00039					RelatedPRI_1.PlayerName, 
00040					RelatedPRI_2.PlayerName,
00041					Class<Weapon>(OptionalObject).Default.ItemName,
00042					Class<Weapon>(OptionalObject).Default.DeathMessage
00043				);
00044				break;
00045			case 1: // Suicided
00046				if (RelatedPRI_1 == None)
00047					return "";
00048				if (RelatedPRI_1.bIsFemale)
00049					return RelatedPRI_1.PlayerName$class'TournamentGameInfo'.Default.FemaleSuicideMessage;
00050				else
00051					return RelatedPRI_1.PlayerName$class'TournamentGameInfo'.Default.MaleSuicideMessage;
00052				break;
00053			case 2: // Fell
00054				if (RelatedPRI_1 == None)
00055					return "";
00056				return RelatedPRI_1.PlayerName$class'TournamentGameInfo'.Default.FallMessage;
00057				break;
00058			case 3: // Eradicated (Used for runes, but not in UT)
00059				if (RelatedPRI_1 == None)
00060					return "";
00061				return RelatedPRI_1.PlayerName$class'TournamentGameInfo'.Default.ExplodeMessage;
00062				break;
00063			case 4:	// Drowned
00064				if (RelatedPRI_1 == None)
00065					return "";
00066				return RelatedPRI_1.PlayerName$class'TournamentGameInfo'.Default.DrownedMessage;
00067				break;
00068			case 5: // Burned
00069				if (RelatedPRI_1 == None)
00070					return "";
00071				return RelatedPRI_1.PlayerName$class'TournamentGameInfo'.Default.BurnedMessage;
00072				break;
00073			case 6: // Corroded
00074				if (RelatedPRI_1 == None)
00075					return "";
00076				return RelatedPRI_1.PlayerName$class'TournamentGameInfo'.Default.CorrodedMessage;
00077				break;
00078			case 7: // Mortared
00079				if (RelatedPRI_1 == None)
00080					return "";
00081				return RelatedPRI_1.PlayerName$class'TournamentGameInfo'.Default.MortarMessage;
00082				break;
00083			case 8: // Telefrag
00084				if (RelatedPRI_1 == None)
00085					return "";
00086				if (RelatedPRI_2 == None)
00087					return "";
00088				return class'GameInfo'.Static.ParseKillMessage(
00089					RelatedPRI_1.PlayerName,
00090					RelatedPRI_2.PlayerName,
00091					class'Translocator'.Default.ItemName,
00092					class'Translocator'.Default.DeathMessage
00093				);
00094				break;
00095		}
00096	}
00097	
00098	static function ClientReceive( 
00099		PlayerPawn P,
00100		optional int Switch,
00101		optional PlayerReplicationInfo RelatedPRI_1, 
00102		optional PlayerReplicationInfo RelatedPRI_2,
00103		optional Object OptionalObject
00104		)
00105	{
00106		if (RelatedPRI_1 == P.PlayerReplicationInfo)
00107		{
00108			// Interdict and send the child message instead.
00109			if ( TournamentPlayer(P).myHUD != None )
00110			{
00111				TournamentPlayer(P).myHUD.LocalizedMessage( Default.ChildMessage, Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject );
00112				TournamentPlayer(P).myHUD.LocalizedMessage( Default.Class, Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject );
00113			}
00114	
00115			if ( Default.bIsConsoleMessage )
00116			{
00117				TournamentPlayer(P).Player.Console.AddString(Static.GetString( Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject ));
00118			}
00119	
00120			if (( RelatedPRI_1 != RelatedPRI_2 ) && ( RelatedPRI_2 != None ))
00121			{
00122				if ( (TournamentPlayer(P).Level.TimeSeconds - TournamentPlayer(P).LastKillTime < 3) && (Switch != 1) )
00123				{
00124					TournamentPlayer(P).MultiLevel++;
00125					TournamentPlayer(P).ReceiveLocalizedMessage( class'MultiKillMessage', TournamentPlayer(P).MultiLevel );
00126				} 
00127				else
00128					TournamentPlayer(P).MultiLevel = 0;
00129				TournamentPlayer(P).LastKillTime = TournamentPlayer(P).Level.TimeSeconds;
00130			}
00131			else
00132				TournamentPlayer(P).MultiLevel = 0;
00133			if ( ChallengeHUD(P.MyHUD) != None )
00134				ChallengeHUD(P.MyHUD).ScoreTime = TournamentPlayer(P).Level.TimeSeconds;
00135		} 
00136		else if (RelatedPRI_2 == P.PlayerReplicationInfo) 
00137		{
00138			TournamentPlayer(P).ReceiveLocalizedMessage( class'VictimMessage', 0, RelatedPRI_1 );
00139			Super.ClientReceive(P, Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject);
00140		} 
00141		else
00142			Super.ClientReceive(P, Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject);
00143	}
00144	
00145	defaultproperties
00146	{
00147	     KilledString="was killed by"
00148	     ChildMessage=Class'Botpack.KillerMessagePlus'
00149	     DrawColor=(G=0,B=0)
00150	}

End Source Code