// ============================================================================ // Spreadgun / Wallbuster ammo // ============================================================================ Class RedShell : SWWMAmmo { Default { Tag "$T_REDSHELL"; SWWMAmmo.PickupTag "REDSHELL"; Stamina 500; Inventory.Amount 1; Inventory.MaxAmount 30; Ammo.BackpackAmount 3; Ammo.BackpackMaxAmount 60; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 4; Height 20; Accuracy 50; } States { Spawn: XZW1 A -1; Stop; } } Class RedShell2 : RedShell { Default { Inventory.Amount 2; Radius 6; } } Class RedShell4 : RedShell { Default { Inventory.Amount 4; Radius 6; } } Class GreenShell : SWWMAmmo { Default { Tag "$T_GREENSHELL"; SWWMAmmo.PickupTag "GREENSHELL"; Stamina 800; Inventory.Amount 1; Inventory.MaxAmount 25; Ammo.BackpackAmount 2; Ammo.BackpackMaxAmount 50; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 4; Height 20; Accuracy 55; } States { Spawn: XZW1 A -1; Stop; } } Class GreenShell2 : GreenShell { Default { Inventory.Amount 2; Radius 6; } } Class GreenShell4 : GreenShell { Default { Inventory.Amount 4; Radius 6; } } Class BlueShell : SWWMAmmo { Default { Tag "$T_BLUESHELL"; SWWMAmmo.PickupTag "BLUESHELL"; Stamina 1500; Inventory.Amount 1; Inventory.MaxAmount 20; Ammo.BackpackAmount 1; Ammo.BackpackMaxAmount 40; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 4; Height 20; Accuracy 65; } States { Spawn: XZW1 A -1; Stop; } } Class BlueShell2 : BlueShell { Default { Inventory.Amount 2; Radius 6; } } Class BlueShell4 : BlueShell { Default { Inventory.Amount 4; Radius 6; } } Class PurpleShell : SWWMAmmo { Default { Tag "$T_PURPLESHELL"; SWWMAmmo.PickupTag "PURPLESHELL"; Stamina 2500; Inventory.Amount 1; Inventory.MaxAmount 15; Ammo.BackpackAmount 1; Ammo.BackpackMaxAmount 30; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 4; Height 20; Accuracy 60; } States { Spawn: XZW1 A -1; Stop; } } Class PurpleShell2 : PurpleShell { Default { Inventory.Amount 2; Radius 6; } } Class PurpleShell4 : PurpleShell { Default { Inventory.Amount 4; Radius 6; } } Class BlackShell : SWWMAmmo { Default { Tag "$T_BLACKSHELL"; SWWMAmmo.PickupTag "BLACKSHELL"; Stamina 4000; Inventory.Amount 1; Inventory.MaxAmount 10; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 20; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 4; Height 20; Accuracy 75; } States { Spawn: XZW1 A -1; Stop; } } Class BlackShell2 : BlackShell { Default { Inventory.Amount 2; Radius 6; } } Class BlackShell4 : BlackShell { Default { Inventory.Amount 4; Radius 6; } } Class GoldShellSparkle : Actor { override void PostBeginPlay() { Scale *= FRandom[Goldy](.5,1.5); vel.z = FRandom[Goldy](.5,1.5); } override void Tick() { if ( isFrozen() ) return; SetOrigin(Vec3Offset(0,0,vel.z),true); alpha -= .02; if ( alpha <= 0 ) Destroy(); } Default { RenderStyle "Add"; Scale 0.05; +NOGRAVITY; +NOBLOCKMAP; +NOINTERACTION; +DONTSPLASH; +NOTELEPORT; +FORCEXYBILLBOARD; FloatBobPhase 0; } States { Spawn: BLPF A -1 Bright; Stop; } } Class GoldShell : SWWMAmmo { action void A_GoldShellTrail() { if ( Random[Goldy](0,2) ) return; Spawn("GoldShellSparkle",Vec3Offset(FRandom[Goldy](-radius,radius)/2.,FRandom[Goldy](-radius,radius)/2.,FRandom[Goldy](10,18))); } Default { Tag "$T_GOLDSHELL"; SWWMAmmo.PickupTag "GOLDSHELL"; Inventory.PickupSound "misc/ammo_pkup_vip"; Stamina -1000000; Inventory.Amount 1; Inventory.MaxAmount 7; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 7; Ammo.DropAmount 1; +FLOATBOB; +DONTGIB; // don't crush these, they're valuable FloatBobStrength 0.25; Radius 4; Height 20; } States { Spawn: XZW1 A 1 A_GoldShellTrail(); Wait; } } Class GoldShell2 : GoldShell { Default { Inventory.Amount 2; Radius 6; } } Class GoldShell4 : GoldShell { Default { Inventory.Amount 4; Radius 6; } } // ============================================================================ // Eviscerator ammo // ============================================================================ Class EvisceratorShell : SWWMAmmo { Default { Tag "$T_EVISHELL"; SWWMAmmo.PickupTag "EVISHELL"; Inventory.PickupMessage "$T_EVISHELL"; Stamina 3000; Inventory.Amount 1; Inventory.MaxAmount 20; Ammo.BackpackAmount 3; Ammo.BackpackMaxAmount 50; Ammo.DropAmount 1; +FLOATBOB; +SWWMAMMO.USEPICKUPMSG; FloatBobStrength 0.25; Radius 8; Height 22; Accuracy 60; } override void ModifyDropAmount( int dropamount ) { Ammo.ModifyDropAmount(dropamount); Amount = min(Amount,3); } States { Spawn: XZW1 A -1; Stop; } } Class EvisceratorShell2 : EvisceratorShell { Default { Inventory.PickupMessage "$I_EVISHELLCLIP2"; Inventory.Amount 2; Radius 16; } } Class EvisceratorShell3 : EvisceratorShell { Default { Inventory.PickupMessage "$I_EVISHELLCLIP3"; Inventory.Amount 3; Radius 16; } } Class EvisceratorSixPack : EvisceratorShell { Default { Inventory.PickupMessage "$I_EVISHELLPAK"; Inventory.Amount 6; Radius 20; Height 24; } } // ============================================================================ // Hellblazer ammo // ============================================================================ Class HellblazerMissiles : SWWMAmmo { Default { Tag "$T_HELLMISSILE"; SWWMAmmo.PickupTag "HELLMISSILE"; Stamina 8000; Inventory.Amount 1; Inventory.MaxAmount 18; Ammo.BackpackAmount 2; Ammo.BackpackMaxAmount 48; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 6; Height 22; Accuracy 70; } override void ModifyDropAmount( int dropamount ) { Ammo.ModifyDropAmount(dropamount); Amount = min(Amount,3); } States { Spawn: XZW1 A -1; Stop; } } Class HellblazerMissiles2 : HellblazerMissiles { Default { Inventory.Amount 2; } } Class HellblazerMissiles3 : HellblazerMissiles { Default { Inventory.Amount 3; } } Class HellblazerMissileMag : HellblazerMissiles { Default { Inventory.PickupMessage "$T_HELLMISSILEMAG"; Inventory.Amount 6; +SWWMAMMO.USEPICKUPMSG; Radius 12; Height 26; } } Class HellblazerCrackshots : SWWMAmmo { Default { Tag "$T_HELLCLUSTER"; SWWMAmmo.PickupTag "HELLCLUSTER"; Stamina 15000; Inventory.Amount 1; Inventory.MaxAmount 12; Ammo.BackpackAmount 1; Ammo.BackpackMaxAmount 30; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 6; Height 22; Accuracy 75; } States { Spawn: XZW1 A -1; Stop; } } Class HellblazerCrackshots2 : HellblazerCrackshots { Default { Inventory.Amount 2; } } Class HellblazerCrackshotMag : HellblazerCrackshots { Default { Inventory.PickupMessage "$T_HELLCLUSTERMAG"; Inventory.Amount 3; +SWWMAMMO.USEPICKUPMSG; Radius 12; Height 26; } } Class HellblazerRavagers : SWWMAmmo { Default { Tag "$T_HELLBURNINATOR"; SWWMAmmo.PickupTag "HELLBURNINATOR"; Stamina 25000; Inventory.Amount 1; Inventory.MaxAmount 6; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 18; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 6; Height 22; Accuracy 80; } States { Spawn: XZW1 A -1; Stop; } } Class HellblazerRavagerMag : HellblazerRavagers { Default { Inventory.PickupMessage "$T_HELLBURNINATORMAG"; Inventory.Amount 3; +SWWMAMMO.USEPICKUPMSG; Radius 12; Height 26; } } Class HellblazerWarheads : SWWMAmmo { Default { Tag "$T_HELLNUKE"; SWWMAmmo.PickupTag "HELLNUKE"; Stamina 40000; Inventory.Amount 1; Inventory.MaxAmount 2; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 8; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 6; Height 22; Accuracy 85; } States { Spawn: XZW1 A -1; Stop; } } Class HellblazerWarheadMag : HellblazerWarheads { Default { Inventory.PickupMessage "$T_HELLNUKEMAG"; Inventory.Amount 2; +SWWMAMMO.USEPICKUPMSG; Radius 12; Height 26; } } // ============================================================================ // Sparkster ammo // ============================================================================ Class SparkUnit : SWWMAmmo { Default { Tag "$T_SPARKUNIT"; SWWMAmmo.PickupTag "SPARKUNIT"; Stamina 50000; Inventory.Amount 1; Inventory.MaxAmount 8; Ammo.BackpackAmount 1; Ammo.BackpackMaxAmount 24; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 6; Height 22; Accuracy 70; } States { Spawn: XZW1 A -1; Stop; } } Class SparkUnit2 : SparkUnit { Default { Inventory.Amount 2; Radius 8; } } // ============================================================================ // Silver Bullet ammo // ============================================================================ Class SilverBulletAmmo : SWWMAmmo { Default { Tag "$T_XSBMAG"; SWWMAmmo.PickupTag "XSBMAG"; Stamina 70000; Inventory.Amount 1; Inventory.MaxAmount 3; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 6; Ammo.DropAmount 1; SWWMAmmo.MagAmmoType "SilverBullets"; +FLOATBOB; FloatBobStrength 0.25; Radius 10; Height 26; Accuracy 75; } States { Spawn: XZW1 A -1; Stop; } } Class SilverBulletAmmo2 : SWWMAmmo { Default { Tag "$T_FCBMAG"; SWWMAmmo.PickupTag "FCBMAG"; Stamina 80000; Inventory.Amount 1; Inventory.MaxAmount 2; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 4; Ammo.DropAmount 1; SWWMAmmo.MagAmmoType "SilverBullets2"; +FLOATBOB; FloatBobStrength 0.25; Radius 10; Height 26; Accuracy 80; } States { Spawn: XZW1 A -1; Stop; } } Class SilverBullets : MagAmmo { Default { Tag "$T_XSBBULLET"; MagAmmo.PickupTag "XSBBULLET"; Stamina -12000; MagAmmo.ParentAmmo "SilverBulletAmmo"; MagAmmo.ClipSize 5; Inventory.MaxAmount 5; +FLOATBOB; FloatBobStrength 0.25; Radius 4; Height 22; } States { Spawn: XZW1 A -1; Stop; } } Class SilverBullets_2 : SilverBullets { Default { Inventory.Amount 2; Radius 6; Height 24; } } Class SilverBullets_3 : SilverBullets { Default { Inventory.Amount 3; Radius 6; Height 24; } } Class SilverBullets2 : MagAmmo { Default { Tag "$T_FCBBULLET"; MagAmmo.PickupTag "FCBBULLET"; Stamina -15000; MagAmmo.ParentAmmo "SilverBulletAmmo2"; MagAmmo.ClipSize 5; Inventory.MaxAmount 5; +FLOATBOB; FloatBobStrength 0.25; Radius 4; Height 22; } States { Spawn: XZW1 A -1; Stop; } } Class SilverBullets2_2 : SilverBullets2 { Default { Inventory.Amount 2; Radius 6; Height 24; } } Class SilverBullets2_3 : SilverBullets2 { Default { Inventory.Amount 3; Radius 6; Height 24; } } // ============================================================================ // Candygun ammo // ============================================================================ Class CandyGunAmmo : SWWMAmmo { Default { Tag "$T_CANDYMAG"; SWWMAmmo.PickupTag "CANDYMAG"; Stamina 100000; Inventory.Amount 1; Inventory.MaxAmount 1; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 4; Ammo.DropAmount 1; SWWMAmmo.MagAmmoType "CandyGunBullets"; +FLOATBOB; FloatBobStrength 0.25; Radius 6; Height 24; Accuracy 90; } States { Spawn: XZW1 A -1; Stop; } } Class CandyGunBullets : MagAmmo { Default { Tag "$T_CANDYBULLET"; MagAmmo.PickupTag "CANDYBULLET"; Stamina -14000; MagAmmo.ParentAmmo "CandyGunAmmo"; MagAmmo.ClipSize 7; Inventory.MaxAmount 7; +FLOATBOB; FloatBobStrength 0.25; Radius 2; Height 20; } States { Spawn: XZW1 A -1; Stop; } } Class CandyGunBullets2 : CandyGunBullets { Default { Inventory.Amount 2; Radius 2.5; } } Class CandyGunBullets3 : CandyGunBullets { Default { Inventory.Amount 3; Radius 3; } } Class CandyGunSpares : SWWMAmmo { Default { Tag "$T_CANDYSPARE"; SWWMAmmo.PickupTag "CANDYSPARE"; Stamina 600000; Inventory.Amount 1; Inventory.MaxAmount 4; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 4; } override Inventory CreateTossable( int amt ) { if ( Amount > 0 ) { // drop an empty spare let spare = Inventory(Spawn('CandyGun',Owner.Pos,NO_REPLACE)); if ( !spare ) return null; // spare with empty mag CandyGun(spare).AmmoGive1 = 0; CandyGun(spare).clipcount = 0; CandyGun(spare).chambered = false; spare.SetState(spare.SpawnState+1); spare.DropTime = 30; spare.bSpecial = spare.bSolid = false; Amount--; return spare; } return null; } } // ============================================================================ // Ynykron ammo // ============================================================================ Class YnykronAmmo : SWWMAmmo { Default { Tag "$T_YNYKRONAMMO"; SWWMAmmo.PickupTag "YNYKRONAMMO"; Inventory.PickupSound "misc/ammo_pkup_vip"; Stamina -3000000; Inventory.Amount 1; Inventory.MaxAmount 1; Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 3; Ammo.DropAmount 1; +FLOATBOB; FloatBobStrength 0.25; Radius 8; Height 24; } States { Spawn: XZW1 A -1; Stop; } }