File
- Defined in \monsters\LostSoul.txt
Flags
- +BLOODSPLATTER
- +DONTFALL
- +FLOAT
- -FLOORCLIP
- +MONSTER
- -NOBLOOD
- +NOGRAVITY
- +NOICEDEATH
- +ROLLCENTER
- +ROLLSPRITE
- +SLIDESONWALLS
- +USEBOUNCESTATE
Properties
//$category | Monsters |
//$sprite | LSOLA1 |
activesound | "skull/active" |
alpha | 1 |
attacksound | "skull/melee" |
bloodtype | "LostSoulBlood" |
damage | (random(10,15)) |
damagefactor | "Fire" 0 "Shrapnel" 0.4 "CauseObjectsToSplash" 0.0 |
deathsound | "monsters/lostsoul/death" |
game | Doom |
health | 50 |
height | 56 |
mass | 50 |
maxdropoffheight | 32 |
maxstepheight | 24 |
obituary | "$OB_SKULL" |
painchance | 255"Avoid", 255 |
painsound | "skull/pain" |
radius | 16 |
renderstyle | Normal |
species | LostSoul |
speed | 12 |
States
Spawn:
LSOL A 2 BRIGHT A_Look
TNT1 A 0 A_SpawnItem ("RedFlareMedium", 0, 24)
TNT1 AA 0 A_CustomMissile ("SoulTrails", 24, 0, random (0, 360), 2, random (0, 160))
Loop
See:
TNT1 A 0 A_SetRoll(0)
TNT1 A 0 A_TakeInventory("MaxLostSoulRange", 30)
LSOL A 2 BRIGHT A_Chase("", "")
TNT1 A 0 A_JumpIfCloser(160, "Retreat")
TNT1 A 0 A_ChangeFlag("NOPAIN", 0)
LSOL A 2 BRIGHT A_Chase
TNT1 A 0 A_JumpIfCloser(160, "Retreat")
TNT1 A 0 A_SpawnItem ("RedFlareMedium", 0, 24)
TNT1 A 0 A_CustomMissile ("SoulTrails", 24, 0, random (0, 360), 2, random (0, 160))
TNT1 A 0 A_Jump(8, "Spin")
Loop
Spin:
LSOL AAAAAAAAA 2 BRIGHT {
A_CustomMissile ("SoulTrails", 24, 0, random (0, 360), 2, random (0, 160));
A_SetRoll(roll + 40);
A_Chase;
}
Goto See
Retreat:
LSOL A 1 A_FaceTarget
TNT1 A 0 A_Recoil(3)
TNT1 A 0 A_SpawnItem ("RedFlareMedium", 0, 24)
TNT1 A 0 A_CustomMissile ("SoulTrails", 24, 0, random (0, 360), 2, random (0, 160))
Goto See
Missile:
TNT1 A 0 A_JumpIfCloser(160, "Retreat")
TNT1 A 0 A_Jump(64, "MissileRotate")
TNT1 A 0 A_SpawnItem ("RedFlare", 0, 24)
TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
LSOL B 3 BRIGHT A_FaceTarget
TNT1 A 0 A_SpawnItem ("RedFlare", 0, 24)
TNT1 A 0 A_SkullAttack
MissileLoop:
TNT1 A 0 A_CustomMissile ("SoulTrails", 24, 0, random (0, 360), 2, random (0, 160))
LSOL BB 2 BRIGHT A_SpawnItem ("RedFlareMEdium", 0, 24)
TNT1 A 0 A_CustomMissile ("SoulTrails", 24, 0, random (0, 360), 2, random (0, 160))
LSOL BB 2 BRIGHT A_SpawnItem ("RedFlareMEdium", 0, 24)
TNT1 A 0 A_JumpIfInventory("MaxLostSoulRange", 10, "See")
TNT1 A 0 A_giveInventory("MaxLostSoulRange", 1)
Goto MissileLoop
MissileRotate:
TNT1 A 0 A_SpawnItem ("RedFlare", 0, 24)
TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
LSOL B 3 BRIGHT A_FaceTarget
TNT1 A 0 A_SpawnItem ("RedFlare", 0, 24)
TNT1 A 0 A_SkullAttack
MissileRotateLoop:
TNT1 A 0 A_CustomMissile ("SoulTrails", 24, 0, random (0, 360), 2, random (0, 160))
LSOL BB 2 BRIGHT {
A_SpawnItem ("RedFlareMedium", 0, 24);
A_SetRoll(roll + 15);
}
TNT1 A 0 A_CustomMissile ("SoulTrails", 24, 0, random (0, 360), 2, random (0, 160))
LSOL BB 2 BRIGHT {
A_SpawnItem ("RedFlareMedium", 0, 24);
A_SetRoll(roll + 15);
}
TNT1 A 0 A_JumpIfInventory("MaxLostSoulRange", 5, "See")
TNT1 A 0 A_giveInventory("MaxLostSoulRange", 1)
Goto MissileRotateLoop
Bounce.Wall:
SKUL AAAAAAAA 3 {
A_SpawnItem ("RedFlareMedium", 0, 24);
A_SetAngle(angle + 45);
}
Goto See
Pain:
TNT1 AAA 0 A_CustomMissile ("SoulTrails", 12, 0, random (0, 360), 2, random (0, 160))
LSOL C 3 BRIGHT
LSOL C 1 BRIGHT A_Pain
Goto See
Death:
Death.Bullet:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_Jump(256, "DieNormal")
Death.Kick:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_Jump(256, "DieNormal")
Death.SuperKick:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_Jump(256, "DieCrash", "DieSuperExplode")
Death.Shotgun:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_Jump(256, "DieExplode", "DieCrash")
Death.RapidFire:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_Jump(256, "DieExplode", "DieCrash")
Death.Explosive:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_JumpIf(health > -10, "DieNormal")
TNT1 A 0 A_Jump(256, "DieSuperExplode")
Death.Plasma:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_Jump(256, "DiePlasma")
Death.Flak:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_Jump(256, "DieCrash", "DieExplode", "DieSuperExplode")
DieNormal:
TNT1 A 0 A_SpawnItem("BdGibLostSoulExplosion")
LSOL F 1 A_SpawnItem("BdGibLostSoulFalling")
Stop
DieExplode:
LSOL F 4 BRIGHT A_NoBlocking
TNT1 A 0 A_SpawnItem("BdGibLostSoulExplosion")
TNT1 A 0 A_SpawnItem("BdLostSoulFragmentSpawner")
TNT1 A 1
Stop
DieSuperExplode:
LSOL F 4 BRIGHT A_NoBlocking
TNT1 A 0 A_SpawnItem("BdGibLostSoulExplosion")
TNT1 AA 0 A_SpawnItem("BdLostSoulFragmentSpawner")
TNT1 A 1
Stop
DieCrash:
TNT1 A 0 A_SpawnItem("BdGibLostSoulExplosionSmall")
LSOL F 1 A_SpawnProjectile("BdGibLostSoulCrashing", 35, 0, random (90, 270), CMF_AIMDIRECTION, -90)
Stop