////////////////////////////////////
//        CHIBEE (LOSTSOUL)       //
////////////////////////////////////

Actor ChibeeMonster 30607
{
//$Category MM8BDM-Monsters (Doom)
//$Title Chibee (LostSoul)
//$Sprite D012B8B2
Tag "Chibee"
Translation "0:0=0:0", "4:4=4:4", "192:192=161:161", "198:198=161:161"
MONSTER
Species "ChibeeMonster"
BloodType "MonsterRipperProtect_Helper"
//+NOBLOOD
-NOINFIGHTING
+DOHARMSPECIES
+FLOAT
+NOGRAVITY
+MISSILEMORE
+DONTFALL
+NOICEDEATH
Health 100
Radius 16
Height 56
Speed 1 // 8
Damage (15)
DamageType "Buster"
PainChance 256
PainChance "WindStorm", 256
PainChance "GravityHold", 256
PainChance "ConcreteShot", 256
PainChance "TornadoBlow", 256
PainChance "BlackHoleBomb", 256
PainChance "TimeStopper", 256
DamageFactor "Dummy", 0.0
SeeSound "item/rushdetect"
PainSound "monster/mm3pain"
DeathSound "misc/pumpsplash"
ActiveSound "misc/repairing"
Obituary "$OB_SKULL"
Mass 9999
Scale 2.75
States
{
Spawn:
CHBE A 0 NoDelay A_Stop
CHBE A 0 A_TakeInventory("CutterFlag",1)
CHBE A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
CHBE A 0 A_SpawnItemEx("MonsterHitbox16_56")
CHBE A 0 A_Look
CHBE AB 5
Goto Spawn+4

FirstSee:
CHBE A 0 A_TakeInventory("CutterFlag",1)
CHBE A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
CHBE A 0 Thing_SetTranslation(0,30501) //ALLRED
CHBE A 2 Bright
CHBE A 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE A 0 A_GiveInventory("CutterFlag",1)
Goto See

See:
CHBE A 0 A_JumpIfInventory("CutterFlag",1,1)
Goto FirstSee
CHBE A 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE A 1 A_Chase
CHBE AABBB 1 A_ChangeVelocity(0.5,0,momz,3)
Loop

Missile:
CHBE A 0 A_Stop
CHBE A 0 A_FaceTarget
CHBE BAB 3 
CHBE A 1
CHBE A 0 A_SkullAttack
CHBE A 0 Thing_SetTranslation(0,30502) //ALLYELLOW
CHBE A 2 Bright
CHBE A 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE B 2
CHBE AB 1 A_PlaySoundEx("weapon/hornethover","Weapon")
Goto Missile+11

Pain:
CHBE H 0 A_Stop
Pain.WindStorm:
Pain.GravityHold:
Pain.ConcreteShot:
Pain.TornadoBlow:
Pain.BlackHoleBomb:
CHBE H 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE H 6 A_Pain
Goto See

Pain.TimeStopper:
CHBE H 0 A_Stop
CHBE H 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE H 0 A_ChangeFlag("NOPAIN",true)
CHBE "##############################################################################################################################################################################################################################################################################################################################################################" 1 A_SpawnItemEx("TimeStopGFX",random(8,32),0,random(0,32),0,0,0,random(0,359),0,80)
CHBE H 0 A_ChangeFlag("NOPAIN",false)
Goto See

Death.WindStorm:
Death.GravityHold:
Death.TornadoBlow:
BlowDeath:
CHBE H 0 A_Stop
CHBE H 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE H 0 A_ChangeFlag("SHOOTABLE",false)
CHBE H 0 A_ChangeFlag("NODAMAGE",false)
CHBE H 0 A_ChangeFlag("SOLID",false)
CHBE H 1 ThrustThingZ(0,10,0,1)
CHBE H 0 A_JumpIf(ceilingz-z<64,"Death")
CHBE H 0 A_GiveInventory("BlowDeathTimer",1)
CHBE H 0 A_JumpIfInventory("BlowDeathTimer",35,"Death")
Goto BlowDeath+5

Death:
XDeath:
CHBE H 0 A_Stop
CHBE H 0 A_FaceTarget
CHBE H 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE H 2 A_NoBlocking
CHBE H 0 A_Scream
CHBE H 0 A_PlaySoundEx("monster/mm3pain","Body")
CHBE H 0 A_SpawnItemEx("ExplosionEffect1",0,0,16)
CHBE H 0 A_JumpIf(CallACS("Monster_CanDropWeapon"),4)
CHBE H 0 A_Jump(1,2)
CHBE H 0 A_JumpIf(True,2)
CHBE H 0 ACS_NamedExecuteWithResult("Monster_WeaponDrop",6) //Dusk Bringer
TNT1 A 34
Stop
}
}

Actor ChibeeMonster_Replaced : ChibeeMonster replaces LostSoul {}

// Variant spawned by Subee that has no SeeSound, no A_Stop on Spawn and no FirstSee state

Actor ChibeeMonster_Pain : ChibeeMonster
{
SeeSound "Silence"
PainSound "monster/mm3pain"
States
{
Spawn:
CHBE A 0 NoDelay ACS_NamedExecuteAlways("Monster_PassivePain",0)
CHBE A 0 A_Look
CHBE AB 5
Goto Spawn+1

See:
CHBE A 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE A 1 A_Chase
CHBE AABBB 1 A_Chase("","")
Loop

Missile:
CHBE A 0 A_Stop
CHBE A 0 A_FaceTarget
CHBE BAB 3 
CHBE A 1
CHBE A 0 A_SkullAttack
CHBE A 0 Thing_SetTranslation(0,30502) //ALLYELLOW
CHBE A 2 Bright
CHBE A 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE B 2
CHBE AB 1 A_PlaySoundEx("weapon/hornethover","Weapon")
Goto Missile+11

Pain:
CHBE H 0 A_Stop
CHBE H 0 Thing_SetTranslation(0,30607) //CHIBEEMONSTER
CHBE H 6 A_Pain
Goto See
}
}