//SD WEAPON AND PLAYER REPLACEMENTS

actor PlayerPawnSD: PlayerPawn {

Speed 1
	Health 200//100
	Radius 16
	Height 56
	Mass 100
	PainChance 255
	//renderstyle translucent
  	//alpha 0.75
	Player.ColorRange 112, 127
	Player.DisplayName "Marine"
	Player.CrouchSprite "PLYC"
	Player.StartItem "Pistol"
	Player.StartItem "Fist"
	Player.StartItem "Clip", 50
	Player.maxhealth 200
	
	States
	{
	Spawn:
		PLAY A -1
		Loop
	See:
		PLAY ABCD 4 
		Loop
	Missile:
		PLAY E 12 
		Goto Spawn
	Melee:
		PLAY F 6 BRIGHT
		Goto Missile
	Pain:
		PLAY G 4 
		PLAY G 4 A_Pain
		Goto Spawn
	Death:
		PLAY H 10 A_PlayerSkinCheck("AltSkinDeath")
		PLAY I 10 A_PlayerScream
		PLAY J 10 A_NoBlocking
		PLAY KLM 10
		PLAY N -1
		Stop
	XDeath:
		PLAY O 5 A_PlayerSkinCheck("AltSkinXDeath")
		PLAY P 5 A_XScream
		PLAY Q 5 A_NoBlocking
		PLAY RSTUV 5
		PLAY W -1
		Stop
	AltSkinDeath:
		PLAY H 6
		PLAY I 6 A_PlayerScream
		PLAY JK 6
		PLAY L 6 A_NoBlocking
		PLAY MNO 6
		PLAY P -1
		Stop
	AltSkinXDeath:
		PLAY Q 5 A_PlayerScream
		PLAY R 0 A_NoBlocking
		PLAY R 5 A_SkullPop
		PLAY STUVWX 5
		PLAY Y -1
		Stop
	}
}

// --------------------------------------------------------------------------
//
// Shotgun
//
// --------------------------------------------------------------------------

ACTOR ShotgunSD : Shotgun replaces Shotgun
{
	Game Doom
	SpawnID 27
	Weapon.SelectionOrder 1300
	Weapon.AmmoUse 1
	Weapon.AmmoGive 8
	Weapon.AmmoType2 "Shell"
  	Weapon.AmmoUse2 3
	Weapon.AmmoType "Shell"
	Inventory.PickupMessage "$GOTSHOTGUN"
	Obituary "$OB_MPSHOTGUN"
	States
	{
	Ready:
		SHTG A 1 A_WeaponReady
		Loop
	Deselect:
		SHTG A 1 A_Lower
		Loop
	Select:
		SHTG A 1 A_Raise
		Loop
	Fire:
		SHTG A 3
		SHTG A 7 A_FireShotgun
		SHTG BC 5
		SHTG D 4
		SHTG CB 5
		SHTG A 3
		SHTG A 7 A_ReFire
		Goto Ready
	AltFire:
		SHTG A 3
		SHTG A 0 A_PlayWeaponSound ("weapons/shotgf")
		SHTG A 0 A_FireBullets (0, 0, 14, 5, "BulletPuff")
		SHTG A 7 A_GunFlash
		SHTG BC 5
		SHTG D 4
		SHTG CB 5
		SHTG A 3
		SHTG A 7 A_ReFire
		goto Ready
	Flash:
		SHTF A 4 Bright A_Light1
		SHTF B 3 Bright A_Light2
		Goto LightDone
	Spawn:
		SHOT A -1
		Stop
	}
}	

// --------------------------------------------------------------------------
//
// Shotgun
//
// --------------------------------------------------------------------------

ACTOR SuperShotgunSD : SuperShotgun replaces SuperShotgun
{
	Game Doom
	SpawnID 33
	Weapon.SelectionOrder 400
	Weapon.AmmoUse 2
	Weapon.AmmoGive 8
	Weapon.AmmoType2 "Shell"
  	Weapon.AmmoUse2 8
	Weapon.AmmoType "Shell"
	Inventory.PickupMessage "$GOTSHOTGUN2"
	Obituary "$OB_MPSSHOTGUN"
	States
	{
	Ready:
		SHT2 A 1 A_WeaponReady
		Loop
	Deselect:
		SHT2 A 1 A_Lower
		Loop
	Select:
		SHT2 A 1 A_Raise
		Loop
	Fire:
		SHT2 A 3
		SHT2 A 7 A_FireShotgun2
		SHT2 B 7
		SHT2 C 7 A_CheckReload
		SHT2 D 7 A_OpenShotgun2
		SHT2 E 7
		SHT2 F 7 A_LoadShotgun2
		SHT2 G 6
		SHT2 H 6 A_CloseShotgun2
		SHT2 A 5 A_ReFire
		Goto Ready
	// unused states
		SHT2 B 7
		SHT2 A 3
		Goto Deselect
	AltFire:
		SHT2 A 3
		//SHT2 A 7 A_FireShotgun2
		SHT2 A 0 A_FireBullets (20.0, 13.0, 80, 5, "BulletPuff") //A_FireBullets (16.8, 10.6, 40, 5, "BulletPuff")
		SHT2 A 0 A_PlayWeaponSound ("weapons/sshotf")
		SHT2 A 0 A_PlayWeaponSound ("weapons/sshotf")
		SHT2 A 7 A_GunFlash
		SHT2 B 7
		SHT2 C 7 A_CheckReload
		SHT2 D 7 A_OpenShotgun2
		SHT2 E 7
		SHT2 F 7 A_LoadShotgun2
		SHT2 G 6
		SHT2 H 6 A_CloseShotgun2
		SHT2 A 5 A_ReFire
		Goto Ready
		// unused states
		SHT2 B 7
		SHT2 A 3
		Goto Deselect
	Flash:
		SHT2 I 4 Bright A_Light1
		SHT2 J 3 Bright A_Light2
		Goto LightDone
	Spawn:
		SGN2 A -1
		Stop
	}
}

// --------------------------------------------------------------------------
//
// Chaingun
//
// --------------------------------------------------------------------------


//GHK: SD Replacement...
actor ChaingunSD : Chaingun replaces Chaingun
{
Game Doom
   SpawnID 28
   Weapon.SelectionOrder 700
   Weapon.AmmoUse 1
   Weapon.AmmoGive 20
   Weapon.ammouse2 1 
   Weapon.AmmoType "Clip"
   Weapon.AmmoType2 "Clip"
   attacksound "weapons/chngun"
   Inventory.PickupMessage "$GOTCHAINGUN" // "You got the chaingun"
   Obituary "$OB_MPCHAINGUN" // "%o was mowed down by %k's chaingun."
   States
   {
   Ready:
     CHGG A 1 A_WeaponReady
     Loop
   Deselect:
     CHGG A 1 A_Lower
     Loop
   Select:
     CHGG A 1 A_Raise
     Loop
   Fire:
     CHGG AB 4 A_FireCGun
     CHGG B 0 A_ReFire
     Goto Ready
   AltFire:
	//CHGG AB 2 A_FireCGun
     //CHGG A 0 A_PlaySoundEx ("weapons/chngun", "Weapon")
	 CHGG A 0 A_FireBullets (11.2, 0, 1, 5, "BulletPuff") //A_FireBullets (5.6, 0, 1, 5, "BulletPuff")
     CHGG A 2 A_GunFlash
	 //CHGG B 0 A_PlaySoundEx ("weapons/chngun", "Weapon")
     CHGG B 2 A_FireBullets (11.2, 0, 1, 5, "BulletPuff") //A_FireBullets (5.6, 0, 1, 5, "BulletPuff")
     CHGG B 0 A_ReFire

     Goto Ready

     //CHGG AB 2 A_FireCGun
     //CHGG B 0 A_ReFire
     //Goto Ready
	 
   Flash:
     CHGF A 5 Bright A_Light1
     Goto LightDone
     CHGF B 5 Bright A_Light1
     Goto LightDone
   AltFlash: 
   	CHGF A 3 bright A_Light1
    CHGF B 3 bright A_Light1 //A_Light2
    CHGF A 0 bright A_Light0
    stop

   Spawn:
     MGUN A -1
     Stop
   }

}


// --------------------------------------------------------------------------
//
// Rocket launcher
//
// --------------------------------------------------------------------------

ACTOR RocketLauncherSD : RocketLauncher replaces RocketLauncher
{
	Game Doom
	SpawnID 29
	Weapon.SelectionOrder 2500
	Weapon.AmmoUse 1
	Weapon.ammouse2 1 
	Weapon.AmmoGive 2
	Weapon.AmmoType "RocketAmmo"
	Weapon.ammotype2 "RocketAmmo" 
	+WEAPON.NOAUTOFIRE
	+WEAPON.NOAUTOAIM
	Inventory.PickupMessage "$GOTLAUNCHER"
	States
	{
	Ready:
		MISG A 1 A_WeaponReady
		Loop
	Deselect:
		MISG A 1 A_Lower
		Loop
	Select:
		MISG A 1 A_Raise
		Loop
	Fire:
		MISG B 8 A_GunFlash
		MISG B 12 A_FireMissile
		MISG B 0 A_ReFire
		Goto Ready
	AltFire:
		MISG B 8 A_GunFlash
		MISG B 12 A_FireCustomMissile("STGrenadeSD", 0, 1, 0, 0, 0) //A_FireMissile
		MISG B 0 A_ReFire
		Goto Ready
	
	Flash:
	AltFlash:
		MISF A 3 Bright A_Light1
		MISF B 4 Bright
		MISF CD 4 Bright A_Light2
		Goto LightDone
	
	Spawn:
		LAUN A -1
		Stop
	}
}

Actor STGrenadeSD
{
  Radius 8
  Height 8
  Speed 25
  Damage 20
  Gravity 0.33 //0.25
  Projectile
  -NoGravity
  +DoomBounce
  +DehExplosion
  +GrenadeTrail
  //+ExplodeOnDeath
  SeeSound "Weapons/GrBnce"
  DeathSound "weapons/rocklx"
  DamageType Fire
  States
  {
  Spawn:
    SGRN A 0 Bright
    SGRN A 0 Bright A_StopSound
    SGRN A 0 Bright A_PlaySound("Weapons/GrenLF")
    SGRN A 1 Bright 
    Goto Spawn+3
  Death:
    MISL B 0 Bright A_ChangeFlag("NoGravity", 1)
    MISL B 8 Bright A_Explode
    MISL C 6 Bright
    MISL D 4 Bright
    stop
  }
}



// --------------------------------------------------------------------------
//
// Plasma rifle
//
// --------------------------------------------------------------------------



//GHK: SD replacement...
ACTOR PlasmaRifleSD : PlasmaRifle replaces PlasmaRifle

{
  Game Doom
  SpawnID 30
  Weapon.SelectionOrder 100
  Weapon.AmmoUse 1
  Weapon.AmmoUse2 5 //10
  Weapon.AmmoGive 40
  Weapon.AmmoType "Cell"
  Weapon.AmmoType2 "Cell"
  Inventory.PickupMessage "$GOTPLASMA" // "You got the plasma gun!"
  States
  {
  Ready:
    PLSG A 1 A_WeaponReady
    Loop
  Deselect:
    PLSG A 1 A_Lower
    Loop
  Select:
    PLSG A 1 A_Raise
    Loop
  Fire:
    PLSG A 3 A_FirePlasma
    PLSG B 20 A_ReFire
    Goto Ready
  AltFire:
     PLSG A 0 A_PlaySoundEx ("weapons/railgf", "Weapon")
	 PLSG A 0 A_GunFlash
     PLSG A 18 A_RailAttack ( 100, 0, 1, "ff ff ff", "00 00 aa",  1, 0, "none") //52 A_RailAttack ( 100, 0, 1, "ff ff ff", "00 00 aa",  1, 0, "none")
	 //PLSG B 20 A_ReFire
	 PLSG A 0 A_ReFire
    Goto Ready

  Flash:
    PLSF A 4 Bright A_Light1
    Goto LightDone
    PLSF B 4 Bright A_Light1
    Goto LightDone
 AltFlash:
    PLSF A 2 Bright A_Light1
    //Goto LightDone
    PLSF B 2 Bright A_Light1
    Goto LightDone
	
  Spawn:
    PLAS A -1
    Stop
  }
}



ACTOR PlasmaBallSD: PlasmaBall
{
SeeSound ""
	
}

// --------------------------------------------------------------------------
//
// BFG 9000
//
// --------------------------------------------------------------------------


ACTOR BFG9000SD : BFG9000 replaces BFG9000 
{
	Game Doom
	Height 20
	SpawnID 31
	Weapon.SelectionOrder 2800
	Weapon.AmmoUse 40
	Weapon.AmmoUse2 400
	Weapon.AmmoGive 40
	Weapon.AmmoType "Cell"
	Weapon.AmmoType2 "Cell"
	+WEAPON.NOAUTOFIRE
	+WEAPON.NOAUTOAIM
	Inventory.PickupMessage "$GOTBFG9000"
	States
	{
	Ready:
		BFGG A 1 A_WeaponReady
		Loop
	Deselect:
		BFGG A 1 A_Lower
		Loop
	Select:
		BFGG A 1 A_Raise
		Loop
	Fire:
		BFGG A 20 A_BFGsound
		BFGG B 10 A_GunFlash
		BFGG B 10 A_FireBFG
		BFGG B 20 A_ReFire
		Goto Ready
	AltFire:
	  BFGG A 3
      BFGG A 20 A_PlayWeaponSound("weapons/nuclearmissilecharge")
      BFGG A 28 A_GunFlash
      BFGG A 0 A_Recoil(5)
      BFGG B 4 Bright A_FireCustomMissile("NuclearMissileShot",0,1,0,5)
      BFGG B 3 Bright A_Recoil(-4.5)
      BFGG B 28
      BFGG B 0 A_ReFire
      Goto Ready

	Flash:
		BFGF A 11 Bright A_Light1
		BFGF B 6 Bright A_Light2
		Goto LightDone
	AltFlash:
		BFGF A 29 Bright A_Light1
		BFGF B 6 Bright A_Light2
		Goto LightDone

	Spawn:
		BFUG A -1
		Stop
	}
}



/*
ACTOR NuclearMissileShot
{
   Radius 13
   Height 8
   Speed 35
   Damage 220
   PROJECTILE
   +STRIFEDAMAGE
   +NOTARGET
   +FULLVOLDEATH
   +THRUGHOST
   +FORCERADIUSDMG
   ExplosionDamage 512
   ExplosionRadius 384
   DeathSound "weapons/nuclearmissileexplode"
   Obituary "%o was annihilated by a Nuclear Missile."
   States
   {
   Spawn:
      NKS1 A 2 Bright A_CustomMissile("NuclearMissileTrail",0,0,0)
      Loop
   Death:
      NKE1 A 0 A_SetTranslucent(1,1)
	  NKE1 A 0 Radius_Quake(6,128,0,64,0)
      NKE1 A 1 Bright A_Explode
      NKE1 A 1 Bright A_Explode
      NKE1 A 1 Bright A_Explode
      NKE1 A 1 Bright A_Explode
      NKE1 A 1 Bright A_Explode
      NKE1 A 0 Bright A_CustomMissile("NukeExplosionGenerator",12,-1,315,2)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,8)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,23)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,38)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,53)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,68)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,83)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,98)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,113)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,128)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,143)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,158)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,173)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,187)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,202)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,217)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,232)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,247)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,262)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,277)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,292)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,307)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,322)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,337)
      NKE1 A 11 Bright A_CustomMissile("NukeWall",0,0,352)
      NKE1 B 0 A_CustomMissile("NukeExplosionGenerator",32,1,45,2)
      NKE1 B 0 A_CustomMissile("NukeExplosionGenerator",32,1,135,2)
      NKE1 B 0 A_CustomMissile("NukeExplosionGenerator",32,-1,225,2)
      NKE1 B 16 Bright A_CustomMissile("NukeExplosionGenerator",32,-1,315,2)
      NKE1 C 0 A_CustomMissile("NukeExplosionGenerator",25,1,0,2)
      NKE1 C 0 A_CustomMissile("NukeExplosionGenerator",25,1,90,2)
      NKE1 C 0 A_CustomMissile("NukeExplosionGenerator",25,-1,180,2)
      NKE1 C 16 Bright A_CustomMissile("NukeExplosionGenerator",25,-1,270,2)
      NKE1 D 0 A_CustomMissile("NukeExplosionGenerator",12,1,45,2)
      NKE1 D 0 A_CustomMissile("NukeExplosionGenerator",12,1,135,2)
      NKE1 D 0 A_CustomMissile("NukeExplosionGenerator",12,-1,225,2)
      NKE1 D 16 Bright A_CustomMissile("NukeExplosionGenerator",12,-1,315,2)
      NKE1 E 0 A_CustomMissile("NukeExplosionGenerator",4,1,0,2)
      NKE1 E 0 A_CustomMissile("NukeExplosionGenerator",4,1,90,2)
      NKE1 E 0 A_CustomMissile("NukeExplosionGenerator",4,-1,180,2)
      NKE1 E 16 Bright A_CustomMissile("NukeExplosionGenerator",4,-1,270,2)
      NKE1 F 16 Bright
      NKE1 G 0 A_CustomMissile("NukeExplosionGenerator",1,1,45,2)
      NKE1 G 0 A_CustomMissile("NukeExplosionGenerator",1,1,135,2)
      NKE1 G 0 A_CustomMissile("NukeExplosionGenerator",1,-1,225,2)
      NKE1 G 16 Bright A_CustomMissile("NukeExplosionGenerator",1,-1,315,2)
      NKE1 HIJKLMNOPQ 16 Bright
      NKE1 RSTU 20 Bright
      Stop
   }
}

ACTOR NukeExplosionGenerator
{
   Radius 6
   Height 4
   Speed 32
   Damage 6
   +NOBLOCKMAP 
   +NOGRAVITY
   +DROPOFF
   +MISSILE
   +RIPPER
   +BLOODLESSIMPACT
   +NOTELEPORT
   +THRUGHOST
   Scale 0.9
   ExplosionDamage 112
   ExplosionRadius 112
   RenderStyle None
   DeathSound "weapons/rocketexplode"
   Obituary "%o was annihilated by a Nuclear Missile."
   States
   {
   Spawn:
      ROKE AAA 1
      ROKE A 1 A_CustomMissile("DispersionRocketExplosion1",0,0,0,2)
      ROKE AAA 1
      ROKE A 1 A_CustomMissile("DispersionRocketExplosion2",12,0,0,2)
      ROKE AAA 1
      ROKE A 1 A_CustomMissile("DispersionRocketExplosion3",32,0,0,2)
      Stop
   Death:
      ROKE A 0 A_SetTranslucent(0.7,1)
      ROKE A 4 Bright A_Explode
      ROKE B 5 Bright
      ROKE CDE 6 Bright
      ROKE F 5 Bright
      ROKE G 4 Bright
      Stop
   }
}

ACTOR NukeWall
{
   Radius 8
   Height 12
   Speed 20
   Damage 5
   +NOBLOCKMAP 
   +DROPOFF 
   +MISSILE 
   +ACTIVATEIMPACT 
   +ACTIVATEPCROSS 
   +RIPPER
   +BLOODLESSIMPACT
   +NOTARGET
   +FLOORHUGGER
   +FIREDAMAGE
   +THRUGHOST
   Renderstyle Translucent
   Alpha 0.8
   ExplosionDamage 96
   ExplosionRadius 64
   Obituary "%o was dissolved by a Nuclear Flamewall."
   DeathSound "weapons/nuclearmissileflamehit"
   States
   {
   Spawn:
      FLWS ABC 2 Bright 
      FLWS D 2 Bright A_CustomMissile("NukeFire",0,0,0)
      FLWS EFGHI 2 Bright 
      FLWS J 2 Bright A_CustomMissile("NukeFire",0,0,0)
      FLWS KLMNOABCDEFGHIJ 2 Bright
      Goto Spawn+10
   Death:
      FLWE A 3 Bright A_Explode
	  FLWE A 0 Radius_Quake(3,64,0,16,0)
      FLWE BCDEFGHIJKLMNOPQRST 3 Bright
      Stop
   }
}
*/

ACTOR NuclearMissileShot
{
   Radius 13
   Height 8
   Speed 35
   Damage 220
   PROJECTILE
   +STRIFEDAMAGE
   +NOTARGET
   +FULLVOLDEATH
   +THRUGHOST
   +FORCERADIUSDMG
   ExplosionDamage 1024//512
   ExplosionRadius 500 //384
   DeathSound "weapons/nuclearmissileexplode"
   Obituary "%o was annihilated by a Nuclear Missile."
   States
   {
   Spawn:
      NKS1 A 2 Bright A_CustomMissile("NuclearMissileTrail",0,0,0,4)
      Loop
   Death:
      NKE1 A 0 A_SetTranslucent(1,1)
	  NKE1 A 0 Radius_Quake(6,128,0,64,0)
      NKE1 A 1 Bright A_Explode
      NKE1 A 1 Bright A_Explode
      NKE1 A 1 Bright A_Explode
      NKE1 A 1 Bright A_Explode
      NKE1 A 1 Bright A_Explode
      NKE1 A 0 Bright A_CustomMissile("NukeExplosionGenerator",12,-1,315,6)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,8,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,23,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,38,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,53,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,68,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,83,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,98,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,113,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,128,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,143,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,158,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,173,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,187,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,202,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,217,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,232,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,247,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,262,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,277,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,292,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,307,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,322,4)
      NKE1 A 0 Bright A_CustomMissile("NukeWall",0,0,337,4)
      NKE1 A 11 Bright A_CustomMissile("NukeWall",0,0,352,4)
      NKE1 B 0 A_CustomMissile("NukeExplosionGenerator",32,1,45,6)
      NKE1 B 0 A_CustomMissile("NukeExplosionGenerator",32,1,135,6)
      NKE1 B 0 A_CustomMissile("NukeExplosionGenerator",32,-1,225,6)
      NKE1 B 16 Bright A_CustomMissile("NukeExplosionGenerator",32,-1,315,6)
      NKE1 C 0 A_CustomMissile("NukeExplosionGenerator",25,1,0,6)
      NKE1 C 0 A_CustomMissile("NukeExplosionGenerator",25,1,90,6)
      NKE1 C 0 A_CustomMissile("NukeExplosionGenerator",25,-1,180,6)
      NKE1 C 16 Bright A_CustomMissile("NukeExplosionGenerator",25,-1,270,6)
      NKE1 D 0 A_CustomMissile("NukeExplosionGenerator",12,1,45,6)
      NKE1 D 0 A_CustomMissile("NukeExplosionGenerator",12,1,135,6)
      NKE1 D 0 A_CustomMissile("NukeExplosionGenerator",12,-1,225,6)
      NKE1 D 16 Bright A_CustomMissile("NukeExplosionGenerator",12,-1,315,6)
      NKE1 E 0 A_CustomMissile("NukeExplosionGenerator",4,1,0,6)
      NKE1 E 0 A_CustomMissile("NukeExplosionGenerator",4,1,90,6)
      NKE1 E 0 A_CustomMissile("NukeExplosionGenerator",4,-1,180,6)
      NKE1 E 16 Bright A_CustomMissile("NukeExplosionGenerator",4,-1,270,6)
      NKE1 F 16 Bright
      NKE1 G 0 A_CustomMissile("NukeExplosionGenerator",1,1,45,6)
      NKE1 G 0 A_CustomMissile("NukeExplosionGenerator",1,1,135,6)
      NKE1 G 0 A_CustomMissile("NukeExplosionGenerator",1,-1,225,6)
      NKE1 G 16 Bright A_CustomMissile("NukeExplosionGenerator",1,-1,315,6)
      NKE1 HIJKLMNOPQ 16 Bright
      NKE1 RSTU 20 Bright
      Stop
   }
}

ACTOR NukeExplosionGenerator
{
   Radius 6
   Height 4
   Speed 32
   Damage 6
   +NOBLOCKMAP 
   +NOGRAVITY
   +DROPOFF
   +MISSILE
   +RIPPER
   +BLOODLESSIMPACT
   +NOTELEPORT
   +THRUGHOST
   Scale 0.9
   ExplosionDamage 112
   ExplosionRadius 112
   RenderStyle None
   DeathSound "weapons/rocketexplode"
   Obituary "%o was annihilated by a Nuclear Missile."
   States
   {
   Spawn:
      ROKE AAA 1
      ROKE A 1 A_CustomMissile("DispersionRocketExplosion1",0,0,0,6)
      ROKE AAA 1
      ROKE A 1 A_CustomMissile("DispersionRocketExplosion2",12,0,0,6)
      ROKE AAA 1
      ROKE A 1 A_CustomMissile("DispersionRocketExplosion3",32,0,0,6)
      Stop
   Death:
      ROKE A 0 A_SetTranslucent(0.7,1)
      ROKE A 4 Bright A_Explode
      ROKE B 5 Bright
      ROKE CDE 6 Bright
      ROKE F 5 Bright
      ROKE G 4 Bright
      Stop
   }
}

ACTOR NukeWall
{
   Radius 8
   Height 12
   Speed 20
   Damage 5
   +NOBLOCKMAP 
   +DROPOFF 
   +MISSILE 
   +ACTIVATEIMPACT 
   +ACTIVATEPCROSS 
   +RIPPER
   +BLOODLESSIMPACT
   +NOTARGET
   +FLOORHUGGER
   +FIREDAMAGE
   +THRUGHOST
   Renderstyle Translucent
   Alpha 0.8
   ExplosionDamage 96
   ExplosionRadius 64
   Obituary "%o was dissolved by a Nuclear Flamewall."
   DeathSound "weapons/nuclearmissileflamehit"
   States
   {
   Spawn:
      FLWS ABC 2 Bright 
      FLWS D 2 Bright A_CustomMissile("NukeFire",0,0,0,4)
      FLWS EFGHI 2 Bright 
      FLWS J 2 Bright A_CustomMissile("NukeFire",0,0,0,4)
      FLWS KLMNOABCDEFGHIJ 2 Bright
      Goto Spawn+10
   Death:
      FLWE A 3 Bright A_Explode
	  FLWE A 0 Radius_Quake(3,64,0,16,0)
      FLWE BCDEFGHIJKLMNOPQRST 3 Bright
      Stop
   }
}

ACTOR NukeFire
{
   Radius 8
   Height 20
   Health 3000
   Speed 2
   Mass 500
   Damage 123
   +SHOOTABLE
   +DROPOFF
   +FLOORCLIP
   +NOBLOOD
   +NOTARGET
   +FIREDAMAGE
   +THRUGHOST
   Renderstyle Add
   Alpha 0.6
   ExplosionDamage 64
   ExplosionRadius 160
   Obituary "%o was burned by the Nuclear fire."
   DeathSound "weapons/nuclearmissileburn"
   States
   {
   Spawn:
      NKFR A 0 A_Jump(64,6)
      NKFR A 0 A_Jump(64,4)
      NKFR A 0 A_Jump(64,2)
      NKFR A 1 Bright
      NKFR A 1 Bright
      NKFR A 1 Bright
      NKFR A 0 A_PlaySound("weapons/nuclearmissileburn")
      NKFR A 4 Bright A_Explode
      NKFR BC 4 Bright
      NKFR D 4 Bright A_Explode
      NKFR EF 4 Bright
      NKFR G 0 A_PlaySound("weapons/nuclearmissileburn")
      NKFR G 4 Bright A_Explode
      NKFR HI 4 Bright
      NKFR J 4 Bright A_Explode
      NKFR KL 4 Bright
      NKFR M 0 A_PlaySound("weapons/nuclearmissileburn")
      NKFR M 4 Bright A_Explode
      NKFR NA 4 Bright
      NKFR B 4 Bright A_Explode
      NKFR CD 4 Bright
      NKFR E 0 A_PlaySound("weapons/nuclearmissileburn")
      NKFR E 4 Bright A_Explode
      NKFR FG 4 Bright
      NKFR H 4 Bright A_Explode
      NKFR IJ 4 Bright
      NKFR K 0 A_PlaySound("weapons/nuclearmissileburn")
      NKFR K 4 Bright A_Explode
      NKFR LM 4 Bright
      NKFR N 4 Bright A_Explode
      NKFR AB 4 Bright
      NKFR C 0 A_PlaySound("weapons/nuclearmissileburn")
      NKFR C 4 Bright A_Explode
      NKFR DE 4 Bright
      NKFR F 4 Bright A_Explode
      NKFR GH 4 Bright
      NKFR I 0 A_PlaySound("weapons/nuclearmissileburn")
      NKFR I 4 Bright A_Explode
      NKFR JK 4 Bright
      NKFR L 4 Bright A_Explode
      NKFR MN 4 Bright
      Goto Spawn+6
   Death:
      NKFR O 5 Bright
      NKFR P 7 Bright
      NKFR Q 10 Bright
      Stop
   }
}

ACTOR NuclearMissileTrail
{
   Radius 3
   Height 4
   Speed 2
   +NOBLOCKMAP
   +NOGRAVITY
   +NOCLIP
   +NOTELEPORT
   +THRUGHOST
   RenderStyle Translucent
   Alpha 0.3
   States
   {
   Spawn:
      MTRL A 2
      MTRL BCD 3
      MTRL E 4 A_SetTranslucent(0.2)
      MTRL F 5 A_SetTranslucent(0.1)
      Stop 
   }
}

ACTOR DispersionRocketExplosion1
{
   Radius 6
   Height 4
   +NOBLOCKMAP
   +NOGRAVITY
   +THRUGHOST
   RenderStyle Add
   Alpha 0.8
   Scale 1
   ExplosionDamage 128
   ExplosionRadius 128
   States
   {
   Spawn:
      ROKE A 0
      ROKE A 0 A_PlaySound("weapons/dispersionexplode")
      ROKE A 4 Bright A_Explode
      ROKE B 5 Bright
      ROKE CDE 6 Bright
      ROKE F 5 Bright
      ROKE G 4 Bright
      Stop
   }
}

ACTOR DispersionRocketExplosion2 : DispersionRocketExplosion1
{
   Alpha 0.75
   Scale 0.9
   ExplosionDamage 112
   ExplosionRadius 112
}

ACTOR DispersionRocketExplosion3 : DispersionRocketExplosion1
{
   Alpha 0.7
   Scale 0.8
   ExplosionDamage 104
   ExplosionRadius 104
}

actor Shell2 : Shell replaces Shell{
inventory.pickupmessage "Picked up some shotgun shells."

}

//health modifications
actor Medikit2 : Medikit replaces  Medikit{
inventory.amount 40 //25

}

//health modifications
actor Stimpack2 : Stimpack replaces Stimpack{
inventory.amount 20 //10

}
//blue bottles
actor HealthBonus2 : HealthBonus replaces HealthBonus{
inventory.amount 2 //1

}

//armor bonuses
actor ArmorBonus2 : ArmorBonus replaces ArmorBonus {
armor.saveamount 2 //1
}

//we need to take account of sdehacked units for individual ammo, 
//which gives a multiple, then actual rop value is 1/2 value below. 

actor ShellBox2 : ShellBox replaces ShellBox {
inventory.amount 20 //24  //gives 30 per shellbox //20

}

actor CellPack2 : CellPack replaces CellPack {
inventory.amount 125 //give 150 per cellpack //100
}

actor ClipBox2 : ClipBox replaces ClipBox {

 inventory.amount 50 //gives 80 per clipbox //50
}


actor RocketBox2 : RocketBox replaces RocketBox {
inventory.amount 4 //gives 8 per rocketbox //5
}