Core.Object | +--Engine.Actor | +--Engine.Info | +--Engine.GameInfo | +--Botpack.TournamentGameInfo | +--Botpack.UTIntro | +--Botpack.TrophyGame
rotator
CorrectRotation
Class
NewTrophyClass
int
TrophyTime
void
AcceptInventory(Pawn PlayerPawn)
PlayTrophyEffect(Trophy NewTrophy)
Timer()
00001 class TrophyGame extends UTIntro; 00002 00003 var Class<Trophy> NewTrophyClass; 00004 var int TrophyTime; 00005 var rotator CorrectRotation; 00006 00007 event playerpawn Login 00008 ( 00009 string Portal, 00010 string Options, 00011 out string Error, 00012 class<playerpawn> SpawnClass 00013 ) 00014 { 00015 local PlayerPawn NewPlayer; 00016 local SpectatorCam Cam; 00017 local TrophyDude TD; 00018 local int i; 00019 00020 NewPlayer = Super.Login(Portal, Options, Error, SpawnClass); 00021 NewPlayer.bHidden = True; 00022 00023 foreach AllActors(class'SpectatorCam', Cam) 00024 NewPlayer.ViewTarget = Cam; 00025 00026 foreach AllActors(class'TrophyDude', TD) 00027 { 00028 TD.Mesh = Mesh(DynamicLoadObject(SpawnClass.Default.SpecialMesh, class'Mesh')); 00029 for (i=0; i<8; i++) 00030 TD.MultiSkins[i] = NewPlayer.MultiSkins[i]; 00031 } 00032 00033 return NewPlayer; 00034 } 00035 00036 function AcceptInventory(pawn PlayerPawn) 00037 { 00038 local inventory Inv, Next; 00039 local LadderInventory LadderObj; 00040 local DeathMatchTrophy DMT; 00041 local DominationTrophy DOMT; 00042 local CTFTrophy CTFT; 00043 local AssaultTrophy AT; 00044 local Challenge ChalT; 00045 00046 // DeathMatchPlus accepts LadderInventory 00047 for( Inv=PlayerPawn.Inventory; Inv!=None; Inv=Next ) 00048 { 00049 Next = Inv.Inventory; 00050 if (Inv.IsA('LadderInventory')) 00051 { 00052 LadderObj = LadderInventory(Inv); 00053 if (LadderObj != None) 00054 { 00055 // Hide trophies. 00056 foreach AllActors(class'DeathMatchTrophy', DMT) 00057 { 00058 CorrectRotation = DMT.Rotation; 00059 if (LadderObj.DMRank != 6) 00060 { 00061 DMT.bHidden = True; 00062 } else { 00063 if (LadderObj.LastMatchType == 1) 00064 { 00065 NewTrophyClass = DMT.Class; 00066 TrophyTime = 28; 00067 DMT.bHidden = True; 00068 } 00069 } 00070 } 00071 foreach AllActors(class'DominationTrophy', DOMT) 00072 { 00073 if (LadderObj.DOMRank != 6) 00074 { 00075 DOMT.bHidden = True; 00076 } else { 00077 if (LadderObj.LastMatchType == 3) 00078 { 00079 NewTrophyClass = DOMT.Class; 00080 TrophyTime = 30; 00081 DOMT.bHidden = True; 00082 } 00083 } 00084 } 00085 foreach AllActors(class'CTFTrophy', CTFT) 00086 { 00087 if (LadderObj.CTFRank != 6) 00088 { 00089 CTFT.bHidden = True; 00090 } else { 00091 if (LadderObj.LastMatchType == 2) 00092 { 00093 NewTrophyClass = CTFT.Class; 00094 TrophyTime = 30; 00095 CTFT.bHidden = True; 00096 } 00097 } 00098 } 00099 foreach AllActors(class'AssaultTrophy', AT) 00100 { 00101 if (LadderObj.ASRank != 6) 00102 { 00103 AT.bHidden = True; 00104 } else { 00105 if (LadderObj.LastMatchType == 4) 00106 { 00107 NewTrophyClass = AT.Class; 00108 TrophyTime = 29; 00109 AT.bHidden = True; 00110 } 00111 } 00112 } 00113 foreach AllActors(class'Challenge', ChalT) 00114 { 00115 if (LadderObj.ChalRank != 6) 00116 { 00117 ChalT.bHidden = True; 00118 } else { 00119 if (LadderObj.LastMatchType == 5) 00120 { 00121 NewTrophyClass = ChalT.Class; 00122 TrophyTime = 30; 00123 ChalT.bHidden = True; 00124 } 00125 } 00126 } 00127 // Award this dude the SECRET ROBOT BOSS MESH!!! 00128 if ((LadderObj.DMRank == 6) && (LadderObj.DOMRank == 6) && 00129 (LadderObj.CTFRank == 6) && (LadderObj.ASRank == 6) && 00130 (LadderObj.ChalRank == 6)) 00131 { 00132 class'Ladder'.Default.HasBeatenGame = True; 00133 class'Ladder'.Static.StaticSaveConfig(); 00134 } 00135 } 00136 } else { 00137 Inv.Destroy(); 00138 } 00139 } 00140 PlayerPawn.Weapon = None; 00141 PlayerPawn.SelectedItem = None; 00142 } 00143 00144 function Timer() 00145 { 00146 local Trophy T; 00147 00148 Super.Timer(); 00149 00150 Log(Level.TimeSeconds); 00151 if (TrophyTime >= 0) 00152 TrophyTime--; 00153 if (NewTrophyClass != None) 00154 { 00155 if (TrophyTime == 0) 00156 { 00157 foreach AllActors(class'Trophy', T) 00158 { 00159 if (NewTrophyClass == T.Class) 00160 { 00161 PlayTrophyEffect(T); 00162 T.bHidden = False; 00163 } 00164 } 00165 } 00166 } 00167 } 00168 00169 function PlayTrophyEffect(Trophy NewTrophy) 00170 { 00171 Spawn(class'UTTeleportEffect',,, NewTrophy.Location, CorrectRotation); 00172 NewTrophy.PlaySound(sound'Resp2A',, 10.0); 00173 } 00174 00175 defaultproperties 00176 { 00177 HUDType=Class'Botpack.CHEOLHUD' 00178 }