[Setup] Product=MiniGun Madness Version=100 Archive=MiniGun Madness.umod SrcPath=. MasterPath=.. Group=SetupGroup Group=MiniGun_MadnessGroup [SetupGroup] Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=350,Flags=3) Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=244,Flags=3) [MiniGun_MadnessGroup] File=(Src=System\smga.u,Size=1693) File=(Src=System\smga.int,Size=100) File=(Src=System\smg1.u,Size=9413) File=(Src=System\MGMreadme.txt,Size=582) [Setup] LocalProduct=MiniGun Madness ReadMe=System\MGMreadme.txt SetupWindowTitle=MiniGun Madness Setup AutoplayWindowTitle=MiniGun Madness Options ProductURL=none VersionURL=none Developer=John 'OverClocked' Milmont DeveloperURL=none Áƒ*žD@*—@ćőó ˆÓł€ČďŽNone ReplaceWithWeaponsmg1smgaCoreEngineAmmoCheckReplacementMyDefaultWeaponSystemBotpack TextBufferBoolPropertyClassPropertyClassObjectPackageActorObjectPropertyBytePropertyOtherbSuperRelevantsmg FunctionArena MiniammoMutator ReturnValue€ƒ’ ‘H‚a/!wˆ ‡smg1.smg(‚a/!wˆ “miniammo(' ij //============================================================================= // smg1. //============================================================================= class smg1 expands Arena; function bool CheckReplacement(Actor Other, out byte bSuperRelevant) { if ( Other.IsA('Weapon') && Other.class!=class'smg1.smg' ) { ReplaceWith(Other, "smg1.smg"); return False; } else if ( Other.IsA('Ammo') && Other.class!=class'miniammo' ) { ReplaceWith(Other, "miniammo"); return False; } return true; } function Class MyDefaultWeapon() { return class'smg1.smg'; } €€” I ‡ €‰‘…˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙EŢ8…ĹÔąƒ~NYƒ~NYƒ~NYƒ~NY † ţ˙˙˙ ü˙˙˙˙˙˙˙ő˙˙˙ú˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ţ˙˙˙ţ˙˙˙ű˙˙˙ü˙˙˙đ˙˙˙ ˙˙˙˙ ŽVŠ’@c•4u c X eŠ” qŒO…$z][Public] Object=(Name=smga.smg1,Class=Class,MetaClass=Engine.Mutator,Description="MiniGun Madness")Áƒ*žDT@ ň"Dć $šŇ˘ˆÓł€ČďŽ TNoneAnimEndShoot2 EndState BeginState ClientFire PlayUnwindBeginClientAltFire FastShootClientFinishGenerateBullet FinishFire FireEffectTickCoreEngine SoundPitch FlashLength NameColorClientFiringSystemClientAltFiringPickupMessageBotpack NormalFiresmg1PickupAmmoCountFireAltFirePickupsmg ShakeViewColor AltFiringMuzzleFlashScaleAnimSequenceNameProperty SoundVolume ReturnValueAmmoActorBoolPropertyWeapon InventoryFloatPropertyPawnObjectPropertyPackage shakevert bForceFirebForceAltFire DeltaTime bAnimLoopValuebSteadyFlash3rd AmbientGlowClass AmmoType FireSoundAltFireSound AmmoAmountbFire bAltFireOwner PlayerPawn minigun2 shaketime TextBufferSoundDampeningTournamentWeapon IntProperty shakemagBytePropertyObject FunctionState LightTypeTournamentPickup AffectorbCanClientFire bOutOfAmmo bFiredShotAmbientSound¸_fI-“„-“/‚‚-›w.„ˆ*—%-“ ˜ Q˙˙˙˙˙˙˙˙˙˙´ H„‹”-Ž'  ÄSL//============================================================================= // smg. //============================================================================= class smg expands minigun2; state NormalFire { function Tick( float DeltaTime ) { if (Owner==None) AmbientSound = None; } function AnimEnd() { if (Pawn(Owner).Weapon != self) GotoState(''); else if (Pawn(Owner).bFire!=0 && AmmoType.AmmoAmount>0) Global.Fire(0); else if ( Pawn(Owner).bAltFire!=0 && AmmoType.AmmoAmount>0) Global.AltFire(0); else GotoState('FinishFire'); } function BeginState() { AmbientGlow = 250; AmbientSound = FireSound; bSteadyFlash3rd = true; Super.BeginState(); } function EndState() { bSteadyFlash3rd = false; AmbientGlow = 0; LightType = LT_None; AmbientSound = None; Super.EndState(); } Begin: Sleep(0.13); GenerateBullet(); Goto('Begin'); } state ClientFiring { simulated function AnimEnd() { if ( (Pawn(Owner) == None) || (AmmoType.AmmoAmount <= 0) ) { PlayUnwind(); GotoState(''); } else if ( !bCanClientFire ) GotoState(''); else if ( Pawn(Owner).bFire != 0 ) Global.ClientFire(0); else if ( Pawn(Owner).bAltFire != 0 ) Global.ClientAltFire(0); else { PlayUnwind(); GotoState('ClientFinish'); } } simulated function BeginState() { AmbientSound = FireSound; bSteadyFlash3rd = true; } simulated function EndState() { bSteadyFlash3rd = false; Super.EndState(); } } //////////////////////////////////////////////////////// state ClientFinish { simulated function bool ClientFire(float Value) { bForceFire = bForceFire || ( bCanClientFire && (Pawn(Owner) != None) && (AmmoType.AmmoAmount > 0) ); return bForceFire; } simulated function bool ClientAltFire(float Value) { bForceAltFire = bForceAltFire || ( bCanClientFire && (Pawn(Owner) != None) && (AmmoType.AmmoAmount > 0) ); return bForceAltFire; } simulated function AnimEnd() { if ( bCanClientFire && (PlayerPawn(Owner) != None) && (AmmoType.AmmoAmount > 0) ) { if ( bForceFire || (Pawn(Owner).bFire != 0) ) { Global.ClientFire(0); return; } else if ( bForceAltFire || (Pawn(Owner).bAltFire != 0) ) { Global.ClientAltFire(0); return; } } GotoState(''); Global.AnimEnd(); } simulated function EndState() { bSteadyFlash3rd = false; bForceFire = false; bForceAltFire = false; AmbientSound = None; } simulated function BeginState() { bSteadyFlash3rd = false; bForceFire = false; bForceAltFire = false; } } state ClientAltFiring { simulated function AnimEnd() { if ( (Pawn(Owner) == None) || (AmmoType.AmmoAmount <= 0) ) { PlayUnwind(); GotoState(''); } else if ( !bCanClientFire ) GotoState(''); else if ( Pawn(Owner).bAltFire != 0 ) { if ( (AnimSequence != 'Shoot2') || !bAnimLoop ) { AmbientSound = AltFireSound; SoundVolume = 255*Pawn(Owner).SoundDampening; LoopAnim('Shoot2',0.09); } else if ( AmbientSound == None ) AmbientSound = FireSound; if ( Affector != None ) Affector.FireEffect(); if ( PlayerPawn(Owner) != None ) PlayerPawn(Owner).ShakeView(ShakeTime, ShakeMag, ShakeVert); } else if ( Pawn(Owner).bFire != 0 ) Global.ClientFire(0); else { PlayUnwind(); bSteadyFlash3rd = false; GotoState('ClientFinish'); } } simulated function BeginState() { bSteadyFlash3rd = true; AmbientSound = FireSound; } simulated function EndState() { bSteadyFlash3rd = false; Super.EndState(); } } state AltFiring { function Tick( float DeltaTime ) { if (Owner==None) { AmbientSound = None; GotoState('Pickup'); } if ( bFiredShot && ((pawn(Owner).bAltFire==0) || bOutOfAmmo) ) GoToState('FinishFire'); } function AnimEnd() { if ( (AnimSequence != 'Shoot2') || !bAnimLoop ) { AmbientSound = AltFireSound; SoundVolume = 255*Pawn(Owner).SoundDampening; LoopAnim('Shoot2',1.9); } else if ( AmbientSound == None ) AmbientSound = FireSound; if ( Affector != None ) Affector.FireEffect(); } function BeginState() { Super.BeginState(); AmbientSound = FireSound; AmbientGlow = 250; bFiredShot = false; bSteadyFlash3rd = true; } function EndState() { bSteadyFlash3rd = false; AmbientGlow = 0; LightType = LT_None; AmbientSound = None; Super.EndState(); } Begin: Sleep(0.13); GenerateBullet(); if ( AnimSequence == 'Shoot2' ) Goto('FastShoot'); Goto('Begin'); FastShoot: Sleep(0.00000000000000001); GenerateBullet(); Goto('FastShoot'); } /////////////////////////////////////////////////////////// ’ *s(a¸> ! ˙˙˙˙˙˙˙˙˙˙ł rˆ*‹* €°U¨#w.„ˆśq!Śa‚›:.„ˆœ%—%8ŚŸ‚›:.„ˆš%—%8Śq!  Žt#$ú‹”-Ž'Ž ¤ #ú'-Ž($Ł$‹*¤ ź4đŞ6„r.„ˆ*˜%q!¨K-›q!¨s›:.„ˆœ%8¨››:.„ˆš%8¨q!  ŚNć-Ž(Ś • „ƒ ˙˙˙˙˙˙˙˙˙˙ˇYŠI-–„-–/‚‚-›w.„ˆ*—%-– €€…˙˙˙˙˙˙˙˙€˙˙˙˙˙˙˙˙˙˙2Ľ €'…#eůü„oœ¨Xu6č„oœŒ_ä°T„oœ„oœ¨Xu6čŸŚ1„oœŒ_ä°T„oœ„oœŒ_ä°TŒ_ä°TŒ_ä°T„oœ„oœ„oœ„oœŒ_ä°T„oœŒ_ä°Tż" *!Ć9Š$?]You got the SUPER Minigun.#$áz”>d€€še§˜‚‚-›w.Ÿˆ*—%f„-–›:.„ˆœ%8 ˜˜„-“›:.„ˆš%8 q!8 şxŁ !-Ž(-–(-“(‹* ť€4 -Ž(-–(-“( ™ś“˙˙˙˙˙˙˙˙˙˙˝ŠÇ `6„r.„ˆ*˜%q!^K-›q!^!›:.„ˆš%ť„˙Ą! -Ľ‹˘­CŤ?,˙.„ˆŻa!ěQ¸=ŃŃr‹*‹”ëw * w.Ÿˆ*.Ÿˆ ľŔą^I›:.„ˆœ%8^-Ž(q!  ž­ţ-Ž'‹” Źł`-Ž(Ź ‘ "ćXa¸> #ţĄ!! !aŞw8# !  )˙˙˙˙˙˙˙˙˙˙@ÁźŐRrˆ*‹*q!P‚-Ş#„š:.„ˆš%-Äq!  €ÂČŞˆV„˙Ą! -Ľ‹˘­CŤ?,˙.„ˆŻa!33ó?llr‹*‹”†w *  ŠÖń+Š‹”$ú-Ş(-Ž' Ťߎ'-Ž($Ł$‹*Ť 009˙˙˙˙)9˙˙˙˙.9ţ˙˙˙B09ţ˙˙˙F/ý˙˙˙@9ú˙˙˙K9˙˙˙˙+/ý˙˙˙S9˙˙˙˙(9˙˙˙˙,*ó˙˙˙7/ö˙˙˙:Gô˙˙˙=Lű˙˙˙"Lű˙˙˙*ů˙˙˙3/ö˙˙˙;Lű˙˙˙ *ů˙˙˙29ú˙˙˙LLű˙˙˙Lű˙˙˙Iü˙˙˙?*ů˙˙˙PIü˙˙˙>Iý˙˙˙89ú˙˙˙-9˙˙˙˙A/ů˙˙˙O%ý˙˙˙$/ö˙˙˙<Iý˙˙˙MKî˙˙˙*ý˙˙˙5Kč˙˙˙9ú˙˙˙*9ţ˙˙˙NKď˙˙˙*ű˙˙˙RKď˙˙˙Kç˙˙˙Iý˙˙˙&Kî˙˙˙-ü˙˙˙EKî˙˙˙-ö˙˙˙19ú˙˙˙9Kî˙˙˙Kč˙˙˙-ö˙˙˙C/ü˙˙˙+Kë˙˙˙Kë˙˙˙Kë˙˙˙Kë˙˙˙Kë˙˙˙Kč˙˙˙Kç˙˙˙Kç˙˙˙9ú˙˙˙J-ö˙˙˙HKď˙˙˙Kď˙˙˙9ú˙˙˙D*ű˙˙˙Q‰¸J|—˜)F‰´%oĂ4^LT—’Drc‰ł'vdž4 ]e‰°Nie‰Ž-wg‰¤1dh‰źMUi‰Ś#bk—• )El‰ˇJnlž6 xm§' Dn…$WPnž6 gs§' ss‰šMs‰ş.Lv‰ť*zv—™)dw‰˝|Mx‰ž%I|‰Ź#n|—‘"bQ}‰ÁRs~ž4 E€‰ÂrQ€‰Š2C‚‰Ť1u‚Minigun Madness By John "OverClocked" Milmont Arena style minigun action with superchaged ultra fast shooting miniguns (in alt-fire) ---Copyright-Permissions-------------------------------------------- You MUST NOT distribute this mod UNLESS you INCLUDE THIS FILE WITH NO MODIFICATIONS!!!. If you don't co-operate, then DON'T DISTRIBUTE IT IN ANY FORM!!. This mod may be distributed ONLY over the Internet and/or BBS systems. You are NOT authorized to put this BSP on any CD or distribute it in any way without my permission. my e-mail: clocked@megsinet.comSystem\Manifest.iniđSystem\Manifest.intđôSystem\smga.uäSystem\smga.int dSystem\smg1.uĺ Ĺ$System\MGMreadme.txtŞ.FŁĹăŸđ0ź1y‡ô