actor SparkShockBoss : BaseMM8BDMWep_CBM
{
dropitem "SparkShockWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 1
Obituary "$OB_SPARKSHOCK"
Inventory.Pickupmessage "Power up! Spark Shock!"
weapon.ammotype "MightyGodAmmo"
States
{
Spawn:
C_03 G 1
loop
Ready:
SPAA B 0 ACS_ExecuteAlways(998,0,766)
SPAA B 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1 A_Lower//Needs actual sprite thats not cut off, note to self to actually do it on an off day.
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SPAA A 1 A_Raise
Loop
Fire:
SPAA B 0 A_JumpIfInventory("IsBot",1,"BotFire")
SPAA B 0 A_GiveInventory("SparkmanHoldFlag",1)
SPAA B 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA C 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA C 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA C 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA D 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA D 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA D 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA E 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
TNT1 A 0 A_JumpIfInventory("IsBot",1,"BotFire3")
Hold:
SPAA E 0 A_JumpIfInventory("SparkmanHoldFlag",15,"HoldEnd")
SPAA E 0 A_GiveInventory("SparkmanHoldFlag",1)
SPAA E 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire
goto HoldEnd
HoldEnd:
//SPAA A 0 A_JumpIfNoAmmo("NoAmmo")
SPAA A 0 A_PlaySoundEx("weapon/sparkshock","Weapon")
SPAA A 0 A_GiveInventory("SparkmanMain_CI",1)
SPAA A 0 A_TakeInventory("SparkmanHoldFlag",99)
SPAA EDC 3
TNT1 A 28 A_ClearRefire
SPAA A 0// A_Refire
Goto Ready+1
Altfire:
//SPAS C 0 A_JumpIfNoAmmo("NoAmmo")
//SPAS C 0 A_PlaySoundEx("weapon/sparkshock","Weapon")
SPAA B 0 A_PlaySoundEx("weapon/sparkalt","Weapon")
/*SPAS C 0 A_SpawnItemEx("SparkShock",0,0,32,28,0,0,60)
SPAS B 0 A_SpawnItemEx("SparkShock",0,0,32,28,0,0,-60)
SPAS B 0 A_SpawnItemEx("SparkShock",0,0,32,28,0,0,120)
SPAS B 0 A_SpawnItemEx("SparkShock",0,0,32,28,0,0,-120)
SPAS B 0 A_SpawnItemEx("SparkShock",0,0,32,28,0,0,180)
SPAS B 0 A_SpawnItemEx("SparkShock",0,0,32,28,0,0,-180)
SPAS B 0 A_SpawnItemEx("SparkShock",0,0,32,28,0,0,0)*/
/*SPAA B 0 A_FireCustomMissile("SmallShock",0,0,0,0)
SPAA B 0 A_FireCustomMissile("SmallShock",45,0,0,0)
SPAA B 0 A_FireCustomMissile("SmallShock",90,0,0,0)
SPAA B 0 A_FireCustomMissile("SmallShock",135,0,0,0)
SPAA B 0 A_FireCustomMissile("SmallShock",180,0,0,0)
SPAA B 0 A_FireCustomMissile("SmallShock",225,0,0,0)
SPAA B 0 A_FireCustomMissile("SmallShock",270,0,0,0)
SPAA B 0 A_FireCustomMissile("SmallShock",315,0,0,0)*/
SPAA B 0 A_GiveInventory("SparkmanAlt_CI",1)
SPAS B 0 A_SpawnItemEx("SmallShock",0,0,32,28,0,0,45,1)
SPAS B 0 A_SpawnItemEx("SmallShock",0,0,32,28,0,0,-45,1)
SPAS B 0 A_SpawnItemEx("SmallShock",0,0,32,28,0,0,90,1)
SPAS B 0 A_SpawnItemEx("SmallShock",0,0,32,28,0,0,-90,1)
SPAS B 0 A_SpawnItemEx("SmallShock",0,0,32,28,0,0,135,1)
SPAS B 0 A_SpawnItemEx("SmallShock",0,0,32,28,0,0,-135,1)
SPAS B 0 A_SpawnItemEx("SmallShock",0,0,32,28,0,0,180,1)
SPAA B 3
SPAA A 6
SPAA B 3
TNT1 A 12
SPAS C 0// A_Refire
Goto Ready+1
NoAmmo:
SPAS C 0
//SPAS C 1 ACS_Execute(979,0)
Goto Ready+1

BotFire:
TNT1 A 0 A_JumpIfCloser(750,"BotFire2")
goto AltFire
BotFire2:
TNT1 A 0 A_Jump(128,"AltFire")
goto Fire+1
BotFire3:
SPAA E 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA E 0 A_Jump(32,"HoldEnd")
SPAA E 0 A_ReFire("BotFire3")
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX1",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire(1)
goto HoldEnd
SPAA E 1 A_SpawnItemEx("BigShockFX2",0,0,80,0,0,0,0,9)
SPAA E 0 A_ReFire("BotFire3")
goto HoldEnd
}
}

actor MightyGodAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor SparkmanHoldFlag : Inventory
{
inventory.amount 1
inventory.maxamount 15
}

actor BigShock : SparkShockC
{
Translation "198:198=225:225"
damage (35)
Radius 18
Height 18
States
{
Spawn:
SPMS AB 4
loop
XDeath:
TNT1 A 0
stop
Death:
SPMS E 0 A_SpawnItemEx("BigShockBurst")
SPMS EFG 2
stop
}
}

actor BigShockB : BigShock{translation "198:198=74:74"}
actor BigShockR : BigShock{translation "198:198=41:41"}
actor BigShockO : BigShock{translation "198:198=128:128"}
actor BigShockP : BigShock{translation "198:198=232:232"}

actor BigShockBurst : BasicExplosion
{
damagetype "SparkShockW"
Obituary "$OB_SPARKSHOCK"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(15,88,0,0,18)
stop
}
}


actor SmallShock : SparkShockC
{
Translation "198:198=225:225"
speed 32
States
{
Spawn:
SPMS CD 4
loop
}
}

actor SmallShockB : SmallShock{translation "198:198=74:74"}
actor SmallShockR : SmallShock{translation "198:198=41:41"}
actor SmallShockO : SmallShock{translation "198:198=128:128"}
actor SmallShockP : SmallShock{translation "198:198=232:232"}

actor BigShockFX1
{
Scale 2.5
-SOLID
+NOGRAVITY
+CLIENTSIDEONLY
+DONTBLAST
+NOINTERACTION
+NOTIMEFREEZE
States
{
Spawn:
SPMS A 0
SPMS A 1
stop
}
}

actor BigShockFX2 : BigShockFX1
{
States
{
Spawn:
SPMS B 0
SPMS B 1
stop
}
}




actor SparkmanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BigShock",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BigShockB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BigShockR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BigShockO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BigShockP",0,0,0,0)
goto Done
}
}


actor SparkmanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("SmallShock",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("SmallShockB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("SmallShockR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("SmallShockO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("SmallShockP",0,0,0,0)
goto Done
}
}