actor DarkSniperBoss : MegaBuster
{
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 1
Obituary "%o was sniped by %k's Dark Sniper."
Inventory.Pickupmessage "maybe"
weapon.ammotype "DarkSniperAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
States
{
Spawn:
TNT1 A 0
stop
Ready:
DKC3 B 0 ACS_ExecuteAlways(998,0,262)
DKC3 A 1 A_WeaponReady(WRF_NOSWITCH)
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
DKC3 A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DKC3 A 1 A_Raise
Loop
Fire:
//DKC3 A 0 A_JumpIfNoAmmo("NoAmmo")
DKC3 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
DKC3 A 0 A_FireCustomMissile("DarkSniperShot1",0,1,8,0)
DKC3 BCB 2
DKC3 A 15
DKC3 A 0 A_Refire
Goto Ready+1
AltFire:
//DKC3 A 0 A_JumpIfNoAmmo("NoAmmo")
DKC3 D 8
SPAS C 0 A_PlaySoundEx("weapon/sparkalt","Weapon")
//BUST B 0 A_TakeInventory("DarkSniperAmmo",4)
BUST B 0 A_FireCustomMissile("DarkRing",0,0,8,0)
BUST B 0 A_FireCustomMissile("DarkRing",25,0,8,0)
BUST B 0 A_FireCustomMissile("DarkRing",-25,0,8,0)
DKC1 A 0 A_JumpIfHealthLower(17,"Fire6")
DKC1 A 0 A_JumpIfHealthLower(34,"Fire5")
DKC1 A 0 A_JumpIfHealthLower(51,"Fire4")
DKC1 A 0 A_JumpIfHealthLower(67,"Fire3")
DKC1 A 0 A_JumpIfHealthLower(84,"Fire2")
DKC3 EE 4
DKC3 D 17
DKC3 A 0 A_Refire
goto Ready+1
Fire6:
DKC3 EE 4
DKC3 D 16
DKC3 A 0 A_Refire
goto Ready+1
Fire5:
DKC3 E 3
DKC3 E 4
DKC3 D 16
DKC3 A 0 A_Refire
goto Ready+1
Fire4:
DKC3 E 3
DKC3 E 4
DKC3 D 15
DKC3 A 0 A_Refire
goto Ready+1
Fire3:
DKC3 EE 3
DKC3 D 15
DKC3 A 0 A_Refire
goto Ready+1
Fire2:
DKC3 EE 3
DKC3 D 14
DKC3 A 0 A_Refire
goto Ready+1
NoAmmo:
Goto Ready+1
}
}

actor DarkSniperAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
}

actor DarkSniperShot1
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
radius 16
height 16
speed 60
scale 2.5
damage (10)
damagetype "Proto"
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail1",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot2",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
Death:
DSHO A 0
stop
}
}

actor DarkSniperShot2 : DarkSniperShot1
{
damage (13)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail1",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot3",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot3 : DarkSniperShot2
{
damage (16)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail2",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot4",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot4 : DarkSniperShot3
{
damage (19)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail2",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot5",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot5 : DarkSniperShot4
{
damage (22)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail2",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot6",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot6 : DarkSniperShot5
{
damage (25)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail3",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot7",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot7 : DarkSniperShot6
{
damage (28)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail3",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot8",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot8 : DarkSniperShot7
{
damage (31)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail3",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot9",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot9 : DarkSniperShot8
{
damage (34)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail4",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot10",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot10 : DarkSniperShot9
{
damagetype "Proto"
damage (37)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail4",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot11",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperShot11 : DarkSniperShot10
{
damage (40)
States
{
Spawn:
DSHO A 0
DSHO A 1 A_SpawnItemEx("DarkSniperTrail4",0,0,0,0,0,0,0)
Continue:
DSHO A 0 A_SpawnItemEx("DarkSniperShot11",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
stop
}
}

actor DarkSniperTrail1
{
+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
-SOLID
scale 2.5
height 0
radius 0
States
{
Spawn:
DSHO A 2
stop
}
}

actor DarkSniperTrail2 : DarkSniperTrail1
{
States
{
Spawn:
DSHO A 3
stop
}
}

actor DarkSniperTrail3 : DarkSniperTrail1
{
States
{
Spawn:
DSHO A 4
stop
}
}

actor DarkSniperTrail4 : DarkSniperTrail1
{
States
{
Spawn:
DSHO A 5
stop
}
}

actor DarkRing
{
PROJECTILE
radius 16
height 16
speed 20
scale 2.5
damage (5)
damagetype "NeutralShock"
Obituary "%k ran rings around %o with Dark Rings."
States
{
Spawn:
DSHO BCBCBC 4
stop
Death:
TNT1 A 1
stop
}
}