mirror of
https://github.com/jmarshall23/Quake_4_Alpha.git
synced 2026-08-19 20:20:09 +02:00
577 lines
16 KiB
Modula-2
577 lines
16 KiB
Modula-2
/*
|
|
===============================================================================
|
|
|
|
tank
|
|
|
|
===============================================================================
|
|
*/
|
|
|
|
export tank
|
|
{
|
|
options -game q4xbase/ -prefix TNK_ -align ALL -scale .6 -keep L_Ankle launcherarm3 head_1 tube4 tube3 tube2 tube1 launcher_door launcher_break laucher L_gunSpinJoint L_muzzle05 L_muzzle04 L_muzzle03 L_muzzle06 L_muzzle01 L_muzzle02 R_gunJoint L_toe L_hoof L_footflap_dummy L_footflap_2 L_footflap1 R_toe R_hoof R_footflap2 R_flootflap1 R_Ankle jaw mid_forhead forhead l_uplid l_lolid r_uplid r_lolid shoulders -parent Rteye_Focus head_1 -parent Lfteye_Focus head_1 -keep muzzle -parent waist hips -sourcedir models/monsters/tank/animations -destdir models/monsters/tank
|
|
|
|
mesh idle_alert.ma -dest tank
|
|
|
|
anim idle.ma -dest idle_ambient
|
|
anim idle_alert.ma -dest idle
|
|
anim af_pose.ma -dest af_pose
|
|
|
|
anim run.ma -dest run
|
|
anim walk.ma -dest walk
|
|
anim evade_left.ma -dest evade_left
|
|
anim evade_right.ma -dest evade_right
|
|
anim walk_left.ma -dest walk_left
|
|
anim walk_right.ma -dest walk_right
|
|
anim walk_left.ma -dest run_left
|
|
anim walk_right.ma -dest run_right
|
|
anim turn_left.ma -dest turn_left
|
|
anim turn_right.ma -dest turn_right
|
|
anim walk_backward.ma -dest walk_backward
|
|
|
|
anim ranged01.ma -dest machinegun_attack
|
|
anim ranged02.ma -dest railgun_attack
|
|
anim ranged03.ma -dest rocket_attack
|
|
anim melee01.ma -dest kick
|
|
anim melee02.ma -dest swipe
|
|
anim melee03.ma -dest chop
|
|
anim pain01.ma -dest pain_head
|
|
anim pain02.ma -dest pain_left
|
|
anim pain03.ma -dest pain_right
|
|
|
|
anim pain01.ma -range 1 10 -dest block_start
|
|
anim pain01.ma -range 10 11 -dest block_loop
|
|
anim pain01.ma -range 11 21 -dest block_end
|
|
|
|
anim pain_fire.ma -dest pain_fire
|
|
|
|
|
|
}
|
|
|
|
/*
|
|
===============================================================================
|
|
|
|
tank Model
|
|
|
|
===============================================================================
|
|
*/
|
|
|
|
model model_monster_tank
|
|
{
|
|
mesh models/monsters/tank/tank.md5mesh
|
|
|
|
channel torso ( *waist )
|
|
channel legs ( *hips origin -*waist)
|
|
|
|
anim af_pose models/monsters/tank/af_pose.md5anim
|
|
|
|
anim idle models/monsters/tank/idle.md5anim
|
|
{
|
|
//frame 18 sound snd_clamp
|
|
//frame 1,13 sound_voice snd_breathe
|
|
}
|
|
|
|
anim walk models/monsters/tank/walk.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim walk_backwards models/monsters/tank/walk_backward.md5anim
|
|
{
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim walk_right models/monsters/tank/walk_right.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim walk_left models/monsters/tank/walk_left.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim turn_right models/monsters/tank/turn_right.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim turn_left models/monsters/tank/turn_left.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim run models/monsters/tank/run.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim run_right models/monsters/tank/run_right.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim run_left models/monsters/tank/run_left.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim evade_right models/monsters/tank/evade_right.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 11, 21 footstep
|
|
frame 5, 16 sound snd_servo
|
|
}
|
|
|
|
anim evade_left models/monsters/tank/evade_left.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 11, 21 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim run_backwards models/monsters/tank/walk_backward.md5anim
|
|
{
|
|
sync_cycle
|
|
frame 1,13 footstep
|
|
frame 5,16 sound snd_servo
|
|
}
|
|
|
|
anim railgun_attack models/monsters/tank/railgun_attack.md5anim
|
|
{
|
|
//frame 20 fx fx_railgun_charge R_gunJoint
|
|
|
|
frame 11, 58 footstep
|
|
frame 6, 53 sound snd_servo
|
|
|
|
//frame 39 ai_lockEnemyOrigin
|
|
frame 36, 38, 44, 47, 49, 52, 55 ai_attack railgun R_gunJoint
|
|
//frame 36 fx fx_railgun_flash R_gunJoint
|
|
}
|
|
anim rocket_attack models/monsters/tank/rocket_attack.md5anim
|
|
{
|
|
|
|
frame 28, 41, 55, 62 footstep
|
|
frame 23, 36, 49, 57 sound snd_servo
|
|
|
|
frame 51 sound snd_grenade_prepare
|
|
frame 20 ai_attack rocket tube1
|
|
frame 20 fx fx_rocket_flash gunBarrelReal
|
|
frame 20 sound snd_missile_launch
|
|
|
|
frame 55 sound snd_grenade_prepare
|
|
frame 27 ai_attack rocket tube1
|
|
frame 27 fx fx_rocket_flash gunBarrelReal
|
|
frame 27 sound_weapon snd_missile_launch
|
|
|
|
frame 59 sound snd_grenade_prepare
|
|
frame 35 ai_attack rocket tube1
|
|
frame 35 fx fx_rocket_flash gunBarrelReal
|
|
frame 35 sound_weapon snd_missile_launch
|
|
|
|
frame 63 sound snd_grenade_prepare
|
|
frame 41 ai_attack rocket tube1
|
|
frame 41 fx fx_rocket_flash gunBarrelReal
|
|
frame 41 sound_weapon snd_missile_launch
|
|
}
|
|
|
|
anim machinegun_attack models/monsters/tank/machinegun_attack.md5anim
|
|
{
|
|
frame 18 sound snd_tankpowerup
|
|
|
|
frame 13, 77 sound snd_servo
|
|
frame 18, 81 footstep
|
|
|
|
frame 49, 51, 53, 55 ai_attack blaster L_muzzle02
|
|
frame 49, 51, 53, 55 fx fx_machinegun_flash L_muzzle02
|
|
|
|
frame 43, 45, 47 ai_attack blaster L_muzzle03
|
|
frame 43, 45, 47 fx fx_machinegun_flash L_muzzle03
|
|
|
|
frame 52 ai_attack blaster L_muzzle04
|
|
frame 52 fx fx_machinegun_flash L_muzzle04
|
|
|
|
frame 48, 50, 54, 56 ai_attack blaster L_muzzle05
|
|
frame 48, 50, 54, 56 fx fx_machinegun_flash L_muzzle05
|
|
|
|
frame 42, 44, 46 ai_attack blaster L_muzzle06
|
|
frame 42, 44, 46 fx fx_machinegun_flash L_muzzle06
|
|
|
|
//old compound seq:frame 42, 44, 46, 48, 50, 54, 56, 43, 45, 47, 49, 51, 52, 53, 55 sound_weapon snd_tanknailgun_fire
|
|
frame 30 sound_weapon snd_tanknailgun_fire
|
|
|
|
}
|
|
|
|
anim melee_attack1 models/monsters/tank/kick.md5anim
|
|
{
|
|
frame 10 ai_attack_melee melee
|
|
frame 1 sound_voice snd_breathe
|
|
frame 16, 24 footstep
|
|
frame 1, 6, 17 sound snd_servo
|
|
}
|
|
|
|
anim melee_attack2 models/monsters/tank/swipe.md5anim
|
|
{
|
|
frame 15 ai_attack_melee melee
|
|
frame 1 sound_voice snd_breathe
|
|
frame 6, 12 sound snd_servo
|
|
}
|
|
|
|
anim melee_attack3 models/monsters/tank/chop.md5anim
|
|
{
|
|
frame 19 ai_attack_melee melee
|
|
frame 1 sound_voice snd_breathe
|
|
frame 1, 15 sound snd_servo
|
|
}
|
|
|
|
|
|
anim pain1 models/monsters/tank/pain_left.md5anim
|
|
{
|
|
frame 1 sound_voice snd_pain
|
|
frame 1 sound snd_servo
|
|
}
|
|
|
|
anim pain2 models/monsters/tank/pain_right.md5anim
|
|
{
|
|
frame 1 sound_voice snd_pain
|
|
}
|
|
|
|
anim pain_big models/monsters/tank/pain_head.md5anim
|
|
{
|
|
frame 1 sound_voice snd_pain
|
|
}
|
|
|
|
|
|
|
|
anim pain_fire models/monsters/tank/pain_fire.md5anim
|
|
{
|
|
frame 1 sound_voice snd_pain
|
|
}
|
|
|
|
|
|
// ------------------------------------ Scripted Anims --------------------
|
|
|
|
anim blaster_end models/monsters/tank/block_end.md5anim
|
|
{
|
|
}
|
|
}
|
|
|
|
|
|
/*===============================================================================
|
|
|
|
tank Attacks
|
|
|
|
===============================================================================
|
|
*/
|
|
|
|
entityDef damage_tank_rocket_direct
|
|
{
|
|
"damage" "100"
|
|
"knockback" "140"
|
|
"push" "140"
|
|
"mtr_splat" ""
|
|
"gib" "1"
|
|
|
|
"deathPush" "100"
|
|
"deathPushMin" "3000 2000"
|
|
"deathPushMax" "5000 3000"
|
|
}
|
|
|
|
entityDef damage_tank_rocket_splash
|
|
{
|
|
"damage" "20"
|
|
"radius" "500"
|
|
"knockback" "80"
|
|
"push" "80"
|
|
"gib" "1"
|
|
|
|
"deathPush" "100"
|
|
"deathPushMin" "3000 2000"
|
|
"deathPushMax" "5000 3000"
|
|
}
|
|
|
|
|
|
entityDef projectile_tank_rocket
|
|
{
|
|
"inherit" "projectile_rocket"
|
|
"spawnclass" "rvDriftingProjectile"
|
|
|
|
"driftOffset" "15"
|
|
"driftSpeed" "100"
|
|
"driftTime" ".35"
|
|
"speed" "850"
|
|
|
|
"def_damage" "damage_tank_rocket_direct"
|
|
"def_splash_damage" "damage_tank_rocket_splash"
|
|
|
|
"fx_fly" "effects/monsters/tank/rocket_fly.fx"
|
|
"snd_fly" "tank_missile_loop"
|
|
"fx_impact" "effects/monsters/tank/rocket_impact.fx"
|
|
}
|
|
|
|
entityDef hitscan_tank_bullet
|
|
{
|
|
"inherit" "hitscan_bullet_base"
|
|
"def_damage" "damage_tank_bullet"
|
|
|
|
"attack_spread_horizontal" "10"
|
|
"attack_spread_vertical" "7"
|
|
|
|
"fx_impact" "effects/monsters/tank/machinegun_burst.fx"
|
|
"fx_tracer" "effects/monsters/tank/machinegun_fly.fx"
|
|
"fx_fly" "effects/monsters/tank/machinegun_fly.fx"
|
|
"snd_fly" "weapon_energy_projectile_loop"
|
|
}
|
|
|
|
entityDef damage_tank_bullet
|
|
{
|
|
"inherit" "damage_bullet_base"
|
|
"push" "75"
|
|
"knockback" "10"
|
|
"damage" "10"
|
|
"gib" "1"
|
|
|
|
"deathPush" "100"
|
|
"deathPushMin" "3000 2000"
|
|
"deathPushMax" "5000 3000"
|
|
}
|
|
|
|
entityDef damage_tank_railgunSplash
|
|
{
|
|
"inherit" "damage_nailSplash"
|
|
"damage" "20"
|
|
"radius" "150"
|
|
}
|
|
|
|
entityDef damage_tank_railgun
|
|
{
|
|
"inherit" "damage_railgun_base"
|
|
"damage" "90"
|
|
"kickdir" "1 0 0"
|
|
|
|
"deathPush" "150"
|
|
"deathPushMin" "3000 2000"
|
|
"deathPushMax" "5000 3000"
|
|
}
|
|
|
|
entityDef hitscan_tank_railgun
|
|
{
|
|
"inherit" "hitscan_base"
|
|
"push" "40000"
|
|
"def_damage" "damage_tank_railgun"
|
|
"def_splash_damage" "damage_tank_railgunSplash"
|
|
"fx_impact" "effects/monsters/tank/railgun_burst.fx"
|
|
"fx_path" "effects/monsters/tank/railgun_trail.fx"
|
|
|
|
}
|
|
|
|
entityDef melee_tank
|
|
{
|
|
"inherit" "melee_monster_base"
|
|
"damage" "50"
|
|
"knockback" "250"
|
|
"push" "250"
|
|
"pushdir" "0 10 -10"
|
|
|
|
"deathPush" "150"
|
|
"deathPushMin" "3000 2000"
|
|
"deathPushMax" "5000 3000"
|
|
|
|
"snd_hit" "tank_punch"
|
|
"snd_miss" "tank_swing"
|
|
}
|
|
|
|
|
|
/*
|
|
===============================================================================
|
|
|
|
tank Entity Definition
|
|
|
|
===============================================================================
|
|
*/
|
|
|
|
entityDef monster_q4x_tank
|
|
{
|
|
"inherit" "actor_default"
|
|
|
|
// ------------------------------- Actions ------------------------------------
|
|
//"action_evadeRight" "1"
|
|
//"action_evadeLeft" "1"
|
|
|
|
"action_machinegunAttack" "1"
|
|
"action_machinegunAttack_anim" "machinegun_attack"
|
|
"action_machinegunAttack_minRange" "25"
|
|
"action_machinegunAttack_maxRange" "500"
|
|
"action_machinegunAttack_rate" "1.2"
|
|
"action_machinegunAttack_chance" "0.35"
|
|
|
|
"action_meleeAttack" "1"
|
|
"action_meleeAttack_maxRange" "100"
|
|
"action_meleeAttack_chance" "1"
|
|
"action_meleeAttack_rate" "0.1"
|
|
"action_meleeAttack_failrate" "0.1"
|
|
|
|
"action_railgunAttack" "1"
|
|
"action_railgunAttack_minRange" "150"
|
|
"action_railgunAttack_maxRange" "1500"
|
|
"action_railgunAttack_anim" "railgun_attack"
|
|
"action_railgunAttack_rate" "2"
|
|
//"action_railgunAttack_failrate" "0.1"
|
|
"action_railgunAttack_chance" "1"
|
|
"action_railgunAttack_nopain" "1"
|
|
"actionTimer_rangedAttack_rate" "1.2"
|
|
"actionTimer_specialAttack_rate" "2"
|
|
|
|
"action_rocketAttack" "1"
|
|
"action_rocketAttack_minRange" "150"
|
|
"action_rocketAttack_maxRange" "800"
|
|
"action_rocketAttack_rate" "6"
|
|
"action_rocketAttack_anim" "rocket_attack"
|
|
|
|
// --------------------------------- Body ------------------------------------
|
|
"spawnclass" "riMonsterTank"
|
|
"model" "model_monster_tank"
|
|
"ragdoll" "monster_tank"
|
|
"mass" "600"
|
|
"size" "48 48 48"
|
|
"use_aas" "aas48"
|
|
"joint_chestOffset" "chest"
|
|
"joint_eyeOffset" "rt_up_lid"
|
|
|
|
"canBePinned" "0"
|
|
|
|
//"gravityDir" "0 0 1"
|
|
"directionalMovement" "1"
|
|
|
|
//"af_push_moveables" "1"
|
|
|
|
"ragdoll_slomoStart" "-5"
|
|
"ragdoll_slomoEnd" "5"
|
|
|
|
"missile_visibility_joint" "head"
|
|
|
|
// --------------------------------- Combat ----------------------------------
|
|
"health" "1700"
|
|
"bleed" "0"
|
|
"launcherHealth" "200"
|
|
"chestHealth" "200"
|
|
"painThreshold" "100"
|
|
"painThresholdBig" "500"
|
|
"melee_range" "80"
|
|
"fov" "120"
|
|
"tactical_rush" "1"
|
|
"tactical_hide" "1"
|
|
"tactical_ranged" "1"
|
|
"tactical_cover" "0"
|
|
"awareRange" "800"
|
|
//"ignore_obstacles" "1"
|
|
|
|
|
|
"def_attack_rocket" "projectile_tank_rocket"
|
|
"attack_rocket_accuracy" ".5"
|
|
"attack_rocket_predict" "1"
|
|
|
|
"def_attack_melee" "melee_tank"
|
|
|
|
"def_attack_blaster" "hitscan_tank_bullet"
|
|
"attack_blaster_hitscan" "1"
|
|
"attack_blaster_accuracy" "1"
|
|
|
|
"def_attack_railgun" "projectile_hyperblaster"
|
|
//"attack_railgun_hitscan" "1"
|
|
//"attack_railgun_accuracy" "1"
|
|
//"attack_railgun_missFirstShot" "0"
|
|
"attack_railgun_predict" "1"
|
|
|
|
// --------------------------------- Damage Zones -----------------------------
|
|
"damage_zone head" "*head_1 R_Atrium L_Atrium R_Ventricle L_Ventricle"
|
|
"damage_zone legs" "*hips origin -*head_1 -R_Atrium -L_Atrium -R_Ventricle -L_Ventricle"
|
|
"damage_zone left_arm" "*L_clavicle"
|
|
//"damage_zone right_arm" "*R_arm"
|
|
"damage_zone launcher" "*laucher"
|
|
"damage_zone chest" "*chestbreak"
|
|
//"damage_zone heart" "R_Atrium L_Atrium R_Ventricle L_Ventricle"
|
|
"damage_scale head" "6"
|
|
"damage_scale legs" "0.05"
|
|
//"damage_scale left_arm" "0.05"
|
|
//"damage_scale right_arm" "0.05"
|
|
"damage_scale launcher" "0.05"
|
|
"damage_scale chest" "0.05"
|
|
//"damage_scale heart" "15"
|
|
|
|
// --------------------------------- Look Joints -----------------------------
|
|
"look_joint waist" "0 0.75 0"
|
|
"look_joint head_1" "0.2 0.2 0"
|
|
"look_joint L_gunFore" "0.4 0.4 0"
|
|
"look_joint R_gunFore" "0.4 0.4 0"
|
|
"look_chest" "0.75 0.75 0.75"
|
|
|
|
// --------------------------------- Effects ---------------------------------
|
|
"fx_machinegun_flash" "effects/monsters/tank/machinegun_flash.fx"
|
|
"fx_railgun_flash" "effects/monsters/tank/railgun_mflash.fx"
|
|
"fx_railgun_charge" "effects/monsters/tank/railgun_charge.fx"
|
|
"fx_footstomp" "effects/monsters/tank/footstomp.fx"
|
|
"fx_railglow" "effects/monsters/tank/railglow.fx"
|
|
"fx_gunglow" "effects/monsters/tank/gunglow.fx"
|
|
"fx_swipe" "effects/monsters/grunt/swipe_attack.fx" // FX_REPLACE
|
|
"fx_railgun_explode" "effects/monsters/light_tank/destroy_arm.fx"
|
|
"fx_railgun_burn" "effects/monsters/tank/destroy_part_trail.fx"
|
|
"fx_chest_explode" "effects/monsters/tank/destroy_chest.fx"
|
|
"fx_launcher_explode" "effects/monsters/tank/destroy_launcher.fx"
|
|
|
|
"snd_burn_lightning" "effects_sparks02"
|
|
"fx_burn_lightning" "effects/monsters/lightning_death.fx"
|
|
"fx_burn_particles" "effects/monsters/teleport3.fx"
|
|
"fx_burn_particles_chest" "effects/monsters/teleport4.fx"
|
|
|
|
//"fx_chestbreak" "INSERT FX HERE"
|
|
//"fx_launcherbreak" "INSERT FX HERE"
|
|
//"fx_launchersmoke" "INSERT FX HERE"
|
|
|
|
// --------------------------------- Sounds ----------------------------------
|
|
"lipsync_sight" "tank_alert"
|
|
|
|
"snd_footstep" "tank_footsteps"
|
|
"snd_footstep_sand" "tank_footsteps_dirt"
|
|
"snd_footstep_dirt" "tank_footsteps_dirt"
|
|
"snd_footstep_hollowmetal" "tank_footsteps_hollow_metal"
|
|
"snd_footstep_rock" "tank_footsteps"
|
|
|
|
"snd_bounce" "generic_creature_fall_metal"
|
|
|
|
"snd_swipe" "tank_swing"
|
|
"snd_swing" "tank_swing"
|
|
"snd_land" "tank_jump_land"
|
|
"snd_start" "tank_jump_start"
|
|
"snd_death" "tank_die"
|
|
"snd_servo" "tank_servo"
|
|
"snd_breathe" "tank_breathe"
|
|
"snd_clamp" "tank_clamp"
|
|
"snd_rip" "tank_rip"
|
|
"snd_pain" "tank_pain"
|
|
"snd_fence_tear" "grunt_fence_land"
|
|
"snd_fence_touch" "grunt_fence_climb"
|
|
"snd_fence_break" "grunt_fence_break"
|
|
"snd_flesh" "bullet_impact_flesh"
|
|
|
|
"snd_missile_launch" "tank_missile_launch"
|
|
"snd_tanknailgun_fire" "tank_nailgun_fireseq"
|
|
"snd_tankpowerup" "tank_powerup"
|
|
}
|