File
- Defined in \monsters\Archvile.txt
Flags
Properties
//$category | Monsters |
//$sprite | DIABA1 |
activesound | "vile/active" |
bloodtype | "BdBleed", "BdBleed", "BdBleedSaw" |
damagefactor | "Crush" 10.0 "Blood" 0.0 "BlueBlood" 0.0 "GreenBlood" 0.0 "Avoid" 0.0 "CauseObjectsToSplash" 0.0 "Flak" 2.5 |
deathsound | "vile/death" |
game | Doom |
health | 750 |
height | 68 |
mass | 500 |
maxdropoffheight | 32 |
maxstepheight | 24 |
maxtargetrange | 896 |
meleesound | "vile/stop" |
obituary | "%o was annihilated by an Arch-Vile." |
painchance | 10"Kick", 200 |
painsound | "vile/pain" |
radius | 20 |
seesound | "vile/sight" |
species | Archvile |
speed | 15 |
States
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ceilingz-floorz >= height, "HeightOK")
TNT1 A 0 A_SetScale(1)
TNT1 A 0 A_SetSize(-1, 56)
HeightOK:
DIAB B 10 A_Look
Loop
See:
DIAB AABBCCDDCCBB 2 A_VileChase
Loop
Missile:
DIAB E 1 A_FaceTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 5 BRIGHT A_VileStart
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 5
DIAB E 1 A_VileTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 5 A_VileTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 5 A_VileTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 5 A_VileTarget
DIAB E 1 A_VileTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 4 A_FaceTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB F 4 BRIGHT A_FaceTarget
DIAB F 4 BRIGHT A_FaceTarget
DIAB E 1 A_VileTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 4 A_FaceTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB F 4 BRIGHT A_FaceTarget
DIAB E 1 A_VileTarget
TNT1 A 0 A_CheckSight("See") //Abandon if we can no longer see the player
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 4 A_FaceTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB F 4 BRIGHT A_FaceTarget
DIAB E 1 A_VileTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 4 A_FaceTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB E 4 A_FaceTarget
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, 35, random (0, 40), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 85, -35, random (0, 40), 2, random (0, 160))
DIAB F 4 BRIGHT A_FaceTarget
TNT1 A 0 A_CheckSight("See") //Abandon if we can no longer see the player
DIAB JKLMN 3 BRIGHT A_FaceTarget
DIAB O 3 BRIGHT A_VileAttack
DIAB P 3 BRIGHT
Goto See
Heal:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("PentagramParticleSpawner", 40)
DIBR X 10 BRIGHT
Goto See
Pain:
DIAB Q 5
DIAB Q 5 A_Pain
Goto See
Pain.Kick:
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_Recoil(8)
DIAB Q 10 A_Pain
DIAB Q 10
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, "DieNormal", "DieGibs", "DieX")
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, "DieGibs")
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, "DieGibs")
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:
XDeath:
TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
TNT1 A 0 A_Scream
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_Jump(256, "DieX")
DieNormal:
TNT1 A 0 A_CustomMissile ("BdBloodSpawnerLarge", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AAA 0 A_CustomMissile ("BdBloodLump", 35, 0, random (0, 360), 2, random(45, 80))
DIAB RSTUVWX 5 A_SpawnItem ("BdBloodSpawnerSmall", 40)
TNT1 A 0 A_SpawnItem ("BdBloodPool")
DIAB X -1
DieGibs:
TNT1 A 0 A_CustomMissile ("BdGibVileTopHalf", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AAA 0 A_CustomMissile ("BdGibVilePiece", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AA 0 A_CustomMissile ("BdBloodSpawnerLarge", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AAA 0 A_CustomMissile ("BdBloodLump", 35, 0, random (0, 360), 2, random(45, 80))
VIGI CDEFGHIJ 5 A_SpawnItem ("BdBloodSpawnerSmall", 40)
TNT1 A 0 A_SpawnItem ("BdBloodPool")
VIGI J -1
DiePlasma:
TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 {
A_CustomMissile ("BdAshes", 32, 0, random (0, 360), 2, random (0, 180));
A_CustomMissile ("BdAshes", 32, 0, random (0, 360), 2, random (0, 180));
A_CustomMissile ("BdAshesHeavy", 32, 0, random (0, 360), 2, random (0, 180));
A_CustomMissile ("BdAshesHeavy", 32, 0, random (0, 360), 2, random (0, 180));
A_CustomMissile ("BdAshesHeavy", 32, 0, random (0, 360), 2, random (0, 180));
}
TNT1 AA 0 A_CustomMissile ("BdBloodSpawnerMelting", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AAA 0 A_CustomMissile ("BdBloodSpawnerLarge", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 A 0 A_CustomMissile ("BdGibVileTopHalf", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AAAAAA 0 A_CustomMissile ("BdGibVilePiece", 35, 0, random (0, 360), 2, random (0, 160))
XBRN A 3
XBRN BBBCCC 3 {
A_CustomMissile ("BdFlyingBlood", 15, 0, random (0, 360), 2, random (0, 40));
A_CustomMissile ("BdFlyingBlood", 15, 0, random (0, 360), 2, random (0, 40));
}
XBRN DDDEEE 3 {
A_CustomMissile ("Blood", 10, 0, random (0, 360), 2, random (0, 160));
A_CustomMissile ("BdBloodDrop", 15, 0, random (0, 360), 2, random (0, 40));
}
TNT1 A 1
Stop
DieX:
TNT1 A 0 A_CustomMissile ("BdGibVileTopHalf", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AAAAAA 0 A_CustomMissile ("BdGibVilePiece", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AAAA 0 A_CustomMissile ("BdBloodSpawnerLarge", 35, 0, random (0, 360), 2, random (0, 160))
TNT1 AAAAAA 0 A_CustomMissile ("BdBloodLump", 35, 0, random (0, 360), 2, random(45, 80))
TNT1 AAAAAA 0 A_CustomMissile ("BdBloodLumpBone", 35, 0, random (0, 360), 2, random(45, 80))
TNT1 A 1
Stop