



ACTOR HellishMissileLauncher : BrutalWeapon 17719
{
	Height 20
	Weapon.SelectionOrder 1800
	//Weapon.AmmoUse1 1
	Weapon.AmmoUse 0
	//***Che: alt fire unguided rocket costs 1/4th of a guided fireball. Increasing ammo pool to 400 to allow interrupting!
	Weapon.AmmoGive 16 //4
	Weapon.AmmoType1 "MiniHellRocketAmmo"
    Inventory.PickupSound "BFGREADY"
    //+WEAPON.NOAUTOAIM
	Inventory.PickupMessage "You got the Revenant's Hellish Missile Launcher (Slot 8)"
	States
	{
		//***Che disabling player weapons for cutscenes and for the evacuation center
		HoldFire:
			// 32 is zero, so 2 is lifted 30 pixels upwards
			RVCG A 0 offset(1,2) A_JumpIfInventory("Taunting",1,"Taunt")
			RVCG A 0 A_JumpIfInventory("Salute1", 1, "Salute")
			RVCG A 0 A_JumpIfInventory("Salute2", 1, "Salute")
			RVCG A 0 A_JumpIfInventory("IsRunning",1,"CheckSprint")
			RVCG A 1 offset(1,62) A_WeaponReady(WRF_NOBOB | WRF_NOFIRE)
			RVCG A 0 A_JumpIfInventory("DisablePlayerWeapons", 1, "HoldFire")		
			Goto Ready
	
	Steady:
	TNT1 A 1
	Goto Ready
	Ready:
	Ready3:
	Reload:
		TNT1 A 0 A_JumpIfInventory("DisablePlayerWeapons", 1, "HoldFire") //***Che
		RVCG A 1 A_WeaponReady
		RVCG A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
        RVCG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        RVCG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		RVCG A 0 A_JumpIfInventory("Salute1", 1, "Salute")
		RVCG A 0 A_JumpIfInventory("Salute2", 1, "Salute")
		RVCG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
		RVCG A 0 A_JumpIfInventory("IsRunning",1,"CheckSprint")
		Goto Ready3
		
	CheckSprint:
		RVCG A 1 A_WeaponReady(WRF_NOFIRE)
		RVCG A 0 A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		RVCG A 0 A_JumpIfInventory("IsTacticalClass", 1, "StartSprint")
		Goto Ready
		
	StartSprint:
		RVCG A 1 A_WeaponReady(WRF_NOFIRE)
		RVCG A 0 A_Takeinventory("Zoomed",1)
		RVCG A 0 A_Takeinventory("ADSmode",1)
		RVCG A 0 A_ZoomFactor(1.0)
		RVCG A 0 A_JumpIfInventory("UsedStamina", 40, "StopSprintTired")
		
	Sprinting:	
		RVCG A 0 offset(-9,32) 
		RVCG A 0 offset(-9,32) A_JumpIfInventory("IsStandingStill", 1, "Ready3")
		RVCG A 0 offset(-9,32) A_JumpIfInventory("UsedStamina", 100, "StopSprintTired")
		PLAY A 0 offset(-9,32) ACS_ExecuteAlways(852, 0, 0, 0, 0)//Makes player faster.
		RVCG A 0 offset(-9,32) A_JumpIfInventory("PowerStrength", 1, 2)
		RVCG A 0 offset(-9,32) A_GiveInventory("UsedStamina", 4)
		RVCG A 0 offset(-9,32)
		RVCG A 1 offset(-9,34) A_SetPitch(pitch -0.5)
		RVCG A 1 offset(-6,36) A_SetPitch(pitch -0.5)
		RVCG A 1 offset(-3,38) A_SetPitch(pitch -0.5)
		RVCG A 1 offset(0,38) A_SetPitch(pitch -0.5)
		RVCG A 1 offset(3,36) A_SetPitch(pitch -0.5)
		RVCG A 1 offset(6,34) A_SetPitch(pitch -0.5)
		RVCG A 1 offset(9,32) A_SetPitch(pitch -0.5)
		RVCG A 0 offset(9,32) A_WeaponReady(WRF_NOBOB)
		RVCG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        RVCG A 0 A_JumpIfInventory("Taunting",1,"Taunt")
        RVCG A 0 A_JumpIfInventory("Reloading",1,"Reload")
		RVCG A 0 offset(-9,32) A_GiveInventory("UsedStamina", 4)
		RVCG A 0 offset(9,33) A_SpawnItemEx("FootStep", 0, 0, 2, 0, 0, -4)
		RVCG A 1 offset(9,34) A_SetPitch(pitch +0.5)
		RVCG A 1 offset(6,36) A_SetPitch(pitch +0.5)
		RVCG A 1 offset(3,38) A_SetPitch(pitch +0.5)
		RVCG A 1 offset(0,38) A_SetPitch(pitch +0.5)
		RVCG A 1 offset(-3,36) A_SetPitch(pitch +0.5)
		RVCG A 1 offset(-6,34) A_SetPitch(pitch +0.5)
		RVCG A 1 offset(-9,32) A_SetPitch(pitch +0.5)
		RVCG A 0 offset(-9,32) A_WeaponReady(WRF_NOBOB)
		RVCG A 0 offset(-9,32) A_JumpIfInventory("IsRunning", 1, "Sprinting")
		Goto StopSprint
		
	StopSprintTired:
		RVCG A 1
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		RVCG A 0 A_PlaySound("Tired", 2)
		RVCG A 0 A_TakeInventory("UsedStamina", 2)
		RVCG A 5 A_WeaponReady
		RVCG A 0 A_TakeInventory("UsedStamina", 2)
		RVCG A 5 A_WeaponReady
		RVCG A 0 A_TakeInventory("UsedStamina", 2)
		RVCG A 5 A_WeaponReady
		RVCG A 0 A_TakeInventory("UsedStamina", 2)
		RVCG A 5 A_WeaponReady
		RVCG A 0 A_TakeInventory("UsedStamina", 2)
		RVCG A 5 A_WeaponReady
		Goto Ready
	StopSprint:
		RVCG A 1
		RVCG A 0 A_JumpIfInventory("UsedStamina", 60, "StopSprintTired")
		PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
		Goto Ready
		
	Deselect:
		RVCG A   1 A_Lower
		RVCG A 0 A_TakeInventory("TossGrenade", 1)
		Loop
	Select:
		RVCG A 0 A_Giveinventory("GoSpecial",1)
		RVCG A 0 A_Takeinventory("FistsSelected",1)
		RVCG A 0 A_Takeinventory("sawSelected",1)
		RVCG A 0 A_Takeinventory("ShotgunSelected",1)
		RVCG A 0 A_Takeinventory("SSGSelected",1)
		RVCG A 0 A_Takeinventory("MinigunSelected",1)
		RVCG A 0 A_Takeinventory("PlasmaGunSelected",1)
		RVCG A 0 A_Takeinventory("RocketLauncherSelected",1)
		RVCG A 0 A_Takeinventory("GrenadeLauncherSelected",1)
		RVCG A 0 A_Takeinventory("BFGSelected",1)
		RVCG A 0 A_Takeinventory("BFG10kSelected",1)
		RVCG A 0 A_Takeinventory("RailGunSelected",1)
		RVCG A 0 A_Takeinventory("SubMachineGunSelected",1)
		RVCG A 0 A_Giveinventory("RevenantLauncherSelected",1)
		RVCG A 0 A_Takeinventory("LostSoulSelected",1)
		RVCG A 0 A_Takeinventory("FlameCannonSelected",1)
		RVCG A 0 A_Takeinventory("HasBarrel",1)
		RVCG A 0 A_TakeInventory("TossGrenade", 1)
		RVCG A 0 A_GunFlash
		RVCG AAA 1 A_Raise
		RVCG A 0 A_PlaySound("BFGREADY")
        TNT1 AAA 0
		TNT1 AAAAAAAAAA 0 A_RAise
		Goto SelectAnimation
		
	SelectAnimation:
		TNT1 A 1
		RVCG A 0 A_GunFlash
		GOto Ready
		
    Spawn:
        FATB D 1
        Loop
		
	
	//***Che: custom ammo costs for different firing modes aped from Mark-sensei's flame cannon	
	Fire:
		TNT1 A 0 A_JumpIfInventory("DisablePlayerWeapons", 1, "HoldFire") //***Che
		RVCG A 0
		RVCG A 0 A_JumpIfInventory("MiniHellRocketAmmo", 4, "OpenFire")
		Goto DryFire
		
	DryFire:
		RVCG A 0
		RVCG A 10 A_PlaySound("weapons/empty")
		Goto Ready+7
		
	OpenFire:	
		RVCG A 0
		RVCG A 0 A_PlaySOund("RLANSHOT", 1)
		RVCG A 0 A_ZoomFactor(0.97)
		
			"----" A 0 A_JumpIfInventory("QPowerQuadDamage", 1, 2)
			"----" A 0 A_JumpIf(true, 2)
			"----" A 0 A_PlaySound("quaddamage/echo", CHAN_7)

		"----" A 0 A_GiveInventory ("PlayerIsFighting", 150) //***Che encourages the follower NPCs to get da fug out of your line of fire
		
		RVCG A 0 A_JumpIfInventory("RevenantRocketFire1823", 1, "OpenFire2")
		RVCG A 0 A_TakeInventory("MiniHellRocketAmmo", 4)
		RVCG A 0 BRIGHT A_FireCustomMissile("Alerter", 0, 0, -1, 0)
        RVCG B 1 BRIGHT A_FireCustomMissile("PlayersRevenantBall", 0, 1, -15, 0)
		RVCG A 0 A_ZoomFactor(1.0)
		RVCG CDE 1
		RVCG A 10
		RVCG A 0 A_GiveInventory("RevenantRocketFire1823", 1)
		Goto Ready+7
		
	OpenFire2:
	    RVCG A 0
		//RVCG A 0 BRIGHT A_FireCustomMissile("Alerter")
		
	    RVCG A 0 A_TakeInventory("MiniHellRocketAmmo", 4)
		RVCG F 1 BRIGHT A_FireCustomMissile("PlayersRevenantBall", 0, 1, 15, 0)
		RVCG A 0 A_ZoomFactor(1.0)
		RVCG GHI 1
		RVCG A 10
		RVCG A 0 A_TakeInventory("RevenantRocketFire1823", 1)
		Goto Ready+7
		
		
		
	//***Che: changed it to volleys, a volley costing 1 ammo
	AltFire:
		TNT1 A 0 A_JumpIfInventory("DisablePlayerWeapons", 1, "HoldFire") //***Che
		
		
		RVCG A 1
		TNT1 A 0 A_JumpIfInventory("MiniHellRocketAmmo", 1, 3)
		Goto DryFire
		RVCG AA 1
		TNT1 AA 0
		
			"----" A 0 A_JumpIfInventory("QPowerQuadDamage", 1, 2)
			"----" A 0 A_JumpIf(true, 2)
			"----" A 0 A_PlaySound("quaddamage/echo", CHAN_7)	

		"----" A 0 A_GiveInventory ("PlayerIsFighting", 150) //***Che encourages the follower NPCs to get da fug out of your line of fire
		
		TNT1 A 0 A_TakeInventory("MiniHellRocketAmmo", 1)
		RVCG A 0 A_PlaySOund("RLANSHOT", 1)
		RVCG A 0 A_ZoomFactor(0.97)
		RVCG A 0 A_JumpIfInventory("RevenantRocketFire1823", 1, "AltOpenFire2")
	    RVCG A 0 BRIGHT A_FireCustomMissile("Alerter", 0, 0, -1, 0)
        RVCG B 1 BRIGHT A_FireCustomMissile("PlayersRevenantRocket", 0, 1, -15, 0)
		RVCG A 0 A_ZoomFactor(1.0)
		RVCG CDE 1
		RVCG A 3
		
		RVCG A 0 A_GiveInventory("RevenantRocketFire1823", 1)
		Goto Ready+7
		
	AltOpenFire2:
	    RVCG A 0 BRIGHT A_FireCustomMissile("Alerter")
	    RVCG F 1 BRIGHT A_FireCustomMissile("PlayersRevenantRocket", 0, 1, 15, 0)
		RVCG A 0 A_ZoomFactor(1.0)
		RVCG GHI 1
		RVCG A 3
		
		RVCG A 0 A_TakeInventory("RevenantRocketFire1823", 1)
		Goto Ready+7	
	}
}

ACTOR PlayersRevenantBall_ND: FastRevenantBall
{
	Damage (random(50, 50))
	//Speed 30 // inherited from ancestor
	//FastSpeed 30
	Radius 2
	Height 2
	+SCREENSEEKER
	-GHOST
	-THRUGHOST
	Damagetype "ExplosiveImpact"
	States
	{
		Crash:
		Xdeath:	
		Death:
			RVCG A 0
			// the revenant's uses TNT1 A 0 Bright A_Explode(7, 120, 1)
			BFE1 A 0 Bright A_Explode(20, 120, 1)
			Goto Explodez
	}
}

ACTOR PlayersRevenantBall: PlayersRevenantBall_ND
{
	Damage 0 
	+HITMASTER
	// does not use deflection spread - flies *precisely* backwards!
	// and homes on the initial shooter (the player)
	//var int user_deflection_spread;
	States
	{
		Crash:
		Xdeath:	
			TNT1 A 0
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_MissileDeflected", 100), "ReallyHit") 
			//TNT1 A 0 A_SetUserVar("user_deflection_spread", CallAcs("FBD_GetMastersMissileDeflectionSpread")) // default is 60
			
			// Make the one we hit into our target (the originator, in Zandronum terms)
			// and our original originator into our tracer (the target to home on)
			TNT1 A 0 A_RearrangePointers(AAPTR_Master, AAPTR_Null, AAPTR_Target) 
			
			TNT1 A 0 A_CustomMissile("PlayersRevenantBall_ND", 6, 0, 180, CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH | CMF_SAVEPITCH, 0-pitch)
			TNT1 A 0 A_SpawnItemEx("DeflectorShieldReflectingEffect", 0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION)
			TNT1 A 60 A_Stop
			Stop
		ReallyHit:
			TNT1 A 0 A_DamageMaster(50, "ExplosiveImpact") // this IGNORES ARMOR!!! (also, Zandronum doesn't support the Flags parameter so can't turn that feature off)
			Goto Death // baboom
	}
}

ACTOR PlayersRevenantRocket_ND: RevenantUnguidedRocket {
	-SCREENSEEKER
	-SEEKERMISSILE
	Damagetype "ExplosiveImpact"
}

ACTOR PlayersRevenantRocket: PlayersRevenantRocket_ND
{
	Damage 0
	+HITMASTER
	var int user_deflection_spread;
	States {
		Crash: // hit a non-bleeding actor
		XDeath: // hit a bleeding actor
			TNT1 A 0
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_MissileDeflected", 50), "ReallyHit") 
			TNT1 A 0 A_SetUserVar("user_deflection_spread", CallAcs("FBD_GetMastersMissileDeflectionSpread")) // default is 60
			TNT1 A 0 A_RearrangePointers(AAPTR_Master, AAPTR_Null, AAPTR_Null) // make the one we hit our target (who is the bastard that shot this?!)
			TNT1 A 0 A_CustomMissile("PlayersRevenantRocket_ND", 6, 0, 180 + Random(-user_deflection_spread, user_deflection_spread), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH | CMF_SAVEPITCH, 0-pitch + Random(-user_deflection_spread, user_deflection_spread))
			TNT1 A 0 A_SpawnItemEx("DeflectorShieldReflectingEffect", 0,0,-15, 0,0,0, 0,SXF_NOCHECKPOSITION)
			TNT1 A 60 A_Stop
			Stop
		ReallyHit:
			TNT1 A 0 A_DamageMaster(40, "Explosives") // this IGNORES ARMOR!!! (also, Zandronum doesn't support the Flags parameter so can't turn that feature off)
			Goto Death // make a boom, radius damage & stuff		
	}
}


// for eletech gun -- see DemonEleTech.txt
ACTOR PlayersImmolantBall_ND: PlayersRevenantBall_ND
{
	Translation "176:191=211:223", "168:175=208:210", "38:47=174:184", "128:143=211:221", "144:151=211:223", "58:79=211:223", "13:15=216:221", "16:47=208:223", "208:223=208:217", "160:167=208:215", "232:235=212:218"
	DamageType "Flames"
	Damage (Random(1,1))
	States {
		Spawn:
			TNT1 A 0 NODELAY ACS_NamedExecuteWithResult("RevenantFireballTrails", 1) // 0 immolant fireball
			TNT1 A 0 ACS_NamedExecuteWithResult("RFDeclumpManageServerside")
			Goto FlyTargetless
			
		Death:
		XDeath:
		Crash:
			TNT1 A 0
			TNT1 A 0 A_Explode(7, 120, 1)

			TNT1 AAA 0 A_CustomMissile("IndiscriminateImmolatorIgniter", 0.0, 0.0, Random(-180,180), CMF_AIMDIRECTION | CMF_TRACKOWNER | CMF_SAVEPITCH, Random(5, 60))
			
			TNT1 A 0 A_SpawnItemEx("VFX_ImmolantBallHit", 0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION)
			
			Stop
	}	
}

ACTOR PlayersImmolantBall: PlayersImmolantBall_ND
{
	Damage 0 
	+HITMASTER
	// does not use deflection spread - flies *precisely* backwards!
	// and homes on the initial shooter (the player)
	//var int user_deflection_spread;
	States
	{
		Crash:
		Xdeath:	
			TNT1 A 0
			// check if the target we hit has his deflector shields up
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_MissileDeflected", 100), "ReallyHit") 
			//TNT1 A 0 A_SetUserVar("user_deflection_spread", CallAcs("FBD_GetMastersMissileDeflectionSpread")) // default is 60
			
			// Make the one we hit into our target (the originator, in Zandronum terms)
			// and our original originator into our tracer (the target to home on)
			TNT1 A 0 A_RearrangePointers(AAPTR_Master, AAPTR_Null, AAPTR_Target) 
			
			TNT1 A 0 A_CustomMissile("PlayersImmolantBall_ND", 6, 0, 180, CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH | CMF_SAVEPITCH, 0-pitch)
			TNT1 A 0 A_SpawnItemEx("DeflectorShieldReflectingEffect", 0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION)
			TNT1 A 60 A_Stop
			Stop
		ReallyHit:
			TNT1 A 0 A_DamageMaster(1, "Flames") // this IGNORES ARMOR!!! (also, Zandronum doesn't support the Flags parameter so can't turn that feature off)
			Goto Death // baboom
	}
}


// player's friginant balls never used: got replaced with blizzard
ACTOR PlayersFriginantBall_ND: PlayersRevenantBall_ND
{
	Translation "176:191=194:200", "168:175=192:194", "38:47=194:199", "128:143=194:198", "144:151=195:198", "58:79=194:200", "13:15=198:201", "16:47=192:202", "208:223=192:200", "160:167=192:199", "232:235=197:200"
	DamageType "Ice"
	Damage (Random(15,15))
	States {
		Spawn:
			TNT1 A 0 NODELAY ACS_NamedExecuteWithResult("RevenantFireballTrails", 2) // 0 friginant fireball
			TNT1 A 0 ACS_NamedExecuteWithResult("RFDeclumpManageServerside")
			Goto FlyTargetless
		
		Death:
		XDeath:
		Crash:
			TNT1 A 0 A_Stop
			TNT1 A 0 A_Explode(5, 120, 0)
			//TNT1 A 0 A_CustomMissile("FrostEffect", 0.0, 0.0, 0, CMF_AIMDIRECTION | CMF_SAVEPITCH | CMF_TRACKOWNER, pitch)
			TNT1 A 0 A_RadiusGive("FrostAOE", 120, RGF_PLAYERS | RGF_MONSTERS | RGF_OBJECTS)
			TNT1 AAA 0 A_CustomMissile("FrostSpreader", 0.0, 0.0, Random(-180,180), CMF_AIMDIRECTION | CMF_TRACKOWNER | CMF_SAVEPITCH, Random(5, 60))
			
			TNT1 A 0 A_SpawnItemEx("VFX_FriginantBallHit", 0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION)
			
			TNT1 A 30
			Stop
	}	
}

ACTOR PlayersFriginantBall: PlayersFriginantBall_ND
{
	Damage 0 
	+HITMASTER
	// does not use deflection spread - flies *precisely* backwards!
	// and homes on the initial shooter (the player)
	//var int user_deflection_spread;
	States
	{
		Crash:
		Xdeath:	
			TNT1 A 0
			// check if the target we hit has his deflector shields up
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_MissileDeflected", 100), "ReallyHit") 
			//TNT1 A 0 A_SetUserVar("user_deflection_spread", CallAcs("FBD_GetMastersMissileDeflectionSpread")) // default is 60
			
			// Make the one we hit into our target (the originator, in Zandronum terms)
			// and our original originator into our tracer (the target to home on)
			TNT1 A 0 A_RearrangePointers(AAPTR_Master, AAPTR_Null, AAPTR_Target) 
			
			TNT1 A 0 A_CustomMissile("PlayersFriginantBall_ND", 6, 0, 180, CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH | CMF_SAVEPITCH, 0-pitch)
			TNT1 A 0 A_SpawnItemEx("DeflectorShieldReflectingEffect", 0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION)
			TNT1 A 60 A_Stop
			Stop
		ReallyHit:
			TNT1 A 0 A_DamageMaster(1, "Ice") // this IGNORES ARMOR!!! (also, Zandronum doesn't support the Flags parameter so can't turn that feature off)
			Goto Death // baboom
	}
}

ACTOR PlayersNoxinantBall_ND: PlayersRevenantBall_ND
{
	Translation "176:191=152:159", "168:175=112:120", "38:47=194:199", "128:143=152:158", "144:151=152:159", "64:79=152:159", "56:63=112:120", "13:15=156:159", "24:47=152:159", "16:23=112:120", "214:223=152:159", "208:213=112:120", "160:162=112:120", "163:167=152:159", "232:235=155:159"
	DamageType Slime
	Damage (Random(15,15))
	States {
		Spawn:
			TNT1 A 0 NODELAY ACS_NamedExecuteWithResult("RevenantFireballTrails", 3) // 0 noxinant fireball
			TNT1 A 0 ACS_NamedExecuteWithResult("RFDeclumpManageServerside")
			Goto FlyTargetless
		Death:
		XDeath:
		Crash:
			TNT1 A 0 A_Stop
			TNT1 A 0 A_Explode(5, 120, 0)

			// unlike explosions, which are cubic, radiusgive is a sphere + sight check by default
			TNT1 A 0 A_RadiusGive("ToxicDOT", 120, RGF_PLAYERS | RGF_MONSTERS | RGF_OBJECTS)
			TNT1 AAA 0 A_CustomMissile("ToxicSpreader", 0.0, 0.0, Random(-180,180), CMF_AIMDIRECTION | CMF_TRACKOWNER | CMF_SAVEPITCH, Random(5, 60))
			
			
			TNT1 AAAAAAAAA 0 A_CustomMissile ("GreenFlameTrails", 0, 0, random (0, 360), 2, random (0, 360))			
			
			TNT1 A 30
			Stop
	}	
}

ACTOR PlayersNoxinantBall: PlayersNoxinantBall_ND
{
	Damage 0 
	+HITMASTER
	// does not use deflection spread - flies *precisely* backwards!
	// and homes on the initial shooter (the player)
	//var int user_deflection_spread;
	States
	{
		Crash:
		Xdeath:	
			TNT1 A 0
			// check if the target we hit has his deflector shields up
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_MissileDeflected", 100), "ReallyHit") 
			//TNT1 A 0 A_SetUserVar("user_deflection_spread", CallAcs("FBD_GetMastersMissileDeflectionSpread")) // default is 60
			
			// Make the one we hit into our target (the originator, in Zandronum terms)
			// and our original originator into our tracer (the target to home on)
			TNT1 A 0 A_RearrangePointers(AAPTR_Master, AAPTR_Null, AAPTR_Target) 
			
			TNT1 A 0 A_CustomMissile("PlayersNoxinantBall_ND", 6, 0, 180, CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH | CMF_SAVEPITCH, 0-pitch)
			TNT1 A 0 A_SpawnItemEx("DeflectorShieldReflectingEffect", 0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION)
			TNT1 A 60 A_Stop
			Stop
		ReallyHit:
			TNT1 A 0 A_DamageMaster(15, "Slime") // this IGNORES ARMOR!!! (also, Zandronum doesn't support the Flags parameter so can't turn that feature off)
			Goto Death // baboom
	}
}

ACTOR PlayersImmolantBall25: PlayersImmolantBall
{
	Speed 25
	FastSpeed 25
}

ACTOR PlayersImmolantBall35: PlayersImmolantBall
{
	Speed 35
	FastSpeed 35
}

ACTOR PlayersNoxinantBall27: PlayersNoxinantBall
{
	Speed 27
	FastSpeed 27
}

ACTOR PlayersNoxinantBall24: PlayersNoxinantBall
{
	Speed 24
	FastSpeed 24
}

ACTOR PlayersNoxinantBall33: PlayersNoxinantBall
{
	Speed 33
	FastSpeed 33
}


ACTOR PlayersNoxinantBall36: PlayersNoxinantBall
{
	Speed 36
	FastSpeed 36
}

ACTOR PlayersNoxinantBall39: PlayersNoxinantBall
{
	Speed 39
	FastSpeed 39
}



/*
//***Che wtf is this relic?
ACTOR RevenantMissileFriendAttackSummon
{
    Radius 1
    Height 1
    Speed 0
	Mass 999999999999999999
    Health 1
    gravity 0.5
	Decal BloodSuper
	+NOCLIP
	MONSTER
	+FRIENDLY
	+LOOKALLAROUND
	-SHOOTABLE
	+MISSILEMORE
	+MISSILEEVENMORE
    States
    {
    Spawn:
	    RVCG A 0 A_Look
	    TNT1 AAA 0 A_Chase
	    TNT1 AAAAAA 1 A_Chase
		Stop
	Missile:	
		TNT1 A 1 A_FaceTarget
		RVCG A 0 A_CustomMissile("PlayersRevenantBall")
        Stop
    }
}
*/
