Well, the current monster I'm using for testing is this giant bat:
ACTOR GiantBatSleep 12358
{
Health 25
Radius 16
Height 32
Mass 50
Speed 6
damagefactor "giantbat", 0
Monster
+FLOAT
+NOGRAVITY
+SPAWNCEILING
+DONTHURTSPECIES
+NODAMAGETHRUST
+BLOODLESSIMPACT
+NOTARGET
Obituary "%o was bitten by a bat."
SeeSound "Bat/Sight"
ActiveSound "Bat/Active"
DeathSound "Bat/Death"
States
{
Spawn:
BATH A 10 A_LookEx (0, 0, 192, 256)
Loop
Idle:
BATH BBCCDDEEDDCCBB 1 A_Look
Loop
See:
BATH B 1 A_Chase
BATH B 0 A_ChangeFlag (SPAWNCEILING, 0)
BATH B 0 A_SpawnItem ("BatDamage")
BATH B 0 A_JumpIf (floorz < 64, "FlyUp1")
See2:
BATH B 1 A_Chase
BATH B 0 A_JumpIf (floorz < 64, "FlyUp2")
See3:
BATH C 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH C 0 A_JumpIf (floorz < 64, "FlyUp3")
See4:
BATH C 1 A_Chase
BATH C 0 A_JumpIf (floorz < 64, "FlyUp4")
See5:
BATH D 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH D 0 A_JumpIf (floorz < 64, "FlyUp5")
See6:
BATH D 1 A_Chase
BATH D 0 A_JumpIf (floorz < 64, "FlyUp6")
See7:
BATH E 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH E 0 A_JumpIf (floorz < 64, "FlyUp7")
See8:
BATH E 1 A_Chase
BATH E 0 A_JumpIf (floorz < 64, "FlyUp8")
See9:
BATH D 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH D 0 A_JumpIf (floorz < 64, "FlyUp9")
See10:
BATH D 1 A_Chase
BATH D 0 A_JumpIf (floorz < 64, "FlyUp10")
See11:
BATH C 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH C 0 A_JumpIf (floorz < 64, "FlyUp11")
See12:
BATH C 1 A_Chase
BATH C 0 A_JumpIf (floorz < 64, "FlyUp12")
goto See
FlyUp1:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See2
FlyUp2:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See3
FlyUp3:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See4
FlyUp4:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See5
FlyUp5:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See6
FlyUp6:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See7
FlyUp7:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See8
FlyUp8:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See9
FlyUp9:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See10
FlyUp10:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See11
FlyUp11:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See12
FlyUp12:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See
Death:
BATH F 3 A_ScreamAndUnblock
Fall:
BATH GGGHHHIIIJJJ 1 A_CheckFloor ("Splat")
Fall2:
BATH K 1 A_CheckFloor ("Splat")
Loop
Splat:
BATH L 1 A_Stop
BATH L 0 A_PlaySound ("Bat/Splat")
BATH L -1
Stop
}
}
ACTOR GiantBat 12359
{
Health 25
Radius 16
Height 32
Mass 50
Speed 6
damagefactor "giantbat", 0
Monster
+FLOAT
+NOGRAVITY
+DONTHURTSPECIES
+NODAMAGETHRUST
+BLOODLESSIMPACT
+NOTARGET
Obituary "%o was bitten by a bat."
SeeSound "Bat/Sight"
ActiveSound "Bat/Active"
DeathSound "Bat/Death"
States
{
Spawn:
BATH BBCCDDEEDDCCBB 1 A_Look
Loop
See:
BATH B 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH B 0 A_JumpIf (floorz < 64, "FlyUp1")
See2:
BATH B 1 A_Chase
BATH B 0 A_JumpIf (floorz < 64, "FlyUp2")
See3:
BATH C 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH C 0 A_JumpIf (floorz < 64, "FlyUp3")
See4:
BATH C 1 A_Chase
BATH C 0 A_JumpIf (floorz < 64, "FlyUp4")
See5:
BATH D 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH D 0 A_JumpIf (floorz < 64, "FlyUp5")
See6:
BATH D 1 A_Chase
BATH D 0 A_JumpIf (floorz < 64, "FlyUp6")
See7:
BATH E 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH E 0 A_JumpIf (floorz < 64, "FlyUp7")
See8:
BATH E 1 A_Chase
BATH E 0 A_JumpIf (floorz < 64, "FlyUp8")
See9:
BATH D 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH D 0 A_JumpIf (floorz < 64, "FlyUp9")
See10:
BATH D 1 A_Chase
BATH D 0 A_JumpIf (floorz < 64, "FlyUp10")
See11:
BATH C 1 A_Chase
BATH B 0 A_SpawnItem ("BatDamage")
BATH C 0 A_JumpIf (floorz < 64, "FlyUp11")
See12:
BATH C 1 A_Chase
BATH C 0 A_JumpIf (floorz < 64, "FlyUp12")
goto See
FlyUp1:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See2
FlyUp2:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See3
FlyUp3:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See4
FlyUp4:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See5
FlyUp5:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See6
FlyUp6:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See7
FlyUp7:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See8
FlyUp8:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See9
FlyUp9:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See10
FlyUp10:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See11
FlyUp11:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See12
FlyUp12:
BATH B 0 ThrustThingZ (0, 4, 0, 1)
goto See
Death:
BATH F 3 A_ScreamAndUnblock
Fall:
BATH GGGHHHIIIJJJ 1 A_CheckFloor ("Splat")
Fall2:
BATH K 1 A_CheckFloor ("Splat")
Loop
Splat:
BATH L 1 A_Stop
BATH L 0 A_PlaySound ("Bat/Splat")
BATH L -1
Stop
}
}
actor BatDamage
{
Radius 2
Height 2
Speed 0
damagetype "giantbat"
Projectile
+NODAMAGETHRUST
+BLOODLESSIMPACT
States
{
Spawn:
TNT1 A 1
TNT1 A 1 A_Explode ((2), 40, 0)
stop
}
}
I'd try using a different monster, but the clone of an existing monster with lower health I was trying to make didn't work either.
BTW, I don't know if it matters, but I'm using Zdoom(doom-in-hexen format), and it didn't work with doom-in-doom format either.