It attack players with it's missile attack correctly, then blows up when it gets near them and gets removed from the game.
However sometimes actor remains in the game, or rather actor's "ghost". When it happens engine substracts one monster from monster count (which is normal behavior) but the monster is still there - floating and attacking. It cannot perform melee attack anymore and cannot be killed.
I've no idea what causes this since it happens very random and when I've got 50 Suicide Souls alive in single room sometimes none ghosts remain.
Here's the code:
Code: Select all
actor Suicide_Soul 31037
{
spawnid 199
obituary "%o was blown up by a Suicide Soul."
hitobituary "%o was spooked by a Suicide Soul."
health 250
radius 16
height 56
mass 50
speed 8
damage 10
painchance 256
attacksound "DSSKLATK"
painsound "DSDMPAIN"
deathsound "DSFIRXPL"
activesound "DSDMACT"
MONSTER
+FLOAT
+NOGRAVITY
+NOICEDEATH
+MISSILEMORE
+DONTFALL
states
{
Spawn:
LSTS AB 4 bright A_Look
loop
See:
LSTS AB 4 bright A_Chase
loop
Melee:
LSTS C 1 bright A_FaceTarget
LSTS C 0 A_Die
goto see
Missile:
LSTS C 10 bright A_FaceTarget
LSTS D 2 bright A_SkullAttack
LSTS CD 2 bright
goto see
Pain:
LSTS E 3 bright
LSTS E 3 bright A_Pain
goto See
Death:
LSTS F 4 bright A_Explode
LSTS G 4 bright A_Scream
LSTS H 4 bright
LSTS I 4 bright A_NoBlocking
LSTS JK 4
stop
}
}
Missile state must be fault here because I've made similar monster with almost the same Melee and Death states, but no Missile and no weird shit happened (Terminator series).
Also when I commented out Missile state in this Suicide Soul I had no ghosts remaining.