


ACTOR MAnnixApocalypse
{
  tag "Cyber Annihilator Apocalypse"
  Obituary "%o met an apocalyptic end by Kuzkina mother"
  Health 5000 //3250
  Radius 40 
  Height 110 
  Mass 1000 
  Speed 12 
  PainChance 20 //30
  MONSTER
  +BOSS
  +FLOORCLIP
  +NORADIUSDMG
  +DONTMORPH
  +MISSILEMORE
  +QUICKTORETALIATE
  SeeSound "monster/annsit" 
  PainSound "cyber/pain" 
  DeathSound "monster/anndth" 
  ActiveSound "cyber/active" 

  dropitem "MMegaSphere" 96 //added

  PainThreshold 200 //added
  +ALWAYSFAST //added

  PainChance "Control", 255
  DamageFactor "Control", 1
  
  // Takes damage from 
  DamageFactor "MarineDamage", 1
  DamageFactor "MarineRLDamage", 1 
  DamageFactor "MarineRail", 0.9
  DamageFactor "MarineSuperweapon", 0.15
  DamageFactor "BFGSplash", 1
  
  DamageFactor "CybRLDamage", 0
  DamageFactor "CybYamato", 0.12 //0.1 / does no damage to actor, but to other actor of same type
  DamageFactor "ImpBallDamage", 1
  DamageFactor "ZombiesDamage", 1
  DamageFactor "CacoDamage", 1
  DamageFactor "SkelDamage", 1
  DamageFactor "FatsoDamage", 1
  DamageFactor "KnightDamage", 1
  DamageFactor "ArachDamage", 1
  DamageFactor "viledamage", 1
  
  SPECIES "MonsterCyberSpecies"
  +NOINFIGHTING

States 
   {    
   Spawn: 
       ANNI A 10 A_Look 
       ANNI B 10 
       ANNI A 0 Thing_SetSpecial (0,226,409,0,health)
       Loop 
   See: 
       ANNI A 2 A_Playsound ("monster/anhoof")
       ANNI A 2 A_Chase
       ANNI ABB 4 A_Chase 
       ANNI C 2 A_Playsound ("monster/anhoof")
       ANNI C 2 A_Chase
       ANNI CDD 4 A_Chase
       ANNI A 0 A_JumpIf (special != 226,1) 
       loop	
       ANNI A 0 Thing_SetSpecial (0,226,409,0,health)
       goto see 
   Missile:
       ANNI E 1 A_Jump (160,7) //0
       ANNI E 6 A_FaceTarget
       ANNI F 0 Bright A_CustomMissile ("PCybRocket",40,22,3)
       ANNI F 12 Bright A_CustomMissile ("PCybRocket",40,-22,-3)
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("PCybRocket",40,22,-2)
       ANNI F 12 Bright A_CustomMissile ("PCybRocket",40,-22,2) 
       Goto See
       ANNI E 6 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("PCybRocket2",40,22,1)
       ANNI F 12 Bright A_CustomMissile ("PCybRocket2",40,-22,-1)
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("PCybRocket2",40,22,0)
       ANNI F 12 Bright A_CustomMissile ("PCybRocket2",40,-22,0) 
			ANNI E 1 A_FaceTarget
			ANNI F 65 bright A_PlaySound("m_apocalypse_taunt", CHAN_AUTO, 1, 0, ATTN_NONE)
			ANNI F 30 bright A_PlaySound("Weapons/YamatoCharge", CHAN_AUTO, 1, 0, ATTN_NONE)
	   		ANNI F 0 bright A_CustomMissile ("MYamatoFakeFade",32,0,0)
			ANNI F 0 bright A_CustomMissile ("MYamatoFaky1",32,0,0)
			ANNI F 0 bright A_CustomMissile ("MYamatoFaky2",32,0,0)
			ANNI F 0 bright A_CustomMissile ("MYamatoBomb",32,0,0)
				ANNI F 0 DamageThing(200)
       Goto See 
   Pain: 
       ANNI G 10 A_Pain 
       Goto See 
   Death.Control:
       TNT1 A 0 ACS_Execute(410,0,45)
       TNT1 A 10
       stop
   Death: 
       ANNI H 10 Bright //A_GiveToTarget ("MarineExp",30)
       ANNI I 10 Bright A_Scream 
       ANNI JKL 10 Bright
       ANNI M 10 Bright A_NoBlocking 
       ANNI NO 10 Bright
       ANNI P 30 
       ANNI P -1 A_BossDeath
	   stop
   } 
}






ACTOR MYamatoBomb
{
	Radius 12
	Height 8
	Speed 150
	Damage 0
	PROJECTILE
	+EXPLODEONWATER
	+NOEXTREMEDEATH //added
	Renderstyle Add
	Scale 2.5
	Alpha 0.9
	DamageType "CybYamato"
	States
	{
	Spawn:
		YAS3 ABCD 2 bright A_Explode(100,128,0)
		Loop
	Death:
			YAS3 AB 2 Bright
        	TNT1 A 0 A_PlaySound("Weapons/YamatoHizz",6)
			YAS3 CD 2 Bright
        	TNT1 A 0 A_SpawnItemEx("MYamatoShockInverse",0,0,0,0,0,0,0,128,0)
			YAS3 ABCDAB 2 bright A_FadeOut(0.1)
			TNT1 A 1 A_SpawnItemEx("MYamatoHit",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
        	stop
	}
}

ACTOR MYamatoHit
{
	+NOGRAVITY
	+NOINTERACTION
	States
	{
	Spawn:
		TNT1 A 0 Radius_Quake(99999,100,0,100,0)
        TNT1 A 0 A_PlaySound("Weapons/YamatoBlast",6)
		TNT1 A 0 A_SpawnItemEx("MYamatoIllumination",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoShockwave",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoDamageAbuse",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoDamageLethal",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoSpinalCord",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoGroundSpin",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoShocker",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoExploder",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		//TNT1 A 0 A_SpawnItemEx("YamatoShroom",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoBasis",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoShroomer",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoAfterBoomEffect",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
        TNT1 A 1
        stop
	}
}

ACTOR MYamatoFakeFade
{
	Radius 12
	Height 8
	PROJECTILE
	Renderstyle Add
	+EXPLODEONWATER
	+CLIENTSIDEONLY
	Scale 1
	Speed 150
	States
	{
	Spawn:
		TNT1 A 0 A_SpawnItemEx("MYamatoBombTrail2",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,128,0)
        TNT1 A 1 Bright A_SpawnItemEx("MYamatoBombTrail",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,128,0)
		TNT1 B 0 A_SpawnItemEx("MYamatoBombTrail2",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,128,0)
        TNT1 B 1 Bright A_SpawnItemEx("MYamatoBombTrail",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,128,0)
		Loop
	Death:
		TNT1 AB 1 A_FadeOut(0.1)
		Wait
	}
}

ACTOR MYamatoFaky1 : MYamatoFakeFade
{
	Scale 3
	Alpha 0.3
	States
	{
	Spawn:
        YAS3 ABCD 3 Bright
		Loop
	Death:
		YAS3 ABCD 3 Bright A_FadeOut(0.025)
		Wait
	}
}

ACTOR MYamatoFaky2 : MYamatoFakeFade
{
	Scale 4
	Alpha 0.25
	States
	{
	Spawn:
        YAS3 DCBA 4 Bright
		Loop
	Death:
		YAS3 DCBA 4 Bright A_FadeOut(0.015)
		Wait
	}
}

ACTOR MYamatoBombTrail : MYamatoFakeFade
{
	Speed 0
	Scale 3
	Alpha 0.15
	States
	{
	Spawn:
        YAS1 AB 1 Bright A_FadeOut(0.02)
		Loop
	}
}

ACTOR MYamatoBombTrail2 : MYamatoFakeFade
{
	Speed 0
	Scale 1.5
	Alpha 0.35
	States
	{
	Spawn:
        YAE1 ABCBA 1 Bright
        YAS2 ABCDEF 1 Bright
		Stop
	}
}

ACTOR MYamatoShockInverse
{
	+NOGRAVITY
	+NOINTERACTION
	+CLIENTSIDEONLY
	Renderstyle Add
	Scale 2
	States
	{
	Spawn:
        YAE3 SRQPONMLKJIHGFEDCBA 1 Bright
		Stop
	}
}

ACTOR MYamatoIllumination
{
	+NOGRAVITY
	+NOINTERACTION
	+CLIENTSIDEONLY
	Renderstyle Add
	Alpha 1
	Scale 5.5
	States
	{
	Spawn:
        YAE4 A 1 Bright A_FadeOut(0.0075)
		Wait
	}
}

ACTOR MYamatoShockwave
{
	+NOINTERACTION
	+NOCLIP
	+NOGRAVITY
	States
	{
	Spawn:
			TNT1 A 0
			TNT1 AAAAA 0 A_SpawnItemEx("MYamatoShock4",0.1*random(10,-10),0.1*random(10,-10),0.1*random(10,-10),2*random(4.25,3.25),0.1*random(6,-6),0.1*random(6,-6),random(0,359),128,0)
			TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MYamatoExploder",0.1*random(10,-10),0.1*random(10,-10),0.1*random(10,-10),5*random(4.25,3.25),0.1*random(6,-6),0.1*random(6,-6),random(0,359),SXF_TRANSFERPOINTERS,0)
			TNT1 AAAAAAAA 0 A_SpawnItemEx("MYamatoAfterBoomEffect",0.1*random(10,-10),0.1*random(10,-10),0.1*random(10,-10),2.5*random(4.25,3.25),0.1*random(6,-6),0.1*random(6,-6),random(0,359),128,0)
			TNT1 A 1
			Stop
	}
}

ACTOR MYamatoDamageAbuse
{
	+NOGRAVITY
	+NOINTERACTION
	+FORCERADIUSDMG
	+NOEXTREMEDEATH //added
	DamageType "CybYamato"
	States
	{
	Spawn:
        	TNT1 A 0
        	TNT1 A 0 A_Explode(10000,2048,0,1)
        	TNT1 A 0 A_Explode(5000,4096,0,1)
        	TNT1 A 1
			Stop
	}
}

ACTOR MYamatoDamageLethal
{
	+NOGRAVITY
	+NOINTERACTION
	+NOEXTREMEDEATH //added
	DamageType "CybYamato"
   	Obituary "%o was battlecruiser operationed by %k's ''Yamato'' cannon."
	States
	{
	Spawn:
        	TNT1 A 0
        	TNT1 A 0 A_Explode(1000,512)
        	TNT1 A 0 A_Explode(100,3072)
        	TNT1 A 1
			Stop
	}
}

ACTOR MYamatoShocker
{
	+NOGRAVITY
	+CLIENTSIDEONLY
	+NOINTERACTION
	States
	{
	Spawn:
		TNT1 A 20 A_SpawnItemEx("MYamatoShock1",0,0,0,0,0,0,0,128,0)
		TNT1 A 20 A_SpawnItemEx("MYamatoShock2",0,0,0,0,0,0,0,128,0)
		TNT1 A 20 A_SpawnItemEx("MYamatoShock3",0,0,0,0,0,0,0,128,0)
		TNT1 A 20 A_SpawnItemEx("MYamatoShock4",0,0,0,0,0,0,0,128,0)
		TNT1 A 20 A_SpawnItemEx("MYamatoShock5",0,0,0,0,0,0,0,128,0)
		Stop
	}
}

ACTOR MYamatoShock1
{
	+NOGRAVITY
	+CLIENTSIDEONLY
	+NOINTERACTION
	Renderstyle Add
	Scale 12
	States
	{
	Spawn:
        YAE3 ABCDEFGHIJKLMNOPQRS 3 Bright
		Stop
	}
}

ACTOR MYamatoShock2 : MYamatoShock1
{
	Scale 10
}

ACTOR MYamatoShock3 : MYamatoShock1
{
	Scale 8
}

ACTOR MYamatoShock4 : MYamatoShock1
{
	Scale 6
}

ACTOR MYamatoShock5 : MYamatoShock1
{
	Scale 4
}



ACTOR MYamatoExploder
{
	+NOGRAVITY
	+NOINTERACTION
	Renderstyle Add
	ReactionTime 25
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 4 A_SpawnItemEx("MYamatoExplode",random(-700,700),random(-700,700),15+random(-150,150),0,0,2+random(-2,2),0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_Countdown
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoExplode
{
	+NOGRAVITY
	+NOINTERACTION
	Renderstyle Add
	+CLIENTSIDEONLY
	SeeSound ""
	Scale 2
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Weapons/YamatoExp")
        TNT1 A 16 Bright A_SpawnItemEx("MYamatoExplodeFade",random(-65,65),random(-65,65),random(-65,65),0,0,2+random(-1,0),0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 6
		Stop
	}
}

ACTOR MYamatoExplodeFade
{
	+NOGRAVITY
	+NOINTERACTION
	+FORCERADIUSDMG
	+NOEXTREMEDEATH //added
	DamageType "CybYamato"
	Renderstyle Add
	Alpha 0.75
	Scale 2
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Explode(150,192,0)
		TNT1 A 15 Bright
        //YAE2 ABCDEFGHIJKLMNO 1 Bright
		TNT1 A 12//YAE2 PQRSTU 2
		Stop
	}
}

ACTOR MYamatoSpinalCord
{
	+NOGRAVITY
	+NOINTERACTION
	ReactionTime 80
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 ThrustThingZ(0, 2, 0, 1)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_SetAngle(8 + angle)
		TNT1 A 0 A_Countdown

		TNT1 A 0 ThrustThingZ(0, 2, 0, 1)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_SetAngle(8 + angle)
		TNT1 A 0 A_Countdown


		TNT1 A 0 ThrustThingZ(0, 2, 0, 1)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_SetAngle(8 + angle)
		TNT1 A 0 A_Countdown


		TNT1 A 0 ThrustThingZ(0, 2, 0, 1)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeCord",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_SetAngle(8 + angle)
		TNT1 A 0 A_Countdown
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoExplodeCord : MYamatoExplode
{
	Speed 45
}

ACTOR MYamatoGroundSpin
{
	+NOGRAVITY
	+NOINTERACTION
	ReactionTime 120
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_SetAngle(6 + angle)
		TNT1 A 0 A_Countdown

		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_SetAngle(6 + angle)
		TNT1 A 0 A_Countdown


		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_SetAngle(6 + angle)
		TNT1 A 0 A_Countdown

		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("MYamatoExplodeSpin",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_SetAngle(6 + angle)
		TNT1 A 0 A_Countdown
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoExplodeSpin : MYamatoExplode
{
	Speed 55
}

ACTOR MYamatoShroom
{
	+NOGRAVITY
	+NOINTERACTION
	ReactionTime 80
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 ThrustThingZ(0, 2, 0, 1)
		TNT1 A 0 A_SpawnItemEx("MYamatoExplode",random(-200,200),random(-200,200),15+random(-70,70),0,0,2+random(-2,2),0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 1 A_SpawnItemEx("MYamatoExplode",random(-200,200),random(-200,200),15+random(-70,70),0,0,2+random(-2,2),0,SXF_TRANSFERPOINTERS,0)

		TNT1 A 0 A_Countdown
		Loop
	Death:
		TNT1 A 0 A_SpawnItemEx("MYamatoAirplode",0,0,0,0,0,0,0,128,0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MYamatoExplode",frandom(-1000,1000),frandom(-1000,1000),15+frandom(-400,400),0,0,2+random(-2,2),0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoShock3",0,0,0,0,0,0,0,128,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoExploder",0,0,0,0,0,0,0,128,0)
		TNT1 A 0 A_SpawnItemEx("MYamatoAfterboomEffectAir",0,0,0,0,0,0,0,128,0)
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoAirplode
{
	+NOGRAVITY
	+NOINTERACTION
	ReactionTime 95
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 AAAA 0 A_SpawnItemEx("MYamatoExplode",0.1*frandom(-10000,10000),0.1*frandom(-10000,10000),15+frandom(-400,400),0,0,2+random(-2,2),0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 1 A_Countdown
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoShroomer
{
	+NOGRAVITY
	+NOINTERACTION
	ReactionTime 8
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 ThrustThingZ(0, 16, 0, 1)
		TNT1 A 0 A_SpawnItemEx("MYamatoMidplode",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 10

		TNT1 A 0 A_Countdown
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoMidplode
{
	+NOGRAVITY
	+NOINTERACTION
	ReactionTime 25
	States
	{
	Spawn:
		TNT1 A 0
		//TNT1 AAA 0 A_SpawnItemEx("YamatoAfterFade",0.1*frandom(-2000,2000),0.1*frandom(-2000,2000),15+frandom(-90,90),random(-20,20),random(-20,20),0,random(0,359),SXF_TRANSFERPOINTERS,0)
		TNT1 A 4 A_SpawnItemEx("MYamatoExplode",0.1*frandom(-2000,2000),0.1*frandom(-2000,2000),15+frandom(-90,90),0,0,2+random(-2,2),0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 0 A_Countdown
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoBasis
{
	+NOGRAVITY
	+NOINTERACTION
	ReactionTime 4
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 ThrustThingZ(0, 8, 0, 1)
		TNT1 A 10 A_SpawnItemEx("MYamatoExploder",frandom(-300,300),frandom(-300,300),frandom(-150,150),0,0,0,0,SXF_TRANSFERPOINTERS,0)

		TNT1 A 0 A_Countdown
		Loop
	Death:
		TNT1 A 0 A_SpawnItemEx("MYamatoAfterboomEffect",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoAfterBoomEffect
{
	+NOGRAVITY
	+NOINTERACTION
	+CLIENTSIDEONLY
	ReactionTime 120
	States
	{
	Spawn:
        	TNT1 A 0
        	TNT1 A 0 A_Countdown
        	//TNT1 A 1 A_SpawnItemEx("YamatoAfterFade",0.1*random(-7000,7000),0.1*random(-7000,7000),15+random(-150,150),random(-20,20),random(-20,20),0,random(0,359),SXF_TRANSFERPOINTERS,0)
			Loop
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR MYamatoAfterBoomEffectAir : MYamatoAfterBoomEffect
{
	ReactionTime 100
}

ACTOR MYamatoAfterFade //Removed to improve FPS
{
	+NOGRAVITY
	+CLIENTSIDEONLY
	+NOINTERACTION
	Renderstyle Add
	Scale 0.5
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 ThrustThingZ(0, 6, 0, 1)
		YAS2 AAA 1 Bright A_SpawnItemEx("MYamatoAfterFadeTrail",0,0,random(-5,5),random(-5,5),0,0,0,128,0)

		TNT1 A 0 ThrustThingZ(0, 4, 0, 1)
		YAS2 BBB 1 Bright A_SpawnItemEx("MYamatoAfterFadeTrail",0,0,random(-5,5),random(-5,5),0,0,0,128,0)

		TNT1 A 0 ThrustThingZ(0, 6, 0, 1)
        YAS2 CCC 1 Bright A_SpawnItemEx("MYamatoAfterFadeTrail",0,0,random(-5,5),random(-5,5),0,0,0,128,0)
        
		TNT1 A 0 ThrustThingZ(0, 4, 0, 1)
        YAS2 DDD 1 Bright A_SpawnItemEx("MYamatoAfterFadeTrail",0,0,random(-5,5),random(-5,5),0,0,0,128,0)
        
		TNT1 A 0 ThrustThingZ(0, 6, 0, 1)
        YAS2 EEE 1 Bright A_SpawnItemEx("MYamatoAfterFadeTrail",0,0,random(-5,5),random(-5,5),0,0,0,128,0)
        
		TNT1 A 0 ThrustThingZ(0, 4, 0, 1)
		YAS2 FFF 1 Bright A_SpawnItemEx("MYamatoAfterFadeTrail",0,0,random(-5,5),random(-5,5),0,0,0,128,0)
		Stop
	}
}

ACTOR MYamatoAfterFadeTrail //Removed to improve FPS
{
	+NOGRAVITY
	+NOINTERACTION
	+CLIENTSIDEONLY
	Renderstyle Add
	Alpha 1
	Scale 0.5
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 6 Bright
        //YAS2 ABCDEF 1 Bright A_FadeOut(0.1)
		Stop
	}
}

