[Setup] Product=Damage Scaler Version=100 Archive=DamageScaler.umod SrcPath=. MasterPath=.. Requires=UnrealTournament400Requirement Group=SetupGroup Group=Damage ScalerGroup [UnrealTournament400Requirement] Product=UnrealTournament Version=400 [SetupGroup] Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=452,Flags=3) Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=519,Flags=3) [Damage ScalerGroup] File=(Src=System\DamageScaler.u,Size=8724) File=(Src=System\DamageScaler.int,Size=257) File=(Src=Help\DamageScalerReadme.txt,Size=686) [Setup] LocalProduct=Damage Scaler ReadMe=Help\DamageScalerReadme.txt SetupWindowTitle=Damage Scaler Setup AutoplayWindowTitle=Damage Scaler Options ProductURL=mailto:pricey_@hotmail.com VersionURL=mailto:pricey_@hotmail.com Developer=avengingangel DeveloperURL=mailto:pricey_@hotmail.com [UnrealTournament400Requirement] LocalProduct=UnrealTournament ProductURL=http://www.unrealtournament.com/ VersionURL=http://unreal.epicgames.com/ Developer=Epic Games, Inc. DeveloperURL=http://www.epicgames.com/ *EY@!0 3q!,:!YNone DamageScalerSetTextSystemCoreUWindowCreated GetValueCreateControl SetValue SetRangeMutatorTakeDamageEngineSelfDamageScaleNotifyDamageScalerMenuClientDamageScalerMenuWindow MenuCaption MenuHelpExecuteRegisterDamageMutatorDamageScalerMenuItemUMenu bSizable ClientClassPostBeginPlay WindowTitle damageScaleMutatorStaticSaveConfig FunctionE LevelInfo ScriptText DamageTypeC GameInfoGame InstigatorOwnerNextDamageMutatorLevel instigatedBy actualDamageActor MomentumPackageStructStructProperty NameProperty StrProperty HitLocationVictimUWindowHSliderControlUWindowPulldownMenuItemUWindowDialogClientWindowUWindowFramedWindowUWindowRootWindowUWindowDialogControlUWindowWindowUWindowPulldownMenuSetSize CreateWindowPawnWinLeft WinHeight WinWidthWinTopRootObjectPropertyClass BoolProperty TextBufferUMenuModMenuItem Initialized MenuItem BytePropertyObjectVectorFloatProperty IntPropertyChangedDamageSelfChangedDamageDamageScaleSliderSelfDamageScaleSliderDScaleSDScaleDSSText SDSSText;E;ZllRù " "x  @@   h!Ƒ~|[$;E;Z;E;Z|[$|[$;E;Z;E;Z|[$;E;Z;E;Z|[$|[$;E;Z|[$|[$|[$;E;Z|[$2Mo o  ]Damage Scaler Configuration :. -  - ' b//============================================================================= // DamageScalerMenuItem. //============================================================================= class DamageScalerMenuItem expands UMenuModMenuItem; function Execute() { MenuItem.Owner.Root.CreateWindow(class'DamageScalerMenuWindow',10,10,10,10); }  s3w ?,d ?,dT?,d ?,dw*$  XCB?,?, !22Íͷ;aGնmo ]Damage Scaler Setup]! Setup the Damage Scaler mutatore//============================================================================= // Damage Scaler. //============================================================================= class DamageScaler expands Mutator; var int DamageScale, SelfDamageScale; var bool Initialized; function PostBeginPlay() { if (Initialized) return; Initialized = True; Level.Game.RegisterDamageMutator ( Self ); } function MutatorTakeDamage( out int ActualDamage, Pawn Victim, Pawn InstigatedBy, out Vector HitLocation, out Vector Momentum, name DamageType) { local float ChangedDamage, SelfChangedDamage; if (Victim != Instigator) { ChangedDamage = DamageScale/100; //Log("SelfDamageScale="$SelfDamageScale); //Log("SelfChangedDamage="$SelfChangedDamage); ActualDamage *= /*ChangedDamage*/ DamageScale/100; //Log("ActualSelfDamage="$ActualDamage); } else { SelfChangedDamage = SelfDamageScale/100; //Log("SelfDamageScale="$SelfDamageScale); //Log("SelfChangedDamage="$SelfChangedDamage); ActualDamage *= /*SelfChangedDamage*/ SelfDamageScale/100; //Log("ActualSelfDamage="$ActualDamage); } if (NextDamageMutator != None) NextDamageMutator.MutatorTakeDamage (ActualDamage, Victim, InstigatedBy, Hitlocation, Momentum, DamageType); } gi  .  AAC?  BzC, ? 'pS% of normal damage .  A BC A  BzC, ? ' pS% of normal self damage   )l $ D  pS% of normal damage  D   pS% of normal self damage     Y//============================================================================= // DamageScalerMenuWindow. //============================================================================= class DamageScalerMenuWindow expands UWindowFramedWindow; function Created() { Super.Created(); SetSize(280, 120); WinLeft = (Root.WinWidth - WinWidth) / 2; WinTop = (Root.WinHeight - WinHeight) / 2; } x$//============================================================================= // FragBonusMenuClient. //============================================================================= class DamageScalerMenuClient expands UWindowDialogClientWindow; var UWindowHSliderControl DamageScaleSlider, SelfDamageScaleSlider; //var UWindowSmallCloseButton CloseButton; Fixme - won't work var int DScale, SDScale; var string DSSText, SDSSText; function Created() { //CloseButton = UWindowSmallCloseButton(CreateWindow(class'UWindowSmallCloseButton', WinWidth-48, WinHeight-19, 48, 16)); Fixme - won't work Super.Created(); DScale = class'DamageScaler.DamageScaler'.default.DamageScale; SDScale = class'DamageScaler.DamageScaler'.default.SelfDamageScale; DamageScaleSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', 10, 30, 260, 1)); DamageScaleSlider.SetRange(40,250,5); DamageScaleSlider.SetValue(class'DamageScaler.DamageScaler'.default.DamageScale, true); //DScale = class'DamageScaler.DamageScaler'.default.DamageScale; DSSText = DScale$"% of normal damage"; DamageScaleSlider.SetText(DSSText); SelfDamageScaleSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', 10, 40, 260, 10)); SelfDamageScaleSlider.SetRange(40,250,5); SelfDamageScaleSlider.SetValue(class'DamageScaler.DamageScaler'.default.SelfDamageScale, true); //SDScale = class'DamageScaler.DamageScaler'.default.SelfDamageScale; SDSSText = SDScale$"% of normal self damage"; SelfDamageScaleSlider.SetText(SDSSText); } function Notify(UWindowDialogControl C, byte E) { switch(E) { case DE_Change: switch(C) { case DamageScaleSlider: DScale = DamageScaleSlider.GetValue(); class'DamageScaler.DamageScaler'.default.DamageScale = DScale; class'DamageScaler.DamageScaler'.static.StaticSaveConfig(); DSSText = DScale$"% of normal damage"; DamageScaleSlider.SetText(DSSText); break; case SelfDamageScaleSlider: SDScale = SelfDamageScaleSlider.GetValue(); class'DamageScaler.DamageScaler'.default.SelfDamageScale = SDScale; class'DamageScaler.DamageScaler'.static.StaticSaveConfig(); SDSSText = SDScale$"% of normal self damage"; SelfDamageScaleSlider.SetText(SDSSText); break; } break; } }  <  A A A A ..F5. F;FFFMFFFEFP.FIF8FHF,F7EDF9F /NF?F0F2FOE(F6OBOAE%E&O@F:OCF< F$=E)E'FL>FGF1EK|I T E S R V _ k U w  C W O X [+ gJ s4 LMK!3 X#* e# r#- #" L$Q X$R d$# p$8}$!4mu% nb+SP-mc.!4pP1 S@F VSJ!4diM !4C%MTFPy[Public] Object=(Name=DamageScaler.DamageScaler,Class=Class,MetaClass=Engine.Mutator,Description="Damage Scaler, Scales all damage anywhere from 40% to 250%.") Object=(Name=DamageScaler.DamageScalerMenuItem,Class=Class, MetaClass=UMenu.UMenuModMenuItem) Damage Scaler mutator v1.00 by avengingangel. Installation: Run the Umod file. Using: Select the percentage of damage you want by running the configuration window in the mod menu. Double-click Damage Scaler in the Mutators dialog to make it go from the Not Used to the Used column. Configuration: Select Damage Scaler Configuration from the Mod menu. Slide the horizontal selectors to set the percentage of damage. The top one changes damage that isn't self-inflicted, and the bottom one changes damage that is. Notes: Not tested over network. No reason it shouldn't work though. Contact: Please contact me at pricey_@hotmail.com to report any comments, bugs or praise :)System\Manifest.iniNSystem\Manifest.intNSystem\DamageScaler.uU"System\DamageScaler.inti&Help\DamageScalerReadme.txtj'**ӎ"