UnrealShare
Class UnrealGameInfo

source: e:\games\UnrealTournament\UnrealShare\Classes\UnrealGameInfo.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Info
         |
         +--Engine.GameInfo
            |
            +--UnrealShare.UnrealGameInfo
Direct Known Subclasses:EndGame, Intro, CoopGame, DeathMatchGame, EntryGameInfo, SinglePlayer, VRikersGame

class UnrealGameInfo
extends Engine.GameInfo

//============================================================================= // UnrealGameInfo. // // default game info is normal single player // //=============================================================================

Function Summary
 string CreatureKillMessage(name damageType, Pawn Other)
 string KillMessage(name damageType, Pawn Other)
 float PlaySpawnEffect(Inventory Inv)
 void PlayTeleportEffect(Actor Incoming, bool bOut, bool bSound)
 string PlayerKillMessage(name damageType, PlayerReplicationInfo Other)
 int ReduceDamage(int Damage, name DamageType, Pawn injured, Pawn instigatedBy)
     
// Player name, or blank if none.
 bool ShouldRespawn(Actor Other)



Source Code


00001	//=============================================================================
00002	// UnrealGameInfo.
00003	//
00004	// default game info is normal single player
00005	//
00006	//=============================================================================
00007	class UnrealGameInfo extends GameInfo;
00008	
00009	#exec AUDIO IMPORT FILE="Sounds\Generic\land1.WAV" NAME="Land1" GROUP="Generic"
00010	#exec AUDIO IMPORT FILE="Sounds\Generic\lsplash.WAV" NAME="LSplash" GROUP="Generic"
00011	#exec AUDIO IMPORT FILE="Sounds\pickups\genwep1.WAV" NAME="WeaponPickup" GROUP="Pickups"
00012	#exec AUDIO IMPORT FILE="Sounds\Generic\teleport1.WAV" NAME="Teleport1" GROUP="Generic"
00013	
00014	var(DeathMessage) localized string DeathMessage[32];    // Player name, or blank if none.
00015	var(DeathMessage) localized string DeathModifier[5];
00016	var(DeathMessage) localized string MajorDeathMessage[8];
00017	var(DeathMessage) localized string HeadLossMessage[2];
00018	var(DeathMessage) localized string DeathVerb;
00019	var(DeathMessage) localized string DeathPrep;
00020	var(DeathMessage) localized string DeathTerm;
00021	var(DeathMessage) localized string ExplodeMessage;
00022	var(DeathMessage) localized string SuicideMessage;
00023	var(DeathMessage) localized string FallMessage;
00024	var(DeathMessage) localized string DrownedMessage;
00025	var(DeathMessage) localized string BurnedMessage;
00026	var(DeathMessage) localized string CorrodedMessage;
00027	var(DeathMessage) localized string HackedMessage;
00028	
00029	function int ReduceDamage(int Damage, name DamageType, pawn injured, pawn instigatedBy)
00030	{
00031		if (injured.Region.Zone.bNeutralZone)
00032			return 0;
00033	
00034		if ( instigatedBy == None)
00035			return Damage;
00036		//skill level modification
00037		if ( instigatedBy.bIsPlayer )
00038		{
00039			if ( injured == instigatedby )
00040			{ 
00041				if ( instigatedby.skill == 0 )
00042					Damage = 0.25 * Damage;
00043				else if ( instigatedby.skill == 1 )
00044					Damage = 0.5 * Damage;
00045			}
00046			else if ( !injured.bIsPlayer )
00047				Damage = float(Damage) * (1.1 - 0.1 * injured.skill);
00048		}
00049		else if ( injured.bIsPlayer )
00050			Damage = Damage * (0.4 + 0.2 * instigatedBy.skill);
00051		return (Damage * instigatedBy.DamageScaling);
00052	}
00053	
00054	function float PlaySpawnEffect(inventory Inv)
00055	{
00056		spawn( class 'ReSpawn',,, Inv.Location );
00057		return 0.3;
00058	}
00059	
00060	function bool ShouldRespawn(Actor Other)
00061	{
00062		return false;
00063	}
00064	
00065	static function string KillMessage( name damageType, pawn Other )
00066	{
00067		local string message;
00068		
00069		if (damageType == 'Exploded')
00070			message = Default.ExplodeMessage;
00071		else if (damageType == 'Suicided')
00072			message = Default.SuicideMessage;
00073		else if ( damageType == 'Fell' )
00074			message = Default.FallMessage;
00075		else if ( damageType == 'Drowned' )
00076			message = Default.DrownedMessage;
00077		else if ( damageType == 'Special' )
00078			message = Default.SpecialDamageString;
00079		else if ( damageType == 'Burned' )
00080			message = Default.BurnedMessage;
00081		else if ( damageType == 'Corroded' )
00082			message = Default.CorrodedMessage;
00083		else
00084			message = Default.DeathVerb$Default.DeathTerm;
00085			
00086		return message;	
00087	}
00088	
00089	static function string CreatureKillMessage( name damageType, pawn Other )
00090	{
00091		local string message;
00092		
00093		if (damageType == 'exploded')
00094			message = Default.ExplodeMessage;
00095		else if ( damageType == 'Burned' )
00096			message = Default.BurnedMessage;
00097		else if ( damageType == 'Corroded' )
00098			message = Default.CorrodedMessage;
00099		else if ( damageType == 'Hacked' )
00100			message = Default.HackedMessage;
00101		else
00102			message = Default.DeathVerb$Default.DeathTerm;
00103	
00104		return ( message$Default.DeathPrep );
00105	}
00106	
00107	static function string PlayerKillMessage( name damageType, PlayerReplicationInfo Other )
00108	{
00109		local string message;
00110		local float decision;
00111		
00112		decision = FRand();
00113	
00114		if ( decision < 0.2 )
00115			message = Default.MajorDeathMessage[Rand(3)];
00116		else
00117		{
00118			if ( DamageType == 'Decapitated' )
00119				message = Default.HeadLossMessage[Rand(2)];
00120			else
00121				message = Default.DeathMessage[Rand(32)];
00122	
00123			if ( decision < 0.75 )
00124				message = Default.DeathModifier[Rand(5)]$message;
00125		}	
00126		
00127		return ( Default.DeathVerb$message$Default.DeathPrep );
00128	} 	
00129	
00130	function PlayTeleportEffect( actor Incoming, bool bOut, bool bSound)
00131	{
00132		local PawnTeleportEffect PTE;
00133	
00134		if ( Incoming.IsA('Pawn') )
00135		{
00136			if ( bSound )
00137			{
00138				PTE = Spawn(class'PawnTeleportEffect',,, Incoming.Location, Incoming.Rotation);
00139				PTE.Initialize(Pawn(Incoming), bOut);
00140				if ( Incoming.IsA('PlayerPawn') )
00141					PlayerPawn(Incoming).SetFOVAngle(170);
00142				Incoming.PlaySound(sound'Teleport1',, 10.0);
00143			}
00144		}
00145	}
00146	
00147	defaultproperties
00148	{
00149	     DeathMessage(0)="killed"
00150	     DeathMessage(1)="ruled"
00151	     DeathMessage(2)="smoked"
00152	     DeathMessage(3)="slaughtered"
00153	     DeathMessage(4)="annihilated"
00154	     DeathMessage(5)="put down"
00155	     DeathMessage(6)="splooged"
00156	     DeathMessage(7)="perforated"
00157	     DeathMessage(8)="shredded"
00158	     DeathMessage(9)="destroyed"
00159	     DeathMessage(10)="whacked"
00160	     DeathMessage(11)="canned"
00161	     DeathMessage(12)="busted"
00162	     DeathMessage(13)="creamed"
00163	     DeathMessage(14)="smeared"
00164	     DeathMessage(15)="shut out"
00165	     DeathMessage(16)="beaten down"
00166	     DeathMessage(17)="smacked down"
00167	     DeathMessage(18)="pureed"
00168	     DeathMessage(19)="sliced"
00169	     DeathMessage(20)="diced"
00170	     DeathMessage(21)="ripped"
00171	     DeathMessage(22)="blasted"
00172	     DeathMessage(23)="torn up"
00173	     DeathMessage(24)="spanked"
00174	     DeathMessage(25)="eviscerated"
00175	     DeathMessage(26)="neutered"
00176	     DeathMessage(27)="whipped"
00177	     DeathMessage(28)="shafted"
00178	     DeathMessage(29)="trashed"
00179	     DeathMessage(30)="smashed"
00180	     DeathMessage(31)="trounced"
00181	     DeathModifier(0)="thoroughly "
00182	     DeathModifier(1)="completely "
00183	     DeathModifier(2)="absolutely "
00184	     DeathModifier(3)="totally "
00185	     DeathModifier(4)="utterly "
00186	     MajorDeathMessage(0)="ripped a new one"
00187	     MajorDeathMessage(1)="messed up real bad"
00188	     MajorDeathMessage(2)="given a new definition of pain"
00189	     HeadLossMessage(0)="decapitated"
00190	     HeadLossMessage(1)="beheaded"
00191	     DeathVerb=" was "
00192	     DeathPrep=" by "
00193	     DeathTerm="killed"
00194	     ExplodeMessage=" was blown up."
00195	     SuicideMessage=" had a sudden heart attack."
00196	     FallMessage=" left a small crater."
00197	     DrownedMessage=" forgot to come up for air."
00198	     BurnedMessage=" was incinerated."
00199	     CorrodedMessage=" was slimed."
00200	     HackedMessage=" was hacked."
00201	     DefaultPlayerClass=Class'UnrealShare.MaleThree'
00202	     DefaultWeapon=Class'UnrealShare.DispersionPistol'
00203	     GameMenuType=Class'UnrealShare.UnrealGameOptionsMenu'
00204	     HUDType=Class'UnrealShare.UnrealHUD'
00205	     WaterZoneType=Class'UnrealShare.WaterZone'
00206	}

End Source Code