freeslot("MT_ANTISEPTART", "S_ANTISEPTART1", "S_ANTISEPTART2", "SPR_ANSP")

mobjinfo[MT_ANTISEPTART] = {
    spawnstate = S_ANTISEPTART1,
    spawnhealth = 1000,
    seesound = sfx_fire,
    deathstate = S_NULL,
    deathsound = sfx_fire,
    speed = 45*FRACUNIT,
    radius = 16*FRACUNIT,
    height = 16*FRACUNIT,
    damage = 1,
    flags = MF_MISSILE|MF_NOGRAVITY|MF_PAPERCOLLISION
}

states[S_ANTISEPTART1] = {
	sprite = SPR_ANSP,
	frame = FF_FULLBRIGHT|A,
	tics = 2, 
	nextstate = S_ANTISEPTART2
}
	
states[S_ANTISEPTART2] = {
	sprite = SPR_ANSP,
	frame = FF_FULLBRIGHT|B,
	tics = 2, 
	nextstate = S_NULL
}
function A_DRKSpark(mo, var1)
	local g = P_SpawnGhostMobj(mo)
	g.color = SKINCOLOR_CARBON
	g.fuse = $*3/2
	g.scale = mo.scale + FRACUNIT/2
	g.frame = $|FF_FULLBRIGHT
	if var1
		g.destscale = 1
		g = P_SpawnGhostMobj(mo)
		g.color = SKINCOLOR_BLACK
		g.scale = mo.scale + FRACUNIT/2
		g.frame = $|FF_FULLBRIGHT
		g.destscale = 1
	end
end

freeslot("S_DARKMATTER", "SPR_DTHK")
states[S_DARKMATTER] = {SPR_DTHK, C|FF_FULLBRIGHT, 1, A_DRKSpark, 1, 0, S_DARKMATTER}