actor ScatterTrickshotWep_NormalBar : NormalBar{args 210, 41}
actor ScatterTrickshotWep : BaseMM8BDMWep
{
Weapon.AmmoUse 3
Weapon.AmmoGive 36
Weapon.SlotNumber 2
Inventory.Pickupmessage "$PU_SCATTERTRICKSHOT"
Obituary "$OB_SCATTERTRICKSHOT"
Tag "$TAG_SCATTERTRICKSHOT"
weapon.ammotype "ScatterTrickshotAmmo"
inventory.icon "SCTKICON"
States
{
SpawnLoop:
SCTK Z 1
loop
Ready:
SCTK A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_SCATTERTRICKSHOT)
SCTK A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
SCTK A 0 
goto DeselectSwap
Select:
SCTK A 0 
goto SelectSwap
Fire:
SCTK A 0 A_JumpIfNoAmmo("NoAmmo")
SCTK A 0 A_PlaySoundEx("weapon/magnumshot", "Weapon")
SCTK A 0 A_FireCustomMissile("ScatterTrickshot",0,1,8,0)
SCTK BC 4
SCTK A 9
SCTK A 0 A_Refire
Goto Ready+1
NoAmmo:
SCTK A 1 ACS_NamedExecuteAlways("core_noammo",0)
Goto Ready+1
}
}


actor ScatterTrickshotAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 36
+INVENTORY.IGNORESKILL
}


actor ScatterTrickshot : BasicProjectile
{
var int user_PierceRipper;
+FORCEXYBILLBOARD
Damage (CallACS("vile_cbm_damage",37))
Height 12
Radius 12
damagetype "ScatterTrickshot"
Obituary "$OB_SCATTERTRICKSHOT"
+EXPLODEONWATER
+RIPPER
speed 48
States
{
Spawn:
SCTK D 4
loop
Death:
TNT1 A 0 A_CheckFloor("Floor")
TNT1 A 0 A_CheckCeiling("Ceiling")

TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBullet", 0, 0, 0, cos(pitch), 0, sin(pitch), 0, SXF_MULTIPLYSPEED)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBullet2", 0, 0, 0, cos(pitch), 0, sin(pitch), 10, SXF_MULTIPLYSPEED)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBullet2", 0, 0, 0, cos(pitch), 0, sin(pitch), -10, SXF_MULTIPLYSPEED)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBullet2", 0, 0, 0, cos(pitch), 0, sin(pitch+10), 0, SXF_MULTIPLYSPEED)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBullet2", 0, 0, 0, cos(pitch), 0, sin(pitch-10), 0, SXF_MULTIPLYSPEED)

TNT1 A 0 A_SpawnItemEx("ExplosionEffect1",0,0,0,0,0,0,0,SXF_WEPFXCOLOR)
TNT1 A 0 A_PlaySoundEx("weapon/magnumsplit","Auto")
TNT1 A 35
stop

Floor:
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletUp", 0, 0, 4, 0, 0, 24, 0)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletUp", 0, 0, 4, 3.5, 0, 20, 0)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletUp", 0, 0, 4, -3.5, 0, 20, 0)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletUp", 0, 0, 4, 0, 3.5, 20, 0)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletUp", 0, 0, 4, 0, -3.5,20, 0)
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1",0,0,0,0,0,0,0,SXF_WEPFXCOLOR)
TNT1 A 0 A_PlaySoundEx("weapon/magnumsplit","Auto")
TNT1 A 35
stop

Ceiling:
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletDown", 0, 0, -4, 0, 0, -24, 0)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletDown", 0, 0, -4, 3.5, 0, -20, 0)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletDown", 0, 0, -4, -3.5, 0, -20, 0)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletDown", 0, 0, -4, 0, 3.5, -20, 0)
TNT1 A 0 A_SpawnItemEx("ScatterTrickshotBulletDown", 0, 0, -4, 0, -3.5, -20, 0)
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1",0,0,0,0,0,0,0,SXF_WEPFXCOLOR)
TNT1 A 0 A_PlaySoundEx("weapon/magnumsplit","Auto")
TNT1 A 35
stop


XDeath:
TNT1 A 0 A_PlaySoundEx("weapon/magnumsplit","Auto")
TNT1 A 35
stop
}
}

actor ScatterTrickshotBullet : BasicBouncer
{
bouncecount 2
bouncefactor 1.0
wallbouncefactor 1.0
Height 6
Radius 6
Damage (CallACS("vile_cbm_damage",10))
damagetype "ScatterTrickshotBit"
Obituary "$OB_SCATTERTRICKSHOT"
speed 24
States
{
Spawn:
SCTK E 4
loop
Death:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1", 0, 0, 0, 0, 0, 0, 0, SXF_WEPFXCOLOR)
stop
}
}

actor ScatterTrickshotBullet2 : ScatterTrickshotBullet {speed 20}


actor ScatterTrickshotBulletDown : ScatterTrickshotBullet
{
-HEXENBOUNCE
States
{
Spawn:
SCTK F 4
loop
}
}

actor ScatterTrickshotBulletUp : ScatterTrickshotBullet
{
-HEXENBOUNCE
States
{
Spawn:
SCTK G 4
loop
}
}

actor ScatterTrickshotProtect : PowerProtection
{
Powerup.Duration 17
damagefactor "ScatterTrickshotBit", 0.33
}