Files
DoomRTX/base/def/monster_demon_archvile.def
T
2026-05-23 14:19:48 -07:00

316 lines
9.3 KiB
Modula-2

/***********************************************************************
monster_demon_archvile.def
***********************************************************************/
export James {
options -prefix ARCH_ -keep Lknee Rknee -keep ROT -keep fireball -align movement -parent Waist ROT -parent ROT Body -parent fireball Rhand -sourcedir models/monsters/archvile/cycles -destdir models/md5/monsters/archvile
mesh archvile_mesh.mb -dest archvile
anim idle.mb
anim stand.mb
anim teleport.mb
anim walk.mb
anim attack1.mb
anim attack2.mb
anim attack3.mb
anim range_attack1.mb
anim range_attack2.mb
anim evade_left.mb
anim evade_right.mb
anim pain_evade_left.mb
anim pain_evade_right.mb
anim pain_chest1.mb
anim pain_chest2.mb
anim pain_head1.mb
anim pain_head2.mb
anim pain_luparm1.mb
anim pain_luparm2.mb
anim pain_ruparm1.mb
anim pain_ruparm2.mb
anim sight2.mb
anim resurrection.mb
anim af_pose.mb -range 1 1
}
model monster_demon_archvile {
mesh models/md5/monsters/archvile/archvile.md5mesh
channel torso ( *Waist )
channel legs ( *Hips origin Body ROT )
anim idle models/md5/monsters/archvile/idle.md5anim
anim stand models/md5/monsters/archvile/stand.md5anim
anim walk models/md5/monsters/archvile/walk.md5anim {
frame 14 sound_body snd_footstep
frame 27 sound_body snd_footstep
}
anim teleport models/md5/monsters/archvile/teleport.md5anim {
frame 4 sound_body snd_footstep
frame 5 sound_body snd_footstep
frame 15 sound_voice snd_sight
}
anim turret_attack models/md5/monsters/archvile/range_attack2.md5anim {
frame 6 sound_voice snd_sight2
frame 10 object_call incinerate
}
anim melee_attack1 models/md5/monsters/archvile/attack1.md5anim {
frame 9 sound_body snd_melee
frame 11 sound_body snd_footstep
frame 12 melee melee_archRightClaw
frame 30 sound_body snd_footstep
}
anim melee_attack2 models/md5/monsters/archvile/attack2.md5anim {
frame 7 sound_body snd_footstep
frame 9 sound_body snd_melee
frame 13 melee melee_archLeftClaw
frame 31 sound_body snd_footstep
}
anim melee_attack3 models/md5/monsters/archvile/attack3.md5anim {
frame 8 sound_body snd_melee
frame 11 melee melee_archRightClaw
frame 13 sound_body snd_footstep
frame 31 sound_body snd_footstep
}
// duplicated attack2 so we have an even # of left/right attacks
anim melee_attack4 models/md5/monsters/archvile/attack2.md5anim {
frame 7 sound_body snd_footstep
frame 9 sound_body snd_melee
frame 13 melee melee_archLeftClaw
frame 31 sound_body snd_footstep
}
anim evade_left models/md5/monsters/archvile/evade_left.md5anim {
frame 1 sound_voice snd_pain
frame 5 sound_body snd_footstep
frame 12 sound_body snd_footstep
frame 17 sound_body snd_footstep
}
anim evade_right models/md5/monsters/archvile/evade_right.md5anim {
frame 1 sound_voice snd_pain
frame 6 sound_body snd_footstep
frame 11 sound_body snd_footstep
frame 17 sound_body snd_footstep
}
anim flamewall_attack models/md5/monsters/archvile/range_attack1.md5anim {
frame 7 sound_body snd_attack
frame 8 object_call flame_wall
}
anim incinerate_attack models/md5/monsters/archvile/range_attack2.md5anim {
frame 5 sound_voice snd_sight2
frame 7 sound_body snd_attack
frame 10 object_call incinerate
}
anim pain models/md5/monsters/archvile/pain_chest1.md5anim {
frame 1 sound_voice snd_pain
}
anim pain_chest1 models/md5/monsters/archvile/pain_chest1.md5anim {
frame 1 sound_voice snd_pain
}
anim pain_chest2 models/md5/monsters/archvile/pain_chest2.md5anim {
frame 1 sound_voice snd_pain
}
anim pain_head1 models/md5/monsters/archvile/pain_head1.md5anim {
frame 1 sound_voice snd_pain
}
anim pain_head2 models/md5/monsters/archvile/pain_head2.md5anim {
frame 1 sound_voice snd_pain
}
anim pain_left_arm1 models/md5/monsters/archvile/pain_luparm1.md5anim {
frame 1 sound_voice snd_pain
}
anim pain_left_arm2 models/md5/monsters/archvile/pain_luparm2.md5anim {
frame 1 sound_voice snd_pain
}
anim pain_right_arm1 models/md5/monsters/archvile/pain_ruparm1.md5anim {
frame 1 sound_voice snd_pain
}
anim pain_right_arm2 models/md5/monsters/archvile/pain_ruparm2.md5anim {
frame 1 sound_voice snd_pain
}
anim sight models/md5/monsters/archvile/sight2.md5anim {
frame 1 sound_voice snd_sight
}
anim af_pose models/md5/monsters/archvile/af_pose.md5anim
anim ik_pose models/md5/monsters/archvile/af_pose.md5anim
anim resurrection models/md5/monsters/archvile/resurrection.md5anim {
frame 1 sound_body snd_resurrection
frame 9 sound_voice snd_sight
frame 10 object_call resurrection
}
}
entityDef monster_demon_archvile {
"inherit" "monster_default"
"editor_usage" "Target 1 or more monsters to act as minions. Minions will remain hidden until they are spawned in by the archvile."
"editor_var keep_alive" "Specifies the number of minions the archvile should keep spawned."
"editor_var num_start" "Specifies the number of minions the archvile should initially spawn."
"editor_var target" "Set to name of monster entity to act as a minion. Archvile can have any # of targeted minion. A minion will remain hidden until he is spawned in by the archvile."
"editor_var delay" "How long to wait after minion dies to respawn a new one."
"scriptobject" "ai"
"nativeobject" "rvmMonsterDemonArchvile"
"model" "monster_demon_archvile"
"ragdoll" "monster_demon_archvile"
"size" "48 48 68"
"use_aas" "aas48"
"team" "1"
"rank" "2"
"health" "425"
"attack_cone" "70"
"attack_accuracy" "0"
"melee_range" "48"
"bone_focus" "Head"
"burnaway" "0.50"
"smoke_burnParticleSystem" "burn_imp.prt-chest"
"delay" "2"
"look_min" "-90 -125 0"
"look_max" "25 125 0"
"look_joint Waist" "0.4 0.4 0"
"look_joint Head" "0.6 0.6 0"
"damage_zone head" "*Neck"
"damage_zone chest" "*Waist -*Rshldr -*Lshldr -*Neck"
"damage_zone left_arm" "*Lshldr"
"damage_zone right_arm" "*Rshldr"
"damage_scale head" "2"
"mass" "350"
"ik_numLegs" "2"
"ik_footSize" "4"
"ik_waist" "Body"
"ik_hip1" "Lupleg"
"ik_hip2" "Rupleg"
"ik_knee1" "Lloleg"
"ik_knee2" "Rloleg"
"ik_ankle1" "Lankle_r"
"ik_ankle2" "Rankle_r"
"ik_dir1" "Lknee"
"ik_dir2" "Rknee"
"ik_foot1" "Ltoe_r"
"ik_foot2" "Rtoe_r"
"snd_sight" "monster_demon_archvile_sight"
"snd_sight2" "monster_demon_archvile_sight2"
"snd_chatter" "monster_demon_archvile_chatter"
"snd_chatter_combat" "monster_demon_archvile_chatter"
"snd_pain" "monster_demon_archvile_pain"
"snd_attack" "monster_demon_archvile_attack"
"snd_death" "monster_demon_archvile_die"
"snd_createmissile" "monster_demon_imp_fireball_create"
"snd_footstep" "monster_demon_archvile_footstep"
"snd_resurrection" "monster_demon_archvile_resurrection"
"snd_melee" "monster_demon_archvile_melee"
"snd_burn" "monster_demon_archvile_burn"
"smokeParticleSystem" "rarchhand"
"smokeParticleSystem2" "larchhand"
// these keys aren't actually used, but just for the game to precache the entitydefs
"def_attack1" "archvile_incinerate"
"def_attack2" "archvile_flamewall_2.prt"
}
entityDef melee_archLeftClaw {
// melee specific parameters
"snd_hit" "monster_demon_imp_melee_hit"
"snd_miss" "monster_demon_imp_melee_miss"
"kickDir" "0 -1 0"
// damage parameters
"damage" "12"
"mtr_blob" "leftSlash"
"blob_time" "300"
"blob_x" "140"
"blob_y" "-100"
"blob_width" "600"
"blob_height" "600"
"knockback" "40"
"kick_time" "400"
"kick_amplitude" "2"
"dv_time" "100"
}
entityDef melee_archRightClaw {
"snd_hit" "monster_demon_imp_melee_hit"
"snd_miss" "monster_demon_imp_melee_miss"
"kickDir" "0 1 0"
"damage" "12"
"mtr_blob" "rightSlash"
"blob_time" "300"
"blob_x" "-100"
"blob_y" "-100"
"blob_width" "600"
"blob_height" "600"
"knockback" "30"
"kick_time" "400"
"kick_amplitude" "2"
"dv_time" "100"
}
entityDef damage_archvilefirewall {
"damage" "20"
"kickDir" "1 0 0"
"mtr_blob" "genericDamage"
"blob_time" "300"
"blob_size" "400"
"blob_offset_x" "400"
"knockback" "10"
"smoke_wound_flesh" "bloodwound.smoke"
"kick_time" "400"
"kick_amplitude" "1"
"dv_time" "100"
}
entityDef archvile_flamewall {
"spawnclass" "idTrigger_Hurt"
"model" "archvile_flamewall.prt"
"size" "48 48 128"
"cylinder" "6"
"def_damage" "damage_archvilefirewall"
"snd_fly" "archvile_fireloop"
}
entityDef damage_archvileincinerate {
"damage" "20"
"kickDir" "1 0 0"
"mtr_blob" "genericDamage"
"blob_time" "300"
"blob_size" "400"
"blob_offset_x" "400"
"knockback" "10"
"smoke_wound_flesh" "bloodwound.smoke"
"kick_time" "400"
"kick_amplitude" "1"
"dv_time" "100"
}
entityDef archvile_incinerate {
"spawnclass" "idTrigger_Hurt"
"model" "archvile_flamewall_2b.prt"
"size" "48 48 128"
"cylinder" "6"
"def_damage" "damage_archvileincinerate"
}