mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-16 16:20:42 +02:00
316 lines
9.3 KiB
Modula-2
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"
|
|
}
|