[Setup] Product=Random Arena Version=1 Archive=RandomArena.umod SrcPath=. MasterPath=.. Group=SetupGroup Group=Random ArenaGroup Group=umodIncludeFilesGroup [SetupGroup] Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=385,Flags=3) Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=234,Flags=3) [Random ArenaGroup] File=(Src=System\RandomArena.u,Size=5757) File=(Src=System\RandomArena.int,Size=111) [umodIncludeFilesGroup] File=(Src=System\RandomArenaREADME.txt,Size=1017) [Setup] LocalProduct=Random Arena ReadMe=System\RandomArenaREADME.txt SetupWindowTitle=Random Arena AutoplayWindowTitle=Random Arena Options ProductURL=none VersionURL=none Developer=James Simpson, Maddness DeveloperURL=none Áƒ*žD:@}  ‹Š­„Ó‚G`ż( :None RandomArena WepReplace AmmoReplace AlwaysKeep MiniammoSuperShockRifle ReplaceWithEngineCoreCheckReplacement ShockCoreTournamentHealth RocketPackUT_EightballSystemBotpack minigun2 PulseGun ShockRifleWeapon enforcerImpactHammerPreBeginPlayAmmoTournamentPickupnumwepsPAmmo FunctionbCoopWeaponModeObject NextMutatorbSuperRelevant ReturnValueMutator LevelInfo GameInfoNamePropertyLevelActor TextBufferClassPackage StrPropertyOtherClassPropertyArenaDefaultWeaponObjectPropertyBoolProperty IntPropertyBytePropertyGame nRandomWepRunOnce CurrentWep CurrentAmmo DefaultWep €…  @ @€€…Ÿ `K  •-›(y‚‚a/!a/a/ (ýŔ‚a/!a/(ýý‚„a/!a/! ţ!( $' ‡ ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ :}ů‡ĹÔą_ ŽR‘$W…˝Žl…˝Žl…˝Žl…˝Žl…˝Žl…˝Žl…˝Žl„ň™Đš —"]Botpack.enforcerÝBotpack.minigun2ÝBotpack.PulseGunÝBotpack.ShockRifleÝBotpack.UT_Eightball]Botpack.miniammoÝBotpack.miniammoÝBotpack.PAmmoÝBotpack.ShockCoreÝBotpack.RocketPackž YĽ $ w’*’  ( î[2//============================================================================= // RandomArena. //============================================================================= // mutator coded up by Maddness / James Simpson. // 10/17/1999 maddness@wireco.net //============================================================================= class RandomArena expands Arena; var() int numweps, //number of weapons to choose from nRandomWep; //the number of the random weapon var() string WepReplace[10], AmmoReplace[10]; var() name CurrentWep, CurrentAmmo, DefaultWep; //name of the default weapon, used so the ImpactHammer doesn't get replaced when spawned as DefaultWeapon var() bool RunOnce; event PreBeginPlay() { //for some reason this gets called twice before the map loads and it was messing things up on occassion if(RunOnce) //this is my workaround. { //Logged for Debugging //log(self$ "EXITED PREBEGINPLAY ON A RUNONCE FAILURE"); RunOnce = False; return; } //Randomly pick a weapon for this level nRandomWep = FRand() * 10; nRandomWep = nRandomWep % numweps; //get a number between 0 and numweps switch(nRandomWep) { case 0: CurrentWep = 'enforcer'; CurrentAmmo = 'miniammo'; break; case 1: DefaultWeapon = class'minigun2'; CurrentWep = 'minigun2'; CurrentAmmo = 'miniammo'; break; case 2: DefaultWeapon = class'PulseGun'; CurrentWep = 'PulseGun'; CurrentAmmo = 'PAmmo'; break; case 3: DefaultWeapon = class'ShockRifle'; CurrentWep = 'ShockRifle'; CurrentAmmo = 'ShockCore'; break; case 4: DefaultWeapon = class'UT_Eightball'; CurrentWep = 'UT_Eightball'; CurrentAmmo = 'RocketPack'; break; case 5: DefaultWeapon = class'ImpactHammer'; DefaultWep = 'ImpactHammer'; CurrentWep = 'None'; CurrentAmmo = 'None'; break; case 6: DefaultWeapon = class'SuperShockRifle'; DefaultWep = 'SuperShockRifle'; CurrentWep = 'None'; CurrentAmmo = 'None'; break; } RunOnce = True; if(DefaultWeapon != class'ImpactHammer' && DefaultWeapon != class'SuperShockRifle') DefaultWep = CurrentWep; //Logged for Debugging /*log(self$ "YOU ARE IN THE PREBEGINPLAY OF THE RANDOMARENA MUTATOR"); log(self$ "Random Weapon is "$nRandomWep); log(self$ "RunOnce is "$RunOnce);*/ } function bool AlwaysKeep(actor Other) { if (NextMutator != none) return (NextMutator.AlwaysKeep(Other)); return False; } function bool CheckReplacement(actor Other,out byte bSuperRelevant) { Level.Game.bCoopWeaponMode = False; if (Other.IsA('Weapon') && !Other.IsA(CurrentWep) && !Other.IsA(DefaultWep)) { ReplaceWith(Other,WepReplace[nRandomWep]); return False; } else if (Other.IsA('Ammo') && !Other.IsA(CurrentAmmo)) { ReplaceWith(Other,AmmoReplace[nRandomWep]); return False; } else if ((Other.IsA('TournamentPickup') || Other.IsA('TournamentHealth')) && DefaultWep == 'SuperShockRifle') {//don't spawn pickups if SuperShockRifle is the Default Weapon return False; } bSuperRelevant = 0; return True; } €€–p--( DŤĂ?, D­?? Z%!!h ‚&† œ!!h Ť,† ™!!h Ô,† š!! h ý,† ˜!!h 1,† ‘!!!h e,† !!!h ˙˙-'›‚w† ‘w†   * * * )˙˙˙˙" )˙˙˙˙' -ü˙˙˙/ )ý˙˙˙. )ţ˙˙˙ )ţ˙˙˙% )ţ˙˙˙1 )ţ˙˙˙+ )ţ˙˙˙2 )ţ˙˙˙0 )˙˙˙˙$ )ý˙˙˙ )˙˙˙˙# )ý˙˙˙ 0ü˙˙˙ )ţ˙˙˙( )ţ˙˙˙3 0đ˙˙˙4 ü˙˙˙ )ţ˙˙˙ )ý˙˙˙ )ý˙˙˙ )ý˙˙˙ 1ň˙˙˙ )ý˙˙˙ )ţ˙˙˙) ů˙˙˙ ů˙˙˙ 0ű˙˙˙&‰7 { ,G‰8 TŒ5 `‰9 lŠ6 x‹ DŒ P‹ \” h,uˆŸ NB‡$VPˆž1f“4f2WŠ ! }MŠ! INˆ–HUN[Public] Object=(Name=RandomArena.RandomArena,Class=Class,MetaClass=Engine.Mutator,Description="Random Arena")RandomArena mutator for Unreal Tournament Demo, Version 1.00 --------------------------------------------------------------------------- This mutator turns any game into a weapons based level. It randomly picks one of the weapons in the demo and makes the level that weapon only. All weapons other than the translocator are in this release. The SuperShockRifle levels are exactly like the InstaGib deathmatches. All pickups are in the ImpactHammer levels. Installation: Just copy all files to the TournamentDemo\System directory. Report any bugs to Maddness@wireco.net I tested as thouroughly as I could, but I may have missed something. Please use the following as the subject for bug reports. RANDOM ARENA, BUG REPORT Send suggestions to the same place Please use the following as the subject for suggestions. RANDOM ARENA, SUGGESTION Thanx and enjoy. ------------------------------------------------------------- All code by James Simpson, AKA. Maddness Maddness@wireco.netSystem\Manifest.ini System\Manifest.int ęSystem\RandomArena.uö}System\RandomArena.intsoSystem\RandomArenaREADME.txtâůŁĹăŸŰ˘PRť‚