Actor KolibriTimeFreeze : PowerTimeFreezer
{
	Powerup.Duration -20
	Powerup.Color InverseMap
}

Actor KolibriTimeFreezeCoolDown : PowerDamage
{
	DamageFactor "normal", 1.0
	Powerup.Duration -60
}

Actor KolibriTracer : MonsterTracer
{
	+NOTIMEFREEZE
}

Actor BlackHummingbird
{
//Creator: NaturalxCF
//Origin: Nexus Infinity
//Sprite: P800
//Title: "Schwarzer Kolibri" 
Health 6500
Radius 50
Height 70
Speed 16
PainChance 0
Mass 15000
MONSTER 
SeeSound "kolibri/see"
DeathSound "kolibri/die"
Obituary "%o was annihilated by the nazi's most recent super weapon: \"Schwarzer Kolibri\"."
DropItem "Chaingun"
DropItem "Bulletbox"
DropItem "PlasmaRifle"
DropItem "Cell"
DropItem "LegTimeFreezeSphere"
DropItem "KolibriPilot"
DamageFactor "Cyber10K", 0.0
DamageFactor "PDTBFG", 0.1
DamageFactor "PDTBFGTracer", 0.3
DamageFactor "PlayerDevBall", 0.05
DamageFactor "PlayerDevBall2", 0.05
DamageFactor "PlayerDevTracer", 0.05
DamageFactor "Hell", 0.0 
DamageFactor "Legendary", 0.75
DamageFactor "BFGSplash", 0.5
DamageFactor "PDTBFG", 0.5
DamageFactor "PDTBFGTracer", 0.5
DamageFactor "Cyber10k", 0.0
DamageFactor 0.75
DamageFactor "DemolisherEx", 1.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "PDTBFG", 0.35
DamageFactor "PDTBFGTracer", 0.7
DamageFactor "PlayerDevBall", 0.2
DamageFactor "PlayerDevBall2", 0.2
DamageFactor "PlayerDTBFGRailgunSlug", 0.3
DamageFactor "PlayerDevTracer", 0.2
Tag "Schwarzer Kolibri"
Species "Masterminds"
+DONTHURTSPECIES
+DONTHARMSPECIES
+DONTHARMCLASS
+NOPAIN
+NOGRAVITY
+FLOAT
+FLOATBOB
+NORADIUSDMG
+BOSS
+BOSSDEATH
+DONTRIP
+DONTMORPH
+NOICEDEATH
+MISSILEEVENMORE
//+LOOKALLAROUND
+NOBLOOD
+NOTARGET
+QUICKTORETALIATE
-PUSHABLE
+NOTDMATCH
+NOBLOCKMONST
+DROPOFF
+NOTIMEFREEZE
states
{
	Spawn:
		P800 A 0
		P800 A 0 A_Stop
		P800 A 0 A_TakeInventory("Clip",999)
		P800 A 0 A_PlaySound("kolibri/hover",CHAN_BODY)
		P800 ABABABAB 2 A_Look
		goto Spawn+3
	See:
		P800 A 0 A_Stop
		P800 A 0 A_JumpIfInventory("Clip",1,3)
		P800 A 0 A_GiveInventory("Clip",1)
		P800 A 0 A_PlaySound("nazipilot/yell",CHAN_WEAPON)
		P800 A 0 A_PlaySound("kolibri/hover",CHAN_BODY)
		P800 ABABABAB 2 A_Chase
		goto See+4
	
	Missile:
		P800 A 0 A_PlaySound("kolibri/hover",CHAN_BODY)
		P800 A 0 A_Stop
		P800 A 0 A_ChangeFlag("NODROPOFF", 0)
		/*P800 A 0 A_Jump(90,"MissilePull") //35%
		P800 A 0 A_Jump(137,"MissilePush") //35%
		P800 A 0 A_Jump(171,"MissileBullet") //20%*/
		P800 A 0 A_JumpIfInventory("KolibriTimeFreezeCoolDown", 1, "MissileSub")
	MissileMajor:
		P800 A 0 A_Jump(255, "MissileBullet", "MissilePush", "MissilePull", "MissileWave")
		goto MissileWave //10%
	MissileSub:
		P800 A 0 A_Jump(255, "MissileBullet", "MissilePush", "MissilePull")
		goto MissileWave //10%
	MissileBullet:
		P800 ABABABAB 2 bright A_FaceTarget
		P800 C 0 A_JumpIfCloser(256,"MissileBulletBullet")
		goto MissileBulletAttack
	MissileBulletBullet:
		P800 C 0 ThrustThing((angle * 256 / 360) + 128, 20, 0, 0) 
		goto MissileBulletAttack
	MissileBulletAttack:
		P800 D 0 A_FaceTarget
		P800 D 0 A_PlaySound("kolibri/bullet",CHAN_WEAPON)
		P800 D 0 A_CustomMissile("KolibriTracer",Random(30,34),0,Random(6,-6),0)
		P800 D 2 bright A_CustomBulletAttack(12.0,0,3,random(1,3),"ModdedBulletPuff",0,CBAF_NORANDOM)
		P800 D 0 ThrustThing((angle * 256 / 360) + random(32,64) * (1 - (random(0,1) * 2)),1,0,0)
		P800 E 0 A_FaceTarget
		//P800 E 0 A_PlaySound("kolibri/bullet",CHAN_WEAPON)
		P800 D 0 A_CustomMissile("KolibriTracer",Random(30,34),0,Random(6,-6),0)
		P800 E 2 bright A_CustomBulletAttack(12.0,0,3,random(1,3),"ModdedBulletPuff",0,CBAF_NORANDOM)
		P800 E 0 ThrustThing((angle * 256 / 360) + random(32,64) * (1 - (random(0,1) * 2)),1,0,0)
		P800 E 0 A_SpidRefire
		goto MissileBullet+8
	MissilePull:
		P800 ABABABAB 2 bright A_FaceTarget
		P800 C 0 A_JumpIfCloser(256,"MissilePullBullet")
		goto MissilePullAttack
	MissilePullBullet:
		P800 C 0 ThrustThing((angle * 256 / 360) + 128, 20, 0, 0) 
		goto MissilePullAttack
	MissilePullAttack:
		P800 C 0 A_StopSound(CHAN_WEAPON)
		P800 C 1 bright A_FaceTarget
		P800 G 1 bright A_CustomMissile("KolibriGreenBall",16,0,random(-25,25))
		P800 G 0 ThrustThing((angle * 256 / 360) + random(32,64) * (1 - (random(0,1) * 2)),1,0,0)
		P800 G 0 A_SpidRefire
		goto MissilePull+8
	/*MissilePullBullet:
		P800 D 0 A_FaceTarget
		P800 D 0 A_PlaySound("kolibri/bullet",CHAN_WEAPON)
		P800 D 0 A_CustomMissile("MonsterTracer",Random(30,34),0,Random(6,-6),0)
		P800 D 2 bright A_CustomBulletAttack(12.0,0,3,random(1,3),"ModdedBulletPuff",0,CBAF_NORANDOM)
		P800 D 0 ThrustThing((angle * 256 / 360) + random(32,64) * (1 - (random(0,1) * 2)),1,0,0)
		P800 E 0 A_FaceTarget
		//P800 E 0 A_PlaySound("kolibri/bullet",CHAN_WEAPON)
		P800 D 0 A_CustomMissile("MonsterTracer",Random(30,34),0,Random(6,-6),0)
		P800 E 2 bright A_CustomBulletAttack(12.0,0,3,random(1,3),"ModdedBulletPuff",0,CBAF_NORANDOM)
		P800 E 0 ThrustThing((angle * 256 / 360) + random(32,64) * (1 - (random(0,1) * 2)),1,0,0)
		P800 E 0 A_SpidRefire
		goto MissilePull+8*/
		
	MissilePush:
		P800 ABABABAB 2 bright A_FaceTarget
		P800 C 0 A_JumpIfCloser(256,"MissilePushBullet")
		goto MissilePushAttack
	MissilePushBullet:
		P800 C 0 ThrustThing((angle * 256 / 360) + 128, 20, 0, 0) 
		goto MissilePushAttack
	MissilePushAttack:
		P800 C 0 A_StopSound(CHAN_WEAPON)
		P800 C 1 bright A_FaceTarget
		P800 H 1 bright A_CustomMissile("KolibriBlueBall",16,0,random(-25,25))
		P800 E 0 ThrustThing((angle * 256 / 360) + random(32,64) * (1 - (random(0,1) * 2)),1,0,0)
		P800 H 0 A_SpidRefire
		goto MissilePush+8
	/*MissilePushBullet:
		P800 D 0 A_FaceTarget
		P800 D 0 A_PlaySound("kolibri/bullet",CHAN_WEAPON)
		P800 D 0 A_CustomMissile("MonsterTracer",Random(30,34),0,Random(6,-6),0)
		P800 D 2 bright A_CustomBulletAttack(12.0,0,3,random(1,3),"ModdedBulletPuff",0,CBAF_NORANDOM)
		P800 D 0 ThrustThing((angle * 256 / 360) + random(32,64) * (1 - (random(0,1) * 2)),1,0,0)
		P800 E 0 A_FaceTarget
		//P800 E 0 A_PlaySound("kolibri/bullet",CHAN_WEAPON)
		P800 D 0 A_CustomMissile("MonsterTracer",Random(30,34),0,Random(6,-6),0)
		P800 E 2 bright A_CustomBulletAttack(12.0,0,3,random(1,3),"ModdedBulletPuff",0,CBAF_NORANDOM)
		P800 E 0 ThrustThing((angle * 256 / 360) + random(32,64) * (1 - (random(0,1) * 2)),1,0,0)
		P800 E 0 A_SpidRefire
		goto MissilePush+8*/
	MissileWave:
		/*P800 A 2 bright A_PlaySound("kolibri/redball",CHAN_WEAPON)
		P800 BABABA 2 bright A_FaceTarget
		P800 F 4 bright A_CustomMissile("KolibriRedBall",16)
		P800 F 4 bright A_Recoil(3)
		P800 BABABABABABABABA 2 bright*/
		
		P800 A 0 A_PlaySound("kolibri/charge",CHAN_BODY)
		P800 ABABABABABABABABABAB 2 bright A_FaceTarget
		P800 FCFCFCFCFCFCFCFCFCFCFCFCFC 2 bright A_FaceTarget
		P800 F 2 bright A_CustomMissile("KolibriTimeFreezeWatch", 16, 0, 0)
		P800 C 2 bright A_CustomMissile("KolibriRedWaveFast", 16, 0, 0)
		P800 FCF 2 bright
		P800 C 2 bright A_CustomMissile("KolibriRedWaveFast", 16, 0, 0)
		P800 FCF 2 bright
		P800 C 2 bright A_CustomMissile("KolibriRedWaveFast", 16, 0, 0)
		P800 FCF 2 bright
		P800 C 2 bright A_CustomMissile("KolibriRedWaveFast", 16, 0, 0)
		P800 FCF 2 bright
		goto See
	Death:
		P800 I 0 A_TakeInventory("KolibriTimeFreeze", 1)
		P800 I 0 A_StopSound(CHAN_BODY)
		P800 I 0 A_Scream
		P800 I 1 A_Gravity
		P800 I 1 A_Stop
		P800 I 4
		wait
	Crash:
		P800 I 0 A_SpawnItemEx("BlackKolibriGibber",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION)
		P800 I 0 A_ChangeFlag("FLOATBOB",0)
		P800 I 8 bright Radius_Quake(3,55,0,30,0)
		P801 ABCDEFGHIJKLMNO 1 bright
		P801 P 1 bright A_NoBlocking
		P801 QRST 1 bright
		TNT1 A 0 A_BossDeath
		TNT1 A -1 A_KillMaster
		stop
	}
}

Actor KolibriTimeFreezeWatch
{
	+MISSILE
	+NOCLIP
	+NOTIMEFREEZE
	Speed 0
	Damage (0)
	Renderstyle Add
	Alpha 0.6
	states
	{
	Spawn:
		TNT1 A 0
	Death:
		TNT1 A 0 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_GiveToTarget("KolibriTimeFreeze", 1)
		TNT1 A 0 A_SpawnItemEx("KolibriRedWaveFast")
		TNT1 A 0 A_PlaySound("kolibri/timefreeze",CHAN_BODY, 2.5, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_PlaySound("kolibri/tick", CHAN_BODY, 1.0, false, ATTN_NONE)
		TNT1 A 36 A_GiveToTarget("KolibriTimeFreezeCoolDown", 1)
		TNT1 A 0 A_TakeFromTarget("KolibriTimeFreeze", 1)
		TNT1 A 108 A_PlaySound("kolibri/timecontinue",CHAN_BODY, 5.5, false, ATTN_NONE)
		stop
	}
}

Actor KolibriPilot
{
//Creator: NaturalxCF
//Origin: Nexus Infinity
//Sprite: P803
//Title: "Kolibri Pilot" 
	Health 1300
	Speed 10
	Radius 18
	Height 55
	MONSTER
	+FLOORCLIP
	+NOPAIN
	-COUNTKILL
	+LOOKALLAROUND
	+MISSILEMORE
	+BOSSDEATH
	+NOBLOCKMONST
	+NOTARGET
	+BOSS
	+DONTRIP
	+NORADIUSDMG
	DropItem "Backpack"
	DropItem "Chaingun" 128 1
	DropItem "RocketLauncher" 128 1
	DropItem "BossLifeEssence" 25
	DropItem "ExtraArmor" 1
	Damagefactor "Explosion", 0.0
	Damagefactor "Kolibri10k", 0.0
	ActiveSound "wolfss/active"
	SeeSound "nazipilot/yell"
	DeathSound "nazipilot/die"
	Obituary "%o underestimated the pilot of \"Schwarzer Kolibri\"."
	Tag "Kolibri Pilot"
	states
	{
	Spawn:
		P803 A 0 A_GiveInventory("Clip",1)
		P803 "Z" 8 A_Look
		goto Spawn+1
	See:
		P803 A 0 A_JumpIfInventory("Clip",1,9)
		P803 AABBCCDD 2 A_Chase
		loop
		P803 A 0 A_TakeInventory("Clip",999)
		P803 AABBCCDD 2 A_Chase("","")
		loop
	Missile:
		P803 W 0 A_Jump(255,"MissileBullet", "Missile10k", "MissileRocket")
		goto MissileBullet
	MissileBullet:
		P803 WW 4 bright A_FaceTarget
		P803 "Y" 0 A_FaceTarget
		P803 "Y" 0 A_PlaySound ("nazipilot/bullet")
		P803 "Y" 0 A_CustomMissile("MonsterTracer",Random(30,34),0,Random(3,-3),0)
		P803 "Y" 1 bright A_CustomBulletAttack (6.0, 0, 1, 7, "ModdedBulletPuff", 0, CBAF_NORANDOM)
		P803 "X" 2 bright A_CPosRefire
		goto MissileBullet+2
	Missile10k:
		P803 W 0 A_PlaySound("weapons/charge15k")
		P803 XXXXXXXXX 4 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound("weapons/bfg15kfire")
		P803 "Y" 2 bright A_CustomMissile("Kolibri10k",34,0,Random(-4, 4))
		P803 XXX 2 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound("weapons/bfg15kfire")
		P803 "Y" 2 bright A_CustomMissile("Kolibri10k",34,0,Random(-4, 4))
		P803 XXX 2 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound("weapons/bfg15kfire")
		P803 "Y" 2 bright A_CustomMissile("Kolibri10k",34,0,Random(-4, 4))
		P803 XXX 2 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound("weapons/bfg15kfire")
		P803 "Y" 2 bright A_CustomMissile("Kolibri10k",34,0,Random(-4, 4))
		P803 XXX 2 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound("weapons/bfg15kfire")
		P803 "Y" 2 bright A_CustomMissile("Kolibri10k",34,0,Random(-4, 4))
		P803 XXX 2 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound("weapons/bfg15kfire")
		P803 "Y" 2 bright A_CustomMissile("Kolibri10k",34,0,Random(-4, 4))
		P803 XXX 2 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound("weapons/bfg15kfire")
		P803 "Y" 2 bright A_CustomMissile("Kolibri10k",34,0,Random(-4, 4))
		P803 XXX 2 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound("weapons/bfg15kfire")
		P803 "Y" 2 bright A_CustomMissile("Kolibri10k",34,0,Random(-4, 4))
		P803 XXXXXX 4 bright A_FaceTarget
		goto See
	MissileRocket:
		P803 WW 4 bright A_FaceTarget
		P803 "Y" 0 A_PlaySound ("nazipilot/rocksee")
		P803 "Y" 3 bright A_CustomMissile("KolibriRocket",20)
		P803 "X" 3 bright
		goto See
	Pain:
		P803 A 1
		goto See
	Death:
		P803 E 8
		P803 F 8 A_Scream
		P803 G 8 
		P803 H 8 A_NoBlocking
		P803 I -1 A_KillMaster
		stop
	}
}

Actor KolibripilotRocket
{
	Radius 6
	Height 9
	PROJECTILE
	+RIPPER
	+NOBOSSRIP
	+FORCERADIUSDMG
	+NOEXTREMEDEATH
	Damage 11
	Deathsound "nazipilot/rockhit"
	DamageType "KolibriPilotRocket"
	Speed 30
	states
	{
	Spawn:
		P808 A 3 bright A_SpawnItemEx("KolibripilotRocketSmoke")
		loop
	Death:
		P808 F 6 bright A_Explode(128,32,0)
		P808 GH 6 bright
		stop
	}
}

actor KolibripilotRocketSmoke
{
    Radius 1
    Height 1
    Speed 0
    +NOGRAVITY
    -SOLID
    +NOCLIP
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 2
        P808 BCDE 4
        stop
    }
}

Actor Kolibri10k : Sentient10k
{
	DamageType "Kolibri10k"
	Obituary "%o underestimated the pilot of \"Schwarzer Kolibri\"."
}

Actor KolibriRocket : CyberlordHomer
{
	Speed 45
	DamageType "Explosive"
	Obituary "%o underestimated the pilot of \"Schwarzer Kolibri\"."
}

Actor KolibriGreenBall : LoreShot
{
	Radius 7
	Height 10
	Speed 40
	Damage (random(10,20))
	PROJECTILE
	//+PIERCEARMOR
	+EXTREMEDEATH
	+SEEKERMISSILE
	+DONTREFLECT
	+NOTIMEFREEZE
	SeeSound "kolibri/greesee"
	DeathSound "kolibri/ballhit"
	renderstyle add
	alpha 0.9
	scale 0.8
	DamageType "KolibriGreenBall" //Predefined damagetype so other bosses won't take any damage
	
	states
	{
	Spawn:
		P805 ABC 2 bright
		P805 D 2 bright A_SeekerMissile(10,7)
		loop
	Death:
		P805 EFGHIJ 2 bright 
		stop
	}
}

Actor KolibriBlueBall
{
	Radius 7
	Height 10
	Speed 40
	Damage (random(10,20))
	PROJECTILE
	+NOTIMEFREEZE
	//+PIERCEARMOR
	+EXTREMEDEATH
	+SEEKERMISSILE
	+DONTREFLECT
	SeeSound "kolibri/bluesee"
	DeathSound "kolibri/ballhit"
	renderstyle add
	alpha 0.9
	scale 0.8
	DamageType "KolibriBlueBall" //Predefined damagetype so other bosses won't take any damage
	
	states
	{
	Spawn:
		P806 ABC 2 bright
		P806 D 2 bright A_SeekerMissile(10,7)
		loop
	Crash:
	XDeath:
		P806 EFGHIJ 2 bright A_RadiusThrust(4500,64,0,1)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 E 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 E 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 F 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 F 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 G 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 G 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 H 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 H 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 I 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 I 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 J 1 bright A_Fire(32)
		TNT1 A 0 A_Explode(2,64,0)
		TNT1 A 0 A_RadiusThrust(750,64,0)
		P806 J 1 bright A_Fire(32)
		stop
	Death:
		P806 EFGHIJ 2 bright
		stop
	}
}

Actor KolibriRedBall : FastProjectile
{
	Radius 7
	Height 10
	Speed 80
	Damage (40)
	PROJECTILE
	+EXTREMEDEATH
	+FORCERADIUSDMG
	+DONTREFLECT
	renderstyle add
	alpha 0.9
	SeeSound "kolibri/redsee"
	DeathSound "kolibri/redhit"
	DamageType "KolibriRedBall" //Predefined damagetype so other bosses won't take any damage
	
	states
	{
	Spawn:
		P804 UV 2 bright A_SpawnItemEx("KolibriRedWave")
		loop
	Death:
		P804 Q 6 bright A_Explode(96,256,0)
		P804 R 6 bright A_SpawnItemEx("KolibriRedWaveFast")
		P804 ST 6 bright
		stop
	}
}

Actor KolibriDTBFG10kBall : SentientDTBFG10kBall
{
    Obituary "%o was annihilated by the nazis most recent super weapon: \"Schwarzer Kolibri\"."
}

Actor KolibriRedWave
{
	Speed 4
	Radius 6
	Height 8
	Damage (0)
	PROJECTILE
	+NOCLIP
	+FORCERADIUSDMG
	+NOTIMEFREEZE
	Renderstyle Add
	Alpha 0.9
	scale 0.75
	SeeSound "kolibri/redwave"
	DamageType "KolibriRedWave" //Predefined damagetype so other bosses won't take any damage
	
	states
	{
	Spawn:
		P804 AB 2 bright
		P804 C 2 bright A_Explode(24,32,0)
		P804 DE 2 bright
		P804 F 2 bright A_Explode(22,40,0)
		P804 GH 2 bright
		P804 I 2 bright A_Explode(20,48,0)
		P804 JK 2 bright
		P804 L 2 bright A_Explode(18,56,0)
		P804 MN 2 bright
		P804 O 2 bright A_Explode(16,64,0)
		P804 P 2 bright
		stop
	}
}

Actor KolibriRedWaveFast : KolibriRedWave
{
	scale 1.0
	states
	{
	Spawn:
		P804 AB 1 bright
		P804 C 1 bright A_Explode(24,20,0)
		P804 DE 1 bright
		P804 F 1 bright A_Explode(22,55,0)
		P804 GH 1 bright
		P804 I 1 bright A_Explode(20,90,0)
		P804 JK 1 bright
		P804 L 1 bright A_Explode(18,125,0)
		P804 MN 1 bright
		P804 O 1 bright A_Explode(16,160,0)
		P804 P 1 bright
		stop
	}
}

Actor BlackKolibriGibber
{
	-SOLID
	+NOGRAVITY
	+CLIENTSIDEONLY
    +NOTELEPORT
	-TELEPORT
    +NOBLOCKMAP
    +CANNOTPUSH
	
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("BlackKolibriBoom",random(15,90) * (1 - 2 * random(0,1)),random(15,90) * (1 - 2 * random(0,1)),random(6,32) * (1 - 2 * random(0,1)),0,0,0,0,SXF_NOCHECKPOSITION)
		stop
	}
}

Actor BlackKolibriBoom
{
	-SOLID
	+NOGRAVITY
	+CLIENTSIDEONLY
    +NOTELEPORT
	-TELEPORT
    +NOBLOCKMAP
    +CANNOTPUSH
	Deathsound "kolibri/boom"
	scale 0.6
	
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 AA 0 A_SpawnItemEx("BlackKolibriMetal",0,0,0,random(3,5) * (1 - 2 * random(0,1)),random(3,5) * (1 - 2 * random(0,1)),random(4,8),0,SXF_NOCHECKPOSITION)
		/*TNT1 A 0 A_Jump(128,"S2")
		P801 A 1 bright A_Scream
		P801 BCDEFGIJKLMNOPQRST 1 bright*/
		TNT1 A 1 A_CustomMissile("KaboomDevastator22",0,0,random(0,360),2,random(0,360))
		stop
	S2:
		P802 A 1 bright A_Scream
		P802 BCDEFGIJKLMNOPQRST 1 bright
		stop
	}
}

Actor BlackKolibriMetal
{
	-SOLID
	//+NOGRAVITY
	+CLIENTSIDEONLY
	+GRENADETRAIL
    +NOTELEPORT
	-TELEPORT
    +NOBLOCKMAP
    +CANNOTPUSH
	Gravity 0.5
	scale 0.5
	
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"S1","S2","S3")
	S1:
		P807 A 36
		P807 AA 36 A_ChangeFlag("GRENADETRAIL",0)
		stop
	S2:
		P807 B 36
		P807 B 36 A_ChangeFlag("GRENADETRAIL",0)
		stop
	S3:
		P807 C 36
		P807 CC 36 A_ChangeFlag("GRENADETRAIL",0)
		stop
	}
}
