[Setup] Product=SuperRifle Version=1 Archive=SuperRifle.umod SrcPath=. MasterPath=.. Group=SetupGroup Group=umodINIGroup Group=SuperRifleGroup [SetupGroup] Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=426,Flags=3) Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=302,Flags=3) [umodINIGroup] Ini=System\UnrealTournament.ini,Engine.GameEngine.ServerPackages=SuperRifle [SuperRifleGroup] File=(Src=System\SuperRifle.int,Size=164) File=(Src=System\SuperRifle.u,Size=4378) File=(Src=Help\SuperRifle.txt,Size=412) [Setup] LocalProduct=SuperRifle ReadMe=Help\SuperRifle.txt SetupWindowTitle=SuperRifle AutoplayWindowTitle=SuperRifle Options ProductURL=http://floobin.cx/~crabbkw/umods/ VersionURL=http://floobin.cx/~crabbkw/umods/SuperRifle.html Developer=crabbkw DeveloperURL=mailto:crabbkw@rose-hulman.edu [Public] Object=(Name=SuperRifle.SuperRifleMutator,Class=Class,MetaClass=Engine.Mutator,Description="Super Sniper Rifle, The Sniper Rifle the way it should be.") Įƒ*žD<@4(@ &Cé¬Ó¼Š`9G€<None SuperRifle TakeDamageSystemEngineCoreEjectSuperRifleMutatorBotpackCarcassProcessTraceHit PlayerPawn ReplaceWith SniperRifleBotCheckReplacementObject TextBufferObjectPropertyClassPackagePawn FunctionActorMutatorFloatPropertyBoolPropertyLevelStructVectorNamePropertyXCollisionHeight DrawScale InventoryWeaponbIsPawn Location ScriptTextCalcDrawOffsetOther ZoomLevel HitLocation HitNormal InstigatorOwnerbSuperRelevantStructProperty FireOffsetMyDamageTypeAltDamageTypeByteProperty ReturnValueSYUT_SpriteSmokePuffUT_HeavyWallHitEffectUT_ShellCasebNoviceZ€‚€†Š€† €‚€†€†€†€J//============================================================================= // SuperRifle. //============================================================================= class SuperRifle expands SniperRifle; function ProcessTraceHit(Actor Other, Vector HitLocation, Vector HitNormal, Vector X, Vector Y, Vector Z) { local UT_Shellcase s; s = Spawn(class'UT_ShellCase',, '', Owner.Location + CalcDrawOffset() + 30 * X + (2.8 * FireOffset.Y+5.0) * Y - Z * 1); if ( s != None ) { s.DrawScale = 2.0; s.Eject(((FRand()*0.3+0.4)*X + (FRand()*0.2+0.2)*Y + (FRand()*0.3+1.0) * Z)*160); } if (Other == Level) Spawn(class'UT_HeavyWallHitEffect',,, HitLocation+HitNormal, Rotator(HitNormal)); else if ( (Other != self) && (Other != Owner) && (Other != None) ) { if ( Other.bIsPawn && (HitLocation.Z - Other.Location.Z > 0.62 * Other.CollisionHeight) && (instigator.IsA('PlayerPawn') || (instigator.IsA('Bot') && !Bot(Instigator).bNovice)) ) Other.TakeDamage(100*(10*PlayerPawn(Owner).ZoomLevel+1), Pawn(Owner), HitLocation, 35000 * X, AltDamageType); else Other.TakeDamage(45*(10*PlayerPawn(Owner).ZoomLevel+1), Pawn(Owner), HitLocation, 30000.0*X, MyDamageType); if ( !Other.bIsPawn && !Other.IsA('Carcass') ) spawn(class'UT_SpriteSmokePuff',,,HitLocation+HitNormal*9); } } /\P‚a/!a/! SuperRifle.SuperRifle( $'  ’’’’’’’’’’’’’’’’’’ ˜hœ1¹ņp‚~NY‚~NY…]//============================================================================= // SuperRifleMutator. //============================================================================= class SuperRifleMutator expands Mutator; function bool CheckReplacement(Actor Other, out byte bSuperRelevant) { if(Other.IsA('SniperRifle') && !Other.IsA('SuperRifle')) { ReplaceWith(Other,"SuperRifle.SuperRifle"); return false; } bSuperRelevant=0; return true; }  ’’’’’’’’ €’’’’’’’’’’2ZŸW„āD$‚~NYŠ}ŚöMŠ}ŚöM‚~NY‚~NY‚~NY‹oœ‹oœŽ4įWM‚~NY‡”PU‚~NY‡”PU‚~NY‚~NY…€§ bøa Š !Ų××׈ –›Õ?,Õ®«333@6”™ @Ō?&Žw*š@TŌ××Õ®«Ćš™™>ĶĢĢ>Õ®«ĆĶĢL>ĶĢL>Õ®«Ćš™™>€??,  r a Ø ×P¶¶‚‚wwˆ w*‚‚-˜7±Æ6’6’ –«Rø?œC„‘a/! -‚‘a/!.Ž‘-£ID«?,d®«?, .‡ˆ—?&.‹ˆÕ?øˆžoHD«?,-®«?, .‡ˆ—?&.‹ˆÕ`źFŸ¶‚-˜a/! a ¤ ×Ō?,  ’’’’ż’’’ū’’’’’’’ ž’’’-ż’’’/ü’’’9’’’’’’’’#ü’’’ü’’’’’’’ż’’’ž’’’,ś’’’;ż’’’ż’’’ż’’’/ž’’’%ł’’’)ž’’’$/ō’’’0ž’’’!Ž’’’'ž’’’ ń’’’ō’’’2ō’’’1ž’’’ś’’’6’’’’"ņ’’’:ü’’’7ż’’’3ż’’’ó’’’ ü’’’8(A‰*N5[‰h (u‰+B‰;O‰6\„ .i“&4Uv• `K&gk'“ &4hR)]z0¦ 4 W4•§ yc4The Enhanced SniperRifle by crabbkw@rose-hulman.edu Foreword: This is my first attempt at an unreal engine mod. It is a mutator for Unreal Tournament. What: The SuperRifle mutator changes the amount of damange the sniper rifle does. It multiplies the damage by the zoom level. Why: The SniperRifle wasn't powerful enough. Give it a shot now. Send me complaints or opinions on improvement. System\Manifest.ini4System\Manifest.int4.System\SuperRifle.intb¤System\SuperRifle.uHelp\SuperRifle.txt œ£ÅćŸ¼xX(qō