/* =============================================================================== 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" }