//Terra - From Mega Man V
//Coded by Ecl1p5e, Assistant Developer and Lead Animator, Competitive Class Based Modification
//Skin by Redflash
//HUD Sprites by A.M Roulette
//Original Concept by Pr. Gibus
//gibus here time to mess with this :D

actor SparkChaserBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_VA"
dropitem "SparkChaserWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3
Weapon.SlotNumber 1
Obituary "$OB_TERRAMELEE"
Inventory.Pickupmessage "Raditz."
weapon.ammotype "ShonenAmmo"
weapon.ammotype2 "ShojoAmmo"
States
{
Spawn:
C_00 C 1
loop

Ready:
TERH A 0 ACS_ExecuteAlways(998,0,DYE_TERRA)
TERH A 0 A_GunFlash
TERH A 0 A_JumpIfInventory("SparkChaserChecker",1,"Ready2")
TERH A 0 A_TakeInventory("SparkChaserFlag",999)
TNT1 A 0 A_GiveInventory("ShonenAmmo",5)
TERH A 0 A_TakeInventory("TerraMustMelee",99)
TERH A 2 A_WeaponReady(WRF_ALLOWRELOAD)
Goto Ready+2

Ready2:
TERH A 0 A_TakeInventory("TerraMustMelee",99)
TERH A 2 A_WeaponReady(WRF_ALLOWRELOAD)
Goto Ready+2

Ready3:
TERH A 2
Goto Ready+2

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TERH A 1 A_Lower
Loop

Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
TERH A 1 A_Raise
Loop

Fire:
TERH A 0 A_JumpIfInventory("ShonenAmmo",100,2)
TERH A 0 A_GiveInventory("TerraNoAmmoFlag",1)
Goto NoAmmo
TERH A 0 A_TakeInventory("TerraNoAmmoFlag",1)
TERH A 0 A_TakeInventory("ShonenAmmo",100)
TNT1 A 0 A_GiveInventory("SliceOfEyefeTimer",70)
TERH A 0 A_TakeInventory("TerraRegenCounter",99)
TERH A 0 A_PlaySoundEx("weapon/sparkchaser","Weapon")
TERH B 1 OffSet(14,22) A_GiveInventory("TerraMain1_CI",1)
TERH B 1
Goto M1Hold
M1Hold:
TERH C 0 A_GiveInventory("SparkLaserTimer",1)
TERH CC 1 A_JumpIfInventory("SparkChaserDetFlag",1,"M1HoldEndAnim")
TERH KK 1 bright A_JumpIfInventory("SparkChaserDetFlag",1,"M1HoldEndAnim")
TERH C 0 A_Refire("M1Hold")
M1HoldEnd:
TERH B 1 A_GiveInventory("SparkChaserFlag",1)
TERH C 0 A_TakeInventory("SparkLaserTimer",999)
TNT1 A 0 A_TakeInventory("SliceOfEyefeTimer",999)
TERH AB 1
TERH L 9
TERH BBB 1 A_WeaponReady(14)
TERH A 6
Goto Ready+1

M1HoldEndAnim:
TERH B 1 A_GiveInventory("SparkChaserFlag",1)
TERH C 0 A_TakeInventory("SparkLaserTimer",999)
TERH CCCCCCCBBBAA 1 A_WeaponReady(14)
TERH A 4
Goto Ready+1

Altfire:
TERH A 0 A_JumpIfInventory("ShojoAmmo",1,2)
TERH A 0 A_GiveInventory("TerraNoAmmoFlag",1)
Goto NoAmmo
TERH A 0 A_TakeInventory("TerraNoAmmoFlag",1)
TERH A 0 A_GiveInventory("TerraAltfireFlag",1)
TERH B 2 offset(10,24)
TERH B 2 OffSet(14,22)
Altfire_Sparks:
TERH A 0 A_JumpIfInventory("ShojoAmmo",1,1)
Goto Altfire_End
TERH A 0 A_PlaySoundEx("weapon/sparkchaser2","Weapon")
TERH A 0 A_TakeInventory("ShojoAmmo",2)
Altfire_Sparks_3:
//TERH A 0 A_TakeInventory("TerraAltAnimOnce0",1)
TERH A 0 A_JumpIfInventory("ShojoAmmo",42,1)
Goto Altfire_Sparks_2
TERH A 0 A_JumpIfInventory("TerraAltAnimOnce3",1,"Sparks_Level3")
TERH A 0 A_JumpIfInventory("ShojoAmmo",42,"Sparks_Level3_X")
Altfire_Sparks_2:
TERH A 0 A_TakeInventory("TerraAltAnimOnce3",1)
TERH A 0 A_JumpIfInventory("ShojoAmmo",28,1)
Goto Altfire_Sparks_1
TERH A 0 A_JumpIfInventory("TerraAltAnimOnce2",1,"Sparks_Level2")
TERH A 0 A_JumpIfInventory("ShojoAmmo",28,"Sparks_Level2_X")
Altfire_Sparks_1:
TERH A 0 A_TakeInventory("TerraAltAnimOnce3",1)
TERH A 0 A_TakeInventory("TerraAltAnimOnce2",1)
TERH A 0 A_JumpIfInventory("ShojoAmmo",14,1)
Goto Altfire_Sparks_0
TERH A 0 A_JumpIfInventory("TerraAltAnimOnce1",1,"Sparks_Level1")
TERH A 0 A_JumpIfInventory("ShojoAmmo",14,"Sparks_Level1_X")
Altfire_Sparks_0:
TERH A 0 A_TakeInventory("TerraAltAnimOnce3",1)
TERH A 0 A_TakeInventory("TerraAltAnimOnce2",1)
TERH A 0 A_TakeInventory("TerraAltAnimOnce1",1)
TERH A 0 A_JumpIfInventory("TerraAltAnimOnce0",1,"Sparks_Level0")
Sparks_Level0_X:
TERH AAAAAAAAAA 0 A_GiveInventory("TerraAltAnimOnce0",1)
TERH A 0 A_GiveInventory("SheepSwitchChecker",1)
TERH A 0 A_TakeInventory("TerraAltAnim",1)
//TERH A 0 A_PrintBold("Level 0 X", 2)
Sparks_Level0:
TERH A 0 A_JumpIfInventory("TerraAltAnim",1,2)
TERH C 0 A_GiveInventory("TerraAlt1Fx_CI")
TERH C 1 offset(14,22)A_GiveInventory("TerraAlt1_CI")
TERH C 1 offset(11,25)
TERH C 1 offset(14,28)
TERH C 1 offset(17,22)
TERH A 0 A_GiveInventory("TerraAltAnim",1)
TERH A 0 A_ReFire("Altfire_Sparks")
Goto Altfire_End
Sparks_Level1_X:
TERH AAAAAAAAAA 0 A_GiveInventory("TerraAltAnimOnce1",1)
TERH A 0 A_GiveInventory("SheepSwitchChecker",1)
TERH A 0 A_TakeInventory("TerraAltAnim",1)
//TERH A 0 A_PrintBold("Level 1 X", 2)
Sparks_Level1:
TERH A 0 A_JumpIfInventory("TerraAltAnim",1,2)
TERH C 0 A_GiveInventory("TerraAlt2Fx_CI")
TERH C 1 offset(14,22)A_GiveInventory("TerraAlt2_CI")
TERH C 1 offset(11,25)
TERH C 1 offset(14,28)
TERH C 1 offset(17,22)
TERH A 0 A_GiveInventory("TerraAltAnim",1)
TERH A 0 A_ReFire("Altfire_Sparks")
Goto Altfire_End
Sparks_Level2_X:
TERH AAAAAAAAAA 0 A_GiveInventory("TerraAltAnimOnce2",1)
TERH A 0 A_GiveInventory("SheepSwitchChecker",1)
TERH A 0 A_TakeInventory("TerraAltAnim",1)
//TERH A 0 A_PrintBold("Level 2 X", 2)
Sparks_Level2:
TERH A 0 A_JumpIfInventory("TerraAltAnim",1,2)
TERH C 0 A_GiveInventory("TerraAlt3Fx_CI")
TERH C 1 offset(14,22)A_GiveInventory("TerraAlt3_CI")
TERH C 1 offset(11,25)
TERH C 1 offset(14,28)
TERH C 1 offset(17,22)
TERH A 0 A_GiveInventory("TerraAltAnim",1)
TERH A 0 A_ReFire("Altfire_Sparks")
Goto Altfire_End
Sparks_Level3_X:
TERH AAAAAAAAAA 0 A_GiveInventory("TerraAltAnimOnce3",1)
TERH A 0 A_GiveInventory("SheepSwitchChecker",1)
TERH A 0 A_TakeInventory("TerraAltAnim",1)
//TERH A 0 A_PrintBold("Level 3 X", 2)
Sparks_Level3:
TERH A 0 A_JumpIfInventory("TerraAltAnim",1,2)
TERH C 0 A_GiveInventory("TerraAlt4Fx_CI")
TERH C 1 offset(14,22)A_GiveInventory("TerraAlt4_CI")
TERH C 1 offset(11,25)
TERH C 1 offset(14,28)
TERH C 1 offset(17,22)
TERH A 0 A_GiveInventory("TerraAltAnim",1)
TERH A 0 A_ReFire("Altfire_Sparks")
Goto Altfire_End
Altfire_End:
TERH A 0 A_ClearRefire
TERH A 0 A_TakeInventory("TerraAltfireFlag",1)
TERH A 0 A_TakeInventory("TerraAltAnim",1)
TERH A 0 A_TakeInventory("TerraAltAnimOnce3",1)
TERH A 0 A_TakeInventory("TerraAltAnimOnce2",1)
TERH A 0 A_TakeInventory("TerraAltAnimOnce1",1)
TERH A 0 A_TakeInventory("TerraAltAnimOnce0",1)
TERH A 0 A_GiveInventory("SheepHoldChecker")
TERH B 2 OffSet(14,22)
TERH B 2 offset(10,24)
TERH A 2
TERH A 2 A_WeaponReady(WRF_NOFIRE)
TERH A 0 A_GiveInventory("SparkPacerFlag")
Goto Ready+2

Reload:
TERH A 0 A_JumpIfInventory("TerraKneeTimer",1,1)
Goto Reload+4
TERH A 0 A_GiveInventory("TerraNoAmmoFlag",1)
Goto NoAmmo
TERH A 0 A_TakeInventory("TerraNoAmmoFlag",1)
TERH A 0 ACS_NamedExecute("BULL_SetState",0,2)
TERH A 0 A_PlaySoundEx("weapon/terrateleport","SoundSlot6")
TERH A 0 ACS_NamedExecute("BULL_SetState",0,2)
TERH A 0 A_SpawnItemEx("TerraMeleeChecker",3,0,0,momx,momy,momz,0,8)
TERH A 0 A_JumpIfInventory("TerraMustMelee",1,"Release")
TERH E 1 A_ChangeVelocity(Cos(pitch)*25, 0, -sin(pitch)*25,1)
TERH A 0 A_SpawnItemEx("TerraMeleeChecker",3,0,0,momx,momy,momz,0,8)
TERH A 0 A_JumpIfInventory("TerraMustMelee",1,"Release")
TERH E 1 A_ChangeVelocity(Cos(pitch)*25, 0, -sin(pitch)*25,1)
TERH A 0 A_SpawnItemEx("TerraMeleeChecker",3,0,0,momx,momy,momz,0,8)
TERH A 0 A_JumpIfInventory("TerraMustMelee",1,"Release")
TERH E 1 A_ChangeVelocity(Cos(pitch)*25, 0, -sin(pitch)*25,1)
TERH A 0 A_SpawnItemEx("TerraMeleeChecker",3,0,0,momx,momy,momz,0,8)
TERH A 0 A_JumpIfInventory("TerraMustMelee",1,"Release")
TERH E 1 A_ChangeVelocity(Cos(pitch)*25, 0, -sin(pitch)*25,1)
TERH A 0 A_SpawnItemEx("TerraMeleeChecker",3,0,0,momx,momy,momz,0,8)
TERH A 0 A_JumpIfInventory("TerraMustMelee",1,"Release")
TERH E 1 A_ChangeVelocity(Cos(pitch)*25, 0, -sin(pitch)*25,1)
TERH A 0 A_SpawnItemEx("TerraMeleeChecker",3,0,0,momx,momy,momz,0,8)
TERH A 0 A_JumpIfInventory("TerraMustMelee",1,"Release")
TERH E 1 A_ChangeVelocity(Cos(pitch)*25, 0, -sin(pitch)*25,1)
TERH A 0 A_SpawnItemEx("TerraMeleeChecker",3,0,0,momx,momy,momz,0,8)
TERH A 0 A_JumpIfInventory("TerraMustMelee",1,"Release")
Goto Release
Release:
TERH B 0 A_PlaySoundEx("Weapon/pharaohpunchswing","Weapon")
TERH B 0 A_GiveInventory("TerraReload_CI",1)
TERH B 0 A_GiveInventory("TerraKneeTimer",61)
TERH B 0 A_GunFlash("Flash_Knee")
TERH B 0 A_ChangeVelocity(16,0,0,3)
TERH EEDDDDD 1 //A_Stop
TERH E 2 A_WeaponReady(14)
TERH A 0 A_ClearRefire
Goto Ready+2

NoAmmo:
TERH A 0 A_JumpIfInventory("TerraNoAmmoFlag",1,1)
TERH A 2
Goto Ready+2

Flash:
//TNT1 A 0 A_JumpIfInventory("SparkEyeFlag",1,)
TNT1 A 0 A_JumpIfInventory("TerraAltfireFlag",1,2)
TNT1 A 0 A_GiveInventory("ShojoAmmo",1)
TNT1 A 0 A_TakeInventory("TerraKneeTimer",1)
TNT1 A 2
EyeCheck:
TNT1 A 0 A_JumpIfInventory("SliceOfEyefeTimer",1,1)
goto EyeStop
TNT1 A 0 A_JumpIfInventory("SparkEyeFlag",1,3)
EyeStop:
TNT1 A 0 ChangeCamera(0,0,0)
TNT1 A 0 //A_GiveInventory("SliceOfEyefeTimer",4)
goto Flash
TNT1 A 0 ChangeCamera(400+TID,0,0)
TNT1 A 0 A_TakeInventory("SliceOfEyefeTimer",1)
goto Flash

Flash_Knee:
//TERH FGHHHIIJ 1
TERH FFGHHHHGIJ 1
Goto Flash
}
}

actor ShonenAmmo : Ammo
{
inventory.amount 5
inventory.maxamount 500
+INVENTORY.IGNORESKILL
}

actor ShojoAmmo : Ammo
{
inventory.amount 56
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor SliceOfEyefeTimer : Ammo
{
inventory.amount 70
inventory.maxamount 70
+INVENTORY.IGNORESKILL
}

actor TerraKneeTimer : Ammo
{
inventory.amount 0
inventory.maxamount 61
+INVENTORY.IGNORESKILL
}

actor TerraRegenCounter : Ammo
{
inventory.amount 0
inventory.maxamount 30
+INVENTORY.IGNORESKILL
}

actor SparkLaserTimer : Ammo
{
inventory.amount 0
inventory.maxamount 80
+INVENTORY.IGNORESKILL
}

actor SparkChaserFlag : Powerup
{
Powerup.Duration 5
}

actor SparkChaserDetFlag : Powerup
{
Powerup.Duration 5
}

actor SparkEyeFlag : OnceC{}

actor TerraMustMelee : OnceC{}

actor TerraNoAmmoFlag : OnceC{}

actor TerraAltfireFlag : OnceC{}

actor TerraAltAnim : OnceC{}

actor TerraAltAnimOnce0 : OnceC{}

actor TerraAltAnimOnce1 : OnceC{}

actor TerraAltAnimOnce2 : OnceC{}

actor TerraAltAnimOnce3 : OnceC{}

actor SheepSwitchChecker : Powerup
{
Powerup.Duration 1
}

actor SparkChaserChecker : Powerup
{
Powerup.Duration 5
}

actor SparkPacerFlag : Powerup
{
Powerup.Duration 10
}

actor BasicItemDelay : Powerup
{
Powerup.Duration 10
}

actor SparkChaserTerraProtectC : PowerProtection
{
Powerup.Duration 3
DamageFactor "SparkChaserTerra", 0.0
}

actor TerraSuppressorProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "Terra_Suppressor", 0.0
}

actor SparkChaserSoundCounter : Ammo
{
inventory.amount 0
inventory.maxamount 12
+INVENTORY.IGNORESKILL
}

actor TerraSparkEyeItem : BasicClassItem
{
inventory.pickupmessage "fgsfds!"
inventory.icon "VTERICON"
Tag "$TAGC_VA2"
states
{
Spawn:
AHUG Z 1
loop
Use:
TNT1 A 0 A_JumpIfInventory("BasicItemDelay",1,"ElFail")
goto RealUse//TNT1 A 0 A_JumpIfInventory("SparkChaserChecker",1,"RealUse")
ElFail:
TNT1 A 0
fail
RealUse:
TNT1 A 0 A_PlaySoundEx("item/ItemUseMM9","SoundSlot7")
TNT1 A 0 A_GiveInventory("BasicItemDelay",1)
TNT1 A 0 A_JumpIfInventory("SparkEyeFlag",1,"Take")
//TNT1 A 0 ChangeCamera(400+TID,0,0)
TNT1 A 0 A_GiveInventory("TerraSparkEyeItem2",1)
TNT1 A 0 A_GiveInventory("SparkEyeFlag",1)
stop
Take:
TNT1 A 0 A_GiveInventory("TerraSparkEyeItem",1)
TNT1 A 0 A_TakeInventory("SparkEyeFlag",1)
//TNT1 A 10 ChangeCamera(0,0,0)
stop
}
}

actor TerrAuch : CustomInventory
{//Cambiaso
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("SparkChaserChecker",1,"Yes")
stop
Yes:
TNT1 A 0 A_GiveInventory("OuchMyTerra",1)
stop
}
}

actor OuchMyTerra : Powerup
{
Powerup.Duration 15
}

  actor TerraSparkEyeItem2 : TerraSparkEyeItem {
  inventory.icon "TERICONX"
  Tag "$TAGC_VA3"
  }

actor TerraMain1_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("TerraClassSparkChaser",0,0,-4,5)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("TerraClassSparkChaserB",0,0,-4,5)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("TerraClassSparkChaserR",0,0,-4,5)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("TerraClassSparkChaserO",0,0,-4,5)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("TerraClassSparkChaserP",0,0,-4,5)
goto Done
}
}

actor TerraAlt1_CI : TeamColor_CI
{
states
{
FireX:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAlt",frandom(-8,8),0,-6,4,0,frandom(-4.5,4.5))
goto Done
FireB:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltB",frandom(-8,8),0,-6,4,0,frandom(-4.5,4.5))
goto Done
FireR:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltR",frandom(-8,8),0,-6,4,0,frandom(-4.5,4.5))
goto Done
FireO:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltO",frandom(-8,8),0,-6,4,0,frandom(-4.5,4.5))
goto Done
FireP:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltP",frandom(-8,8),0,-6,4,0,frandom(-4.5,4.5))
goto Done
}
}

actor TerraAlt2_CI : TeamColor_CI
{
states
{
FireX:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAlt",frandom(-6,6),0,-6,4,0,frandom(-3.5,3.5))
goto Done
FireB:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltB",frandom(-6,6),0,-6,4,0,frandom(-3.5,3.5))
goto Done
FireR:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltR",frandom(-6,6),0,-6,4,0,frandom(-3.5,3.5))
goto Done
FireO:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltO",frandom(-6,6),0,-6,4,0,frandom(-3.5,3.5))
goto Done
FireP:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltP",frandom(-6,6),0,-6,4,0,frandom(-3.5,3.5))
goto Done
}
}

actor TerraAlt3_CI : TeamColor_CI
{
states
{
FireX:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAlt",frandom(-4,4),0,-6,4,0,frandom(-2.5,2.5))
goto Done
FireB:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltB",frandom(-4,4),0,-6,4,0,frandom(-2.5,2.5))
goto Done
FireR:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltR",frandom(-4,4),0,-6,4,0,frandom(-2.5,2.5))
goto Done
FireO:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltO",frandom(-4,4),0,-6,4,0,frandom(-2.5,2.5))
goto Done
FireP:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltP",frandom(-4,4),0,-6,4,0,frandom(-2.5,2.5))
goto Done
}
}

actor TerraAlt4_CI : TeamColor_CI
{
states
{
FireX:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAlt",frandom(-2,2),0,-6,4,0,frandom(-1.5,1.5))
goto Done
FireB:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltB",frandom(-2,2),0,-6,4,0,frandom(-1.5,1.5))
goto Done
FireR:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltR",frandom(-2,2),0,-6,4,0,frandom(-1.5,1.5))
goto Done
FireO:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltO",frandom(-2,2),0,-6,4,0,frandom(-1.5,1.5))
goto Done
FireP:
RBUH A 0 A_FireCustomMissile("TerraClassSparkChaserAltP",frandom(-4,4),0,-6,4,0,frandom(-2.5,2.5))
goto Done
}
}

actor TerraAlt1Fx_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing1",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireB:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing1B",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireR:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing1R",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireO:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing1O",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireP:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing1P",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
}
}

actor TerraAlt2Fx_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing2",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireB:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing2B",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireR:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing2R",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireO:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing2O",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireP:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing2P",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
}
}

actor TerraAlt3Fx_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing3",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireB:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing3B",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireR:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing3R",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireO:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing3O",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireP:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing3P",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
}
}

actor TerraAlt4Fx_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing4",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireB:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing4B",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireR:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing4R",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireO:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing4O",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
FireP:
TNT1 A 0 A_SpawnItemEx("TerraHoldRing4P",0,0,0,0,0,0,0,SXF_SETMASTER)
goto Done
}
}

actor TerraReload_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("TerraMelee",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("TerraMeleeB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("TerraMeleeR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("TerraMeleeO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("TerraMeleeP",0,0,0,0)
goto Done
}
}

actor TerraNullOrbiter_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("ShieldCheck",1)
TNT1 A 0 A_SpawnItemEX("TerraNullOrbiterWarper",48,16,32,0,0,0,0,1)
TNT1 A 0 A_PlaySoundEX("weapon/TerraOrbiterCast","Weapon")
stop
}
}

actor TerraNullOrbiterWarper : ShieldWarper_CBM
{
-MISSILE
renderstyle none
states
{
Shield:
TNT1 A 0 A_SpawnItemEx("TerraNullOrbiterWarperFX",32,0,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("TerraNullOrbiterWarperFX",32,0,0,0,0,0,120,1)
TNT1 A 0 A_SpawnItemEx("TerraNullOrbiterWarperFX",32,0,0,0,0,0,240,1)
TNT1 A 0 A_ChangeFlag("MISSILE",1)
Shield2:
PLY1 A 1 A_Warp(2,48,16,32,0,8|64)
Loop
}
}

actor TerraNullOrbiterWarperFX : BasicClientSide
{
scale 2.5
states
{
Spawn:
T_RR M 0
T_RR M 1
T_RR M 0 A_Warp(2,32,0,0,12,4|8|16,"Spawn")
//TNT1 A 0 A_CheckFlag("NOGRAVITY","Spawn",2)
stop
}
}

actor Terra_NullOrbiter
{
var int user_angle;
PROJECTILE
translation "204:204=204:204","195:195=206:206"
Obituary "$OB_TERRASTUN"
DamageType "Terra_Stopper"
+THRUACTORS
+DONTREFLECT
RenderStyle None
damage (0)
Radius 8
Height 8
speed 40
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("Terra_NullOrbiterFX",32,0,0,0,0,momz*0.5,0+user_angle,1)
TNT1 A 0 A_SpawnItemEx("Terra_NullOrbiterFX",32,0,0,0,0,momz*0.5,120+user_angle,1)
TNT1 A 0 A_SpawnItemEx("Terra_NullOrbiterFX",32,0,0,0,0,momz*0.5,240+user_angle,1)

TNT1 A 1 A_SetUserVar("user_angle",user_angle+12)
TNT1 A 0 A_Explode(3,48,0,0,48)
loop
}
}
actor Terra_NullOrbiterB : Terra_NullOrbiter{translation "204:204=205:205","195:195=74:74"}
actor Terra_NullOrbiterR : Terra_NullOrbiter{translation "204:204=171:171","195:195=41:41"}
actor Terra_NullOrbiterO : Terra_NullOrbiter{translation "204:204=104:104","195:195=128:128"}
actor Terra_NullOrbiterP : Terra_NullOrbiter{translation "204:204=229:229","195:195=232:232"}

actor Terra_NullOrbiterFX : BasicClientSide
{
+BRIGHT
states
{
Spawn:
T_RR M 0
T_RR M 1 A_SpawnItemEX("Terra_NullOrbiterFX2",0,0,0,0,0,0,0,1)
stop
}
}

actor Terra_NullOrbiterFX2 : BasicClientSide
{
+BRIGHT
alpha 0.5
renderstyle translucent
states
{
Spawn:
TNT1 A 0
TNT1 A 1
//Y_VA AAAA 2 A_SetScale(scalex-0.5)
T_RR M 2 A_SetScale(scalex-0.5)
T_RR M 2 A_SetScale(scalex-0.5)
T_RR N 2
T_RR N 2 A_SetScale(scalex-0.5)
stop
}
}

actor TerraMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Terra_NullOrbiter",0,1,0,8)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Terra_NullOrbiterB",0,1,0,8)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Terra_NullOrbiterR",0,1,0,8)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Terra_NullOrbiterO",0,1,0,8)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Terra_NullOrbiterP",0,1,0,8)
goto Done
}
}
