actor Rounder
{
+MISSILE
Speed 0
+DONTSPLASH
+NOEXPLODEFLOOR
+FLOORCLIP
+NOGRAVITY
Damage (0)
Height 20
Radius 20
health 99999
scale 2.5
+SHOOTABLE
+NOBLOOD
+NOBLOCKMAP
-SOLID
+NOCLIP
painchance 256
bloodtype ""
species "Dark1Type"
+THRUSPECIES
+DONTRIP
+GHOST
+NORADIUSDMG
+DONTREFLECT
reactiontime 490
mass 14
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
loopit:
ROUN A 0 A_SetMass(mass+14)
ROUN A 0 A_Countdown
ROUN A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
ROUN A 0 A_SpawnItemEx("RounderShieldBox",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
ROUN A 1 A_Warp(AAPTR_TARGET,70,0,30,mass,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
ROUN A 0 A_SetMass(mass+14)
ROUN A 0 A_Countdown
ROUN A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
ROUN A 0 A_SpawnItemEx("RounderShieldBox",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
ROUN A 1 A_Warp(AAPTR_TARGET,70,0,30,mass,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
ROUN A 0 A_SetMass(mass+14)
ROUN A 0 A_Countdown
ROUN A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
ROUN A 0 A_SpawnItemEx("RounderShieldBox",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
ROUN A 1 A_Warp(AAPTR_TARGET,70,0,30,mass,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
ROUN B 0 A_SetMass(mass+14)
ROUN B 0 A_Countdown
ROUN B 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
ROUN B 0 A_SpawnItemEx("RounderShieldBox",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
ROUN B 1 A_Warp(AAPTR_TARGET,70,0,30,mass,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
ROUN B 0 A_SetMass(mass+14)
ROUN B 0 A_Countdown
ROUN B 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
ROUN B 0 A_SpawnItemEx("RounderShieldBox",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
ROUN B 1 A_Warp(AAPTR_TARGET,70,0,30,mass,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
ROUN B 0 A_SetMass(mass+14)
ROUN B 0 A_Countdown
ROUN B 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
ROUN B 0 A_SpawnItemEx("RounderShieldBox",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
ROUN B 1 A_Warp(AAPTR_TARGET,70,0,30,mass,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
loop
Death:
TNT1 A 0 A_SpawnItemEx("GenericAssistDeath", 0, 0, height/2)
TNT1 A 0 A_TakeInventory("LimitFlag", 1, 0, AAPTR_TARGET)
stop
}
}

actor Rounder2 : Rounder
{
mass 194
}

actor RounderShieldBox
{
Obituary "$OB_ROUNDER"
Damage (3)
Height 32
Radius 32
health 99999
scale 2.5
+SHOOTABLE
+NOBLOOD
+NOGRAVITY
-SOLID
+MISSILE
-RIPPER
painchance 256
bloodtype ""
damagetype "MetalRideGear"
species "Dark1Type"
+THRUSPECIES
+NORADIUSDMG
+DONTREFLECT
States
{
Spawn:
TNT1 A 1
stop
Death:
TNT1 A 0
stop
Pain:
TNT1 A 0 A_PlaySound("item/protoreflect")
stop
}
}