Core.Object | +--Engine.Actor | +--Engine.Info | +--Engine.GameInfo | +--UnrealShare.UnrealGameInfo | +--UnrealShare.DeathMatchGame | +--UnrealI.KingOfTheHill
string
KingMessage
Pawn
king
void
CrownNewKing(Pawn newKing)
Killed(Pawn killer, Pawn Other, name damageType)
00001 //============================================================================= 00002 // KingOfTheHill. 00003 //============================================================================= 00004 class KingOfTheHill extends DeathMatchGame; 00005 00006 var pawn king; 00007 var localized string KingMessage; 00008 00009 function Killed(pawn killer, pawn Other, name damageType) 00010 { 00011 Other.AmbientGlow = 0; 00012 Other.LightType = LT_None; 00013 Other.DamageScaling = 1.0; 00014 Other.bUnLit = false; 00015 00016 if ( (King == Other) || (King == None) ) 00017 { 00018 if ( (killer == None) || (killer == Other) 00019 || (killer.Health <= 0) ) 00020 { 00021 if ( (killer == King) && (King == Other) ) 00022 King.PlayerReplicationInfo.Score -= 4; 00023 King = None; 00024 } 00025 else if ( killer != king ) 00026 CrownNewKing(killer); 00027 } 00028 00029 Super.Killed(killer, Other, damageType); 00030 } 00031 00032 function CrownNewKing(pawn newKing) 00033 { 00034 local Inventory Inv; 00035 00036 King = newKing; 00037 BroadcastMessage(newKing.PlayerReplicationInfo.PlayerName$KingMessage, true); 00038 NewKing.health = Max(NewKing.Health, 100); 00039 NewKing.bUnLit = true; 00040 NewKing.PlayerReplicationInfo.Score += 5.0; 00041 NewKing.DamageScaling = 2.0; 00042 NewKing.LightEffect=LE_NonIncidence; 00043 NewKing.LightBrightness=255; 00044 NewKing.LightHue=0; 00045 NewKing.LightRadius=10; 00046 NewKing.LightSaturation=0; 00047 NewKing.AmbientGlow = 200; 00048 NewKing.bUnlit = true; 00049 NewKing.LightType=LT_Steady; 00050 } 00051 00052 defaultproperties 00053 { 00054 KingMessage=" is the new king of the hill!" 00055 BeaconName="King" 00056 GameName="King of the Hill" 00057 }