File
- Defined in \monsters\Imps.txt
Flags
Properties
//$category | Monsters |
activesound | "imp/active" |
bloodtype | "BdBleed", "BdBleed", "BdBleedSaw" |
damagefactor | "Shrapnel" 0.3 "Kick" 0.5 "Flak" 5.0 "Explosive" 2.0 |
deathsound | "imp/death" |
game | Doom |
gibhealth | 35 |
health | 75 |
height | 52 |
hitobituary | "%o was turned inside-out by an Imp." |
maxdropoffheight | 32 |
maxstepheight | 24 |
obituary | "%o was incinerated by an Imp." |
painchance | 200"Kick", 255 "Explosive", 255 |
painsound | "imp/pain" |
radius | 18 |
seesound | "imp/sight" |
spawnid | 5 |
species | Imp |
speed | 8 |
States
Spawn:
TROS AB 10 A_Look
loop
See:
TROO AAAABBBBCCCCDDDD 2 A_Chase
loop
Melee:
TROO E 1 A_FaceTarget
TNT1 A 0 A_JumpIfCloser(50, "Scratch")
TROT ACD 3
TNT1 A 0 ThrustThingZ(0, 26, 0, 1)
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_Recoil(-7)
TROT EF 2
TNT1 A 0 A_GiveInventory("IsJumping")
TROT F 6 A_FaceTarget
TNT1 A 0 A_TakeInventory("IsJumping")
TROT G 1 A_PlaySound("world/enemylanding")
TROT GG 2 A_SpawnProjectile("ImpMeleeAttack", 10)
TROT G 1
goto See
Scratch:
TROO EF 4 A_FaceTarget
TROO G 4 A_SpawnProjectile("ImpMeleeAttack", 10)
TROO FE 4
goto See
Missile:
TNT1 A 0 A_JumpIfCloser(200, "Melee")
TROO E 4 A_FaceTarget
TNT1 A 0 A_JumpIfCloser(170, "Melee")
TNT1 A 0 A_Playsound("monsters/imp/charge")
TROO EEEEEF 2
{
A_SpawnProjectile("SmallFlameTrails", 35, 26, random(0, 40), CMF_AIMDIRECTION, random(0, -160));
A_SpawnProjectile("FlameBall", 35, 26, random(0, 140), CMF_AIMDIRECTION, random(0, -160));
A_FaceTarget;
}
TROO G 6 A_SpawnProjectile("ImpFireball", 34)
TROO F 4
goto See
Pain:
TROO H 3
TROO H 3 A_Pain
goto See
Pain.Kick:
Pain.SuperKick:
TNT1 A 0 A_Pain
TNT1 A 0 A_FaceTarget
TROO H 8 A_Recoil(5)
TNT1 A 0 A_Jump(256, "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", "DieNormal2")
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, "DieRollBack")
Death.SuperKick:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_JumpIfInventory("IsJumping", 1, "DieRollBack")
TNT1 A 0 A_Jump(256, "DieJustLegs", "DieX", "DieArmOff", "DieRollBack")
Death.Shotgun:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_JumpIfInventory("IsJumping", 1, "DieRollBackHigh")
TNT1 A 0 A_Jump(256, "DieRollBack", "DieArmOff")
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, "DieTornUp", "DieArmOff")
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, "DieX")
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_JumpIfInventory("IsJumping", 1, "DieRollBackHigh")
TNT1 A 0 A_Jump(256, "DieJustLegs", "DieArmOff", "DieX", "DieTornUp")
XDeath:
TNT1 A 0 A_XScream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_Jump(256, "DieX")
DieNormal:
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerSmall", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AAA 0 A_SpawnProjectile("BdBloodLump", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(-45, -80))
TROO JKLM 5 A_SpawnProjectile("BdBloodDrop", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
TROO M -1
stop
DieNormal2:
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerSmall", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AAA 0 A_SpawnProjectile("BdBloodLump", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(-45, -80))
TROH KLMN 5 A_SpawnProjectile("BdBloodDrop", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
TROH O -1
stop
DieRollBack:
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerMed", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AAA 0 A_SpawnProjectile("BdBloodLump", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(-45, -80))
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_Recoil(13)
TNT1 A 0 ThrustThingZ(0, 20, 0, 1)
TNT1 A 0 A_Jump(128, "DieRollback2")
TR06 ABCDE 4 A_SpawnProjectile("BdBloodSpawnerTiny", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
TR06 FGHIJK 4
TR06 K -1
stop
DieRollBackHigh:
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerMed", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AAA 0 A_SpawnProjectile("BdBloodLump", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(-45, -80))
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_Recoil(20)
TNT1 A 0 ThrustThingZ(0, 30, 0, 0) //Set, don't add
TNT1 A 0 A_Jump(128, "DieRollback2")
TR06 ABCDE 4 A_SpawnProjectile("BdBloodSpawnerTiny", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
TR06 FGHIJK 4
TR06 K -1
stop
DieRollBack2:
TR06 LMNOP 4 A_SpawnProjectile("BdBloodSpawnerTiny", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
TR06 QRSTUV 4
TR06 V -1
stop
DieArmOff:
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerMed", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AAA 0 A_SpawnProjectile("BdBloodLump", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(-45, -80))
TNT1 A 0 A_SpawnProjectile("BdGibImpSide", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 A 0 A_Jump(128, "DieArmOff2")
TRO3 ABCDE 6 A_SpawnProjectile("BdBloodDrop", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
TRO3 E -1
stop
DieArmOff2:
TRO4 ABCDE 6 A_SpawnProjectile("BdBloodDrop", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
TRO4 E -1
stop
DiePlasma:
PBR1 A 2
TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0
{
A_SpawnProjectile("BdAshes", 32, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -180));
A_SpawnProjectile("BdAshesHeavy", 32, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -180));
}
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerLarge", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
PBR1 BBBBBB 2
{
A_SpawnItemEx("BdPlasmaEvaporate", random(-radius/2, radius/2), random(-radius/2, radius/2), 48);
A_SpawnProjectile("BdBloodDrop", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40));
}
PBR1 CDEFGH 6
{
A_SpawnProjectile("Blood", 10, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160));
A_SpawnProjectile("BdBloodDrop", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40));
}
TNT1 A 0 A_SpawnItem ("BdBloodPool")
PBR1 HHHHHHHHHHHHHHHHHHHHHH 8
{
A_SpawnProjectile("MiniSmoke", 10, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160));
A_SpawnItemEx("BdPlasmaEvaporate", random(-radius/2, radius/2), random(-radius/2, radius/2), 8);
}
PBR1 H -1
stop
DieJustLegs:
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerMed", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AAAA 0 A_SpawnProjectile("BdBloodLump", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(-45, -80))
TNT1 AAAA 0 A_SpawnProjectile("BdBloodLumpBone", 42, 0, random(0, 360), CMF_AIMDIRECTION, random(-10, -160))
TNT1 A 0 A_SpawnProjectile("BdGibImpSide", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 A 0 A_SpawnProjectile("BdGibImpHead", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 A 0 A_SpawnProjectile("BdGibImpArm", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TROG ABCDEEEE 6 A_SpawnProjectile("BdBloodDrop", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
TROG E -1
stop
DieTornUp:
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerMed", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AAAA 0 A_SpawnProjectile("BdBloodLump", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(-45, -80))
TNT1 AAAA 0 A_SpawnProjectile("BdBloodLumpBone", 42, 0, random(0, 360), CMF_AIMDIRECTION, random(-10, -160))
TNT1 AA 0 A_SpawnProjectile("BdGibImpArm", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 A 0 A_SpawnProjectile("BdGibImpHead", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
IZD1 BCDEFGH 6 A_SpawnProjectile("BdBloodDrop", 15, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -40))
IZD1 H -1
stop
DieX:
TNT1 A 0 A_SpawnProjectile("BdBloodSpawnerMed", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AAAAAAA 0 A_SpawnProjectile("BdBloodLump", 35, 0, random(0, 360), CMF_AIMDIRECTION, random(-45, -80))
TNT1 AAAAAAAA 0 A_SpawnProjectile("BdBloodLumpBone", 42, 0, random(0, 360), CMF_AIMDIRECTION, random(-10, -160))
TNT1 A 0 A_SpawnProjectile("BdGibZombieRibcage", 42, 0, random(0, 360), CMF_AIMDIRECTION, random(-10, -160))
TNT1 AA 0 A_SpawnProjectile("BdGibImpArm", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 AA 0 A_SpawnProjectile("BdGibImpLeg", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 A 0 A_SpawnProjectile("BdGibImpHead", 48, 0, random(0, 360), CMF_AIMDIRECTION, random(0, -160))
TNT1 A 1 //1-tic delay required after XDeath
stop
Raise:
TROO MLKJ 6
goto See