[Setup] Product=FragBonus Version=100 Archive=FragBonus.umod SrcPath=. MasterPath=.. Requires=UnrealTournament400Requirement Group=SetupGroup Group=SystemGroup Group=umodIncludeFilesGroup [UnrealTournament400Requirement] Product=UnrealTournament Version=400 [SetupGroup] Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=467,Flags=3) Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=513,Flags=3) [SystemGroup] File=(Src=System\Bonus.int,Size=299) File=(Src=System\Bonus.u,Size=14150) [umodIncludeFilesGroup] File=(Src=Bonus\Umod\readme.txt,Size=1169) [Setup] LocalProduct=FragBonus ReadMe=Bonus\Umod\readme.txt SetupWindowTitle=FragBonus Setup AutoplayWindowTitle=FragBonus Options ProductURL=http://www.redrival.com/pricey VersionURL=http://www.redrival.com/pricey Developer=avengingangel DeveloperURL=http://www.redrival.com/pricey [UnrealTournament400Requirement] LocalProduct=UnrealTournament ProductURL=http://www.unrealtournament.com/ VersionURL=http://unreal.epicgames.com/ Developer=Epic Games, Inc. DeveloperURL=http://www.epicgames.com/ [Public] Object=(Name=Bonus.FragBonus,Class=Class,MetaClass=Engine.Mutator,Description="FragBonus,Gives killer bonus of extra health, extra points or more powerful weapons depending on how many frags you score.") Object=(Name=Bonus.FragBonusMenuItem,Class=Class,MetaClass=UMenu.UMenuModMenuItem) *D|@84H1ɌyDEST8|None GiveWepOtherGiveWepKillerBonusGiveToCoreSystemUWindowSetFontSetTextCreateControlGiveWeaponKillerMutatorTakeDamageCreatedGiveWeaponOther ModifyPlayerSwitchToBestWeapon GiveAmmo ScoreKill AddInventory PlayerPawnFragBonusMenuClientFragBonusMenuItem FragBonusbdo_weapons_upgrade MenuCaptionWeaponExecute PreBeginPlayPostBeginPlay MenuHelpFragBonusMenuWindowBotCheckReplacement ClientClassNotifyUMenu WindowTitleEngineRegisterDamageMutator DamageType TextBufferActorPawnClassStructPackageC actualDamage Momentum HitLocationScoreHealthSpreeOther NextMutatorbSuperRelevantObject BoolPropertyKillerEGameStaticSaveConfig ReturnValue GameInforipper minigun2UT_FlakCannon UT_EightballWarheadLauncherStructProperty FunctionOwnerClassProperty NamePropertyObjectProperty ScriptTextUWindowPulldownMenuItemUWindowSmallButtonUWindowDialogClientWindowUWindowFramedWindowUWindowRootWindowUWindowCheckboxUWindowDialogControlUWindowWindowUWindowPulldownMenuSetSize CreateWindowPlayerReplicationInfoAlignWinLeft WinHeight WinWidthWinTopRoot LevelInfoMutatorVectorLevelUMenuModMenuItem Initialized MenuItemBotpackFloatProperty PulseGun SniperRifle IntProperty bCheckedbCanSpawnWeapons bdo_leechbdo_fragbonus BytePropertyVictimNukeNextDamageMutator instigatedBy WepClassWep enforcerdo_leechCheckdo_fragbonusCheckdo_weapons_upgradeCheckdo_closebuttondo_defaultsbutton1*;w-1pro'oro'oro'oro'oo.;o.;o.;o.;o.;o.;Do.;o.;o.;o.;o.;o.;o.;o.;D1poooo.;ooo1pooooo1p~NY Ǣʽk&2    #.2MwMo o "%]FragBonus Configuration)5~w-|.Xڎw-|.Xڎw-|.Xڎw-|.Xڅ|.Xڅ|.Xڅ|.Xڎw-|.Xڅ|.Xڅ|.Xڅ|.Xڎw-|.Xڅ|.Xڅ|.Xڅ|.Xڎw- "&S//============================================================================= // FragBonusMenuWindow. //============================================================================= class FragBonusMenuWindow expands UWindowFramedWindow; function Created() { Super.Created(); SetSize(200, 100); WinLeft = (Root.WinWidth - WinWidth) / 2; WinTop = (Root.WinHeight - WinHeight) / 2; } (dY[/- /w*- '- (Yw*  ${ .?% \?% ?,  ?, ?, ?,# G?,( ?,2a   , 5-na/! a/!n,,w*$  'F- d , ? ,,- - ' - (w*  @//============================================================================= // FragBonusMenuClient. //============================================================================= class FragBonusMenuClient expands UWindowDialogClientWindow; var UWindowCheckBox do_leechCheck, do_fragbonusCheck, do_weapons_upgradeCheck; var UWindowSmallButton do_closebutton, do_defaultsbutton; function Created() { Super.Created(); do_leechCheck = UWindowCheckBox(CreateControl(class'UWindowCheckBox', 30, 10, 120, 1)); do_leechCheck.SetText("Enable Damage Bonus"); do_leechCheck.SetFont(F_Normal); do_leechCheck.Align = TA_Left; do_leechCheck.bChecked = class'FragBonus'.default.bdo_leech; do_fragbonusCheck = UWindowCheckBox(CreateControl(class'UWindowCheckBox', 30, 26, 120, 10)); do_fragbonusCheck.SetText("Enable Frag Bonus"); do_fragbonusCheck.SetFont(F_Normal); do_fragbonusCheck.Align = TA_Left; do_fragbonusCheck.bChecked = class'FragBonus'.default.bdo_fragbonus; do_weapons_upgradeCheck = UWindowCheckBox(CreateControl(class'UWindowCheckBox', 30, 38, 120, 1)); do_weapons_upgradeCheck.SetText("Enable Weapon Bonus"); do_weapons_upgradeCheck.SetFont(F_Normal); do_weapons_upgradeCheck.Align = TA_Left; do_weapons_upgradeCheck.bChecked = class'FragBonus'.default.bdo_weapons_upgrade; } function Notify(UWindowDialogControl C, byte E) { switch(E) { case DE_Change: switch(C) { case do_leechCheck: class'FragBonus'.default.bdo_leech = do_leechCheck.bChecked; case do_fragbonusCheck: class'FragBonus'.default.bdo_fragbonus = do_fragbonusCheck.bChecked; case do_weapons_upgradeCheck: class'FragBonus'.default.bdo_weapons_upgrade = do_weapons_upgradeCheck.bChecked; class'FragBonus'.static.StaticSaveConfig(); break; } break; } } 6[ a     -. - -'' + !(0,- ,-  a/!(' - - (   XHCB?,?, Y//============================================================================= // FragBonusMenuItem. //============================================================================= class FragBonusMenuItem expands UMenuModMenuItem; function Execute() { MenuItem.Owner.Root.CreateWindow(class'FragBonusMenuWindow',10,10,10,10); } /820cͷ;aGV撝o $]FragBonus Setup]Setup the FragBonus mutator]F//============================================================================= // FragBonus v1.00. Last update 9/1/00. // Author: avengingangel // Gives killer bonus of extra health, extra points or more powerful weapons // depending on how many frags you score. // // In next version I hope to include customization of weapon levels and a // HUD item showing which weapon you will get next. //============================================================================= class FragBonus expands Mutator; var bool Initialized; var bool bCanSpawnWeapons; var bool bdo_leech; var bool bdo_fragbonus; var bool bdo_weapons_upgrade; function PreBeginPlay() { Super.PreBeginPlay(); if (bdo_fragbonus) bCanSpawnWeapons = False; } function PostBeginPlay() { if (Initialized) return; Initialized = True; Level.Game.RegisterDamageMutator ( Self ); } function bool CheckReplacement(Actor Other, out byte bSuperRelevant) { if (bdo_weapons_upgrade) { if ((!bCanSpawnWeapons) && (Other.IsA('Weapon'))) return False; } return True;; } function MutatorTakeDamage( out int ActualDamage, Pawn Victim, Pawn InstigatedBy, out Vector HitLocation, out Vector Momentum, name DamageType) { if (bdo_leech) { if (InstigatedBy.IsA('Bot') || InstigatedBy.IsA('PlayerPawn')) { InstigatedBy.Health += ActualDamage; if (InstigatedBy.Health > 199) InstigatedBy.Health = 199; } if (NextDamageMutator != None) NextDamageMutator.MutatorTakeDamage (ActualDamage, Victim, InstigatedBy, Hitlocation, Momentum, DamageType); } } function ScoreKill(Pawn Killer, Pawn Other) { if (bdo_fragbonus) { if (Other.Spree >= 5) { Killer.Health += Other.Spree; Killer.PlayerReplicationInfo.Score += Other.Spree; } if (Killer.Health > 199) Killer.Health = 199; } if (bdo_weapons_upgrade) { bCanSpawnWeapons = True; GiveWeaponKiller(Killer); bCanSpawnWeapons = False; } if (NextMutator != None) NextMutator.ScoreKill(Killer, Other); } function ModifyPlayer (Pawn Other) { if (bdo_weapons_upgrade) { if (Other != None) { bCanSpawnWeapons = True; GiveWeaponOther(Other); bCanSpawnWeapons = False; } } Super.ModifyPlayer(Other); if (NextMutator != None) NextMutator.ModifyPlayer(Other); } function GiveWeaponOther(Pawn Other) { Local WarHeadLauncher Nuke; if (Other.PlayerReplicationInfo.Score >= 0) GiveWepOther(Other, Class'Enforcer'); if (Other.PlayerReplicationInfo.Score >= 0) GiveWepOther(Other, Class'PulseGun'); if (Other.PlayerReplicationInfo.Score >= 10) GiveWepOther(Other, Class'Ripper'); if (Other.PlayerReplicationInfo.Score >= 15) GiveWepOther(Other, Class'Minigun2'); if (Other.PlayerReplicationInfo.Score >= 25) GiveWepOther(Other, Class'UT_FlakCannon'); if (Other.PlayerReplicationInfo.Score >= 35) GiveWepOther(Other, Class'UT_Eightball'); if (Other.PlayerReplicationInfo.Score >= 40) GiveWepOther(Other, Class'SniperRifle'); if (Other.PlayerReplicationInfo.Score == 50) { Nuke = Spawn(Class'WarHeadLauncher'); Nuke.GiveTo(Other); } } function GiveWeaponKiller(Pawn Killer) { Local WarHeadLauncher Nuke; if (Killer.PlayerReplicationInfo.Score == 10) GiveWepKiller(Killer, Class'Ripper'); if (Killer.PlayerReplicationInfo.Score == 15) GiveWepKiller(Killer, Class'Minigun2'); if (Killer.PlayerReplicationInfo.Score == 25) GiveWepKiller(Killer, Class'UT_FlakCannon'); if (Killer.PlayerReplicationInfo.Score == 35) GiveWepKiller(Killer, Class'UT_Eightball'); if (Killer.PlayerReplicationInfo.Score == 40) GiveWepKiller(Killer, Class'SniperRifle'); if (Killer.PlayerReplicationInfo.Score == 50) { Nuke = Spawn(Class'WarHeadLauncher'); Nuke.GiveTo(Killer); } } //Copied next 2 functions from Catchup mutator by Ben Coleman, who copied //his from the NIUT mutator. Thanx. Changed them a bit though. function GiveWepKiller (Pawn Killer, Class WepClass) { Local Weapon Wep; Wep = Spawn(WepClass); Wep.GiveTo(Killer); Killer.AddInventory(Wep); Wep.GiveAmmo(Killer); Killer.SwitchToBestWeapon(); } function GiveWepOther (Pawn Other, Class WepClass) { Local Weapon Wep; Wep = Spawn(WepClass); Wep.GiveTo(Other); Other.AddInventory(Wep); Wep.GiveAmmo(Other); Other.SwitchToBestWeapon(); } 3 . A AB? Enable Damage Bonus%$- -. AAB A Enable Frag Bonus%$- - . ABB? Enable Weapon Bonus%$- -  4!##q $! : -- a - -  - -    7>[a    % ./?,  ^?, ?, ?,# ?,( ,?,2a   <  A A A A .&.,+.,R,X,K,`.fg3KX,G,T,,,,9,:,E:kj4K7.$,),c,S,*,PoY,QK^,Oj5G-a,F,_Kr,o,Ig[Gg\,M,B,C,AG ,N,i,DG GW,UG KHGGVg]G#G>,@KeG,J,vgZ,hG,jK=G!Kb%6 B!Y O!7; h*w u*y B+x O+(; \+'s i+l v+ B,(6 N,n [,*u g,*6 t,6u A-6; N-$6 [-m h-%q t-7q A.'0 N.d Z.'p f.'2 s.'1 @/'( M/6tY/Fg/Zm15< G7*tT7,6 b75/ o7,8 |7L4^I8Pg>Ow?,? FD BRD`TFL4KtHMe:Lg!>Fh)Di Tmi0L4dAkeepL4hFJsz r{  HL#ETMY Uf0F{FragBonus mutator v1.00 by avengingangel. Installation: Run the Umod file. Using: Double-click FragBonus in the Mutators dialog to make it go from the Not Used to the Used column. Configuration: Select FragBonus Configuration from the Mod menu. Options are -Enable Damage Bonus (You recieve one point of health for every point of damage you do.) -Enable FragBonus (You recieve extra points and health for fragging a player who is on a spree.) -Enable Weapons Upgrade (There are no weapons scattered around the map. You when you start the match you spawn with an enforcer and a pulsegun. Once you have scored 10 frags, you spawn with an enforcer, a pulsegun and a ripper. When you die you respawn with the last weapons you spawned with. The other weapons and the score to get them are- 15 Minigun, 25 Flakcannon, 35 Rocket Launcher, 40 SniperRifle and 50 Redeemer. You can only get the Redeemer once. Notes: Weapons Upgrade is best used in long matches where everyone starts at about the same time. Contact: Please contact me at pricey_@hotmail.com to report any comments, bugs or praise :) Keep in mind this is my first mod for any game.System\Manifest.ini_System\Manifest.int_System\Bonus.int`+System\Bonus.uF7Bonus\Umod\readme.txt<bAB