actor CentaurFlashBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_6B"
dropitem "CentaurmanWepDroppedX"
Weapon.AmmoUse 0
Weapon.AmmoUse2 18
Weapon.AmmoGive 28
Obituary "$OB_CENTAURFLASH"
Inventory.Pickupmessage "You got the Centaur Buster!"
weapon.ammotype "ClipClopAmmo"
weapon.ammotype2 "ClipClopAmmo"
States
{
Spawn:
C_06 B 1
loop
Ready:
CENB A 0 ACS_ExecuteAlways(998,0,DYE_CENTAURMAN)
CENB A 0 A_GunFlash
goto Ready1
Ready1:
CENB A 0 A_JumpIfInventory("ClipClopAmmo",18,"Ready2")
CENB A 4 A_WeaponReady(8)
CENB A 0 A_JumpIfInventory("WarpGo",1,"Ready1a")
CENB A 0 A_GiveInventory("ClipClopAmmo",1)
CENB A 0
loop
Ready1a:
CENB A 1 A_WeaponReady(8)
CENB A 0 A_JumpIfInventory("WarpGo",1,"Ready1a")
CENB A 0 A_GiveInventory("ClipClopAmmo",1)
goto Ready1
Ready2:
CENB A 4 A_WeaponReady
CENB A 0 A_JumpIfInventory("WarpGo",1,"Ready1a")
CENB A 0 A_GiveInventory("ClipClopAmmo",1)
CENB A 0
loop

Deselect:
CENB AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
CENB A 1 A_Lower
Loop
Select:
CENB AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
CENB A 1 A_Raise
Loop

Fire:
CENB A 0 A_JumpIfInventory("IsBot",1,"BotFire")
CENB A 0 A_PlaySoundEx("weapon/CentShot","Weapon")
CENB B 2 A_GiveInventory("CentaurmanMain_CI",1)
CENB B 2 A_GiveInventory("ClipClopAmmo",1)
CENB C 4
CENB A 9
goto Ready1
AltFire:
CENB A 0 A_JumpIfInventory("WarpGo",1,"NoAmmo")
CENB A 0 A_GiveInventory("VivifyDelay5",1)
CENB A 0 A_Refire(1)
CENB A 0 A_PlaySoundEx("weapon/centaurflash","Body")
CENB A 0 A_GiveInventory("Repulsion",1)
CENB A 0 A_FireCustomMissile("CentaurmanFlashCC",0,0,0,0)
CENB A 0 A_GiveInventory("CentaurmanAlt_CI",1)
CENB A 5 A_SetBlend(white,0.95,5)
CENB A 10
Goto Ready1
NoAmmo:
CENB A 0
Goto Ready1
Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WarpGo",1,"Flash.CentWarp")
TNT1 A 1
loop
Flash.CentWarp:
TNT1 A 0 A_GiveInventory("CentaurWarpStart_P",1)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.9,0)
TNT1 A 1 A_SetTranslucent(0.8,0)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.7,0)
TNT1 A 1 A_SetTranslucent(0.6,0)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.5,0)
TNT1 A 1 A_SetTranslucent(0.4,0)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.3,0)
TNT1 A 1 A_SetTranslucent(0.2,0)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.1,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_TakeInventory("UnSolid",99)
TNT1 A 0 A_ChangeFlag("SOLID",0)
TNT1 A 0 A_ChangeFlag("THRUSPECIES",1)
TNT1 A 1 A_SetTranslucent(0.0,0)
TNT1 A 0 A_Stop
TNT1 A 1 A_ChangeVelocity(cos(pitch)*500,0,-sin(pitch)*500,3)//A_Recoil(-500)
TNT1 A 1 A_Stop
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_ChangeFlag("THRUSPECIES",0)
TNT1 A 0 A_SpawnItemEx("ResolidifyPlayer_H")
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.1,0)
TNT1 A 0 A_TakeInventory("WarpGo",1)
TNT1 A 0 A_PlaySoundEx("weapon/portout","SoundSlot7")
TNT1 A 1 A_SetTranslucent(0.2,0)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.3,0)
TNT1 A 1 A_SetTranslucent(0.4,0)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.5,0)
TNT1 A 1 A_SetTranslucent(0.6,0)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.7,0)
TNT1 A 1 A_SetTranslucent(0.8,0)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
TNT1 A 1 A_SetTranslucent(0.9,0)
TNT1 A 0 A_GiveInventory("CentaurWarpEnd_P",1)
TNT1 A 1 A_SetTranslucent(1.0,0)
goto Flash

BotFire:
CENB A 0 A_JumpIfCloser(1000,2)
CENB A 0 A_JumpIfInventory("ClipClopAmmo",28,"BotFireWarp")
CENB A 0 A_JumpIfInventory("ClipClopAmmo",18,"BotFireAlt")
CENB A 0 A_JumpIfInventory("ClipClopAmmo",10,"BotFire2")
CENB A 0 A_GiveInventory("BotRetreatFlag",1)
CENB A 0 A_Jump(128,"BotFireRetreat")
BotFireWait:
CENB A 4
CENB A 0 A_GiveInventory("ClipClopAmmo",random(1,2))
CENB A 0 A_TakeInventory("BotRetreatFlag",999)
Goto Ready1
BotFire2:
TNT1 A 0 A_Jump(128,"BotFireWait")
goto Fire+1
BotFireRetreat:
CENB A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
CENB A 0 A_FireCustomMissile("CentaurShot",0,0,8,0)
CENB BC 4
CENB A 9
CENB A 0 A_TakeInventory("BotRetreatFlag",999)
goto Ready1
BotFireAlt:
TNT1 A 0 A_JumpIfCloser(500,1)
goto Fire+1
TNT1 A 0 A_TakeInventory("ClipClopAmmo",18)
goto AltFire
BotFireWarp:
TNT1 A 0 A_GiveInventory("WarpGo",1)
goto Fire+1
}
}

actor ClipClopAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor WarpGo : OnceC{}

actor WarpItem : BasicClassItem
{
inventory.icon "CentIcon"
inventory.pickupmessage "I hope no one realizes I'm really a girl... Oh, Knight Man..."
Tag "Perform Centuar Warp"
states
{
Spawn:
CENB Z 1
loop
Use:
TNT1 A 0 A_JumpIfInventory("ClipClopAmmo",14,"Use2")
fail
Use2:
TNT1 A 0 A_GiveInventory("WarpGo",1)
fail
}
}


actor CentaurWarpStart_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/portin","SoundSlot7")
TNT1 A 0 ACS_NamedExecuteAlways("core_cantseekplayer",0,0,true)
TNT1 A 0 A_TakeInventory("ClipClopAmmo",14,1)
stop
}
}
actor CentaurWarpEnd_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteAlways("core_cantseekplayer",0,0,false)
TNT1 A 0 A_TakeInventory("WarpGo",1)
stop
}
}

actor CentaurShot
{
Translation "204:204=210:210"
PROJECTILE
damagetype "CentaurM_Shot"
Obituary "$OB_CENTAURBUSTER"
+SKYEXPLODE
+EXPLODEONWATER
+FORCEXYBILLBOARD
+BRIGHT
Damage (160)
radius 7
height 7
Speed 35
scale 2.5
States
{
Spawn:
TNT1 A 2
CENB E 1
wait
XDeath:
Crash:
TNT1 A 1
stop
Death:
TNT1 A 0 A_SpawnItemEx("CentaurShotBit",0,0,0,28,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("CentaurShotBit",0,0,0,28,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("CentaurShotBit",0,0,0,28,0,0,-90,1)
TNT1 A 0 A_SpawnItemEx("CentaurShotBit",0,0,0,28,0,0,-135,1)
TNT1 A 0 A_SpawnItemEx("CentaurShotBit",0,0,0,28,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("CentaurShotBit",0,0,0,28,0,0,135,1)
TNT1 A 0 A_SpawnItemEx("CentaurShotBit",0,0,0,28,0,0,45,1)
TNT1 A 0 A_SpawnItemEx("CentaurShotBit",0,0,0,28,0,0,-45,1)
TNT1 A 1
stop
}
}

actor CentaurShotB : CentaurShot{translation "204:204=205:205"}
actor CentaurShotR : CentaurShot{translation "204:204=171:171"}
actor CentaurShotO : CentaurShot{translation "204:204=104:104"}
actor CentaurShotP : CentaurShot{translation "204:204=229:229"}

actor CentaurShotBit : CentaurShot
{
Damage (100)
radius 6
height 6
Speed 28
States
{
Spawn:
CENB E 14
stop
Death:
TNT1 A 1
stop
}
}

actor CentaurShot2 : CentaurShot
{
States
{
Death:
TNT1 A 1
stop
}
}
actor CentaurShot2B : CentaurShot2{translation "204:204=205:205"}
actor CentaurShot2R : CentaurShot2{translation "204:204=171:171"}
actor CentaurShot2O : CentaurShot2{translation "204:204=104:104"}
actor CentaurShot2P : CentaurShot2{translation "204:204=229:229"}

actor CentaurmanFlash : BasicExplosion
{
Translation "192:192=4:4"
Obituary "$OB_CENTAURFLASH"
damagetype "CentaurM_Flash"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CentaurmanFlashRingFX",0,0,0,0,0,0,random(0,35),1)
TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("CentaurmanFlashFX",0,0,28,22,0,random2(256/12),random(0,359),1)
TNT1 A 2 A_Explode(100,512,0,0,48)
stop
}
}

actor CentaurmanFlashB : CentaurmanFlash{translation "192:192=205:205"}
actor CentaurmanFlashR : CentaurmanFlash{translation "192:192=171:171"}
actor CentaurmanFlashO : CentaurmanFlash{translation "192:192=104:104"}
actor CentaurmanFlashP : CentaurmanFlash{translation "192:192=229:229"}

actor CentaurmanFlashCC : BasicExplosion
{
damagetype "CentaurM_Shock"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(20,256,0,0,256)
stop
}
}

actor CentaurmanFlashRingFX : BasicClientSide
{
Reactiontime 10
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CentaurmanFlashFX",32,0,0,10,0,frandom(-1,1),Reactiontime*36,1)
TNT1 A 0 A_Countdown
loop
}
}

actor CentaurmanFlashFX : BasicClientSide
{
+FORCEXYBILLBOARD
+BRIGHT
States
{
Spawn:
TNT1 A 0
X_6B ABCD 3
stop
}
}

actor CentaurmanWepDroppedX : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,1,2)
TNT1 A 1 A_SpawnItemEx("CentaurFlashWepCDropped",0,0,0,momx,momy,momz,0,8)
stop
TNT1 A 1 A_SpawnItemEx("CentaurArrowWepCDropped",0,0,0,momx,momy,momz,0,8)
stop
}
}

actor CentaurmanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("CentaurShot",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("CentaurShotB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("CentaurShotR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("CentaurShotO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("CentaurShotP",0,1,8,0)
goto Done
}
}
actor CentaurmanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("CentaurShot2",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("CentaurShot2B",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("CentaurShot2R",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("CentaurShot2O",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("CentaurShot2P",0,1,8,0)
goto Done
}
}

actor CentaurmanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("CentaurmanFlash",0,1,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("CentaurmanFlashB",0,1,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("CentaurmanFlashR",0,1,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("CentaurmanFlashO",0,1,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("CentaurmanFlashP",0,1,0,0)
goto Done
}
}
