From 027067a1226b9eae1d82d27473ea3936881316de Mon Sep 17 00:00:00 2001 From: Justin Marshall Date: Sat, 23 May 2026 14:19:48 -0700 Subject: [PATCH] All Doom 3 AI is now native. --- base/def/char_sentry.def | 553 ++ base/def/characters.def | 1 + base/def/characters_eric.def | 208 + base/def/characters_james.def | 288 + base/def/map_admin.def | 598 ++ base/def/map_alphalabs1.def | 445 ++ base/def/map_alphalabs2.def | 774 +++ base/def/map_alphalabs3.def | 4 + base/def/map_alphalabs4.def | 320 + base/def/map_caverns2.def | 533 ++ base/def/map_comm1.def | 154 + base/def/map_commoutside.def | 202 + base/def/map_cpu1.def | 367 ++ base/def/map_cpuboss.def | 61 + base/def/map_delta1.def | 113 + base/def/map_delta2a.def | 719 +++ base/def/map_delta2b.def | 276 + base/def/map_delta3.def | 38 + base/def/map_delta4.def | 238 + base/def/map_delta5.def | 133 + base/def/map_enpro.def | 1291 ++++ base/def/map_fragchamber.def | 25 + base/def/map_hell1.def | 217 + base/def/map_hellhole.def | 737 +++ base/def/map_intro.def | 116 + base/def/map_maledict.def | 49 + base/def/map_marscity.def | 3157 +++++++++ base/def/map_marscity2.def | 260 + base/def/map_monorail.def | 274 + base/def/map_recycling.def | 110 + base/def/map_recycling2.def | 246 + base/def/map_site3.def | 170 + base/def/map_space.def | 141 + base/def/map_underground.def | 1812 ++++++ base/def/monster_boss_cyberdemon.def | 340 + base/def/monster_boss_guardian.def | 351 + base/def/monster_boss_guardian_seeker.def | 74 + base/def/monster_boss_maledict.def | 71 + base/def/monster_boss_sabaoth.def | 137 + base/def/monster_boss_vagary.def | 256 + base/def/monster_default.def | 189 + base/def/monster_demon_archvile.def | 315 + base/def/monster_demon_cherub.def | 236 + base/def/monster_demon_d3xp_bruiser.def | 112 + base/def/monster_demon_hellknight.def | 392 ++ base/def/monster_demon_imp.def | 777 +++ base/def/monster_demon_maggot.def | 333 + base/def/monster_demon_mancubus.def | 285 + base/def/monster_demon_pinky.def | 298 + base/def/monster_demon_revenant.def | 517 ++ base/def/monster_demon_sentry.def | 210 + base/def/monster_demon_tick.def | 421 ++ base/def/monster_demon_trite.def | 533 ++ base/def/monster_demon_vulgar.def | 305 + base/def/monster_demon_wraith.def | 265 + base/def/monster_flying_cacodemon.def | 238 + base/def/monster_flying_lostsoul.def | 139 + base/def/monster_turret.def | 154 + base/def/monster_zombie_base.def | 170 + base/def/monster_zombie_bernie.def | 184 + base/def/monster_zombie_boney.def | 169 + base/def/monster_zombie_chainsaw.def | 191 + base/def/monster_zombie_commando.def | 352 + base/def/monster_zombie_commando_cgun.def | 921 +++ base/def/monster_zombie_fat.def | 415 ++ base/def/monster_zombie_fem.def | 210 + base/def/monster_zombie_generic.def | 679 ++ base/def/monster_zombie_jumpsuit.def | 172 + base/def/monster_zombie_maint.def | 224 + base/def/monster_zombie_morgue.def | 134 + base/def/monster_zombie_sawyer.def | 288 + base/def/monster_zsec_machinegun.def | 683 ++ base/def/monster_zsec_pistol.def | 550 ++ base/def/monster_zsec_shield.def | 407 ++ base/def/monster_zsec_shotgun.def | 417 ++ base/def/npcs.def | 1417 ++++ base/def/npcs_james.def | 35 + base/def/player.def | 953 +++ base/maps/game/admin/textures/objective1.tga | Bin 1048594 -> 1048594 bytes .../game/commoutside/textures/objective2.tga | Bin 262162 -> 1048594 bytes base/maps/game/enpro/textures/objective1.tga | Bin 1048594 -> 1048594 bytes .../game/mars_city1/textures/objective1.tga | Bin 1048594 -> 1048594 bytes .../game/mars_city1/textures/objective2.tga | Bin 1048594 -> 1048594 bytes .../game/mars_city2/textures/objective1.tga | Bin 1048594 -> 1048594 bytes .../game/mars_city2/textures/objective2.tga | Bin 1048594 -> 1048594 bytes .../game/mars_city2/textures/objective3.tga | Bin 1048594 -> 1048594 bytes base/script/ai_base.script | 73 + base/script/doom_main.script | 39 - base/script/doom_util.script | 389 ++ base/script/map_admin1.script | 449 ++ base/script/map_alphalabs1.script | 480 ++ base/script/map_alphalabs2.script | 587 ++ base/script/map_alphalabs3.script | 119 + base/script/map_alphalabs3_crane.script | 510 ++ base/script/map_alphalabs4.script | 2450 +++++++ base/script/map_caves.script | 203 + base/script/map_caves2.script | 740 +++ base/script/map_comm1.script | 1193 ++++ base/script/map_commoutside.script | 871 +++ base/script/map_commoutside_lift.script | 875 +++ base/script/map_cpu.script | 307 + base/script/map_cpuboss.script | 593 ++ base/script/map_delta1.script | 1519 +++++ base/script/map_delta2a.script | 1133 ++++ base/script/map_delta2b.script | 785 +++ base/script/map_delta3.script | 1095 ++++ base/script/map_delta5.script | 130 + base/script/map_enpro.script | 995 +++ base/script/map_hell1.script | 1212 ++++ base/script/map_hellhole.script | 369 ++ base/script/map_marscity1.script | 341 + base/script/map_marscity2.script | 61 + base/script/map_mc_underground.script | 2693 ++++++++ base/script/map_monorail.script | 946 +++ base/script/map_recycling1.script | 1077 ++++ base/script/map_recycling2.script | 452 ++ base/script/map_site3.script | 323 + neo/doom3/game.vcxproj | 71 +- neo/doom3/game.vcxproj.filters | 207 +- neo/doom3/game/Actor.cpp | 550 +- neo/doom3/game/Actor.h | 76 +- neo/doom3/game/Player.cpp | 4 + neo/doom3/game/Player.h | 36 + neo/doom3/game/PlayerAnim.cpp | 913 +++ neo/doom3/game/ai/AI.cpp | 174 +- neo/doom3/game/ai/AI.h | 55 +- neo/doom3/game/gamesys/GameTypeInfo.cpp | 5701 +++++++++++++++++ neo/doom3/game/gamesys/GameTypeInfo.h | 466 +- neo/doom3/game/gamesys/State.h | 2 + neo/engine/renderer/tr_light.cpp | 2 +- neo/engine/typeinfo/TypeInfoGen.cpp | 29 +- neo/engine/typeinfo/TypeInfoGen.h | 1 + 132 files changed, 61205 insertions(+), 240 deletions(-) create mode 100644 base/def/char_sentry.def create mode 100644 base/def/characters.def create mode 100644 base/def/characters_eric.def create mode 100644 base/def/characters_james.def create mode 100644 base/def/map_admin.def create mode 100644 base/def/map_alphalabs1.def create mode 100644 base/def/map_alphalabs2.def create mode 100644 base/def/map_alphalabs3.def create mode 100644 base/def/map_alphalabs4.def create mode 100644 base/def/map_caverns2.def create mode 100644 base/def/map_comm1.def create mode 100644 base/def/map_commoutside.def create mode 100644 base/def/map_cpu1.def create mode 100644 base/def/map_cpuboss.def create mode 100644 base/def/map_delta1.def create mode 100644 base/def/map_delta2a.def create mode 100644 base/def/map_delta2b.def create mode 100644 base/def/map_delta3.def create mode 100644 base/def/map_delta4.def create mode 100644 base/def/map_delta5.def create mode 100644 base/def/map_enpro.def create mode 100644 base/def/map_fragchamber.def create mode 100644 base/def/map_hell1.def create mode 100644 base/def/map_hellhole.def create mode 100644 base/def/map_intro.def create mode 100644 base/def/map_maledict.def create mode 100644 base/def/map_marscity.def create mode 100644 base/def/map_marscity2.def create mode 100644 base/def/map_monorail.def create mode 100644 base/def/map_recycling.def create mode 100644 base/def/map_recycling2.def create mode 100644 base/def/map_site3.def create mode 100644 base/def/map_space.def create mode 100644 base/def/map_underground.def create mode 100644 base/def/monster_boss_cyberdemon.def create mode 100644 base/def/monster_boss_guardian.def create mode 100644 base/def/monster_boss_guardian_seeker.def create mode 100644 base/def/monster_boss_maledict.def create mode 100644 base/def/monster_boss_sabaoth.def create mode 100644 base/def/monster_boss_vagary.def create mode 100644 base/def/monster_default.def create mode 100644 base/def/monster_demon_archvile.def create mode 100644 base/def/monster_demon_cherub.def create mode 100644 base/def/monster_demon_d3xp_bruiser.def create mode 100644 base/def/monster_demon_hellknight.def create mode 100644 base/def/monster_demon_imp.def create mode 100644 base/def/monster_demon_maggot.def create mode 100644 base/def/monster_demon_mancubus.def create mode 100644 base/def/monster_demon_pinky.def create mode 100644 base/def/monster_demon_revenant.def create mode 100644 base/def/monster_demon_sentry.def create mode 100644 base/def/monster_demon_tick.def create mode 100644 base/def/monster_demon_trite.def create mode 100644 base/def/monster_demon_vulgar.def create mode 100644 base/def/monster_demon_wraith.def create mode 100644 base/def/monster_flying_cacodemon.def create mode 100644 base/def/monster_flying_lostsoul.def create mode 100644 base/def/monster_turret.def create mode 100644 base/def/monster_zombie_base.def create mode 100644 base/def/monster_zombie_bernie.def create mode 100644 base/def/monster_zombie_boney.def create mode 100644 base/def/monster_zombie_chainsaw.def create mode 100644 base/def/monster_zombie_commando.def create mode 100644 base/def/monster_zombie_commando_cgun.def create mode 100644 base/def/monster_zombie_fat.def create mode 100644 base/def/monster_zombie_fem.def create mode 100644 base/def/monster_zombie_generic.def create mode 100644 base/def/monster_zombie_jumpsuit.def create mode 100644 base/def/monster_zombie_maint.def create mode 100644 base/def/monster_zombie_morgue.def create mode 100644 base/def/monster_zombie_sawyer.def create mode 100644 base/def/monster_zsec_machinegun.def create mode 100644 base/def/monster_zsec_pistol.def create mode 100644 base/def/monster_zsec_shield.def create mode 100644 base/def/monster_zsec_shotgun.def create mode 100644 base/def/npcs.def create mode 100644 base/def/npcs_james.def create mode 100644 base/def/player.def create mode 100644 base/script/ai_base.script create mode 100644 base/script/doom_util.script create mode 100644 base/script/map_admin1.script create mode 100644 base/script/map_alphalabs1.script create mode 100644 base/script/map_alphalabs2.script create mode 100644 base/script/map_alphalabs3.script create mode 100644 base/script/map_alphalabs3_crane.script create mode 100644 base/script/map_alphalabs4.script create mode 100644 base/script/map_caves.script create mode 100644 base/script/map_caves2.script create mode 100644 base/script/map_comm1.script create mode 100644 base/script/map_commoutside.script create mode 100644 base/script/map_commoutside_lift.script create mode 100644 base/script/map_cpu.script create mode 100644 base/script/map_cpuboss.script create mode 100644 base/script/map_delta1.script create mode 100644 base/script/map_delta2a.script create mode 100644 base/script/map_delta2b.script create mode 100644 base/script/map_delta3.script create mode 100644 base/script/map_delta5.script create mode 100644 base/script/map_enpro.script create mode 100644 base/script/map_hell1.script create mode 100644 base/script/map_hellhole.script create mode 100644 base/script/map_marscity1.script create mode 100644 base/script/map_marscity2.script create mode 100644 base/script/map_mc_underground.script create mode 100644 base/script/map_monorail.script create mode 100644 base/script/map_recycling1.script create mode 100644 base/script/map_recycling2.script create mode 100644 base/script/map_site3.script create mode 100644 neo/doom3/game/PlayerAnim.cpp diff --git a/base/def/char_sentry.def b/base/def/char_sentry.def new file mode 100644 index 00000000..ef0c6ddd --- /dev/null +++ b/base/def/char_sentry.def @@ -0,0 +1,553 @@ +/*********************************************************************** + +char_sentry + +***********************************************************************/ + +model char_sentry { + mesh models/md5/monsters/sentry/sentry.md5mesh + skin skins/models/monsters/sentrynobeam.skin + + channel torso ( *Loneck ) + channel legs ( *Hips origin -*Loneck ) + + anim af_pose models/md5/monsters/sentry/initial.md5anim + anim ik_pose models/md5/monsters/sentry/initial.md5anim + anim initial models/md5/monsters/sentry/initial.md5anim + anim stand models/md5/monsters/sentry/idle_stand1.md5anim + anim turn_left models/md5/monsters/sentry/turn_left.md5anim { + frame 8 sound_body snd_step + frame 10 sound_body2 snd_step + } + + anim talk_excuseme models/md5/monsters/sentry/talk_primary.md5anim { + frame 1 sound_voice snd_talk_excuseme + frame 9 sound_body snd_step + frame 16 sound_body snd_step + frame 17 sound_body2 snd_step + frame 23 sound_body snd_step + frame 63 sound_body snd_step + frame 65 sound_body2 snd_step + frame 78 sound_body snd_step + frame 82 sound_body snd_step + } + + anim turn_right models/md5/monsters/sentry/turn_right.md5anim { + frame 8 sound_body snd_step + frame 9 sound_body2 snd_step + } + + anim unlock_door models/md5/monsters/sentry/talk_primary.md5anim { + frame 9 sound_body snd_step + frame 16 sound_body snd_step + frame 17 sound_body2 snd_step + frame 23 sound_body snd_step + frame 63 sound_body snd_step + frame 65 sound_body2 snd_step + frame 78 sound_body snd_step + frame 82 sound_body snd_step + } + + anim fold models/md5/monsters/sentry/fold.md5anim { + frame 1 disableWalkIK + } + anim folded models/md5/monsters/sentry/folded.md5anim { + ai_no_turn + frame 1 disableWalkIK + } + + anim unfold models/md5/monsters/sentry/unfold.md5anim { + frame 1 sound_voice snd_active + frame 1 disableWalkIK + frame 13 sound_body snd_step + frame 14 sound_body2 snd_step + frame 26 sound_body snd_step + frame 27 sound_body2 snd_step + frame 39 sound_body snd_step + frame 46 sound_body snd_step + frame 57 sound_body snd_step + frame 64 sound_body snd_step + frame 70 enableWalkIK + } + + anim walk models/md5/monsters/sentry/walk1.md5anim { + frame 1 sound_body snd_step + frame 3 sound_body2 snd_step + frame 6 sound_body3 snd_step + frame 9 sound_body snd_step + } + + anim range_attack models/md5/monsters/sentry/range_attackstart.md5anim { + frame 4 sound_body snd_step + frame 10 sound_body2 snd_step + frame 15 sound_body3 snd_step + } + + anim range_attack_loop models/md5/monsters/sentry/range_attack1.md5anim { + frame 1 launch_missile barrel + } + anim range_attack_aim models/md5/monsters/sentry/idle_stand1.md5anim + anim range_attack_end models/md5/monsters/sentry/range_attackend.md5anim + + anim run models/md5/monsters/sentry/walk1.md5anim { + frame 1 sound_body snd_step + frame 3 sound_body2 snd_step + frame 6 sound_body3 snd_step + frame 9 sound_body snd_step + } + + anim pain models/md5/monsters/sentry/walk1_pain.md5anim { + frame 4 sound_body snd_step + frame 8 sound_body2 snd_step + frame 12 sound_body3 snd_step + frame 16 sound_body snd_step + } + + anim sight models/md5/monsters/sentry/unfold.md5anim { + frame 1 disableWalkIK + frame 13 sound_body snd_step + frame 14 sound_body2 snd_step + frame 26 sound_body snd_step + frame 27 sound_body2 snd_step + frame 39 sound_body snd_step + frame 46 sound_body snd_step + frame 57 sound_body snd_step + frame 64 sound_body snd_step + frame 79 enableWalkIK + } +} + +entityDef char_sentry { + "editor_var unfolded" "If set, sentry starts out in standing position, otherwise, he starts out in a folded position." + "editor_var lead_player" "If set, sentry leads the player along its path." + + "inherit" "character_default" + "scriptobject" "ai" + "nativeobject" "rvmCharSentry" + "model" "char_sentry" + "ragdoll" "char_sentry" + "talks" "0" + "fov" "120" + "size" "48 48 48" + "use_aas" "aas48" + "team" "0" + "rank" "0" + "health" "300" + "anim" "folded" + "on_activate" "unfold" + "bleed" "0" + "def_projectile" "projectile_sentry_bullet" + "attack_cone" "10" + "attack_accuracy" "1" + "turn_rate" "360" + "bone_focus" "Head" + "head_look" "1" + "smoke_wound_metal" "bulletricochet.prt" + "blockedRadius" "20" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Loneck" "0.4 0.4 0" + "look_joint Head" "0.6 0.6 0" + + "ik_numLegs" "4" + "ik_footSize" "0" + "ik_minWaistFloorDist" "20" + "ik_waist" "Hips" + "ik_hip1" "L1_upleg" + "ik_hip2" "R1_upleg" + "ik_hip3" "L2_upleg" + "ik_hip4" "R2_upleg" + "ik_knee1" "L1_midleg" + "ik_knee2" "R1_midleg" + "ik_knee3" "L2_midleg" + "ik_knee4" "R2_midleg" + "ik_ankle1" "L1_loleg" + "ik_ankle2" "R1_loleg" + "ik_ankle3" "L2_loleg" + "ik_ankle4" "R2_loleg" + "ik_dir1" "Lelbow" + "ik_dir2" "Relbow" + "ik_dir3" "Lknee" + "ik_dir4" "Rknee" + "ik_foot1" "L1toe" + "ik_foot2" "R1toe" + "ik_foot3" "L2toe" + "ik_foot4" "R2toe" + + "damage_zone head" "*Loneck" + "damage_zone chest" "*Hips -*R1_upleg -*L1_upleg -*R2_upleg -*L2_upleg -*Loneck" + "damage_zone left_arm" "*L1_upleg" + "damage_zone right_arm" "*R1_upleg" + "damage_zone legs" "*L2_upleg *R2_upleg" + + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" + + "snd_fire" "char_sentry_fire" + "snd_active" "char_sentry_active" + "snd_cant_reach_player" "char_sentry_cant_reach_player" + "snd_death" "char_sentry_destroyed" + "snd_sight_enemy" "char_sentry_sight_enemy" + "snd_sight_friendly" "char_sentry_sight_friendly" + "snd_open_door" "char_sentry_open_door" + "snd_pain" "char_sentry_pain" + "snd_shutdown" "char_sentry_shutdown" + "snd_target_lost" "char_sentry_target_lost" + "snd_waiting_for_player" "char_sentry_waiting_for_player" + "snd_step" "char_sentry_step" + "snd_gear" "char_sentry_gears" + "snd_talk_excuseme" "char_sentry_waiting_for_player" +} + +model char_sentry_flashlight { + inherit char_sentry + anim walk models/md5/monsters/sentry/walk1_beam.md5anim { + + frame 1 sound_body snd_step + frame 3 sound_body2 snd_step + frame 6 sound_body3 snd_step + frame 9 sound_body snd_step + } + +} + +entityDef char_sentry_flashlight { + "inherit" "char_sentry" + "editor_var flashlight_on" "Turns flashlight on when sentry activates" + + "flashlight" "2" + "flashlight_distance" "640" + "mtr_flashlight" "lights/sentrylight" + "skin_flashlight_off" "skins/models/monsters/sentrynobeam.skin" + "skin_flashlight_on" "skins/models/monsters/sentrybeam.skin" + "model" "char_sentry_flashlight" +} + +entityDef projectile_sentry_bullet { + "spawnclass" "idProjectile" + "mins" "-1 -1 -1" + "maxs" "1 1 1" + "cone" "2" + "scale" "0.1" + "noshadows" "1" + "tracers" "1" + "model_tracer" "models/particles/tracer/tracer.lwo" + + "snd_ricochet" "bullet_ricochet" + "snd_impact" "" // we need a much smaller impact sound for the chaingun bullet "bullet_impact_metal" + + "decal_scale" "8" + + "def_damage" "damage_sentry_bullet" + + "launchFromBarrel" "1" + "health" "0" + // slowed down for tracers + "velocity" "2000 0 0" // .38 Special 600 fps. Source: Petzal, David E. "How fast is a speeding bullet." Field and Stream. 97 (1992): 23 + "angular_velocity" "0 0 0" + "thrust" "0" + "thrust_start" "0" + "thrust_end" "0" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0.6" + "mass" "2" + "gravity" "0" + "fuse" "4" + + "detonate_on_fuse" "0" + "detonate_on_death" "0" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "1" + "impact_gib" "1" + + "mtr_detonate" "textures/decals/bulleth02" + "decal_size" "10" + + "smoke_detonate" "smokeandspark.smoke" + "smoke_residue" "" //particles/chaingun_residue.particle" + "smoke_bounce" "" //particles/chaingun_bounce.particle" + "smoke_fuse" "" + + "mtr_light_shader" "" + "light_color" "0 0 0" + "light_radius" "0" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "" + "explode_light_color" "0 0 0" + "explode_light_radius" "0" + "explode_light_fadetime" "0" +} + +entityDef damage_sentry_bullet { + "damage" "5" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "1" + + "smoke_wound_flesh" "bloodwound.smoke" + + "kick_time" "10" + "kick_amplitude" "0" + + "dv_time" "100" +} + +sound char_sentry_fire { + minDistance 3 + maxDistance 30 + volume 0 + + sound/xian/sentry/gun/fire_01.wav + sound/xian/sentry/gun/fire_02.wav + sound/xian/sentry/gun/fire_03.wav + sound/xian/sentry/gun/fire_04.wav + sound/xian/sentry/gun/fire_05.wav + +} + +sound char_sentry_active { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/activate_01.wav +} + +sound char_sentry_cant_reach_player { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/cant_reach_player_01.wav + sound/xian/sentry/vocals/cant_reach_player_02.wav +} + +sound char_sentry_damaged { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/damaged_01.wav +} + +sound char_sentry_destroyed { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/destroyed_01.wav +} + +sound char_sentry_destroyed_damaged { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/damaged_destroyed_01.wav +} + +sound char_sentry_sight_enemy { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/sight_enemy_01.wav + sound/xian/sentry/vocals/sight_enemy_02.wav +} + +sound char_sentry_sight_friendly { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/sight_friendly_01.wav +} + +sound char_sentry_open_door { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/open_door_01.wav +} + +sound char_sentry_pain { + minDistance 2 + maxDistance 25 + volume -2 + no_dups + + sound/xian/sentry/vocals/pain_01.wav + sound/xian/sentry/vocals/pain_02.wav + sound/xian/sentry/vocals/pain_03.wav + sound/xian/sentry/vocals/pain_04.wav +} + +sound char_sentry_shutdown { + minDistance 1 + maxDistance 15 + volume -2 + sound/xian/sentry/vocals/shutdown_01.wav +} + +sound char_sentry_target_lost { + minDistance 1 + maxDistance 15 + volume -2 + + sound/xian/sentry/vocals/lost_target_01.wav +} + +sound char_sentry_waiting_for_player { + minDistance 1 + maxDistance 15 + volume -2 + no_dups + + sound/xian/sentry/vocals/wait_for_player_01.wav + sound/xian/sentry/vocals/wait_for_player_02.wav + sound/xian/sentry/vocals/wait_for_player_03.wav +} + +sound char_sentry_step { + minDistance 1 + maxDistance 16 + volume -8 + + sound/xian/sentry/steps/sstep_01.wav + sound/xian/sentry/steps/sstep_02.wav + sound/xian/sentry/steps/sstep_03.wav + sound/xian/sentry/steps/sstep_04.wav + sound/xian/sentry/steps/sstep_05.wav + sound/xian/sentry/steps/sstep_06.wav + sound/xian/sentry/steps/sstep_07.wav +} + +sound char_sentry_gears { + minDistance 3 + maxDistance 16 + volume -3 + + sound/xian/sentry/gears/walk_01.wav + sound/xian/sentry/gears/walk_02.wav + sound/xian/sentry/gears/walk_03.wav + sound/xian/sentry/gears/walk_04.wav + sound/xian/sentry/gears/walk_05.wav + sound/xian/sentry/gears/walk_06.wav + sound/xian/sentry/gears/walk_07.wav + sound/xian/sentry/gears/walk_08.wav + sound/xian/sentry/gears/walk_09.wav + sound/xian/sentry/gears/walk_10.wav + sound/xian/sentry/gears/walk_11.wav + sound/xian/sentry/gears/walk_12.wav + sound/xian/sentry/gears/walk_13.wav +} + +sound char_sentry_wakeup { + minDistance 3 + maxDistance 16 + volume -3 + + sound/xian/sentry/wakeup_01.wav +} + +sound char_sentry_extend { + minDistance 3 + maxDistance 16 + volume -3 + + sound/xian/sentry/extend_01.wav +} + +sound char_sentry_activation { + minDistance 3 + maxDistance 16 + volume -3 + + sound/xian/sentry/activate_01.wav +} + +entityDef path_sentry_light_on { + "editor_color" ".5 .3 0" + "editor_mins" "-8 -8 -8" + "editor_maxs" "8 8 8" + + "editor_usage" "Tells sentry to turn on his flashlight." + "editor_var target" "next path entity." + "editor_var trigger" "entity to trigger when turn finishes." + + "spawnclass" "idPathCorner" +} + +entityDef path_sentry_light_off { + "editor_color" ".5 .3 0" + "editor_mins" "-8 -8 -8" + "editor_maxs" "8 8 8" + + "editor_usage" "Tells sentry to turn on his flashlight." + "editor_var target" "next path entity." + "editor_var trigger" "entity to trigger when turn finishes." + + "spawnclass" "idPathCorner" +} + +entityDef path_sentry_shutdown { + "editor_color" ".5 .3 0" + "editor_mins" "-8 -8 -8" + "editor_maxs" "8 8 8" + "editor_showangle" "1" + "editor_rotatable" "1" + + "editor_usage" "Tells sentry to shutdown until triggered again." + "editor_var target" "next path entity." + "editor_var trigger" "entity to trigger when turn finishes." + + "spawnclass" "idPathCorner" +} + +entityDef path_sentry_unlock_door { + "editor_color" ".5 .3 0" + "editor_mins" "-8 -8 -8" + "editor_maxs" "8 8 8" + "editor_showangle" "1" + "editor_rotatable" "1" + + "editor_usage" "Sentry walks to this location and plays the unlock door animation. Set 'trigger' to name of target_lock entity that unlocks the door." + "editor_var target" "next path entity." + "editor_var trigger" "entity to trigger when turn finishes." + + "spawnclass" "idPathCorner" +} + +entityDef path_sentry_lead_player { + "editor_color" ".5 .3 0" + "editor_mins" "-8 -8 -8" + "editor_maxs" "8 8 8" + "editor_showangle" "1" + "editor_rotatable" "1" + + "editor_usage" "Tells sentry to start leading the player to his destination. Imediately goes to next path entity." + "editor_var target" "next path entity." + "editor_var trigger" "entity to trigger when turn finishes." + + "spawnclass" "idPathCorner" +} + +entityDef path_sentry_ignore_player { + "editor_color" ".5 .3 0" + "editor_mins" "-8 -8 -8" + "editor_maxs" "8 8 8" + "editor_showangle" "1" + "editor_rotatable" "1" + + "editor_usage" "Tells sentry to stop leading the player to his destination. Imediately goes to next path entity." + "editor_var target" "next path entity." + "editor_var trigger" "entity to trigger when turn finishes." + + "spawnclass" "idPathCorner" +} diff --git a/base/def/characters.def b/base/def/characters.def new file mode 100644 index 00000000..42eb19c6 --- /dev/null +++ b/base/def/characters.def @@ -0,0 +1 @@ +// NO LONGER NEEDED..... AS EVERYTHING NEEDED IS IN NPCS.DEF \ No newline at end of file diff --git a/base/def/characters_eric.def b/base/def/characters_eric.def new file mode 100644 index 00000000..fc63e6cb --- /dev/null +++ b/base/def/characters_eric.def @@ -0,0 +1,208 @@ +export eric { + options -prefix SUIT_ -keep Lknee Rknee Body Body2 Lhand1 Rhand headcontrol neckcontrol loneckcontrol lanternlight SPINNER -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent tabletpc Lhand1 -parent flashlight Rhand1 -parent pda Rhand1 -parent lantern Rhand1 -parent lanternlight lantern -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent shield Lloarm -parent pistol Rhand1 -parent shotgun Rhand1 -parent machinegun Rhand1 -parent wrench Rhand1 -parent cola Rhand1 -parent foamcup Rhand1 -parent dufflebag Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER + + addoptions -keepmesh labcoatnametagmesh + addoptions -keepmesh jumpsuitnametagmesh + addoptions -keepmesh labcoatmesh + addoptions -keepmesh soldiermesh + addoptions -keepmesh jumpsuitmesh + addoptions -keepmesh suitmesh + addoptions -keepmesh skeletonmesh + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh marinebodymesh + addoptions -keepmesh tabletpcmesh + addoptions -keepmesh tabletpcguimesh + addoptions -keepmesh pdaguimodel + addoptions -keepmesh pdamodel + addoptions -keepmesh cola1_layer1 + addoptions -keepmesh foamcup_layer1 + addoptions -keepmesh secsheild_outerglass + addoptions -keepmesh secsheild_innerglass + addoptions -keepmesh secsheild_innermesh + addoptions -keepmesh secsheild_outermesh + addoptions -keepmesh w_shotgunmesh + addoptions -keepmesh w_shotgunloadermesh + addoptions -keepmesh w_machinegunmesh + addoptions -keepmesh w_pistolmesh + addoptions -keepmesh flashlightflaremodel + addoptions -keepmesh flashlightbeammodel + addoptions -keepmesh flashlightlensmodel + addoptions -keepmesh monkeywrench + addoptions -keepmesh flashlightmodel + addoptions -keepmesh metalloungechairframemesh + addoptions -keepmesh metalloungechairmesh + addoptions -keepmesh metalkitchenchairmesh + addoptions -keepmesh bigcushychairmesh + addoptions -keepmesh softdeskchairmesh2 + addoptions -keepmesh softdeskchairmesh1 + addoptions -keepmesh metaldeskchairmesh + addoptions -keepmesh dufflebagmesh + + + //anim maps/fred/monorail/rider_eric.mb -range 1 1 -dest models/md5/cinematics/monorail/rider_hidden + //anim maps/fred/monorail/rider_eric.mb -range 50 150 -dest models/md5/cinematics/monorail/rider_stand + //anim maps/fred/monorail/rider_eric.mb -range 151 680 -dest models/md5/cinematics/monorail/rider_trigger + //anim maps/fred/monorail/rider_eric.mb -range 680 780 -dest models/md5/cinematics/monorail/rider_sit + //anim maps/fred/monorail/rider_eric.mb -range 780 890 -dest models/md5/cinematics/monorail/rider_primary + //anim maps/fred/monorail/rider_eric.mb -range 890 995 -dest models/md5/cinematics/monorail/rider_secondary1 + //anim maps/fred/monorail/rider_eric.mb -range 995 1100 -dest models/md5/cinematics/monorail/rider_secondary2 + //anim maps/fred/monorail/rider_eric_suprise.mb -range 1 60 -dest models/md5/cinematics/monorail/rider_surprise + //anim maps/fred/monorail/rider_eric_notrig.mb -range 150 256 -dest models/md5/cinematics/monorail/rider_notrig + //anim maps/fred/monorail/rider_before_trigger.mb -dest models/md5/cinematics/monorail/before_trigger + + //PLAYER_ Prefix + + + //SUIT2_ Prefix + //anim maps/fred/marscity/sargecin_eric.mb -range 1 1 -dest models/md5/cinematics/marscity/sargecin_sarge_loop -prefix SUIT2_ + //anim maps/fred/marscity/sargecin_eric.mb -range 556 810 -dest models/md5/cinematics/marscity/sargecin_sarge2 -prefix SUIT2_ + + //SOL_ Prefix + ////anim maps/fred/marscity/sargecin_eric.mb -range 221 380 -dest models/md5/cinematics/marscity/sargecin_player2 -prefix SOL_ + //anim maps/fred/marscity/sargecin_eric.mb -range 381 555 -dest models/md5/cinematics/marscity/sargecin_player3 -prefix SOL_ + //anim maps/fred/marscity/sargecin_eric.mb -range 556 700 -dest models/md5/cinematics/marscity/sargecin_player4 -prefix SOL_ + //anim maps/fred/marscity/sargecin_eric.mb -range 701 814 -dest models/md5/cinematics/marscity/sargecin_player5 -prefix SOL_ + //anim maps/fred/marscity/sargecin_eric.mb -range 815 920 -dest models/md5/cinematics/marscity/sargecin_player6 -prefix SOL_ + //anim maps/fred/marscity/sargecin_eric.mb -range 921 960 -dest models/md5/cinematics/marscity/sargecin_player7 -prefix SOL_ + + + // SARGE prefix + //anim maps/fred/marscity/sargecin_eric.mb -range 120 555 -dest models/md5/cinematics/marscity/sargecin_sarge1 -prefix SARGE_ + //anim maps/fred/marscity/sargecin_eric.mb -range 811 960 -dest models/md5/cinematics/marscity/sargecin_sarge3 -prefix SARGE_ + + // MP prefix + //anim maps/fred/marscity/sargecin_eric.mb -range 120 220 -dest sargecin_player1 -sourcedir maps/fred/marscity/ -destdir models/md5/cinematics/marscity/ -prefix MP_ + + + addoptions -align ALL + + //anim models/characters/male_npc/cycles/runs/al2_run_anim_30.mb -rotate 90 -range 79 98 -dest models/md5/characters/npcs/mgrun + //anim models/characters/male_npc/cycles/runs/al2_run_anim_30.mb -rotate 90 -range 99 207 -dest models/md5/characters/npcs/mgrunstoplookback + + anim models/characters/male_npc/cycles/wounded/eric_hurt_loop.mb -range 0 29 -dest models/md5/characters/npcs/npc_stagger + anim models/characters/male_npc/cycles/wounded/eric_hurt_loop_2.mb -range 0 60 -dest models/md5/characters/npcs/npc_stagger_loop + + //anim maps/eric/admin/typing.mb -range 1 60 -rotate 180 -dest models/md5/cinematics/admin/typingswann_loop -prefix SWANN_ + //anim maps/eric/admin/typing.mb -range 1 317 -rotate 180 -dest models/md5/cinematics/admin/typingswann -prefix SWANN_ +} + +/*********** +export zombie security pistol +***********/ + +export eric { + + options -prefix SUIT_ -keep Lknee Rknee eject barrel flash Body Body2 headcontrol neckcontrol loneckcontrol SPINNER Lhand1 Rhand1 Rhand -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent shield Lloarm -parent pistol Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -rename peject eject -rename pbarrel barrel -rename pflash flash -parent eject pistol -parent flash pistol -parent barrel pistol + + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh w_pistolmesh + addoptions -keepmesh pflash1 + addoptions -keepmesh pflash2 + addoptions -keepmesh secsheild_outerglass + addoptions -keepmesh secsheild_innerglass + addoptions -keepmesh secsheild_innermesh + addoptions -keepmesh secsheild_outermesh + addoptions -keepmesh skeletonmesh + + addoptions -align ALL + + anim models/characters/male_npc/cycles/idles/af_pose.mb -dest models/md5/monsters/zombies/zsec_pistol/af_pose + anim models/characters/male_npc/cycles/fsecattacks/wall_step_right_pistol.mb -rotate 90 -range 28 28 -dest models/md5/monsters/zombies/zsec_pistol/wallsteprightpistol_A + anim models/characters/male_npc/cycles/fsecattacks/wall_step_right_pistol.mb -rotate 90 -range 31 49 -dest models/md5/monsters/zombies/zsec_pistol/wallsteprightpistol_B + anim models/characters/male_npc/cycles/fsecattacks/wall_step_right_pistol.mb -rotate 90 -range 50 59 -dest models/md5/monsters/zombies/zsec_pistol/wallsteprightpistol_C + anim models/characters/male_npc/cycles/fsecattacks/wall_step_right_pistol.mb -rotate 90 -range 68 84 -dest models/md5/monsters/zombies/zsec_pistol/wallsteprightpistol_D + + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_left_pistol_2.mb -rotate 90 -range 40 40 -dest models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol2_A + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_left_pistol_2.mb -rotate 90 -range 46 64 -dest models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol2_B + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_left_pistol_2.mb -rotate 90 -range 75 84 -dest models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol2_C + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_left_pistol_2.mb -rotate 90 -range 91 107 -dest models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol2_D + + anim models/characters/male_npc/cycles/fsecattacks/wall_step_left_pistol.mb -rotate 90 -range 1 1 -dest models/md5/monsters/zombies/zsec_pistol/wallstepleftpistol_A + anim models/characters/male_npc/cycles/fsecattacks/wall_step_left_pistol.mb -rotate 90 -range 2 20 -dest models/md5/monsters/zombies/zsec_pistol/wallstepleftpistol_B + anim models/characters/male_npc/cycles/fsecattacks/wall_step_left_pistol.mb -rotate 90 -range 21 29 -dest models/md5/monsters/zombies/zsec_pistol/wallstepleftpistol_C + anim models/characters/male_npc/cycles/fsecattacks/wall_step_left_pistol.mb -rotate 90 -range 36 55 -dest models/md5/monsters/zombies/zsec_pistol/wallstepleftpistol_D + + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_left_pistol.mb -rotate 90 -range 39 39 -dest models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol_A + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_left_pistol.mb -rotate 90 -range 43 65 -dest models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol_B + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_left_pistol.mb -rotate 90 -range 66 74 -dest models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol_C + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_left_pistol.mb -rotate 90 -range 81 98 -dest models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol_D + + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_right_pistol_2.mb -rotate 90 -range 43 43 -dest models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol2_A + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_right_pistol_2.mb -rotate 90 -range 49 66 -dest models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol2_B + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_right_pistol_2.mb -rotate 90 -range 76 85 -dest models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol2_C + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_right_pistol_2.mb -rotate 90 -range 100 118 -dest models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol2_D + + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_right_pistol.mb -rotate 90 -range 36 36 -dest models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol_A + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_right_pistol.mb -rotate 90 -range 50 69 -dest models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol_B + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_right_pistol.mb -rotate 90 -range 75 84 -dest models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol_C + anim models/characters/male_npc/cycles/fsecattacks/wall_rotate_right_pistol.mb -rotate 90 -range 107 129 -dest models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol_D + + anim models/characters/male_npc/cycles/fsecattacks/crate_pistol_rotate_right.mb -rotate 90 -range 35 35 -dest models/md5/monsters/zombies/zsec_pistol/craterotrightpistol_A + anim models/characters/male_npc/cycles/fsecattacks/crate_pistol_rotate_right.mb -rotate 90 -range 36 62 -dest models/md5/monsters/zombies/zsec_pistol/craterotrightpistol_B + anim models/characters/male_npc/cycles/fsecattacks/crate_pistol_rotate_right.mb -rotate 90 -range 64 73 -dest models/md5/monsters/zombies/zsec_pistol/craterotrightpistol_C + anim models/characters/male_npc/cycles/fsecattacks/crate_pistol_rotate_right.mb -rotate 90 -range 79 102 -dest models/md5/monsters/zombies/zsec_pistol/craterotrightpistol_D + + anim models/characters/male_npc/cycles/fsecattacks/crate_pistol_stand.mb -rotate 90 -range 49 49 -dest models/md5/monsters/zombies/zsec_pistol/cratestandpistol_A + anim models/characters/male_npc/cycles/fsecattacks/crate_pistol_stand.mb -rotate 90 -range 53 68 -dest models/md5/monsters/zombies/zsec_pistol/cratestandpistol_B + anim models/characters/male_npc/cycles/fsecattacks/crate_pistol_stand.mb -rotate 90 -range 72 80 -dest models/md5/monsters/zombies/zsec_pistol/cratestandpistol_C + anim models/characters/male_npc/cycles/fsecattacks/crate_pistol_stand.mb -rotate 90 -range 85 98 -dest models/md5/monsters/zombies/zsec_pistol/cratestandpistol_D +} + +/*********** +HK screenshot for gamepro +***********/ + +export eric { + options -prefix HK_ -keep lknee1 rknee1 SPINNER rmissile lmissile target forehead1 -parent rmissile rhand -parent lmissile lhand -parent waist SPINNER -parent SPINNER body2 -parent drool jaw -parent backtongue jaw -parent upsaliva head -parent losaliva jaw + + mesh maps/eric/hk_pose_002.mb -dest models/md5/screenshots/hk_gp_pose1 + anim maps/eric/hk_pose_002.mb -dest models/md5/screenshots/hk_gp_pose1 +} + +model ss_hk_gamepro { + mesh models/md5/monsters/hellknight/hellknight.md5mesh + anim hk_gp_pose1 models/md5/screenshots/hk_gp_pose1.md5anim +} + +entityDef ss_hk_gamepro { + "inherit" "cin_base" + "model" "ss_hk_gamepro" + "anim" "hk_gp_pose1" +} + +/*********** +IMP screenshot for gamepro +***********/ + +export eric { + camera models/monsters/imp/fred/eric/imp_for_ss.mb -dest models/md5/screenshots/gameprocamera1 + + options -prefix IMP_ -keep Lknee Rknee Lelbow Relbow camera Body -keep Rmissile Lmissile -parent Rmissile Rhand -parent Lmissile Lhand -parent Rwing Chest -parent Lwing Chest -parent Hips Body -parent Waist Body -parent camera Head + + mesh models/monsters/imp/fred/eric/imp_for_ss.mb -dest models/md5/screenshots/gamepropose1 + anim models/monsters/imp/fred/eric/imp_for_ss.mb -dest models/md5/screenshots/gamepropose1 +} + +entityDef ss_gameprocamera { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "anim cam1" "models/md5/screenshots/gameprocamera1.md5camera" +} + +model ss_imp_gamepro { + mesh models/md5/monsters/imp/imp.md5mesh + anim pose1 models/md5/screenshots/gamepropose1.md5anim +} + +entityDef ss_imp_gamepro { + "inherit" "cin_base" + "model" "ss_imp_gamepro" + "anim" "pose1" +} diff --git a/base/def/characters_james.def b/base/def/characters_james.def new file mode 100644 index 00000000..eb687439 --- /dev/null +++ b/base/def/characters_james.def @@ -0,0 +1,288 @@ +/*********************************************************************** + + james human stuff + +***********************************************************************/ + + +/*********************************************************************** + +-----------------HUMANS ------------------ +BODIES ----> (maintenence, labcoat, t-shirt marine, suit, skeleton, security) +HEADS------> (young, old, asian, bald, black, swann, betruger, skull, sarge, security(goggles), security(helmet), player, zombie1) + +***********************************************************************/ + +export james { + + options -prefix SUIT_ -keep Lknee Rknee Body Body2 Lhand1 Rhand headcontrol neckcontrol loneckcontrol lanternlight SPINNER -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent tabletpc Lhand1 -parent flashlight Rhand1 -parent pda Rhand1 -parent lantern Rhand1 -parent lanternlight lantern -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent shield Lloarm -parent pistol Rhand1 -parent shotgun Rhand1 -parent machinegun Rhand1 -parent wrench Rhand1 -parent cola Rhand1 -parent foamcup Rhand1 -parent dufflebag Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER + + addoptions -keepmesh labcoatnametagmesh + addoptions -keepmesh jumpsuitnametagmesh + addoptions -keepmesh labcoatmesh + addoptions -keepmesh soldiermesh + addoptions -keepmesh jumpsuitmesh + addoptions -keepmesh suitmesh + addoptions -keepmesh skeletonmesh + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh marinebodymesh + addoptions -keepmesh tabletpcmesh + addoptions -keepmesh tabletpcguimesh + addoptions -keepmesh pdaguimodel + addoptions -keepmesh pdamodel + addoptions -keepmesh cola1_layer1 + addoptions -keepmesh foamcup_layer1 + addoptions -keepmesh secsheild_outerglass + addoptions -keepmesh secsheild_innerglass + addoptions -keepmesh secsheild_innermesh + addoptions -keepmesh secsheild_outermesh + addoptions -keepmesh w_shotgunmesh + addoptions -keepmesh w_shotgunloadermesh + addoptions -keepmesh w_machinegunmesh + addoptions -keepmesh w_pistolmesh + addoptions -keepmesh flashlightflaremodel + addoptions -keepmesh flashlightbeammodel + addoptions -keepmesh flashlightlensmodel + addoptions -keepmesh monkeywrench + addoptions -keepmesh flashlightmodel + addoptions -keepmesh metalloungechairframemesh + addoptions -keepmesh metalloungechairmesh + addoptions -keepmesh metalkitchenchairmesh + addoptions -keepmesh bigcushychairmesh + addoptions -keepmesh softdeskchairmesh2 + addoptions -keepmesh softdeskchairmesh1 + addoptions -keepmesh metaldeskchairmesh + addoptions -keepmesh dufflebagmesh + +//EXPORT CINEMATICS + + +//EXPORT NPCS + + addoptions -align ALL + + //anim models/characters/male_npc/cycles/idles/startle.mb -rotate 90 -dest models/md5/characters/npcs/startle + + + anim models/characters/male_npc/cycles/idles/stand.mb -dest models/md5/characters/npcs/stand + + + anim models/characters/male_npc/cycles/idles/stand_lean.mb -dest models/md5/characters/npcs/stand_lean + anim models/characters/male_npc/cycles/idles/stand.mb -rotate -90 -dest models/md5/characters/npcs/gui_stand + + + + anim models/characters/male_npc/cycles/working/repair_work.mb -dest models/md5/characters/npcs/repair_work + + anim models/characters/male_npc/cycles/working/kneeling.mb -dest models/md5/characters/npcs/kneeling + anim models/characters/male_npc/cycles/working/kneeling_talking.mb -dest models/md5/characters/npcs/kneeling_talking + anim models/characters/male_npc/cycles/working/kneeling_talking2.mb -dest models/md5/characters/npcs/kneeling_talking2 + + anim models/characters/male_npc/cycles/walks/walk_normal.mb -xyzprecision 0.01 -quatprecision 0.00006 -dest models/md5/characters/npcs/walk_normal + + //anim models/characters/male_npc/cycles/walks/walk_thankyou.mb -xyzprecision 0.01 -quatprecision 0.00006 -dest models/md5/characters/npcs/walk_thankyou + + anim models/characters/male_npc/cycles/working/doorgui.mb -dest models/md5/characters/npcs/doorgui + + //anim models/characters/male_npc/cycles/fragchamber_scientist/fragchamber_scientist1.mb -dest models/md5/characters/npcs/fragchamber_scientist1 + //anim models/characters/male_npc/cycles/fragchamber_scientist/fragchamber_scientist2.mb -dest models/md5/characters/npcs/fragchamber_scientist2 + //anim models/characters/male_npc/cycles/fragchamber_scientist/fragchamber_scientist3.mb -dest models/md5/characters/npcs/fragchamber_scientist3 + //anim models/characters/male_npc/cycles/fragchamber_scientist/fragchamber_scientist4.mb -dest models/md5/characters/npcs/fragchamber_scientist4 + //anim models/characters/male_npc/cycles/fragchamber_scientist/freaked_out.mb -dest models/md5/characters/npcs/freaked_out + //anim models/characters/male_npc/cycles/fragchamber_scientist/thank_you.mb -dest models/md5/characters/npcs/thank_you + anim models/characters/male_npc/cycles/fragchamber_scientist/hey_you.mb -dest models/md5/characters/npcs/hey_you + anim models/characters/male_npc/cycles/fragchamber_scientist/wave_hand.mb -dest models/md5/characters/npcs/wave_hand + + //anim models/characters/male_npc/cycles/working/PDA_idle_look_hydrocon.mb -rotate 90 -dest models/md5/characters/npcs/PDA_idle_look_hydrocon + //anim models/characters/male_npc/cycles/working/PDA_idle_look_hydrocon_talk.mb -rotate 90 -dest models/md5/characters/npcs/PDA_idle_look_hydrocon_talk + anim models/characters/male_npc/cycles/working/operate_computer.mb -dest models/md5/characters/npcs/operate_computer + anim models/characters/male_npc/cycles/working/operate_computer_eric.mb -dest models/md5/characters/npcs/operate_computer_loop + anim models/characters/male_npc/cycles/working/operate_computer_james.mb -dest models/md5/characters/npcs/operate_computer_loop2 + + anim models/characters/male_npc/cycles/working/operate_computer_look.mb -dest models/md5/characters/npcs/operate_computer_look + + anim models/characters/male_npc/cycles/working/repair_work.mb -dest models/md5/characters/npcs/repair_work + + anim models/characters/male_npc/cycles/working/walking_to_sit_002.mb -dest models/md5/characters/npcs/walking_to_sit_002 + + anim models/characters/male_npc/cycles/walks/people_pain_walk_loop.mb -rotate 90 -dest models/md5/characters/npcs/pain_walk1 + anim models/characters/male_npc/cycles/walks/people_pickup_walk_loop.mb -rotate 90 -dest models/md5/characters/npcs/pickup_walk1 + anim models/characters/male_npc/cycles/walks/Z_dead_walks.mb -rotate 90 -dest models/md5/characters/npcs/zdead_walk1 + + anim models/characters/male_npc/cycles/freaked_out/freaked_walk.mb -dest models/md5/characters/npcs/freaked_walk + anim models/characters/male_npc/cycles/freaked_out/freaked_deadwalk.mb -dest models/md5/characters/npcs/freaked_deadwalk + anim models/characters/male_npc/cycles/freaked_out/freaked_run.mb -dest models/md5/characters/npcs/freaked_run + anim models/characters/male_npc/cycles/freaked_out/freaked_idle.mb -dest models/md5/characters/npcs/freaked_idle + anim models/characters/male_npc/cycles/freaked_out/freaked_reaction.mb -dest models/md5/characters/npcs/freaked_reaction + anim models/characters/male_npc/cycles/freaked_out/freaked_GUI.mb -dest models/md5/characters/npcs/freaked_GUI + anim models/characters/male_npc/cycles/freaked_out/freaked_headache.mb -dest models/md5/characters/npcs/freaked_headache + anim models/characters/male_npc/cycles/freaked_out/freaked_possessed.mb -dest models/md5/characters/npcs/freaked_possessed + anim models/characters/male_npc/cycles/freaked_out/freaked_throwup.mb -dest models/md5/characters/npcs/freaked_throwup + anim models/characters/male_npc/cycles/freaked_out/freaked_pound1.mb -dest models/md5/characters/npcs/freaked_pound1 + anim models/characters/male_npc/cycles/freaked_out/freaked_pound2.mb -dest models/md5/characters/npcs/freaked_pound2 + anim models/characters/male_npc/cycles/freaked_out/freaked_wrench.mb -dest models/md5/characters/npcs/freaked_wrench + anim models/characters/male_npc/cycles/freaked_out/freaked_drinkfoamcup.mb -dest models/md5/characters/npcs/freaked_drinkfoamcup + anim models/characters/male_npc/cycles/freaked_out/freaked_cower.mb -dest models/md5/characters/npcs/freaked_cower + + anim models/characters/male_npc/cycles/vo/hydrocon_dude_primary.mb -dest models/md5/characters/npcs/hydrocon_dude_primary + anim models/characters/male_npc/cycles/vo/hydrocon_dude_secondary2.mb -dest models/md5/characters/npcs/hydrocon_dude_secondary2 + anim models/characters/male_npc/cycles/vo/hydrocon_dude_secondary.mb -dest models/md5/characters/npcs/hydrocon_dude_secondary + anim models/characters/male_npc/cycles/vo/hydrocon_dude_trigger2.mb -dest models/md5/characters/npcs/hydrocon_dude_trigger2 + anim models/characters/male_npc/cycles/vo/hydrocon_dude_trigger.mb -dest models/md5/characters/npcs/hydrocon_dude_trigger + + anim models/characters/male_npc/cycles/sitting/marscity_marine1_stand.mb -dest models/md5/characters/npcs/marscity_marine1_stand + anim models/characters/male_npc/cycles/sitting/marscity_marine1_talk.mb -dest models/md5/characters/npcs/marscity_marine1_talk + anim models/characters/male_npc/cycles/sitting/marscity_marine1_idle1.mb -dest models/md5/characters/npcs/marscity_marine1_idle1 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_idle2.mb -dest models/md5/characters/npcs/marscity_marine1_idle2 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_idle3.mb -dest models/md5/characters/npcs/marscity_marine1_idle3 + + anim models/characters/male_npc/cycles/sitting/marscity_marine2_stand.mb -dest models/md5/characters/npcs/marscity_marine2_stand + anim models/characters/male_npc/cycles/sitting/marscity_marine2_talk.mb -dest models/md5/characters/npcs/marscity_marine2_talk + anim models/characters/male_npc/cycles/sitting/marscity_marine2_idle1.mb -dest models/md5/characters/npcs/marscity_marine2_idle1 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_idle2.mb -dest models/md5/characters/npcs/marscity_marine2_idle2 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_idle3.mb -dest models/md5/characters/npcs/marscity_marine1_idle3 + + + // CONVERTED BY FRED + + // anim models/characters/male_npc/cycles/working/operate_computer_eric_thankyou.mb -dest models/md5/characters/npcs/operate_computer_eric_thankyou + // anim models/characters/male_npc/cycles/working/operate_computer_eric_worktalk1.mb -dest models/md5/characters/npcs/operate_computer_eric_worktalk1 + // anim models/characters/male_npc/cycles/working/operate_computer_eric_worktalk2.mb -dest models/md5/characters/npcs/operate_computer_eric_worktalk2 + // anim models/characters/male_npc/cycles/working/look_in_hole_scratch_head.mb -dest models/md5/characters/npcs/look_in_hole_scratch_head + // anim models/characters/male_npc/cycles/working/PDA_idle_look.mb -dest models/md5/characters/npcs/PDA_idle_look + // anim models/characters/male_npc/cycles/working/gui_operate_daniel.mb -dest models/md5/characters/npcs/gui_operate_daniel + // anim models/characters/male_npc/cycles/working/look_in_hole.mb -dest models/md5/characters/npcs/look_in_hole + // anim models/characters/male_npc/cycles/working/gui_operate.mb -dest models/md5/characters/npcs/gui_operate_eric + // anim models/characters/male_npc/cycles/working/gui_look.mb -dest models/md5/characters/npcs/gui_look + // anim models/characters/male_npc/cycles/working/box_look.mb -dest models/md5/characters/npcs/box_look + // anim models/characters/male_npc/cycles/idles/stand_point_forward.mb -dest models/md5/characters/npcs/stand_point_forward + // anim models/characters/male_npc/cycles/idles/stand_point_forward_charles.mb -dest models/md5/characters/npcs/stand_point_forward_charles + // anim models/characters/male_npc/cycles/talking/stand_talk.mb -dest models/md5/characters/npcs/stand_talk + // anim models/characters/male_npc/cycles/working/gui_operate_iansecondary.mb -rotate -90 -dest models/md5/characters/npcs/gui_operate_iansecondary + // anim models/characters/male_npc/cycles/idles/cower4.mb -rotate -90 -dest models/md5/characters/npcs/cower4_ian + // anim models/characters/male_npc/cycles/working/gui_operate.mb -rotate -90 -dest models/md5/characters/npcs/gui_operate + // anim models/characters/male_npc/cycles/working/gui_look_right.mb -rotate -90 -dest models/md5/characters/npcs/gui_look_right + // anim models/characters/male_npc/cycles/idles/point_forward.mb -rotate -90 -dest models/md5/characters/npcs/point_forward + // anim models/characters/male_npc/cycles/idles/startle_left.mb -rotate -90 -dest models/md5/characters/npcs/startle_left + // anim models/characters/male_npc/cycles/working/operate_computer_james3.mb -dest models/md5/characters/npcs/operate_computer_loop3 + // anim models/characters/male_npc/cycles/idles/stand_sitting.mb -dest models/md5/characters/npcs/stand_sitting + // anim models/characters/male_npc/cycles/idles/stand_sitting_PDAidle.mb -dest models/md5/characters/npcs/stand_sitting_idle + // anim models/characters/male_npc/cycles/idles/mcu_thanku.mb -dest models/md5/characters/npcs/mcu_thanku + // anim models/characters/male_npc/cycles/talking/PDA_talk_security_guard.mb -dest models/md5/characters/npcs/PDA_talk_security_guard + // anim models/characters/male_npc/cycles/talking/PDA_talk.mb -dest models/md5/characters/npcs/PDA_talk + // anim models/characters/male_npc/cycles/working/PDA_idle.mb -dest models/md5/characters/npcs/PDA_idle + // anim models/characters/male_npc/cycles/working/operate_computer_sitting.mb -dest models/md5/characters/npcs/operate_computer_sitting + // anim models/characters/male_npc/cycles/walks/walk_machinegun.mb -xyzprecision 0.01 -quatprecision 0.00006 -dest models/md5/characters/npcs/walk_machinegun + // anim models/characters/male_npc/cycles/idles/drink_idle.mb -dest models/md5/characters/npcs/drink_idle // anim models/characters/male_npc/cycles/working/gui_operate_main_worker.mb -dest models/md5/characters/npcs/gui_operate_main_worker + // anim models/characters/male_npc/cycles/talking/talk_primary_todd.mb -dest models/md5/characters/npcs/talk_primary_todd + // anim models/characters/male_npc/cycles/talking/talk_secondary2_todd.mb -dest models/md5/characters/npcs/talk_secondary2_todd + // anim models/characters/male_npc/cycles/working/operate_computer_talk.mb -dest models/md5/characters/npcs/operate_computer_talk + // anim models/characters/male_npc/cycles/idles/stand_hands_at_waist.mb -dest models/md5/characters/npcs/stand_hands_at_waist + // anim models/characters/male_npc/cycles/idles/af_pose.mb -dest models/md5/characters/npcs/woundedmarine_af_pose + // anim models/characters/male_npc/cycles/wounded/wounded_marine_trigger.mb -dest models/md5/characters/npcs/wounded_marine_trigger + // anim models/characters/male_npc/cycles/wounded/wounded_marine_primary.mb -dest models/md5/characters/npcs/wounded_marine_primary + // anim models/characters/male_npc/cycles/wounded/wounded_marine_secondary.mb -dest models/md5/characters/npcs/wounded_marine_secondary + // anim models/characters/male_npc/cycles/wounded/wounded_marine_idle.mb -dest models/md5/characters/npcs/wounded_marine_idle + + + + + + +} + + +/**** +export security machinegun guy +****/ + +export james { + + options -prefix SUIT_ -keep Lknee Rknee eject barrel flash Body2 headcontrol neckcontrol loneckcontrol SPINNER -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent machinegun Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -rename mgeject eject -rename mgbarrel barrel -rename mgflash flash -parent eject machinegun -parent flash machinegun -parent barrel machinegun + + + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh mgmflash1 + addoptions -keepmesh mgmflash2 + addoptions -keepmesh mgmflash3 + addoptions -keepmesh mgmflash4 + addoptions -keepmesh w_machinegunmesh + addoptions -keepmesh skeletonmesh + addoptions -align ALL + + anim models/characters/male_npc/cycles/idles/af_pose.mb -dest models/md5/monsters/zombies/zsec_machinegun/af_pose + anim models/monsters/zombie/cycles/runs/machinegun_evade_left.mb -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_evade_left + anim models/monsters/zombie/cycles/runs/machinegun_evade_right.mb -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_evade_right +} + + +/*** +export security shotgun guy +***/ + +export james { + + options -prefix SUIT_ -keep Body Rhand Lhand Lhand1 Lknee Rknee eject barrel flash Body2 headcontrol neckcontrol loneckcontrol SPINNER -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent shield Lloarm -parent shotgun Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -rename sgeject eject -rename sgbarrel barrel -rename sgflash flash -parent eject shotgun -parent flash shotgun -parent barrel shotgun + + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh sgmflash1 + addoptions -keepmesh sgmflash2 + addoptions -keepmesh sgmflash3 + addoptions -keepmesh w_shotgunmesh + addoptions -keepmesh w_shotgunloadermesh + addoptions -keepmesh skeletonmesh + + + addoptions -align ALL + + anim models/characters/male_npc/cycles/idles/af_pose.mb -dest models/md5/monsters/zombies/zsec_shotgun/af_pose + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_left.mb -range 45 45 -dest models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_A + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_left.mb -range 46 64 -dest models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_B + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_left.mb -range 65 78 -dest models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_C + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_left.mb -range 79 100 -dest models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_D + + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_right.mb -range 12 12 -dest models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_A + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_right.mb -range 13 36 -dest models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_B + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_right.mb -range 37 47 -dest models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_C + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_right.mb -range 48 80 -dest models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_D + + anim models/monsters/zombie/cycles/runs/shotgun_activate_step_right.mb -dest models/md5/monsters/zombies/zsec_shotgun/shotgun_activate_step_right + + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_left.mb -range 37 47 -dest models/md5/monsters/zombies/zsec_shotgun/fire1 + anim models/monsters/zombie/cycles/attacks/shotgun_wall_rotate_right.mb -range 65 78 -dest models/md5/monsters/zombies/zsec_shotgun/fire2 + anim models/monsters/zombie/cycles/runs/shotgun_evade_left.mb -dest models/md5/monsters/zombies/zsec_shotgun/evade_left + anim models/monsters/zombie/cycles/runs/shotgun_evade_right.mb -dest models/md5/monsters/zombies/zsec_shotgun/evade_right + anim models/monsters/zombie/cycles/attacks/shotgun_raise.mb -dest models/md5/monsters/zombies/zsec_shotgun/raise + anim models/monsters/zombie/cycles/attacks/shotgun_lower.mb -dest models/md5/monsters/zombies/zsec_shotgun/lower + anim models/monsters/zombie/cycles/attacks/shotgun_stand_fire.mb -dest models/md5/monsters/zombies/zsec_shotgun/stand_fire + + anim models/monsters/zombie/cycles/attacks/shotgun_stand_crate.mb -range 52 52 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/crate_up_A + anim models/monsters/zombie/cycles/attacks/shotgun_stand_crate.mb -range 53 61 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/crate_up_B + anim models/monsters/zombie/cycles/attacks/shotgun_stand_crate.mb -range 61 82 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/crate_up_C + anim models/monsters/zombie/cycles/attacks/shotgun_stand_crate.mb -range 82 90 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/crate_up_D + + anim models/monsters/zombie/cycles/attacks/shotgun_wall_lean_left.mb -range 1 1 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_A + anim models/monsters/zombie/cycles/attacks/shotgun_wall_lean_left.mb -range 1 17 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_B + anim models/monsters/zombie/cycles/attacks/shotgun_wall_lean_left.mb -range 18 35 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_C + anim models/monsters/zombie/cycles/attacks/shotgun_wall_lean_left.mb -range 36 50 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_D + + anim models/monsters/zombie/cycles/attacks/shotgun_wall_lean_right.mb -range 1 1 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_A + anim models/monsters/zombie/cycles/attacks/shotgun_wall_lean_right.mb -range 1 17 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_B + anim models/monsters/zombie/cycles/attacks/shotgun_wall_lean_right.mb -range 18 35 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_C + anim models/monsters/zombie/cycles/attacks/shotgun_wall_lean_right.mb -range 36 50 -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_D + anim models/monsters/zombie/cycles/walks/shotgun_step_left.mb -dest models/md5/monsters/zombies/zsec_shotgun/shotgun_step_left + anim models/monsters/zombie/cycles/walks/shotgun_step_right.mb -dest models/md5/monsters/zombies/zsec_shotgun/shotgun_step_right + anim models/monsters/zombie/cycles/attacks/shotgun_crouch_range_attack.mb -dest models/md5/monsters/zombies/zsec_shotgun/crouch_range_attack + anim models/monsters/zombie/cycles/attacks/shotgun_crouch_range_attack_loop.mb -dest models/md5/monsters/zombies/zsec_shotgun/crouch_range_attack_loop + anim models/monsters/zombie/cycles/attacks/shotgun_crouch_range_attack_end.mb -dest models/md5/monsters/zombies/zsec_shotgun/crouch_range_attack_end + anim models/monsters/zombie/cycles/attacks/shotgun_crouch_range_attack_aim.mb -dest models/md5/monsters/zombies/zsec_shotgun/crouch_range_attack_aim + anim models/monsters/zombie/cycles/attacks/shotgun_stand_aim.mb -dest models/md5/monsters/zombies/zsec_shotgun/stand_aim + anim models/monsters/zombie/cycles/pains/shotgun_crouch_left_pain.mb -dest models/md5/monsters/zombies/zsec_shotgun/shotgun_crouch_left_pain + anim models/monsters/zombie/cycles/pains/shotgun_crouch_right_pain.mb -dest models/md5/monsters/zombies/zsec_shotgun/shotgun_crouch_right_pain +} diff --git a/base/def/map_admin.def b/base/def/map_admin.def new file mode 100644 index 00000000..d131ca89 --- /dev/null +++ b/base/def/map_admin.def @@ -0,0 +1,598 @@ +//CINEMATICS + +export fred { + //camera maps/fred/admin/swann_campbell_overhear.mb -dest models/md5/cinematics/admin/overhear_cam + + camera maps/fred/admin/campbell_overhear_1_n_2_n_3.mb -range 1 313 -dest models/md5/cinematics/admin/overhear_cam1 + camera maps/fred/admin/campbell_overhear_4.mb -range 432 736 -dest models/md5/cinematics/admin/overhear_cam2 + camera maps/fred/admin/swann_campbell_overhear.mb -range 737 1033 -dest models/md5/cinematics/admin/overhear_cam3 + + options -prefix ZOMBIE_CASE_ -keep ATTACHER -rename ATTACHER origin -clearorigin + anim maps/fred/admin/campbell_overhear_1_n_2_n_3.mb -range 1 313 -dest models/md5/cinematics/admin/overhearcampbellcase1 + anim maps/fred/admin/campbell_overhear_4.mb -range 432 736 -dest models/md5/cinematics/admin/overhearcampbellcase2 + + options -prefix CAMPBELL_CASE_ + mesh maps/fred/admin/swann_campbell_overhear.mb -range 737 737 -dest models/md5/cinematics/admin/overhearcaseontable + anim maps/fred/admin/swann_campbell_overhear.mb -range 737 1033 -dest models/md5/cinematics/admin/overhearcampbellcase3 + +} + +model admin_bfgcase { + mesh models/md5/cinematics/admin/overhearcaseontable.md5mesh + anim overhear3 models/md5/cinematics/admin/overhearcampbellcase3.md5anim +} + +entityDef admin_bfgcase { + "inherit" "cin_base" + "model" "admin_bfgcase" + "anim" "overhear3" + "cinematic" "1" +} + +entityDef admin_overhear_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "cinematic" "1" + + "spawnclass" "idCameraAnim" + + "anim overhear1" "models/md5/cinematics/admin/overhear_cam1.md5camera" + "anim overhear2" "models/md5/cinematics/admin/overhear_cam2.md5camera" + "anim overhear3" "models/md5/cinematics/admin/overhear_cam3.md5camera" +} + +model admin_overhear_camphead { + inherit head_campbell + anim overhear3 models/md5/heads/campbell/admin/camphead_overhear_end.md5anim +} + +model admin_overhear_campbell { + inherit char_campbell_bfgcase + + anim overhear models/md5/chars/campbell/admin/overhearcampbell1.md5anim + + anim overhear1 models/md5/chars/campbell/admin/overhearcampbell1.md5anim { + frame 1 skin skins/characters/npcs/marine_campbell.skin + } + anim overhear2 models/md5/chars/campbell/admin/overhearcampbell2.md5anim { + frame 1 skin skins/characters/npcs/marine_campbell.skin + } +} + +entityDef admin_overhear_campbell { + "inherit" "char_campbell_bfgcase" + "model" "admin_overhear_campbell" + "cinematic" "1" + + "sound_bone" "Chest" +} + +model admin_overhear_campbell2 { + inherit char_campbell_bfg + + anim overhear3 models/md5/chars/campbell/admin/overhearcampbell3.md5anim { + frame 1 event disableEyeFocus + frame 1 skin skins/characters/npcs/marine_campbell.skin + frame 104 sound_voice2 bfgcase_unlock + frame 121 trigger caselight + frame 163 sound_voice admin_campbell_planb + frame 203 sound_weapon player_bfg_raise + frame 218 sound_body player_bfg_idle + frame 235 trigger caselight + } +} + +entityDef admin_overhear_campbell2 { + "inherit" "char_campbell_bfg" + "model" "admin_overhear_campbell2" + "sound_bone" "Chest" + "def_head" "admin_overhear_camphead" + "head_joint" "Shoulders" + "cinematic" "1" +} + +model admin_overhear_campbell_bfg { + inherit char_campbell_bfg + + anim typing_loop models/md5/chars/campbell/admin/typingcampbell_loop.md5anim + anim typing models/md5/chars/campbell/admin/typingcampbell.md5anim { + frame 270 sound_voice admin_campbell_then_i_suggest + } +} + +entityDef admin_overhear_campbell_bfg { + "inherit" "char_campbell_bfg" + "model" "admin_overhear_campbell_bfg" + + "sound_bone" "Chest" + "cinematic" "1" +} + +model admin_overhear_swannhead { + inherit head_swann + anim overhear_a models/md5/heads/swann/admin/swannhead_overhear_1_2_3.md5anim + anim overhear_b models/md5/heads/swann/admin/swannhead_overhear_4.md5anim + anim overhear_c models/md5/heads/swann/admin/swannhead_overhear_end.md5anim +} + +model admin_vent_swann { + mesh models/md5/chars/suit.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim af_pose models/md5/chars/af_pose.md5anim + anim overhear_a models/md5/cinematics/admin/overhearswann1.md5anim { + frame 1 event disableEyeFocus + frame 132 sound_voice admin_swann_im_telling_you + frame 232 trigger tim_func_static_2222 + frame 237 sound_voice admin_betruger_operation_is_that + } + anim overhear_b models/md5/cinematics/admin/overhearswann2.md5anim { + frame 1 event disableEyeFocus + frame 9 sound_voice admin_swann_the_situation + frame 73 sound_voice admin_betruger_its_not_out_of_control + } + + anim overhear_c models/md5/cinematics/admin/overhearswann3.md5anim { + frame 1 event disableEyeFocus + frame 4 sound_voice admin_swann_yes_bertruger + frame 43 trigger fredmonlight + frame 43 sound_voice2 swann_screen_off + frame 59 sound_voice admin_swann_i_understand + } +} + +entityDef admin_vent_swann { + "inherit" "npc_base" + "model" "admin_vent_swann" + "anim" "overhear_a" + "sound_bone" "Chest" + "def_head" "admin_overhear_swannhead" + "head_joint" "Shoulders" + "eye_verticle_offset" "10" + "eye_horizontal_offset" "5" + "ik_numlegs" "0" + + "num_cinematics" "3" + "anim1" "overhear_a" + "anim2" "overhear_b" + "anim3" "overhear_c" + + "cinematic" "1" +} + +model admin_overhear_swann { + inherit npc_suit + + anim typing_loop models/md5/cinematics/admin/typingswann_loop.md5anim + anim typing models/md5/cinematics/admin/typingswann.md5anim { + frame 1 sound admin_swann_it_isnt_working + } +} + +entityDef admin_overhear_swann { + "inherit" "npc_base" + "model" "admin_overhear_swann" + "anim" "overhear" + "sound_bone" "Chest" + "def_head" "admin_overhear_swannhead" + "head_joint" "Shoulders" + "cinematic" "1" + "eye_verticle_offset" "10" + "eye_horizontal_offset" "5" +} + +model admin_overhear_player { + mesh models/md5/characters/player/mocap/player.md5mesh + skin skins/player/noweapon.skin + + anim overhear1 models/md5/cinematics/admin/overhearplayer1.md5anim + anim overhear2 models/md5/cinematics/admin/overhearplayer2.md5anim + anim railing models/md5/cinematics/admin/railingplayer.md5anim +} + +entityDef admin_overhear_player { + "inherit" "cin_base" + "anim" "overhear" + "model" "admin_overhear_player" + "cinematic" "1" +} + +//Imps break door... + +export fred { + options -prefix DOOR_ + mesh maps/fred/impdoorbreak/impdoorbreak.mb -dest models/md5/environments/impdoorbreak + anim maps/fred/impdoorbreak/impdoorbreak.mb -range 1 1 -dest models/md5/environments/impdoorbreakidle + anim maps/fred/impdoorbreak/impdoorbreak.mb -dest models/md5/environments/impdoorbreak +} + +model admin_impdoors { + mesh models/md5/environments/impdoorbreak.md5mesh + anim doorsidle models/md5/environments/impdoorbreakidle.md5anim + anim doors models/md5/environments/impdoorbreak.md5anim { + frame 2 sound admin_impdoor_impact + frame 8 sound admin_impdoor_impact + frame 17 sound admin_impdoor_impact2 + frame 22 sound admin_impdoor_creak + frame 42 sound admin_impdoor_doorfallimpact + frame 53 sound admin_impdoor_doorfallimpact + } +} + +entityDef admin_impdoors { + "inherit" "cin_base" + "anim" "doors" + "model" "admin_impdoors" +} + +/*********************************************************************** + +admin_imps + +***********************************************************************/ + +model admin_imp1 { + inherit monster_demon_imp + anim impdoors models/md5/monsters/imp/imp1doorbreak.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableWalkIK + frame 1 disableGravity + frame 64 enableGravity + frame 64 enableWalkIK + } + + anim impcrawl models/md5/monsters/imp/imp1wallcrawl.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableGravity + frame 1 disableWalkIK + frame 2 sound_body snd_sight + frame 40 enableGravity + frame 40 enableWalkIK + } +} + +entityDef admin_imp1 { + "inherit" "monster_demon_imp" + "model" "admin_imp1" + "anim" "impdoorsidle" + "on_activate" "impdoors" +} + +model admin_imp2 { + inherit monster_demon_imp + + anim impdoors models/md5/monsters/imp/imp2doorbreak.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableGravity + frame 1 disableWalkIK + frame 89 enableGravity + frame 89 enableWalkIK + } + anim impcrawl models/md5/monsters/imp/imp2wallcrawl.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableGravity + frame 1 disableWalkIK + frame 2 sound_body snd_sight + frame 15 enableGravity + frame 15 enableWalkIK + } +} + +entityDef admin_imp2 { + "inherit" "monster_demon_imp" + "model" "admin_imp2" + "anim" "impdoorsidle" + "on_activate" "impdoors" +} + +//Pinky Attack... + +export fred { + camera maps/fred/admin/railing.mb -dest models/md5/cinematics/admin/cin_pinkyattack_cam +} + +export fred { + options -prefix PINKY_ -align ALL -rename Waist Waist1 -rename LoNeck Waist -parent drool Mouth_Piece + anim maps/fred/admin/railing.mb -range 70 70 -dest models/md5/cinematics/admin/pinkyrailing_idle + anim maps/fred/admin/railing.mb -dest models/md5/cinematics/admin/pinkyrailing + //anim models/monsters/pinky/animation/cinematics/glassbreak.mb -range 1 67 -dest models/md5/cinematics/admin/pinkyuptoglass + + } + +entityDef admin_pinkyattack_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim pinkyattack" "models/md5/cinematics/admin/cin_pinkyattack_cam.md5camera" +} + +model admin_pinkyattack_pinky { + mesh models/md5/monsters/pinky/pinky.md5mesh + anim railing models/md5/cinematics/admin/pinkyrailing.md5anim +// anim uptoglass models/md5/cinematics/admin/pinkyuptoglass.md5anim +} + +entityDef admin_pinkyattack_pinky { + "inherit" "cin_base" + "anim" "railing" + "model" "admin_pinkyattack_pinky" + "cinematic" "1" +} + +model admin_pinkyattack_shards { + mesh models/md5/environments/glass_shards.md5mesh + anim shatter models/md5/environments/shatter.md5anim +} + +entityDef admin_pinkyattack_shards { + "inherit" "cin_base" + "anim" "shatter" + "model" "admin_pinkyattack_shards" + "cinematic" "1" +} + +model admin_pinky_glassbreak { + inherit monster_demon_pinky + + anim glassbreak models/md5/monsters/pinky/glassbreak.md5anim { + frame 1 disableGravity + frame 7 sound_body snd_admin_footstep + frame 10 sound_body snd_admin_handstep + frame 13 sound_voice snd_admin_sight2 + frame 14 sound_body snd_admin_footstep + frame 22 sound_body2 snd_admin_footstep + frame 22 sound_body snd_admin_handstep + frame 29 sound_body snd_admin_footstep + frame 31 sound_body2 snd_admin_handstep + frame 34 sound_body snd_admin_footstep + frame 41 sound_body snd_admin_footstep + frame 41 sound_body2 snd_admin_handstep + frame 47 sound_body snd_admin_handstep + frame 52 sound_voice snd_admin_sight2 + frame 53 sound_body snd_admin_footstep + frame 53 sound_body2 snd_admin_handstep + frame 70 sound_body snd_admin_handstep + frame 71 sound_body2 snd_admin_handstep + frame 72 sound_voice snd_sight1 + frame 74 sound_body snd_admin_footstep + frame 76 sound_body2 snd_admin_footstep + frame 79 sound_body snd_admin_handstep + frame 84 enableGravity + } +} + +entityDef admin_pinky_glassbreak { + "inherit" "monster_demon_pinky" + "model" "admin_pinky_glassbreak" + "anim" "glassbreak" + + "snd_admin_footstep" "admin_monster_demon_pinky_foot" + "snd_admin_sight2" "admin_monster_demon_pinky_sight2" + +} + +/*************************************************** +railing_for_pinky +***************************************************/ + +export fred { + options -prefix ENV_ + mesh maps/fred/admin/railing.mb -dest models/md5/environments/railing + anim maps/fred/admin/railing.mb -dest models/md5/environments/railing +} + +model admin_railing_pinkyattack { + mesh models/md5/environments/railing.md5mesh + anim railing models/md5/environments/railing.md5anim { + + frame 29 sound admin_monster_demon_pinky_foot + frame 30 sound_global admin_monster_demon_pinky_sight2 + frame 35 sound admin_monster_demon_pinky_hand + frame 79 sound admin_monster_demon_pinky_foot + frame 79.1 sound admin_monster_demon_pinky_hand + frame 92 sound admin_monster_demon_pinky_foot + frame 101 sound admin_monster_demon_pinky_hand + frame 106 sound admin_monster_demon_pinky_foot + frame 120 sound_global admin_monster_demon_pinky_sight2 + frame 124 sound admin_monster_demon_pinky_foot + frame 133 sound admin_monster_demon_pinky_foot + frame 139 sound admin_monster_demon_pinky_creak_small + frame 156 sound admin_monster_demon_pinky_creak_big + frame 190 sound admin_monster_demon_pinky_foot + frame 197 sound admin_monster_demon_pinky_hand + frame 206 sound admin_monster_demon_pinky_hand + frame 210 sound_global admin_monster_demon_pinky_sight2 + frame 248 sound admin_light_break + frame 256 sound admin_monster_demon_pinky_thud + frame 257 sound admin_monster_demon_pinky_hand + frame 260 sound admin_monster_demon_pinky_hand + frame 261 sound admin_monster_demon_pinky_foot + frame 262 sound admin_monster_demon_pinky_foot + frame 272 sound admin_monster_demon_pinky_foot + frame 274 sound admin_monster_demon_pinky_foot + frame 275 sound admin_monster_demon_pinky_hand + frame 285 sound admin_monster_demon_pinky_foot + frame 289 sound admin_monster_demon_pinky_hand + frame 298 sound admin_monster_demon_pinky_foot + frame 300 sound admin_monster_demon_pinky_hand + frame 301 sound admin_monster_demon_pinky_foot + frame 307 sound admin_monster_demon_pinky_hand + frame 318 sound_global admin_monster_demon_pinky_sight1 + frame 322 sound admin_monster_demon_pinky_foot + frame 334 sound admin_monster_demon_pinky_hand + frame 352 sound admin_monster_demon_pinky_foot + frame 360 sound_global admin_monster_demon_pinky_sight2 + frame 394 sound admin_monster_demon_pinky_hand + frame 397 sound admin_monster_demon_pinky_foot + } +} + +entityDef admin_railing_pinkyattack { + "inherit" "cin_base" + "model" "admin_railing_pinkyattack" + "anim" "railing" + "cinematic" "1" +} + +/*************************************************** +doorframe_for_pinky +***************************************************/ + +export fred { + options -prefix ENV_ + mesh maps/fred/admin/doorframe.mb -dest models/md5/environments/doorframe + anim maps/fred/admin/doorframe.mb -dest models/md5/environments/doorframe +} + +model admin_doorframe_pinkyattack { + mesh models/md5/environments/doorframe.md5mesh + anim doorframe models/md5/environments/doorframe.md5anim { + frame 42 trigger trigger_relay_4 + frame 42 sound admin_impdoor_impact0 + frame 79 sound admin_monster_demon_pinky_sight2 + frame 123 trigger trigger_relay_7 + frame 123 sound admin_impdoor_impact0 + frame 142 sound admin_monster_demon_pinky_sight1 + frame 175 trigger trigger_relay_6 + frame 175 sound admin_impdoor_impact0 + frame 232 trigger trigger_relay_8 + frame 232 sound admin_impdoor_impact0 + frame 242 sound admin_monster_demon_pinky_sight2 + } +} + +entityDef admin_doorframe_pinkyattack { + "inherit" "cin_base" + "model" "admin_doorframe_pinkyattack" + "anim" "doorframe" + "cinematic" "1" +} + +/*********************************************************************** + +Wounded_Marine + +***********************************************************************/ + +model admin_wounded_marine_head { + skin skins/characters/npcs/head_bald_bloody.skin + + mesh models/md5/characters/npcs/heads/h3.md5mesh + anim idle models/md5/characters/npcs/heads/h3idle.md5anim + anim talk_trigger models/md5/characters/npcs/heads/h3trigger.md5anim + anim talk_secondary1 models/md5/characters/npcs/heads/h3secondary.md5anim + anim talk_primary models/md5/characters/npcs/heads/h3primary.md5anim + anim dead models/md5/characters/npcs/heads/h3dead.md5anim + anim pain models/md5/characters/npcs/heads/h3secondary.md5anim +} + +model admin_wounded_marine { + mesh models/md5/chars/marine.md5mesh + channel torso ( *origin ) + + skin skins/characters/npcs/body_marine_bloody.skin + anim af_pose models/md5/chars/af_pose.md5anim + anim stand models/md5/chars/wounded_marine_idle.md5anim + anim idle models/md5/chars/wounded_marine_idle.md5anim + anim talk_trigger models/md5/chars/wounded_marine_trigger.md5anim { + frame 1 sound_voice admin_marine_dont_stop + } + anim talk_primary models/md5/chars/wounded_marine_primary.md5anim { + frame 1 sound_voice admin_marine_there_are + } + anim talk_secondary1 models/md5/chars/wounded_marine_secondary.md5anim { + frame 1 sound_voice admin_marine_death + frame 1 call headlook_off + } + anim pain models/md5/chars/wounded_marine_secondary.md5anim { + frame 1 sound_voice admin_marine_death + } +} + +entityDef admin_wounded_marine { + "inherit" "character_default" + "scriptobject" "ai" + "nativeobject" "rvmAICharacterProne" + "model" "admin_wounded_marine" + "anim" "idle" + "size" "64 20 32" + "use_aas" "" + "turn_rate" "0" + "eye_height" "28" + "die_after_speaking" "1" + "copy_joint_world eyecontrol" "" + "gib" "1" + "model_gib" "models/md5/chars/skeleton.md5mesh" + "snd_gibbed" "sound_giblets" + + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "eye_turn_min" "0 0 0" + "eye_turn_max" "0 0 0" + + "eye_focus_rate" "0" + + "talk0_blendin" "20" + "talk0_blendout" "20" + "talk1_blendin" "20" + "talk1_blendout" "20" + "talk2_blendin" "20" + "talk2_blendout" "20" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" ".5 .5 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "head_focus_rate" "0.5" + + "def_head" "admin_wounded_marine_head" + "head_joint" "Shoulders" + + "ragdoll" "char_wounded_marine" + + // no damage zones needed + "damage_zone chest" "" + "damage_zone left_arm" "" + "damage_zone right_arm" "" + "damage_zone legs" "" +} diff --git a/base/def/map_alphalabs1.def b/base/def/map_alphalabs1.def new file mode 100644 index 00000000..de11e3c0 --- /dev/null +++ b/base/def/map_alphalabs1.def @@ -0,0 +1,445 @@ + +//CINEMATICS + +export fred { + + camera maps/fred/alphalabs1/magintro.mb -range 1 342 -dest models/md5/cinematics/alphalabs1/magintro_cam1 + camera maps/fred/alphalabs1/magintro.mb -range 343 432 -dest models/md5/cinematics/alphalabs1/magintro_cam2 + + options -prefix PENT_ + mesh models/mapobjects/pentagram/cycles/idle1.mb -dest models/md5/cinematics/alphalabs1/pentmesh + anim models/mapobjects/pentagram/cycles/idle1.mb -dest models/md5/cinematics/alphalabs1/pentanim_rot + + options -prefix HELLDOLL_ + mesh maps/fred/alphalabs1/magintro.mb -dest models/md5/cinematics/alphalabs1/helldoll + anim maps/fred/alphalabs1/magintro.mb -dest models/md5/cinematics/alphalabs1/helldoll + anim maps/fred/alphalabs1/magintro_idle.mb -range 1 80 -dest models/md5/cinematics/alphalabs1/helldoll_idle + + options -prefix PLAYER_ -keep SPINNER camWaist camHead modelviewconnector camera PISTOL_ATTACHER SHOTGUN_ATTACHER MGATTACHER pgATTACHER NADE_ATTACHER CHAINSAW_ATTACHER RL_ATTACHER FL_ATTACHER BFG_ATTACHER CHAINGUN_ATTACHER Lfteye_Focus Rteye_Focus Neck -parent Waist SPINNER -parent SPINNER Waist2 -parent Neck Shldrs -parent camera camHead -parent Lfteye_Focus Head -parent Rteye_Focus Head -parent Waist2 Hips -parent PISTOL_ATTACHER Rhand -parent SHOTGUN_ATTACHER Rhand -parent MGATTACHER Rhand -parent pgATTACHER Rhand -parent NADE_ATTACHER Rhand -parent CHAINSAW_ATTACHER Rhand -parent RL_ATTACHER Lhand -parent FL_ATTACHER Rhand -parent BFG_ATTACHER Lhand -parent camWaist modelviewconnector -parent CHAINGUN_ATTACHER Rhand + + //addoptions -skipmesh pistolBarrel + //addoptions -skipmesh pistolExtender + //addoptions -skipmesh pistolTrigger + //addoptions -skipmesh pistolBody + //addoptions -skipmesh pistolClip1 + addoptions -skipmesh plasma_innerscopebot_mesh1 + addoptions -skipmesh plasma_outerscopebot_mesh1 + addoptions -skipmesh plasma_innerscopetop_mesh1 + addoptions -skipmesh plasma_outerscopebot_mesh1 + addoptions -skipmesh plasma_outerscopetop_mesh1 + addoptions -skipmesh plasma_innerflap1_mesh1 + addoptions -skipmesh plasma_outerflap1_mesh1 + addoptions -skipmesh plasma_bolt_mesh1 + addoptions -skipmesh plasma_screen_mesh1 + addoptions -skipmesh plasma_body_mesh1 + addoptions -skipmesh plasma_handle_mesh1 + addoptions -skipmesh plasma_outerflap2_mesh4 + addoptions -skipmesh plasma_innerflap2_mesh4 + addoptions -skipmesh plasma_uppermon_mesh4 + addoptions -skipmesh shotgun_body_mesh + addoptions -skipmesh shotgun_handle_mesh + addoptions -skipmesh shotgun_trigger_mesh + addoptions -skipmesh shotgun_loflap_mesh + addoptions -skipmesh shotgun_extender_mesh + addoptions -skipmesh shotgun_upflap1_mesh + addoptions -skipmesh shotgun_upflap2_mesh + //addoptions -skipmesh mgdisplaymesh + //addoptions -skipmesh mgextendermesh + //addoptions -skipmesh mgbodymesh + //addoptions -skipmesh mgclipmesh + //addoptions -skipmesh mgtriggermesh + addoptions -skipmesh nade_cap_mesh + addoptions -skipmesh nade_body_mesh + addoptions -skipmesh chainsawcordmesh + addoptions -skipmesh chainsawstartermesh + addoptions -skipmesh chainsawblademesh + addoptions -skipmesh chainsawhandlemesh + addoptions -skipmesh chainsawbodymesh + + addoptions -skipmesh rshell1 + addoptions -skipmesh rshell2 + addoptions -skipmesh rshell3 + addoptions -skipmesh rshell4 + addoptions -skipmesh reloader1 + addoptions -skipmesh handle + addoptions -skipmesh aimer + addoptions -skipmesh body + + addoptions -skipmesh flashlightmesh1 + addoptions -skipmesh flashlightflaremesh + addoptions -skipmesh flashlightbeammesh + addoptions -skipmesh flashlightflare2mesh + + addoptions -skipmesh bfgmesh + + addoptions -skipmesh w_pistolfire + addoptions -skipmesh w_pistolflash + addoptions -skipmesh w_pistolmesh + //addoptions -skipmesh w_shotgun2barrelmesh + //addoptions -skipmesh w_shotgun2mesh + addoptions -skipmesh w_machinegun_mesh + addoptions -skipmesh w_mgfx1 + addoptions -skipmesh w_mgfx2 + addoptions -skipmesh w_mgfx3 + addoptions -skipmesh w_mgfx4 + addoptions -skipmesh w_plasmagun_mesh + addoptions -skipmesh w_plasmagunfx1 + addoptions -skipmesh w_plasmagunfx2 + addoptions -skipmesh w_chainsaw_mesh + addoptions -skipmesh w_chainsaw_chain_mesh + addoptions -skipmesh w_rocketlauncher_mesh + + addoptions -skipmesh chaingunfx1_model + addoptions -skipmesh chaingunfx2_model + addoptions -skipmesh chaingunnubmodel + addoptions -skipmesh chaingunbodymodel + addoptions -skipmesh chaingunbarrelmodel + + addoptions -skipmesh polySurface1 + addoptions -skipmesh polySurface2 + + mesh models/characters/player/mocap/idle_stand.mb -dest models/md5/characters/player/mocap/wepplayer + anim maps/fred/alphalabs1/magintro.mb -range 343 432 -dest models/md5/cinematics/alphalabs1/magintro_player + anim maps/fred/delta4/hkintro.mb -range 1 251 -dest models/md5/cinematics/delta4/hkintro_player + anim maps/fred/delta4/hkintro.mb -range 252 384 -dest models/md5/cinematics/delta4/hkintro_player_b -prefix PLAYER2_ + anim maps/fred/cyberdemon/cyberintro_shot1.mb -xyzprecision .01 -range 30 104 -dest models/md5/cinematics/hellhole/cyberintro_player1 + anim maps/fred/cyberdemon/cyberintro.mb -xyzprecision .01 -range 105 220 -dest models/md5/cinematics/hellhole/cyberintro_player2 + anim maps/fred/cyberdemon/cyberintro_shot3.mb -xyzprecision .01 -range 221 252 -dest models/md5/cinematics/hellhole/cyberintro_player3 + anim maps/fred/cyberdemon/cyberintro.mb -xyzprecision .01 -range 253 337 -dest models/md5/cinematics/hellhole/cyberintro_player4 + anim maps/fred/cyberdemon/cyberintro.mb -xyzprecision .01 -range 338 492 -dest models/md5/cinematics/hellhole/cyberintro_player5 + anim maps/fred/cyberdemon/cyberintro_shot4.mb -xyzprecision .01 -range 493 542 -dest models/md5/cinematics/hellhole/cyberintro_player6 + anim maps/fred/cyberdemon/cyberintro.mb -xyzprecision .01 -range 543 654 -dest models/md5/cinematics/hellhole/cyberintro_player7 + anim maps/fred/cyberdemon/cyberintro.mb -xyzprecision .01 -range 655 732 -dest models/md5/cinematics/hellhole/cyberintro_player8 + anim maps/fred/cyberdemon/cyberintro.mb -xyzprecision .01 -range 733 765 -dest models/md5/cinematics/hellhole/cyberintro_player9 + + anim maps/fred/alphalabs3/playershot1.mb -dest models/md5/cinematics/alphalabs3/vagintro_player1 + anim maps/fred/alphalabs3/vagaryintro2.mb -dest models/md5/cinematics/alphalabs3/vagintro_player2 + + + //anim maps/fred/cyberdemon/cyberdeath.mb -dest models/md5/cinematics/hellhole/cyberdeath_player + anim maps/fred/cyberdemon/cyberdeath.mb -range 44 89 -dest models/md5/cinematics/hellhole/cyberdeath_player_a + anim maps/fred/cyberdemon/cyberdeath.mb -range 90 199 -dest models/md5/cinematics/hellhole/cyberdeath_player_b + anim maps/fred/cyberdemon/cyberdeath.mb -range 200 220 -dest models/md5/cinematics/hellhole/cyberdeath_player_c + anim maps/fred/cyberdemon/cyberdeath.mb -range 221 275 -dest models/md5/cinematics/hellhole/cyberdeath_player_d + anim maps/fred/cyberdemon/cyberdeath.mb -range 276 340 -dest models/md5/cinematics/hellhole/cyberdeath_player_e + anim maps/fred/cyberdemon/cyberdeath.mb -range 341 372 -dest models/md5/cinematics/hellhole/cyberdeath_player_f + anim maps/fred/cyberdemon/cyberdeath.mb -range 373 428 -dest models/md5/cinematics/hellhole/cyberdeath_player_g + anim maps/fred/cyberdemon/cyberdeath.mb -range 429 548 -dest models/md5/cinematics/hellhole/cyberdeath_player_h + anim maps/fred/cyberdemon/cyberdeath.mb -range 549 800 -dest models/md5/cinematics/hellhole/cyberdeath_player_i + + mesh maps/fred/delta4/hkintro.mb -range 1 1 -dest models/md5/characters/player/mocap/mgplayer + anim maps/fred/delta4/hkintro2.mb -range 617 644 -dest models/md5/cinematics/delta4/hkintro_player2 + + anim maps/fred/monorail/crash.mb -range 1 285 -dest models/md5/cinematics/monorail/crash_player + + anim models/monsters/guardian/cycles/guardian_intro.mb -dest models/md5/cinematics/hell1/guardianintro_teleport_player + + anim maps/fred/enpro/monitor.mb -range 1 200 -dest models/md5/cinematics/enpro/monitor_player + anim maps/fred/enpro/monitor2.mb -range 1 32 -dest models/md5/cinematics/enpro/monitor_player2 + anim maps/fred/enpro/lostsoulintro.mb -range 1 219 -dest models/md5/cinematics/enpro/player_lostintro1 + anim maps/fred/enpro/lostsoulintro.mb -range 284 320 -dest models/md5/cinematics/enpro/player_lostintro2 + + addoptions -align ALL + anim models/characters/player/mocap/mgwalk2stop.mb -range 10 120 -dest models/md5/cinematics/monorail/walk2stopfull + anim maps/fred/alphalabs1/playerwalk2stop.mb -range 63 138 -dest models/md5/characters/player/mocap/cinematics/magintrowalk2stop + + anim maps/fred/delta2a/ian_shot1.mb -range 1 671 -rotate -90 -dest models/md5/cinematics/delta2a/scientistplayer_a + anim maps/fred/delta2a/ian_shot1.mb -range 672 756 -rotate -90 -dest models/md5/cinematics/delta2a/scientistplayer_b + anim maps/fred/delta2a/malteleporterroom.mb -rotate 180 -dest models/md5/cinematics/delta2a/teleporterplayer + +} + +model alphalabs1_labcoat_bald_head { + mesh models/md5/characters/npcs/heads/h3.md5mesh + anim idle models/md5/characters/npcs/heads/h3idle.md5anim + anim stand models/md5/characters/npcs/heads/h3idle.md5anim + anim pda_idle_look models/md5/characters/npcs/heads/h3idle.md5anim + anim talk_trigger models/md5/heads/bald/alphalabs1/maint_hyrdocon_trigger.md5anim { + frame 1 sound_voice alphalabs1_labcoat_trigger + } + anim talk_two models/md5/heads/bald/alphalabs1/maint_hyrdocon_trigger2.md5anim { + frame 1 sound_voice alphalabs1_labcoat_trigger2 + } + anim talk_primary models/md5/heads/bald/alphalabs1/maint_hyrdocon_primary.md5anim { + frame 1 sound_voice alphalabs1_labcoat_primary + } + anim talk_secondary1 models/md5/heads/bald/alphalabs1/maint_hyrdocon_secondary.md5anim { + frame 1 sound_voice alphalabs1_labcoat_secondary + } + anim talk_secondary2 models/md5/heads/bald/alphalabs1/maint_hyrdocon_secondary2.md5anim { + frame 1 sound_voice alphalabs1_labcoat_secondary2 + } +} + +model alphalabs1_labcoat_bald { + inherit npc_base + mesh models/md5/chars/labcoat.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER chair eyecontrol) + + anim cower models/md5/chars/alphalabs1/cower4_hydrocon.md5anim + anim idle models/md5/chars/alphalabs1/pda_idle_look_hydrocon.md5anim { + frame 1 event disableEyeFocus + frame 1 call headlook_off + } + anim stand models/md5/chars/alphalabs1/pda_idle_look_hydrocon.md5anim { + frame 1 event disableEyeFocus + frame 1 call headlook_off + } + anim talk_trigger models/md5/chars/alphalabs1/startle.md5anim { + frame 1 event disableEyeFocus + frame 1 call headlook_off + frame 30 event enableEyeFocus + frame 30 call headlook_on + frame 340 event disableEyeFocus + frame 340 call headlook_off + } + anim talk_two models/md5/chars/alphalabs1/pda_idle_look_hydrocon.md5anim { + frame 1 event disableEyeFocus + frame 1 call headlook_off + } + anim pda_idle_look models/md5/chars/alphalabs1/pda_idle_look_hydrocon.md5anim { + frame 1 event disableEyeFocus + frame 1 call headlook_off + } + anim talk_primary models/md5/chars/alphalabs1/pda_idle_look_hydrocon_talk.md5anim { + frame 1 event disableEyeFocus + frame 1 call headlook_off + } + anim talk_secondary1 models/md5/chars/alphalabs1/pda_idle_look_hydrocon_talk.md5anim { + frame 1 event disableEyeFocus + frame 1 call headlook_off + } + anim talk_secondary2 models/md5/chars/alphalabs1/pda_idle_look_hydrocon_talk.md5anim { + frame 1 event disableEyeFocus + frame 1 call headlook_off + } +} + +entityDef alphalabs1_labcoat_bald { + "inherit" "npc_base" + "model" "alphalabs1_labcoat_bald" + "def_head" "alphalabs1_labcoat_bald_head" + + "snd_talk_trigger" "alphalabs1_labcoat_trigger" + "snd_talk_two" "alphalabs1_labcoat_trigger2" + "snd_talk_primary" "alphalabs1_labcoat_primary" + "snd_talk_secondary" "alphalabs1_labcoat_secondary" + "snd_talk_secondary2" "alphalabs1_labcoat_secondary2" + + "head_joint" "Shoulders" + "talk_no_turn" "1" + "turn_rate" "0" + + "talktime" "1" + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "team" "0" + "rank" "0" + + "bone_focus" "headcontrol" + "bone_orientation" "Body" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "copy_joint_world eyecontrol" "" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + + "def_attach" "pda_alphalabs1_labcoat_bald" + "def_dropDeathItem" "pda_alphalabs1_labcoat_bald" + "dropDeathItemJoint" "RHANDCONNECTOR" + "dropDeathItemRotation" "-90 0 0" +} + +// pentagram + +model alphalabs1_pentagramdood { + mesh models/md5/cinematics/alphalabs1/pentmesh.md5mesh + anim pentagram models/md5/cinematics/alphalabs1/pentanim_rot.md5anim +} + +entityDef alphalabs1_pentagramdood { + "inherit" "cin_base" + "model" "alphalabs1_pentagramdood" + "anim" "pentagram" +} + +// maggot intro + +model alphalabs1_helldoll { + mesh models/md5/cinematics/alphalabs1/helldoll.md5mesh + anim idle models/md5/cinematics/alphalabs1/helldoll_idle.md5anim + anim helldoll models/md5/cinematics/alphalabs1/helldoll.md5anim { + frame 60 sound_voice snd_gasp + frame 180 sound_voice snd_scream + } +} + +entityDef alphalabs1_helldoll { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "sound_bone" "Jaw" + "inherit" "cin_base" + "model" "alphalabs1_helldoll" + "anim" "helldoll" + + "snd_gasp" "alphalabs1_magintro_gasp" + "snd_scream" "alphalabs1_magintro_scream" +} + +model alphalabs1_player { + mesh models/md5/characters/player/mocap/wepplayer.md5mesh + skin skins/player/shotgun.skin + + anim magintro models/md5/cinematics/alphalabs1/magintro_player.md5anim + anim walk2stop models/md5/characters/player/mocap/cinematics/magintrowalk2stop.md5anim +} + +entityDef alphalabs1_player { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "model" "alphalabs1_player" + "anim" "magintro" +} + +entityDef alphalabs1_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + + "spawnclass" "idCameraAnim" + + "anim magintro_a" "models/md5/cinematics/alphalabs1/magintro_cam1.md5camera" + "anim magintro_b" "models/md5/cinematics/alphalabs1/magintro_cam2.md5camera" +} + +model alphalabs1_imp { + mesh models/md5/monsters/imp/imp.md5mesh + anim scare models/md5/cinematics/alphalabs1/impscare.md5anim { + frame 6 sound_body monster_demon_imp_footstep + frame 9 sound_weapon monster_demon_imp_footstep + frame 10 sound_voice monster_demon_imp_sight_scare + frame 16 sound_body monster_demon_imp_footstep + frame 52 sound_weapon monster_demon_imp_footstep + frame 64 sound_body monster_demon_imp_footstep + } +} + +entityDef alphalabs1_imp { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "sound_bone" "Jaw" + + "inherit" "cin_base" + "model" "alphalabs1_imp" + "anim" "scare" +} + + +model alphalabs1_maggot1 { + mesh models/md5/monsters/maggot3/maggot3.md5mesh + anim helldoll models/md5/cinematics/alphalabs1/maggot1.md5anim { + frame 349 sound_body monster_demon_maggot_footstep + frame 354 sound_body monster_demon_maggot_footstep + frame 360 sound_body monster_demon_maggot_footstep + frame 360 sound_global monster_demon_maggot_sight + frame 366 sound_body monster_demon_maggot_footstep + frame 382 sound_body monster_demon_maggot_footstep + frame 397 sound_body monster_demon_maggot_footstep + frame 398 sound_body monster_demon_maggot_footstep + frame 409 sound_body monster_demon_maggot_footstep + frame 410 sound_body monster_demon_maggot_footstep + frame 415 sound_body monster_demon_maggot_footstep + frame 418 sound_body monster_demon_maggot_footstep + } +} + +entityDef alphalabs1_maggot1 { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + + "inherit" "cin_base" + "model" "alphalabs1_maggot1" + "anim" "helldoll" + "sound_bone" "Shoulders" + + "snd_sight" "monster_demon_maggot_sight" + "snd_sight2" "monster_demon_maggot_sight" + "snd_footstep" "monster_demon_maggot_footstep" +} + +model alphalabs1_maggot2 { + mesh models/md5/monsters/maggot3/maggot3.md5mesh + anim helldoll models/md5/cinematics/alphalabs1/maggot2.md5anim { + frame 212 sound_body monster_demon_maggot_footstep + frame 218 sound_body monster_demon_maggot_footstep + frame 222 sound_global monster_demon_maggot_sight + frame 230 sound_body monster_demon_maggot_footstep + frame 236 sound_body monster_demon_maggot_footstep + frame 253 sound_body monster_demon_maggot_footstep + frame 284 sound_body monster_demon_maggot_footstep + } +} + +entityDef alphalabs1_maggot2 { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + + "inherit" "cin_base" + "model" "alphalabs1_maggot2" + "anim" "helldoll" + "sound_bone" "Shoulders" + + "snd_sight" "monster_demon_maggot_sight" + "snd_sight2" "monster_demon_maggot_sight" + "snd_footstep" "monster_demon_maggot_footstep" +} + +model alphalabs1_maggot3 { + inherit monster_demon_maggot + anim hydromag models/md5/cinematics/alphalabs1/hydromag.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 49 enableGravity + frame 49 enableWalkIK + } +} + +entityDef alphalabs1_maggot3 { + "inherit" "monster_demon_maggot" + "model" "alphalabs1_maggot3" + "anim" "hydromag" + "sound_bone" "Shoulders" +} diff --git a/base/def/map_alphalabs2.def b/base/def/map_alphalabs2.def new file mode 100644 index 00000000..53745e6b --- /dev/null +++ b/base/def/map_alphalabs2.def @@ -0,0 +1,774 @@ + +// ELEVATOR ATTACK + +export fred { + options -prefix ENV_ + mesh maps/fred/alphalabs2/elevator_attack.mb -dest models/md5/environments/a2_elevatormesh + anim maps/fred/alphalabs2/elevator_attack.mb -range 1 1 -dest models/md5/environments/a2_elevatoridle + anim maps/fred/alphalabs2/elevator_attack.mb -dest models/md5/environments/a2_elevator +} + +model alphalabs2_maggot { + inherit monster_demon_maggot + + anim elevator models/md5/monsters/maggot3/a2_elevator.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableGravity + frame 1 disableWalkIK + frame 6 sound snd_sight + frame 8 sound snd_footstep + frame 12 sound snd_footstep + frame 20 sound snd_footstep + frame 39 sound snd_rattlecage + frame 71 sound snd_bendcage + frame 87 sound snd_sight2 + frame 92 sound snd_footstep + frame 99 sound snd_footstep + frame 103 sound snd_footstep + frame 108 sound snd_footstep + frame 111 sound snd_footstep + frame 116 sound snd_footstep + frame 119 sound snd_footstep + frame 123 sound snd_footstep + frame 130 sound snd_slip + frame 141 sound snd_sight + frame 144 sound snd_footstep + frame 148 sound snd_thud + frame 166 sound snd_footstep + frame 171 sound snd_footstep + frame 177 sound snd_footstep + frame 182 sound snd_footstep + frame 188 sound snd_footstep + frame 190 sound snd_sight2 + frame 194 sound snd_footstep + frame 195 enableGravity + frame 195 enableWalkIK + } +} + +entityDef alphalabs2_maggot { + "inherit" "monster_demon_maggot" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonMaggot" + "model" "alphalabs2_maggot" + "anim" "elevator" + "sound_bone" "Shoulders" + + "snd_thud" "monster_demon_imp_thud" + "snd_rattlecage" "al2_maggot_rattlecage" +} + +model alphalabs2_imp { + inherit monster_demon_imp + + anim elevator models/md5/monsters/imp/a2_elevator.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableGravity + frame 1 disableWalkIK + frame 15 sound snd_footstep + frame 25 sound snd_footstep + frame 40 sound snd_footstep + frame 50 sound snd_footstep + frame 56 sound snd_footstep + frame 62 sound snd_footstep + frame 66 sound snd_footstep + frame 71 sound snd_footstep + frame 76 sound snd_footstep + frame 85 sound snd_footstep + frame 89 sound snd_footstep + frame 92 sound snd_footstep + frame 106 sound snd_footstep + frame 113 sound snd_footstep + frame 126 sound snd_footstep + frame 136 sound snd_footstep + frame 150 sound snd_footstep + frame 154 sound snd_footstep + frame 158 sound snd_footstep + frame 164 sound snd_footstep + frame 170 sound snd_sight + frame 173 sound snd_footstep + frame 179 sound snd_footstep + frame 185 enableGravity + frame 185 enableWalkIK + } +} + +entityDef alphalabs2_imp { + "inherit" "monster_demon_imp" + "model" "alphalabs2_imp" + "anim" "elevator" +} + +model alphalabs2_elevatorenv { + mesh models/md5/environments/a2_elevatormesh.md5mesh + anim elevatoridle models/md5/environments/a2_elevatoridle.md5anim + anim elevator models/md5/environments/a2_elevator.md5anim +} + +entityDef alphalabs2_elevatorenv { + "inherit" "cin_base" + "anim" "elevator" + "model" "alphalabs2_elevatorenv" +} + +//PINKY AND FATTY BATHROOM CINEMATIC anim 1 + +export fred { +// pinky + options -prefix PINKY_ + mesh maps/fred/bathroom/SCENE1.mb -range 1 2 -dest models/md5/cinematics/alphalabs2/scene1pinkymesh + anim maps/fred/bathroom/SCENE1.mb -range 1 2 -dest models/md5/cinematics/alphalabs2/scene1pinkyidle + anim maps/fred/bathroom/SCENE1.mb -range 1 566 -dest models/md5/cinematics/alphalabs2/scene1pinky + + +// fatty + options -prefix FATTY_ + + mesh maps/fred/bathroom/SCENE1.mb -range 1 2 -dest models/md5/cinematics/alphalabs2/scene1fatmesh + anim maps/fred/bathroom/SCENE1.mb -range 1 2 -dest models/md5/cinematics/alphalabs2/scene1fatidle + anim maps/fred/bathroom/SCENE1.mb -range 1 566 -dest models/md5/cinematics/alphalabs2/scene1fat + + +// uac_helm + options -prefix PLAYER_ -keep camera1 Gun1 MGUN -parent Neck Shldrs -parent MBod MGUN -parent MExt MGUN -parent MTrig MGUN -parent Trig Gun1 -parent Ext Gun1 -parent Bar Gun1 -parent Bod Gun1 -parent Cli Gun1 -parent Gun1 Lhand -parent camera1 Head -parent stump Shldrs + + mesh maps/fred/bathroom/SCENE1.mb -range 1 2 -dest models/md5/cinematics/alphalabs2/scene1uacmesh + anim maps/fred/bathroom/SCENE1.mb -range 1 2 -dest models/md5/cinematics/alphalabs2/scene1uacidle + anim maps/fred/bathroom/SCENE1.mb -range 1 566 -dest models/md5/cinematics/alphalabs2/scene1uacm +} + +model cin_anim1_pinky { + mesh models/md5/cinematics/alphalabs2/scene1pinkymesh.md5mesh + anim scene1pinkyidle models/md5/cinematics/alphalabs2/scene1pinkyidle.md5anim + anim scene1pinky models/md5/cinematics/alphalabs2/scene1pinky.md5anim { + + // PINKY SOUNDS + + // frame 143 sound snd_footstep + // frame 150 sound snd_handstep + // frame 175 sound snd_footstep + // frame 181 sound snd_handstep + // frame 198 sound snd_footstep + // frame 208 sound snd_handstep + // frame 244 sound snd_footstep + // frame 247 sound snd_handstep + // frame 270 sound snd_footstep + // frame 273 sound snd_handstep + // frame 295 sound snd_footstep + // frame 298 sound snd_handstep + // frame 318 sound snd_handstep + // frame 323 sound snd_footstep + // frame 373 sound snd_footstep + // frame 428 sound snd_handstep + // frame 490 sound snd_footstep + // frame 501 sound snd_handstep + // frame 524 sound snd_handstep + + frame 543 trigger func_fx_2 + + // frame 131 sound snd_gear + // frame 163 sound snd_gear + // frame 186 sound snd_gear + // frame 232 sound snd_gear + // frame 258 sound snd_gear + // frame 283 sound snd_gear + // frame 311 sound snd_gear + // frame 361 sound snd_gear + // frame 478 sound snd_gear + + // frame 190 sound snd_growl1 + // frame 330 sound snd_growl2 + // frame 399 sound snd_growl3 + // frame 429 sound snd_growl4 + // frame 444 sound snd_growl5 + + // frame 380 sound snd_nudge + // frame 459 sound snd_contact1 + // frame 460 sound snd_pullclose + // frame 516 sound snd_openforbite + // frame 538 sound snd_bite1 + // frame 551 sound snd_tear1 + } +} + +entityDef cin_anim1_pinky { + "inherit" "cin_base" + "anim" "scene1pinkyidle" + "model" "cin_anim1_pinky" + + //"snd_footstep" "pinkyfoot" + //"snd_handstep" "pinkyhand" + //"snd_gear" "pinkygear" + //"snd_growl1" "growl1" + //"snd_growl2" "growl2" + //"snd_growl3" "growl4" + //"snd_growl4" "growl5" + //"snd_growl5" "growl1" + //"snd_nudge" "pinkysnort1" + //"snd_contact1" "nosound" + //"snd_pullclose" "pinkyscrape1" + //"snd_openforbite" "nosound" + //"snd_bite1" "pinkybite_02" + //"snd_tear1" "pinkytear_05" +} + +model cin_anim1_fatty { + mesh models/md5/cinematics/alphalabs2/scene1fatmesh.md5mesh + anim scene1fatidle models/md5/cinematics/alphalabs2/scene1fatidle.md5anim + anim scene1fat models/md5/cinematics/alphalabs2/scene1fat.md5anim +} + +entityDef cin_anim1_fatty { + "inherit" "cin_base" + "anim" "scene1fatidle" + "model" "cin_anim1_fatty" +} + +model cin_anim1_uacm { + mesh models/md5/cinematics/alphalabs2/scene1uacmesh.md5mesh + skin skins/player/pistol.skin + anim scene1uacmidle models/md5/cinematics/alphalabs2/scene1uacidle.md5anim + anim scene1uacm models/md5/cinematics/alphalabs2/scene1uacm.md5anim { + frame 7 sound player_sounds_footstep + frame 15 sound player_sounds_footstep + frame 25 sound player_sounds_footstep + frame 33 sound player_sounds_footstep + frame 166 sound player_sounds_footstep + frame 209 sound player_sounds_footstep + frame 260 sound player_sounds_footstep + frame 310 sound player_sounds_footstep + } +} + +entityDef cin_anim1_uacm { + "inherit" "cin_base" + "anim" "scene1uacmidle" + "sound_bone" "Body" + "model" "cin_anim1_uacm" +} + +//PINKY AND FATTY BATHROOM CINEMATIC anim 2 + +export fred { + // pinky + + options -prefix PINKY_ + mesh maps/fred/bathroom/SCENE2.mb -dest models/md5/cinematics/alphalabs2/scene6_pinkymesh + anim maps/fred/bathroom/SCENE2.mb -prefix PINKY_ -range 515 552 -dest models/md5/cinematics/alphalabs2/scene6_pinkyanim + + // fatty + + options -prefix FAT_ + mesh maps/fred/bathroom/SCENE2.mb -dest models/md5/cinematics/alphalabs2/scene6_fattymesh + anim maps/fred/bathroom/SCENE2.mb -prefix FAT_ -range 515 552 -dest models/md5/cinematics/alphalabs2/scene6_fattyanim + + // camera + camera maps/fred/bathroom/SCENE1.mb -dest models/md5/cinematics/alphalabs2/scene1cams + camera maps/fred/bathroom/SCENE2.mb -range 515 552 -dest models/md5/cinematics/alphalabs2/scene2cam + camera maps/fred/bathroom/SCENE3.mb -range 553 900 -dest models/md5/cinematics/alphalabs2/scene3cams + camera maps/fred/bathroom/SCENE4.mb -range 50 213 -dest models/md5/cinematics/alphalabs2/cam9a + +/************ +1 = 1-170 +2 = 171-218 +3 = 219-268 +4 = 269-530 +5 = 531-566 +6 = 515-552 +7 = 553-630 +8 = 631-681 +9 = 682-900 + +************/ +} + +model cin_anim2_pinky { + mesh models/md5/cinematics/alphalabs2/scene6_pinkymesh.md5mesh + anim scene6pinky models/md5/cinematics/alphalabs2/scene6_pinkyanim.md5anim { + //frame 37 sound pinkytear_02 + } +} + +entityDef cin_anim2_pinky { + "inherit" "cin_base" + "anim" "scene6pinky" + "model" "cin_anim2_pinky" +} + +model cin_anim2_fatty { + mesh models/md5/cinematics/alphalabs2/scene6_fattymesh.md5mesh + anim scene6fat models/md5/cinematics/alphalabs2/scene6_fattyanim.md5anim +} + +entityDef cin_anim2_fatty { + "inherit" "cin_base" + "anim" "scene6fat" + "model" "cin_anim2_fatty" +} + +entityDef cin_e3bathroom_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim scene1cams" "models/md5/cinematics/alphalabs2/scene1cams.md5camera" + "anim scene2cam" "models/md5/cinematics/alphalabs2/scene2cam.md5camera" + "anim scene3cams" "models/md5/cinematics/alphalabs2/scene3cams.md5camera" + "anim scene9acam" "models/md5/cinematics/alphalabs2/cam9a.md5camera" +} + +//PINKY AND FATTY BATHROOM CINEMATIC anim 3 + +export fred { + + // pinky + + options -prefix PINKY_ + mesh maps/fred/bathroom/SCENE3.mb -dest models/md5/cinematics/alphalabs2/scene7_pinkymesh + anim maps/fred/bathroom/SCENE3.mb -prefix PINKY_ -range 553 900 -dest models/md5/cinematics/alphalabs2/scene7_pinkyanim + + + + // fatty + + options -prefix FAT_ + mesh maps/fred/bathroom/SCENE3.mb -dest models/md5/cinematics/alphalabs2/scene7_fattymesh + anim maps/fred/bathroom/SCENE3.mb -prefix FAT_ -range 553 900 -dest models/md5/cinematics/alphalabs2/scene7_fattyanim + + } + +model cin_anim3_pinky { + mesh models/md5/cinematics/alphalabs2/scene7_pinkymesh.md5mesh + anim scene7pinky models/md5/cinematics/alphalabs2/scene7_pinkyanim.md5anim { + + // frame 6 sound snd_swingflesh1 + // frame 31 sound snd_swingflesh2 + // frame 80 sound snd_swingflesh3 + // frame 92 sound snd_fleshtoss + // frame 108 sound snd_fleshgulp + // frame 110 sound snd_chomp + // frame 132 sound snd_chew1 + // frame 154 sound snd_chew2 + // frame 175 sound snd_swallow + // frame 188 sound snd_bite2 + // frame 199 sound snd_contact2 + // frame 207 sound snd_tear2 + // frame 234 sound snd_chew3 + // frame 240 sound snd_contact3 + // frame 258 sound snd_bite3 + // frame 276 sound snd_chew4 + // frame 294 sound snd_chew5 + + frame 1 trigger func_fx_1 + frame 2 fx fx/blooddrip1.fx + + frame 190 trigger func_fx_1 + frame 191 trigger func_fx_2 + + frame 280 trigger func_fx_1 + } +} + +entityDef cin_anim3_pinky { + "inherit" "cin_base" + "anim" "scene7pinky" + "model" "cin_anim3_pinky" + + //"snd_swingflesh1" "nosound" + //"snd_swingflesh2" "nosound" + //"snd_swingflesh3" "nosound" + //"snd_fleshtoss" "nosound" + //"snd_fleshgulp" "pinkyswallow_01" + //"snd_chomp" "pinkybite_02" + //"snd_chew1" "pinkybite_03" + //"snd_chew2" "pinkybite_04" + //"snd_swallow" "pinkyswallow_02" + //"snd_bite2" "pinkybite_03" + //"snd_contact2" "nosound" + //"snd_tear2" "pinkytear_02" + //"snd_chew3" "pinkybite_01" + //"snd_contact3" "nosound" + //"snd_bite3" "pinkybite_02" + //"snd_chew4" "pinkybite_04" + //"snd_chew5" "pinkybite_03" +} + +model cin_anim3_fatty { + mesh models/md5/cinematics/alphalabs2/scene7_fattymesh.md5mesh + anim scene7fat models/md5/cinematics/alphalabs2/scene7_fattyanim.md5anim { + +// FATTY SOUNDS + + // frame 5 sound snd_fatbounce1 + // frame 13 sound snd_fatbounce2 + // frame 18 sound snd_fleshsettle + // frame 22 sound snd_fatbounce3 + } +} + +entityDef cin_anim3_fatty { + "inherit" "cin_base" + "anim" "scene7fat" + "model" "cin_anim3_fatty" + +// FATTY SOUNDS + //"snd_fatbounce1" "flesh_01" + //"snd_fatbounce2" "flesh_02" + //"snd_fleshsettle" "flesh_03" + //"snd_fatbounce3" "flesh_01" +} + +//PINKY AND FATTY BATHROOM CINEMATIC anim 4 + +export fred { + // pinky + + options -prefix PINKY_ + + mesh maps/fred/bathroom/SCENE4.mb -range 50 213 -dest models/md5/cinematics/alphalabs2/scene9a_pinky + + anim maps/fred/bathroom/SCENE4.mb -range 50 213 -dest models/md5/cinematics/alphalabs2/scene9a_pinky + + // fatty + + options -prefix FAT_ + mesh maps/fred/bathroom/SCENE4.mb -range 50 213 -dest models/md5/cinematics/alphalabs2/scene9a_fatty + anim maps/fred/bathroom/SCENE4.mb -range 50 213 -dest models/md5/cinematics/alphalabs2/scene9a_fatty + + // uac_helm + + //options -prefix PLAYER_ + + options -prefix PLAYER_ -keep camera1 Gun1 MGUN -parent Neck Shldrs -parent MBod MGUN -parent MExt MGUN -parent MTrig MGUN -parent Trig Gun1 -parent Ext Gun1 -parent Bar Gun1 -parent Bod Gun1 -parent Cli Gun1 -parent Gun1 Lhand -parent camera1 Head -parent stump Shldrs + anim maps/fred/bathroom/SCENE4.mb -range 50 213 -dest models/md5/cinematics/alphalabs2/scene9a_uacm +} + +model cin_anim9a_pinky { + mesh models/md5/cinematics/alphalabs2/scene9a_pinky.md5mesh + anim scene9apinky models/md5/cinematics/alphalabs2/scene9a_pinky.md5anim { + // frame 32 sound snd_slurp + // frame 39 sound snd_swingflesh4 + // frame 40 sound snd_growl6 + // frame 68 sound snd_handstep + // frame 69 sound snd_footstep + // frame 74 sound snd_growl7 + // frame 77 sound snd_handstep + // frame 86 sound snd_handstep + // frame 91 sound snd_footstep + // frame 105 sound snd_footstep + // frame 122 sound snd_growl8 + // frame 131 sound snd_footstep + // frame 138 sound snd_growl9 + // frame 144 sound snd_handstep + // frame 154 sound snd_footstep + // frame 160 sound snd_handstep + } +} + +entityDef cin_anim9a_pinky { + "inherit" "cin_base" + "anim" "scene9apinky" + "model" "cin_anim9a_pinky" + + //"snd_swingflesh4" "flesh_01" + //"snd_handstep" "pinkyhand" + //"snd_footstep" "pinkyfoot" + //"snd_slurp" "pinkyswallow_03" + //"snd_growl6" "nosound" + //"snd_growl7" "nosound" + //"snd_growl8" "nosound" + //"snd_growl9" "nosound" +} + +model cin_anim9a_fatty { + mesh models/md5/cinematics/alphalabs2/scene9a_fatty.md5mesh + anim scene9afat models/md5/cinematics/alphalabs2/scene9a_fatty.md5anim { + // frame 5 sound snd_fatbounce1 + // frame 18 sound snd_fatbounce2 + } +} + +entityDef cin_anim9a_fatty { + "inherit" "cin_base" + "anim" "scene9afat" + "model" "cin_anim9a_fatty" + //"snd_fatbounce1" "flesh_02" + //"snd_fatbounce2" "flesh_03" +} + +model cin_anim9a_uacm { + mesh models/md5/cinematics/alphalabs2/scene1uacmesh.md5mesh + skin skins/player/pistol.skin + anim scene9auacm models/md5/cinematics/alphalabs2/scene9a_uacm.md5anim { + frame 99 sound player_sounds_footstep + frame 132 sound player_sounds_footstep + frame 140 sound player_sounds_footstep + frame 158 sound player_sounds_footstep + } +} + +entityDef cin_anim9a_uacm { + "inherit" "cin_base" + "anim" "scene9auacm" + "sound_bone" "Body" + "model" "cin_anim9a_uacm" +} + +//PINKY AND FATTY BATHROOM CINEMATIC anim 5 + +export fred { + + // pinky + + options -prefix PINKY_ + mesh maps/fred/bathroom/SCENE5.mb -prefix PINKY_ -dest models/md5/cinematics/alphalabs2/scene10_pinkymesh + anim maps/fred/bathroom/SCENE5.mb -prefix PINKY_ -dest models/md5/cinematics/alphalabs2/scene10_pinkyanim + + // fatty + + options -prefix FAT_ + mesh maps/fred/bathroom/SCENE5.mb -prefix FAT_ -dest models/md5/cinematics/alphalabs2/scene10_fattymesh + anim maps/fred/bathroom/SCENE5.mb -prefix FAT_ -dest models/md5/cinematics/alphalabs2/scene10_fattyanim + + } + +model cin_anim5_pinky { + mesh models/md5/cinematics/alphalabs2/scene10_pinkymesh.md5mesh + anim scene10pinky models/md5/cinematics/alphalabs2/scene10_pinkyanim.md5anim +} + +entityDef cin_anim5_pinky { + "inherit" "cin_base" + "anim" "scene10pinky" + "model" "cin_anim5_pinky" +} + +model cin_anim5_fatty { + mesh models/md5/cinematics/alphalabs2/scene10_fattymesh.md5mesh + anim scene10fat models/md5/cinematics/alphalabs2/scene10_fattyanim.md5anim +} + +entityDef cin_anim5_fatty { + "inherit" "cin_base" + "anim" "scene10fat" + "model" "cin_anim5_fatty" +} + +/********** +Ed Killer +**********/ + + +model alphalabs2_cin_imp { + mesh models/md5/monsters/imp/imp.md5mesh + anim edkiller models/md5/cinematics/alphalabs2/edkiller.md5anim + +} + +entityDef alphalabs2_cin_imp { + "inherit" "cin_base" + "anim" "edkiller" + "model" "alphalabs2_cin_imp" +} + + +model alphalabs2_scientist1_head { + mesh models/md5/characters/npcs/heads/h1.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim blink models/md5/characters/npcs/heads/h1blink.md5anim + anim stand models/md5/characters/npcs/heads/h1idle.md5anim + anim dead models/md5/characters/npcs/heads/h1death.md5anim + + anim lips_dontshoot models/md5/heads/old/alphalabs2/scientist_trigger_1.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_1 + } + anim lips_canhelp models/md5/heads/old/alphalabs2/scientist_trigger_2.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_2 + } + anim lips_lightsout models/md5/heads/old/alphalabs2/scientist_trigger_3.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_3 + } + anim lips_stayclose models/md5/heads/old/alphalabs2/scientist_trigger_4.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_4 + } + anim lips_electro models/md5/heads/old/alphalabs2/scientist_trigger_5.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_5 + } + anim lips_theresone models/md5/heads/old/alphalabs2/scientist_trigger_6.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_6 + } + anim lips_hangon models/md5/heads/old/alphalabs2/scientist_trigger_7.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_7 + } + anim lips_watchit models/md5/heads/old/alphalabs2/scientist_trigger_8.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_8 + } + anim lips_whatwasthat models/md5/heads/old/alphalabs2/scientist_trigger_9.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_9 + } + anim lips_theexit models/md5/heads/old/alphalabs2/scientist_trigger_11.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_11 + } + anim lips_canttalknow models/md5/heads/old/alphalabs2/scientist_secondary_1.md5anim { + frame 1 sound_voice alpha_labs2_scientist_secondary1 + } + anim lips_itisntfar models/md5/heads/old/alphalabs2/scientist_secondary_2.md5anim { + frame 1 sound_voice alpha_labs2_scientist_secondary2 + } + anim lips_hurry1 models/md5/heads/old/alphalabs2/scientist_secondary_3.md5anim { + frame 1 sound_voice alpha_labs2_scientist_hurry1 + } + anim lips_hurry2 models/md5/heads/old/alphalabs2/scientist_secondary_4.md5anim { + frame 1 sound_voice alpha_labs2_scientist_hurry2 + } + anim lips_ohgod models/md5/heads/old/alphalabs2/scientist_attacked_1.md5anim { + frame 1 sound_voice alpha_labs2_scientist_attacked1 + } + anim lips_killit models/md5/heads/old/alphalabs2/scientist_attacked_2.md5anim { + frame 1 sound_voice alpha_labs2_scientist_attacked2 + } + anim lips_wecantstop models/md5/heads/old/alphalabs2/scientist_primary_1.md5anim { + frame 1 sound_voice alpha_labs2_scientist_primary + } + anim lips_ohthankgod models/md5/heads/old/alphalabs2/scientist_saved_1.md5anim { + frame 1 sound_voice alpha_labs2_scientist_saved1 + } + anim lips_thatwasclose models/md5/heads/old/alphalabs2/scientist_saved_2.md5anim { + frame 1 sound_voice alpha_labs2_scientist_saved2 + } + anim killme models/md5/heads/old/alphalabs2/scientist_trigger_10.md5anim { + frame 1 sound_voice alpha_labs2_scientist_trigger_10 + frame 11 call map_mc_underground::sci_switch_head_to_stump + } +} + +export james { + options -prefix SUIT_ -keep Lknee Rknee Body2 headcontrol neckcontrol loneckcontrol lanternlight SPINNER -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent tabletpc Lhand1 -parent flashlight Rhand1 -parent pda Rhand1 -parent lantern Rhand1 -parent lanternlight lantern -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent shield Lloarm -parent pistol Rhand1 -parent shotgun Rhand1 -parent machinegun Rhand1 -parent wrench Rhand1 -parent cola Rhand1 -parent foamcup Rhand1 -parent dufflebag Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER + + addoptions -align ALL + + mesh models/characters/male_npc/cycles/idles/makemesh.mb -dest models/md5/characters/npcs/lanternskeleton -keepmesh skeletonmesh -keep Lball_r Ltoe_r Rball_r Rtoe_r Belly Lrib Rrib lantern Ruparm_orbit Luparm_orbit + + addoptions -keepmesh labcoatmesh + addoptions -keepmesh lanternmesh + addoptions -keepmesh lanternlampmesh + addoptions -keepmesh lanternflare1mesh + addoptions -keepmesh lanternflare2mesh + + mesh models/characters/male_npc/cycles/idles/makemesh.mb -dest models/md5/characters/npcs/lanternlabcoatbody + anim models/characters/male_npc/cycles/idles/af_pose.mb -dest models/md5/characters/npcs/lanternaf_pose + anim models/characters/male_npc/cycles/idles/lantern_stand.mb -dest models/md5/characters/npcs/lantern_stand + anim models/characters/male_npc/cycles/idles/lantern_cower_center.mb -dest models/md5/characters/npcs/lantern_cower_center + anim models/characters/male_npc/cycles/idles/lantern_cower_right.mb -dest models/md5/characters/npcs/lantern_cower_right + anim models/characters/male_npc/cycles/idles/lantern_cower_left.mb -dest models/md5/characters/npcs/lantern_cower_left + anim models/characters/male_npc/cycles/walks/lantern_walk.mb -dest models/md5/characters/npcs/lantern_walk + anim models/characters/male_npc/cycles/wounded/lantern_pain.mb -dest models/md5/characters/npcs/lantern_pain + anim models/characters/male_npc/cycles/idles/lantern_turn_right.mb -dest models/md5/characters/npcs/lantern_turn_right + anim models/characters/male_npc/cycles/idles/lantern_turn_left.mb -dest models/md5/characters/npcs/lantern_turn_left + anim models/characters/male_npc/cycles/idles/lantern_turn_right_rotation180.mb -dest models/md5/characters/npcs/lantern_turn_right_rotation180 + anim models/characters/male_npc/cycles/idles/lantern_turn_left_rotation180.mb -dest models/md5/characters/npcs/lantern_turn_left_rotation180 + anim models/characters/male_npc/cycles/working/look_in_hole_scratch_head.mb -dest models/md5/characters/npcs/lantern_look_in_hole_scratch_head + anim models/characters/male_npc/cycles/working/look_in_hole.mb -dest models/md5/characters/npcs/lantern_look_in_hole + anim maps/fred/alphalabs2/ed_death.mb -dest models/md5/characters/npcs/lantern_death +} + +model alphalabs2_scientist1 { + mesh models/md5/characters/npcs/lanternlabcoatbody.md5mesh + channel torso ( *Waist ) + channel legs ( *origin Body2 *Hips -*Waist ) + + anim af_pose models/md5/characters/npcs/lanternaf_pose.md5anim + anim ik_pose models/md5/characters/npcs/lanternaf_pose.md5anim + + anim stand models/md5/characters/npcs/lantern_stand.md5anim + anim cower models/md5/characters/npcs/lantern_cower_center.md5anim,models/md5/characters/npcs/lantern_cower_left.md5anim,models/md5/characters/npcs/lantern_cower_right.md5anim + anim working1 models/md5/characters/npcs/lantern_look_in_hole.md5anim { + ai_no_turn + } + anim working2 models/md5/characters/npcs/lantern_look_in_hole.md5anim { + ai_no_turn + } + anim walk models/md5/characters/npcs/lantern_walk.md5anim { + frame 3 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 32 sound_body snd_footstep + frame 46 sound_body snd_footstep + } + anim pain models/md5/characters/npcs/lantern_pain.md5anim + anim pain_head models/md5/characters/npcs/lantern_pain.md5anim + anim pain_chest models/md5/characters/npcs/lantern_pain.md5anim + anim pain_left_arm models/md5/characters/npcs/lantern_pain.md5anim + anim pain_right_arm models/md5/characters/npcs/lantern_pain.md5anim + anim turn_left models/md5/characters/npcs/lantern_turn_left.md5anim, models/md5/characters/npcs/lantern_turn_left_rotation180.md5anim { + anim_turn + } + + anim turn_right models/md5/characters/npcs/lantern_turn_right.md5anim, models/md5/characters/npcs/lantern_turn_right_rotation180.md5anim { + anim_turn + } + anim killme models/md5/characters/npcs/lantern_death.md5anim { + frame 18 event kill + } +} + +entityDef alphalabs2_scientist1 { + "inherit" "npc_base" + "model" "alphalabs2_scientist1" + "skin" "skins/characters/npcs/body_labcoat_lantern.skin" + "ragdoll" "char_lanternguy" + "scriptobject" "ai" + "nativeobject" "rvmAIAlphaLabs2Scientist1" + "size" "44 44 74" + "model_gib" "models/md5/characters/npcs/lanternskeleton.md5mesh" + + "turn_rate" "190" + "head_focus_rate" "0.05" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0.1 0.1 0" + "look_joint Shoulders" "0.2 0.2 0" + "look_joint headcontrol" "0.4 0.4 0" + + "copy_joint_world eyecontrol" "" + + "def_head" "alphalabs2_scientist1_head" + "head_joint" "Shoulders" + + "def_dropDeathItem" "moveable_item_lantern" + "dropDeathItemJoint" "lantern" + "dropDeathItemRotation" "0 0 0" + "skin_dropDeath" "skins/characters/npcs/body_labcoat_no_lantern.skin" + + "snd_death" "" + "snd_deathscene" "alpha_labs2_scientist_trigger_10" // Death screams, flesh ripping sounds + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_talk_trigger" "" +} + +model alphalabs2_marine_helmet_p90 { + inherit npc_marine_w_mgun + anim run1 models/md5/chars/mgrun.md5anim + anim run2 models/md5/chars/mgrun.md5anim + anim runstoplookback models/md5/chars/mgrunstoplookback.md5anim +} + +entityDef alphalabs2_marine_helmet_p90 { + "inherit" "npc_base" + "model" "alphalabs2_marine_helmet_p90" + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + "ik_numlegs" "0" + "no_cower" "1" + "copy_joint_world eyecontrol" "" + "model_gib" "" + + "def_dropDeathItem" "moveable_item_machinegun" + "dropDeathItemJoint" "machinegun" + "skin_dropDeath" "skins/characters/npcs/marine_helmet.skin" +} \ No newline at end of file diff --git a/base/def/map_alphalabs3.def b/base/def/map_alphalabs3.def new file mode 100644 index 00000000..d8799d03 --- /dev/null +++ b/base/def/map_alphalabs3.def @@ -0,0 +1,4 @@ + +// ENTITIES MOVED TO ALPHALABS4 + + diff --git a/base/def/map_alphalabs4.def b/base/def/map_alphalabs4.def new file mode 100644 index 00000000..a7f4d07f --- /dev/null +++ b/base/def/map_alphalabs4.def @@ -0,0 +1,320 @@ +/*********************************************************************** + +FRAGCHAMBER_SCIENTIST + +***********************************************************************/ + +model alphalabs3_fragchamber_scientist_head { + inherit head_old + anim panic models/md5/characters/npcs/heads/alphalabs4/frag_scientist_trigger5.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim relief models/md5/characters/npcs/heads/alphalabs4/frag_scientist_trigger4.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim greeting models/md5/characters/npcs/heads/alphalabs4/frag_scientist_trigger.md5anim { + frame 1 sound_voice snd_talk_trigger + frame 100 sound_voice snd_talk_trigger2 + } + anim thanks models/md5/characters/npcs/heads/alphalabs4/frag_scientist_trigger13.md5anim { + frame 1 sound_voice snd_talk_thanks + } +} + +model alphalabs3_fragchamber_scientist { + inherit npc_labcoat + anim stand models/md5/chars/stand.md5anim + anim greeting models/md5/chars/alphalabs4/hey_you.md5anim + anim panic models/md5/chars/alphalabs4/freaked_out.md5anim + anim relief models/md5/chars/alphalabs4/talk_secondary2.md5anim + anim thanks models/md5/chars/alphalabs4/walk_thankyou.md5anim { + frame 3 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 32 sound_body snd_footstep + frame 46 sound_body snd_footstep + } + +} + +entityDef alphalabs3_fragchamber_scientist { + "inherit" "npc_base" + "model" "alphalabs3_fragchamber_scientist" + + "no_cower" "1" + "ignore_obstacles" "1" + "def_head" "alphalabs3_fragchamber_scientist_head" + "head_joint" "Shoulders" + + "ik_numLegs" "2" + "ik_footSize" "0" + + //"look_joint headrot" "0 0 0" + "talktime" "0" + + "look_joint Waist" "0 0 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".3 .3 0" + "look_joint headcontrol" ".5 .5 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "cinematic" "1" + + "copy_joint_world eyecontrol" "" + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "snd_talk_trigger" "frag_scientist_trigger" // "Can someone help me?" + "snd_talk_trigger2" "frag_scientist_trigger2" // "Release the door locks" + "snd_talk_primary" "frag_scientist_trigger5" // "Hey! What are you doing! Are you trying to kill me?" + "snd_talk_secondary" "frag_scientist_trigger4" // "Oh that was close" + "snd_talk_thanks" "frag_scientist_trigger13" // "Thank you!" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" +} + +model alphalabs3_fragchamber_skeleton { + inherit npc_skeleton + mesh models/md5/chars/skeleton.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim die_start models/md5/chars/alphalabs4/die_start.md5anim + anim die models/md5/chars/alphalabs4/die.md5anim + anim die_end models/md5/chars/alphalabs4/die_end.md5anim + +} + +entityDef alphalabs3_fragchamber_skeleton { + "inherit" "npc_base" + "model" "alphalabs3_fragchamber_skeleton" + "sound_bone" "Chest" + "cinematic" "1" + + "def_head" "head_skull" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" +} + + +model alphalabs3_fragchamber_scientist2_head { + inherit head_old + anim talk_primary models/md5/characters/npcs/heads/alphalabs4/frag_scientist_primary.md5anim { + frame 1 sound_voice snd_talk_primary + } + + anim talk_secondary1 models/md5/characters/npcs/heads/alphalabs4/frag_scientist_secondary.md5anim { + frame 1 sound_voice snd_talk_secondary + } + + anim talk_secondary2 models/md5/characters/npcs/heads/alphalabs4/frag_scientist_secondary2.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } + + anim trigger13 models/md5/characters/npcs/heads/alphalabs4/frag_scientist_trigger13.md5anim { + frame 1 sound_voice frag_scientist_trigger13 + } + + anim talk_line1 models/md5/characters/npcs/heads/alphalabs4/frag_scientist_trigger10.md5anim { + frame 1 sound_voice snd_line1 + } + + anim talk_line2 models/md5/characters/npcs/heads/alphalabs4/frag_scientist_trigger11.md5anim { + frame 1 sound_voice snd_line2 + } + + anim talk_line3 models/md5/characters/npcs/heads/alphalabs4/frag_scientist_trigger12.md5anim { + frame 1 sound_voice snd_line3 + } +} + +model alphalabs3_fragchamber_scientist2 { + inherit npc_labcoat + anim pda_idle_look models/md5/chars/PDA_idle.md5anim + anim stand models/md5/chars/PDA_idle.md5anim + anim idle models/md5/chars/PDA_talk.md5anim + anim talk_trigger models/md5/chars/PDA_talk.md5anim + anim talk_primary models/md5/chars/PDA_talk.md5anim + anim talk_secondary1 models/md5/chars/PDA_talk.md5anim + anim talk_secondary2 models/md5/chars/PDA_talk.md5anim + anim talk_line1 models/md5/chars/PDA_talk.md5anim + anim talk_line2 models/md5/chars/PDA_talk.md5anim + anim talk_line3 models/md5/chars/PDA_talk.md5anim +} + +entityDef alphalabs3_fragchamber_scientist2 { + "inherit" "npc_base" + "skin" "skins/characters/npcs/alphalabs3_fragchamber_scientist2.skin" + "model" "alphalabs3_fragchamber_scientist2" + "def_head" "alphalabs3_fragchamber_scientist2_head" + "head_joint" "Shoulders" + + "talk_no_turn" "1" + "talktime" "0" + + "copy_joint_world eyecontrol" "" + + "neverDormant" "1" // FIXME: character is intersecting door in map and goes dormant. this should be removed after we fix that. + + "ik_numLegs" "2" + "ik_footSize" "0" + + "def_attach" "pda_alphalabs3_fragchamber_scientist2" + "def_dropDeathItem" "pda_alphalabs3_fragchamber_scientist2" + "dropDeathItemJoint" "pda" + "dropDeathItemRotation" "0 0 0" + + "cinematic" "1" + + "look_joint Waist" "0 0 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".3 .3 0" + "look_joint headcontrol" ".5 .5 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "snd_line1" "frag_scientist_trigger10" + "snd_line2" "frag_scientist_trigger11" + "snd_line3" "frag_scientist_trigger12" + "snd_talk_trigger" "frag_scientist_trigger" + "snd_talk_primary" "frag_scientist_primary" + "snd_talk_secondary" "frag_scientist_secondary" + "snd_talk_secondary2" "frag_scientist_secondary2" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" +} + + +// CINEMATICS + +export fred { + camera maps/fred/alphalabs3/playershot1.mb -dest models/md5/cinematics/alphalabs3/vagaryintro_cam1 + camera maps/fred/alphalabs3/vagaryintro2.mb -dest models/md5/cinematics/alphalabs3/vagaryintro_cam2 + +} + +model alphalabs3_vagaryintro_vagary { + mesh models/md5/monsters/vagary/vagary.md5mesh + anim vagaryintro1 models/md5/cinematics/alphalabs3/vagintro_vagary1.md5anim + anim vagaryintro2 models/md5/cinematics/alphalabs3/vagintro_vagary2.md5anim { + frame 21 sound_body monster_demon_vagary_step + frame 25 sound_body monster_demon_vagary_step + frame 26 sound_voice monster_demon_vagary_sigh + frame 31 sound_body monster_demon_vagary_step + frame 38 sound_body monster_demon_vagary_step + frame 44 sound_body monster_demon_vagary_step + frame 50 sound_body monster_demon_vagary_step + frame 55 sound_body monster_demon_vagary_step + frame 77 sound_body monster_demon_vagary_step + frame 80 sound_body monster_demon_vagary_step + frame 84 sound_body monster_demon_vagary_step + frame 90 sound_body monster_demon_vagary_step + frame 102 sound_body monster_demon_vagary_step + frame 124 sound_body monster_demon_vagary_step + frame 134 sound_body monster_demon_vagary_step + frame 137 sound_body monster_demon_vagary_step + frame 145 sound_body monster_demon_vagary_step + frame 151 sound_body monster_demon_vagary_step + frame 159 sound_body monster_demon_vagary_step + frame 166 sound_voice monster_demon_vagary_groan + frame 166 sound_body monster_demon_vagary_step + frame 175 sound_body monster_demon_vagary_step + frame 180 sound_body monster_demon_vagary_step + frame 184 sound_body monster_demon_vagary_step + frame 190 sound_body monster_demon_vagary_step + frame 195 sound_body monster_demon_vagary_step + frame 200 sound_body monster_demon_vagary_step + frame 205 sound_body monster_demon_vagary_step + frame 225 sound_body monster_demon_vagary_step + frame 230 sound_body monster_demon_vagary_step + frame 235 sound_voice monster_demon_vagary_sigh2 + frame 236 sound_body monster_demon_vagary_step + frame 243 sound_body monster_demon_vagary_step + frame 250 sound_body monster_demon_vagary_step + frame 259 sound_body monster_demon_vagary_step + frame 262 sound_body monster_demon_vagary_step + frame 270 sound_body monster_demon_vagary_step + frame 281 sound_body monster_demon_vagary_step + frame 292 sound_body monster_demon_vagary_step + frame 295 sound_voice monster_boss_vagary_chatter_combat + frame 298 sound_body monster_demon_vagary_step + frame 311 sound_body monster_demon_vagary_step + frame 320 sound_body monster_demon_vagary_step + frame 369 sound_body monster_demon_vagary_step + frame 380 sound_body monster_demon_vagary_step + frame 385 sound_body monster_demon_vagary_step + frame 390 sound_body monster_demon_vagary_step + frame 395 sound_body monster_demon_vagary_step + frame 400 sound_body monster_demon_vagary_step + frame 404 sound_body monster_demon_vagary_step + frame 410 sound_body monster_demon_vagary_step + frame 415 sound_body monster_demon_vagary_step + frame 418 sound_body monster_demon_vagary_step + + frame 342 sound_voice monster_boss_vagary_sight + } + + anim retreat models/md5/cinematics/alphalabs3/vagintro_retreat.md5anim +} + +entityDef alphalabs3_vagaryintro_vagary { + "inherit" "cin_base" + "anim" "vagaryintro" + "model" "alphalabs3_vagaryintro_vagary" + "sound_bone" "Chest" + "cinematic" "1" +} + +model alphalabs3_vagaryintro_player { + mesh models/md5/characters/player/mocap/wepplayer.md5mesh + skin skins/player/shotgun.skin + + anim vagaryintro1 models/md5/cinematics/alphalabs3/vagintro_player1.md5anim { + frame 1 sound_global alpha4_vagary_intro_music + frame 4 sound_body player_sounds_footstep + frame 17 sound_body player_sounds_footstep + frame 31 sound_body player_sounds_footstep + frame 46 sound_body player_sounds_footstep + frame 59 sound_body player_sounds_footstep + frame 74 sound_body player_sounds_footstep + frame 87 sound_body player_sounds_footstep + frame 103 sound_body player_sounds_footstep + frame 116 sound_body player_sounds_footstep + } + anim vagaryintro2 models/md5/cinematics/alphalabs3/vagintro_player2.md5anim + +} + +entityDef alphalabs3_vagaryintro_player { + "inherit" "cin_base" + "anim" "vagaryintro" + "model" "alphalabs3_vagaryintro_player" + "sound_bone" "Chest" + "cinematic" "1" +} + +entityDef alphalabs3_vagaryintro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim vagaryintro1" "models/md5/cinematics/alphalabs3/vagaryintro_cam1.md5camera" + "anim vagaryintro2" "models/md5/cinematics/alphalabs3/vagaryintro_cam2.md5camera" + +} \ No newline at end of file diff --git a/base/def/map_caverns2.def b/base/def/map_caverns2.def new file mode 100644 index 00000000..c62aa2a5 --- /dev/null +++ b/base/def/map_caverns2.def @@ -0,0 +1,533 @@ + +export fred { + + options -prefix FRONT_ + + addoptions -skipmesh fast + mesh maps/fred/caverns2/bridge2.mb -dest models/md5/cinematics/caverns2/bridge_front + anim maps/fred/caverns2/bridge2.mb -range 315 490 -dest models/md5/cinematics/caverns2/bridge_front + anim maps/fred/caverns2/bridge2.mb -range 1 1 -dest models/md5/cinematics/caverns2/bridge_front_idle + + options -prefix BRIDGE_ -keep corner4 + addoptions -skipmesh fast + + mesh maps/fred/caverns2/bridge2.mb -dest models/md5/cinematics/caverns2/bridge + anim maps/fred/caverns2/bridge2.mb -range 315 490 -dest models/md5/cinematics/caverns2/bridge + anim maps/fred/caverns2/bridge2.mb -range 1 1 -dest models/md5/cinematics/caverns2/bridge_idle + + options -prefix BACK_ + addoptions -skipmesh fast + + mesh maps/fred/caverns2/bridge2.mb -dest models/md5/cinematics/caverns2/bridge_back + anim maps/fred/caverns2/bridge2.mb -range 315 490 -dest models/md5/cinematics/caverns2/bridge_back + anim maps/fred/caverns2/bridge2.mb -range 1 1 -dest models/md5/cinematics/caverns2/bridge_back_idle + + options -prefix CRN_ + + mesh maps/fred/caverns2/bridge2.mb -dest models/md5/cinematics/caverns2/bridge_crane + anim maps/fred/caverns2/bridge2.mb -range 315 490 -dest models/md5/cinematics/caverns2/bridge_crane + anim maps/fred/caverns2/bridge2.mb -range 1 1 -dest models/md5/cinematics/caverns2/bridge_crane_idle + + options -prefix ENV_ + + mesh maps/fred/caverns2/vags2.mb -dest models/md5/cinematics/caverns2/vag_rocks + anim maps/fred/caverns2/vags2.mb -dest models/md5/cinematics/caverns2/vag_rocks + +} + +export james { + +options -prefix BB_ + + mesh maps/james/caverns2/bb.mb -range 100 100 -dest models/md5/cinematics/caverns2/boulder_bridge + anim maps/james/caverns2/bb.mb -dest models/md5/cinematics/caverns2/boulder_bridge + anim maps/james/caverns2/bb.mb -range 1 1 -dest models/md5/cinematics/caverns2/boulder_bridge_start + +} + + +model caverns_boulderbridge { + mesh models/md5/cinematics/caverns2/boulder_bridge.md5mesh + anim start models/md5/cinematics/caverns2/boulder_bridge_start.md5anim + anim boulder models/md5/cinematics/caverns2/boulder_bridge.md5anim { + frame 15 sound_body snd_boulderthud + frame 30 sound_body snd_boulderthud + frame 43 sound_body snd_boulderthud + frame 59 sound_body snd_boulderthud + frame 63 sound_body snd_boulderthud + frame 75 sound_body snd_boulderthud + } +} + +entityDef caverns_boulderbridge { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "sound_bone" "front_3" + + + "spawnclass" "idAnimated" + + "anim" "boulder" + "model" "caverns_boulderbridge" + "snd_boulderthud" "caverns2_boulder" +} + +model caverns_vagrocks { + mesh models/md5/cinematics/caverns2/vag_rocks.md5mesh + anim rocks models/md5/cinematics/caverns2/vag_rocks.md5anim +} + +entityDef caverns_vagrocks { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + "anim" "rocks" + "model" "caverns_vagrocks" +} + +model caverns_bridgecrane { + mesh models/md5/cinematics/caverns2/bridge_crane.md5mesh + anim bridge models/md5/cinematics/caverns2/bridge_crane.md5anim + anim bridgeidle models/md5/cinematics/caverns2/bridge_crane_idle.md5anim +} + +entityDef caverns_bridgecrane { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "bridge" + "model" "caverns_bridgecrane" +} + +model caverns_bridgefront { + mesh models/md5/cinematics/caverns2/bridge_front.md5mesh + anim bridge models/md5/cinematics/caverns2/bridge_front.md5anim + anim bridgeidle models/md5/cinematics/caverns2/bridge_front_idle.md5anim +} + +entityDef caverns_bridgefront { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "bridge" + "model" "caverns_bridgefront" +} + +model caverns_bridge { + mesh models/md5/cinematics/caverns2/bridge.md5mesh + anim bridge models/md5/cinematics/caverns2/bridge.md5anim + anim bridgeidle models/md5/cinematics/caverns2/bridge_idle.md5anim +} + +entityDef caverns_bridge { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "bridge" + "model" "caverns_bridge" +} + +model caverns_bridgeback { + mesh models/md5/cinematics/caverns2/bridge_back.md5mesh + anim bridge models/md5/cinematics/caverns2/bridge_back.md5anim + anim bridgeidle models/md5/cinematics/caverns2/bridge_back_idle.md5anim +} + +entityDef caverns_bridgeback { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "bridge" + "model" "caverns_bridgeback" +} + +model caverns_pinky { + mesh models/md5/monsters/vagary/vagary.md5mesh + anim af_pose models/md5/monsters/vagary/af_pose.md5anim + anim bridge models/md5/cinematics/caverns2/bridge_pinky.md5anim { + frame 1 sound_voice snd_sight + frame 4 sound_weapon snd_step + frame 8 sound_weapon snd_step + frame 17 sound_weapon snd_step + frame 22 sound_weapon snd_step + frame 30 sound_body snd_pain + frame 58 sound_weapon snd_step + frame 66 sound_weapon snd_step + frame 71 sound_weapon snd_step + frame 82 sound_weapon snd_step + frame 84 sound_weapon snd_step + frame 95 sound_body snd_death + frame 100 event startRagdoll + } +} + +entityDef caverns_pinky { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "sound_bone" "Chest" + + "spawnclass" "idAnimated" + + "ragdoll" "monster_demon_vagary" + "model" "caverns_pinky" + "anim" "bridge" + + "velocityTime" "200" + + "snd_sight" "monster_demon_vagary_sight" + "snd_pain" "monster_demon_vagary_pain" + "snd_death" "monster_demon_vagary_die" + "snd_step" "monster_demon_vagary_step" +} + +model caverns_hellknight { + mesh models/md5/monsters/hellknight/hellknight.md5mesh + + anim af_pose models/md5/monsters/hellknight/initial.md5anim + + anim bridge models/md5/cinematics/caverns2/bridge_hellknight.md5anim { + frame 1 sound_voice snd_sight + frame 15 sound_voice snd_attackmissile + frame 21 call hk_fireball + frame 73 sound_voice snd_pain + frame 88 sound_voice snd_footstep + frame 89 sound_body snd_thud + frame 103 sound_voice snd_die + frame 105 event startRagdoll + } +} + +entityDef caverns_hellknight { + "spawnclass" "idAnimated" + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "sound_bone" "Chest" + + "ragdoll" "monster_demon_hellknight" + "model" "caverns_hellknight" + "anim" "bridge" + + "velocityTime" "200" + + //For Ed.. The 1st sound below.. snd_thud can be the breaking bridge sounds.. with shaking screen... currently just set as his pain. + + "snd_thud" "cavcin_hk_bridgebreak" + "snd_sight" "cavcin_hk_sight" + "snd_chatter" "monster_demon_hellknight_chatter" + "snd_chatter_combat" "monster_demon_hellknight_chatter" + "snd_pain" "cavcin_hk_pain" + "snd_attackmissile" "monster_demon_hellknight_attackmissile" + "snd_die" "cavcin_hk_die" + "snd_footstep" "monster_demon_hellknight_footstep" + "snd_melee1" "monster_zombie_commando_melee_miss" + "snd_melee2" "monster_demon_cacodemon_melee" +} + +model caverns_vagary1 { + inherit monster_boss_vagary + + anim vag models/md5/cinematics/caverns2/vag1.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableGravity + frame 1 disableWalkIK + frame 60 sound_body snd_step + frame 65 sound_voice cavcin_vag_noise2 + frame 66 sound_body snd_step + frame 70 sound_body snd_step + frame 73 sound_body snd_step + frame 77 sound_body snd_step + frame 84 sound_body snd_step + frame 87 sound_body snd_step + frame 90 sound_body snd_step + frame 93 sound_body snd_step + frame 95 sound_body snd_step + frame 98 sound_body snd_step + frame 100 sound_body snd_step + frame 102 sound_body snd_step + frame 105 sound_body snd_step + frame 106 sound_body snd_step + frame 110 sound_voice2 cavcin_vag_noise1 + frame 112 sound_body snd_step + frame 117 sound_body snd_step + frame 121 sound_body snd_step + frame 123 sound_body snd_step + frame 128 sound_body snd_step + frame 132 sound_body snd_step + frame 134 sound_body snd_step + frame 101 trigger vag_force_5 + frame 135 enableGravity + frame 135 enableWalkIK + } +} + +entityDef caverns_vagary1 { + "inherit" "monster_boss_vagary" + "model" "caverns_vagary1" + "anim" "vag" +} + +model caverns_vagary2 { + inherit monster_boss_vagary + + anim vag models/md5/cinematics/caverns2/vag2.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableGravity + frame 1 disableWalkIK + frame 122 sound_body snd_step + frame 125 sound_voice cavcin_vag_noise2 + frame 126 sound_body snd_step + frame 129 sound_body snd_step + frame 133 sound_body snd_step + frame 140 sound_body snd_step + frame 143 sound_body snd_step + frame 146 sound_body snd_step + frame 152 sound_body snd_step + frame 165 sound_body snd_step + frame 166 sound_body snd_step + frame 167 sound_body snd_step + frame 176 sound_body snd_step + frame 180 sound_body snd_step + frame 182 sound_body snd_step + frame 185 sound_body snd_step + frame 187 sound_body snd_step + frame 203 sound_voice2 cavcin_vag_noise1 + frame 215 sound_body snd_step + frame 216 sound_body snd_step + frame 217 sound_body snd_step + frame 220 enableGravity + frame 220 enableWalkIK + } +} + +entityDef caverns_vagary2 { + "inherit" "monster_boss_vagary" + "model" "caverns_vagary2" + "anim" "vag" +} + +model caverns_imp1 { + inherit monster_demon_imp + + anim railing models/md5/cinematics/caverns2/imp1railing.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 6 sound_body snd_footstep + frame 14 sound_voice snd_sight + frame 17 sound_body snd_footstep + frame 27 sound_body snd_footstep + frame 32 sound_body snd_footstep + frame 37 sound_body snd_footstep + frame 55 sound_body snd_footstep + frame 56 sound_body snd_footstep + frame 60 enableGravity + frame 60 enableWalkIK + } +} + +entityDef caverns_imp1 { + "inherit" "monster_demon_imp" + "model" "caverns_imp1" + "anim" "railing" +} + +model caverns_imp2 { + inherit monster_demon_imp + anim railing models/md5/cinematics/caverns2/imp2railing.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 4 sound_body snd_footstep + frame 6 sound_body snd_footstep + frame 7 sound_body snd_footstep + frame 11 sound_body snd_footstep + frame 12 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 25 sound_body snd_footstep + frame 27 sound_body snd_footstep + frame 30 sound_body snd_footstep + frame 31 sound_body snd_footstep + frame 33 sound_body snd_footstep + frame 35 sound_body snd_footstep + frame 39 sound_body snd_footstep + frame 44 sound_voice snd_sight8 + frame 53 sound_body snd_footstep + frame 56 sound_body snd_footstep + frame 82 sound_body snd_footstep + frame 85 sound_body snd_footstep + frame 90 enableGravity + frame 90 enableWalkIK + } +} + +entityDef caverns_imp2 { + "inherit" "monster_demon_imp" + "model" "caverns_imp2" + "anim" "railing" +} + +model caverns_char_maint_scared_head { + + inherit head_asian_young + + anim talk_trigger models/md5/heads/asian_young/caverns2/maint1_trig.md5anim { + frame 1 sound_voice caverns2_maint1_trig + } + anim talk_primary models/md5/heads/asian_young/caverns2/maint1_1.md5anim { + frame 1 sound_voice caverns2_maint1_primary + } + anim talk_secondary1 models/md5/heads/asian_young/caverns2/maint1_2.md5anim { + frame 1 sound_voice caverns2_maint1_secondary1 + } + anim talk_secondary2 models/md5/heads/asian_young/caverns2/maint1_3.md5anim { + frame 1 sound_voice caverns2_maint1_secondary2 + } +} + +model caverns_char_maint_scared { + mesh models/md5/chars/jumpsuit.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim af_pose models/md5/chars/af_pose.md5anim + anim stand models/md5/chars/caverns/cav2_IDLE.md5anim + anim idle models/md5/chars/caverns/cav2_IDLE.md5anim + anim talk_trigger models/md5/chars/caverns/cav2_trigger.md5anim + anim talk_primary models/md5/chars/caverns/cav2_primary.md5anim + anim talk_secondary1 models/md5/chars/caverns/cav2_secondary1.md5anim + anim talk_secondary2 models/md5/chars/caverns/cav2_secondary2.md5anim +} + +entityDef caverns_char_maint_scared { + "inherit" "npc_base" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "def_head" "caverns_char_maint_scared_head" + "model" "caverns_char_maint_scared" + "anim" "idle" + "size" "64 20 32" + "use_aas" "" + "turn_rate" "0" + "talk_no_turn" "1" + "no_cower" "1" + "talktrigger" "1" + "ragdoll" "char_npc_misc.af" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" + "ik_numlegs" "0" + + "talktime" "0" + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" ".5 .5 0" + "look_joint neckcontrol" ".5 .5 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "look_min" "-40 -120 0" + "look_max" "40 20 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*loneckcontrol" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "origin Body2" +} + +// HK WALL + + +export fred { + options -prefix ENV_ + mesh maps/fred/caverns2/hkwall.mb -range 90 90 -dest models/md5/cinematics/caverns2/hkwallmesh + anim maps/fred/caverns2/hkwall.mb -dest models/md5/cinematics/caverns2/hkwallmesh +} + + + +model caverns_hellknight2 { + inherit monster_demon_hellknight + + anim wall models/md5/cinematics/caverns2/breakwall.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 12 sound_body snd_footstep + frame 13 sound_voice snd_sight1 + frame 22 sound_body snd_footstep + frame 35 sound_body snd_footstep + frame 55 sound_body snd_footstep + frame 72 sound_body snd_footstep + frame 82 sound_voice snd_sight2 + frame 94 sound_body snd_footstep + frame 94 enableGravity + frame 94 enableWalkIK + frame 95 sound_body snd_footstep + frame 95 trigger hkhurtme + frame 95 trigger hkwallforce + frame 96 trigger hkhurtme + frame 98 sound_body snd_footstep + } +} + +entityDef caverns_hellknight2 { + "inherit" "monster_demon_hellknight" + "model" "caverns_hellknight2" + "anim" "wall" +} + +model caverns_hkwall { + mesh models/md5/cinematics/caverns2/hkwallmesh.md5mesh + anim wall models/md5/cinematics/caverns2/hkwallmesh.md5anim +} + +entityDef caverns_hkwall { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + "anim" "wall" + "model" "caverns_hkwall" +} \ No newline at end of file diff --git a/base/def/map_comm1.def b/base/def/map_comm1.def new file mode 100644 index 00000000..ca1d0ac6 --- /dev/null +++ b/base/def/map_comm1.def @@ -0,0 +1,154 @@ + + +export fred { + camera maps/fred/comm1/swann_video1.mb -dest models/md5/cinematics/comm1/swann_video_a_cam + camera maps/kevinc/comm1/swann_video2.mb -dest models/md5/cinematics/comm1/swann_video_b_cam + camera maps/kevinc/comm1/swann_video3.mb -dest models/md5/cinematics/comm1/swann_video_c_cam +} + + +entityDef comm1_swann_video_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim video_a" "models/md5/cinematics/comm1/swann_video_a_cam.md5camera" + "anim video_b" "models/md5/cinematics/comm1/swann_video_b_cam.md5camera" + "anim video_c" "models/md5/cinematics/comm1/swann_video_c_cam.md5camera" +} + +export fred { + options -prefix ENV_ -scale .7 + + mesh models/monsters/sentry/animation/cycles/wall_release_blank.ma -range 150 150 -dest models/md5/cinematics/comm1/sentry_loader + anim models/monsters/sentry/animation/cycles/wall_release_blank.ma -dest models/md5/cinematics/comm1/sentry_loader +} + + +model comm1_sentryloader { + mesh models/md5/cinematics/comm1/sentry_loader.md5mesh + anim load models/md5/cinematics/comm1/sentry_loader.md5anim { + frame 1 sound_voice2 c1_sentry_loader_out + frame 108 sound_voice2 c1_sentry_loader_in + } +} + +entityDef comm1_sentryloader { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "sound_bone" "joint2" + + + "spawnclass" "idAnimated" + + "anim" "load" + "model" "comm1_sentryloader" +} + +model comm1_sentry_blank { + mesh models/md5/monsters/sentry/sentry.md5mesh + skin skins/models/monsters/sentrynobeam.skin + anim load models/md5/monsters/sentry/wall_release_dummy.md5anim +} + +entityDef comm1_sentry_blank { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "sound_bone" "Head" + + "spawnclass" "idAnimated" + + "anim" "load" + "model" "comm1_sentry_blank" +} + +model comm1_sentry { + inherit char_sentry + anim releaseidle models/md5/monsters/sentry/wall_release_idle.md5anim + anim load models/md5/monsters/sentry/wall_release.md5anim { + ai_no_turn + frame 1 event ignoreDamage + frame 1 disableGravity + frame 1 disableWalkIK + frame 100 enableGravity + frame 100 enableWalkIK + frame 120 event allowDamage + } +} + +entityDef comm1_sentry { + "inherit" "char_sentry" + "model" "comm1_sentry" + "anim" "load" + "hanging" "2" + "burnaway" "10" +} + +model comm1_video_swannhead { + inherit head_swann + anim video_a models/md5/heads/swann/comm1/swannhead_video1.md5anim + anim video_b models/md5/heads/swann/comm1/swannhead_video2.md5anim + anim video_c models/md5/heads/swann/comm1/swannhead_video3.md5anim + +} + +model comm1_video_swann { + mesh models/md5/chars/suit.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol) + + anim idle models/md5/chars/stand.md5anim + anim stand models/md5/chars/stand.md5anim + anim video_a models/md5/chars/swann/comm1/swann_vid1.md5anim { + //frame 1 aviGame swannvid1 + frame 1 event disableEyeFocus + //frame 12 sound_voice comm1_swann_video1 + frame 1 sound_voice comm1_swann_video1 + //frame 345 aviGame + } + anim video_b models/md5/chars/swann/comm1/swann_vid2.md5anim { + //frame 1 aviGame swannvid2 + frame 1 event disableEyeFocus + frame 8 sound_voice comm1_swann_video2 + //frame 345 aviGame + } + anim video_c models/md5/chars/swann/comm1/swann_vid3.md5anim { + //frame 1 aviGame swannvid3 + frame 1 event disableEyeFocus + frame 6 sound_voice comm1_swann_video3 + //frame 345 aviGame + } + + +} + + +entityDef comm1_video_swann { + "inherit" "character_default" + "size" "1 1 1" + "model" "comm1_video_swann" + "anim" "video" + "sound_bone" "Chest" + "def_head" "comm1_video_swannhead" + "head_joint" "Shoulders" + "eye_verticle_offset" "10" + "eye_horizontal_offset" "5" + +// "bone_focus" "headcontrol" +// "bone_orientation" "Body" +// "bone_leftEye" "Leyeaim" +// "bone_rightEye" "Reyeaim" + + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + "copy_joint_world eyecontrol" "eyecontrol" +} diff --git a/base/def/map_commoutside.def b/base/def/map_commoutside.def new file mode 100644 index 00000000..b4986b38 --- /dev/null +++ b/base/def/map_commoutside.def @@ -0,0 +1,202 @@ + +export fred { + camera maps/eric/commoutside/zombiecam_09.mb -dest models/md5/cinematics/commoutside/zombie_with_camera + camera maps/fred/commoutside/shot1.mb -dest models/md5/cinematics/commoutside/sawintro_cam1 + camera maps/fred/commoutside/shot2.mb -dest models/md5/cinematics/commoutside/sawintro_cam2 + camera maps/fred/commoutside/shot3.mb -dest models/md5/cinematics/commoutside/sawintro_cam3 + camera maps/fred/commoutside/shot4.mb -dest models/md5/cinematics/commoutside/sawintro_cam4 + + options -prefix ROV_ + + mesh maps/fred/commoutside/sighting1.mb -range 1 1 -dest models/md5/cinematics/commoutside/rover + anim maps/fred/commoutside/sighting1.mb -range 38 90 -dest models/md5/cinematics/commoutside/roversighting1 + anim maps/fred/commoutside/sighting1.mb -range 100 170 -dest models/md5/cinematics/commoutside/roversighting2 + anim maps/fred/commoutside/sighting1.mb -range 173 245 -dest models/md5/cinematics/commoutside/roversighting3 +} + +model commoutside_player { + mesh models/md5/characters/player/mocap/player.md5mesh + skin skins/player/weapons.skin + anim teleport models/md5/cinematics/delta2a/teleporterplayer.md5anim + anim sawshot1 models/md5/cinematics/commoutside/sawintro_player1.md5anim + anim sawshot2 models/md5/cinematics/commoutside/sawintro_player2.md5anim + anim sawshot4 models/md5/cinematics/commoutside/sawintro_player4.md5anim + +} + +entityDef commoutside_player { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "sawshot1" + "model" "commoutside_player" +} + +model commoutside_cin_sawyer { + mesh models/md5/monsters/zombies/sawyer/sawyer.md5mesh + anim sawshot2 models/md5/cinematics/commoutside/sawintro_sawyer2.md5anim + anim sawshot3 models/md5/cinematics/commoutside/sawintro_sawyer3.md5anim + anim sawshot4 models/md5/cinematics/commoutside/sawintro_sawyer4.md5anim + +} + +entityDef commoutside_cin_sawyer { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "sawshot2" + "model" "commoutside_cin_sawyer" +} + + +entityDef commoutside_sawintro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim sawshot1" "models/md5/cinematics/commoutside/sawintro_cam1.md5camera" + "anim sawshot2" "models/md5/cinematics/commoutside/sawintro_cam2.md5camera" + "anim sawshot3" "models/md5/cinematics/commoutside/sawintro_cam3.md5camera" + "anim sawshot4" "models/md5/cinematics/commoutside/sawintro_cam4.md5camera" +} + + +model commoutside_vehicle { + mesh models/md5/cinematics/commoutside/rover.md5mesh + anim sighting1 models/md5/cinematics/commoutside/roversighting1.md5anim { + frame 1 trigger func_door_1688 + frame 38 trigger func_door_1688 + } + + anim sighting2 models/md5/cinematics/commoutside/roversighting2.md5anim { + frame 1 trigger cov_door2 + frame 1 trigger cov_door2_gui + frame 65 trigger cov_door2 + frame 65 trigger cov_door2_gui + } + anim sighting3 models/md5/cinematics/commoutside/roversighting3.md5anim { + frame 1 trigger commoutside_vehicle_3_door + frame 60 trigger commoutside_vehicle_3_door + } +} + +entityDef commoutside_vehicle { + "inherit" "cin_base" + "anim" "sighting1" + "model" "commoutside_vehicle" +} + +entityDef commoutside_camzombie_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim camzombie" "models/md5/cinematics/commoutside/zombie_with_camera.md5camera" +} + +entityDef commoutside_camzombie_zomb { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "size" "0 0 0" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "30" + "melee_range" "32" + "turn_rate" "360" + + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "ragdoll" "monster_zombie_misc.af" + + "model" "model_monster_zombie_camzombie" + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Rshldr -*Lshldr -*Neck" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips" + + "damage_scale head" "1.25" + + "def_head" "head_zombie3" + "head_joint" "Shoulders" +} + +model commoutside_fatty { + mesh models/md5/monsters/zfat/zfat.md5mesh + anim office3 models/md5/cinematics/delta2a/zoffice3.md5anim + } + +entityDef commoutside_fatty { + "inherit" "cin_base" + "model" "commoutside_fatty" + "anim" "office3" +} + +model commoutside_swann { + inherit char_swann + anim idle models/md5/chars/stand.md5anim { + frame 1 event disableEyeFocus + } + anim stand models/md5/chars/stand.md5anim { + frame 1 event disableEyeFocus + } +} + + +entityDef commoutside_swann { + "inherit" "char_swann" + "model" "commoutside_swann" + "health" "800" + "mass" "1000" +} + +model commoutside_campbell { + inherit char_campbell_bfg + + anim bfgfire models/md5/chars/campbell/bfg_fire.md5anim { + frame 1 event ignoreDamage + frame 2 trigger comm1_dimlights + frame 28 trigger bfglight + frame 29 trigger bfglight + frame 30 launch_missile BFG + frame 31 trigger bfglight + frame 33 trigger bfglight + frame 35 trigger bfglight + frame 36 trigger bfglight + } +} + +entityDef commoutside_campbell { + "inherit" "char_campbell_bfg" + "health" "800" + "mass" "1000" + "ignore_obstacles" "1" + "model" "commoutside_campbell" + +} diff --git a/base/def/map_cpu1.def b/base/def/map_cpu1.def new file mode 100644 index 00000000..7b5a3b1e --- /dev/null +++ b/base/def/map_cpu1.def @@ -0,0 +1,367 @@ +//CINEMATICS + +export fred { + camera maps/fred/cpu1/camphunt.mb -range 1 70 -dest models/md5/cinematics/cpu1/camphunt_cam_a + camera maps/fred/cpu1/camphunt.mb -range 71 166 -dest models/md5/cinematics/cpu1/camphunt_cam_b + camera maps/fred/cpu1/camphunt.mb -range 167 269 -dest models/md5/cinematics/cpu1/camphunt_cam_c + camera maps/fred/cpu1/camphunt.mb -range 270 368 -dest models/md5/cinematics/cpu1/camphunt_cam_d + + + addoptions -prefix CAMPBELL_ -keep eyecontrol CASE_ATTACHER Lknee Rknee Body2 Body headcontrol neckcontrol loneckcontrol SPINNER Lhand1 Rhand -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent BFG Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -parent CASE_ATTACHER Rhand1 + + addoptions -keepmesh marinebodymesh + addoptions -keepmesh polySurface5 + + anim maps/fred/cpu1/camphunt.mb -range 1 1 -dest models/md5/chars/campbell/cpu/campbell_start + anim maps/fred/cpu1/camphunt.mb -range 167 269 -dest models/md5/chars/campbell/cpu/campbell_c + anim maps/fred/cpu1/camphunt.mb -range 270 368 -dest models/md5/chars/campbell/cpu/campbell_d + + + anim maps/fred/admin/swann_campbell_overhear.mb -range 737 1033 -dest models/md5/chars/campbell/admin/overhearcampbell3 + + anim maps/eric/admin/typing.mb -range 1 60 -rotate 180 -dest models/md5/chars/campbell/admin/typingcampbell_loop + anim maps/eric/admin/typing.mb -range 1 291 -rotate 180 -dest models/md5/chars/campbell/admin/typingcampbell + + anim models/characters/male_npc/cycles/idles/campbell_af_pose.mb -rotate 90 -dest models/md5/chars/campbell/af_pose + + //anim betrugercin1.mb -dest betrugercin1_campbell -range 1 1699 -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity + anim betrugercin1.mb -dest betrugercin1_campbell_a -range 1 54 -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity + anim betrugercin1.mb -dest betrugercin1_campbell_b -range 55 92 -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity + anim betrugercin1.mb -dest betrugercin1_campbell_c -range 93 137 -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity + anim betrugercin1.mb -dest betrugercin1_campbell_d -range 138 1709 -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity + + + anim hangar_characters.mb -range 360 678 -dest hangar_campbell_a -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity -prefix SUIT2_ + anim hangar_characters.mb -range 679 766 -dest hangar_campbell_b -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity -prefix SUIT2_ + anim hangar_characters.mb -range 767 863 -dest hangar_campbell_c -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity -prefix SUIT2_ + anim hangar_characters.mb -range 864 937 -dest hangar_campbell_d -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity -prefix SUIT2_ + anim hangar_characters.mb -range 938 980 -dest hangar_campbell_e -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity -prefix SUIT2_ + anim hangar_characters.mb -range 981 1160 -dest hangar_campbell_f -sourcedir maps/fred/marscity/ -destdir models/md5/chars/campbell/marscity -prefix SUIT2_ + + // SUIT prefix + + anim maps/fred/enpro/escape_shot1.mb -rotate 180 -range 1 90 -dest models/md5/chars/campbell/enpro/campbell_escape1 -prefix SUIT_ + anim maps/fred/enpro/escape_shot2.mb -rotate 180 -range 91 236 -dest models/md5/chars/campbell/enpro/campbell_escape2 -prefix SUIT_ + + anim models/characters/male_npc/cycles/idles/bfg_aiming.mb -rotate 90 -dest models/md5/chars/campbell/bfg_aim -prefix SUIT_ + + anim maps/fred/cpu1/camphunt_eric_withmocap.mb -range 1 70 -dest models/md5/chars/campbell/cpu/campbell_mocap_a -prefix SUIT_ + anim maps/fred/cpu1/camphunt_eric_withmocap.mb -range 71 166 -dest models/md5/chars/campbell/cpu/campbell_mocap_b -prefix SUIT_ + + + anim maps/fred/admin/sco_new_mocap.mb -range 432 736 -dest models/md5/chars/campbell/admin/overhearcampbell2 -prefix SUIT_ + + + // SUIT2 prefix + anim maps/fred/admin/campbell_overhear_1_n_2_n_3.mb -range 1 313 -dest models/md5/chars/campbell/admin/overhearcampbell1 -prefix SUIT2_ + //anim maps/fred/admin/campbell_overhear_4.mb -range 432 736 -dest models/md5/chars/campbell/admin/overhearcampbell2 -prefix SUIT2_ + + + // ZOMBIE prefix + //anim maps/fred/admin/campbell_overhear_1_n_2_n_3.mb -range 1 300 -dest models/md5/chars/campbell/admin/overhearcampbell1 -prefix ZOMBIE_ + //anim maps/fred/admin/campbell_overhear_4.mb -range 432 736 -dest models/md5/chars/campbell/admin/overhearcampbell2 -prefix ZOMBIE_ + + + + + addoptions -align ALL + + // CAMPBELL prefix + + mesh maps/fred/cpu1/campmesh.mb -dest models/md5/chars/campbell/campbell -prefix CAMPBELL_ + + + // SUIT prefix + + anim models/characters/male_npc/cycles/idles/bfg_idle.mb -dest models/md5/chars/campbell/bfg_idle -prefix SUIT_ + + anim models/characters/male_npc/cycles/idles/bfg_idle_eric.mb -dest models/md5/chars/campbell/bfg_idle_eric -prefix SUIT_ + anim models/characters/male_npc/cycles/walks/bfg_walk.mb -rotate 90 -dest models/md5/chars/campbell/bfg_walk -prefix SUIT_ + anim models/characters/male_npc/cycles/runs/bfg_run.mb -rotate 90 -dest models/md5/chars/campbell/bfg_run -prefix SUIT_ + + anim models/characters/male_npc/cycles/idles/campbell_stand.mb -dest models/md5/chars/campbell/campbell_idle -prefix SUIT_ + + anim models/characters/male_npc/cycles/runs/bfg_runback_fire.mb -rotate 90 -dest models/md5/chars/campbell/bfg_runback_fire -prefix SUIT_ + anim models/characters/male_npc/cycles/runs/bfg_runback_fire2.mb -rotate -90 -dest models/md5/chars/campbell/bfg_runback_fire2 -prefix SUIT_ + anim models/characters/male_npc/cycles/runs/bfg_runback_fire2.mb -range 33 33 -rotate -90 -dest models/md5/chars/campbell/bfg_runback_fire2_start -prefix SUIT_ + anim models/characters/male_npc/cycles/idles/bfg_fire.mb -dest models/md5/chars/campbell/bfg_fire -prefix SUIT_ + + anim models/characters/male_npc/cycles/idles/turn_right.mb -dest models/md5/chars/campbell/campbellturn_right -prefix SUIT_ + anim models/characters/male_npc/cycles/idles/turn_left.mb -dest models/md5/chars/campbell/campbellturn_left -prefix SUIT_ + anim models/characters/male_npc/cycles/idles/turn_right_rotation90.mb -dest models/md5/chars/campbell/campbellturn_right_rotation90 -prefix SUIT_ + anim models/characters/male_npc/cycles/idles/turn_left_rotation90.mb -dest models/md5/chars/campbell/campbellturn_left_rotation90 -prefix SUIT_ + anim models/characters/male_npc/cycles/idles/turn_right_rotation180.mb -dest models/md5/chars/campbell/campbellturn_right_rotation180 -prefix SUIT_ + anim models/characters/male_npc/cycles/idles/turn_left_rotation180.mb -dest models/md5/chars/campbell/campbellturn_left_rotation180 -prefix SUIT_ + + // ZOMBIE prefix + + anim models/characters/male_npc/cycles/walks/bfg_casewalk.mb -rotate 90 -dest models/md5/chars/campbell/bfg_casewalk -prefix ZOMBIE_ + + options -prefix CASE_ -keep ATTACHER -rename ATTACHER origin -clearorigin + mesh models/characters/male_npc/makecasemesh.mb -dest models/md5/items/bfgcase/bfgcase + anim models/characters/male_npc/makecasemesh.mb -dest models/md5/items/bfgcase/bfgcase +} + +model env_bfgcase { + mesh models/md5/items/bfgcase/bfgcase.md5mesh + anim case models/md5/items/bfgcase/bfgcase.md5anim + +} + +entityDef env_bfgcase { + "inherit" "cin_base" + "model" "env_bfgcase" + "anim" "case" + "joint" "CASE_ATTACHER" + "origin" "0 0 0" + "angles" "0 0 0" +} + +entityDef char_campbell_bfgcase { + "inherit" "char_campbell_bfg" + "model" "char_campbell_bfgcase" + "skin" "skins/characters/npcs/marine_campbell.skin" + "eye_verticle_offset" "10" + "eye_horizontal_offset" "5" + + "def_attach" "env_bfgcase" + "cinematic" "1" + + "def_head" "head_campbell" + "head_joint" "Shoulders" +} + +entityDef cpu1_camphunt_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim camphunt_a" "models/md5/cinematics/cpu1/camphunt_cam_a.md5camera" + "anim camphunt_b" "models/md5/cinematics/cpu1/camphunt_cam_b.md5camera" + "anim camphunt_c" "models/md5/cinematics/cpu1/camphunt_cam_c.md5camera" + "anim camphunt_d" "models/md5/cinematics/cpu1/camphunt_cam_d.md5camera" + +} + +model cpu1_camphunt_campbell { + mesh models/md5/chars/campbell/campbell.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol) + + anim start models/md5/chars/campbell/cpu/campbell_start.md5anim + anim camphunt_a models/md5/chars/campbell/cpu/campbell_mocap_a.md5anim { + frame 1 event disableEyeFocus + frame 1 sound_global cpu_intro_music + frame 1 sound_body campbell_fs + frame 18 sound_body2 campbell_fs + frame 39 sound_body campbell_fs + frame 59 sound_body2 campbell_fs + } + + anim camphunt_b models/md5/chars/campbell/cpu/campbell_mocap_b.md5anim { + frame 2 sound_body campbell_fs + frame 18 sound_body2 campbell_fs + frame 40 sound_body campbell_fs + frame 58 sound_body2 campbell_fs + frame 78 sound_body campbell_fs + } + + anim camphunt_c models/md5/chars/campbell/cpu/campbell_c.md5anim { + frame 1 event disableEyeFocus + } + + anim camphunt_d models/md5/chars/campbell/cpu/campbell_d.md5anim { + frame 1 event disableEyeFocus + frame 26 sound_voice snd_camphunt + } + +} + +model cpu1_head_campbell { + mesh models/md5/heads/campbell/campbell.md5mesh + skin skins/characters/npcs/campbellbloody.skin + anim dead models/md5/heads/campbell/cpu1/campbellend.md5anim + anim idle models/md5/heads/campbell/cpu1/campbellend.md5anim + + anim camphunt_a models/md5/heads/campbell/cpu1/campbellheadhunt_a.md5anim + anim camphunt_b models/md5/heads/campbell/cpu1/campbellheadhunt_b.md5anim + anim camphunt_c models/md5/heads/campbell/cpu1/campbellheadhunt_c.md5anim + anim camphunt_d models/md5/heads/campbell/cpu1/campbellheadhunt_d.md5anim + + anim talk_secondary1 models/md5/heads/campbell/cpu1/campbelldeath.md5anim +} + +entityDef cpu1_camphunt_campbell { + "inherit" "character_default" + "model" "cpu1_camphunt_campbell" + "anim" "camphunt_a" + "sound_bone" "Chest" + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + "copy_joint_world eyecontrol" "eyecontrol" + + "ik_numLegs" "0" + "ik_maxStepSpeed" "2" + "ik_footSize" "0" + "ik_footShift" "2" + "ik_waistShift" "4" + "ik_liftWaist" "16" + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + + "head_look" "0" + + "def_head" "cpu1_head_campbell" + "head_joint" "Shoulders" + "ragdoll" "" + "snd_camphunt" "cpu_campbell_hunt" + "cinematic" "1" + + "num_cinematics" "4" + "anim1" "camphunt_a" + "anim2" "camphunt_b" + "anim3" "camphunt_c" + "anim4" "camphunt_d" + +} + + +model cpu1_wounded_campbell { + mesh models/md5/chars/marine.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + skin skins\characters\npcs\bloody_marine.skin + anim idle models/md5/chars/campbell/cpu/deathidle.md5anim + anim talk_secondary1 models/md5/chars/campbell/cpu/death.md5anim { + frame 1 event disableEyeFocus + frame 10 sound_voice snd_campdeath + frame 61 event enableEyeFocus + frame 71 event disableEyeFocus + frame 93 event enableEyeFocus + frame 197 event disableEyeFocus + frame 197 call headlook_off + } + anim dead models/md5/chars/campbell/cpu/deathend.md5anim + anim af_pose models/md5/chars/af_pose.md5anim + +} + +entityDef cpu1_wounded_campbell { + "inherit" "npc_base" + "size" "" + "model" "cpu1_wounded_campbell" + "scriptobject" "ai" + "nativeobject" "rvmAICharacterProne" + "anim" "idle" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "def_head" "cpu1_head_campbell" + "head_joint" "Shoulders" + + "talk_mode" "2" // only play talk secondary + "die_after_speaking" "1" + "animate_z" "1" + "talk_no_turn" "1" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + + "look_min" "-54 -39 0" + "look_max" "9 39 0" + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" "1.25 1.5 1" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "snd_campdeath" "cpu_campbell_death" + "snd_gibbed" "sound_giblets" + "snd_bounce" "ragdoll_impact" + + "gib" "1" + + "model_gib" "models/md5/chars/skeleton.md5mesh" + + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + +} + +model cpu1_monster_trite { + inherit monster_demon_trite + + anim guitrite models/md5/monsters/trite/guitrite.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 disableGravity + frame 16 sound_body snd_sight + frame 25 melee melee_tritebite1 + frame 45 enableWalkIK + frame 45 enableGravity + } +} + +entityDef cpu1_monster_trite { + "inherit" "monster_demon_trite" + "model" "cpu1_monster_trite" + "size" "20 20 20" +} diff --git a/base/def/map_cpuboss.def b/base/def/map_cpuboss.def new file mode 100644 index 00000000..53de686d --- /dev/null +++ b/base/def/map_cpuboss.def @@ -0,0 +1,61 @@ +//CPU_boss + +export fred { + camera models/monsters/sabaoth/cycles/death.mb -dest models/md5/cinematics/cpu_boss/cpu_boss_cam +} + +entityDef cpuboss_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim cpu_boss_cam" "models/md5/cinematics/cpu_boss/cpu_boss_cam.md5camera" +} + + +model cpuboss_cin_player { + mesh models/md5/characters/player/mocap/player.md5mesh + skin skins/player/noweapon.skin + + anim sargedeath models/md5/cinematics/cpu_boss/sabaoth_death_player.md5anim + +} + +entityDef cpuboss_cin_player { + "inherit" "cin_base" + "model" "cpuboss_cin_player" + "cinematic" "1" + + "anim" "sargedeath" + +} + +model cpuboss_cin_sabaoth { + mesh models/md5/monsters/sabaoth/sabaoth.md5mesh + + anim death models/md5/monsters/sabaoth/death.md5anim { + frame 200 skin skins/models/monsters/sabdeath.skin + frame 1 trigger sargeexplosion1 + frame 10 sound_voice sabaoth_death + frame 20 trigger sargeexplosion2 + frame 35 trigger sargeexplosion3 + frame 60 trigger sargeexplosion4 + frame 85 trigger sargeexplosion5 + } + +} + +entityDef cpuboss_cin_sabaoth { + "inherit" "cin_base" + "model" "cpuboss_cin_sabaoth" + "cinematic" "1" + + "anim" "death" + +} + + + diff --git a/base/def/map_delta1.def b/base/def/map_delta1.def new file mode 100644 index 00000000..d15e00c9 --- /dev/null +++ b/base/def/map_delta1.def @@ -0,0 +1,113 @@ + + + +//sarge vcd + +export fred { + camera maps/eric/delta1/sarge_video.mb -dest models/md5/cinematics/delta1/sarge_vcd + + options -prefix LAB_ -keepmesh labcoatmesh -keepmesh oldhead_head02 -keepmesh oldhead_righteyemesh -keepmesh oldhead_lefteyemesh + + mesh maps/fred/delta1/scipull_idle.mb -dest models/md5/cinematics/delta1/scipull_mesh + anim maps/fred/delta1/scipull_idle.mb -dest models/md5/cinematics/delta1/scipull_idle + anim maps/fred/delta1/scipull.mb -dest models/md5/cinematics/delta1/scipull + +} + +entityDef delta1_sargevcd_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim sarge_vcd" "models/md5/cinematics/delta1/sarge_vcd.md5camera" +} + + + +//Reactor... + +export fred { + + options -prefix REACTOR_ -align ALL //-keep blah -parent disc2 ALL + + mesh models/seneca/reactor/anims/idle.mb -dest models/md5/environments/reactor + anim models/seneca/reactor/anims/idle.mb -dest models/md5/environments/idle // -range 1 100 + anim models/seneca/reactor/anims/startup.mb -dest models/md5/environments/startup +} + +model delta1_reactor { + mesh models/md5/environments/reactor.md5mesh + anim idle models/md5/environments/idle.md5anim + anim startup models/md5/environments/startup.md5anim +} + +entityDef delta1_reactor { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + "model" "delta1_reactor" + "anim" "idle" +} + + +//scipull... + + +model delta1_scipull { + mesh models/md5/cinematics/delta1/scipull_mesh.md5mesh + anim idle models/md5/cinematics/delta1/scipull_idle.md5anim + anim pull models/md5/cinematics/delta1/scipull.md5anim +} + +entityDef delta1_scipull { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + "model" "delta1_scipull" + "anim" "idle" +} + + +//sarge vcd + +model delta1_sarge_video_head { + mesh models/md5/heads/sarge/sarge.md5mesh + anim stand models/md5/heads/sarge/sargeidle.md5anim + + anim sarge_vcd models/md5/heads/sarge/delta1/sarge_vcd.md5anim +} + +model delta1_sarge_video { + inherit npc_marine + + anim sarge_vcd models/md5/chars/sarge/delta1/sarge_vcd.md5anim { + frame 1 event disableEyeFocus +// frame 1 aviGame delta1_sarge_vcd + frame 15 sound_voice delta1_sarge_vcd +// frame 580 aviGame + + } +} + +entityDef delta1_sarge_video { + "inherit" "npc_base" + "model" "delta1_sarge_video" + "size" "12 12 74" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "eye_horizontal_offset" "0" + + "def_head" "delta1_sarge_video_head" + "head_joint" "Shoulders" +} + + + diff --git a/base/def/map_delta2a.def b/base/def/map_delta2a.def new file mode 100644 index 00000000..67b25045 --- /dev/null +++ b/base/def/map_delta2a.def @@ -0,0 +1,719 @@ +model delta2a_commando { + inherit monster_zombie_commando + + anim columns models/md5/monsters/zct/delta2a_leapdown.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 1 disableGravity + frame 1 disableWalkIK + + frame 11 sound_body snd_footstep + frame 19 sound_body snd_footstep + frame 24 sound_body snd_footstep + frame 31 sound_body snd_footstep + frame 43 sound_voice monster_zombie_commando_sight1 + frame 64 sound_body snd_tentacle_out + frame 69 sound_body snd_footstep + frame 80 enableGravity + frame 80 enableWalkIK + frame 72 sound_body snd_thud + frame 87 sound_voice monster_zombie_commando_sight7 + frame 91 sound_weapon snd_tentacle_in + } +} + +entityDef delta2a_commando { + "inherit" "monster_zombie_commando" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieCommandoTentacle" + "model" "delta2a_commando" +} + +model delta2a_fatty { + inherit monster_zombie_fat + anim bathroomidle models/md5/monsters/zfat/deltabathroomloop.md5anim { + ai_no_turn + } + anim bathroomgetup models/md5/monsters/zfat/deltabathroomgetup.md5anim { + ai_no_turn + frame 1 sound_voice2 monster_zombie_fat_sight1 + } +} + +entityDef delta2a_fatty { + "inherit" "monster_zombie_fat" + "model" "delta2a_fatty" + + "anim" "bathroomidle" + "on_activate" "bathroomgetup" + "walk_on_sight" "0" +} + + +model delta2a_cin_fatty { + mesh models/md5/monsters/zfat/zfat.md5mesh + anim office3 models/md5/cinematics/delta2a/zoffice3.md5anim { + frame 26 sound_voice d2a_fat_hit_glass + } + +} + +entityDef delta2a_cin_fatty { + "inherit" "cin_base" + "anim" "office3" + "model" "delta2a_cin_fatty" + "skin" "skins/monsters/zombies/zfat.skin" + +} + + +entityDef delta2a_zombie_office1 { + "inherit" "monster_zombie_maint_bald" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "model" "model_delta2a_zombie_nojaw" + "def_head" "head_bloodybald" + "head_joint" "Shoulders" + + "snd_footstep" "monster_zombie_security_footstep" +} + +entityDef delta2a_zombie_office2 { + "inherit" "monster_zombie_maint_bald" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "model" "model_delta2a_zombie_nojaw" + "def_head" "head_zombie2" + "head_joint" "Shoulders" + "size" "" + + "snd_footstep" "monster_zombie_security_footstep" +} + +model model_delta2a_zombie_nojaw { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/jumpsuitzombie.md5mesh + skin skins/monsters/zombies/jumpsuit.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim stand models/md5/cinematics/delta2a/zoffice2end.md5anim + anim idle models/md5/cinematics/delta2a/zoffice2end.md5anim + anim office2start models/md5/cinematics/delta2a/zoffice2start.md5anim { + ai_no_turn + } + anim office2 models/md5/cinematics/delta2a/zoffice2.md5anim { + frame 1 event ignoreDamage + frame 21 sound_body snd_footstep + frame 51 sound_body snd_footstep + frame 65 sound_body snd_footstep + frame 78 sound_body snd_footstep + frame 89 sound_body snd_footstep + frame 94 sound_body snd_footstep + frame 97 sound_body snd_footstep + ai_no_turn + } + anim office2end models/md5/cinematics/delta2a/zoffice2end.md5anim { + frame 1 event ignoreDamage + } + anim office1 models/md5/cinematics/delta2a/zoffice1.md5anim +} + +/*********************************************************************** + +delta2a_imp + +***********************************************************************/ + +model delta2a_imp { + inherit monster_demon_imp + + anim columnidle models/md5/monsters/imp/idlecolumn.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + } + anim columncrawl models/md5/monsters/imp/leapdowncolumn.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 1 sound_voice snd_crawlersight + frame 13 sound_weapon snd_thud + frame 13 sound_body snd_glassfootstep + frame 14 sound_body snd_glassfootstep + frame 17 sound_body snd_glassfootstep + frame 24 sound_body snd_glassfootstep + frame 29 sound_body snd_glassfootstep + + frame 30 sound_voice snd_crawlergetoff + + frame 33 sound_body snd_glassfootstep + frame 37 sound_body snd_glassfootstep + frame 41 sound_body snd_glassfootstep + frame 42 sound_body snd_glassfootstep + frame 48 sound_body snd_footstep + frame 49 enableGravity + frame 49 enableWalkIK + frame 50 sound snd_thud + } + + anim corneridle models/md5/monsters/imp/d1corneridle.md5anim { + ai_no_turn + } + anim cornercrawl models/md5/monsters/imp/d1corner.md5anim { + ai_no_turn + } + + anim cageidle models/md5/monsters/imp/idlecages.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + } + + anim cageleap models/md5/monsters/imp/leapdowncages.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 35 enableGravity + frame 35 enableWalkIK + } +} + +entityDef delta2a_imp { + "inherit" "monster_demon_imp" + "model" "delta2a_imp" + + "snd_crawlersight" "delta2a_columncrawlersight" + "snd_crawlergetoff" "monster_demon_imp_attackmelee_2" + "snd_glassfootstep" "monster_demon_imp_footstep_glass" +} + +//Ian the Scientist + +export fred { + + camera maps/fred/delta2a/ian_shot1.mb -range 1 756 -dest models/md5/cinematics/delta2a/scientist_cam + +} + +entityDef delta2a_scientist_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim scientist" "models/md5/cinematics/delta2a/scientist_cam.md5camera" +} + + +entityDef delta2a_sci_tele_hell_visions_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim teleport" "models/md5/cinematics/delta2a/teleporter_cam.md5cameras" +} + +model delta2a_player { + mesh models/md5/characters/player/mocap/wepplayer.md5mesh + skin skins/player/shotgun.skin + + anim teleport models/md5/cinematics/delta2a/teleporterplayer.md5anim { + frame 1 skin skins/player/noguns.skin + frame 1 sound_global delta2a_ending_sfx + } + + anim scientist_a models/md5/cinematics/delta2a/scientistplayer_a.md5anim { + frame 8 sound_body snd_footstep + frame 22 sound_body snd_footstep + frame 37 sound_body snd_footstep + frame 55 sound_body snd_footstep + frame 60 sound_body snd_footstep + frame 88 sound_body snd_footstep + frame 106 sound_body snd_footstep + frame 128 sound_body snd_footstep + frame 146 sound_body snd_footstep + frame 164 sound_body snd_footstep + } + + anim scientist_b models/md5/cinematics/delta2a/scientistplayer_b.md5anim { + frame 4 sound_body snd_footstep + frame 30 sound_body snd_footstep + frame 50 sound_body snd_footstep + frame 70 sound_body snd_footstep + } + +} + +entityDef delta2a_player { + "inherit" "cin_base" + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + "anim" "teleport" + "model" "delta2a_player" + "snd_footstep" "player_sounds_footstep" + "cinematic" "1" + +} + +entityDef delta2a_player_scientist { + "inherit" "cin_base" + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + "anim" "scientist_a" + "model" "delta2a_player" + "snd_footstep" "player_sounds_footstep" + "cinematic" "1" + + "auto_advance" "1" + "num_anims" "2" + "anim1" "scientist_a" + "anim2" "scientist_b" + +} + +model delta2a_scientist_head { + + mesh models/md5/heads/head02young/h2_cinematic.md5mesh + anim stand models/md5/heads/head02young/h2idle_cinematic.md5anim + anim idle models/md5/heads/head02young/h2idle_cinematic.md5anim + anim dead models/md5/heads/head02young/h2death_cinematic.md5anim + + anim start models/md5/heads/head02young/delta2a/delta2a_01_ian_first.md5anim { + frame 1 sound_voice delta2a_sci_wuh + } + anim shot_one models/md5/heads/head02young/delta2a/delta2a_02_ian_first.md5anim { + frame 1 sound_voice delta2a_sci_thankgod + } + anim shot_two models/md5/heads/head02young/delta2a/delta2a_03_ian_first.md5anim { + frame 1 sound_voice delta2a_sci_iwaspart + } + anim shot_three models/md5/heads/head02young/delta2a/delta2a_04_ian_first.md5anim { + frame 1 sound_voice delta2a_sci_youhaveto + } + anim shot_four models/md5/heads/head02young/delta2a/delta2a_05_ian_first.md5anim { + frame 1 sound_voice delta2a_sci_imgoin + } + anim talk_primary models/md5/heads/head02young/delta2a/delta2a_ian_primary_first.md5anim { + frame 1 sound_voice delta2a_sci_primary1 + } + anim talk_secondary1 models/md5/heads/head02young/delta2a/delta2a_ian_secondary_first.md5anim { + frame 1 sound_voice delta2a_sci_secondary1 + } + anim talk_secondary2 models/md5/heads/head02young/delta2a/delta2a_06_ian_first.md5anim { + frame 1 sound_voice delta2a_sci_imgonnastay + } +} + +model delta2a_scientist { + + mesh models/md5/chars/labcoat.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER chair eyecontrol) + + anim af_pose models/md5/chars/af_pose.md5anim + anim stand models/md5/chars/ian_d2a/ianpart4_stand.md5anim { + frame 1 event disableEyeFocus + frame 2 sound_body typing + frame 11 sound_body2 typing + frame 18 sound_body typing + frame 28 sound_body2 typing + frame 32 sound_body typing + frame 35 sound_body2 typing + frame 38 sound_body typing + frame 42 sound_body2 typing + frame 45 sound_body typing + frame 73 sound_body2 typing + frame 77 sound_body typing + frame 80 sound_body2 typing + frame 84 sound_body typing + frame 89 sound_body2 typing + frame 94 sound_body typing + frame 97 sound_body2 typing + frame 100 sound_body typing + frame 104 sound_body2 typing + frame 107 sound_body typing + frame 135 sound_body2 typing + frame 138 sound_body typing + frame 145 sound_body2 typing + frame 149 sound_body typing + frame 152 sound_body2 typing + frame 155 sound_body typing + frame 159 sound_body2 typing + frame 162 sound_body typing + frame 168 sound_body2 typing + frame 172 sound_body typing + frame 175 sound_body2 typing + frame 178 sound_body typing + frame 184 sound_body2 typing + frame 195 sound_body typing + frame 202 sound_body2 typing + frame 212 sound_body typing + frame 216 sound_body2 typing + frame 219 sound_body typing + frame 222 sound_body2 typing + frame 226 sound_body typing + frame 229 sound_body2 typing + frame 236 sound_body typing + frame 258 sound_body2 typing + frame 261 sound_body typing + frame 265 sound_body2 typing + frame 268 sound_body typing + frame 274 sound_body2 typing + frame 278 sound_body typing + frame 281 sound_body2 typing + frame 284 sound_body typing + frame 288 sound_body2 typing + frame 291 sound_body typing + } + anim idle models/md5/chars/ian_d2a/ianpart4_stand.md5anim { + frame 1 event disableEyeFocus + frame 2 sound_body typing + frame 11 sound_body2 typing + frame 18 sound_body typing + frame 28 sound_body2 typing + frame 32 sound_body typing + frame 35 sound_body2 typing + frame 38 sound_body typing + frame 42 sound_body2 typing + frame 45 sound_body typing + frame 73 sound_body2 typing + frame 77 sound_body typing + frame 80 sound_body2 typing + frame 84 sound_body typing + frame 89 sound_body2 typing + frame 94 sound_body typing + frame 97 sound_body2 typing + frame 100 sound_body typing + frame 104 sound_body2 typing + frame 107 sound_body typing + frame 135 sound_body2 typing + frame 138 sound_body typing + frame 145 sound_body2 typing + frame 149 sound_body typing + frame 152 sound_body2 typing + frame 155 sound_body typing + frame 159 sound_body2 typing + frame 162 sound_body typing + frame 168 sound_body2 typing + frame 172 sound_body typing + frame 175 sound_body2 typing + frame 178 sound_body typing + frame 184 sound_body2 typing + frame 195 sound_body typing + frame 202 sound_body2 typing + frame 212 sound_body typing + frame 216 sound_body2 typing + frame 219 sound_body typing + frame 222 sound_body2 typing + frame 226 sound_body typing + frame 229 sound_body2 typing + frame 236 sound_body typing + frame 258 sound_body2 typing + frame 261 sound_body typing + frame 265 sound_body2 typing + frame 268 sound_body typing + frame 274 sound_body2 typing + frame 278 sound_body typing + frame 281 sound_body2 typing + frame 284 sound_body typing + frame 288 sound_body2 typing + frame 291 sound_body typing + + + } + anim cower models/md5/chars/ian_d2a/iancower.md5anim { + frame 1 event disableEyeFocus + } + anim start models/md5/chars/ian_d2a/ianstart.md5anim { + frame 1 event disableEyeFocus + } + anim shot_one models/md5/chars/ian_d2a/ianpart1.md5anim { + frame 1 event disableEyeFocus + } + anim shot_two models/md5/chars/ian_d2a/ianpart2.md5anim { + frame 1 event disableEyeFocus + frame 92 sound_body snd_footstep + frame 113 sound_body snd_footstep + frame 131 sound_body snd_footstep + } + anim shot_three models/md5/chars/ian_d2a/ianpart3.md5anim { + frame 1 event disableEyeFocus + } + anim shot_four models/md5/chars/ian_d2a/ianpart4.md5anim { + frame 1 event disableEyeFocus + frame 9 sound_body typing + frame 12 sound_body2 typing + frame 18 sound_body typing + frame 22 sound_body2 typing + frame 25 sound_body typing + frame 28 sound_body2 typing + frame 33 sound_body typing + frame 36 sound_body2 typing + frame 46 sound_body typing + frame 54 sound_body2 typing + frame 57 sound_body typing + frame 63 sound_body2 typing + frame 67 sound_body typing + frame 70 sound_body2 typing + frame 70 event enableEyeFocus + frame 73 sound_body typing + frame 78 sound_body2 typing + frame 81 sound_body typing + frame 88 sound_body2 typing + frame 91 sound_body typing + + frame 220 event enableEyeFocus + frame 390 event disableEyeFocus + frame 391 trigger mal_func_static_3065 + frame 435 event enableEyeFocus + frame 500 event enableEyeFocus + frame 528 event disableEyeFocus + frame 529 event enableEyeFocus + } + anim talk_primary models/md5/chars/ian_d2a/ianpart4_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/ian_d2a/ianpart4_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/ian_d2a/ianpart4_talk.md5anim { + frame 1 event enableEyeFocus + } +} + + +entityDef delta2a_scientist { + "inherit" "npc_base" + "anim" "shot_one" + "model" "delta2a_scientist" + "def_head" "delta2a_scientist_head" + "head_joint" "Shoulders" + "size" "20 20 70" + + "skin" "skins/characters/npcs/labcoat_chair.skin" + "def_dropDeathItem" "moveable_chair2" + "dropDeathItemJoint" "chair" + "dropDeathItemRotation" "0 0 -90" + "dropDeathItemOffset" "0 -10 30" + "skin_dropDeath" "skins/characters/npcs/labcoat_old.skin" + + "look_joint Waist" "-0.2 0 0" + "look_joint Chest" "-0.2 0 0" + "look_joint Shoulders" "-0.2 0 0" + "look_joint headcontrol" "-0.4 0.4 0" + "look_joint neckcontrol" "-0.4 0.4 0" + "look_joint Ruparm" "0.5 0 0" + "look_joint Luparm" "0.5 0 0" + "look_min" "-90 -80 0" + "look_max" "25 80 0" + "turn_rate" "0" + "def_attach" "prop_soft_desk_chair2" + "ik_numlegs" "0" + + "talk_time" "0" + "talkradius" "384" + "cinematic" "1" + + "snd_wuh" "delta2a_sci_wuh" + "snd_thankgod" "delta2a_sci_thankgod" + "snd_iwaspart" "delta2a_sci_iwaspart" + "snd_youhaveto" "delta2a_sci_youhaveto" + "snd_imgoin" "delta2a_sci_imgoin" + "snd_imgonnastay" "delta2a_sci_imgonnastay" + "snd_primary1" "delta2a_sci_primary1" + "snd_secondary1" "delta2a_sci_secondary1" + +} + +model delta2a_scientist_head_return { + + mesh models/md5/heads/head02young/h2_cinematic.md5mesh + anim stand models/md5/heads/head02young/h2idle_cinematic.md5anim + anim idle models/md5/heads/head02young/h2idle_cinematic.md5anim + anim dead models/md5/heads/head02young/h2death_cinematic.md5anim + + anim talk_trigger models/md5/heads/head02young/delta2a/delta2a_01_ian_second.md5anim { + frame 1 sound_voice delta2a_sci_excellent + frame 430 sound_voice delta2a_sci_butbefore + frame 510 sound_voice delta2a_sci_itsajournal + frame 511 trigger vidcd_trigger1 + } + anim talk_primary models/md5/heads/head02young/delta2a/delta2a_ian_primary_second.md5anim { + frame 1 sound_voice delta2a_sci_primary2 + } + anim talk_secondary1 models/md5/heads/head02young/delta2a/delta2a_ian_secondary_second.md5anim { + frame 1 sound_voice delta2a_sci_secondary2 + } + anim talk_secondary2 models/md5/heads/head02young/delta2a/delta2a_ian_primary_second.md5anim { + frame 1 sound_voice delta2a_sci_primary2 + } +} + +model delta2a_scientist_return { + + mesh models/md5/chars/labcoat.md5mesh + skin skins/characters/npcs/labcoat_chair.skin + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER chair) + + anim af_pose models/md5/chars/af_pose.md5anim + anim stand models/md5/chars/ian_d2a/ianpart4_stand.md5anim { + frame 1 event disableEyeFocus + } + anim idle models/md5/chars/ian_d2a/ianpart4_stand.md5anim { + frame 1 event disableEyeFocus + } + anim cower models/md5/chars/ian_d2a/iancower.md5anim { + frame 1 event disableEyeFocus + } + anim talk_trigger models/md5/chars/ian_d2a/ianpart4_talk_trigger.md5anim { + frame 1 event enableEyeFocus + } + anim talk_primary models/md5/chars/ian_d2a/ianpart4_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/ian_d2a/ianpart4_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/ian_d2a/ianpart4_talk.md5anim { + frame 1 event enableEyeFocus + } +} + + +entityDef delta2a_scientist_return { + "inherit" "npc_base" + "anim" "shot_one" + "model" "delta2a_scientist_return" + "def_head" "delta2a_scientist_head_return" + "head_joint" "Shoulders" + "size" "20 20 70" + + "skin" "skins/characters/npcs/labcoat_chair.skin" + "def_dropDeathItem" "moveable_chair2" + "dropDeathItemJoint" "chair" + "dropDeathItemRotation" "0 0 -90" + "dropDeathItemOffset" "0 -10 30" + "skin_dropDeath" "skins/characters/npcs/labcoat_old.skin" + "ik_numlegs" "0" + + "look_joint Waist" "-0.2 0 0" + "look_joint Chest" "-0.2 0 0" + "look_joint Shoulders" "-0.2 0 0" + "look_joint headcontrol" "-0.4 0.4 0" + "look_joint neckcontrol" "-0.4 0.4 0" + "look_joint Ruparm" "0.5 0 0" + "look_joint Luparm" "0.5 0 0" + "look_min" "-90 -80 0" + "look_max" "25 80 0" + "turn_rate" "0" + + "def_attach" "prop_soft_desk_chair2" + + "talk_time" "0" + "talkradius" "384" + "cinematic" "1" + + "snd_excellent" "delta2a_sci_excellent" + "snd_butbefore" "delta2a_sci_butbefore" + "snd_itsajournal" "delta2a_sci_itsajournal" + + "snd_primary2" "delta2a_sci_primary2" + "snd_secondary2" "delta2a_sci_secondary2" + +} + + + +//TELEPORTATION ROOM... + +export fred { + camera maps/fred/delta2a/malteleporterroom.mb -dest models/md5/cinematics/delta2a/teleporter_cam + + options -prefix TELE_ -keep ALL -parent EARMUFFS ALL + + mesh maps/fred/delta2a/malteleporterroom.mb -dest models/md5/cinematics/delta2a/teleporter + anim maps/fred/delta2a/malteleporterroom.mb -dest models/md5/cinematics/delta2a/teleporter + anim maps/fred/delta2a/tele_arms_return.mb -dest models/md5/cinematics/delta2a/teleporter_return +} + + +entityDef delta2a_teleporter_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "cinematic" "1" + "anim teleport" "models/md5/cinematics/delta2a/teleporter_cam.md5camera" +} + +model delta2a_teleporter { + mesh models/md5/cinematics/delta2a/teleporter.md5mesh + anim brace models/md5/cinematics/delta2a/teleporter.md5anim { + frame 1 sound_body d2a_tp_warmup + } + anim return models/md5/cinematics/delta2a/teleporter_return.md5anim +} + +entityDef delta2a_teleporter { + "inherit" "cin_base" + "anim" "brace" + "model" "delta2a_teleporter" + "cinematic" "1" +} + +//Cam Toob... + +export fred { + + camera models/Fred/cam_toob.mb -dest models/md5/cinematics/delta2a/cam_toob + + options -prefix TOOB_ -keep CONNECT + + mesh models/Fred/cam_toob.mb -dest models/md5/cinematics/delta2a/toob + anim models/Fred/cam_toob.mb -dest models/md5/cinematics/delta2a/toob +} + +entityDef cin_toob_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim" "toobcam" + "cinematic" "1" + + "anim toobcam" "models/md5/cinematics/delta2a/cam_toob.md5camera" +} + +model cin_toob { + mesh models/md5/cinematics/delta2a/toob.md5mesh + anim toob models/md5/cinematics/delta2a/toob.md5anim +} + +entityDef cin_toob { + "inherit" "cin_base" + "anim" "toob" + "model" "cin_toob" + "cinematic" "1" + +} diff --git a/base/def/map_delta2b.def b/base/def/map_delta2b.def new file mode 100644 index 00000000..8b1a1a4a --- /dev/null +++ b/base/def/map_delta2b.def @@ -0,0 +1,276 @@ +//SWAYING HOSES FOR TANK... + +export fred { + + camera maps/patd/delta2b_cam.mb -dest models/md5/cinematics/delta2b/delta2b_roq_camera + camera maps/patd/delta2b_roq2_cam.mb -dest models/md5/cinematics/delta2b/delta2b_roq2_camera + camera maps/patd/delta2b_roq3_cam.mb -dest models/md5/cinematics/delta2b/delta2b_roq3_camera +} + +entityDef delta2b_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim delta2b_cam" "models/md5/cinematics/delta2b/delta2b_roq_camera.md5camera " +} + +entityDef delta2b_roq2_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim delta2b_roq2_cam" "models/md5/cinematics/delta2b/delta2b_roq2_camera.md5camera " +} + +entityDef delta2b_roq3_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim delta2b_roq3_cam" "models/md5/cinematics/delta2b/delta2b_roq3_camera.md5camera " +} + +export fred { + + options -prefix WIRE_ + + mesh maps/fred/delta2b/waterwires.mb -range 1 1 -dest models/md5/cinematics/delta2b/waterwires + anim maps/fred/delta2b/waterwires.mb -xyzprecision .01 -dest models/md5/cinematics/delta2b/waterwires +} + + +model delta2b_waterwires { + mesh models/md5/cinematics/delta2b/waterwires.md5mesh + anim sway models/md5/cinematics/delta2b/waterwires.md5anim +} + +entityDef delta2b_waterwires { + "inherit" "cin_base" + "model" "delta2b_waterwires" + "anim" "sway" +} + +//IMP TANK + +export fred { + + options -prefix IMPWIRE_ + + mesh maps/fred/delta2b/monster_tanks.mb -dest models/md5/cinematics/delta2b/impwires + anim maps/fred/delta2b/monster_tanks.mb -dest models/md5/cinematics/delta2b/impwires + anim maps/fred/delta2b/monster_tanks_twitch.mb -range 23 97 -dest models/md5/cinematics/delta2b/imptwitch +} + + +model delta2b_tankimpwires { + mesh models/md5/cinematics/delta2b/impwires.md5mesh + anim sway models/md5/cinematics/delta2b/impwires.md5anim + anim twitch models/md5/cinematics/delta2b/imptwitch.md5anim +} + +entityDef delta2b_tankimpwires { + "inherit" "cin_base" + "model" "delta2b_tankimpwires" + "anim" "sway" + "auto_advance" "1" + "loop_last_anim" "1" + + "num_anims" "2" + "anim1" "twitch" + "anim2" "sway" + +} + +model delta2b_tankimp { + mesh models/md5/monsters/imp/imp.md5mesh + anim sway models/md5/monsters/imp/imptankidle.md5anim + anim twitch models/md5/monsters/imp/imptanktwitch.md5anim + +} + +entityDef delta2b_tankimp { + "inherit" "cin_base" + "anim" "sway" + "model" "delta2b_tankimp" + + "auto_advance" "1" + "loop_last_anim" "1" + + "num_anims" "2" + "anim1" "twitch" + "anim2" "sway" +} + +//Revenant Tank + + +export fred { + options -prefix REV_ -parent Loneck Shldrs -keep Rmissile Lmissile -parent Rmissile Rgun -parent Lmissile Lgun + + anim maps/fred/delta2b/monster_tanks.mb -dest models/md5/cinematics/delta2b/revenant + + addoptions -align ALL + + mesh models/monsters/revenant/Fred/animation/idle1.ma -dest models/md5/cinematics/delta2b/revenant +} + +//REVENANT TANK + +export fred { + + options -prefix REVWIRE_ + + mesh maps/fred/delta2b/monster_tanks.mb -dest models/md5/cinematics/delta2b/revwires + anim maps/fred/delta2b/monster_tanks.mb -dest models/md5/cinematics/delta2b/revwires +} + + +model delta2b_tankrevwires { + mesh models/md5/cinematics/delta2b/revwires.md5mesh + anim sway models/md5/cinematics/delta2b/revwires.md5anim +} + +entityDef delta2b_tankrevwires { + "inherit" "cin_base" + "anim" "sway" + "model" "delta2b_tankrevwires" +} + +model delta2b_tankrev { + skin skins/models/monsters/revnoeyes.skin + mesh models/md5/cinematics/delta2b/revenant.md5mesh + anim sway models/md5/cinematics/delta2b/revenant.md5anim +} + +entityDef delta2b_tankrev { + "inherit" "cin_base" + "anim" "sway" + "model" "delta2b_tankrev" +} + +model delta2b_keycardzombie { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/labcoatzombie.md5mesh + skin skins/monsters/zombies/labcoat.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim keycardidle models/md5/monsters/zombies/keycardgetupidle.md5anim + anim keycardgetup models/md5/monsters/zombies/keycardgetup.md5anim { + ai_no_turn + } +} + +entityDef delta2b_keycardzombie { + "inherit" "monster_zombie_base" + "skin" "skins/monsters/zombies/labcoat.skin" + "model" "delta2b_keycardzombie" + "def_head" "head_stump" + "head_joint" "Shoulders" +} + +model delta2b_hazmat { + mesh models/md5/chars/hazmat.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER chair) + + anim stand models/md5/chars/hazmat_d2b/hazmat_idle.md5anim + + anim af_pose models/md5/chars/af_pose.md5anim + anim ik_pose models/md5/chars/af_pose.md5anim + + anim cower models/md5/chars/cower4.md5anim + + anim talk_trigger models/md5/chars/hazmat_d2b/trigger.md5anim { + frame 1 sound_voice snd_talk_trigger + } + anim talk_primary models/md5/chars/hazmat_d2b/primary.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/chars/hazmat_d2b/secondary1.md5anim { + frame 1 sound_voice snd_talk_secondary1 + } + anim talk_secondary2 models/md5/chars/hazmat_d2b/secondary2.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +entityDef delta2b_hazmat { + "inherit" "npc_base" + "model" "delta2b_hazmat" + "ragdoll" "char_hazmat" + + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "talk_no_turn" "1" + "talktime" "0" + + "turn_rate" "0" + + "ik_numLegs" "0" + "ik_footSize" "0" + + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .2 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "head_focus_rate" "0.1" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "snd_talk_trigger" "delta2b_hazmat_trigger" + "snd_talk_primary" "delta2b_hazmat_primary" + "snd_talk_secondary1" "delta2b_hazmat_secondary1" + "snd_talk_secondary2" "delta2b_hazmat_secondary2" +} + +entityDef delta2b_imp { + "inherit" "monster_demon_imp" + "model" "delta2b_imp" + "anim" "cabinet_leap" +} + +model delta2b_imp { + inherit monster_demon_imp + anim cabinet_leap models/md5/monsters/imp/cabinet_leap.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 1 sound_voice snd_sight8 + frame 4 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 16 attack_begin melee_impLeapAttack + frame 28 attack_end + frame 18 trigger impush + frame 27 enableGravity + frame 27 enableWalkIK + frame 30 sound_body snd_footstep + frame 32 sound_body snd_footstep + frame 38 sound_body snd_footstep + } +} \ No newline at end of file diff --git a/base/def/map_delta3.def b/base/def/map_delta3.def new file mode 100644 index 00000000..760342aa --- /dev/null +++ b/base/def/map_delta3.def @@ -0,0 +1,38 @@ + +//DELTA3 + +model delta3_betruger_head { + mesh models/md5/heads/betruger/betruger.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/heads/betruger/betrugeridle.md5anim + anim stand models/md5/heads/betruger/betrugeridle.md5anim +} + + +model delta3_betruger { + inherit npc_labcoat + + anim laugh models/md5/chars/betruger/delta4/betrugerlaugh.md5anim { + frame 64 sound_voice snd_escape + frame 112 sound_voice snd_laugh + } + + anim point models/md5/chars/betruger/delta3/betruger_point.md5anim + anim point_down models/md5/chars/betruger/delta3/betruger_point_down.md5anim + +} + +entityDef delta3_betruger { + "inherit" "npc_base" + "model" "delta3_betruger" + "anim" "laugh" + "size" "1 1 1" + "ik_numlegs" "0" + "def_head" "delta3_betruger_head" + "head_joint" "Shoulders" + "cinematic" "1" + + "snd_escape" "delta4_betruger_escape" + "snd_laugh" "delta4_betruger_laugh" +} diff --git a/base/def/map_delta4.def b/base/def/map_delta4.def new file mode 100644 index 00000000..1b6c3757 --- /dev/null +++ b/base/def/map_delta4.def @@ -0,0 +1,238 @@ + +// CINEMATICS + + +export fred { + camera maps/fred/delta4/hkintro.mb -range 1 251 -dest models/md5/cinematics/delta4/hkintro_cam1 + camera maps/fred/delta4/hkintro.mb -range 252 384 -dest models/md5/cinematics/delta4/hkintro_cam1b + camera maps/fred/delta4/hkthrowshaz1.mb -range 182 260 -dest models/md5/cinematics/delta4/hkintro_cam2 + camera maps/fred/delta4/hkthrowshaz1.mb -range 261 409 -dest models/md5/cinematics/delta4/hkintro_cam3 + camera maps/fred/delta4/hkintro2.mb -range 617 644 -dest models/md5/cinematics/delta4/hkintro_cam4 + + addoptions -prefix ENV_ + mesh maps/fred/delta4/hkintro.mb -dest models/md5/cinematics/delta4/hkintro_teleporter + anim maps/fred/delta4/hkintro.mb -range 1 384 -dest models/md5/cinematics/delta4/hkintro_teleporter + + +} + +entityDef delta4_hkintro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim hk1" "models/md5/cinematics/delta4/hkintro_cam1.md5camera" + "anim hk1b" "models/md5/cinematics/delta4/hkintro_cam1b.md5camera" + "anim hk2" "models/md5/cinematics/delta4/hkintro_cam2.md5camera" + "anim hk3" "models/md5/cinematics/delta4/hkintro_cam3.md5camera" + "anim hk4" "models/md5/cinematics/delta4/hkintro_cam4.md5camera" + + +} + +model delta4_cin_teleporter { + mesh models/md5/cinematics/delta4/hkintro_teleporter.md5mesh + anim hk models/md5/cinematics/delta4/hkintro_teleporter.md5anim { + frame 146 sound_body teleport_shoulder_operate + } +} + +entityDef delta4_cin_teleporter { + "inherit" "cin_base" + "anim" "hk" + "model" "delta4_cin_teleporter" + "cinematic" "1" +} + + +model delta4_cin_hk { + mesh models/md5/monsters/hellknight/hellknight.md5mesh + anim out models/md5/cinematics/delta4/hkintro_hk_out.md5anim { + frame 342 sound_global monster_demon_hellknight_chatter_d4 + frame 343 sound_body hk_cin_footstep + frame 365 sound_body hk_cin_footstep + + } + anim hka models/md5/cinematics/delta4/hkintro_hk1.md5anim { + frame 10 sound_body hk_cin_footstep + frame 23 sound_global monster_demon_hellknight_chatter_combat_d4 + + } + anim hkb models/md5/cinematics/delta4/hkintro_hk2.md5anim { + frame 6 sound_body hk_cin_footstep + frame 12 sound_global monster_demon_hellknight_chatter_d4 + } + anim grab models/md5/cinematics/delta4/hkintro_hkgrab.md5anim { + frame 19 sound_body hk_cin_footstep + frame 32 sound_global monster_demon_hellknight_sight1_d4 + frame 37 sound_body hk_cin_footstep + + } + anim throw models/md5/cinematics/delta4/hkintro_hkthrow.md5anim { + + frame 7 sound_voice monster_demon_hellknight_chatter_combat + frame 34 trigger wallsplat + frame 37 sound_body hk_cin_footstep + frame 57 sound_global monster_demon_hellknight_chatter_combat_d4 + frame 88 sound_global monster_demon_hellknight_sight2_d4 + frame 129 sound_body hk_cin_footstep + } + anim back models/md5/cinematics/delta4/hkintro_hkthrow2.md5anim { + frame 105 sound_body hk_cin_footstep + frame 126 sound_body hk_cin_footstep + frame 144 sound_body hk_cin_footstep + } +} + +entityDef delta4_cin_hk1 { + "inherit" "cin_base" + "anim" "hka" + "model" "delta4_cin_hk" + "cinematic" "1" +} + +entityDef delta4_cin_hk2 { + "inherit" "cin_base" + "anim" "hkb" + "model" "delta4_cin_hk" + "cinematic" "1" +} + +model delta4_cin_player { + mesh models/md5/characters/player/mocap/mgplayer.md5mesh + skin skins/player/machinegun.skin + + anim hk models/md5/cinematics/delta4/hkintro_player.md5anim { + frame 1 sound_global delta4_hellknight_intro_music + frame 1 sound_global hk_intro_sfx + frame 13 sound_body player_sounds_footstep + frame 30 sound_body player_sounds_footstep + frame 43 sound_body player_sounds_footstep + frame 45 trigger officelights + frame 59 sound_body player_sounds_footstep + frame 74 sound_body player_sounds_footstep + frame 94 sound_body player_sounds_footstep + frame 113 sound_body player_sounds_footstep + frame 208 sound_body player_sounds_footstep + + } + anim hkb models/md5/cinematics/delta4/hkintro_player_b.md5anim { + frame 2 trigger hk_end + frame 37 sound_body player_sounds_footstep + frame 38 trigger haz + } + + anim hkend models/md5/cinematics/delta4/hkintro_player2.md5anim +} + +entityDef delta4_cin_player { + "inherit" "cin_base" + "anim" "hk" + "model" "delta4_cin_player" + "cinematic" "1" +} + +entityDef delta4_cin_player_start { + "inherit" "cin_base" + "anim" "hk" + "model" "delta4_cin_player" + "auto_advance" "1" + "num_anims" "2" + "anim1" "hk" + "anim2" "hkb" + "cinematic" "1" +} + + +model delta4_hazguy { + "inherit" "char_hazmat" + + anim runoutcough models/md5/cinematics/delta4/hkintro_runoutcough.md5anim { + frame 33 sound_body player_sounds_footstep + frame 35 sound_voice cough + frame 40 sound_body player_sounds_footstep + frame 44 sound_body2 player_sounds_footstep + frame 54 sound_body player_sounds_footstep + frame 58 sound_voice cough + frame 91 sound_body player_sounds_footstep + } + +} + +entityDef delta4_hazguy { + "inherit" "char_hazmat" + "model" "delta4_hazguy" + "anim" "runoutcough" + "size" "1 1 1" + "ik_numlegs" "0" + "cinematic" "1" + "skin" "skins/characters/npcs/d4bloodyhazmat.skin" + + + "snd_chatter" "" + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_hit" "" +} + +model delta4_cin_hazguy { + mesh models/md5/chars/hazmat.md5mesh + skin skins/characters/npcs/d4bloodyhazmat.skin + + anim af_pose models/md5/chars/af_pose.md5anim + anim hkgrab models/md5/cinematics/delta4/hkintro_hazgetsgrabbed.md5anim { + frame 17 sound_voice d4_hazmat_what + frame 35 sound_voice d4_hazmat_ohno + } + anim hkthrow models/md5/cinematics/delta4/hkintro_hazgetsthrown.md5anim { + frame 22 sound_voice d4_hazmat_scream + frame 31 event startRagdoll + } +} + +entityDef delta4_cin_hazguy { + "inherit" "cin_base" + "model" "delta4_cin_hazguy" + "anim" "runoutcough" + "ragdoll" "char_hazmat" + "velocityTime" "200" + "cinematic" "1" + +} + +model delta4_betruger_head { + mesh models/md5/heads/betruger/betruger.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/heads/betruger/betrugeridle.md5anim + anim stand models/md5/heads/betruger/betrugeridle.md5anim + anim laugh models/md5/heads/betruger/delta4/betheadhkintro.md5anim +} + + +model delta4_betruger { + inherit npc_labcoat + + anim laugh models/md5/chars/betruger/delta4/betrugerlaugh.md5anim { + frame 64 sound_voice snd_escape + frame 112 sound_voice snd_laugh + } + +} + +entityDef delta4_betruger { + "inherit" "npc_base" + "model" "delta4_betruger" + "anim" "laugh" + "size" "1 1 1" + "ik_numlegs" "0" + "def_head" "delta4_betruger_head" + "head_joint" "Shoulders" + "cinematic" "1" + + "snd_escape" "delta4_betruger_escape" + "snd_laugh" "delta4_betruger_laugh" +} diff --git a/base/def/map_delta5.def b/base/def/map_delta5.def new file mode 100644 index 00000000..e8cf3f2a --- /dev/null +++ b/base/def/map_delta5.def @@ -0,0 +1,133 @@ + +/*********************************************************************** + +Wounded_Swann + +***********************************************************************/ + +model delta5_swann_head { + skin skins/characters/npcs/swannbloody.skin + mesh models/md5/heads/swann/swann.md5mesh + + anim blink models/md5/heads/swann/swannblink.md5anim + anim idle models/md5/heads/swann/swannidle.md5anim + anim stand models/md5/heads/swann/swannidle.md5anim + anim talk_secondary1 models/md5/heads/swann/delta5/swannhead_wounded_secondary1.md5anim { + frame 1 sound_voice delta5_swann_secondary1 + } + anim talk_secondary2 models/md5/heads/swann/delta5/swannhead_wounded_secondary2.md5anim { + frame 1 sound_voice delta5_swann_secondary2 + } + anim talk_primary models/md5/heads/swann/delta5/swannhead_wounded_primary.md5anim { + frame 1 sound_voice delta5_swann_primary + } + anim talk_trigger models/md5/heads/swann/delta5/swannhead_wounded.md5anim { + frame 1 sound_voice delta5_swann_trigger + } +} + +model delta5_wounded_swann { + mesh models/md5/chars/suit.md5mesh + channel torso ( *origin ) + + skin skins/characters/npcs/bloodysuit.skin + anim af_pose models/md5/chars/af_pose.md5anim + anim stand models/md5/cinematics/delta5/swann_idle.md5anim + anim idle models/md5/cinematics/delta5/swann_idle.md5anim + anim talk_trigger models/md5/cinematics/delta5/swann_trigger.md5anim { + frame 1 enableEyeFocus + frame 36 disableEyeFocus + frame 205 enableEyeFocus + frame 350 disableEyeFocus + frame 505 enableEyeFocus + frame 561 disableEyeFocus + frame 698 enableEyeFocus + frame 837 disableEyeFocus + frame 1110 enableEyeFocus + } + anim talk_primary models/md5/cinematics/delta5/swann_idle.md5anim + anim talk_secondary1 models/md5/cinematics/delta5/swann_idle.md5anim + anim talk_secondary2 models/md5/cinematics/delta5/swann_idle.md5anim +} + +entityDef delta5_wounded_swann { + "inherit" "character_default" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "model" "delta5_wounded_swann" + "anim" "idle" + "size" "64 20 32" + "use_aas" "" + "turn_rate" "0" + "eye_height" "28" + "npc_name" "Counselor Swann" + + "animate_z" "1" + "talktrigger" "1" + "no_cower" "1" + "talk_no_turn" "1" + + "bone_focus" "headcontrol" + "bone_orientation" "Body" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-0" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + + "look_min" "-54 -39 0" + "look_max" "9 39 0" + "look_joint headcontrol" "1 1 0" + + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + "copy_joint_world eyecontrol" "eyecontrol" + + //"look_joint headcontrol" "1 1 1" + + "def_head" "delta5_swann_head" + "head_joint" "Shoulders" + + "ragdoll" "char_wounded_marine" + + "damage_zone chest" "*Waist -*loneckcontrol" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "origin Body2" + "gib" "1" + + "model_gib" "models/md5/chars/skeleton.md5mesh" + + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + "snd_gibbed" "sound_giblets" + "snd_bounce" "ragdoll_impact" + +} + diff --git a/base/def/map_enpro.def b/base/def/map_enpro.def new file mode 100644 index 00000000..11075c2f --- /dev/null +++ b/base/def/map_enpro.def @@ -0,0 +1,1291 @@ + +export fred { + + camera maps/fred/enpro/monitor.mb -range 1 200 -dest models/md5/cinematics/enpro/monitorcam + camera maps/fred/enpro/monitor2.mb -range 1 32 -dest models/md5/cinematics/enpro/monitorcam2 + + camera maps/fred/enpro/escape_shot1.mb -range 1 90 -dest models/md5/cinematics/enpro/escapecam1 + camera maps/fred/enpro/escape_shot2.mb -range 91 236 -dest models/md5/cinematics/enpro/escapecam2 + camera maps/fred/enpro/swann_campbell.mb -range 237 315 -dest models/md5/cinematics/enpro/escapecam3 + camera maps/fred/enpro/escape_shot3.mb -range 316 456 -dest models/md5/cinematics/enpro/escapecam4 + + camera maps/fred/enpro/marine_battle_shot1.mb -range 1 170 -dest models/md5/cinematics/enpro/exitcam_shot1 + camera maps/fred/enpro/marine_battle_shot2.mb -range 171 259 -dest models/md5/cinematics/enpro/exitcam_shot2 + camera maps/fred/enpro/marine_battle_shot3.mb -range 260 321 -dest models/md5/cinematics/enpro/exitcam_shot3 + camera maps/fred/enpro/marine_battle_shot4.mb -range 350 420 -dest models/md5/cinematics/enpro/exitcam_shot4 + camera maps/fred/enpro/marine_battle_shot5.mb -range 452 510 -dest models/md5/cinematics/enpro/exitcam_shot5 + camera maps/fred/enpro/enpro_exit2.mb -range 511 698 -dest models/md5/cinematics/enpro/exitcam_shot6 + camera maps/fred/enpro/enpro_exit2.mb -range 699 740 -dest models/md5/cinematics/enpro/exitcam_shot7 + camera maps/fred/enpro/enpro_exit2.mb -range 741 979 -dest models/md5/cinematics/enpro/exitcam_shot8 + + camera maps/fred/enpro/glassexplosion.mb -dest models/md5/cinematics/enpro/glassexplosioncam + + camera maps/fred/enpro/tuberide.mb -dest models/md5/cinematics/enpro/tuberidecam + + camera maps/fred/enpro/lostsoulintro.mb -range 1 219 -dest models/md5/cinematics/enpro/lostcam1 + camera maps/fred/enpro/lostsoulintro_poppy.mb -range 187 269 -dest models/md5/cinematics/enpro/lostcam2 + camera maps/fred/enpro/lostsoulintro.mb -range 284 320 -dest models/md5/cinematics/enpro/lostcam3 + + + camera maps/eric/enpro/wounded_marine.mb -range 1 92 -dest models/md5/cinematics/enpro/marine_cam1 + camera maps/eric/enpro/wounded_marine.mb -range 93 194 -dest models/md5/cinematics/enpro/marine_cam2 + camera maps/eric/enpro/wounded_marine.mb -range 195 340 -dest models/md5/cinematics/enpro/marine_cam3 + camera maps/eric/enpro/wounded_marine.mb -range 341 476 -dest models/md5/cinematics/enpro/marine_cam4 + camera maps/eric/enpro/wounded_marine.mb -range 477 571 -dest models/md5/cinematics/enpro/marine_cam5 + camera maps/eric/enpro/wounded_marine.mb -range 572 598 -dest models/md5/cinematics/enpro/marine_cam6 + + + addoptions -prefix ENV_ + mesh maps/fred/enpro/enpro_exit2.mb -range 1 1 -dest models/md5/cinematics/enpro/exithelmet + anim maps/fred/enpro/enpro_exit2.mb -range 511 979 -dest models/md5/cinematics/enpro/exithelmet + + mesh maps/fred/enpro/lostsoulintro_poppy.mb -dest models/md5/cinematics/enpro/lostintro_spine + anim maps/fred/enpro/lostsoulintro_poppy.mb -range 187 269 -dest models/md5/cinematics/enpro/lostintro_spine + + addoptions -prefix CHAIR_ + mesh maps/fred/enpro/lostsoulintro.mb -dest models/md5/cinematics/enpro/chair_lostintro + anim maps/fred/enpro/lostsoulintro.mb -dest models/md5/cinematics/enpro/chair_lostintro + + addoptions -prefix LOST_ -keep lost_flame1 -parent lost_flame1 Head + mesh maps/fred/enpro/lostsoulintro.mb -dest models/md5/cinematics/enpro/lostsoul_mesh + anim maps/fred/enpro/lostsoulintro_poppy.mb -range 187 269 -dest models/md5/cinematics/enpro/lostsoul_lostintro1 + anim maps/fred/enpro/lostsoulintro.mb -range 284 320 -dest models/md5/cinematics/enpro/lostsoul_lostintro2 +} + +export fred { + options -prefix w_ -keep Lknee Rknee -keep fireball ROT -parent fireball head_FK -parent spine_1 ROT -parent ROT root + anim maps/eric/enpro/wounded_marine.mb -range 1 595 -dest models/md5/cinematics/enpro/marine_wraith + +} + +export fred { + options -prefix W_ -keep Lknee Rknee -keep fireball ROT -parent fireball head_FK -parent spine_1 ROT -parent ROT root + anim maps/fred/enpro/marine_battle_shot3.mb -range 260 321 -dest models/md5/cinematics/enpro/exit_wraith + +} + +export fred { + options -prefix KEY_ + mesh maps/eric/enpro/wounded_marine.mb -dest models/md5/cinematics/enpro/wounded_keycard + anim maps/eric/enpro/wounded_marine.mb -range 1 92 -dest models/md5/cinematics/enpro/wounded_keycard_a + anim maps/eric/enpro/wounded_marine.mb -range 93 194 -dest models/md5/cinematics/enpro/wounded_keycard_b + anim maps/eric/enpro/wounded_marine.mb -range 195 340 -dest models/md5/cinematics/enpro/wounded_keycard_c + anim maps/eric/enpro/wounded_marine.mb -range 341 476 -dest models/md5/cinematics/enpro/wounded_keycard_d + anim maps/eric/enpro/wounded_marine.mb -range 477 571 -dest models/md5/cinematics/enpro/wounded_keycard_e + anim maps/eric/enpro/wounded_marine.mb -range 572 598 -dest models/md5/cinematics/enpro/wounded_keycard_f +} + + +entityDef enpro_exit_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim exitshot_a" "models/md5/cinematics/enpro/exitcam_shot1.md5camera" + "anim exitshot_c" "models/md5/cinematics/enpro/exitcam_shot2.md5camera" + "anim exitshot_b" "models/md5/cinematics/enpro/exitcam_shot3.md5camera" + "anim exitshot_d" "models/md5/cinematics/enpro/exitcam_shot4.md5camera" + "anim exitshot_e" "models/md5/cinematics/enpro/exitcam_shot5.md5camera" + "anim exitshot_f" "models/md5/cinematics/enpro/exitcam_shot6.md5camera" + "anim exitshot_g" "models/md5/cinematics/enpro/exitcam_shot7.md5camera" + "anim exitshot_h" "models/md5/cinematics/enpro/exitcam_shot8.md5camera" + + +} + +model enpro_soldier1 { + inherit npc_marine_w_mgun + + anim shot_a models/md5/cinematics/enpro/exitsoldier2_shot1.md5anim { + frame 1 event ignoreDamage + //frame 1 sound_global enpro_intro_imps + //frame 1 sound_global enpro_intro_guns + frame 6 sound_body player_sounds_footstep + + frame 25 sound_global enpro_intro + frame 17 sound_body player_sounds_footstep + frame 31 sound_body player_sounds_footstep + frame 45 sound_body player_sounds_footstep + frame 59 sound_body player_sounds_footstep + frame 71 sound_body player_sounds_footstep + frame 85 sound_body player_sounds_footstep + frame 96 sound_body player_sounds_footstep + frame 112 sound_body player_sounds_footstep + frame 124 sound_body player_sounds_footstep + frame 136 sound_body player_sounds_footstep + frame 145 sound_body player_sounds_footstep + + } + + anim shot_b models/md5/cinematics/enpro/exitsoldier2_shot2.md5anim { + frame 1 event ignoreDamage + + frame 58 sound_body player_sounds_footstep + frame 66 sound_body player_sounds_footstep + frame 74 sound_voice snd_hallway + frame 75 sound_body player_sounds_footstep + } + anim shot_c models/md5/cinematics/enpro/exitsoldier2_shot3.md5anim { + frame 1 event ignoreDamage + frame 5 sound_body player_sounds_footstep + frame 16 sound_body player_sounds_footstep + frame 30 sound_body player_sounds_footstep + frame 43 sound_body player_sounds_footstep + frame 57 sound_body player_sounds_footstep + + } + + anim shot_d models/md5/cinematics/enpro/exitsoldier1_shot4.md5anim { + frame 30 sound_global enpro_sfx_imps + frame 68 sound_voice snd_what + + } + anim shot_e models/md5/cinematics/enpro/exitsoldier2_shot5.md5anim { + frame 1 event ignoreDamage + frame 9 sound_body player_sounds_footstep + frame 23 sound_body player_sounds_footstep + frame 35 sound_body player_sounds_footstep + frame 50 sound_body player_sounds_footstep + } + + anim shot_f models/md5/cinematics/enpro/exitsoldier2_shot6.md5anim { + frame 1 event ignoreDamage + frame 4 sound_body player_sounds_footstep + frame 9 sound_body player_sounds_footstep + frame 32 sound_body player_sounds_footstep + frame 41 sound_body player_sounds_footstep + frame 52 sound_body player_sounds_footstep + frame 116 sound_body player_sounds_footstep + frame 155 sound_voice snd_what + + } + + anim shot_g models/md5/cinematics/enpro/exitsoldier2_shot7.md5anim { + frame 1 event ignoreDamage + frame 16 launch_missile RHANDCONNECTOR + frame 16 sound_global enpro_intro_guns + frame 18 launch_missile RHANDCONNECTOR + frame 20 launch_missile RHANDCONNECTOR + frame 22 launch_missile RHANDCONNECTOR + frame 24 launch_missile RHANDCONNECTOR + frame 26 launch_missile RHANDCONNECTOR + frame 28 launch_missile RHANDCONNECTOR + frame 32 launch_missile RHANDCONNECTOR + frame 36 launch_missile RHANDCONNECTOR + frame 40 launch_missile RHANDCONNECTOR + + } + + anim shot_h models/md5/cinematics/enpro/exitsoldier2_shot8.md5anim { + frame 1 event ignoreDamage + frame 3 launch_missile RHANDCONNECTOR + frame 7 launch_missile RHANDCONNECTOR + frame 10 launch_missile RHANDCONNECTOR + frame 14 launch_missile RHANDCONNECTOR + frame 18 launch_missile RHANDCONNECTOR + frame 22 launch_missile RHANDCONNECTOR + frame 25 launch_missile RHANDCONNECTOR + frame 28 launch_missile RHANDCONNECTOR + frame 32 launch_missile RHANDCONNECTOR + frame 33 launch_missile RHANDCONNECTOR + frame 36 launch_missile RHANDCONNECTOR + frame 39 launch_missile RHANDCONNECTOR + frame 41 launch_missile RHANDCONNECTOR + frame 43 launch_missile RHANDCONNECTOR + frame 61 sound_body player_sounds_footstep + frame 66 sound_body player_sounds_footstep + frame 71 sound_body player_sounds_footstep + + //test + frame 63 launch_missile RHANDCONNECTOR + frame 65 launch_missile RHANDCONNECTOR + frame 68 launch_missile RHANDCONNECTOR + frame 70 launch_missile RHANDCONNECTOR + frame 73 launch_missile RHANDCONNECTOR + frame 75 launch_missile RHANDCONNECTOR + frame 78 launch_missile RHANDCONNECTOR + frame 80 launch_missile RHANDCONNECTOR + frame 82 launch_missile RHANDCONNECTOR + frame 84 launch_missile RHANDCONNECTOR + frame 86 launch_missile RHANDCONNECTOR + frame 89 launch_missile RHANDCONNECTOR + frame 91 launch_missile RHANDCONNECTOR + frame 93 launch_missile RHANDCONNECTOR + frame 95 launch_missile RHANDCONNECTOR + frame 97 launch_missile RHANDCONNECTOR + frame 100 launch_missile RHANDCONNECTOR + frame 102 launch_missile RHANDCONNECTOR + frame 105 launch_missile RHANDCONNECTOR + frame 107 launch_missile RHANDCONNECTOR + frame 109 launch_missile RHANDCONNECTOR + frame 112 launch_missile RHANDCONNECTOR + frame 114 launch_missile RHANDCONNECTOR + frame 116 launch_missile RHANDCONNECTOR + frame 119 launch_missile RHANDCONNECTOR + frame 121 launch_missile RHANDCONNECTOR + frame 123 launch_missile RHANDCONNECTOR + frame 125 launch_missile RHANDCONNECTOR + + } + + + +} + +entityDef enpro_soldier1 { + "inherit" "npc_base" + "model" "enpro_soldier1" + "sound_bone" "Chest" + "def_projectile" "projectile_bullet_zsec_machinegun" + "projectile_spread" "0" + "num_projectiles" "1" + "smoke_weapon" "cgsmoke.smoke" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" + "cinematic" "1" + "gib" "0" + "model_gib" "models/md5/chars/skeleton_w_mgun.md5mesh" + "mass" "5000" + "ik_numlegs" "0" + "ragdoll" "" + + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" + + "num_cinematics" "6" + "anim1" "shot_a" + "anim2" "shot_c" + "anim3" "shot_b" + "anim4" "shot_d" + "anim5" "shot_g" + "anim6" "shot_h" + + + + "snd_hallway" "enpro_hallway_clear" + "snd_what" "enpro_what_the_hell" + + + +} + +model enpro_soldier2 { + inherit npc_marine_w_mgun + + anim shot_a models/md5/cinematics/enpro/exitsoldier1_shot1.md5anim { + frame 1 event ignoreDamage + frame 16 sound_body player_sounds_footstep + frame 29 sound_body player_sounds_footstep + frame 41 sound_body player_sounds_footstep + frame 49 sound_body player_sounds_footstep + frame 54 sound_body player_sounds_footstep + frame 60 sound_body player_sounds_footstep + frame 67 sound_body player_sounds_footstep + frame 99 sound_body player_sounds_footstep + frame 104 sound_body player_sounds_footstep + frame 119 sound_body player_sounds_footstep + frame 128 sound_body player_sounds_footstep + frame 133 sound_body player_sounds_footstep + frame 140 sound_body player_sounds_footstep + + frame 50 sound_voice snd_move_in + } + anim shot_b models/md5/cinematics/enpro/exitsoldier1_shot2.md5anim { + frame 1 event ignoreDamage + frame 3 sound_body player_sounds_footstep + frame 11 sound_body player_sounds_footstep + } + + anim shot_c models/md5/cinematics/enpro/exitsoldier1_shot3.md5anim { + frame 1 event ignoreDamage + frame 7 sound_body player_sounds_footstep + frame 16 sound_body player_sounds_footstep + frame 30 sound_body player_sounds_footstep + frame 44 sound_body player_sounds_footstep + frame 58 sound_body player_sounds_footstep + frame 30 sound_voice snd_quiet + } + anim shot_d models/md5/cinematics/enpro/exitsoldier2_shot4.md5anim { + frame 1 event ignoreDamage + frame 12 sound_body player_sounds_footstep + frame 24 sound_body player_sounds_footstep + frame 36 sound_body player_sounds_footstep + frame 48 sound_body player_sounds_footstep + frame 60 sound_body player_sounds_footstep + } + + anim shot_e models/md5/cinematics/enpro/exitsoldier1_shot5.md5anim { + frame 1 event ignoreDamage + frame 1 sound_voice snd_man_down + frame 4 sound_body player_sounds_footstep + frame 14 sound_body player_sounds_footstep + frame 28 sound_body player_sounds_footstep + frame 41 sound_body player_sounds_footstep + frame 55 sound_body player_sounds_footstep + } + anim shot5b models/md5/cinematics/enpro/exitsoldier1_shot5.md5anim { + frame 1 event ignoreDamage + frame 4 sound_body player_sounds_footstep + frame 14 sound_body player_sounds_footstep + frame 28 sound_body player_sounds_footstep + frame 41 sound_body player_sounds_footstep + frame 55 sound_body player_sounds_footstep + } + + anim shot_f models/md5/cinematics/enpro/exitsoldier1_shot6.md5anim { + frame 1 event ignoreDamage + frame 54 sound_voice snd_moving_right + frame 59 sound_body player_sounds_footstep + frame 68 sound_body player_sounds_footstep + frame 77 sound_body player_sounds_footstep + frame 82 sound_body player_sounds_footstep + + } + + anim shot_g models/md5/cinematics/enpro/exitsoldier1_shot7.md5anim { + frame 1 event ignoreDamage + } + + anim shot_h models/md5/cinematics/enpro/exitsoldier1_shot8.md5anim { + frame 1 event ignoreDamage + frame 9 launch_missile RHANDCONNECTOR + frame 11 launch_missile RHANDCONNECTOR + frame 14 launch_missile RHANDCONNECTOR + frame 16 launch_missile RHANDCONNECTOR + frame 18 launch_missile RHANDCONNECTOR + frame 21 launch_missile RHANDCONNECTOR + frame 24 launch_missile RHANDCONNECTOR + frame 28 launch_missile RHANDCONNECTOR + frame 31 launch_missile RHANDCONNECTOR + frame 34 sound_body player_sounds_footstep + frame 34 sound_voice snd_son + frame 41 launch_missile RHANDCONNECTOR + frame 43 launch_missile RHANDCONNECTOR + frame 46 launch_missile RHANDCONNECTOR + frame 48 launch_missile RHANDCONNECTOR + frame 51 launch_missile RHANDCONNECTOR + frame 53 launch_missile RHANDCONNECTOR + frame 56 launch_missile RHANDCONNECTOR + frame 59 launch_missile RHANDCONNECTOR + frame 61 launch_missile RHANDCONNECTOR + frame 64 sound_body player_sounds_footstep + + //test + frame 63 launch_missile RHANDCONNECTOR + frame 65 launch_missile RHANDCONNECTOR + frame 68 launch_missile RHANDCONNECTOR + frame 70 launch_missile RHANDCONNECTOR + frame 73 launch_missile RHANDCONNECTOR + frame 75 launch_missile RHANDCONNECTOR + frame 78 launch_missile RHANDCONNECTOR + frame 80 launch_missile RHANDCONNECTOR + frame 82 launch_missile RHANDCONNECTOR + frame 84 launch_missile RHANDCONNECTOR + frame 86 launch_missile RHANDCONNECTOR + frame 89 launch_missile RHANDCONNECTOR + frame 91 launch_missile RHANDCONNECTOR + frame 93 launch_missile RHANDCONNECTOR + frame 95 launch_missile RHANDCONNECTOR + frame 97 launch_missile RHANDCONNECTOR + frame 100 launch_missile RHANDCONNECTOR + frame 102 launch_missile RHANDCONNECTOR + frame 105 launch_missile RHANDCONNECTOR + frame 107 launch_missile RHANDCONNECTOR + frame 109 launch_missile RHANDCONNECTOR + frame 112 launch_missile RHANDCONNECTOR + frame 114 launch_missile RHANDCONNECTOR + frame 116 launch_missile RHANDCONNECTOR + frame 119 launch_missile RHANDCONNECTOR + frame 121 launch_missile RHANDCONNECTOR + frame 123 launch_missile RHANDCONNECTOR + frame 125 launch_missile RHANDCONNECTOR + + + } + + +} + +entityDef enpro_soldier2 { + "inherit" "npc_base" + "model" "enpro_soldier2" + "sound_bone" "Chest" + "def_projectile" "projectile_bullet_zsec_machinegun" + "projectile_spread" "0" + "num_projectiles" "1" + "smoke_weapon" "cgsmoke.smoke" + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" + "cinematic" "1" + "gib" "0" + "mass" "5000" + "model_gib" "models/md5/chars/skeleton_w_mgun.md5mesh" + + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + "ik_numlegs" "0" + "ragdoll" "" + + "copy_joint_world eyecontrol" "" + + + //"num_cinematics" "8" + //"anim1" "shot_a" + //"anim2" "shot_c" + //"anim3" "shot_b" + //"anim4" "shot_d" + //"anim5" "shot_e" + //"anim6" "shot_f" + //"anim7" "shot_g" + //"anim8" "shot_h" + + "num_cinematics" "6" + "anim1" "shot_a" + "anim2" "shot_c" + "anim3" "shot_b" + "anim4" "shot_d" + "anim5" "shot_g" + "anim6" "shot_h" + + + + "snd_move_in" "enpro_move_in" + "snd_quiet" "enpro_quiet" + "snd_moving_in" "enpro_moving_in" + "snd_man_down" "enpro_man_down" + "snd_moving_right" "enpro_moving_right" + "snd_son" "enpro_son_of_a" + +} + +model enpro_soldier3 { + inherit npc_marine_w_mgun + + anim shot_a models/md5/cinematics/enpro/exitsoldier3_shot1.md5anim { + frame 1 event ignoreDamage + frame 91 sound_body player_sounds_footstep + frame 103 sound_body player_sounds_footstep + frame 117 sound_body player_sounds_footstep + frame 129 sound_body player_sounds_footstep + frame 144 sound_body player_sounds_footstep + frame 156 sound_body player_sounds_footstep + frame 169 sound_body player_sounds_footstep + } + anim shot_b models/md5/cinematics/enpro/exitsoldier3_shot2.md5anim { + frame 1 event ignoreDamage + frame 6 sound_body player_sounds_footstep + frame 14 sound_body player_sounds_footstep + frame 20 sound_body player_sounds_footstep + frame 28 sound_body player_sounds_footstep + frame 14 sound_voice snd_status + } + anim shot_c models/md5/cinematics/enpro/exitsoldier3_shot3.md5anim { + frame 1 event ignoreDamage + frame 5 sound_body player_sounds_footstep + frame 10 sound_body player_sounds_footstep + frame 18 sound_body player_sounds_footstep + frame 28 sound_body player_sounds_footstep + frame 36 sound_body player_sounds_footstep + frame 45 sound_body player_sounds_footstep + frame 53 sound_body player_sounds_footstep + frame 62 sound_body player_sounds_footstep + } + anim shot_d models/md5/cinematics/enpro/exitsoldier3_shot4.md5anim { + frame 1 event ignoreDamage + frame 21 sound_body player_sounds_footstep + frame 33 sound_body player_sounds_footstep + frame 42 sound_body player_sounds_footstep + frame 52 sound_body player_sounds_footstep + frame 61 sound_body player_sounds_footstep + + frame 15 sound_voice snd_nothing_here + //frame 55 sound_body monster_demon_imp_sight + frame 55 sound_voice snd_pain + } + anim shot_e models/md5/cinematics/enpro/exitsoldier3_shot5.md5anim { + frame 1 event ignoreDamage + } + anim shot_f models/md5/cinematics/enpro/exitsoldier3_shot6.md5anim { + frame 1 event ignoreDamage + } + anim shot_g models/md5/cinematics/enpro/exitsoldier3_shot7.md5anim { + frame 1 event ignoreDamage + } + anim shot_h models/md5/cinematics/enpro/exitsoldier3_shot8.md5anim { + frame 1 event ignoreDamage + } + +} + +entityDef enpro_soldier3 { + "inherit" "npc_base" + "model" "enpro_soldier3" + "sound_bone" "Chest" + "def_projectile" "projectile_bullet_zsec_machinegun" + "projectile_spread" "0" + "num_projectiles" "1" + "smoke_weapon" "cgsmoke.smoke" + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" + "cinematic" "1" + "gib" "0" + "model_gib" "models/md5/chars/skeleton_w_mgun.md5mesh" + "mass" "5000" + "ik_numlegs" "0" + "ragdoll" "" + + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + + //"num_cinematics" "8" + //"anim1" "shot_a" + //"anim2" "shot_c" + //"anim3" "shot_b" + //"anim4" "shot_d" + //"anim5" "shot_e" + //"anim6" "shot_f" + //"anim7" "shot_g" + //"anim8" "shot_h" + + "num_cinematics" "6" + "anim1" "shot_a" + "anim2" "shot_c" + "anim3" "shot_b" + "anim4" "shot_d" + "anim5" "shot_g" + "anim6" "shot_h" + + + + "snd_status" "enpro_give_status" + "snd_nothing_here" "enpro_nothing_here" + "snd_pain" "enpro_pain" + +} + +model enpro_soldier4 { + inherit npc_marine_w_mgun + + anim shot_a models/md5/cinematics/enpro/exitsoldier4_shot6.md5anim { + frame 1 event ignoreDamage + frame 4 sound_voice snd_johnny + frame 6 sound_body player_sounds_footstep + frame 13 sound_body player_sounds_footstep + frame 21 sound_body player_sounds_footstep + frame 89 sound_voice snd_watch + frame 179 sound_voice snd_fire + } + + anim shot_b models/md5/cinematics/enpro/exitsoldier4_shot7.md5anim { + frame 1 event ignoreDamage + frame 19 launch_missile RHANDCONNECTOR + frame 23 launch_missile RHANDCONNECTOR + frame 25 launch_missile RHANDCONNECTOR + frame 27 launch_missile RHANDCONNECTOR + frame 30 launch_missile RHANDCONNECTOR + frame 32 launch_missile RHANDCONNECTOR + frame 35 launch_missile RHANDCONNECTOR + frame 38 launch_missile RHANDCONNECTOR + frame 41 launch_missile RHANDCONNECTOR + } + + anim shot_c models/md5/cinematics/enpro/exitsoldier4_shot8.md5anim { + frame 1 event ignoreDamage + + frame 73 sound_body player_sounds_footstep + frame 92 sound_body player_sounds_footstep + frame 102 sound_body player_sounds_footstep + frame 115 sound_body player_sounds_footstep + frame 128 sound_body player_sounds_footstep + + frame 2 launch_missile RHANDCONNECTOR + frame 5 launch_missile RHANDCONNECTOR + frame 8 launch_missile RHANDCONNECTOR + frame 11 launch_missile RHANDCONNECTOR + frame 14 launch_missile RHANDCONNECTOR + frame 16 launch_missile RHANDCONNECTOR + frame 20 launch_missile RHANDCONNECTOR + + frame 72 sound_voice snd_swing + frame 119 sound_voice snd_down + + frame 139 launch_missile RHANDCONNECTOR + frame 141 launch_missile RHANDCONNECTOR + frame 143 launch_missile RHANDCONNECTOR + frame 146 launch_missile RHANDCONNECTOR + frame 148 launch_missile RHANDCONNECTOR + + frame 150 launch_missile RHANDCONNECTOR + frame 152 launch_missile RHANDCONNECTOR + frame 154 launch_missile RHANDCONNECTOR + frame 156 launch_missile RHANDCONNECTOR + frame 158 launch_missile RHANDCONNECTOR + frame 160 launch_missile RHANDCONNECTOR + frame 164 launch_missile RHANDCONNECTOR + frame 168 launch_missile RHANDCONNECTOR + frame 170 launch_missile RHANDCONNECTOR + frame 172 launch_missile RHANDCONNECTOR + frame 173 launch_missile RHANDCONNECTOR + + frame 155 trigger bulett_sparks_1 + frame 157 trigger bulett_sparks_2 + frame 159 trigger bulett_sparks_3 + frame 161 trigger bulett_sparks_4 + frame 163 trigger bulett_sparks_5 + frame 165 trigger bulett_sparks_6 + frame 167 trigger bulett_sparks_7 +// frame 168 trigger bulett_sparks_8 +// frame 169 trigger bulett_sparks_9 +// frame 170 trigger bulett_sparks_10 +// frame 171 trigger bulett_sparks_11 +// frame 172 trigger bulett_sparks_12 + + + frame 173 trigger pipe_explode1 + frame 174 trigger pipe_explode1 + frame 174 trigger fredminiexplode1 + frame 176 trigger pipe_explode1 + frame 178 trigger pipe_explode1 + frame 210 trigger pipe_explode2 + frame 211 trigger fredminiexplode2 + frame 211 trigger pipe_explode2 + frame 226 trigger pipe_explode3 + frame 227 trigger fredminiexplode3 + frame 228 trigger pipe_explode3 + + + } + +} + +entityDef enpro_soldier4 { + "inherit" "npc_base" + "model" "enpro_soldier4" + "sound_bone" "Chest" + "def_projectile" "projectile_bullet_zsec_machinegun" + "projectile_spread" "0" + "num_projectiles" "1" + "smoke_weapon" "cgsmoke.smoke" + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" + "cinematic" "1" + "gib" "0" + "model_gib" "models/md5/chars/skeleton_w_mgun.md5mesh" + "mass" "5000" + "ik_numlegs" "0" + "ragdoll" "" + + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + + //"num_cinematics" "3" + //"anim1" "shot_a" + //"anim2" "shot_b" + //"anim3" "shot_c" + + "num_cinematics" "2" + "anim1" "shot_b" + "anim2" "shot_c" + + + "snd_johnny" "enpro_johnny" + "snd_watch" "enpro_watch_yourself" + "snd_swing" "enpro_swinging_left" + "snd_down" "enpro_im_down" + "snd_fire" "enpro_fire_fire" + +} + + +model enpro_exit_imp1 { + mesh models/md5/monsters/imp/imp.md5mesh + anim exit1 models/md5/cinematics/enpro/exitimp1.md5anim { + frame 13 trigger implight1 + } +} + +entityDef enpro_exit_imp1 { + "inherit" "cin_base" + "model" "enpro_exit_imp1" + "anim" "exit1" + "cinematic" "1" +} + +model enpro_exit_imp2 { + mesh models/md5/monsters/imp/imp.md5mesh + anim exitstart_a models/md5/cinematics/enpro/exitimp2a.md5anim + anim exitstart_b models/md5/cinematics/enpro/exitimp2b.md5anim + anim exitstart_c models/md5/cinematics/enpro/exitimp2c.md5anim + + anim exit models/md5/cinematics/enpro/exitimp2.md5anim + +} + +entityDef enpro_exit_imp2 { + "inherit" "cin_base" + "model" "enpro_exit_imp2" + "anim" "exit" + "cinematic" "1" +} + +entityDef enpro_exit_imp3 { + "inherit" "cin_base" + "model" "enpro_exit_imp2" + "anim" "exitstart_a" + "cinematic" "1" + "auto_advance" "1" + "num_anims" "3" + "anim1" "exitstart_a" + "anim2" "exitstart_b" + "anim3" "exitstart_c" +} + +model enpro_exit_helmet { + mesh models/md5/cinematics/enpro/exithelmet.md5mesh + anim exit models/md5/cinematics/enpro/exithelmet.md5anim { + frame 147 trigger helmetsplat + } +} + +entityDef enpro_exit_helmet { + "inherit" "cin_base" + "model" "enpro_exit_helmet" + "cinematic" "1" + "anim" "exit" +} + + +entityDef enpro_monitor_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim monitor" "models/md5/cinematics/enpro/monitorcam.md5camera" + "anim endmonitor" "models/md5/cinematics/enpro/monitorcam2.md5camera" +} +entityDef enpro_glass_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim glassexplosion" "models/md5/cinematics/enpro/glassexplosioncam.md5camera" +} +entityDef enpro_escape_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim escape1" "models/md5/cinematics/enpro/escapecam1.md5camera" + "anim escape2" "models/md5/cinematics/enpro/escapecam2.md5camera" + "anim escape3" "models/md5/cinematics/enpro/escapecam3.md5camera" + "anim escape4" "models/md5/cinematics/enpro/escapecam4.md5camera" +} + +entityDef enpro_tuberide_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "cinematic" "1" + + "spawnclass" "idCameraAnim" + + "anim tuberide" "models/md5/cinematics/enpro/tuberidecam.md5camera" +} + +entityDef enpro_lostintro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim lostintro1" "models/md5/cinematics/enpro/lostcam1.md5camera" + "anim lostintro2" "models/md5/cinematics/enpro/lostcam2.md5camera" + "anim lostintro3" "models/md5/cinematics/enpro/lostcam3.md5camera" +} + +model enpro_lost_spine { + mesh models/md5/cinematics/enpro/lostintro_spine.md5mesh + anim pop models/md5/cinematics/enpro/lostintro_spine.md5anim +} + +entityDef enpro_lost_spine { + "inherit" "cin_base" + "model" "enpro_lost_spine" + "cinematic" "1" + "anim" "pop" +} + + +model enpro_lost_chair { + mesh models/md5/cinematics/enpro/chair_lostintro.md5mesh + anim exit models/md5/cinematics/enpro/chair_lostintro.md5anim + +} + +entityDef enpro_lost_chair { + "inherit" "cin_base" + "model" "enpro_lost_chair" + "cinematic" "1" + "anim" "exit" +} + + +model enpro_cin_female { + skin skins/poppy.skin + mesh models/md5/characters/poppy/poppy.md5mesh + anim af_pose models/md5/characters/poppy/initial.md5anim + anim lostintrostart models/md5/cinematics/enpro/fem_lostintrostart.md5anim + anim lostintro1 models/md5/cinematics/enpro/fem_lostintro1.md5anim { + frame 1 skin skins/poppy.skin + frame 1 sound_global enpro_lostsoul + frame 30 sound_voice2 enpro_chair + frame 65 sound_voice snd_help + frame 120 sound_body2 enpro_slow_whoosh + frame 165 skin skins/poppyfx1 + frame 165 call setShaderTime + frame 167 sound_voice2 snd_leatherface + + } + anim lostintro2 models/md5/cinematics/enpro/fem_lostintro2.md5anim { + frame 1 skin skins/poppyfx2 + frame 1 sound_voice snd_scream + frame 15 trigger popemit + frame 43 trigger lostspurt1 + frame 45 sound_voice2 snd_spinerip + frame 45 trigger func_smoke_1 + frame 46 trigger lostspurt2 + frame 46 sound_global monster_demon_lostsoul_sight + frame 47 event startRagdoll + } + +} + +entityDef enpro_cin_female { + "inherit" "cin_base" + "bleed" "1" + "model" "enpro_cin_female" + "anim" "lostintro" + "sound_bone" "Chest" + "ragdoll" "monster_zombie_zfem" + "velocityTime" "200" + "combatModel" "1" + "takeDamage" "1" + "cinematic" "1" + "skin" "skins/poppy.skin" + "health" "10" + + "gib" "1" + "skin_dropGib" "skins/poppy_gib.skin" + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "HEAD_headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + + "snd_help" "enpro_help_me" + "snd_scream" "enpro_scream" + "snd_spinerip" "enpro_spinerip" + "snd_leatherface" "enpro_leatherface" + "snd_chair" "enpro_chair" + "snd_gibbed" "sound_giblets" + "snd_bounce" "ragdoll_impact" +} + +model enpro_cin_lostsoul { + mesh models/md5/cinematics/enpro/lostsoul_mesh.md5mesh + anim lostintro1 models/md5/cinematics/enpro/lostsoul_lostintro1.md5anim + anim lostintro2 models/md5/cinematics/enpro/lostsoul_lostintro2.md5anim { + frame 1 sound_voice2 enpro_cin_lsflight + } +} + +entityDef enpro_cin_lostsoul { + "inherit" "cin_base" + "model" "enpro_cin_lostsoul" + "anim" "lostintro1" + "sound_bone" "Head" + "auto_advance" "1" + "num_anims" "2" + "anim1" "lostintro1" + "anim2" "lostintro2" + "cinematic" "1" +} + + +model enpro_cin_player { + mesh models/md5/characters/player/mocap/wepplayer.md5mesh + skin skins/player/shotgun.skin + + anim monitor models/md5/cinematics/enpro/monitor_player.md5anim { + frame 1 sound_global enpro_coolantrod + frame 1 sound_global enpro_coolantrod_music + } + anim endmonitor models/md5/cinematics/enpro/monitor_player2.md5anim + anim lostintro1 models/md5/cinematics/enpro/player_lostintro1.md5anim + anim lostintro2 models/md5/cinematics/enpro/player_lostintro2.md5anim + //anim wounded1 models/md5/cinematics/enpro/marine_player1.md5anim { + // frame 463 trigger wsplat + //} + +} + +entityDef enpro_cin_player { + "inherit" "cin_base" + "model" "enpro_cin_player" + "anim" "monitor" + "sound_bone" "Chest" + "spawnclass" "idAnimated" + "cinematic" "1" + +} + + +model enpro_wounded_player { + + skin skins/player/noweapon.skin + + mesh models/md5/characters/player/mocap/player.md5mesh + + + channel torso ( ) + channel legs ( *origin ) + + + anim idle models/md5/cinematics/enpro/marine_player1.md5anim + anim stand models/md5/cinematics/enpro/marine_player1.md5anim + + anim wounded_a models/md5/cinematics/enpro/marine_player1.md5anim { + frame 1 sound_global enpro_wounded_music + } + anim wounded_b models/md5/cinematics/enpro/marine_player2.md5anim + anim wounded_c models/md5/cinematics/enpro/marine_player3.md5anim + anim wounded_d models/md5/cinematics/enpro/marine_player4.md5anim + anim wounded_e models/md5/cinematics/enpro/marine_player5.md5anim + anim wounded_f models/md5/cinematics/enpro/marine_player6.md5anim + +} + +entityDef enpro_wounded_player { + "inherit" "character_default" + "model" "enpro_wounded_player" + "anim" "wounded1" + "sound_bone" "Chest" + "size" "" + "cinematic" "1" + + "auto_advance" "1" + "num_cinematics" "6" + "anim1" "wounded_a" + "anim2" "wounded_b" + "anim3" "wounded_c" + "anim4" "wounded_d" + "anim5" "wounded_e" + "anim6" "wounded_f" + + "def_attach" "enpro_cin_machinegun" + //"def_attach" "underground_cin_pistol" + +} + +model enpro_cin_machinegun { + mesh models/md5/weapons/machinegun_world/worldmachinegun.md5mesh + anim idle models/md5/weapons/machinegun_world/machinegun_idle.md5anim + +} + +entityDef enpro_cin_machinegun { + "inherit" "cin_base" + "model" "enpro_cin_machinegun" + "anim" "idle" + "joint" "Lhand" + "origin" "0 4 0" + "angles" "270 160 0" + "cinematic" "1" +} + +model enpro_campbellhead { + + inherit head_campbell + + anim escape_a models/md5/heads/campbell/enpro/escape_campheadshot1.md5anim + anim escape_b models/md5/heads/campbell/enpro/escape_campheadshot2.md5anim +} + + +model enpro_campbell { + inherit char_campbell_bfg + + anim escape_a models/md5/chars/campbell/enpro/campbell_escape1.md5anim + anim escape_b models/md5/chars/campbell/enpro/campbell_escape2.md5anim { + frame 10 sound_voice snd_convo1 + frame 140 sound_voice snd_convo2 + } +} + +entityDef enpro_campbell { + "inherit" "char_campbell_bfg" + "model" "enpro_campbell" + "def_head" "enpro_campbellhead" + "head_joint" "Shoulders" + "cinematic" "1" + "ik_numLegs" "0" + + "snd_convo1" "enpro_no_sir" + "snd_convo2" "enpro_yes_sir" + + "num_cinematics" "2" + "anim1" "escape_a" + "anim2" "escape_b" + + +} + +model enpro_swannhead { + + inherit head_swann + + anim escape_a models/md5/heads/swann/enpro/escape_swannheadshot1.md5anim + anim escape_b models/md5/heads/swann/enpro/escape_swannheadshot2.md5anim +} + + +model enpro_swann { + inherit char_swann + + anim escape_a models/md5/cinematics/enpro/swann_escape1.md5anim { + frame 60 sound_voice enpro_do_u_see + } + anim escape_b models/md5/cinematics/enpro/swann_escape2.md5anim { + frame 40 sound_voice enpro_ok_lets_get_to + } +} + +entityDef enpro_swann { + "inherit" "char_swann" + "model" "enpro_swann" + "def_head" "enpro_swannhead" + "head_joint" "Shoulders" + "ik_numLegs" "0" + "cinematic" "1" + + "num_cinematics" "2" + "anim1" "escape_a" + "anim2" "escape_b" + + "snd_convo1" "enpro_do_u_see" + "snd_convo2" "enpro_ok_lets_get_to" +} + +model enpro_wounded_head { + skin skins/characters/npcs/head_asian_young.skin + mesh models/md5/characters/npcs/heads/h5.md5mesh + anim idle models/md5/characters/npcs/heads/h5idle.md5anim + anim stand models/md5/characters/npcs/heads/h5idle.md5anim +} + + +model enpro_wounded_marine { + inherit npc_marine + + anim escape models/md5/cinematics/enpro/marine_escape.md5anim +} + +entityDef enpro_wounded_marine { + "inherit" "npc_base" + "model" "enpro_wounded_marine" + "def_head" "enpro_wounded_head" + "head_joint" "Shoulders" + "sound_bone" "Chest" + "skin" "skins/characters/npcs/body_marine_bloody.skin" + "cinematic" "1" + "copy_joint_world eyecontrol" "" +} + + +model enpro_wounded_head2 { + skin skins/characters/npcs/head_asian_young.skin + mesh models/md5/characters/npcs/heads/h5.md5mesh + anim idle models/md5/characters/npcs/heads/h5idle.md5anim + anim stand models/md5/characters/npcs/heads/h5idle.md5anim + anim wounded_a models/md5/heads/asian_young/enpro/woundedmarine1.md5anim + anim wounded_b models/md5/heads/asian_young/enpro/woundedmarine2.md5anim + anim wounded_c models/md5/heads/asian_young/enpro/woundedmarine3.md5anim + anim wounded_d models/md5/heads/asian_young/enpro/woundedmarine4.md5anim + anim wounded_e models/md5/heads/asian_young/enpro/woundedmarine5.md5anim + anim wounded_f models/md5/heads/asian_young/enpro/woundedmarine6.md5anim + +} + + +model enpro_wounded_marine2 { + inherit npc_marine + + anim wounded_a models/md5/chars/enpro_wounded_marine/marine_wounded1.md5anim { + frame 53 sound_voice snd_wounded1 + } + anim wounded_b models/md5/chars/enpro_wounded_marine/marine_wounded2.md5anim + anim wounded_c models/md5/chars/enpro_wounded_marine/marine_wounded3.md5anim { + frame 90 sound_voice snd_wounded2 + } + anim wounded_d models/md5/chars/enpro_wounded_marine/marine_wounded4.md5anim { + frame 29 sound_voice snd_wounded3 + + } + anim wounded_e models/md5/chars/enpro_wounded_marine/marine_wounded5.md5anim { + frame 1 sound_voice2 enpro_cin_wraithnoise + frame 40 trigger wsplat + } + anim wounded_f models/md5/chars/enpro_wounded_marine/marine_wounded6.md5anim + +} + +entityDef enpro_wounded_marine2 { + "inherit" "npc_base" + "model" "enpro_wounded_marine2" + "def_head" "enpro_wounded_head2" + "head_joint" "Shoulders" + "sound_bone" "Chest" + "skin" "skins/characters/npcs/body_marine_bloody.skin" + "size" "" + "cinematic" "1" + "ik_numLegs" "0" + + + "health" "500" + "num_cinematics" "6" + "anim1" "wounded_a" + "anim2" "wounded_b" + "anim3" "wounded_c" + "anim4" "wounded_d" + "anim5" "wounded_e" + "anim6" "wounded_f" + + "snd_wounded1" "enpro_wounded_marine1" + "snd_wounded2" "enpro_wounded_marine2" + "snd_wounded3" "enpro_wounded_marine3" + + "copy_joint_world eyecontrol" "" +} + + + +entityDef enpro_wounded_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim wounded1" "models/md5/cinematics/enpro/marine_cam1.md5camera" + "anim wounded2" "models/md5/cinematics/enpro/marine_cam2.md5camera" + "anim wounded3" "models/md5/cinematics/enpro/marine_cam3.md5camera" + "anim wounded4" "models/md5/cinematics/enpro/marine_cam4.md5camera" + "anim wounded5" "models/md5/cinematics/enpro/marine_cam5.md5camera" + "anim wounded6" "models/md5/cinematics/enpro/marine_cam6.md5camera" +} + +model enpro_cin_wraith { + mesh models/md5/monsters/wraith/wraith.md5mesh + anim marine models/md5/cinematics/enpro/marine_wraith.md5anim + anim exit models/md5/cinematics/enpro/exit_wraith.md5anim { + frame 5 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 20 sound_body snd_footstep + } + + +} + +entityDef enpro_cin_wraith { + "inherit" "cin_base" + "model" "enpro_cin_wraith" + "anim" "marine" + "cinematic" "1" + "snd_footstep" "monster_demon_wraith_footstep" + +} + + +model enpro_keycard { + mesh models/md5/cinematics/enpro/wounded_keycard.md5mesh + anim marine_to_player_a models/md5/cinematics/enpro/wounded_keycard_a.md5anim + anim marine_to_player_b models/md5/cinematics/enpro/wounded_keycard_b.md5anim + anim marine_to_player_c models/md5/cinematics/enpro/wounded_keycard_c.md5anim + anim marine_to_player_d models/md5/cinematics/enpro/wounded_keycard_d.md5anim + anim marine_to_player_e models/md5/cinematics/enpro/wounded_keycard_e.md5anim + anim marine_to_player_f models/md5/cinematics/enpro/wounded_keycard_f.md5anim + +} + +entityDef enpro_keycard { + "model" "enpro_keycard" + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "size" "" + "cinematic" "1" + + "auto_advance" "1" + "num_anims" "6" + "anim1" "marine_to_player_a" + "anim2" "marine_to_player_b" + "anim3" "marine_to_player_c" + "anim4" "marine_to_player_d" + "anim5" "marine_to_player_e" + "anim6" "marine_to_player_f" + + "spawnclass" "idAnimated" + +} diff --git a/base/def/map_fragchamber.def b/base/def/map_fragchamber.def new file mode 100644 index 00000000..8a278174 --- /dev/null +++ b/base/def/map_fragchamber.def @@ -0,0 +1,25 @@ +entityDef damage_fragchamberfog { + "damage" "25" + "kickDir" "0 0 0" + "mtr_blob" "toxinDamage" + "blob_time" "0" + "blob_size" "0" + "blob_offset_x" "0" + "knockback" "0" + "kick_time" "0" + "kick_amplitude" "0" + "dv_time" "100" +} + +entityDef damage_fragchamberpipe { + "damage" "5" + "kickDir" "0 0 0" + "mtr_blob" "toxinDamage" + "blob_time" "0" + "blob_size" "0" + "blob_offset_x" "0" + "knockback" "0" + "kick_time" "0" + "kick_amplitude" "0" + "dv_time" "100" +} diff --git a/base/def/map_hell1.def b/base/def/map_hell1.def new file mode 100644 index 00000000..53a5cc3b --- /dev/null +++ b/base/def/map_hell1.def @@ -0,0 +1,217 @@ + +export james { + + camera models/monsters/guardian/cycles/guardian_intro.mb -dest models/md5/cinematics/hell1/guardianintro_camera + camera models/monsters/guardian/cycles/death.mb -dest models/md5/cinematics/hell1/guardiandeath_camera + + options -prefix SC_ -keep guilight toplftnub toprtnub midnub botlftnub botrtnub + mesh models/monsters/guardian/cycles/guardian_intro.mb -dest models/md5/cinematics/hell1/guardianintro_soulcube + anim models/monsters/guardian/cycles/guardian_intro.mb -dest models/md5/cinematics/hell1/guardianintro_soulcube +} + +// GUARDIAN INTRO + +entityDef hell1_guardianintro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "spawnclass" "idCameraAnim" + "anim guardianintro_cam" "models/md5/cinematics/hell1/guardianintro_camera.md5camera" + "cinematic" "1" +} + +entityDef hell1_guardiandeath_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "spawnclass" "idCameraAnim" + "anim guardiandeath_cam" "models/md5/cinematics/hell1/guardiandeath_camera.md5camera" + "cinematic" "1" +} + + +model hell1_cin_player { + mesh models/md5/characters/player/mocap/wepplayer.md5mesh + skin skins/player/shotgun.skin + anim guardianintro_teleport models/md5/cinematics/hell1/guardianintro_teleport_player.md5anim { + frame 324 fx fx/teleporter.fx + } +} + +entityDef hell1_cin_player { + "inherit" "cin_base" + "model" "hell1_cin_player" + "anim" "teleport" + "cinematic" "1" +} + + +model hell1_soulcube { + mesh models/md5/cinematics/hell1/guardianintro_soulcube.md5mesh + anim guardianintro_soulcube models/md5/cinematics/hell1/guardianintro_soulcube.md5anim +} + +entityDef hell1_soulcube { + "inherit" "cin_base" + "editor_mins" "-32 -32 0" + "editor_maxs" "32 32 64" + "model" "hell1_soulcube" + "anim" "guardianintro_soulcube" + "cinematic" "1" +} + +model hell1_monster_boss_guardian { + mesh models/md5/monsters/guardian/guardian.md5mesh + + channel legs ( *origin ) + + anim death models/md5/monsters/guardian/death.md5anim { + frame 1 sound_global snd_death + frame 61 sound_global snd_kablam + frame 106 sound_global hell_guardian_death_music + frame 110 sound_voice snd_footstep + frame 120 sound_voice snd_footstep + } + anim death_pose models/md5/monsters/guardian/death_pose.md5anim + anim rise_from_lava models/md5/monsters/guardian/guardian_intro.md5anim { + frame 50 sound_global guardian_sight2 + frame 100 sound_body monster_demon_guardian_footstep + frame 125 sound_body monster_demon_guardian_footstep + frame 130 sound_global guardian_fire_flareup + frame 150 sound_body monster_demon_guardian_footstep + frame 175 sound_body monster_demon_guardian_footstep + frame 180 sound_body monster_demon_guardian_footstep + frame 230 sound_global guardian_sight + frame 297 sound_body monster_demon_guardian_rocksmash + } + anim idle models/md5/monsters/guardian/death_pose.md5anim + anim lost_enemy models/md5/monsters/guardian/death_pose.md5anim + anim run_right models/md5/monsters/guardian/death_pose.md5anim + anim run_attack_right models/md5/monsters/guardian/death_pose.md5anim + anim run_left models/md5/monsters/guardian/death_pose.md5anim + anim run_attack_left models/md5/monsters/guardian/death_pose.md5anim + anim walk_right models/md5/monsters/guardian/death_pose.md5anim + anim walk_left models/md5/monsters/guardian/death_pose.md5anim + anim walk_attack_left models/md5/monsters/guardian/death_pose.md5anim + anim walk_attack_right models/md5/monsters/guardian/death_pose.md5anim + anim range_attack1 models/md5/monsters/guardian/death_pose.md5anim + anim range_attack2 models/md5/monsters/guardian/death_pose.md5anim + anim melee_attack models/md5/monsters/guardian/death_pose.md5anim + anim spawn_seeker models/md5/monsters/guardian/death_pose.md5anim + anim pain models/md5/monsters/guardian/death_pose.md5anim + anim sight models/md5/monsters/guardian/death_pose.md5anim + //anim af_pose models/md5/monsters/guardian/death_pose.md5anim + anim ik_pose models/md5/monsters/guardian/death_pose.md5anim + +} + +entityDef hell1_cin_guardian { + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + + "anim" "rise_from_lava" + "model" "hell1_monster_boss_guardian" + "ik_numLegs" "0" + "turn_rate" "0" + "head_look" "0" + "head_focus_rate" "0" + "bone_focus" "neck_2" + "look_min" "0 0 0" + "look_max" "0 0 0" + "look_joint spine_4" "0 0 0" + "look_joint neck_2" "0 0 0" + + "editor_mins" "-100 -100 0" + "editor_maxs" "100 100 200" + "inherit" "monster_default" + "size" "200 200 200" + "use_aas" "aas_guardian" + "no_idle_chatter" "1" + "health" "800" + "noDamage" "1" + "team" "0" + "rank" "0" + "melee_range" "150" + "def_projectile" "projectile_guardian_smash" + + "mass" "1000000" + + "mtr_light_shader" "lights/lanternglow" + "light_radius" "200" + "light_color" "1 0.2 0" + "light_offset_right" "0 32 32" + "light_offset_left" "0 32 -32" + + "smokeParticleSystem" "GflameBack" + "smokeParticleSystem2" "GflameRhand" + "smokeParticleSystem3" "head" + "smokeParticleSystem4" "GflameLHand" + "smokeParticleSystem5" "tail_12" + "smokeParticleSystem6" "GflameReye" + "smokeParticleSystem7" "GflameLeye" + "smokeParticleSystem8" "GflameNose" + "smokeParticleSystem9" "tounge_2" + + "ik_footSize" "0" + "ik_footDownTrace" "64" + "ik_waist" "Body" + "ik_hip1" "lupleg" + "ik_hip2" "rupleg" + "ik_knee1" "lloleg" + "ik_knee2" "rloleg" + "ik_ankle1" "lleg" + "ik_ankle2" "rleg" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "ik_foot1" + "ik_foot2" "ik_foot2" + + "snd_sight" "monster_demon_guardian_sight" + "snd_chatter" "monster_demon_guardian_chatter" + "snd_chatter_combat" "monster_demon_guardian_chatter_combat" + "snd_pain" "monster_demon_guardian_pain" + "snd_death" "monster_demon_guardian_die" + "snd_footstep" "monster_demon_guardian_footstep" + "snd_attack" "monster_demon_guardian_attack" + "snd_spawn_seeker" "monster_demon_guardian_spawn" + "snd_kablam" "monster_demon_guardian_death_impact" + + "def_poundgrounddamage" "damage_guardianPoundGround" + "def_poundground" "guardian_poundground_explosion" + "cinematic" "1" +} + +model hell_lstep { + mesh models/md5/cinematics/hell1/lstep.md5mesh + anim open models/md5/cinematics/hell1/lstep.md5anim { + frame 1 sound_voice2 gargoyle_01 + } + anim bind models/md5/cinematics/hell1/lstepbind.md5anim +} + +entityDef hell_lstep { + "inherit" "cin_base" + "editor_mins" "-32 -32 0" + "editor_maxs" "32 32 64" + "model" "hell_lstep" + "anim" "open" + "cinematic" "1" +} + +model hell_rstep { + mesh models/md5/cinematics/hell1/rstep.md5mesh + anim open models/md5/cinematics/hell1/rstep.md5anim { + frame 1 sound_voice2 gargoyle_02 + } + anim bind models/md5/cinematics/hell1/lstepbind.md5anim +} + +entityDef hell_rstep { + "inherit" "cin_base" + "editor_mins" "-32 -32 0" + "editor_maxs" "32 32 64" + "model" "hell_rstep" + "anim" "open" + "cinematic" "1" +} + diff --git a/base/def/map_hellhole.def b/base/def/map_hellhole.def new file mode 100644 index 00000000..56e546b6 --- /dev/null +++ b/base/def/map_hellhole.def @@ -0,0 +1,737 @@ +export seneca { + + options -prefix hellholebricks1_ -sourcedir models/mapobjects/hellhole/ -destdir models/md5/cinematics/hellhole/ + mesh hellhole_coffinbricks.mb -range 78 78 + anim hellhole_coffinbricks.mb + + options -prefix ENV_ + mesh maps/fred/cyberdemon/cyberdeath.mb -dest models/md5/cinematics/hellhole/cyberdeath_rocks + anim maps/fred/cyberdemon/cyberdeath.mb -range 549 800 -dest models/md5/cinematics/hellhole/cyberdeath_rocks + +} + +export fred { + + options -prefix LS_ + mesh maps/fred/hell/hellsteps.mb -dest models/md5/cinematics/hell1/lstep + anim maps/fred/hell/hellsteps.mb -dest models/md5/cinematics/hell1/lstep + anim maps/fred/hell/hellsteps.mb -range 50 50 -dest models/md5/cinematics/hell1/lstepbind + + options -prefix RS_ + mesh maps/fred/hell/hellsteps.mb -dest models/md5/cinematics/hell1/rstep + anim maps/fred/hell/hellsteps.mb -dest models/md5/cinematics/hell1/rstep + anim maps/fred/hell/hellsteps.mb -range 50 50 -dest models/md5/cinematics/hell1/rstepbind + + options -prefix ENV_ + mesh maps/fred/cyberdemon/cyberintro.mb -range 765 765 -dest models/md5/cinematics/hellhole/cyberrocks + anim maps/fred/cyberdemon/cyberintro.mb -range 29 29 -dest models/md5/cinematics/hellhole/cyberrocks1 + anim maps/fred/cyberdemon/cyberintro.mb -range 30 745 -dest models/md5/cinematics/hellhole/cyberrocks2 + anim maps/fred/cyberdemon/cyberintro.mb -range 746 765 -dest models/md5/cinematics/hellhole/cyberrocks3 + + options -prefix SOUL_ -keep neworig guilight toplftnub toprtnub midnub botlftnub botrtnub -rename origin blah -rename neworig origin + mesh maps/fred/cyberdemon/cyberdeath.mb -dest models/md5/cinematics/hellhole/cyberdeath_soulcube + anim maps/fred/cyberdemon/cyberdeath.mb -range 44 89 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube1 + anim maps/fred/cyberdemon/cyberdeath.mb -range 90 199 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube2 + anim maps/fred/cyberdemon/cyberdeath.mb -range 200 220 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube3 + anim maps/fred/cyberdemon/cyberdeath.mb -range 221 275 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube4 -prefix SOUL2_ + anim maps/fred/cyberdemon/cyberdeath.mb -range 276 340 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube5 -prefix SOUL2_ + anim maps/fred/cyberdemon/cyberdeath.mb -range 341 372 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube6 -prefix SOUL2_ + anim maps/fred/cyberdemon/cyberdeath.mb -range 373 399 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube7 -prefix SOUL2_ + anim maps/fred/cyberdemon/cyberdeath.mb -range 400 428 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube8 + anim maps/fred/cyberdemon/cyberdeath.mb -range 429 548 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube9 + anim maps/fred/cyberdemon/cyberdeath.mb -range 549 800 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube10 + + + //anim maps/fred/cyberdemon/cyberdeath.mb -range 400 608 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube3 + //anim maps/fred/cyberdemon/cyberdeath.mb -range 221 399 -dest models/md5/cinematics/hellhole/cyberdeath_soulcube2 -prefix SOUL2_ + + + + camera maps/fred/cyberdemon/cyberintro.mb -range 30 104 -dest models/md5/cinematics/hellhole/cybercam_a + camera maps/fred/cyberdemon/cyberintro.mb -range 105 220 -dest models/md5/cinematics/hellhole/cybercam_b + camera maps/fred/cyberdemon/cyberintro.mb -range 221 252 -dest models/md5/cinematics/hellhole/cybercam_c + camera maps/fred/cyberdemon/cyberintro.mb -range 253 337 -dest models/md5/cinematics/hellhole/cybercam_d + camera maps/fred/cyberdemon/cyberintro.mb -range 338 492 -dest models/md5/cinematics/hellhole/cybercam_e + camera maps/fred/cyberdemon/cyberintro.mb -range 493 542 -dest models/md5/cinematics/hellhole/cybercam_f + camera maps/fred/cyberdemon/cyberintro.mb -range 543 654 -dest models/md5/cinematics/hellhole/cybercam_g + camera maps/fred/cyberdemon/cyberintro.mb -range 655 732 -dest models/md5/cinematics/hellhole/cybercam_h + camera maps/fred/cyberdemon/cyberintro.mb -range 733 765 -dest models/md5/cinematics/hellhole/cybercam_i + +// camera maps/fred/cyberdemon/cyberdeath.mb -dest models/md5/cinematics/hellhole/cyberdeath_camera + camera maps/fred/cyberdemon/cyberdeath.mb -range 44 89 -dest models/md5/cinematics/hellhole/cyberdeath_camera_a + camera maps/fred/cyberdemon/cyberdeath.mb -range 90 199 -dest models/md5/cinematics/hellhole/cyberdeath_camera_b + camera maps/fred/cyberdemon/cyberdeath.mb -range 200 220 -dest models/md5/cinematics/hellhole/cyberdeath_camera_c + camera maps/fred/cyberdemon/cyberdeath.mb -range 221 275 -dest models/md5/cinematics/hellhole/cyberdeath_camera_d + camera maps/fred/cyberdemon/cyberdeath.mb -range 276 340 -dest models/md5/cinematics/hellhole/cyberdeath_camera_e + camera maps/fred/cyberdemon/cyberdeath.mb -range 341 372 -dest models/md5/cinematics/hellhole/cyberdeath_camera_f + camera maps/fred/cyberdemon/cyberdeath.mb -range 373 428 -dest models/md5/cinematics/hellhole/cyberdeath_camera_g + camera maps/fred/cyberdemon/cyberdeath.mb -range 429 548 -dest models/md5/cinematics/hellhole/cyberdeath_camera_h + camera maps/fred/cyberdemon/cyberdeath.mb -range 549 800 -dest models/md5/cinematics/hellhole/cyberdeath_camera_i + + camera maps/fred/cyberdemon/bodyshot1.mb -dest models/md5/cinematics/hellhole/rescue_bodyshot_camera + camera maps/fred/cyberdemon/rescue1.mb -dest models/md5/cinematics/hellhole/rescue_camera + camera maps/fred/cyberdemon/swanndead.mb -dest models/md5/cinematics/hellhole/rescue_swanndead_camera + camera maps/fred/cyberdemon/rescue2.mb -dest models/md5/cinematics/hellhole/rescue_camera2 +} + + +model hellhole_cyberdeathrocks { + mesh models/md5/cinematics/hellhole/cyberdeath_rocks.md5mesh + anim open models/md5/cinematics/hellhole/cyberdeath_rocks.md5anim { + // the huge lava fire 549 + frame 1 trigger soulcubefire + // rocksmoke ON + frame 27 trigger rocksmoke1 + frame 52 trigger rocksmoke3 + frame 63 trigger rocksmoke2 + // rocksmoke OFF + frame 49 trigger rocksmoke1 + frame 71 trigger rocksmoke3 + frame 82 trigger rocksmoke2 + // ROCKS HITTING THE GROUND + frame 39 trigger rock1explode + frame 75 trigger rock2explode + // turn the huge lava fire off + frame 103 trigger soulcubefire + // fade the lava out + frame 120 call "map_hellhole::fade_lava" + // turn off the room's particles + frame 90 trigger func_emitter_1 + frame 90 trigger func_emitter_2 + frame 90 trigger func_emitter_3 + frame 90 trigger func_emitter_4 + frame 90 trigger func_emitter_5 + } +} + +entityDef hellhole_cyberdeathrocks { + "inherit" "cin_base" + "editor_mins" "-32 -32 0" + "editor_maxs" "32 32 64" + "model" "hellhole_cyberdeathrocks" + "cinematic" "1" +} + + +model hellhole_coffinbricks { + mesh models/md5/cinematics/hellhole/hellhole_coffinbricks.md5mesh + anim open models/md5/cinematics/hellhole/hellhole_coffinbricks.md5anim + { + frame 1 trigger hellhole_dust1 + frame 1 sound_voice2 hh_rockslide_01 + frame 10 trigger hellhole_dust2 + frame 11 trigger hellhole_dust3 + frame 18 trigger hellhole_dust4 + frame 36 trigger hellhole_dust5 + frame 40 trigger hellhole_coffinclip + frame 54 trigger hellhole_dust6 + } +} + +entityDef hellhole_coffinbricks { + "inherit" "cin_base" + "editor_mins" "-32 -32 0" + "editor_maxs" "32 32 64" + "model" "hellhole_coffinbricks" + "cinematic" "1" +} + + +// CYBERDEMON INTRO + + +entityDef hellhole_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + //"anim cyberintro" "models/md5/cinematics/hellhole/cybercam.md5camera" + "anim cyberintro_a" "models/md5/cinematics/hellhole/cybercam_a.md5camera" + "anim cyberintro_b" "models/md5/cinematics/hellhole/cybercam_b.md5camera" + "anim cyberintro_c" "models/md5/cinematics/hellhole/cybercam_c.md5camera" + "anim cyberintro_d" "models/md5/cinematics/hellhole/cybercam_d.md5camera" + "anim cyberintro_e" "models/md5/cinematics/hellhole/cybercam_e.md5camera" + "anim cyberintro_f" "models/md5/cinematics/hellhole/cybercam_f.md5camera" + "anim cyberintro_g" "models/md5/cinematics/hellhole/cybercam_g.md5camera" + "anim cyberintro_h" "models/md5/cinematics/hellhole/cybercam_h.md5camera" + "anim cyberintro_i" "models/md5/cinematics/hellhole/cybercam_i.md5camera" + + "anim cyberdeath_a" "models/md5/cinematics/hellhole/cyberdeath_camera_a.md5camera" + "anim cyberdeath_b" "models/md5/cinematics/hellhole/cyberdeath_camera_b.md5camera" + "anim cyberdeath_c" "models/md5/cinematics/hellhole/cyberdeath_camera_c.md5camera" + "anim cyberdeath_d" "models/md5/cinematics/hellhole/cyberdeath_camera_d.md5camera" + "anim cyberdeath_e" "models/md5/cinematics/hellhole/cyberdeath_camera_e.md5camera" + "anim cyberdeath_f" "models/md5/cinematics/hellhole/cyberdeath_camera_f.md5camera" + "anim cyberdeath_g" "models/md5/cinematics/hellhole/cyberdeath_camera_g.md5camera" + "anim cyberdeath_h" "models/md5/cinematics/hellhole/cyberdeath_camera_h.md5camera" + "anim cyberdeath_i" "models/md5/cinematics/hellhole/cyberdeath_camera_i.md5camera" +} + +model hellhole_cyberbricks { + mesh models/md5/cinematics/hellhole/cyberrocks.md5mesh + anim cyberintro1 models/md5/cinematics/hellhole/cyberrocks1.md5anim + // { + // frame 21 trigger func_emitter_67 + //} + anim cyberintro2 models/md5/cinematics/hellhole/cyberrocks2.md5anim { + frame 24 trigger func_emitter_67 + } + + anim cyberintro3 models/md5/cinematics/hellhole/cyberrocks3.md5anim +} + +entityDef hellhole_cyberbricks { + "inherit" "cin_base" + "editor_mins" "-32 -32 0" + "editor_maxs" "32 32 64" + "model" "hellhole_cyberbricks" + "anim" "cyberintro1" + "auto_advance" "0" + "num_anims" "3" + "anim1" "cyberintro1" + "anim2" "cyberintro2" + "anim3" "cyberintro3" + "cinematic" "1" + +} + +model hellhole_cin_player { + mesh models/md5/characters/player/mocap/wepplayer.md5mesh + skin skins/player/shotgun.skin + + anim cyberintro_a models/md5/cinematics/hellhole/cyberintro_player1.md5anim + anim cyberintro_b models/md5/cinematics/hellhole/cyberintro_player2.md5anim + anim cyberintro_c models/md5/cinematics/hellhole/cyberintro_player3.md5anim + anim cyberintro_d models/md5/cinematics/hellhole/cyberintro_player4.md5anim + anim cyberintro_e models/md5/cinematics/hellhole/cyberintro_player5.md5anim + anim cyberintro_f models/md5/cinematics/hellhole/cyberintro_player6.md5anim + anim cyberintro_g models/md5/cinematics/hellhole/cyberintro_player7.md5anim + anim cyberintro_h models/md5/cinematics/hellhole/cyberintro_player8.md5anim { + frame 60 trigger hellhole_cyberbricks_1 + } + anim cyberintro_i models/md5/cinematics/hellhole/cyberintro_player9.md5anim + +} + +entityDef hellhole_cin_player { + "inherit" "cin_base" + "anim" "cyberintro" + "model" "hellhole_cin_player" + "cinematic" "1" + + "auto_advance" "1" + "num_anims" "8" + "anim1" "cyberintro_a" + "anim2" "cyberintro_b" + "anim3" "cyberintro_c" + "anim4" "cyberintro_d" + "anim5" "cyberintro_e" + //"anim6" "cyberintro_f" + "anim6" "cyberintro_g" + "anim7" "cyberintro_h" + "anim8" "cyberintro_i" + +} + +model hellhole_cin_player2 { + mesh models/md5/characters/player/mocap/wepplayer.md5mesh + skin skins/player/shotgun.skin + + anim cyberdeath_a models/md5/cinematics/hellhole/cyberdeath_player_a.md5anim + anim cyberdeath_b models/md5/cinematics/hellhole/cyberdeath_player_b.md5anim + anim cyberdeath_c models/md5/cinematics/hellhole/cyberdeath_player_c.md5anim { + frame 1 trigger func_static_52874 + } + anim cyberdeath_d models/md5/cinematics/hellhole/cyberdeath_player_d.md5anim + anim cyberdeath_e models/md5/cinematics/hellhole/cyberdeath_player_e.md5anim + anim cyberdeath_f models/md5/cinematics/hellhole/cyberdeath_player_f.md5anim + anim cyberdeath_g models/md5/cinematics/hellhole/cyberdeath_player_g.md5anim + anim cyberdeath_h models/md5/cinematics/hellhole/cyberdeath_player_h.md5anim + anim cyberdeath_i models/md5/cinematics/hellhole/cyberdeath_player_i.md5anim +} + +entityDef hellhole_cin_player2 { + "inherit" "cin_base" + "anim" "cyberdeath" + "model" "hellhole_cin_player2" + "cinematic" "1" + + "auto_advance" "1" + "num_anims" "9" + "anim1" "cyberdeath_a" + "anim2" "cyberdeath_b" + "anim3" "cyberdeath_c" + "anim4" "cyberdeath_d" + "anim5" "cyberdeath_e" + "anim6" "cyberdeath_f" + "anim7" "cyberdeath_g" + "anim8" "cyberdeath_h" + "anim9" "cyberdeath_i" + + +} + +model hellhole_cin_player3 { + mesh models/md5/characters/player/mocap/player.md5mesh + skin skins/player/noweapon.skin + + anim rescue models/md5/cinematics/hellhole/rescue_player.md5anim + +} + +entityDef hellhole_cin_player3 { + "inherit" "cin_base" + "model" "hellhole_cin_player3" + "cinematic" "1" + + "anim" "rescue" + +} + +model hellhole_cin_marine { + inherit npc_marine + + anim rescue1 models/md5/cinematics/hellhole/rescue_marine1.md5anim + anim rescue2 models/md5/cinematics/hellhole/rescue_marine2.md5anim + anim rescue2b models/md5/cinematics/hellhole/rescue_marine2b.md5anim +} + +entityDef hellhole_cin_marine { + "inherit" "npc_base" + "size" "" + + "copy_joint_world eyecontrol" "" + + "model" "hellhole_cin_marine" + "anim" "rescue1" + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + "cinematic" "1" + "ragdoll" "" + "ik_numlegs" "0" +} + +model hellhole_cin_npcplayerhead { + mesh models/md5/heads/player/player.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim blink models/md5/heads/player/blink.md5anim + anim rescue1b models/md5/heads/player/rescue1b.md5anim +} + + +model hellhole_cin_npcplayer { + inherit npc_player + + anim rescue1b models/md5/cinematics/hellhole/rescue_marine1b.md5anim +} + +entityDef hellhole_cin_npcplayer { + "inherit" "npc_base" + "size" "" + + "model" "hellhole_cin_npcplayer" + "anim" "rescue1b" + "def_head" "hellhole_cin_npcplayerhead" + "head_joint" "Shoulders" + "cinematic" "1" +} + +entityDef hellhole_rescue_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim bodyshot" "models/md5/cinematics/hellhole/rescue_bodyshot_camera.md5camera" + "anim rescue" "models/md5/cinematics/hellhole/rescue_camera.md5camera" + "anim swann" "models/md5/cinematics/hellhole/rescue_swanndead_camera.md5camera" + "anim rescueb" "models/md5/cinematics/hellhole/rescue_camera2.md5camera" +} + + +model hellhole_cin_cyberdemon { + mesh models/md5/monsters/cyberdemon/cyberdemon.md5mesh + + channel torso ( ) + channel legs ( *origin ) + + anim stand models/md5/cinematics/hellhole/cyberintro_cyberdemon1.md5anim + + anim idle models/md5/cinematics/hellhole/cyberintro_cyberdemon1.md5anim + + anim cyberintro_a models/md5/cinematics/hellhole/cyberintro_cyberdemon1.md5anim + anim cyberintro_b models/md5/cinematics/hellhole/cyberintro_cyberdemon2.md5anim + anim cyberintro_c models/md5/cinematics/hellhole/cyberintro_cyberdemon3.md5anim + anim cyberintro_d models/md5/cinematics/hellhole/cyberintro_cyberdemon4.md5anim + anim cyberintro_e models/md5/cinematics/hellhole/cyberintro_cyberdemon5.md5anim + anim cyberintro_f models/md5/cinematics/hellhole/cyberintro_cyberdemon6.md5anim + anim cyberintro_g models/md5/cinematics/hellhole/cyberintro_cyberdemon7.md5anim + anim cyberintro_h models/md5/cinematics/hellhole/cyberintro_cyberdemon8.md5anim + anim cyberintro_i models/md5/cinematics/hellhole/cyberintro_cyberdemon9.md5anim + + +} + +entityDef hellhole_cin_cyberdemon { + "inherit" "monster_boss_cyberdemon" + "anim" "cyberintro_a" + "model" "hellhole_cin_cyberdemon" + "team" "0" + "ik_numLegs" "0" + "head_look" "0" + "turn_rate" "0" + "cinematic" "1" + "ragdoll" "" + + "num_cinematics" "8" + "anim1" "cyberintro_a" + "anim2" "cyberintro_b" + "anim3" "cyberintro_c" + "anim4" "cyberintro_d" + "anim5" "cyberintro_e" + //"anim6" "cyberintro_f" + "anim6" "cyberintro_g" + "anim7" "cyberintro_h" + "anim8" "cyberintro_i" +} + +model hellhole_cin_cyberdemon2 { + mesh models/md5/cinematics/hellhole/cyberdeath_cyberdemon.md5mesh + + channel torso ( ) + channel legs ( *origin ) + + anim stand models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + + anim idle models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + + anim bind models/md5/cinematics/hellhole/cyberdeath_cyberdemon_bind.md5anim + anim cyberdeath_a models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim { + frame 1 sound_global hh_music_cyberdeath + frame 1 sound_global hh_sfx_cyberdeath + //frame 1 sound_global cyberdemon_death_music + //frame 1 sound_global cyberdemon_death_sfx + frame 33 trigger func_smoke_1 + } + anim cyberdeath_b models/md5/cinematics/hellhole/cyberdeath_cyberdemon_b.md5anim + anim cyberdeath_c models/md5/cinematics/hellhole/cyberdeath_cyberdemon_c.md5anim + anim cyberdeath_d models/md5/cinematics/hellhole/cyberdeath_cyberdemon_d.md5anim { + frame 1 trigger func_smoke_2 + } + anim cyberdeath_e models/md5/cinematics/hellhole/cyberdeath_cyberdemon_e.md5anim { + frame 8 trigger func_emitter_106 + frame 12 trigger func_smoke_2 + frame 12 trigger func_smoke_1 + } + anim cyberdeath_f models/md5/cinematics/hellhole/cyberdeath_cyberdemon_f.md5anim + anim cyberdeath_g models/md5/cinematics/hellhole/cyberdeath_cyberdemon_g.md5anim + anim cyberdeath_h models/md5/cinematics/hellhole/cyberdeath_cyberdemon_h.md5anim + anim cyberdeath_i models/md5/cinematics/hellhole/cyberdeath_cyberdemon_i.md5anim { + frame 226 trigger startrescue + } + + anim af_pose models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim ik_pose models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + + anim sight1 models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim sight2 models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim sight3 models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim walk models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim pain models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim pain_chest models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim pain_head models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim pain_left_arm models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim pain_right_arm models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim melee_attack1 models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim melee_attack2 models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + anim range_attack models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + + anim death models/md5/cinematics/hellhole/cyberdeath_cyberdemon_a.md5anim + + +} + +entityDef hellhole_cin_cyberdemon2 { + //"inherit" "cin_base" + "inherit" "monster_boss_cyberdemon" + "anim" "cyberdeath_a" + "model" "hellhole_cin_cyberdemon2" + "team" "0" + "ik_numLegs" "0" + "turn_rate" "0" + "head_look" "0" + "head_focus_rate" "0" + "bone_focus" "Barrel" + "look_min" "0 0 0" + "look_max" "0 0 0" + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Head" "0 0 0" + "size" "" + "cinematic" "1" + "ragdoll" "" + + "num_cinematics" "9" + "anim1" "cyberdeath_a" + "anim2" "cyberdeath_b" + "anim3" "cyberdeath_c" + "anim4" "cyberdeath_d" + "anim5" "cyberdeath_e" + "anim6" "cyberdeath_f" + "anim7" "cyberdeath_g" + "anim8" "cyberdeath_h" + "anim9" "cyberdeath_i" + +} + + +model hellhole_soulcube { + mesh models/md5/cinematics/hellhole/cyberdeath_soulcube.md5mesh + anim cyberdeath_a models/md5/cinematics/hellhole/cyberdeath_soulcube1.md5anim { + frame 1 trigger soulsmoke + + } + anim cyberdeath_b models/md5/cinematics/hellhole/cyberdeath_soulcube2.md5anim + anim cyberdeath_c models/md5/cinematics/hellhole/cyberdeath_soulcube3.md5anim { + frame 1 trigger soulsmoke + } + + anim cyberdeath_d models/md5/cinematics/hellhole/cyberdeath_soulcube4.md5anim + anim cyberdeath_e models/md5/cinematics/hellhole/cyberdeath_soulcube5.md5anim + anim cyberdeath_f models/md5/cinematics/hellhole/cyberdeath_soulcube6.md5anim + anim cyberdeath_g models/md5/cinematics/hellhole/cyberdeath_soulcube7.md5anim { + frame 15 trigger soulsmoke + } + anim cyberdeath_h models/md5/cinematics/hellhole/cyberdeath_soulcube8.md5anim + anim cyberdeath_i models/md5/cinematics/hellhole/cyberdeath_soulcube9.md5anim + anim cyberdeath_j models/md5/cinematics/hellhole/cyberdeath_soulcube10.md5anim { + frame 20 trigger soulsmoke + } + + + +} + +entityDef hellhole_soulcube { + "inherit" "cin_base" + "editor_mins" "-32 -32 0" + "editor_maxs" "32 32 64" + "model" "hellhole_soulcube" + "cinematic" "1" + + "auto_advance" "1" + "num_anims" "10" + "anim1" "cyberdeath_a" + "anim2" "cyberdeath_b" + "anim3" "cyberdeath_c" + "anim4" "cyberdeath_d" + "anim5" "cyberdeath_e" + "anim6" "cyberdeath_f" + "anim7" "cyberdeath_g" + "anim8" "cyberdeath_h" + "anim9" "cyberdeath_i" + "anim10" "cyberdeath_j" +} + +model hellhole_swann_head { + skin skins/characters/npcs/swannbloody.skin + mesh models/md5/heads/swann/swann.md5mesh + + anim dead models/md5/heads/swann/swanndead.md5anim +} + +model hellhole_swann { + mesh models/md5/chars/suit.md5mesh + channel torso ( *origin ) + + skin skins/characters/npcs/bloodysuit.skin + anim af_pose models/md5/chars/af_pose.md5anim + anim stand models/md5/cinematics/delta5/swann_idle.md5anim + anim idle models/md5/cinematics/delta5/swann_idle.md5anim + anim dead models/md5/cinematics/hellhole/rescue_swanndead.md5anim +} + +entityDef hellhole_swann { + "inherit" "character_default" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "model" "hellhole_swann" + "anim" "idle" + "size" "64 20 32" + "use_aas" "" + "turn_rate" "0" + "eye_height" "28" + + "talktrigger" "1" + "no_cower" "1" + "talk_no_turn" "1" + + "bone_focus" "headcontrol" + "bone_orientation" "Body" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-0" + "eye_focus_rate" "0.5" + "head_focus_rate" "0" + "head_look" "0" + + "look_min" "0 0 0" + "look_max" "0 0 0" + "look_joint headcontrol" "0 0 0" + + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + "copy_joint_world eyecontrol" "eyecontrol" + + "def_head" "hellhole_swann_head" + "head_joint" "Shoulders" + + "ragdoll" "char_wounded_marine" + + "damage_zone chest" "*Waist -*loneckcontrol" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "origin Body2" + "cinematic" "1" +} + +model hellhole_imp { + inherit monster_demon_imp + + anim cybercrawl models/md5/monsters/imp/impcyberwakeup.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 40 enableGravity + frame 40 enableWalkIK + } +} + +entityDef hellhole_imp { + "inherit" "monster_demon_imp" + "model" "hellhole_imp" + "anim" "cybercrawl" +} + +model hellhole_maggot { + inherit monster_demon_maggot + + anim cybercrawl models/md5/monsters/maggot3/magcyberwakeup.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 40 enableGravity + frame 40 enableWalkIK + } +} + +entityDef hellhole_maggot { + "inherit" "monster_demon_maggot" + "model" "hellhole_maggot" + "anim" "cybercrawl" +} + +model hellhole_pdamarine { + inherit npc_base + mesh models/md5/chars/marine.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim pdamarine models/md5/cinematics/hellhole/rescue_pdamarine.md5anim + + +} + +entityDef hellhole_pdamarine { + "inherit" "npc_base" + "model" "hellhole_pdamarine" + "anim" "pdamarine" + "def_attach" "prop_pda" + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + "cinematic" "1" + "copy_joint_world eyecontrol" "" +} + +model hellhole_lookmarine { + inherit npc_base + mesh models/md5/chars/marine.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim pdamarine models/md5/cinematics/hellhole/rescue_bodylook.md5anim + anim talk_primary models/md5/cinematics/hellhole/rescue_bodylook.md5anim + + +} + +entityDef hellhole_lookmarine { + "inherit" "npc_base" + "model" "hellhole_lookmarine" + "anim" "pdamarine" + "def_attach" "prop_machinegun" + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + "cinematic" "1" + "copy_joint_world eyecontrol" "" +} + +model hellhole_walkmarine { + inherit npc_marine_w_mgun + + anim shot1 models/md5/cinematics/hellhole/hellhole_marinewalk.md5anim { + frame 1 event ignoreDamage + frame 6 sound_body player_sounds_footstep + frame 17 sound_body player_sounds_footstep + frame 31 sound_body player_sounds_footstep + frame 45 sound_body player_sounds_footstep + frame 59 sound_body player_sounds_footstep + frame 71 sound_body player_sounds_footstep + frame 85 sound_body player_sounds_footstep + frame 96 sound_body player_sounds_footstep + frame 112 sound_body player_sounds_footstep + frame 124 sound_body player_sounds_footstep + frame 136 sound_body player_sounds_footstep + frame 145 sound_body player_sounds_footstep + } + +} +entityDef hellhole_walkmarine { + "inherit" "npc_base" + "model" "hellhole_walkmarine" + "sound_bone" "Chest" + "def_projectile" "projectile_bullet_zsec_machinegun" + "projectile_spread" "0" + "num_projectiles" "1" + "smoke_weapon" "cgsmoke.smoke" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" + "cinematic" "1" + "gib" "0" + "model_gib" "models/md5/chars/skeleton_w_mgun.md5mesh" + "mass" "5000" + "copy_joint_world eyecontrol" "" + "ik_numlegs" "0" + "ragdoll" "" + + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" +} + + diff --git a/base/def/map_intro.def b/base/def/map_intro.def new file mode 100644 index 00000000..7594ee6f --- /dev/null +++ b/base/def/map_intro.def @@ -0,0 +1,116 @@ +export fred { + + camera maps/fred/intro/intro_shot1.mb -range 1 121 -dest models/md5/cinematics/intro/intro_camera1 + camera maps/fred/intro/intro_shot2.mb -range 122 174 -dest models/md5/cinematics/intro/intro_camera2 + camera maps/fred/intro/intro_shot3.mb -range 175 1220 -dest models/md5/cinematics/intro/intro_camera3 + + addoptions -prefix ENV_ + mesh maps/fred/intro/intro.mb -dest models/md5/cinematics/intro/intro_panel + anim maps/fred/intro/intro.mb -range 175 1220 -dest models/md5/cinematics/intro/intro_panel + + addoptions -prefix MEAT_ + mesh maps/fred/intro/intro.mb -range 1 1 -dest models/md5/cinematics/intro/intro_meat + anim maps/fred/intro/intro.mb -range 1 1220 -xyzprecision 0.01 -quatprecision 0.00006 -dest models/md5/cinematics/intro/intro_meat + + +} + +entityDef intro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "anim intro" "models/md5/cinematics/intro/intro_camera.camera" + "anim intro_shot1" "models/md5/cinematics/intro/intro_camera1.camera" + "anim intro_shot2" "models/md5/cinematics/intro/intro_camera2.camera" + "anim intro_shot3" "models/md5/cinematics/intro/intro_camera3.camera" +} + +model intro_pinky { + mesh models/md5/monsters/pinky/pinky.md5mesh + anim intro models/md5/cinematics/intro/pinky_intro.md5anim { + frame 384 trigger explosion1 + frame 388 trigger explosion1 + frame 400 trigger telelight1 + frame 460 trigger telelight1 + frame 850 trigger whispers + frame 1012 trigger breakglass + } +} + +entityDef intro_pinky { + "inherit" "cin_base" + "anim" "intro" + "model" "intro_pinky" +} + +model intro_scientist { + inherit char_npc + + anim shot1 models/md5/cinematics/intro/intro_charshot1.md5anim + anim shot2 models/md5/cinematics/intro/intro_charshot2.md5anim + anim shot3 models/md5/cinematics/intro/intro_charshot3.md5anim + anim shot4 models/md5/cinematics/intro/intro_charshot4.md5anim + anim shot5 models/md5/cinematics/intro/intro_charshot5.md5anim + anim shot6 models/md5/cinematics/intro/intro_charshot6.md5anim + anim shot7 models/md5/cinematics/intro/intro_charshot7.md5anim + anim shot8 models/md5/cinematics/intro/intro_charshot8.md5anim + + anim knockback models/md5/cinematics/intro/sci_2_knockback.md5anim { + frame 26 sound_body snd_footstep + frame 38 sound_body snd_footstep + frame 61 sound_body snd_footstep + } + anim walktowindow models/md5/cinematics/intro/sci_3_walktowindow.md5anim { + frame 155 sound_body snd_footstep + frame 168 sound_body snd_footstep + frame 179 sound_body snd_footstep + frame 187 sound_body snd_footstep + frame 262 sound_body snd_footstep + frame 275 sound_body snd_footstep + frame 286 sound_body snd_footstep + frame 294 sound_body snd_footstep + } + anim killed models/md5/cinematics/intro/sci_4_killed.md5anim + + anim walk2stoplookaround models/md5/characters/npcs/walk2stoplookaround.md5anim { + frame 10 sound_body snd_footstep + frame 22 sound_body snd_footstep + frame 34 sound_body snd_footstep + frame 42 sound_body snd_footstep + } + +} + +entityDef intro_scientist { + "inherit" "char_labcoat_young" + "size" "12 12 74" + "model" "intro_scientist" + "anim" "intro" + "ik_numLegs" "0" + "skin" "skins/characters/npcs/labcoat_asian_tabletpc.skin" +} + +model intro_panel { + mesh models/md5/cinematics/intro/intro_panel.md5mesh + anim intro models/md5/cinematics/intro/intro_panel.md5anim +} + +entityDef intro_panel { + "inherit" "cin_base" + "model" "intro_panel" + "anim" "intro" +} + +model intro_meat { + mesh models/md5/cinematics/intro/intro_meat.md5mesh + anim intro models/md5/cinematics/intro/intro_meat.md5anim +} + +entityDef intro_meat { + "inherit" "cin_base" + "model" "intro_meat" + "anim" "intro" +} + diff --git a/base/def/map_maledict.def b/base/def/map_maledict.def new file mode 100644 index 00000000..c4743322 --- /dev/null +++ b/base/def/map_maledict.def @@ -0,0 +1,49 @@ +//CINEMATICS + +export fred { + options -prefix ENV_ + mesh maps/fred/maledict/worldfall.mb -dest models/md5/cinematics/maledict/world + anim maps/fred/maledict/worldfall.mb -range 1 1 -dest models/md5/cinematics/maledict/worldfallidle + anim maps/fred/maledict/worldfall.mb -dest models/md5/cinematics/maledict/worldfall + + options -prefix ENV_ + mesh maps/fred/maledict/debris1.mb -dest models/md5/cinematics/maledict/debris1 + anim maps/fred/maledict/debris1.mb -dest models/md5/cinematics/maledict/debris1 + +} + + +model maledict_world { + mesh models/md5/cinematics/maledict/world.md5mesh + anim idle models/md5/cinematics/maledict/worldfallidle.md5anim + anim fall models/md5/cinematics/maledict/worldfall.md5anim +} + +entityDef maledict_world { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "fall" + "model" "maledict_world" +} + +model maledict_debris1 { + mesh models/md5/cinematics/maledict/debris1.md5mesh + anim break models/md5/cinematics/maledict/debris1.md5anim +} + +entityDef maledict_debris1 { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "break" + "model" "maledict_debris1" +} diff --git a/base/def/map_marscity.def b/base/def/map_marscity.def new file mode 100644 index 00000000..9900ba37 --- /dev/null +++ b/base/def/map_marscity.def @@ -0,0 +1,3157 @@ +export fred { + camera maps/fred/marscity/window.mb -dest models/md5/cinematics/marscity/window_camera + camera maps/fred/marscity/hangar.mb -range 30 100 -dest models/md5/cinematics/marscity/hangar_cam_a + camera maps/fred/marscity/hangar.mb -range 101 200 -dest models/md5/cinematics/marscity/hangar_cam_b + camera maps/fred/marscity/hangar.mb -range 201 267 -dest models/md5/cinematics/marscity/hangar_cam_c + camera maps/fred/marscity/hangar.mb -range 268 389 -dest models/md5/cinematics/marscity/hangar_cam_d + camera maps/fred/marscity/hangar_characters.mb -range 360 678 -dest models/md5/cinematics/marscity/hangar_cam_e + camera maps/fred/marscity/hangar_characters.mb -range 679 766 -dest models/md5/cinematics/marscity/hangar_cam_f + camera maps/fred/marscity/hangar_characters.mb -range 767 863 -dest models/md5/cinematics/marscity/hangar_cam_g + camera maps/fred/marscity/hangar_characters.mb -range 864 937 -dest models/md5/cinematics/marscity/hangar_cam_h + camera maps/fred/marscity/hangar_characters.mb -range 938 980 -dest models/md5/cinematics/marscity/hangar_cam_i + camera maps/fred/marscity/hangar_characters.mb -range 981 1050 -dest models/md5/cinematics/marscity/hangar_cam_j + camera maps/fred/marscity/hangar_characters.mb -range 1051 1125 -dest models/md5/cinematics/marscity/hangar_cam_k + camera maps/fred/marscity/hangar_characters.mb -range 1126 1236 -dest models/md5/cinematics/marscity/hangar_cam_l + +// camera maps/fred/marscity/betrugercin1.mb -dest models/md5/cinematics/marscity/betrugercin1_cam + camera maps/fred/marscity/betrugercin1.mb -range 1 54 -dest models/md5/cinematics/marscity/betrugercin1_cam_a + camera maps/fred/marscity/betrugercin1.mb -range 55 92 -dest models/md5/cinematics/marscity/betrugercin1_cam_b + camera maps/fred/marscity/betrugercin1.mb -range 93 137 -dest models/md5/cinematics/marscity/betrugercin1_cam_c + camera maps/fred/marscity/betrugercin1.mb -range 138 1737 -dest models/md5/cinematics/marscity/betrugercin1_cam_d + + camera maps/fred/marscity/reception.mb -range 24 100 -dest models/md5/cinematics/marscity/receptioncin1_camera_a + camera maps/fred/marscity/reception.mb -range 101 145 -dest models/md5/cinematics/marscity/receptioncin1_camera_b + camera maps/fred/marscity/reception.mb -range 146 339 -dest models/md5/cinematics/marscity/receptioncin1_camera_c + camera maps/fred/marscity/reception.mb -range 340 475 -dest models/md5/cinematics/marscity/receptioncin1_camera_d + camera maps/fred/marscity/reception.mb -range 476 803 -dest models/md5/cinematics/marscity/receptioncin1_camera_e + camera maps/fred/marscity/reception.mb -range 804 820 -dest models/md5/cinematics/marscity/receptioncin1_camera_f + + + camera maps/fred/marscity/sargecin_eric.mb -dest models/md5/cinematics/marscity/sargecin_cam + + camera maps/fred/marscity/sargecin_eric.mb -range 120 176 -dest models/md5/cinematics/marscity/sargecin_cam1 + camera maps/fred/marscity/sargecin_eric.mb -range 177 380 -dest models/md5/cinematics/marscity/sargecin_cam2 + camera maps/fred/marscity/sargecin_eric.mb -range 381 555 -dest models/md5/cinematics/marscity/sargecin_cam3 + camera maps/fred/marscity/sargecin_eric.mb -range 556 700 -dest models/md5/cinematics/marscity/sargecin_cam4 + camera maps/fred/marscity/sargecin_eric.mb -range 701 814 -dest models/md5/cinematics/marscity/sargecin_cam5 + camera maps/fred/marscity/sargecin_eric.mb -range 815 920 -dest models/md5/cinematics/marscity/sargecin_cam6 + camera maps/fred/marscity/sargecin_eric.mb -range 921 960 -dest models/md5/cinematics/marscity/sargecin_cam7 + + camera maps/kevinc/marscity/IPN_News_Body.mb -range 0 4500 -dest models/md5/cinematics/marscity/ipn_news_cam + + + camera maps/eric/marscity/sci_team_request.mb -dest models/md5/cinematics/marscity/sci_team_request_cam + + options -prefix CHAIR_ + + mesh maps/fred/marscity/office1.mb -dest models/md5/environments/marscitychair1 + anim maps/fred/marscity/office1.mb -dest models/md5/environments/marscitychair1 + + options -prefix HANGAR_ + + mesh maps/fred/marscity/hangar.mb -range 30 1271 -dest models/md5/cinematics/marscity/marscityhangar + anim maps/fred/marscity/hangar.mb -range 30 1271 -dest models/md5/cinematics/marscity/marscityhangar +} + +entityDef marscity_cinematic_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim betrugercin1" "models/md5/cinematics/marscity/betrugercin1_cam.camera" + "anim betrugercin1_a" "models/md5/cinematics/marscity/betrugercin1_cam_a.camera" + "anim betrugercin1_b" "models/md5/cinematics/marscity/betrugercin1_cam_b.camera" + "anim betrugercin1_c" "models/md5/cinematics/marscity/betrugercin1_cam_c.camera" + "anim betrugercin1_d" "models/md5/cinematics/marscity/betrugercin1_cam_d.camera" + + + "anim reception_a" "models/md5/cinematics/marscity/receptioncin1_camera_a.camera" + "anim reception_b" "models/md5/cinematics/marscity/receptioncin1_camera_b.camera" + "anim reception_c" "models/md5/cinematics/marscity/receptioncin1_camera_c.camera" + "anim reception_d" "models/md5/cinematics/marscity/receptioncin1_camera_d.camera" + "anim reception_e" "models/md5/cinematics/marscity/receptioncin1_camera_e.camera" + "anim reception_f" "models/md5/cinematics/marscity/receptioncin1_camera_f.camera" + + "anim hangar_a" "models/md5/cinematics/marscity/hangar_cam_a.camera" + "anim hangar_b" "models/md5/cinematics/marscity/hangar_cam_b.camera" + "anim hangar_c" "models/md5/cinematics/marscity/hangar_cam_c.camera" + "anim hangar_d" "models/md5/cinematics/marscity/hangar_cam_d.camera" + "anim hangar_e" "models/md5/cinematics/marscity/hangar_cam_e.camera" + + "anim hangar_f" "models/md5/cinematics/marscity/hangar_cam_f.camera" + "anim hangar_g" "models/md5/cinematics/marscity/hangar_cam_g.camera" + "anim hangar_h" "models/md5/cinematics/marscity/hangar_cam_h.camera" + "anim hangar_i" "models/md5/cinematics/marscity/hangar_cam_i.camera" + "anim hangar_j" "models/md5/cinematics/marscity/hangar_cam_j.camera" + "anim hangar_k" "models/md5/cinematics/marscity/hangar_cam_k.camera" + "anim hangar_l" "models/md5/cinematics/marscity/hangar_cam_l.camera" + + "anim window" "models/md5/cinematics/marscity/window_camera.camera" + "anim sargecin" "models/md5/cinematics/marscity/sargecin_cam.camera" + + + "anim sargecin1" "models/md5/cinematics/marscity/sargecin_cam1.camera" + "anim sargecin2" "models/md5/cinematics/marscity/sargecin_cam2.camera" + "anim sargecin3" "models/md5/cinematics/marscity/sargecin_cam3.camera" + "anim sargecin4" "models/md5/cinematics/marscity/sargecin_cam4.camera" + "anim sargecin5" "models/md5/cinematics/marscity/sargecin_cam5.camera" + "anim sargecin6" "models/md5/cinematics/marscity/sargecin_cam6.camera" + "anim sargecin7" "models/md5/cinematics/marscity/sargecin_cam7.camera" + + "anim ipn_news" "models/md5/cinematics/marscity/ipn_news_cam.camera" +} + +entityDef marscity_sci_team_request_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim sci_team_request" "models/md5/cinematics/marscity/sci_team_request_cam" +} + +model marscity_ship { + mesh models/md5/cinematics/marscity/spaceship.md5mesh + skin skins/dropship.skin + anim window models/md5/cinematics/marscity/windowship.md5anim { + frame 1 sound_global marscity_music_intro_cutscene + frame 6 sound_global marscity_gui_intro_cutscene + frame 671 sound_global marscity_rocketintro_cutscene2 + frame 675 sound_global marscity_rocketintro_vo + frame 675 sound_global marscity_rocketintro_cutscene + frame 900 trigger tim_func_static_2337 + } + + anim bind models/md5/cinematics/marscity/spaceship_bindme.md5anim +} + +entityDef marscity_ship { + "inherit" "cin_base" + "model" "marscity_ship" + "anim" "window" + "cinematic" "1" +} + +model marscity_ship2 { + mesh models/md5/cinematics/marscity/hangarship.md5mesh + skin skins/dropship.skin + anim hangar_a models/md5/cinematics/marscity/hangarship_a.md5anim { + frame 54 trigger func_emitter_37 + frame 54 trigger func_emitter_38 + frame 54 trigger func_emitter_39 + frame 54 trigger func_emitter_99 + frame 54 trigger func_emitter_101 + frame 54 trigger func_emitter_102 + } + anim hangar_b models/md5/cinematics/marscity/hangarship_b.md5anim { + frame 1 skin skins/dropshipns.skin + } + anim hangar_c models/md5/cinematics/marscity/hangarship_c.md5anim { + frame 1 skin skins/dropshipns.skin + } + anim hangar_d models/md5/cinematics/marscity/hangarship_d.md5anim { + frame 1 call map_marscity1::move_hangar_fog + } + anim bind models/md5/cinematics/marscity/smallbind.md5anim +} + +entityDef marscity_ship2 { + "inherit" "cin_base" + "model" "marscity_ship2" + "anim" "hangar_a" + "num_anims" "4" + "anim1" "hangar_a" + "anim2" "hangar_b" + "anim3" "hangar_c" + "anim4" "hangar_d" + "cinematic" "1" +} + +model marscity_ship3 { + mesh models/md5/cinematics/marscity/spaceship.md5mesh + skin skins/dropship.skin + anim hangarend models/md5/cinematics/marscity/hangarshipbigend.md5anim { + frame 140 trigger shipinnerlight + frame 140 trigger trigger_remove_gui_block + + frame 154 trigger func_emitter_doorleft + frame 154 trigger func_emitter_doorright + frame 120 trigger func_emitter_dropshifloor + + frame 775 trigger shipbot1 + frame 775 trigger shipbot2 + frame 775 trigger shipbot3 + frame 775 trigger shipbot4 + frame 775 trigger shipbot5 + frame 775 trigger shipbot6 + frame 782 trigger shipinnerlight + frame 782 sound_global ship_liftoff + } + anim hangarloop models/md5/cinematics/marscity/hangarshipbigendloop.md5anim + anim bind models/md5/cinematics/marscity/spaceship_bindme.md5anim +} + +entityDef marscity_ship3 { + "inherit" "cin_base" + "model" "marscity_ship3" + "anim" "hangarend" + "loop_last_anim" "1" + "auto_advance" "1" + "num_anims" "2" + "anim1" "hangarend" + "anim2" "hangarloop" + "cinematic" "1" +} + +model marscity_security_goggles_pda_head { + mesh models/md5/characters/npcs/heads/goggles.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim blink models/md5/characters/npcs/heads/gogglesblink.md5anim + anim idle models/md5/characters/npcs/heads/gogglesidle.md5anim + anim stand models/md5/characters/npcs/heads/gogglesidle.md5anim + anim talk_trigger models/md5/heads/security_goggles/marscity/sec_hangar_trigger.md5anim { + frame 1 sound_voice snd_talk_trigger + } + anim talk_primary models/md5/heads/security_goggles/marscity/sec_hangar_primary.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/security_goggles/marscity/sec_hangar_secondary_1.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/security_goggles/marscity/sec_hangar_secondary_2.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model marscity_security_goggles_pda { + inherit npc_security + anim stand models/md5/chars/PDA_idle_look.md5anim + anim talk_trigger models/md5/chars/PDA_talk_security_guard.md5anim + anim talk_primary models/md5/chars/PDA_talk.md5anim + anim talk_secondary1 models/md5/chars/PDA_talk.md5anim + anim talk_secondary2 models/md5/chars/PDA_talk.md5anim +} + +entityDef marscity_security_goggles_pda { + "inherit" "npc_base" + "def_head" "marscity_security_goggles_pda_head" + "model" "marscity_security_goggles_pda" + "head_joint" "Shoulders" + "talk_no_turn" "1" + "talktime" "0" + "talkradius" "384" + + "copy_joint_world eyecontrol" "" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "head_focus_rate" "0.1" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "pda_marscity_security_goggles_pda" + "def_dropDeathItem" "pda_marscity_security_goggles_pda" + "dropDeathItemJoint" "pda" + "dropDeathItemRotation" "0 0 0" + + "snd_talk_trigger" "marscity_sec_hangar_trigger" + "snd_talk_primary" "marscity_sec_hangar_primary" + "snd_talk_secondary" "marscity_sec_hangar_secondary1" + "snd_talk_secondary2" "marscity_sec_hangar_secondary2" +} + +model marscity_civilian1_head { + mesh models/md5/characters/npcs/heads/h1.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim blink models/md5/characters/npcs/heads/h1blink.md5anim + anim idle models/md5/characters/npcs/heads/h1idle.md5anim + anim stand models/md5/characters/npcs/heads/h1idle.md5anim + anim talk_trigger models/md5/heads/old/marscity/civ1_1.md5anim { + frame 1 sound_voice snd_talk_trigger + } + anim talk_primary models/md5/heads/old/marscity/civ1_2.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/old/marscity/civ1_3.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/old/marscity/civ1_4.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model marscity_civilian1 { + mesh models/md5/chars/labcoat.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim af_pose models/md5/chars/af_pose.md5anim + anim ik_pose models/md5/chars/af_pose.md5anim + + anim stand models/md5/chars/mc_civ1_idle.md5anim { + frame 1 event disableEyeFocus + } + anim idle models/md5/chars/mc_civ1_secondary2.md5anim { + frame 1 event disableEyeFocus + } + anim talk_trigger models/md5/chars/mc_civ1_trigger.md5anim { + frame 1 event enableEyeFocus + } + anim talk_primary models/md5/chars/mc_civ1_primary.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/mc_civ1_secondary1.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/mc_civ1_secondary2.md5anim { + frame 1 event disableEyeFocus + } +} + +entityDef marscity_civilian1 { + "inherit" "npc_base" + "model" "marscity_civilian1" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + + "copy_joint_world eyecontrol" "" + + "size" "32 32 38" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "ik_numLegs" "0" + "ik_footSize" "0" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" ".7 .7 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "talk_no_turn" "1" + "no_cower" "1" + "ignore_push" "1" + + "talktime" "0" + "talkradius" "384" + + "head_focus_rate" "0.1" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "def_head" "marscity_civilian1_head" + "head_joint" "Shoulders" + + "snd_talk_trigger" "marscity_civilian1_trigger" + "snd_talk_primary" "marscity_civilian1_primary" + "snd_talk_secondary" "marscity_civilian1_secondary1" + "snd_talk_secondary2" "marscity_civilian1_secondary2" +} + +model char_labcoat_black { + inherit npc_labcoat + anim pda_idle_look models/md5/chars/PDA_idle_look.md5anim + anim pda_idle models/md5/chars/PDA_idle.md5anim + anim pda_talk models/md5/chars/PDA_talk.md5anim + anim gui_operate models/md5/chars/gui_operate_daniel.md5anim + anim operate_computer6 models/md5/chars/operate_computer_loop3.md5anim +} + +entityDef char_labcoat_black { + "inherit" "npc_base" + + "copy_joint_world eyecontrol" "" + + "head_focus_rate" "0.1" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "model" "char_labcoat_black" + "skin" "skins/characters/npcs/soldier_black" + "eye_verticle_offset" "0" + "def_head" "head_black" + "head_joint" "Shoulders" +} + +model marscity_sec_checkin { + inherit npc_security + + anim idle models/md5/cinematics/marscity/sec_checkin_idle.md5anim { + frame 1 event disableEyeFocus + } + anim idlenorot models/md5/cinematics/marscity/sec_checkin_idle_norot.md5anim { + frame 1 event disableEyeFocus + } + anim stand models/md5/cinematics/marscity/sec_checkin_idle.md5anim { + frame 1 event disableEyeFocus + } + + anim welcome models/md5/cinematics/marscity/sec_checkin_welcome.md5anim { + frame 1 event disableEyeFocus + frame 7 event enableEyeFocus + frame 40 event disableEyeFocus + } + anim need models/md5/cinematics/marscity/sec_checkin_need.md5anim { + frame 1 event disableEyeFocus + frame 3 event enableEyeFocus + frame 17 event disableEyeFocus + frame 35 event enableEyeFocus + frame 48 event disableEyeFocus + frame 110 event enableEyeFocus + frame 125 event disableEyeFocus + + } + anim cleared models/md5/cinematics/marscity/sec_checkin_cleared.md5anim { + frame 1 event disableEyeFocus + frame 55 event enableEyeFocus + frame 76 event disableEyeFocus + } + anim hold models/md5/cinematics/marscity/sec_checkin_holdstill.md5anim { + frame 1 event disableEyeFocus + frame 12 event enableEyeFocus + frame 53 event disableEyeFocus + } + anim waisting models/md5/cinematics/marscity/sec_checkin_waisting.md5anim { + frame 1 event disableEyeFocus + frame 10 event enableEyeFocus + frame 38 event disableEyeFocus + } + anim letmeget models/md5/cinematics/marscity/sec_checkin_letmeget.md5anim { + frame 1 event disableEyeFocus + } +} + +entityDef marscity_sec_checkin { + "inherit" "npc_base" + "model" "marscity_sec_checkin" + "anim" "idle" + "size" "" + "ik_numlegs" "0" + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" ".6 .6 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "def_head" "marscity_sec_checkin_head" + "head_joint" "Shoulders" + "sound_bone" "headcontrol" + + "copy_joint_world eyecontrol" "" + + "def_attach" "prop_soft_desk_chair2" + + "snd_welcome" "marscity_sec_checkin_welcome" + "snd_need" "marscity_sec_checkin_need" + "snd_hold" "marscity_sec_checkin_hold" + "snd_waisting" "marscity_sec_checkin_waisting" + "snd_letmeget" "marscity_sec_checkin_letmeget" + "snd_cleared" "marscity_sec_checkin_cleared" +} + +model marscity_sec_checkin_head { + skin skins/characters/npcs/prettyoldhead.skin + mesh models/md5/characters/npcs/heads/h2.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/characters/npcs/heads/h2idle.md5anim { + } + anim stand models/md5/characters/npcs/heads/h2idle.md5anim + anim blink models/md5/characters/npcs/heads/h2blink.md5anim + anim cleared models/md5/characters/npcs/heads/marscity/checkin_cleared.md5anim { + frame 1 sound_voice snd_cleared + } + anim need models/md5/characters/npcs/heads/marscity/checkin_gonnaneed.md5anim { + frame 1 sound_voice snd_need + } + anim hold models/md5/characters/npcs/heads/marscity/checkin_holdstill.md5anim { + frame 1 sound_voice snd_hold + } + anim letmeget models/md5/characters/npcs/heads/marscity/checkin_letmeget.md5anim { + frame 1 sound_voice snd_letmeget + } + anim waisting models/md5/characters/npcs/heads/marscity/checkin_waisting.md5anim { + frame 1 sound_voice snd_waisting + } + anim welcome models/md5/characters/npcs/heads/marscity/checkin_welcome.md5anim { + frame 1 sound_voice snd_welcome + } +} + +model char_security_goggles_pistol { + inherit npc_security +} + +entityDef char_security_goggles_pistol { + "inherit" "npc_base" + "model" "char_security_goggles_pistol" + "def_head" "head_security_goggles" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "def_attach" "prop_pistol" + "def_dropDeathItem" "moveable_item_pistol" + "dropDeathItemJoint" "pistol" +} + +model marscity_suit_young_chair { + inherit npc_suit + + anim stand models/md5/chars/operate_computer_sitting_higher.md5anim + anim idle models/md5/chars/operate_computer_sitting_higher.md5anim + + anim cower models/md5/chars/operate_computer_sitting_higher.md5anim + anim turn_left models/md5/chars/operate_computer_sitting_higher.md5anim + anim turn_right models/md5/chars/operate_computer_sitting_higher.md5anim +} + +entityDef marscity_suit_young_chair { + "inherit" "npc_base" + "model" "marscity_suit_young_chair" + "def_head" "head_young" + "head_joint" "Shoulders" + "ignore_push" "1" + "anim" "idle" + "ik_numLegs" "0" + + "copy_joint_world eyecontrol" "" + + "def_attach" "prop_soft_desk_chair2" + "def_dropDeathItem" "moveable_chair2" + "dropDeathItemJoint" "chair" + + "dropDeathItemRotation" "-90 0 0" + + "talk_no_turn" "1" + "talktime" "0" + + "talk_time" "0" + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "look_joint Waist" "0.2 0 0" + "look_joint Chest" "0.2 0 0" + "look_joint Shoulders" "0.2 0 0" + "look_joint headcontrol" "0.4 0.5 0" + "look_joint neckcontrol" "0.4 0.5 0" + "look_joint Ruparm" "-0.5 0 0" + "look_joint Luparm" "-0.5 0 0" + "look_min" "-90 -80 0" + "look_max" "25 80 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "eye_verticle_offset" "20" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.08" +} + +model marscity_labcoat_black { + inherit npc_labcoat + anim pda_idle_look models/md5/chars/PDA_idle_look.md5anim + anim pda_idle models/md5/chars/PDA_idle.md5anim + anim pda_talk models/md5/chars/PDA_talk.md5anim + anim gui_operate models/md5/chars/gui_operate_daniel.md5anim + anim talk_primary models/md5/chars/PDA_talk.md5anim + anim talk_secondary1 models/md5/chars/PDA_talk.md5anim + anim talk_secondary2 models/md5/chars/PDA_talk.md5anim +} + +entityDef marscity_labcoat_black { + "inherit" "npc_base" + "model" "marscity_labcoat_black" + "skin" "skins/characters/npcs/soldier_black" + "eye_verticle_offset" "0" + "def_head" "head_black" + "head_joint" "Shoulders" + "talk_no_turn" "1" + "talktime" ".5" + "head_focus_rate" "0.1" + + "copy_joint_world eyecontrol" "" + + "def_attach" "pda_marscity_labcoat_black" + "def_dropDeathItem" "pda_marscity_labcoat_black" + "dropDeathItemJoint" "pda" + "dropDeathItemRotation" "0 0 0" + + "ik_numLegs" "0" + "ik_footSize" "0" +} + +model marscity_char_maint_asian_pda_head { + //inherit head_asian_young + + skin skins/characters/npcs/head_asian_young.skin + mesh models/md5/characters/npcs/heads/h5.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/characters/npcs/heads/h5idle.md5anim + anim stand models/md5/characters/npcs/heads/h5idle.md5anim + //anim blink models/md5/characters/npcs/heads/h5blink.md5anim + anim dead models/md5/characters/npcs/heads/h5death.md5anim + + anim talk_primary models/md5/heads/asian_young/marscity/maint_tech_hallway1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/asian_young/marscity/maint_tech_hallway2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/asian_young/marscity/maint_tech_hallway3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } + anim talk_excuseme models/md5/heads/asian_young/marscity/maint_tech_hallway4.md5anim { + frame 1 sound_voice snd_talk_excuse + } +} + +model marscity_char_maint_asian_pda { + inherit npc_jumpsuit + anim stand models/md5/chars/PDA_idle.md5anim { + frame 1 event disableEyeFocus + } + anim pda_idle_look models/md5/chars/PDA_idle.md5anim { + frame 1 event disableEyeFocus + } + anim talk_excuseme models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_primary models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } +} + +entityDef marscity_char_maint_asian_pda { + "inherit" "npc_base" + "def_head" "marscity_char_maint_asian_pda_head" + "head_joint" "Shoulders" + "model" "marscity_char_maint_asian_pda" + "ik_numLegs" "0" + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "talk_no_turn" "1" + "talktime" "1" + "talkradius" "384" + + "head_focus_rate" "0.1" + + "copy_joint_world eyecontrol" "" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "def_attach" "pda_marscity_char_maint_asian_pda" + "def_dropDeathItem" "pda_marscity_char_maint_asian_pda" + "dropDeathItemJoint" "pda" + "dropDeathItemRotation" "0 0 0" + + "snd_talk_excuse" "marscity_maint_tech_hallway_excuse" + "snd_talk_primary" "marscity_maint_tech_hallway_primary" + "snd_talk_secondary" "marscity_maint_tech_hallway_secondary1" + "snd_talk_secondary2" "marscity_maint_tech_hallway_secondary2" + "snd_talk_idle" "marscity_maint_tech_hallway_idle1" + "snd_talk_idle2" "marscity_maint_tech_hallway_idle2" +} + +model marscity_security_machinegun { + inherit npc_security + + anim walk models/md5/chars/walk_machinegun.md5anim { + frame 3 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 32 sound_body snd_footstep + frame 46 sound_body snd_footstep + } + anim stand models/md5/chars/p90_stand.md5anim + anim idle models/md5/chars/p90_stand.md5anim + anim talk_trigger models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_trigger + } + anim talk_primary models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +entityDef marscity_security_machinegun { + "inherit" "npc_base" + "model" "marscity_security_machinegun" + "def_head" "head_security_helmet" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "talktime" ".6" + "talkradius" "420" + + "def_attach" "prop_machinegun" + + "ik_numLegs" "0" + "snd_talk_trigger" "marscity_security_guard_admin_trigger" + "snd_talk_primary" "marscity_security_guard_admin_primary" + "snd_talk_secondary" "marscity_security_guard_admin_secondary1" + "snd_talk_secondary2" "marscity_security_guard_admin_secondary2" +} + +model marscity_civilian_bathroom_head { + inherit head_black + + anim talk_primary models/md5/heads/black/marscity/marine_bathroom_1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/black/marscity/marine_bathroom_2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/black/marscity/marine_bathroom_3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } + anim talk_excuseme models/md5/heads/black/marscity/marine_bathroom_4.md5anim { + frame 1 sound_voice snd_talk_excuseme + } +} + +model marscity_civilian_bathroom { + inherit npc_tshirt + + anim operate_computer5 models/md5/chars/stand.md5anim + anim stand models/md5/chars/stand.md5anim + anim talk_primary models/md5/chars/stand_talk.md5anim + anim talk_secondary1 models/md5/chars/stand_talk.md5anim + anim talk_secondary2 models/md5/chars/stand_talk.md5anim +} + +entityDef marscity_civilian_bathroom { + "inherit" "npc_base" + "model" "marscity_civilian_bathroom" + "def_head" "marscity_civilian_bathroom_head" + "skin" "skins/characters/npcs/soldier_black" + "head_joint" "Shoulders" + "talk_no_turn" "1" + "talktime" ".5" + "talkradius" "384" + + "copy_joint_world eyecontrol" "" + + "head_focus_rate" "0.1" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "snd_talk_primary" "marscity_marine_bathroom_primary" + "snd_talk_secondary" "marscity_marine_bathroom_secondary1" + "snd_talk_secondary2" "marscity_marine_bathroom_secondary2" + "snd_talk_excuseme" "marscity_marine_bathroom_excuseme" +} + +model marscity_sec_window { + inherit npc_tshirt + + anim window models/md5/cinematics/marscity/sec_window.md5anim { + frame 685 sound_voice marscity_cin_marine1_1 + frame 895 sound_voice marscity_cin_marine1_2 + } +} +entityDef marscity_sec_window { + "inherit" "npc_base" + "model" "marscity_sec_window" + "anim" "window" + "size" "12 12 74" + "ik_numlegs" "0" + "def_attach" "prop_soft_desk_chair2" + + "copy_joint_world eyecontrol" "" + + "def_head" "marscity_sec_window2_head" + "head_joint" "Shoulders" + "sound_bone" "headcontrol" + "cinematic" "1" +} + +model marscity_sec_window2_head { + inherit head_young + + anim talk_primary models/md5/heads/young/marscity/marine6_hq_1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/young/marscity/marine6_hq_2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/young/marscity/marine6_hq_3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } + anim window models/md5/characters/npcs/heads/h2mc1window.md5anim +} + +model marscity_sec_window2 { + inherit npc_tshirt + + anim af_pose models/md5/chars/af_pose.md5anim + anim ik_pose models/md5/chars/af_pose.md5anim + anim stand models/md5/chars/operate_computer_sitting.md5anim { + frame 2 sound_body typing + frame 11 sound_body2 typing + frame 18 sound_body typing + frame 28 sound_body2 typing + frame 31 sound_body typing + frame 34 sound_body2 typing + frame 37 sound_body typing + frame 41 sound_body2 typing + frame 44 sound_body typing + frame 75 sound_body2 typing + frame 79 sound_body typing + frame 82 sound_body2 typing + frame 88 sound_body typing + frame 93 sound_body2 typing + frame 95 sound_body typing + frame 98 sound_body2 typing + frame 103 sound_body typing + frame 105 sound_body2 typing + frame 133 sound_body typing + frame 136 sound_body2 typing + frame 143 sound_body typing + frame 146 sound_body2 typing + frame 149 sound_body typing + frame 153 sound_body2 typing + frame 156 sound_body typing + frame 159 sound_body2 typing + frame 169 sound_body typing + frame 173 sound_body2 typing + frame 175 sound_body typing + } + anim idle models/md5/chars/operate_computer_sitting.md5anim { + frame 2 sound_body typing + frame 11 sound_body2 typing + frame 18 sound_body typing + frame 28 sound_body2 typing + frame 31 sound_body typing + frame 34 sound_body2 typing + frame 37 sound_body typing + frame 41 sound_body2 typing + frame 44 sound_body typing + frame 75 sound_body2 typing + frame 79 sound_body typing + frame 82 sound_body2 typing + frame 88 sound_body typing + frame 93 sound_body2 typing + frame 95 sound_body typing + frame 98 sound_body2 typing + frame 103 sound_body typing + frame 105 sound_body2 typing + frame 133 sound_body typing + frame 136 sound_body2 typing + frame 143 sound_body typing + frame 146 sound_body2 typing + frame 149 sound_body typing + frame 153 sound_body2 typing + frame 156 sound_body typing + frame 159 sound_body2 typing + frame 169 sound_body typing + frame 173 sound_body2 typing + frame 175 sound_body typing + } + anim cower models/md5/chars/operate_computer_sitting.md5anim { + frame 2 sound_body typing + frame 11 sound_body2 typing + frame 18 sound_body typing + frame 28 sound_body2 typing + frame 31 sound_body typing + frame 34 sound_body2 typing + frame 37 sound_body typing + frame 41 sound_body2 typing + frame 44 sound_body typing + frame 75 sound_body2 typing + frame 79 sound_body typing + frame 82 sound_body2 typing + frame 88 sound_body typing + frame 93 sound_body2 typing + frame 95 sound_body typing + frame 98 sound_body2 typing + frame 103 sound_body typing + frame 105 sound_body2 typing + frame 133 sound_body typing + frame 136 sound_body2 typing + frame 143 sound_body typing + frame 146 sound_body2 typing + frame 149 sound_body typing + frame 153 sound_body2 typing + frame 156 sound_body typing + frame 159 sound_body2 typing + frame 169 sound_body typing + frame 173 sound_body2 typing + frame 175 sound_body typing + } + anim turn_left models/md5/chars/operate_computer_sitting.md5anim + anim turn_right models/md5/chars/operate_computer_sitting.md5anim + + anim talk_primary models/md5/chars/operate_computer_talk.md5anim + anim talk_secondary1 models/md5/chars/operate_computer_talk.md5anim + anim talk_secondary2 models/md5/chars/operate_computer_talk.md5anim +} + +entityDef marscity_sec_window2 { + "inherit" "npc_base" + "model" "marscity_sec_window2" + "anim" "idle" + + "def_head" "marscity_sec_window2_head" + "head_joint" "Shoulders" + "ignore_push" "1" + "ik_numlegs" "0" + "def_attach" "prop_soft_desk_chair2" + + "copy_joint_world eyecontrol" "" + + "def_dropDeathItem" "moveable_chair2" + "dropDeathItemJoint" "chair" + "dropDeathItemRotation" "-90 0 0" + + "talk_no_turn" "1" + "talktime" "0" + + "talk_time" "0" + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0.2 0.2 0" + "look_joint headcontrol" "-0.1 -0.1 0" + "look_joint neckcontrol" "0.8 0.8 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "look_min" "-90 -80 0" + "look_max" "25 80 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "snd_talk_primary" "marscity_marine6_hq_primary" + "snd_talk_secondary" "marscity_marine6_hq_secondary1" + "snd_talk_secondary2" "marscity_marine6_hq_secondary2" +} + +model marscity_betruger_head { + mesh models/md5/heads/betruger/betruger.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/heads/betruger/betrugeridle.md5anim + anim stand models/md5/heads/betruger/betrugeridle.md5anim + anim betrugercin1 models/md5/heads/betruger/marscity/betspeech.md5anim + anim betrugercin_a models/md5/heads/betruger/marscity/betspeech_a.md5anim + anim betrugercin_b models/md5/heads/betruger/marscity/betspeech_b.md5anim + anim betrugercin_c models/md5/heads/betruger/marscity/betspeech_c.md5anim { + frame 3 sound_voice marscity_speech_bertruger1 + } + anim betrugercin_d models/md5/heads/betruger/marscity/betspeech_d.md5anim { + frame 192 sound_voice marscity_speech_bertruger2 + frame 752 sound_voice marscity_speech_bertruger3 + frame 1292 sound_voice marscity_speech_bertruger4 + } +} + +model marscity_cinematic_betruger { + inherit npc_labcoat + + anim betrugercin_a models/md5/chars/betruger/marscity/meeting_a.md5anim { + frame 1 event disableEyeFocus + } + anim betrugercin_b models/md5/chars/betruger/marscity/meeting_b.md5anim { + frame 1 event disableEyeFocus + } + anim betrugercin_c models/md5/chars/betruger/marscity/meeting_c.md5anim { + frame 1 event disableEyeFocus + } + anim betrugercin_d models/md5/chars/betruger/marscity/meeting_d.md5anim { + frame 1 event disableEyeFocus + } + anim window models/md5/chars/betruger/marscity/window.md5anim { + frame 760 sound_voice marscity_cin_bertruger1_1 + } +} + +entityDef marscity_cinematic_betruger { + "inherit" "npc_base" + "size" "" + "model" "marscity_cinematic_betruger" + "anim" "betrugercin_a" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "def_head" "marscity_betruger_head" + "head_joint" "Shoulders" + "cinematic" "1" +} + +entityDef marscity_meeting_betruger { + "inherit" "npc_base" + "size" "" + "model" "marscity_cinematic_betruger" + "anim" "betrugercin_a" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "def_head" "marscity_betruger_head" + "head_joint" "Shoulders" + "num_cinematics" "4" + "anim1" "betrugercin_a" + "anim2" "betrugercin_b" + "anim3" "betrugercin_c" + "anim4" "betrugercin_d" + + "cinematic" "1" +} + +model marscity_head_swann { + skin skins/characters/npcs/swannglasses.skin + mesh models/md5/heads/swann/swann.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim stand models/md5/heads/swann/swannidle.md5anim + anim idle models/md5/heads/swann/swannidle.md5anim + anim betrugercin_a models/md5/heads/swann/marscity/swannhead_speech_a.md5anim + anim betrugercin_b models/md5/heads/swann/marscity/swannhead_speech_b.md5anim + anim betrugercin_c models/md5/heads/swann/marscity/swannhead_speech_c.md5anim + anim betrugercin_d models/md5/heads/swann/marscity/swannhead_speech_d.md5anim + anim hangar_a models/md5/heads/swann/marscity/mc_hangar_a.md5anim + anim hangar_b models/md5/heads/swann/marscity/mc_hangar_b.md5anim + anim hangar_c models/md5/heads/swann/marscity/mc_hangar_c.md5anim + anim hangar_d models/md5/heads/swann/marscity/mc_hangar_d.md5anim + anim hangar_e models/md5/heads/swann/marscity/mc_hangar_e.md5anim + anim hangar_f models/md5/heads/swann/marscity/mc_hangar_f.md5anim +} + +model marscity_cinematic_swann { + inherit npc_suit + + anim betrugercin_a models/md5/chars/swann/marscity/meeting_a.md5anim { + frame 1 event disableEyeFocus + frame 1 sound_voice marscity_speech_swann1 + + } + anim betrugercin_b models/md5/chars/swann/marscity/meeting_b.md5anim { + frame 1 event disableEyeFocus + } + anim betrugercin_c models/md5/chars/swann/marscity/meeting_c.md5anim { + frame 1 event disableEyeFocus + } + anim betrugercin_d models/md5/chars/swann/marscity/meeting_d.md5anim { + frame 1 event disableEyeFocus + frame 79 sound_voice marscity_speech_swann2 + frame 537 sound_voice marscity_speech_swann3 + frame 1042 sound_voice marscity_speech_swann4 + frame 1552 sound_voice marscity_speech_swann5 + } +} + +entityDef marscity_cinematic_swann { + "inherit" "npc_base" + "size" "" + "model" "marscity_cinematic_swann" + "anim" "betrugercin_a" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "def_head" "marscity_head_swann" + "head_joint" "Shoulders" + "num_cinematics" "4" + "anim1" "betrugercin_a" + "anim2" "betrugercin_b" + "anim3" "betrugercin_c" + "anim4" "betrugercin_d" + + "cinematic" "1" +} + +model marscity_hangar_swann { + inherit npc_suit + + anim hangar_a models/md5/chars/swann/marscity/hangar_a.md5anim { + frame 1 event disableEyeFocus + frame 250 sound_voice marscity_cin_swann1_1 + } + anim hangar_b models/md5/chars/swann/marscity/hangar_b.md5anim { + frame 1 event disableEyeFocus + frame 41 sound_voice marscity_cin_swann1_2 + } + + anim hangar_c models/md5/chars/swann/marscity/hangar_c.md5anim { + frame 1 event disableEyeFocus + } + + anim hangar_d models/md5/chars/swann/marscity/hangar_d.md5anim { + frame 1 event disableEyeFocus + } + + anim hangar_e models/md5/chars/swann/marscity/hangar_e.md5anim { + frame 1 event disableEyeFocus + } + + anim hangar_f models/md5/chars/swann/marscity/hangar_f.md5anim { + frame 1 event disableEyeFocus + frame 1 sound_voice marscity_cin_swann1_3 + } +} + +entityDef marscity_hangar_swann { + "inherit" "npc_base" + "size" "0 0 0" + "model" "marscity_hangar_swann" + "anim" "hangar_a" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "def_head" "marscity_head_swann" + "head_joint" "Shoulders" + + "num_cinematics" "6" + "anim1" "hangar_a" + "anim2" "hangar_b" + "anim3" "hangar_c" + "anim4" "hangar_d" + "anim5" "hangar_e" + "anim6" "hangar_f" + "cinematic" "1" +} + +model marscity_walking_swann { + inherit npc_suit +} + +entityDef marscity_walking_swann { + "inherit" "npc_base" + "size" "" + "model" "marscity_walking_swann" + "eye_verticle_offset" "0" + "def_head" "head_swann" + "head_joint" "Shoulders" +} + +model marscity_head_campbell { + inherit head_campbell + + anim hangar_a models/md5/heads/campbell/marscity/mc_hangar_a.md5anim + anim hangar_b models/md5/heads/campbell/marscity/mc_hangar_b.md5anim + anim hangar_c models/md5/heads/campbell/marscity/mc_hangar_c.md5anim + anim hangar_d models/md5/heads/campbell/marscity/mc_hangar_d.md5anim + anim hangar_e models/md5/heads/campbell/marscity/mc_hangar_e.md5anim + anim hangar_f models/md5/heads/campbell/marscity/mc_hangar_f.md5anim +} + +model marscity_cinematic_campbell { + inherit char_campbell_bfgcase + + anim betrugercin_a models/md5/chars/campbell/marscity/betrugercin1_campbell_a.md5anim + anim betrugercin_b models/md5/chars/campbell/marscity/betrugercin1_campbell_b.md5anim + anim betrugercin_c models/md5/chars/campbell/marscity/betrugercin1_campbell_c.md5anim + anim betrugercin_d models/md5/chars/campbell/marscity/betrugercin1_campbell_d.md5anim +} + +entityDef marscity_cinematic_campbell { + "inherit" "char_campbell_bfgcase" + "model" "marscity_cinematic_campbell" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "def_head" "marscity_head_campbell" + "head_joint" "Shoulders" + "size" "" + + "num_cinematics" "4" + "anim1" "betrugercin_a" + "anim2" "betrugercin_b" + "anim3" "betrugercin_c" + "anim4" "betrugercin_d" + + "cinematic" "1" +} + +model marscity_hangar_campbell { + inherit char_campbell_bfgcase + + anim hangar_a models/md5/chars/campbell/marscity/hangar_campbell_a.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_b models/md5/chars/campbell/marscity/hangar_campbell_b.md5anim { + frame 1 event disableEyeFocus + frame 4 sound_voice marscity_cin_campbell1_1 + } + anim hangar_c models/md5/chars/campbell/marscity/hangar_campbell_c.md5anim { + frame 1 event disableEyeFocus + frame 93 sound_voice marscity_cin_campbell1_2 + } + anim hangar_d models/md5/chars/campbell/marscity/hangar_campbell_d.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_e models/md5/chars/campbell/marscity/hangar_campbell_e.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_f models/md5/chars/campbell/marscity/hangar_campbell_f.md5anim { + frame 1 event disableEyeFocus + frame 114 sound_voice marscity_cin_campbell1_3 + } +} + +entityDef marscity_hangar_campbell { + "inherit" "char_campbell_bfgcase" + "model" "marscity_hangar_campbell" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "def_head" "marscity_head_campbell" + "head_joint" "Shoulders" + "size" "0 0 0" + + "num_cinematics" "6" + "anim1" "hangar_a" + "anim2" "hangar_b" + "anim3" "hangar_c" + "anim4" "hangar_d" + "anim5" "hangar_e" + "anim6" "hangar_f" + "cinematic" "1" +} + +model marscity_head_sarge { + mesh models/md5/heads/sarge/sarge.md5mesh + anim stand models/md5/heads/sarge/sargeidle.md5anim + + anim sargecin1 models/md5/heads/sarge/marscity/sargecin_sargehead1.md5anim + anim sargecin2 models/md5/heads/sarge/marscity/sargecin_sargehead2.md5anim + anim sargecin3 models/md5/heads/sarge/marscity/sargecin_sargehead3.md5anim + anim sargecin4 models/md5/heads/sarge/marscity/sargecin_sargehead4.md5anim + anim sargecin5 models/md5/heads/sarge/marscity/sargecin_sargehead5.md5anim + anim sargecin6 models/md5/heads/sarge/marscity/sargecin_sargehead6.md5anim + anim sargecin7 models/md5/heads/sarge/marscity/sargecin_sargehead7.md5anim +} + +model marscity_cinematic_sarge { + inherit npc_marine + + anim sargecin1 models/md5/chars/sarge/marscity/mission1.md5anim { + //frame 1 aviGame sargecin + frame 1 event disableEyeFocus + frame 1 sound_global marscity_cin_sarge_gui + frame 7 sound_voice snd_sargecin1 + } + anim sargecin2 models/md5/chars/sarge/marscity/mission2.md5anim { + frame 1 event disableEyeFocus + frame 63 sound_voice snd_sargecin2 + frame 197 sound_voice snd_sargecin3 + } + anim sargecin3 models/md5/chars/sarge/marscity/mission3.md5anim { + frame 1 event disableEyeFocus + frame 94 sound_voice snd_sargecin4 + frame 174 sound_voice snd_sargecin5 + } + anim sargecin4 models/md5/chars/sarge/marscity/mission4.md5anim { + frame 1 event disableEyeFocus + } + anim sargecin5 models/md5/chars/sarge/marscity/mission5.md5anim { + frame 1 event disableEyeFocus + frame 1 trigger sentrytrig + frame 1 trigger trigger_relay_sarge_light + frame 8 sound_voice snd_sargecin6 + frame 111 sound_voice snd_sargecin7 + } + anim sargecin6 models/md5/chars/sarge/marscity/mission6.md5anim { + frame 1 event disableEyeFocus + } + anim sargecin7 models/md5/chars/sarge/marscity/mission7.md5anim { + frame 1 event disableEyeFocus + //frame 39 aviGame + } +} + +entityDef marscity_cinematic_sarge { + "inherit" "npc_base" + "model" "marscity_cinematic_sarge" + "size" "12 12 74" + "anim" "sargecin" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + + "def_head" "marscity_head_sarge" + "head_joint" "Shoulders" + + "num_cinematics" "7" + "anim1" "sargecin1" + "anim2" "sargecin2" + "anim3" "sargecin3" + "anim4" "sargecin4" + "anim5" "sargecin5" + "anim6" "sargecin6" + "anim7" "sargecin7" + + "snd_sargecin1" "marscity_cin_sarge1" + "snd_sargecin2" "marscity_cin_sarge2" + "snd_sargecin3" "marscity_cin_sarge3" + "snd_sargecin4" "marscity_cin_sarge4" + "snd_sargecin5" "marscity_cin_sarge5" + "snd_sargecin6" "marscity_cin_sarge6" + "snd_sargecin7" "marscity_cin_sarge7" + + "cinematic" "1" +} + +model marscity_cinematic_head_sarge2 { + mesh models/md5/heads/sarge/sarge.md5mesh + anim stand models/md5/heads/sarge/sargeidle.md5anim + + anim sargecin_start models/md5/heads/sarge/marscity/sargecin_missionloop.md5anim + + anim wait_loop models/md5/heads/sarge/marscity/sargecin_wait_loop.md5anim + + anim talk_primary models/md5/heads/sarge/marscity/mc_sarge_primary.md5anim { + frame 1 sound_voice marscity_sarge_primary + } + anim talk_secondary1 models/md5/heads/sarge/marscity/mc_sarge_secondary.md5anim { + frame 1 sound_voice marscity_sarge_secondary + } + anim talk_secondary2 models/md5/heads/sarge/marscity/mc_sarge_secondary2.md5anim { + frame 1 sound_voice marscity_sarge_secondary2 + } +} + +model marscity_cinematic_sarge2 { + inherit marscity_cinematic_sarge + + anim stand models/md5/chars/sarge/marscity/mc_sarge_wait_loop.md5anim { + frame 1 event disableEyeFocus + frame 500 sound_voice marscity_sarge_cough + } + + anim sargecin_start models/md5/chars/sarge/marscity/missionloop.md5anim + + anim wait models/md5/chars/sarge/marscity/mc_sarge_wait.md5anim + anim wait_loop models/md5/chars/sarge/marscity/mc_sarge_wait_loop.md5anim { + frame 1 event disableEyeFocus + frame 500 sound_voice marscity_sarge_cough + } + + anim talk_primary models/md5/chars/sarge/marscity/mc_sarge_primary.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/sarge/marscity/mc_sarge_secondary.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/sarge/marscity/mc_sarge_secondary2.md5anim { + frame 1 event enableEyeFocus + } +} + +entityDef marscity_cinematic_sarge2 { + "inherit" "npc_base" + "model" "marscity_cinematic_sarge2" + "size" "12 12 74" + + "follow_once" "1" + "def_head" "marscity_cinematic_head_sarge2" + "head_joint" "Shoulders" + "sound_bone" "Chest" + "talktime" "1" + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + "bone_orientation" "Body2" + "ik_numLegs" "0" + "talk_no_turn" "1" + "blink_min" "2.5" + "blink_max" "8.0" + + "look_min" "-90 -85 0" + "look_max" "25 85 0" + "look_joint Waist" "0 0 0" + "look_joint Chest" ".1 .12 0" + "look_joint Shoulders" ".2 .23 0" + "look_joint headcontrol" ".7 .65 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "0" + "eye_horizontal_offset" "3" + + "eye_focus_rate" "0.005" + "head_focus_rate" "0.07" +} + +model marscity_hangar { + mesh models/md5/cinematics/marscity/marscityhangar.md5mesh + anim hangar models/md5/cinematics/marscity/marscityhangar.md5anim +} + +entityDef marscity_hangar { + "inherit" "cin_base" + "model" "marscity_hangar" + "anim" "hangar" + "cinematic" "1" +} + +model marscity_civilian2 { + inherit npc_suit + + anim talk_primary models/md5/chars/stand_talk.md5anim { + prevent_idle_override + frame 1 event enableEyeFocus + frame 1 sound_voice marscity_maint1_primary + } +} + +entityDef marscity_civilian2 { + "inherit" "npc_base" + "copy_joint_world eyecontrol" "" + "model" "marscity_civilian2" + "snd_blocked" "marscity_maint1_blocked" + "snd_talk_secondary" "marscity_maint1_secondary" +} + +model marscity_receptionist_head { + mesh models/md5/heads/head02young/h2_cinematic.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/heads/head02young/marscity/reception_idle.md5anim + anim stand models/md5/heads/head02young/marscity/reception_idle.md5anim + anim blink models/md5/heads/head02young/marscity/reception_idle.md5anim + anim typing models/md5/heads/head02young/marscity/reception_idle.md5anim + anim typing_end models/md5/heads/head02young/marscity/reception_idle.md5anim + anim talk_primary models/md5/heads/head02young/marscity/reception_primary.md5anim { + frame 5 sound_voice marscity_receptionist_primary + } + anim talk_secondary1 models/md5/heads/head02young/marscity/reception_secondary1.md5anim { + frame 1 sound_voice marscity_receptionist_secondary1 + } + anim talk_secondary2 models/md5/heads/head02young/marscity/reception_secondary2.md5anim { + frame 1 sound_voice marscity_receptionist_secondary2 + } + + anim reception_a models/md5/heads/head02young/marscity/reception_a.md5anim { + frame 31 sound_voice marscity_receptionist_trigger_1 + frame 60 sound_voice marscity_receptionist_trigger_2 + } + anim reception_b models/md5/heads/head02young/marscity/reception_b.md5anim { + frame 16 sound_voice marscity_receptionist_trigger_3 + } + anim reception_c models/md5/heads/head02young/marscity/reception_c.md5anim { + frame 51 sound_voice marscity_receptionist_trigger_4 + } + anim reception_d models/md5/heads/head02young/marscity/reception_d.md5anim { + frame 75 sound_voice marscity_receptionist_trigger_5 + } + anim reception_e models/md5/heads/head02young/marscity/reception_e.md5anim { + frame 41 sound_voice marscity_receptionist_trigger_6 + frame 134 sound_voice marscity_receptionist_trigger_7 + frame 239 sound_voice marscity_receptionist_trigger_8 + frame 294 sound_voice marscity_receptionist_trigger_9 + } + anim reception_f models/md5/heads/head02young/marscity/reception_f.md5anim +} + +model marscity_receptionist { + inherit npc_suit + + anim idle models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing.md5anim + anim stand models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing.md5anim { + frame 1 sound_body2 typing + frame 5 sound_body typing + frame 10 sound_body2 typing + frame 15 sound_body typing + frame 20 sound_body2 typing + frame 25 sound_body typing + frame 30 sound_body2 typing + frame 35 sound_body typing + frame 40 sound_body2 typing + frame 45 sound_body typing + } + anim typing models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing.md5anim + anim turn_left models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing.md5anim + anim turn_right models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing.md5anim + + anim reception_a models/md5/chars/receptionist/marscity/receptioncin1_receptionist_a.md5anim { + frame 1 disableGravity + frame 1 event disableEyeFocus + frame 38 sound_body marscity_reception_chair + } + anim reception_b models/md5/chars/receptionist/marscity/receptioncin1_receptionist_b.md5anim { + frame 1 disableGravity + frame 1 event disableEyeFocus + } + anim reception_c models/md5/chars/receptionist/marscity/receptioncin1_receptionist_c.md5anim { + frame 1 disableGravity + frame 1 event disableEyeFocus + //frame 193 call map_marscity1::show_pda + } + anim reception_d models/md5/chars/receptionist/marscity/receptioncin1_receptionist_d.md5anim { + frame 1 call map_marscity1::show_pda + frame 1 disableGravity + frame 1 event disableEyeFocus + } + anim reception_e models/md5/chars/receptionist/marscity/receptioncin1_receptionist_e.md5anim { + frame 1 disableGravity + frame 1 event disableEyeFocus + frame 86 trigger tim_func_static_2675 + frame 88 sound_body marscity_reception_type + } + anim reception_f models/md5/chars/receptionist/marscity/receptioncin1_receptionist_f.md5anim { + frame 1 disableGravity + frame 1 event disableEyeFocus + } +} + +entityDef marscity_receptionist { + "inherit" "npc_base" + "model" "marscity_receptionist" + "size" "12 12 74" + "def_attach" "prop_soft_desk_chair2" + + "ik_numLegs" "0" + "def_head" "marscity_receptionist_head" + "head_joint" "Shoulders" + + "head_focus_rate" "0.1" + "eye_horizontal_offset" "0" + + "turn_rate" "0" + "talktime" "0" + "no_cower" "1" + "ignore_push" "1" + + "num_cinematics" "6" + "anim1" "reception_a" + "anim2" "reception_b" + "anim3" "reception_c" + "anim4" "reception_d" + "anim5" "reception_e" + "anim6" "reception_f" + + "sound_bone" "headcontrol" + "cinematic" "1" +} + +entityDef marscity_receptionist_start { + "inherit" "npc_base" + "model" "marscity_receptionist" + "size" "12 12 74" + "def_attach" "prop_soft_desk_chair2" + + "ik_numLegs" "0" + "def_head" "marscity_receptionist_head" + "head_joint" "Shoulders" + + "head_focus_rate" "0.1" + "eye_horizontal_offset" "0" + + "turn_rate" "0" + "talktime" "0" + "no_cower" "1" + "ignore_push" "1" + + "sound_bone" "headcontrol" + "cinematic" "1" +} + +model marscity_receptionist2 { + inherit npc_suit + + anim idle models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim + anim stand models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim { + frame 1 sound_body2 typing + frame 4 sound_body typing + frame 10 sound_body2 typing + frame 15 sound_body typing + frame 21 sound_body2 typing + frame 25 sound_body typing + frame 30 sound_body2 typing + frame 35 sound_body typing + frame 40 sound_body2 typing + frame 45 sound_body typing + frame 52 sound_body2 typing + frame 57 sound_body typing + } + anim typing models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim + anim talk_primary models/md5/chars/receptionist/marscity/receptioncin1_receptionist_primary.md5anim + anim talk_secondary1 models/md5/chars/receptionist/marscity/receptioncin1_receptionist_secondary1.md5anim + anim talk_secondary2 models/md5/chars/receptionist/marscity/receptioncin1_receptionist_secondary2.md5anim + anim turn_left models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim + anim turn_right models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim +} + +entityDef marscity_receptionist2 { + "inherit" "npc_base" + "model" "marscity_receptionist2" + "size" "12 12 74" + "def_attach" "prop_soft_desk_chair2" + + "ik_numLegs" "0" + "def_head" "marscity_receptionist_head" + "head_joint" "Shoulders" + + "talk_time" "0" + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0.2 0 0" + "look_joint headcontrol" "0.4 0.3 0" + "look_joint neckcontrol" "0.4 0.5 0" + "look_joint Ruparm" "-0.5 0 0" + "look_joint Luparm" "-0.5 0 0" + "look_min" "-40 -80 0" + "look_max" "40 45 0" + + "no_cower" "1" + + "turn_rate" "0" + "talktime" "0" + + "sound_bone" "headcontrol" + + "snd_talk_primary" "marscity_receptionist_primary" + "snd_talk_secondary1" "marscity_receptionist_secondary1" + "snd_talk_secondary2" "marscity_receptionist_secondary2" +} + +model marscity_receptionist_head3 { + mesh models/md5/heads/head02young/h2_cinematic.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/heads/head02young/marscity/reception_idle.md5anim + anim stand models/md5/heads/head02young/marscity/reception_idle.md5anim + anim blink models/md5/heads/head02young/marscity/reception_idle.md5anim + anim typing models/md5/heads/head02young/marscity/reception_idle.md5anim + anim typing_end models/md5/heads/head02young/marscity/reception_idle.md5anim + anim talk_primary models/md5/heads/head02young/marscity/reception_secondary3.md5anim { + frame 5 sound_voice marscity_receptionist_secondary3 + } + anim talk_secondary1 models/md5/heads/head02young/marscity/reception_secondary3.md5anim { + frame 5 sound_voice marscity_receptionist_secondary3 + } + anim talk_secondary2 models/md5/heads/head02young/marscity/reception_secondary3.md5anim { + frame 5 sound_voice marscity_receptionist_secondary3 + } +} + +model marscity_receptionist3 { + inherit npc_suit + + anim idle models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim + anim stand models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim + anim typing models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim + anim talk_primary models/md5/chars/receptionist/marscity/receptioncin1_receptionist_secondary3.md5anim + anim talk_secondary1 models/md5/chars/receptionist/marscity/receptioncin1_receptionist_secondary3.md5anim + anim talk_secondary2 models/md5/chars/receptionist/marscity/receptioncin1_receptionist_secondary3.md5anim + anim turn_left models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim + anim turn_right models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2.md5anim +} + +entityDef marscity_receptionist3 { + "inherit" "marscity_receptionist2" + "model" "marscity_receptionist3" + "def_head" "marscity_receptionist_head3" +} + +model marscity_smallpda { + mesh models/md5/chars/receptionist/marscity/receptioncin1_smallpda.md5mesh + anim recep_a models/md5/chars/receptionist/marscity/receptioncin1_smallpda_a.md5anim + anim recep_b models/md5/chars/receptionist/marscity/receptioncin1_smallpda_b.md5anim + anim recep_c models/md5/chars/receptionist/marscity/receptioncin1_smallpda_c.md5anim + + skin skins/models/props/pdathing.skin +} + +entityDef marscity_smallpda { + "inherit" "cin_base" + "model" "marscity_smallpda" + + "num_anims" "3" + "anim1" "recep_a" + "anim2" "recep_b" + "anim3" "recep_c" + + "auto_advance" "1" + "cinematic" "1" +} + +model marscity_dufflebag { + mesh models/md5/chars/receptionist/marscity/receptioncin1_dufflebag.md5mesh + anim recep models/md5/chars/receptionist/marscity/receptioncin1_dufflebag.md5anim +} + +entityDef marscity_dufflebag { + "inherit" "cin_base" + "model" "marscity_dufflebag" + "cinematic" "1" +} + +model marscity_suit_officeguy1 { + inherit npc_suit + anim office models/md5/chars/office1working.md5anim +} + +entityDef marscity_suit_officeguy1 { + "inherit" "npc_base" + "model" "marscity_suit_officeguy1" + "anim" "office" + "def_head" "head_young" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" +} + +model marscity_civilian_hallway { + inherit npc_jumpsuit + + anim talk_primary models/md5/chars/stand_talk.md5anim { + prevent_idle_override + frame 1 event enableEyeFocus + frame 1 sound_voice marscity_maint_tech_hallway_primary + } +} + +entityDef marscity_civilian_hallway { + "inherit" "npc_base" + "model" "marscity_civilian_hallway" + "snd_talk_secondary" "marscity_maint_tech_hallway_secondary" + "def_head" "head_asian_young" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" +} + +model marscity_labcoat_monitor_head { + inherit head_black + + anim talk_primary models/md5/heads/black/marscity/scientist_monitor_1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/black/marscity/scientist_monitor_2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/black/marscity/scientist_monitor_3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model marscity_labcoat_monitor { + inherit npc_labcoat + anim stand models/md5/chars/operate_computer_loop3.md5anim { + frame 1 event disableEyeFocus + } + anim operate_computer6 models/md5/chars/operate_computer_loop3.md5anim { + frame 1 event disableEyeFocus + } + anim talk_primary models/md5/chars/stand_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/stand_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/stand_talk.md5anim { + frame 1 event enableEyeFocus + } +} + +entityDef marscity_labcoat_monitor { + "inherit" "npc_base" + "model" "marscity_labcoat_monitor" + "def_head" "marscity_labcoat_monitor_head" + "head_joint" "Shoulders" + "talk_no_turn" "1" + "turn_rate" "0" + "talktime" "0" + "talkradius" "384" + "ik_numLegs" "0" + "copy_joint_world eyecontrol" "" + + "head_focus_rate" "0.1" + + "eye_turn_min" "-5 -5 0" + "eye_turn_max" "5 5 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "snd_talk_primary" "marscity_sci_monitor_primary" + "snd_talk_secondary" "marscity_sci_monitor_secondary1" + "snd_talk_secondary2" "marscity_sci_monitor_secondary2" +} + +model marscity_civilian_kitchen_head { + inherit head_asian_old + + anim talk_primary models/md5/heads/asian_old/marscity/maint_kitchen_1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/asian_old/marscity/maint_kitchen_2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/asian_old/marscity/maint_kitchen_3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model marscity_civilian_kitchen { + inherit npc_jumpsuit + + anim stand models/md5/chars/drinkfoamcup.md5anim + anim idle models/md5/chars/drinkfoamcup.md5anim + anim drink_idle models/md5/chars/drink_idle.md5anim + + anim talk_primary models/md5/chars/drink_idle.md5anim + anim talk_secondary1 models/md5/chars/drink_idle.md5anim + anim talk_secondary2 models/md5/chars/drink_idle.md5anim +} + +entityDef marscity_civilian_kitchen { + "inherit" "npc_base" + "model" "marscity_civilian_kitchen" + "def_head" "marscity_civilian_kitchen_head" + "head_joint" "Shoulders" + "ik_numLegs" "0" + "def_attach" "prop_foamcup" + "talktime" "0" + "talkradius" "384" + "head_focus_rate" "0.08" + "copy_joint_world eyecontrol" "" + + "snd_talk_primary" "marscity_kitchen_maint_primary" + "snd_talk_secondary" "marscity_kitchen_maint_secondary1" + "snd_talk_secondary2" "marscity_kitchen_maint_secondary2" +} + +model marscity_maint1_hallway_head { + inherit head_bald + + anim talk_primary models/md5/heads/bald/marscity/hallway_maint_1_9.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_primary + } + anim talk_secondary1 models/md5/heads/bald/marscity/hallway_maint_1_10.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_secondary1 + } + anim talk_secondary2 models/md5/heads/bald/marscity/hallway_maint_1_11.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_secondary2 + } + anim convo1 models/md5/heads/bald/marscity/hallway_maint_1_1.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_convo1 + } + anim convo2 models/md5/heads/bald/marscity/hallway_maint_1_2.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_convo2 + } + anim convo3 models/md5/heads/bald/marscity/hallway_maint_1_3.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_convo3 + } + anim convo4 models/md5/heads/bald/marscity/hallway_maint_1_4.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_convo4 + } + anim convo5 models/md5/heads/bald/marscity/hallway_maint_1_5.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_convo5 + } + anim convo6 models/md5/heads/bald/marscity/hallway_maint_1_6.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_convo2_1 + } + anim convo7 models/md5/heads/bald/marscity/hallway_maint_1_7.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_convo2_2 + } + anim convo8 models/md5/heads/bald/marscity/hallway_maint_1_8.md5anim { + frame 1 sound_voice marscity_hallway_maint_1_convo2_3 + } +} + +model marscity_maint1_hallway { + inherit npc_jumpsuit + anim talk_primary models/md5/chars/stand_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/stand_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/stand_talk.md5anim { + frame 1 event enableEyeFocus + } + anim stand models/md5/chars/gui_operate_main_worker.md5anim { + frame 1 event disableEyeFocus + } + anim idle models/md5/chars/gui_operate_main_worker.md5anim { + frame 1 event disableEyeFocus + } + anim convo1 models/md5/chars/gui_operate_main_worker.md5anim + anim convo2 models/md5/chars/gui_operate_main_worker.md5anim + anim convo3 models/md5/chars/gui_operate_main_worker.md5anim + anim convo4 models/md5/chars/gui_operate_main_worker.md5anim + anim convo5 models/md5/chars/gui_operate_main_worker.md5anim + anim convo6 models/md5/chars/gui_operate_main_worker.md5anim + anim convo7 models/md5/chars/gui_operate_main_worker.md5anim + anim convo8 models/md5/chars/gui_operate_main_worker.md5anim +} + +entityDef marscity_maint1_hallway { + "inherit" "npc_base" + "model" "marscity_maint1_hallway" + "def_head" "marscity_maint1_hallway_head" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "talk_no_turn" "1" + "talktime" "0" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "head_focus_rate" "0.1" + + "look_joint Waist" ".2 .2 0" + "look_joint Chest" ".2 .2 0" + "look_joint Shoulders" ".1 .1 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "pda_marscity_maint1_hallway" + "def_dropDeathItem" "pda_marscity_maint1_hallway" + "dropDeathItemJoint" "pda" + "dropDeathItemRotation" "0 0 0" +} + +model marscity_maint2_hallway_head { + inherit head_asian_old + + anim talk_primary models/md5/heads/asian_old/marscity/hallway_maint_2_8.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_primary + } + anim talk_secondary1 models/md5/heads/asian_old/marscity/hallway_maint_2_9.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_secondary1 + } + anim talk_secondary2 models/md5/heads/asian_old/marscity/hallway_maint_2_10.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_secondary2 + } + anim convo1 models/md5/heads/asian_old/marscity/hallway_maint_2_1.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_convo1 + } + anim convo2 models/md5/heads/asian_old/marscity/hallway_maint_2_2.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_convo2 + } + anim convo3 models/md5/heads/asian_old/marscity/hallway_maint_2_3.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_convo3 + } + anim convo4 models/md5/heads/asian_old/marscity/hallway_maint_2_4.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_convo4 + } + anim convo5 models/md5/heads/asian_old/marscity/hallway_maint_2_5.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_convo2_1 + } + anim convo6 models/md5/heads/asian_old/marscity/hallway_maint_2_6.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_convo2_2 + } + anim convo7 models/md5/heads/asian_old/marscity/hallway_maint_2_7.md5anim { + frame 1 sound_voice marscity_hallway_maint_2_convo2_3 + } +} + +model marscity_maint2_hallway { + inherit npc_jumpsuit + + anim stand models/md5/chars/drinkfoamcup.md5anim + anim idle models/md5/chars/drinkfoamcup.md5anim + anim drink_idle models/md5/chars/drink_idle.md5anim + + anim talk_primary models/md5/chars/drink_idle.md5anim + anim talk_secondary1 models/md5/chars/drink_idle.md5anim + anim convo1 models/md5/chars/drink_idle.md5anim + anim convo2 models/md5/chars/drink_idle.md5anim + anim convo3 models/md5/chars/drink_idle.md5anim + anim convo4 models/md5/chars/drink_idle.md5anim + anim convo5 models/md5/chars/drink_idle.md5anim + anim convo6 models/md5/chars/drink_idle.md5anim + anim convo7 models/md5/chars/drink_idle.md5anim +} + +entityDef marscity_maint2_hallway { + "inherit" "npc_base" + "model" "marscity_maint2_hallway" + "def_head" "marscity_maint2_hallway_head" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "talk_no_turn" "1" + "talktime" "0" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "def_attach" "prop_foamcup" + + "look_joint Waist" ".2 .2 0" + "look_joint Chest" ".2 .2 0" + "look_joint Shoulders" ".1 .1 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" +} + +model marscity_suit_asian_chair_head { + inherit head_asian_young + + anim respond models/md5/heads/asian_young/marscity/marine3_hq_yes_sir.md5anim { + frame 1 sound_voice snd_respond + } + anim talk_primary models/md5/heads/asian_young/marscity/marine3_hq_1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/asian_young/marscity/marine3_hq_2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/asian_young/marscity/marine3_hq_3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model marscity_suit_asian_chair { + inherit npc_suit + + anim stand models/md5/chars/operate_computer_sitting_higher.md5anim + anim idle models/md5/chars/operate_computer_sitting_higher.md5anim + anim cower models/md5/chars/operate_computer_sitting_higher.md5anim + anim turn_left models/md5/chars/operate_computer_sitting_higher.md5anim + anim turn_right models/md5/chars/operate_computer_sitting_higher.md5anim + + anim respond models/md5/chars/operate_computer_talk.md5anim + anim talk_primary models/md5/chars/operate_computer_talk.md5anim + anim talk_secondary1 models/md5/chars/operate_computer_talk.md5anim + anim talk_secondary2 models/md5/chars/operate_computer_talk.md5anim +} + +entityDef marscity_suit_asian_chair { + "inherit" "npc_base" + "model" "marscity_suit_asian_chair" + "def_head" "marscity_suit_asian_chair_head" + "head_joint" "Shoulders" + "ignore_push" "1" + "anim" "stand" + "ik_numLegs" "0" + + "copy_joint_world eyecontrol" "" + + "def_attach" "prop_soft_desk_chair2" + "def_dropDeathItem" "moveable_chair2" + "dropDeathItemJoint" "chair" + + "dropDeathItemRotation" "-90 0 0" + + "talk_no_turn" "1" + "talktime" "0" + + "talk_time" "0" + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0.2 0.2 0" + "look_joint headcontrol" "-0.1 -0.1 0" + "look_joint neckcontrol" "0.8 0.8 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "look_min" "-90 -80 0" + "look_max" "25 80 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "eye_verticle_offset" "20" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.08" + + "snd_respond" "marscity_marine3_hq_respond" + "snd_talk_primary" "marscity_marine3_hq_primary" + "snd_talk_secondary" "marscity_marine3_hq_secondary1" + "snd_talk_secondary2" "marscity_marine3_hq_secondary2" +} + +model marscity_suit_asian_chair_head2 { + inherit head_asian_young + + anim respond models/md5/heads/asian_young/marscity/marine3_hq_yes_sir.md5anim { + frame 1 sound_voice snd_respond + } + anim talk_primary models/md5/heads/asian_young/marscity/marine3_hq_1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/asian_young/marscity/marine3_hq_2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/asian_young/marscity/marine3_hq_3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model marscity_suit_asian_chair2 { + inherit npc_suit + + anim stand models/md5/chars/operate_computer_sitting.md5anim + anim idle models/md5/chars/operate_computer_sitting.md5anim + anim cower models/md5/chars/operate_computer_sitting.md5anim + anim turn_left models/md5/chars/operate_computer_sitting.md5anim + anim turn_right models/md5/chars/operate_computer_sitting.md5anim + + anim respond models/md5/chars/operate_computer_talk.md5anim + anim talk_primary models/md5/chars/operate_computer_talk.md5anim + anim talk_secondary1 models/md5/chars/operate_computer_talk.md5anim + anim talk_secondary2 models/md5/chars/operate_computer_talk.md5anim +} + +entityDef marscity_suit_asian_chair2 { + "inherit" "npc_base" + "model" "marscity_suit_asian_chair2" + "def_head" "marscity_suit_asian_chair_head2" + "head_joint" "Shoulders" + "ignore_push" "1" + "anim" "stand" + "ik_numLegs" "0" + + "copy_joint_world eyecontrol" "" + + "def_attach" "prop_soft_desk_chair2" + "def_dropDeathItem" "moveable_chair2" + "dropDeathItemJoint" "chair" + + "dropDeathItemRotation" "-90 0 0" + + "talk_no_turn" "1" + "talktime" "0" + + "talk_time" "0" + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0.2 0.2 0" + "look_joint headcontrol" "-0.1 -0.1 0" + "look_joint neckcontrol" "0.8 0.8 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "look_min" "-90 -80 0" + "look_max" "25 80 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "eye_verticle_offset" "20" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.08" + + "snd_respond" "marscity_marine3_hq_respond" + "snd_talk_primary" "marscity_marine3_hq_primary" + "snd_talk_secondary" "marscity_marine3_hq_secondary1" + "snd_talk_secondary2" "marscity_marine3_hq_secondary2" +} + +model marscity_suit_chair { + mesh models/md5/environments/marscitychair1.md5mesh + anim office models/md5/environments/marscitychair1.md5anim +} + +entityDef marscity_suit_chair { + "inherit" "cin_base" + "model" "marscity_suit_chair" + "anim" "office" +} + +model marscity_cinematic_player { + inherit npc_tshirt + + anim betrugercin_a models/md5/cinematics/marscity/betrugercin1_player_a.md5anim { + frame 1 disableGravity + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim betrugercin_b models/md5/cinematics/marscity/betrugercin1_player_b.md5anim { + frame 1 disableGravity + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim betrugercin_c models/md5/cinematics/marscity/betrugercin1_player_c.md5anim { + frame 1 disableGravity + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim betrugercin_d models/md5/cinematics/marscity/betrugercin1_player_d.md5anim { + frame 1 disableGravity + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim recep_a models/md5/cinematics/marscity/receptioncin1_player_a.md5anim { + frame 1 event disableEyeFocus + frame 26 sound_body player_sounds_footstep + frame 38 sound_body player_sounds_footstep + frame 49 sound_body player_sounds_footstep + frame 58 sound_body player_sounds_footstep + frame 64 sound_body2 marscity_reception_duffle + } + anim recep_b models/md5/cinematics/marscity/receptioncin1_player_b.md5anim { + frame 1 event disableEyeFocus + frame 10 skin skins/characters/npcs/marine_player.skin + } + anim recep_c models/md5/cinematics/marscity/receptioncin1_player_c.md5anim { + frame 1 event disableEyeFocus + } + anim recep_d models/md5/cinematics/marscity/receptioncin1_player_d.md5anim { + frame 1 event disableEyeFocus + } + anim recep_e models/md5/cinematics/marscity/receptioncin1_player_e.md5anim { + frame 1 event disableEyeFocus + } + anim recep_f models/md5/cinematics/marscity/receptioncin1_player_f.md5anim { + frame 1 event disableEyeFocus + } + + anim sargecin1 models/md5/cinematics/marscity/sargecin_player1.md5anim { + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim sargecin2 models/md5/cinematics/marscity/sargecin_player2.md5anim { + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim sargecin3 models/md5/cinematics/marscity/sargecin_player3.md5anim { + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim sargecin4 models/md5/cinematics/marscity/sargecin_player4.md5anim { + frame 1 event disableEyeFocus + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim sargecin5 models/md5/cinematics/marscity/sargecin_player5.md5anim { + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim sargecin6 models/md5/cinematics/marscity/sargecin_player6.md5anim { + frame 1 skin skins/characters/npcs/marine_player.skin + } + anim sargecin7 models/md5/cinematics/marscity/sargecin_player7.md5anim { + frame 1 skin skins/characters/npcs/marine_player.skin + } +} + +entityDef marscity_cinematic_player { + "inherit" "npc_base" + "model" "marscity_cinematic_player" + "anim" "betrugercin_a" + "ik_numlegs" "0" + "def_head" "marscity_head_player" + "head_joint" "Shoulders" + "cinematic" "1" +} + +entityDef marscity_meeting_player { + "inherit" "npc_base" + "model" "marscity_cinematic_player" + "anim" "betrugercin_a" + "ik_numlegs" "0" + "def_head" "marscity_head_player" + "head_joint" "Shoulders" + + "num_cinematics" "4" + "anim1" "betrugercin_a" + "anim2" "betrugercin_b" + "anim3" "betrugercin_c" + "anim4" "betrugercin_d" + + "cinematic" "1" +} + +entityDef marscity_reception_player { + "inherit" "npc_base" + "model" "marscity_cinematic_player" + "anim" "recep_a" + "ik_numlegs" "0" + "def_head" "marscity_head_player" + "head_joint" "Shoulders" + + "num_cinematics" "6" + "anim1" "recep_a" + "anim2" "recep_b" + "anim3" "recep_c" + "anim4" "recep_d" + "anim5" "recep_e" + "anim6" "recep_f" + + "cinematic" "1" +} + +model marscity_hangar_player { + inherit npc_tshirt + + anim hangar_a models/md5/cinematics/marscity/hangar_player_a.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_b models/md5/cinematics/marscity/hangar_player_b.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_c models/md5/cinematics/marscity/hangar_player_c.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_d models/md5/cinematics/marscity/hangar_player_d.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_e models/md5/cinematics/marscity/hangar_player_e.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_f models/md5/cinematics/marscity/hangar_player_f.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_g models/md5/cinematics/marscity/hangar_player_g.md5anim { + frame 1 event disableEyeFocus + } + anim hangar_h models/md5/cinematics/marscity/hangar_player_h.md5anim { + frame 1 event disableEyeFocus + } +} + +entityDef marscity_hangar_player { + "inherit" "npc_base" + "model" "marscity_hangar_player" + "anim" "hangar_a" + "ik_numlegs" "0" + "def_head" "marscity_head_player" + "head_joint" "Shoulders" + + "def_attach" "prop_dufflebag" + + "num_cinematics" "8" + "anim1" "hangar_a" + "anim2" "hangar_b" + "anim3" "hangar_c" + "anim4" "hangar_d" + "anim5" "hangar_e" + "anim6" "hangar_f" + "anim7" "hangar_g" + "anim8" "hangar_h" + + "cinematic" "1" +} + +model marscity_head_player { + inherit head_player + anim recep_a models/md5/heads/player/marscity/reception_a.md5anim + anim recep_b models/md5/heads/player/marscity/reception_b.md5anim + anim recep_c models/md5/heads/player/marscity/reception_c.md5anim + anim recep_d models/md5/heads/player/marscity/reception_d.md5anim + anim recep_e models/md5/heads/player/marscity/reception_e.md5anim + anim recep_f models/md5/heads/player/marscity/reception_f.md5anim + + anim hangar_a models/md5/heads/player/marscity/hangar_a.md5anim + anim hangar_b models/md5/heads/player/marscity/hangar_b.md5anim + anim hangar_c models/md5/heads/player/marscity/hangar_c.md5anim + anim hangar_d models/md5/heads/player/marscity/hangar_d.md5anim + anim hangar_e models/md5/heads/player/marscity/hangar_e.md5anim + anim hangar_f models/md5/heads/player/marscity/hangar_f.md5anim + anim hangar_g models/md5/heads/player/marscity/hangar_g.md5anim + anim hangar_h models/md5/heads/player/marscity/hangar_h.md5anim +} + + +model marscity_cinematic_doctor { + inherit npc_labcoat + anim doctor_start models/md5/cinematics/marscity/patient_doctor_start.md5anim + anim doctor models/md5/cinematics/marscity/patient_doctor.md5anim { + frame 50 sound_voice snd_doc2 + frame 80 sound_voice snd_doc1 + frame 131 sound_voice snd_doc3 + } + + anim doctor_end models/md5/cinematics/marscity/patient_doctor_end.md5anim +} + +entityDef marscity_cinematic_doctor { + "inherit" "npc_base" + "model" "marscity_cinematic_doctor" + "sound_bone" "headcontrol" + "anim" "doctor" + "ik_numlegs" "0" + "def_head" "head_surgeon" + "head_joint" "Shoulders" + "size" "0 0 0" + + "copy_joint_world eyecontrol" "" + + "def_attach" "prop_adrenaline" + + "snd_doc1" "marscity_sci_hospital_1" + "snd_doc2" "marscity_sci_hospital_2" + "snd_doc3" "marscity_sci_hospital_3" +} + +model marscity_cinematic_victim { + inherit npc_tshirt + skin skins/characters/npcs/soldier_bald_bloody.skin + + anim victim_start models/md5/cinematics/marscity/patient_victim_start.md5anim + anim victim models/md5/cinematics/marscity/patient_victim.md5anim { + frame 50 sound_voice snd_injured + } + anim victim_end models/md5/cinematics/marscity/patient_victim_end.md5anim +} + +entityDef marscity_cinematic_victim { + "inherit" "npc_base" + "model" "marscity_cinematic_victim" + "def_head" "head_zombie4" + "head_joint" "Shoulders" + "sound_bone" "headcontrol" + "anim" "victim" + "ik_numlegs" "0" + "size" "0 0 0" + + "copy_joint_world eyecontrol" "" + + "snd_injured" "marscity_injured_hospital_1" +} + +model marscity_cinematic_security { + inherit npc_security + + anim security_loop models/md5/cinematics/marscity/patient_security_start.md5anim + anim security_start models/md5/cinematics/marscity/patient_security_start.md5anim { + frame 1 sound_voice snd_guard1 + } + anim security models/md5/cinematics/marscity/patient_security.md5anim + anim security_end models/md5/cinematics/marscity/patient_security_end.md5anim +} + +entityDef marscity_cinematic_security { + "inherit" "npc_base" + "model" "marscity_cinematic_security" + "sound_bone" "headcontrol" + "anim" "security" + "ik_numlegs" "0" + "def_head" "head_security_goggles" + "head_joint" "Shoulders" + "size" "0 0 0" + + "copy_joint_world eyecontrol" "" + + "snd_guard1" "marscity_guard_hospital_1" + "snd_guard2" "marscity_guard_hospital_2" +} + +model marscity_marine_helmet_p90_directions_ver1 { + inherit npc_marine + anim stand models/md5/chars/p90_stand.md5anim + anim idle models/md5/chars/p90_stand.md5anim + + anim talk_trigger models/md5/chars/p90_point_left.md5anim { + frame 1 sound_voice snd_talk_trigger + } + anim talk_primary models/md5/chars/marscity_marine1_ver1_hq_primary.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/chars/marscity_marine1_ver1_hq_secondary1.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/chars/marscity_marine1_ver1_hq_secondary2.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +entitydef marscity_marine_helmet_p90_directions_ver1 { + "inherit" "npc_base" + "model" "marscity_marine_helmet_p90_directions_ver1" + "talk_no_turn" "1" + "ignore_push" "1" + "ik_numLegs" "0" + "talktime" ".6" + "talkradius" "384" + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + + "look_min" "-90 -75 0" + "look_max" "25 75 0" + "look_joint Waist" "0.1333 0.05 0" + "look_joint Chest" "0.1333 0.05 0" + "look_joint Shoulders" "0.1333 0.05 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "copy_joint_world eyecontrol" "" + + "def_attach" "prop_machinegun" + + "snd_talk_trigger" "marscity_marine1_ver1_hq_trigger" + "snd_talk_primary" "marscity_marine1_ver1_hq_primary" + "snd_talk_secondary" "marscity_marine1_ver1_hq_secondary1" + "snd_talk_secondary2" "marscity_marine1_ver1_hq_secondary2" +} + +model marscity_marine_helmet_p90_directions_ver2 { + inherit npc_marine + anim stand models/md5/chars/p90_stand.md5anim + anim idle models/md5/chars/p90_stand.md5anim + + anim talk_primary models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_secondary + } +} + +entitydef marscity_marine_helmet_p90_directions_ver2 { + "inherit" "npc_base" + "model" "marscity_marine_helmet_p90_directions_ver2" + "talk_no_turn" "1" + "talktime" ".6" + "talkradius" "384" + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "def_attach" "prop_machinegun" + + "snd_talk_primary" "marscity_marine1_ver2_hq_primary" + "snd_talk_secondary" "marscity_marine1_ver2_hq_secondary" +} + +model marscity_marine_helmet_p90_walking { + inherit npc_marine + anim stand models/md5/chars/p90_talk.md5anim + anim walk models/md5/chars/walk_machinegun.md5anim { + frame 3 sound_body player_sounds_footstep + frame 17 sound_body player_sounds_footstep + frame 32 sound_body player_sounds_footstep + frame 46 sound_body player_sounds_footstep + } + + anim talk_primary models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } + anim talk_excuseme models/md5/chars/p90_talk.md5anim { + frame 1 sound_voice snd_talk_excuseme + } +} + +entitydef marscity_marine_helmet_p90_walking { + "inherit" "npc_base" + "model" "marscity_marine_helmet_p90_walking" + "talk_no_turn" "1" + "talktime" ".6" + "def_attach" "prop_machinegun" + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "head_focus_rate" "0.1" + + "look_joint Waist" "0 0 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".3 .3 0" + "look_joint headcontrol" ".6 .6 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "snd_talk_primary" "marscity_marine4_hq_primary" + "snd_talk_secondary" "marscity_marine4_hq_secondary1" + "snd_talk_secondary2" "marscity_marine4_hq_secondary2" + "snd_talk_excuseme" "marine_excuseme" +} + +model marscity_soldier_young_pda_head { + inherit head_young + + anim talk_primary models/md5/heads/young/marscity/marine2_hq_1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/young/marscity/marine2_hq_2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/young/marscity/marine2_hq_3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model marscity_soldier_young_pda { + inherit npc_base + mesh models/md5/chars/tshirt.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim stand models/md5/chars/PDA_idle.md5anim { + frame 1 event disableEyeFocus + } + anim pda_idle_look models/md5/chars/PDA_idle.md5anim { + frame 1 event disableEyeFocus + } + anim talk_primary models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } +} + +entityDef marscity_soldier_young_pda { + "inherit" "npc_base" + "model" "marscity_soldier_young_pda" + "def_head" "marscity_soldier_young_pda_head" + "head_joint" "Shoulders" + + "talk_no_turn" "1" + "talktime" "0" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "head_focus_rate" "0.1" + + "ignore_push" "1" + + "copy_joint_world eyecontrol" "" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "pda_marscity_soldier_young_pda" + "def_dropDeathItem" "pda_marscity_soldier_young_pda" + "dropDeathItemJoint" "pda" + "dropDeathItemRotation" "0 0 0" + + "snd_talk_primary" "marscity_marine2_hq_primary" + "snd_talk_secondary" "marscity_marine2_hq_secondary1" + "snd_talk_secondary2" "marscity_marine2_hq_secondary2" +} + +entityDef marscity_labcoat_young { + "inherit" "npc_base" + + "copy_joint_world eyecontrol" "" + + "def_head" "head_young" + "head_joint" "Shoulders" + "look_joint Waist" "0 0 0" + "look_joint Chest" ".2 .2 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".6 .6 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "turn_rate" "0" + "talktime" "0" + "snd_talk_primary" "default_primary" + "snd_talk_secondary" "default_secondary" + "snd_talk_trigger" "default_trigger" +} + +model char_marine_asian_chair1_head { + inherit head_asian_young + + anim talk_primary models/md5/heads/asian_young/marscity/marine2_sitting_1_1.md5anim { + frame 1 sound_voice marscity_marine2_sitting_1_primary + } + anim talk_secondary1 models/md5/heads/asian_young/marscity/marine2_sitting_1_2.md5anim { + frame 1 sound_voice marscity_marine2_sitting_1_secondary1 + } + anim talk_secondary2 models/md5/heads/asian_young/marscity/marine2_sitting_1_3.md5anim { + frame 1 sound_voice marscity_marine2_sitting_1_secondary2 + } + anim convo1 models/md5/heads/asian_young/marscity/marine2_sitting_1_4.md5anim { + frame 1 sound_voice marscity_marine2_sitting_1_convo1 + } + anim convo2 models/md5/heads/asian_young/marscity/marine2_sitting_1_5.md5anim { + frame 1 sound_voice marscity_marine2_sitting_1_convo2 + } + anim convo3 models/md5/heads/asian_young/marscity/marine2_sitting_1_6.md5anim { + frame 1 sound_voice marscity_marine2_sitting_1_convo3 + } +} + +model char_marine_asian_chair1 { + mesh models/md5/chars/tshirt.md5mesh + channel torso ( *Waist ) + channel legs ( chair origin Body Body2 *Hips -*Waist SPINNER ) + + anim af_pose models/md5/chars/af_pose.md5anim + anim ik_pose models/md5/chars/af_pose.md5anim + + anim stand models/md5/chars/marscity/marscity_marine2_stand.md5anim + anim idle1 models/md5/chars/marscity/marscity_marine2_idle1.md5anim + anim idle2 models/md5/chars/marscity/marscity_marine2_idle2.md5anim { + frame 22 sound_voice2 cough + frame 42 sound_voice2 cough + } + anim idle3 models/md5/chars/marscity/marscity_marine2_idle3.md5anim + + anim talk_primary models/md5/chars/marscity/marscity_marine2_talk1.md5anim + anim talk_secondary1 models/md5/chars/marscity/marscity_marine2_talk2.md5anim + anim talk_secondary2 models/md5/chars/marscity/marscity_marine2_talk3.md5anim + + anim convo1 models/md5/chars/marscity/marscity_marine2_convo1.md5anim + anim convo2 models/md5/chars/marscity/marscity_marine2_convo2.md5anim + anim convo3 models/md5/chars/marscity/marscity_marine2_convo3.md5anim +} + +entityDef char_marine_asian_chair1 { + "inherit" "npc_base" + "model" "char_marine_asian_chair1" + "def_head" "char_marine_asian_chair1_head" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "talk_no_turn" "1" + "talktime" "1" + + "turn_rate" "0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" "0.5 0.4 0" + "look_joint neckcontrol" "0.5 0.4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "look_min" "-40 -80 0" + "look_max" "40 80 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "prop_metal_lounge_chair" + "def_dropDeathItem" "moveable_kitchenchair" + "dropDeathItemJoint" "chair" + "dropDeathItemRotation" "0 0 -90" + "dropDeathItemOffset" "0 30 30" +} + +model char_marine_young_chair1_head { + inherit head_young + + anim talk_primary models/md5/heads/young/marscity/marine1_sitting_1_1.md5anim { + frame 1 sound_voice marscity_marine1_sitting_1_primary + } + anim talk_secondary1 models/md5/heads/young/marscity/marine1_sitting_1_2.md5anim { + frame 1 sound_voice marscity_marine1_sitting_1_secondary1 + } + anim talk_secondary2 models/md5/heads/young/marscity/marine1_sitting_1_3.md5anim { + frame 1 sound_voice marscity_marine1_sitting_1_secondary2 + } + anim convo1 models/md5/heads/young/marscity/marine1_sitting_1_4.md5anim { + frame 1 sound_voice marscity_marine1_sitting_1_convo1 + } + anim convo2 models/md5/heads/young/marscity/marine1_sitting_1_5.md5anim { + frame 1 sound_voice marscity_marine1_sitting_1_convo2 + } + anim convo3 models/md5/heads/young/marscity/marine1_sitting_1_6.md5anim { + frame 1 sound_voice marscity_marine1_sitting_1_convo3 + } +} + +model char_marine_young_chair1 { + mesh models/md5/chars/tshirt.md5mesh + channel torso ( *Waist ) + channel legs ( chair origin Body Body2 *Hips -*Waist SPINNER ) + + anim af_pose models/md5/chars/af_pose.md5anim + anim ik_pose models/md5/chars/af_pose.md5anim + + anim stand models/md5/chars/marscity/marscity_marine1_stand.md5anim + anim idle1 models/md5/chars/marscity/marscity_marine1_idle1.md5anim + anim idle2 models/md5/chars/marscity/marscity_marine1_idle2.md5anim + anim idle3 models/md5/chars/marscity/marscity_marine1_idle3.md5anim + + anim talk_primary models/md5/chars/marscity/marscity_marine1_talk1.md5anim + anim talk_secondary1 models/md5/chars/marscity/marscity_marine1_talk2.md5anim + anim talk_secondary2 models/md5/chars/marscity/marscity_marine1_talk3.md5anim + + anim convo1 models/md5/chars/marscity/marscity_marine1_convo1.md5anim + anim convo2 models/md5/chars/marscity/marscity_marine1_convo2.md5anim + anim convo3 models/md5/chars/marscity/marscity_marine1_convo3.md5anim +} + +entityDef char_marine_young_chair1 { + "inherit" "npc_base" + "model" "char_marine_young_chair1" + "def_head" "char_marine_young_chair1_head" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "talk_no_turn" "1" + "talktime" "1" + + "turn_rate" "0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" "0.5 0.4 0" + "look_joint neckcontrol" "0.5 0.4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + "look_min" "-40 -80 0" + "look_max" "40 80 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "prop_metal_lounge_chair" + "def_dropDeathItem" "moveable_kitchenchair" + "dropDeathItemJoint" "chair" + "dropDeathItemRotation" "0 0 -90" + "dropDeathItemOffset" "0 30 30" +} + +model marscity_soldier_black_head { + inherit head_black + + anim talk_primary models/md5/heads/black/marscity/marine5_hq_1.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/heads/black/marscity/marine5_hq_2.md5anim { + frame 1 sound_voice snd_talk_secondary + } + anim talk_secondary2 models/md5/heads/black/marscity/marine5_hq_3.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model marscity_soldier_black { + inherit npc_tshirt + anim stand models/md5/chars/PDA_idle_look.md5anim { + frame 1 event disableEyeFocus + } + anim idle_stand models/md5/chars/PDA_idle_look.md5anim { + frame 1 event disableEyeFocus + } + anim talk_primary models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } +} + +entityDef marscity_soldier_black { + "inherit" "npc_base" + "model" "marscity_soldier_black" + "def_head" "marscity_soldier_black_head" + "skin" "skins/characters/npcs/soldier_black" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "talk_no_turn" "1" + "talktime" "0" + "talkradius" "384" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "head_focus_rate" "0.1" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "pda_marscity_soldier_black" + "def_dropDeathItem" "pda_marscity_soldier_black" + "dropDeathItemJoint" "pda" + "dropDeathItemRotation" "0 0 0" + + "snd_talk_primary" "marscity_marine5_hq_primary" + "snd_talk_secondary" "marscity_marine5_hq_secondary1" + "snd_talk_secondary2" "marscity_marine5_hq_secondary2" +} + +model marscity_soldier_bald_pda_head { + inherit head_bald + + anim talk_primary models/md5/characters/npcs/heads/h3idle.md5anim + anim talk_secondary1 models/md5/characters/npcs/heads/h3idle.md5anim + anim talk_secondary2 models/md5/characters/npcs/heads/h3idle.md5anim +} + +model marscity_soldier_bald_pda { + inherit npc_tshirt + anim stand models/md5/chars/PDA_idle.md5anim { + frame 1 event disableEyeFocus + } + anim idle_stand models/md5/chars/PDA_idle_look.md5anim { + frame 1 event disableEyeFocus + } + anim talk_primary models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary1 models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } + anim talk_secondary2 models/md5/chars/PDA_talk.md5anim { + frame 1 event enableEyeFocus + } +} + +entityDef marscity_soldier_bald_pda { + "inherit" "npc_base" + "model" "marscity_soldier_bald_pda" + "def_head" "marscity_soldier_bald_pda_head" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "talk_no_turn" "1" + "talktime" "0" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "head_focus_rate" "0.1" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "pda_marscity_soldier_bald_pda" + "def_dropDeathItem" "pda_marscity_soldier_bald_pda" + "dropDeathItemJoint" "pda" + "dropDeathItemRotation" "0 0 0" + + "snd_talk_primary" "marscity_marine5_hq_primary" + "snd_talk_secondary" "marscity_marine5_hq_secondary1" + "snd_talk_secondary2" "marscity_marine5_hq_secondary2" +} + +model marscity_sci_team_request_head { + skin skins/characters/npcs/prettyoldhead.skin + mesh models/md5/heads/head02young/h2_cinematic.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim sci_team_request models/md5/heads/head02young/marscity/sci_team_request.md5anim +} + +model marscity_sci_team_request { + inherit npc_labcoat + + anim sci_team_request models/md5/chars/marscity/sci_team_request.md5anim { + frame 1 aviGame sci_team + frame 6 sound_voice marscity_sci_team_request + frame 215 aviGame + } +} + +entityDef marscity_sci_team_request { + "inherit" "npc_base" + "model" "marscity_sci_team_request" + "def_head" "marscity_sci_team_request_head" + "talk_no_turn" "1" + "turn_rate" "0" + + "copy_joint_world eyecontrol" "" + + "ik_numLegs" "0" + "head_joint" "Shoulders" + "sound_bone" "headcontrol" +} + +model marscity_suit_young2 { + inherit npc_suit + anim stand_hands_at_waist models/md5/chars/stand_hands_at_waist.md5anim +} + +entityDef marscity_suit_young2 { + "inherit" "npc_base" + "def_head" "head_young" + "head_joint" "Shoulders" + "model" "marscity_suit_young2" + + "copy_joint_world eyecontrol" "" +} + +//IPN NEWS GUY + +model marscity_ipn_news_head { + mesh models/md5/characters/npcs/heads/h2.md5mesh + skin skins/characters/npcs/prettyoldhead.skin + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim ipn_news models/md5/heads/head02young/marscity/ipn_news_head.md5anim { + //frame 1 aviGame ipn_news + //frame 4500 aviGame + } +} + +model marscity_ipn_news { + inherit npc_suit + + anim ipn_news models/md5/chars/marscity/ipn_news.md5anim { + frame 1 sound_voice marscity_ipn_news_vo + } +} + +entityDef marscity_ipn_news { + "inherit" "npc_base" + "model" "marscity_ipn_news" + "size" "12 12 74" + "def_attach" "prop_soft_desk_chair2" + + "copy_joint_world eyecontrol" "" + + "ik_numLegs" "0" + "def_head" "marscity_ipn_news_head" + "head_joint" "Shoulders" + + "sound_bone" "headcontrol" + "cinematic" "1" +} diff --git a/base/def/map_marscity2.def b/base/def/map_marscity2.def new file mode 100644 index 00000000..dcaee39b --- /dev/null +++ b/base/def/map_marscity2.def @@ -0,0 +1,260 @@ + +// CINEMATICS + +export fred { + camera maps/kevinc/marscity_2/sarge_mc2_video.mb -dest models/md5/cinematics/marscity_2/sarge_brief_cam +} + +entityDef marscity2_sarge_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim sarge_brief_cam" "models/md5/cinematics/marscity_2/sarge_brief_cam.md5camera" +} + + +model marscity2_ceiling_head { + mesh models/md5/characters/npcs/heads/h2.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim talk_trigger models/md5/heads/young/marscity2/ceiling_trigger.md5anim { + frame 5 sound_voice snd_trigger + } + anim talk_primary models/md5/heads/young/marscity2/ceiling_primary.md5anim { + frame 5 sound_voice snd_primary + } + anim talk_secondary1 models/md5/heads/young/marscity2/ceiling_secondary1.md5anim { + frame 5 sound_voice snd_secondary1 + } + anim talk_secondary2 models/md5/heads/young/marscity2/ceiling_secondary2.md5anim { + frame 5 sound_voice snd_secondary2 + } + + anim stand models/md5/characters/npcs/heads/h2idle.md5anim + anim blink models/md5/characters/npcs/heads/h2blink.md5anim +} + + +model marscity2_maint_ceiling { + inherit npc_jumpsuit + + anim stand models/md5/chars/ceiling_mc2/ceiling_idle.md5anim + anim talk_trigger models/md5/chars/ceiling_mc2/ceiling_trigger.md5anim { + frame 270 event disableEyeFocus + frame 330 event enableEyeFocus + } + + anim talk_primary models/md5/chars/ceiling_mc2/ceiling_primary.md5anim + anim talk_secondary1 models/md5/chars/ceiling_mc2/ceiling_secondary1.md5anim + anim talk_secondary2 models/md5/chars/ceiling_mc2/ceiling_secondary2.md5anim +} + +entityDef marscity2_maint_ceiling { + "inherit" "npc_base" + "model" "marscity2_maint_ceiling" + "anim" "stand" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + "talk_no_turn" "1" + "talktime" ".5" + "ignore_push" "1" + "no_cower" "1" + + "def_head" "marscity2_ceiling_head" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + "talk3_blendin" "8" + "talk3_blendout" "8" + + "bone_focus" "headcontrol" + "bone_orientation" "Body" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "look_min" " -54 -72 0" + "look_max" " 125 72 0" + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" "1 1 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "0" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + + "snd_trigger" "marscity2_ceiling_trigger" + "snd_primary" "marscity2_ceiling_primary" + "snd_secondary1" "marscity2_ceiling_secondary1" + "snd_secondary2" "marscity2_ceiling_secondary2" +} + + +model marscity2_cin_imp { + mesh models/md5/monsters/imp/imp.md5mesh + anim impfeast_loop models/md5/cinematics/marscity_2/impfeast_imp_loop.md5anim { + frame 1 sound_voice monster_demon_imp_chomp + frame 16 sound_body imp_fleshrip + frame 48 sound_voice monster_demon_imp_chomp + frame 58 sound_body imp_fleshrip + frame 85 sound_voice monster_demon_imp_chomp + frame 90 sound_body imp_fleshrip + } + anim impfest models/md5/cinematics/marscity_2/impfeast_imp.md5anim { + + frame 48 sound_voice monster_demon_imp_sight + frame 59 sound_voice2 mc2_imp_hit_glass + frame 71 sound_voice monster_demon_imp_footstep + frame 77 sound_voice monster_demon_imp_footstep + } +} + +entityDef marscity2_cin_imp { + "inherit" "cin_base" + "anim" "impfeast_loop" + "model" "marscity2_cin_imp" + + "snd_bite" "" + "snd_tear" "" + +} + +model marscity2_cin_fatty { + mesh models/md5/monsters/zfat/zfat.md5mesh + anim impfeast_loop models/md5/cinematics/marscity_2/impfeast_fatty_loop.md5anim + anim impfest models/md5/cinematics/marscity_2/impfeast_fatty.md5anim + anim impfest_end models/md5/cinematics/marscity_2/impfeast_fatty_end.md5anim + +} + +entityDef marscity2_cin_fatty { + "inherit" "cin_base" + "anim" "impfeast_loop" + "model" "marscity2_cin_fatty" + "skin" "skins/monsters/zombies/zfatwrench.skin" +} + +model marscity2_zombie_morgue { + inherit model_monster_zombie_morgue + + anim morgue_sleep models/md5/cinematics/marscity_2/morguesleep.md5anim { + ai_no_turn + frame 1 disableWalkIK + } + anim morgue_wakeup models/md5/cinematics/marscity_2/morguewakeup.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 63 enableWalkIK + } +} + +entityDef marscity2_zombie_morgue { + "inherit" "monster_zombie_morgue" + "anim" "morgue_sleep" + "model" "marscity2_zombie_morgue" +} + +model marscity2_video_head_sarge { + mesh models/md5/heads/sarge/sarge.md5mesh + anim idle models/md5/heads/sarge/sargeidle.md5anim + anim mc2_video models/md5/heads/sarge/marscity2/mission_brief.md5anim +} + + +model marscity2_video_sarge { + inherit npc_marine + + anim mc2_video models/md5/chars/sarge/marscity2/mission_brief.md5anim { + frame 1 event disableEyeFocus + frame 1 sound_voice snd_sargevid +// frame 1 aviGame sarge_mission +// frame 760 aviGame + } + +} + +entityDef marscity2_video_sarge { + "inherit" "npc_base" + "model" "marscity2_video_sarge" + "size" "1 1 1" + "anim" "mc2_video" + "sound_bone" "headcontrol" + "ik_numlegs" "0" + + "def_head" "marscity2_video_head_sarge" + "head_joint" "Shoulders" + + "snd_sargevid" "marscity2_sarge_briefing" +} + +model marscity2_hallway_zombie { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/suitzombie.md5mesh + skin skins/monsters/zombies/suit.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + + anim hallway models/md5/cinematics/marscity_2/zkiller_zombie.md5anim +} + +entityDef marscity2_hallway_zombie { + "inherit" "monster_zombie_suit_skinny" + "anim" "hallway" + "model" "marscity2_hallway_zombie" + "bleed" "1" + +} + +model marscity2_hallway_marine { + inherit npc_marine + + anim hallway models/md5/cinematics/marscity_2/zkiller_marine.md5anim { + frame 45 event kill + } +} + +entityDef marscity2_hallway_marine { + "inherit" "npc_base" + "anim" "hallway" + "model" "marscity2_hallway_marine" + "velocityTime" "200" + "def_head" "head_bloodybald" + "head_joint" "Shoulders" + "def_attach" "prop_machinegun" + //"def_dropDeathItem" "moveable_item_machinegun" + "dropDeathItemJoint" "RHANDCONNECTOR" + "bleed" "1" + "copy_joint_world eyecontrol" "" + "size" "0 0 0" + "health" "300" + +} + +model marscity2_imp { + inherit monster_demon_imp + anim marinetossidle models/md5/cinematics/marscity_2/marinethrow_imp_idle.md5anim + anim marinetoss models/md5/cinematics/marscity_2/marinethrow_imp.md5anim { + frame 27 event throwMoveable + } + +} + +entityDef marscity2_imp { + "inherit" "monster_demon_imp" + "model" "marscity2_imp" +} diff --git a/base/def/map_monorail.def b/base/def/map_monorail.def new file mode 100644 index 00000000..1bccfcde --- /dev/null +++ b/base/def/map_monorail.def @@ -0,0 +1,274 @@ + +export fred { + + camera maps/fred/monorail/raisecommando2.mb -dest models/md5/cinematics/monorail/raisecommando_cam + camera maps/fred/monorail/crash.mb -dest models/md5/cinematics/monorail/crash_cam + + addoptions -prefix ENV_ + mesh maps/fred/monorail/crash.mb -dest models/md5/cinematics/monorail/crash_debris + anim maps/fred/monorail/crash.mb -dest models/md5/cinematics/monorail/crash_debris + +} + + +model monorail_riderhead { + mesh models/md5/characters/npcs/heads/h2.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/characters/npcs/heads/h2idle.md5anim + anim stand models/md5/characters/npcs/heads/h2idle.md5anim + anim blink models/md5/characters/npcs/heads/h2blink.md5anim + + anim notrig models/md5/characters/npcs/heads/monorail/monorail_riderhead9.md5anim + + anim before_trigger models/md5/characters/npcs/heads/monorail/monorail_before_trigger.md5anim + anim hidden models/md5/characters/npcs/heads/monorail/monorail_riderhead1.md5anim + anim surprise models/md5/characters/npcs/heads/monorail/monorail_riderhead2.md5anim { + frame 10 sound_voice monorail_suitguy_surprise + } + anim standing models/md5/characters/npcs/heads/monorail/monorail_riderhead3.md5anim + anim sitdown models/md5/characters/npcs/heads/monorail/monorail_riderhead4.md5anim { + frame 25 sound_voice monorail_suitguy_trigger + } + anim sitting models/md5/characters/npcs/heads/monorail/monorail_riderhead5.md5anim + anim talk_primary models/md5/characters/npcs/heads/monorail/monorail_riderhead6.md5anim { + frame 1 sound_voice monorail_suitguy_primary + } + anim talk_secondary1 models/md5/characters/npcs/heads/monorail/monorail_riderhead7.md5anim { + frame 1 sound_voice snd_talk_secondary1 + } + anim talk_secondary2 models/md5/characters/npcs/heads/monorail/monorail_riderhead8.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model monorail_rider { + mesh models/md5/chars/labcoat.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim af_pose models/md5/chars/af_pose.md5anim + + anim before_trigger models/md5/cinematics/monorail/before_trigger.md5anim + anim hidden models/md5/cinematics/monorail/before_trigger.md5anim + + //anim hidden models/md5/cinematics/monorail/rider_hidden.md5anim + anim surprise models/md5/cinematics/monorail/rider_surprise.md5anim + anim standing models/md5/cinematics/monorail/rider_stand.md5anim + anim sitdown models/md5/cinematics/monorail/rider_trigger.md5anim { +// frame 150 trigger monoplayerclip +// frame 200 enableEyeFocus +// frame 221 disableEyeFocus +// frame 280 enableEyeFocus +// frame 349 disableEyeFocus +// frame 430 enableEyeFocus +// frame 529 disableEyeFocus + + frame 126 trigger monoplayerclip + frame 160 trigger monoclip_relay + frame 176 enableEyeFocus + frame 197 disableEyeFocus + frame 256 enableEyeFocus + frame 325 disableEyeFocus + frame 406 enableEyeFocus + frame 505 disableEyeFocus + + } + anim sitting models/md5/cinematics/monorail/rider_sit.md5anim + anim talk_primary models/md5/cinematics/monorail/rider_primary.md5anim { + frame 1 enableEyeFocus + } + anim talk_secondary1 models/md5/cinematics/monorail/rider_secondary1.md5anim + anim talk_secondary2 models/md5/cinematics/monorail/rider_secondary2.md5anim + + anim notrig models/md5/cinematics/monorail/rider_notrig.md5anim + + anim cower models/md5/cinematics/monorail/rider_sit.md5anim + anim idle models/md5/cinematics/monorail/rider_sit.md5anim + anim stand models/md5/cinematics/monorail/rider_sit.md5anim + anim turn_left models/md5/cinematics/monorail/rider_sit.md5anim + anim turn_right models/md5/cinematics/monorail/rider_sit.md5anim + anim pain models/md5/cinematics/monorail/rider_sit.md5anim +} + +entityDef monorail_rider { + "inherit" "npc_base" + "model" "monorail_rider" + "talkradius" "512" + "turn_rate" "0" + "follow_once" "1" + "def_head" "monorail_riderhead" + "head_joint" "Shoulders" + "sound_bone" "Chest" + "talktime" "1" + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + "bone_orientation" "Body2" + "ik_numLegs" "0" + "copy_joint_world eyecontrol" "" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".8 .8 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.05" + "head_focus_rate" "0.05" + + "talk0_blendin" "0" + "talk0_blendout" "0" + "talk1_blendin" "0" + "talk1_blendout" "0" + "talk2_blendin" "6" + "talk2_blendout" "6" + + "snd_talk_secondary1" "monorail_suitguy_secondary1" + "snd_talk_secondary2" "monorail_suitguy_secondary2" +} + +entityDef monorail_raisecommando_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim raise" "models/md5/cinematics/monorail/raisecommando_cam.md5camera" + "cinematic" "1" +} + +model monorail_raisecommando_marine1 { + inherit npc_marine + anim raise models/md5/cinematics/monorail/fallingsoldier.md5anim +} + +entityDef monorail_raisecommando_marine1 { + "inherit" "npc_base" + "model" "monorail_raisecommando_marine1" + "anim" "raise" + "ik_numlegs" "0" + "cinematic" "1" + "def_head" "head_bald" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" + +} + +model monorail_raisecommando_betrugerhead { + mesh models/md5/heads/betruger/betruger.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim idle models/md5/heads/betruger/betrugeridle.md5anim + anim stand models/md5/heads/betruger/betrugeridle.md5anim + anim raise models/md5/heads/betruger/monorail/betruger_raise.md5anim + anim blink models/md5/heads/betruger/betrugerblink.md5anim +} + + +model monorail_raisecommando_betruger { + inherit npc_labcoat + anim raise models/md5/chars/betruger/monorail/raise.md5anim { + frame 1 event disableEyeFocus + frame 1 sound_global monorail_intro_sound + frame 1 sound_global monorail_intro_music + frame 5 sound_voice snd_one + frame 255 sound_voice snd_two + frame 330 trigger fredsplat1 + frame 338 trigger fredsplat2 + frame 390 sound_voice snd_three + } +} + +entityDef monorail_raisecommando_betruger { + "inherit" "npc_base" + "model" "monorail_raisecommando_betruger" + "anim" "raise" + "snd_one" "monorail_betruger_one" + "snd_two" "monorail_betruger_two" + "snd_three" "monorail_betruger_three" + + "def_head" "monorail_raisecommando_betrugerhead" + "head_joint" "Shoulders" + "cinematic" "1" +} + +model monorail_raisecommando_changer { + inherit npc_marine + anim raise models/md5/cinematics/monorail/transforming.md5anim +} + +entityDef monorail_raisecommando_changer { + "inherit" "npc_base" + "model" "monorail_raisecommando_changer" + "anim" "raise" + "cinematic" "1" + "def_head" "head_bald" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" + +} + +model monorail_raisecommando_zct { + mesh models/md5/monsters/zct/zct.md5mesh + anim raise models/md5/cinematics/monorail/zct.md5anim +} + +entityDef monorail_raisecommando_zct { + "inherit" "cin_base" + "model" "monorail_raisecommando_zct" + "anim" "raise" + "cinematic" "1" +} + +model monorail_crashsight_player { + mesh models/md5/characters/player/mocap/mgplayer.md5mesh + skin skins/player/machinegun.skin + + anim crash models/md5/cinematics/monorail/crash_player.md5anim + anim walk2stop models/md5/cinematics/monorail/walk2stopfull.md5anim { + frame 1 skin skins/player/machinegun.skin + } +} + +entityDef monorail_crashsight_player { + "inherit" "cin_base" + "model" "monorail_crashsight_player" + "anim" "crash" + "cinematic" "1" +} + +entityDef monorail_crash_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim crash" "models/md5/cinematics/monorail/crash_cam.md5camera" + "cinematic" "1" +} + +model monorail_crash_debris { + mesh models/md5/cinematics/monorail/crash_debris.md5mesh + anim raise models/md5/cinematics/monorail/crash_debris.md5anim { + frame 20 sound_voice monorail_metal_01 + frame 60 sound_voice2 monorail_metal_02 + frame 90 sound_voice monorail_metal_03 + } +} + +entityDef monorail_crash_debris { + "inherit" "cin_base" + "model" "monorail_crash_debris" + "anim" "raise" + "cinematic" "1" +} \ No newline at end of file diff --git a/base/def/map_recycling.def b/base/def/map_recycling.def new file mode 100644 index 00000000..1c3f335b --- /dev/null +++ b/base/def/map_recycling.def @@ -0,0 +1,110 @@ +//REVENANT INTRO CINEMATICS + + + +export james { + camera maps/james/revenant/revenant_intro.mb -dest models/md5/cinematics/revenant/revintro_cam + + addoptions -prefix IMPACT_ + mesh maps/james/revenant/revenant_intro.mb -dest models/md5/cinematics/revenant/revintro_impact + anim maps/james/revenant/revenant_intro.mb -dest models/md5/cinematics/revenant/revintro_impact +} + +entityDef recycling1_revintro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "anim" "revintro" + "cinematic" "1" + "anim revintro" "models/md5/cinematics/revenant/revintro_cam.md5camera" +} + +model recycling1_revintro_player { + skin skins/player/noweapon.skin + mesh models/md5/characters/player/mocap/player.md5mesh + anim revintro models/md5/cinematics/revenant/revintro_player.md5anim { + frame 27 sound_body snd_footstep + frame 35 sound_body snd_footstep + frame 49 sound_body snd_footstep + frame 55 sound_body snd_footstep + + } +} + +entityDef recycling1_revintro_player { + "inherit" "cin_base" + "model" "recycling1_revintro_player" + "anim" "revintro" + "cinematic" "1" + + "snd_footstep" "monster_demon_revenant_footstep" +} + +model recycling1_revintro_player2 { + //skin skins/player/noweapon.skin + mesh models/md5/cinematics/revenant/revintro_player2.md5mesh + anim revintro models/md5/cinematics/revenant/revintro_player2.md5anim +} + +entityDef recycling1_revintro_player2 { + "inherit" "cin_base" + "model" "recycling1_revintro_player2" + "anim" "revintro" + "cinematic" "1" +} + +model recycling1_revintro_rev { + mesh models/md5/monsters/revenant/james/revenant.md5mesh + anim revintro models/md5/cinematics/revenant/revintro_rev.md5anim { + frame 70 sound_voice2 revcin_yell1 + frame 103 sound_body snd_footstep + frame 109 sound_body snd_footstep + frame 114 sound_body snd_footstep + frame 117 sound_voice2 revcin_fire + frame 117 call rev_rocketa + frame 118 sound_body snd_footstep + frame 150 sound_voice2 revcin_fire + frame 150 call rev_rocketb + frame 270 sound_voice2 revcin_yell2 + //frame 1 trigger trigger_relay_79 + } +} + +entityDef recycling1_revintro_rev { + "inherit" "cin_base" + "model" "recycling1_revintro_rev" + "anim" "revintro" + "cinematic" "1" + + "snd_footstep" "monster_demon_revenant_footstep" +} + +model recycling1_revintro_impact { + mesh models/md5/cinematics/revenant/revintro_impact.md5mesh + anim revintro models/md5/cinematics/revenant/revintro_impact.md5anim { + + frame 149 sound_body2 recycling1_revintro_explo1 + frame 150 sound_body recycling1_revintro_stress + frame 169 sound_body2 recycling_revintro_clang1 + frame 181 sound_body2 recycling1_revintro_explo2 + frame 186 sound_body recycling_revintro_clang2 + frame 192 sound_body2 recycling_revintro_clang3 + frame 239 sound_body recycling_revintro_clang4 + frame 213 trigger trigger_relay_79 + frame 204 trigger rev_fire1 + frame 205 trigger speaker_rev_angryfire + frame 213 trigger rev_steam1 + frame 214 trigger speaker_rev_steam + + } +} + +entityDef recycling1_revintro_impact { + "inherit" "cin_base" + "model" "recycling1_revintro_impact" + "anim" "revintro" + "cinematic" "1" +} + diff --git a/base/def/map_recycling2.def b/base/def/map_recycling2.def new file mode 100644 index 00000000..9cadc057 --- /dev/null +++ b/base/def/map_recycling2.def @@ -0,0 +1,246 @@ +//CINEMATICS + +export fred { + camera maps/fred/recycling/betruger_video1.mb -dest models/md5/cinematics/recycling/betruger_vid_camera + camera maps/fred/recycling/betruger_video2.mb -dest models/md5/cinematics/recycling/betruger_vid_camera2 + +} + +export james { + camera maps/james/recycling2.mb -dest models/md5/cinematics/recycling2/mancintro_cam + + addoptions -prefix PIPE_ -keep steam1 steam2 steam3 steam4 + + mesh maps/james/recycling2.mb -dest models/md5/cinematics/recycling2/mancintro_pipes + anim maps/james/recycling2.mb -dest models/md5/cinematics/recycling2/mancintro_pipes + +} + +entityDef recycling2_mancintro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "cinematic" "1" + + "spawnclass" "idCameraAnim" + "anim" "mancintro" + "anim mancintro" "models/md5/cinematics/recycling2/mancintro_cam.md5camera" +} + +model recycling2_mancintro_player { + skin skins/player/noweapon.skin + mesh models/md5/characters/player/mocap/player.md5mesh + anim mancintro models/md5/cinematics/recycling2/mancintro_player.md5anim +} + +entityDef recycling2_mancintro_player { + "inherit" "cin_base" + "model" "recycling2_mancintro_player" + "anim" "mancintro" + "cinematic" "1" +} + +model recycling2_mancintro_manc { + mesh models/md5/monsters/mancubus/james/mancubus.md5mesh + anim mancintro models/md5/cinematics/recycling2/mancintro_manc.md5anim { + + frame 3 sound_global monster_demon_mancubus_sight + frame 25 sound_body monster_demon_mancubus_step + frame 75 sound_body monster_demon_mancubus_step + frame 100 sound_body monster_demon_mancubus_step + frame 100 sound_global monster_demon_mancubus_chatter + frame 125 sound_body monster_demon_mancubus_step + frame 150 sound_body monster_demon_mancubus_step + frame 175 sound_body monster_demon_mancubus_step + frame 185 sound_body monster_demon_mancubus_step + frame 200 sound_body monster_demon_mancubus_step + frame 201 sound_body monster_demon_guardian_death_impact + + frame 208 sound_global monster_demon_mancubus_pain + frame 234 sound_global monster_demon_mancubus_pain + frame 283 sound_global monster_demon_mancubus_sight + frame 307 sound_body monster_demon_mancubus_step + frame 317 sound_body monster_demon_mancubus_step + frame 327 sound_body monster_demon_mancubus_step + frame 338 sound_body monster_demon_mancubus_step + frame 344 sound_body monster_demon_mancubus_step + frame 351 sound_body monster_demon_mancubus_step + frame 356 sound_body monster_demon_mancubus_step + frame 362 sound_body monster_demon_mancubus_step + + } + +} + +entityDef recycling2_mancintro_manc { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "spawnclass" "idAnimated" + "model" "recycling2_mancintro_manc" + "anim" "mancintro" + "cinematic" "1" +} + +model recycling2_mancintro_pipes { + mesh models/md5/cinematics/recycling2/mancintro_pipes.md5mesh + anim mancintro models/md5/cinematics/recycling2/mancintro_pipes.md5anim { + + frame 208 sound_body recycling_revintro_clang3 + frame 234 sound_body recycling_revintro_clang2 + frame 283 sound_body recycling_revintro_clang1 + frame 284 sound_body2 recycling_revintro_clang3 + frame 208 trigger manc_steam1 + frame 208 trigger manc_steam2 + frame 208 trigger manc_steam3 + frame 208 trigger manc_steam4 + + } + +} + +entityDef recycling2_mancintro_pipes { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idAnimated" + "model" "recycling2_mancintro_pipes" + "anim" "mancintro" + "cinematic" "1" +} + +//Triple Imps + +export fred { + + options -prefix IMP1_ -keep Lknee Rknee Lelbow Relbow camera Body -keep Rmissile Lmissile -parent Rmissile Rhand -parent Lmissile Lhand -parent Rwing Chest -parent Lwing Chest -parent Hips Body -parent Waist Body -parent camera Head + + + anim maps/fred/recycling/recycling.mb -dest models/md5/cinematics/recycling/imp1 + + options -prefix IMP4_ -keep Lknee Rknee Lelbow Relbow camera Body -keep Rmissile Lmissile -parent Rmissile Rhand -parent Lmissile Lhand -parent Rwing Chest -parent Lwing Chest -parent Hips Body -parent Waist Body -parent camera Head + + anim maps/fred/recycling/recycling.mb -dest models/md5/cinematics/recycling/imp2 + + options -prefix IMP3_ -keep Lknee Rknee Lelbow Relbow camera Body -keep Rmissile Lmissile -parent Rmissile Rhand -parent Lmissile Lhand -parent Rwing Chest -parent Lwing Chest -parent Hips Body -parent Waist Body -parent camera Head + + anim maps/fred/recycling/recycling.mb -dest models/md5/cinematics/recycling/imp3 + +} + +model recycling2_imp1_cin { + mesh models/md5/monsters/imp/imp.md5mesh + anim crawl models/md5/cinematics/recycling/imp1.md5anim +} + +entityDef recycling2_imp1_cin { + "inherit" "cin_base" + "model" "recycling2_imp1_cin" + "anim" "crawl" +} + +model recycling2_imp2_cin { + mesh models/md5/monsters/imp/imp.md5mesh + anim crawl models/md5/cinematics/recycling/imp2.md5anim { + frame 3 sound_body monster_demon_imp_footstep + frame 12 sound_body monster_demon_imp_footstep + frame 16 sound_body2 monster_demon_imp_footstep + frame 20 sound_body monster_demon_imp_footstep + frame 20 sound_body2 monster_demon_imp_footstep + frame 25 sound_body monster_demon_imp_footstep + frame 30 sound_voice monster_demon_imp_chatter + frame 48 sound_body monster_demon_imp_footstep + frame 50 sound_body2 monster_demon_imp_footstep + frame 48 sound_body monster_demon_imp_footstep + frame 53 sound_body2 monster_demon_imp_footstep + frame 55 sound_body monster_demon_imp_footstep + frame 59 sound_body2 monster_demon_imp_footstep + frame 48 sound_body monster_demon_imp_footstep + frame 72 sound_body2 monster_demon_imp_footstep + frame 75 sound_body monster_demon_imp_footstep + frame 83 sound_body2 monster_demon_imp_footstep + frame 94 sound_body monster_demon_imp_footstep + frame 100 sound_body2 monster_demon_imp_footstep + frame 105 sound_body monster_demon_imp_footstep + } +} + +entityDef recycling2_imp2_cin { + "inherit" "cin_base" + "model" "recycling2_imp2_cin" + "anim" "crawl" +} + +model recycling2_imp3_cin { + mesh models/md5/monsters/imp/imp.md5mesh + anim crawl models/md5/cinematics/recycling/imp3.md5anim +} + +entityDef recycling2_imp3_cin { + "inherit" "cin_base" + "model" "recycling2_imp3_cin" + "anim" "crawl" +} + +model recycling2_video_bethead { + inherit head_betruger + anim video_a models/md5/heads/betruger/recycling2/betvideo1.md5anim + anim video_b models/md5/heads/betruger/recycling2/betvideo2.md5anim + +} + +model recycling2_video_betruger { + mesh models/md5/chars/labcoat.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol) + + anim idle models/md5/chars/betruger/recycling/betruger_vid1.md5anim + anim stand models/md5/chars/betruger/recycling/betruger_vid1.md5anim + anim video_a models/md5/chars/betruger/recycling/betruger_vid1.md5anim { +// frame 1 aviGame betvid1 + frame 1 event disableEyeFocus + frame 1 sound_voice recycling_video_betruger1 +// frame 1120 aviGame + } + anim video_b models/md5/chars/betruger/recycling/betruger_vid2.md5anim { + // frame 1 aviGame betvid2 + frame 1 event disableEyeFocus + frame 1 sound_voice recycling_video_betruger2 + // frame 915 aviGame + } +} + + +entityDef recycling2_video_betruger { + "inherit" "character_default" + "size" "1 1 1" + "model" "recycling2_video_betruger" + "anim" "video" + "sound_bone" "Chest" + "def_head" "recycling2_video_bethead" + "head_joint" "Shoulders" + +// "bone_focus" "headcontrol" +// "bone_orientation" "Body" +// "bone_leftEye" "Leyeaim" +// "bone_rightEye" "Reyeaim" + + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + "copy_joint_world eyecontrol" "eyecontrol" +} + +entityDef recycling2_video_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim betruger_cam_a" "models/md5/cinematics/recycling/betruger_vid_camera.md5camera" + "anim betruger_cam_b" "models/md5/cinematics/recycling/betruger_vid_camera2.md5camera" + +} + diff --git a/base/def/map_site3.def b/base/def/map_site3.def new file mode 100644 index 00000000..aa881607 --- /dev/null +++ b/base/def/map_site3.def @@ -0,0 +1,170 @@ +//CINEMATICS + +export fred { + options -prefix floor_ + mesh maps/fred/site3/hkfloor.mb -range 1 1 -dest models/md5/cinematics/site3/floor_floor + anim maps/fred/site3/hkfloor.mb -xyzprecision .01 -range 1 1 -dest models/md5/cinematics/site3/floor_flooridle + anim maps/fred/site3/hkfloor.mb -xyzprecision .01 -range 1 165 -dest models/md5/cinematics/site3/floor_floor +} + +export fred { + + camera maps/steve/site3_artifacts.mb -dest models/md5/cinematics/site3/site3_roq_camera +} + +entityDef site3_roq_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "cinematic" "1" + + "anim site3_roq_cam" "models/md5/cinematics/site3/site3_roq_camera.md5camera " +} + +model site3_floor { + mesh models/md5/cinematics/site3/floor_floor.md5mesh + anim floor models/md5/cinematics/site3/floor_floor.md5anim { + frame 19 trigger hkforce + frame 45 trigger hkforce + frame 82 trigger hkforce + frame 94 trigger hkforce + frame 115 trigger hkforce + frame 135 trigger hkforce + frame 161 trigger hkhole + } + anim flooridle models/md5/cinematics/site3/floor_flooridle.md5anim +} + +entityDef site3_floor { + "editor_color" "1 .5 .3" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 32" + "editor_copy2" "anim" + + "spawnclass" "idAnimated" + + "anim" "floor" + "model" "site3_floor" +} + +model site3_hellknight { + inherit monster_demon_hellknight + + anim hkidle models/md5/cinematics/site3/floor_hkidle.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + } + anim hk models/md5/cinematics/site3/floor_hk.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 145 enableWalkIK + frame 145 enableGravity + + } +} + +entityDef site3_hellknight { + "inherit" "monster_demon_hellknight" + "anim" "hkidle" + "model" "site3_hellknight" +} + +model site3_sci_head { + inherit head_old + + anim stand models/md5/characters/npcs/heads/h1idle.md5anim + anim talk_trigger models/md5/heads/old/site3/sci_trigger.md5anim { + frame 1 sound_voice snd_trigger + } + anim talk_primary models/md5/heads/old/site3/sci_primary.md5anim { + frame 1 sound_voice snd_primary + } + anim talk_secondary1 models/md5/heads/old/site3/sci_secondary1.md5anim{ + frame 1 sound_voice snd_secondary1 + } + anim talk_secondary2 models/md5/heads/old/site3/sci_secondary2.md5anim { + frame 1 sound_voice snd_secondary2 + } +} + + +model site3_sci { + mesh models/md5/chars/labcoat.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER chair) + + anim af_pose models/md5/chars/af_pose.md5anim + anim ik_pose models/md5/chars/af_pose.md5anim + + anim pain models/md5/chars/npc_stagger_loop.md5anim + anim stand models/md5/chars/stand.md5anim + anim idle models/md5/chars/stand.md5anim + + anim cower models/md5/chars/cower4.md5anim + + anim walk models/md5/chars/walk_normal.md5anim { + frame 3 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 32 sound_body snd_footstep + frame 46 sound_body snd_footstep + } + + anim turn_left models/md5/chars/turn_left.md5anim, models/md5/chars/turn_left_rotation180.md5anim { + anim_turn + } + + anim turn_right models/md5/chars/turn_right.md5anim, models/md5/chars/turn_right_rotation180.md5anim { + anim_turn + } + + anim operate_computer_custom models/md5/chars/site3_sci/stand_site3.md5anim + + anim initial_frame models/md5/chars/site3_sci/initial_frame.md5anim + anim talk_trigger models/md5/chars/site3_sci/trigger.md5anim + anim talk_primary models/md5/chars/site3_sci/primary.md5anim + anim talk_secondary1 models/md5/chars/site3_sci/secondary1.md5anim + anim talk_secondary2 models/md5/chars/site3_sci/secondary2.md5anim +} + +entityDef site3_sci { + "inherit" "npc_base" + "model" "site3_sci" + "def_head" "site3_sci_head" + "head_joint" "Shoulders" + "size" "15 14 60" + + "sound_bone" "headcontrol" + "copy_joint_world eyecontrol" "" + + "talk_no_turn" "1" + "talktime" "0" + "talk0_blendin" "0" + "talk0_blendout" "8" + "talk1_blendin" "12" + "talk1_blendout" "12" + "talk2_blendin" "12" + "talk2_blendout" "12" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0.2 0.2 0" + "look_joint Shoulders" "0.2 0.2 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint neckcontrol" "0 0 0" + "look_joint Ruparm" "-0.5 0 0" + "look_joint Luparm" "-0.5 0 0" + "look_min" "-40 -60 0" + "look_max" "40 60 0" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "snd_trigger" "site3_sci_trigger" + "snd_primary" "site3_sci_primary" + "snd_secondary1" "site3_sci_secondary1" + "snd_secondary2" "site3_sci_secondary2" +} diff --git a/base/def/map_space.def b/base/def/map_space.def new file mode 100644 index 00000000..61f10eb1 --- /dev/null +++ b/base/def/map_space.def @@ -0,0 +1,141 @@ +export fred { + + camera maps/fred/marscity/ship_in_space.mb -range 1 197 -dest models/md5/cinematics/marscity/spacecam1 + camera maps/fred/marscity/ship_in_space.mb -range 198 326 -dest models/md5/cinematics/marscity/spacecam2 + camera maps/fred/marscity/ship_in_space.mb -range 327 435 -dest models/md5/cinematics/marscity/spacecam3 + camera maps/fred/marscity/monoflyby.mb -dest models/md5/cinematics/marscity/spacemonocam + + mesh maps/fred/marscity/ship_in_space.mb -dest models/md5/cinematics/marscity/spaceplanet -prefix FLARE_ + anim maps/fred/marscity/ship_in_space.mb -range 1 197 -dest models/md5/cinematics/marscity/spaceplanet_a -prefix FLARE_ + anim maps/fred/marscity/ship_in_space.mb -range 198 326 -dest models/md5/cinematics/marscity/spaceplanet_b -prefix FLARE_ + anim maps/fred/marscity/ship_in_space.mb -range 327 435 -dest models/md5/cinematics/marscity/spaceplanet_c -prefix FLARE_ + + mesh maps/fred/marscity/ship_in_space.mb -dest models/md5/cinematics/marscity/spacestars -prefix STARS_ + anim maps/fred/marscity/ship_in_space.mb -range 1 197 -dest models/md5/cinematics/marscity/spacestars_a -prefix STARS_ + anim maps/fred/marscity/ship_in_space.mb -range 198 326 -dest models/md5/cinematics/marscity/spacestars_b -prefix STARS_ + anim maps/fred/marscity/ship_in_space.mb -range 327 435 -dest models/md5/cinematics/marscity/spacestars_c -prefix STARS_ + + options -prefix SHIP_ -keep neworigin ship dropship_LightL dropship3L dropship2L dropship1L dropship_backL dropship_top2L dropship_top1L dropship_LightR dropship3R dropship2R dropship1R dropship_backR dropship_top2R dropship_top1R -rename origin oldorigin -rename neworigin origin + mesh maps/fred/marscity/ship_in_space.mb -dest models/md5/cinematics/marscity/spaceship + anim maps/fred/marscity/spacebind.mb -dest models/md5/cinematics/marscity/spaceship_bindme + anim maps/fred/marscity/ship_in_space.mb -range 1 197 -dest models/md5/cinematics/marscity/spaceship_shot1 + anim maps/fred/marscity/ship_in_space.mb -range 198 326 -dest models/md5/cinematics/marscity/spaceship_shot2 + anim maps/fred/marscity/ship_in_space.mb -range 327 435 -dest models/md5/cinematics/marscity/spaceship_shot3 + anim maps/fred/marscity/monoflyby.mb -dest models/md5/cinematics/marscity/spacemonoship + anim maps/fred/marscity/window.mb -dest models/md5/cinematics/marscity/windowship + anim maps/fred/marscity/hangarshipendingloop.mb -range 360 1420 -dest models/md5/cinematics/marscity/hangarshipbigend + anim maps/fred/marscity/hangarshipendingloop.mb -range 1420 1650 -dest models/md5/cinematics/marscity/hangarshipbigendloop + + + options -prefix SHIP_ -keep neworigin ship dropship_LightL dropship3L dropship2L dropship1L dropship_backL dropship_top2L dropship_top1L dropship_LightR dropship3R dropship2R dropship1R dropship_backR dropship_top2R dropship_top1R -rename origin oldorigin -rename neworigin origin + mesh maps/fred/marscity/hangar.mb -dest models/md5/cinematics/marscity/hangarship + anim maps/fred/marscity/hangar.mb -range 30 100 -dest models/md5/cinematics/marscity/hangarship_a + anim maps/fred/marscity/hangar.mb -range 101 200 -dest models/md5/cinematics/marscity/hangarship_b + anim maps/fred/marscity/hangar.mb -range 201 267 -dest models/md5/cinematics/marscity/hangarship_c + anim maps/fred/marscity/hangar.mb -range 268 389 -dest models/md5/cinematics/marscity/hangarship_d + anim maps/fred/marscity/smallshipbind.mb -dest models/md5/cinematics/marscity/smallbind + + + +} + +entityDef space_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" +// "anim space" "models/md5/cinematics/marscity/spacecam.camera" + "anim space1" "models/md5/cinematics/marscity/spacecam1.camera" + "anim space2" "models/md5/cinematics/marscity/spacecam2.camera" + "anim space3" "models/md5/cinematics/marscity/spacecam3.camera" + + "anim mono" "models/md5/cinematics/marscity/spacemonocam.camera" +} + +model space_planet { + mesh models/md5/cinematics/marscity/spaceplanet.md5mesh + anim space models/md5/cinematics/marscity/spaceplanet.md5anim + anim space_a models/md5/cinematics/marscity/spaceplanet_a.md5anim + anim space_b models/md5/cinematics/marscity/spaceplanet_b.md5anim + anim space_c models/md5/cinematics/marscity/spaceplanet_c.md5anim + +} + +entityDef space_planet { + "inherit" "cin_base" + "model" "space_planet" + "anim" "space" + "num_anims" "3" + "anim1" "space_a" + "anim2" "space_b" + "anim3" "space_c" +} + +model space_stars { + mesh models/md5/cinematics/marscity/spacestars.md5mesh + anim space models/md5/cinematics/marscity/spacestars.md5anim + anim space_a models/md5/cinematics/marscity/spacestars_a.md5anim + anim space_b models/md5/cinematics/marscity/spacestars_b.md5anim + anim space_c models/md5/cinematics/marscity/spacestars_c.md5anim +} + +entityDef space_stars { + "inherit" "cin_base" + "model" "space_stars" + "anim" "space" + "num_anims" "3" + "anim1" "space_a" + "anim2" "space_b" + "anim3" "space_c" + +} + +model space_ship { + mesh models/md5/cinematics/marscity/spaceship.md5mesh + skin skins/dropshipnoflare.skin + anim bind models/md5/cinematics/marscity/spaceship_bindme.md5anim + anim space_a models/md5/cinematics/marscity/spaceship_shot1.md5anim { + frame 45 sound_global snd_flyby + } + anim space_b models/md5/cinematics/marscity/spaceship_shot2.md5anim { + frame 1 trigger light_11 + frame 1 sound_global snd_flyby2 + frame 80 trigger func_emitter_48 + } + anim space_c models/md5/cinematics/marscity/spaceship_shot3.md5anim { + frame 1 sound_global snd_entry + } + anim mono models/md5/cinematics/marscity/spacemonoship.md5anim { + // frame 1 recordDemo monoflyby + // frame 70 recordDemo + } + anim window models/md5/cinematics/marscity/windowship.md5anim +} + +entityDef space_ship { + "inherit" "cin_base" + "model" "space_ship" + "anim" "space" + "num_anims" "3" + "anim1" "space_a" + "anim2" "space_b" + "anim3" "space_c" + + + "smokeParticleSystem1" "dropship_top1R" + "smokeParticleSystem2" "dropship_top1L" + "smokeParticleSystem3" "dropship_top2R" + "smokeParticleSystem4" "dropship_top2L" + "smokeParticleSystem5" "dropship1R" + "smokeParticleSystem6" "dropship1L" + "smokeParticleSystem7" "dropship2R" + "smokeParticleSystem8" "dropship2L" + "smokeParticleSystem9" "dropship3R" + "smokeParticleSystem10" "dropship3L" + + "snd_flyby" "mc_ship_flyby" + "snd_flyby2" "mc_ship_flyby2" + "snd_entry" "mc_ship_reentry" +} + diff --git a/base/def/map_underground.def b/base/def/map_underground.def new file mode 100644 index 00000000..1ea32d49 --- /dev/null +++ b/base/def/map_underground.def @@ -0,0 +1,1812 @@ + + +export fred { + options -prefix ENV_ + mesh maps/fred/underground/impstairs.mb -dest models/md5/cinematics/underground/impstairs + anim maps/fred/underground/impstairs.mb -dest models/md5/cinematics/underground/impstairs +} + +export james { + + addoptions -prefix PIPES_ -keep steam1 steam2 steam3 steam4 + + mesh maps/james/mc_underground/mcu_pipes.mb -dest models/md5/cinematics/underground/mcu_pipes + anim maps/james/mc_underground/mcu_pipes.mb -dest models/md5/cinematics/underground/mcu_pipes +} + +//CINEMATICS + +export fred { + + options -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + camera choke.mb -range 14 45 -dest invasion_choke_cam_a + camera choke.mb -range 46 103 -dest invasion_choke_cam_b + camera choke.mb -range 104 180 -dest invasion_choke_cam_c + camera impintro.mb -dest impintro_cam + camera tele_invasion.mb -dest invasion_teleporter_cam + camera invasion2.mb -dest hallway_invasioncam + camera invasion3.mb -dest hallway_invasion2cam + camera invasion4.mb -dest hallway_invasion3cam + camera invasion5.mb -dest hallway_invasion4cam + camera invasion6a.mb -range 25 85 -dest underground/hallway_invasion5cam + camera newsec.mb -dest hallway_invasion6cam + camera invasion6c.mb -dest hallway_invasion7cam + camera crazysci.mb -range 1 114 -dest crazy_cam1 + camera crazysci.mb -range 115 224 -dest crazy_cam2 + camera crazysci2.mb -range 200 648 -dest crazy_cam3 + camera crazysciend.mb -dest crazy_cam_end + camera pentagram.mb -range 1 45 -dest pentagram_cam_a + camera pentagram.mb -range 46 80 -dest pentagram_cam_b + camera pentagram.mb -range 81 105 -dest pentagram_cam_c + camera pentagram.mb -range 106 120 -dest pentagram_cam_d + camera invasion_bathroom.mb + camera zintro_reversed_new.mb -range 1 120 -dest invasion_zintro_cam1 + camera zintro_reversed_new.mb -range 121 230 -dest invasion_zintro_cam2 + camera headache.mb -dest headache_cam + + addoptions -prefix PENT_ + mesh pentagram.mb + anim pentagram.mb -range 1 45 -dest pentagram_a + anim pentagram.mb -range 46 80 -dest pentagram_b + anim pentagram.mb -range 81 105 -dest pentagram_c + anim pentagram.mb -range 106 120 -dest pentagram_d + + options -prefix DOOR_ -sourcedir maps/james/mc_underground -destdir models/md5/cinematics/underground + mesh impcrawl_armdoor.mb -dest underground_impcrawl_door + anim impcrawl_armdoor.mb -dest underground_impcrawl_door + + options -prefix RAIL_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + mesh james_fall.mb -dest ledge + anim james_fall.mb -dest ledge + + options -prefix LIGHT_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + mesh invasion3.mb -dest lightattacher + anim invasion2.mb -dest lightattacherrun + anim invasion3.mb -dest lightattacher + anim invasion4.mb -dest lightattacherwindow + anim invasion5.mb -dest lightattacher2 + anim invasion6a.mb -range 25 85 -dest lightattacher3 + anim newsec.mb -dest lightattacher4 + anim invasion6c.mb -dest lightattacher5 + anim tele_invasion.mb -dest lightattachertele + + // ghost skulls + options -prefix SKULL_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + anim invasion6c.mb -dest hallway_invasions1g + + // ghost skulls + options -prefix SKULL_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + mesh newsec.mb -dest models/md5/cinematics/underground/chestskull + anim newsec.mb -dest models/md5/cinematics/underground/hallway_invasions1f + + anim newsec.mb -dest hallway_invasions1f + options -prefix SKULL1_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + anim tele_invasion.mb -dest skullone + anim invasion2.mb -dest hallway_invasions1 + anim invasion3.mb -dest hallway_invasions1b + anim invasion4.mb -dest hallway_invasions1c + anim invasion5.mb -dest hallway_invasions1d + anim invasion6a.mb -range 25 85 -dest hallway_invasions1e + + anim skull_encounters.mb -dest garageskull + + options -prefix SKULL2_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + mesh newsec.mb -dest newsecskull + mesh tele_invasion.mb -dest littleskull + anim tele_invasion.mb -dest skulltwo + anim invasion2.mb -dest hallway_invasions2 + anim invasion3.mb -dest hallway_invasions2b + anim invasion4.mb -dest hallway_invasions2c + anim invasion5.mb -dest hallway_invasions2d + anim invasion6a.mb -range 25 85 -dest hallway_invasions2e + + anim newsec.mb -dest hallway_invasions2f + anim invasion6c.mb -dest hallway_invasions2g + + anim skull_encounters.mb -dest boxesskull1 + + options -prefix SKULL3_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + anim tele_invasion.mb -dest skullthree + anim invasion2.mb -dest hallway_invasions3 + anim invasion3.mb -dest hallway_invasions3b + anim invasion4.mb -dest hallway_invasions3c + + anim skull_encounters.mb -dest boxesskull2 + + options -prefix SKULL4_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + anim tele_invasion.mb -dest skullfour + anim skull_encounters.mb -dest flashlightskull1 + + options -prefix SKULL5_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + anim tele_invasion.mb -dest skullfive + anim skull_encounters.mb -dest flashlightskull2 + + options -prefix SKULL6_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + mesh tele_invasion.mb -dest mediumskull + anim tele_invasion.mb -dest skullsix + options -prefix SKULL8_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + anim tele_invasion.mb -dest skulleight + options -prefix SKULL9_ -sourcedir maps/fred/underground -destdir models/md5/cinematics/underground + mesh tele_invasion.mb -dest bigskull + anim tele_invasion.mb -dest skullseven + options -prefix SKULL_ + anim maps/fred/underground/crazy_into_zombie.mb -range 440 550 -dest models/md5/cinematics/underground/transformskull + options -prefix SKULL2_ + anim maps/fred/underground/crazy_into_zombie.mb -range 440 565 -dest models/md5/cinematics/underground/transformskull2 + +} + + +entityDef underground_invasion_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + + "anim crazy1" "models/md5/cinematics/underground/crazy_cam1.md5camera" + "anim crazy2" "models/md5/cinematics/underground/crazy_cam2.md5camera" + "anim crazy3" "models/md5/cinematics/underground/crazy_cam3.md5camera" + + "anim crazy" "models/md5/cinematics/underground/crazy_cam.md5camera" + "anim end" "models/md5/cinematics/underground/crazy_cam_end.md5camera" + "anim teleporter" "models/md5/cinematics/underground/invasion_teleporter_cam.md5camera" + "anim hallway" "models/md5/cinematics/underground/hallway_invasioncam.md5camera" + "anim hallway2" "models/md5/cinematics/underground/hallway_invasion2cam.md5camera" + "anim hallway3" "models/md5/cinematics/underground/hallway_invasion3cam.md5camera" + "anim hallway4" "models/md5/cinematics/underground/hallway_invasion4cam.md5camera" + "anim hallway5" "models/md5/cinematics/underground/hallway_invasion5cam.md5camera" + "anim hallway6" "models/md5/cinematics/underground/hallway_invasion6cam.md5camera" + "anim hallway7" "models/md5/cinematics/underground/hallway_invasion7cam.md5camera" + "anim pentagram_a" "models/md5/cinematics/underground/pentagram_cam_a.md5camera" + "anim pentagram_b" "models/md5/cinematics/underground/pentagram_cam_b.md5camera" + "anim pentagram_c" "models/md5/cinematics/underground/pentagram_cam_c.md5camera" + "anim pentagram_d" "models/md5/cinematics/underground/pentagram_cam_d.md5camera" + "anim bathroom" "models/md5/cinematics/underground/invasion_bathroom.md5camera" + "anim choke_a" "models/md5/cinematics/underground/invasion_choke_cam_a.md5camera" + "anim choke_b" "models/md5/cinematics/underground/invasion_choke_cam_b.md5camera" + "anim choke_c" "models/md5/cinematics/underground/invasion_choke_cam_c.md5camera" + "anim zintro_a" "models/md5/cinematics/underground/invasion_zintro_cam1.md5camera" + "anim zintro_b" "models/md5/cinematics/underground/invasion_zintro_cam2.md5camera" +} + +model underground_invasion_pentagram { + mesh models/md5/cinematics/underground/pentagram.md5mesh + anim pentagram_a models/md5/cinematics/underground/pentagram_a.md5anim + anim pentagram_b models/md5/cinematics/underground/pentagram_b.md5anim + anim pentagram_c models/md5/cinematics/underground/pentagram_c.md5anim + anim pentagram_d models/md5/cinematics/underground/pentagram_d.md5anim +} + +entityDef underground_invasion_pentagram { + "inherit" "cin_base" + "anim" "pentagram_a" + "model" "underground_invasion_pentagram" +} + + + +model underground_invasion_lightattacher { + mesh models/md5/cinematics/underground/lightattacher.md5mesh + anim tele models/md5/cinematics/underground/lightattachertele.md5anim + anim first models/md5/cinematics/underground/lightattacherrun.md5anim + anim movea models/md5/cinematics/underground/lightattacher.md5anim { + frame 50 trigger implight1 + frame 51 trigger impexplosion1 + frame 54 trigger implight1 + } + anim moveb models/md5/cinematics/underground/lightattacher2.md5anim { + frame 15 trigger fredlightthing + frame 17 trigger frexplode1 + frame 18 trigger fredlightthing + frame 18 trigger light_36 + frame 18 trigger fredflare + frame 40 trigger fredlightthing2 + frame 41 trigger frexplode2 + frame 44 trigger fredlightthing2 + } + anim movec models/md5/cinematics/underground/lightattacher3.md5anim { + // frame 7 trigger func_door_248 + } + anim moved models/md5/cinematics/underground/lightattacher4.md5anim + anim movee models/md5/cinematics/underground/lightattacher5.md5anim + anim window models/md5/cinematics/underground/lightattacherwindow.md5anim + +} + +entityDef underground_invasion_lightattacher { + "inherit" "cin_base" + "anim" "move" + "model" "underground_invasion_lightattacher" +} + + +model underground_invasion_ledge { + mesh models/md5/cinematics/underground/ledge.md5mesh + anim fall models/md5/cinematics/underground/ledge.md5anim +} + +entityDef underground_invasion_ledge { + "inherit" "cin_base" + "anim" "fall" + "model" "underground_invasion_ledge" +} + +model underground_invasion_bigskull { + mesh models/md5/cinematics/underground/bigskull.md5mesh + anim teleportskull models/md5/cinematics/underground/skullseven.md5anim { + frame 35 trigger explodelight1 + frame 35 trigger explode1 + frame 38 trigger explodelight1 + + frame 51 trigger explodelight2 + frame 52 trigger explode2 + frame 55 trigger explodelight2 + + frame 83 trigger explodelight3 + frame 84 trigger explode3 + frame 88 trigger explodelight3 + } +} + +entityDef underground_invasion_bigskull { + "inherit" "cin_base" + "anim" "teleportskull" + "model" "underground_invasion_bigskull" +} + +model underground_invasion_littleskulls { + mesh models/md5/cinematics/underground/littleskull.md5mesh + + + anim skullone models/md5/cinematics/underground/skullone.md5anim + anim skulltwo models/md5/cinematics/underground/skulltwo.md5anim + anim skullthree models/md5/cinematics/underground/skullthree.md5anim + anim skullfour models/md5/cinematics/underground/skullfour.md5anim + anim skullfive models/md5/cinematics/underground/skullfive.md5anim + anim skullsix models/md5/cinematics/underground/skullsix.md5anim + anim skullseven models/md5/cinematics/underground/skulleight.md5anim + anim skulleight models/md5/cinematics/underground/skulleight.md5anim + anim hallskull1 models/md5/cinematics/underground/hallway_invasions1.md5anim + anim hallskull1b models/md5/cinematics/underground/hallway_invasions1b.md5anim + anim hallskull1c models/md5/cinematics/underground/hallway_invasions1c.md5anim + anim hallskull1d models/md5/cinematics/underground/hallway_invasions1d.md5anim + anim hallskull1e models/md5/cinematics/underground/hallway_invasions1e.md5anim + anim hallskull1g models/md5/cinematics/underground/hallway_invasions1g.md5anim + anim hallskull2 models/md5/cinematics/underground/hallway_invasions2.md5anim + anim hallskull2b models/md5/cinematics/underground/hallway_invasions2b.md5anim + anim hallskull2c models/md5/cinematics/underground/hallway_invasions2c.md5anim + anim hallskull2d models/md5/cinematics/underground/hallway_invasions2d.md5anim + anim hallskull2e models/md5/cinematics/underground/hallway_invasions2e.md5anim + anim hallskull2g models/md5/cinematics/underground/hallway_invasions2g.md5anim + anim hallskull3 models/md5/cinematics/underground/hallway_invasions3.md5anim + anim hallskull3b models/md5/cinematics/underground/hallway_invasions3b.md5anim + anim hallskull3c models/md5/cinematics/underground/hallway_invasions3c.md5anim + //anim hallskull3f models/md5/cinematics/underground/hallway_invasions3f.md5anim + //anim hallskull4f models/md5/cinematics/underground/hallway_invasions4f.md5anim +} + +entityDef underground_invasion_littleskulls { + "inherit" "cin_base" + "anim" "skullone" + "model" "underground_invasion_littleskulls" +} + +model underground_invasion_smallerskulls { + mesh models/md5/cinematics/underground/newsecskull.md5mesh + + anim newtwo models/md5/cinematics/underground/hallway_invasions2f.md5anim +} + +entityDef underground_invasion_smallerskulls { + "inherit" "cin_base" + "anim" "newtwo" + "model" "underground_invasion_smallerskulls" +} + +model underground_invasion_chestskull { + mesh models/md5/cinematics/underground/chestskull.md5mesh + + anim newone models/md5/cinematics/underground/hallway_invasions1f.md5anim + anim transform models/md5/cinematics/underground/transformskull.md5anim { + frame 50 sound_voice mc_skull_passby + } + anim floorskull models/md5/cinematics/underground/transformskull2.md5anim { + frame 65 sound_voice2 mc_skull_shriek + frame 90 sound_voice mc_skull_passby + frame 95 trigger guisting_speaker + frame 113 trigger roq2_relay + } + anim garage models/md5/cinematics/underground/garageskull.md5anim { + frame 48 trigger garageskull_whine_speaker + frame 73 trigger garageskull_end_speaker + } + anim boxes_a models/md5/cinematics/underground/boxesskull1.md5anim { + frame 67 trigger boxskull_door_speaker + } + anim boxes_b models/md5/cinematics/underground/boxesskull2.md5anim { + frame 60 trigger boxskull1_hole_speaker + } + anim flashlight_a models/md5/cinematics/underground/flashlightskull1.md5anim + anim flashlight_b models/md5/cinematics/underground/flashlightskull2.md5anim { + frame 75 trigger flashlightskull_goaway_speaker + } +} + +entityDef underground_invasion_chestskull { + "inherit" "cin_base" + "anim" "newone" + "model" "underground_invasion_chestskull" + //"smokeParticleSystem" "ghostskull" +} + +entityDef underground_hallway_skulls { + "inherit" "cin_base" + "anim" "newone" + "model" "underground_invasion_chestskull" + //"smokeParticleSystem" "ghostskull" +} + + +model underground_brooks_head { + inherit head_security_goggles + + anim talk_trigger models/md5/heads/security_goggles/underground/brookswelcome.md5anim { + frame 1 sound_voice snd_window1 + } + anim window_b models/md5/heads/security_goggles/underground/brooksgonnaneed.md5anim { + frame 1 sound_voice snd_window2 + } + anim window_c models/md5/heads/security_goggles/underground/brooksgrabyourgear.md5anim { + frame 1 sound_voice snd_window3 + } + anim window_d models/md5/heads/security_goggles/underground/brooksletme.md5anim { + frame 1 sound_voice snd_window4 + } + anim window_i models/md5/heads/security_goggles/underground/brooksyouneedto.md5anim { + frame 1 sound_voice snd_window9 + } + anim window_j models/md5/heads/security_goggles/underground/brooksyourstuff.md5anim { + frame 1 sound_voice snd_window10 + } + anim window_k models/md5/heads/security_goggles/underground/brooksnowyouready.md5anim { + frame 1 sound_voice snd_window11 + } + anim window_l models/md5/heads/security_goggles/underground/brooksyoudont.md5anim { + frame 1 sound_voice snd_window12 + } + anim cower1 models/md5/heads/security_goggles/underground/brookswatchthe.md5anim { + frame 1 sound_voice snd_cower1 + } + anim cower2 models/md5/heads/security_goggles/underground/brooksdontfire.md5anim { + frame 1 sound_voice snd_cower2 + } + anim cower3 models/md5/heads/security_goggles/underground/brookswatchthe.md5anim { + frame 1 sound_voice snd_cower1 + } +} + +model underground_window_security { + inherit npc_base + mesh models/md5/chars/security.md5mesh + skin skins/characters/npcs/regsec.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim cower1 models/md5/chars/mcu_brooks/brookscowerwatch.md5anim + anim cower2 models/md5/chars/mcu_brooks/brookscowerdontfire.md5anim + anim cower3 models/md5/chars/mcu_brooks/brookscowerwatch.md5anim + + anim brooksidle models/md5/chars/mcu_brooks/brooksidle.md5anim + + anim talk_trigger models/md5/chars/mcu_brooks/brooks01welcome.md5anim + anim window_b models/md5/chars/mcu_brooks/brooks02imgonnaneed.md5anim { + frame 85 event disableEyeFocus + frame 98 trigger secpanel1 + } + anim window_c models/md5/chars/mcu_brooks/brooks03grabyourgear.md5anim { + frame 1 event disableEyeFocus + frame 25 event enableEyeFocus + } + + anim window_d models/md5/chars/mcu_brooks/brooks04letmeradiotest.md5anim + anim window_e models/md5/chars/mcu_brooks/brooks05radiocheck.md5anim { + frame 5 trigger brooks05radiocheck_chatter + frame 5 sound_voice brooks05radiocheck + } + anim window_f models/md5/chars/mcu_brooks/brooks06mission.md5anim { + frame 5 trigger brooks06mission_chatter + frame 5 sound_voice brooks06mission + } + anim window_g models/md5/chars/mcu_brooks/brooks07allset.md5anim { + frame 1 trigger brooks07allset_chatter + frame 1 sound_voice brooks07allset + frame 1 trigger secpanel1 + frame 1 trigger secpanel2 + frame 1 trigger red2green_relay + frame 1 trigger trigger_relay_220 + } + anim window_h models/md5/chars/mcu_brooks/brooks08dontshootcivilians.md5anim { + frame 1 trigger brooks08dontshootcivilians_chatter + frame 1 sound_voice brooks08dontshootcivilians + } + anim window_i models/md5/chars/mcu_brooks/brooks09re_secureyourgear.md5anim + anim window_j models/md5/chars/mcu_brooks/brooks13re_storagecabinet.md5anim + anim window_k models/md5/chars/mcu_brooks/brooks14readyforcombat.md5anim + anim window_l models/md5/chars/mcu_brooks/brooks18re_moveout.md5anim +} + +entityDef underground_window_security { + "inherit" "npc_base" + "model" "underground_window_security" + "size" "" + "talktime" "0.5" + "talk_no_turn" "1" + "copy_joint_world eyecontrol" "" + + "def_head" "underground_brooks_head" + "head_joint" "Shoulders" + + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_cower1" "brooks_cowerwatch" + "snd_cower2" "brooks_cowerdontfire" + "snd_hit" "" + "snd_window1" "brooks01welcome" + "snd_window2" "brooks02imgonnaneed" + "snd_window3" "brooks03grabyourgear" + "snd_window4" "brooks04letmeradiotest" + "snd_window9" "brooks09re_secureyourgear" + "snd_window10" "brooks13re_storagecabinet" + "snd_window11" "brooks14readyforcombat" + "snd_window12" "brooks18re_moveout" + +} + +model underground_maint_young_daniel_head { + mesh models/md5/characters/npcs/heads/h2.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim blink models/md5/characters/npcs/heads/h2blink.md5anim + anim idle models/md5/characters/npcs/heads/h2idle.md5anim + anim stand models/md5/characters/npcs/heads/h2idle.md5anim + anim talk_primary models/md5/characters/npcs/heads/underground/daniel_01.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/characters/npcs/heads/underground/daniel_02.md5anim { + frame 1 sound_voice snd_talk_secondary1 + } + anim talk_secondary2 models/md5/characters/npcs/heads/underground/daniel_03.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } + anim talk_excuseme models/md5/characters/npcs/heads/underground/daniel_excuseme.md5anim { + frame 1 sound_voice snd_talk_excuseme + } + + anim talk_donttouchthat models/md5/characters/npcs/heads/underground/daniel_donttouchthat.md5anim { + frame 1 sound_voice snd_talk_donttouchthat + } +} + +model underground_maint_young_daniel { + inherit npc_jumpsuit + anim idle models/md5/chars/PDA_idle_daniel.md5anim + anim stand models/md5/chars/PDA_idle_daniel.md5anim + anim gui_operate_daniel models/md5/chars/gui_operate_daniel.md5anim + anim talk_primary models/md5/chars/pda_talk.md5anim + anim talk_secondary1 models/md5/chars/pda_talk.md5anim + anim talk_secondary2 models/md5/chars/pda_talk.md5anim + anim talk_excuseme models/md5/chars/pda_talk.md5anim + anim talk_donttouchthat models/md5/chars/pda_talk.md5anim + anim gui_look models/md5/chars/gui_look.md5anim + anim box_look models/md5/chars/box_look.md5anim { + frame 1 event disableEyeFocus + } + anim pda_idle_look models/md5/chars/PDA_idle_look.md5anim +} + +entityDef underground_maint_young_daniel { + "inherit" "npc_base" + "model" "underground_maint_young_daniel" + "def_head" "underground_maint_young_daniel_head" + "head_joint" "Shoulders" + "talk_no_turn" "1" + "talktime" "0" + "talkradius" "384" + "copy_joint_world eyecontrol" "" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "head_focus_rate" "0.08" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "pda_underground_maint_young_daniel" + "def_dropDeathItem" "pda_underground_maint_young_daniel" + "dropDeathItemJoint" "RHANDCONNECTOR" + "dropDeathItemRotation" "-90 0 0" + + "snd_talk_primary" "daniel_mcu_primary" + "snd_talk_secondary1" "daniel_mcu_secondary1" + "snd_talk_secondary2" "daniel_mcu_secondary2" + "snd_talk_excuseme" "daniel_mcu_excuseme" + "snd_talk_donttouchthat" "daniel_mcu_donttouchthat" +} + +model underground_maint_old_charles_head { + mesh models/md5/characters/npcs/heads/h1.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim dead models/md5/characters/npcs/heads/h1death.md5anim + anim blink models/md5/characters/npcs/heads/h1blink.md5anim + anim idle models/md5/characters/npcs/heads/h1idle.md5anim + anim stand models/md5/characters/npcs/heads/h1idle.md5anim + anim talk_trigger models/md5/characters/npcs/heads/underground/charles_hey.md5anim { + frame 1 sound_voice snd_charleshey + frame 110 sound_voice snd_notsure + } + anim talk_primary models/md5/characters/npcs/heads/underground/charles_dontlisten.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/characters/npcs/heads/underground/charles_shouldnttalk.md5anim { + frame 1 sound_voice snd_talk_secondary1 + } + anim talk_secondary2 models/md5/characters/npcs/heads/underground/charles_notmybiz.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } +} + +model underground_maint_old_charles { + inherit npc_jumpsuit + anim idle models/md5/chars/idle_charles.md5anim + anim stand models/md5/chars/look_in_hole.md5anim + anim look_in_hole models/md5/chars/look_in_hole.md5anim + anim look_in_hole_scratch_head models/md5/chars/look_in_hole_scratch_head.md5anim + anim talk_trigger models/md5/chars/stand_point_forward_charles.md5anim + anim talk_primary models/md5/chars/stand.md5anim + anim talk_secondary1 models/md5/chars/stand.md5anim + anim talk_secondary2 models/md5/chars/stand.md5anim +} + +entityDef underground_maint_old_charles { + "inherit" "npc_base" + "model" "underground_maint_old_charles" + "def_head" "underground_maint_old_charles_head" + "head_joint" "Shoulders" + "talk_no_turn" "1" + "talktime" "0" + "talkradius" "384" + "copy_joint_world eyecontrol" "" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "eye_verticle_offset" "0" + "eye_horizontal_offset" "-17" + + "head_focus_rate" "0.08" + + "look_joint Waist" "0 0 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".5 .5 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + //"eye_turn_min" "-20 -30 0" + //"eye_turn_max" "20 30 0" + + + "snd_talk_primary" "charles_mcu_primary" + "snd_talk_secondary1" "charles_mcu_secondary1" + "snd_talk_secondary2" "charles_mcu_secondary2" + "snd_charleshey" "charles_mcu_hey" + "snd_notsure" "charles_mcu_notsure" +} + +model underground_maint_bald_ross_head { + mesh models/md5/characters/npcs/heads/h3.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim blink models/md5/characters/npcs/heads/h3blink.md5anim + anim idle models/md5/characters/npcs/heads/h3idle.md5anim + anim stand models/md5/characters/npcs/heads/h3idle.md5anim + anim talk_primary models/md5/characters/npcs/heads/underground/ross_primary.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/characters/npcs/heads/underground/ross_secondary1.md5anim { + frame 1 sound_voice snd_talk_secondary1 + } + anim talk_secondary2 models/md5/characters/npcs/heads/underground/ross_secondary2.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } + anim rosstalk1 models/md5/characters/npcs/heads/underground/ross_listenscotty.md5anim { + frame 1 sound_voice snd_rosstalk1 + } + anim rosstalk2 models/md5/characters/npcs/heads/underground/ross_because.md5anim { + frame 1 sound_voice snd_rosstalk2 + } + anim rosstalk3 models/md5/characters/npcs/heads/underground/ross_justfinish.md5anim { + frame 1 sound_voice snd_rosstalk3 + } +} + +model underground_maint_bald_ross { + inherit npc_jumpsuit + + anim stand models/md5/chars/look_in_hole.md5anim + anim look_in_hole models/md5/chars/look_in_hole.md5anim + anim look_in_hole_scratch_head models/md5/chars/look_in_hole_scratch_head.md5anim + anim talk_primary models/md5/chars/talk_primary_ross.md5anim + anim talk_secondary1 models/md5/chars/talk_primary_ross.md5anim + anim talk_secondary2 models/md5/chars/talk_primary_ross.md5anim + anim rosstalk1 models/md5/chars/talk_listen_scotty_ross.md5anim + anim rosstalk2 models/md5/chars/look_in_hole.md5anim + anim rosstalk3 models/md5/chars/talk_listen_scotty_ross.md5anim +} + +entityDef underground_maint_bald_ross { + "inherit" "npc_base" + "model" "underground_maint_bald_ross" + "def_head" "underground_maint_bald_ross_head" + "head_joint" "Shoulders" + "talk_no_turn" "1" + "talktime" "0" + "talkradius" "384" + "copy_joint_world eyecontrol" "" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "head_focus_rate" "0.08" + + "look_joint Waist" "0 0 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".5 .5 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "snd_talk_primary" "ross_mcu_primary" + "snd_talk_secondary1" "ross_mcu_secondary1" + "snd_talk_secondary2" "ross_mcu_secondary2" + "snd_rosstalk1" "ross_mcu_listenscotty" + "snd_rosstalk2" "ross_mcu_because" + "snd_rosstalk3" "ross_mcu_justfinish" +} + + +model underground_labcoat_young_todd { + inherit npc_labcoat + anim toddtalk1 models/md5/chars/talk_primary_todd.md5anim { + frame 1 sound_voice snd_toddtalk1 + } + anim toddtalk2 models/md5/chars/stand_point_forward.md5anim { + frame 1 sound_voice snd_toddtalk2 + } + anim toddtalk3 models/md5/chars/talk_secondary2_todd.md5anim { + frame 1 sound_voice snd_toddtalk3 + } +} + +entityDef underground_labcoat_young_todd { + "inherit" "npc_base" + "def_head" "head_young" + "model" "underground_labcoat_young_todd" + "head_joint" "Shoulders" + "copy_joint_world eyecontrol" "" + + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_toddtalk1" "todd_mcu_talk1" + "snd_toddtalk2" "todd_mcu_talk2" + "snd_toddtalk3" "todd_mcu_talk3" +} + +model underground_maint_asian_eric { + inherit npc_jumpsuit + + anim stand models/md5/chars/gui_operate_eric.md5anim + anim operate_computer6 models/md5/chars/gui_operate_eric.md5anim + anim worktalk1 models/md5/chars/operate_computer_eric_worktalk1.md5anim { + frame 1 sound_voice snd_ericworktalk1 + } + anim worktalk2 models/md5/chars/operate_computer_eric_worktalk2.md5anim { + frame 1 sound_voice snd_ericworktalk2 + } +} + +entityDef underground_maint_asian_eric { + "inherit" "npc_base" + "model" "underground_maint_asian_eric" + "def_head" "head_asian_young" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + + + "size" "" + "ik_numlegs" "0" + "talks" "0" + "no_cower" "1" + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_ericworktalk1" "eric_mcu_worktalk1" + "snd_ericworktalk2" "eric_mcu_worktalk2" +} + +model underground_maint_asian_eric_head { + skin skins/characters/npcs/head_asian_young.skin + mesh models/md5/characters/npcs/heads/h5.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim talk_primary models/md5/characters/npcs/heads/mcu_thanku.md5anim { + frame 1 sound_voice snd_ericthankyou + } + anim idle models/md5/characters/npcs/heads/h5idle.md5anim + anim stand models/md5/characters/npcs/heads/h5idle.md5anim + anim blink models/md5/characters/npcs/heads/h5blink.md5anim + anim dead models/md5/characters/npcs/heads/h5death.md5anim +} + + +model underground_maint_asian_eric2 { + inherit npc_labcoat + + anim zombieattack models/md5/cinematics/underground/npcbackup.md5anim { + frame 1 sound_voice snd_erichelp + } + anim zombiestart models/md5/cinematics/underground/npcbackup_start.md5anim + anim zombiedeath models/md5/cinematics/underground/npcbackup_death.md5anim { + frame 1 sound_item eric_mcu_die + frame 18 event kill + } + anim zombiecower models/md5/chars/alphalabs4/freaked_out.md5anim + anim talk_primary models/md5/chars/mcu_thanku.md5anim +} + +entityDef underground_maint_asian_eric2 { + "inherit" "npc_base" + "model" "underground_maint_asian_eric2" + "def_head" "underground_maint_asian_eric_head" + "head_joint" "Shoulders" + "size" "8 8 8" + + "copy_joint_world eyecontrol" "" + + "ik_numlegs" "0" + "talks" "0" + "no_cower" "1" + "talktime" "0" + "snd_talk_primary" "eric_mcu_thankyou" + "snd_talk_secondary" "" + "snd_death" "" + "snd_erichelp" "eric_mcu_zombieattack" + "snd_ericthankyou" "eric_mcu_thankyou" + "velocityTime" "10" +} + +model underground_zombie_maint_bald { + inherit monster_zombie_jumpy + + remove melee_attack + anim melee_attack2 models/md5/monsters/zombies/swing2.md5anim { + frame 8 trigger underground_maint_asian_1 + frame 8 sound_weapon monster_zombie_maint_melee_hit + } +} + +entityDef underground_zombie_maint_bald { + "inherit" "monster_zombie_base" + "model" "underground_zombie_maint_bald" + + "def_head" "head_bloodybald" + "head_joint" "Shoulders" +} + +model underground_invasion_labcoat_head { + skin skins/characters/npcs/prettyoldhead.skin + mesh models/md5/characters/npcs/heads/h2.md5mesh + channel eyelids ( Ruplid Rlolid Luplid Llolid ) + + anim blink models/md5/characters/npcs/heads/h2blink.md5anim + anim idle models/md5/characters/npcs/heads/h2idle.md5anim + anim stand models/md5/characters/npcs/heads/h2idle.md5anim + anim talk_trigger models/md5/characters/npcs/heads/underground/ian_trigger.md5anim { + frame 1 sound_voice snd_talk_trigger + } + anim talk_primary models/md5/characters/npcs/heads/underground/ian_primary.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/characters/npcs/heads/underground/ian_secondary.md5anim { + frame 1 sound_voice snd_talk_secondary + } +} + +model underground_invasion_labcoat { + + inherit npc_labcoat + + anim idle models/md5/chars/gui_operate.md5anim + anim cower models/md5/chars/cower4_ian.md5anim + anim stand models/md5/chars/gui_operate.md5anim { + frame 1 call headlook_off + frame 1 event disableEyeFocus + } + anim gui_look_right models/md5/chars/gui_look_right.md5anim { + frame 1 call headlook_off + frame 1 event disableEyeFocus + } + anim gui_operate models/md5/chars/gui_operate.md5anim + anim talk_trigger models/md5/chars/startle_left.md5anim { + frame 1 call headlook_on + frame 1 event enableEyeFocus + frame 200 call headlook_off + frame 205 event disableEyeFocus + } + anim talk_primary models/md5/chars/point_forward.md5anim { + frame 1 call headlook_on + frame 1 event enableEyeFocus + frame 85 call headlook_off + frame 90 event disableEyeFocus + } + anim talk_secondary1 models/md5/chars/gui_operate_iansecondary.md5anim { + frame 1 call headlook_off + frame 1 event disableEyeFocus + } + + anim rungetcover models/md5/chars/invasion_runcover.md5anim { + frame 1 event ignoreDamage + frame 12 trigger halllight2 + frame 13 trigger hallexplode2 + frame 15 trigger halllight2 + frame 20 trigger halllight1 + frame 22 trigger hallexplode1 + frame 25 trigger halllight1 + frame 35 trigger halllight3 + frame 36 trigger hallexplode3 + frame 38 trigger halllight3 + } + anim operate_computer6 models/md5/chars/operate_computer_loop3.md5anim + anim fall models/md5/chars/invasion_ledgefall.md5anim { + frame 1 event disableEyeFocus + frame 1 event ignoreDamage + } +} + +entityDef underground_invasion_labcoat { + "inherit" "npc_base" + "model" "underground_invasion_labcoat" + "anim" "rungetcover" + "size" "32 32 74" + "talkradius" "400" + "def_head" "underground_invasion_labcoat_head" + "head_joint" "Shoulders" + "turn_rate" "0" + + "copy_joint_world eyecontrol" "" + "talktime" "0" + "team" "0" + "rank" "0" + "bone_focus" "headcontrol" + "bone_leftEye" "Lfteye_Focus" + "bone_rightEye" "Rteye_Focus" + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.08" + "mass" "500" + "cinematic" "1" + + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" ".1 .1 0" + "look_joint headcontrol" ".6 .6 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "snd_talk_trigger" "ian_mcu_trigger" + "snd_talk_primary" "ian_mcu_primary" + "snd_talk_secondary" "ian_mcu_secondary" + //"snd_chatter" "ian_mcu_idle" + "snd_hit" "" +} + +model underground_security_helmet_mark { + inherit npc_security + + anim stand models/md5/chars/PDA_idle.md5anim + anim sitting models/md5/chars/stand_sitting_idle.md5anim + anim talk_trigger models/md5/chars/stand_sitting.md5anim { + frame 1 sound_voice snd_talk_trigger + } + anim talk_primary models/md5/chars/stand_talk_primary_mark.md5anim { + frame 1 sound_voice snd_talk_primary + } + anim talk_secondary1 models/md5/chars/stand_talk_secondary_mark.md5anim { + frame 1 sound_voice snd_talk_secondary1 + } + anim talk_secondary2 models/md5/chars/stand_talk_primary_mark.md5anim { + frame 1 sound_voice snd_talk_secondary2 + } + anim airlockdrag models/md5/chars/airlockzdragged.md5anim { + frame 1 event ignoreDamage + } +} + +entityDef underground_security_helmet_mark { + "inherit" "npc_base" + "model" "underground_security_helmet_mark" + "def_head" "head_security_helmet" + "head_joint" "Shoulders" + "talk_no_turn" "1" + "talktime" "0" + "talkradius" "400" + + "copy_joint_world eyecontrol" "" + + "ik_numLegs" "0" + "ik_footSize" "0" + + "head_focus_rate" "0.08" + + "look_joint Waist" ".1 .1 0" + "look_joint Chest" ".1 .1 0" + "look_joint Shoulders" ".2 .2 0" + "look_joint headcontrol" ".4 .4 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + + "def_attach" "pda_underground_security_helmet_mark" + "def_dropDeathItem" "pda_underground_security_helmet_mark" + "dropDeathItemJoint" "RHANDCONNECTOR" + "dropDeathItemRotation" "-90 0 0" + + "snd_talk_trigger" "mark_mcu_triggered" + "snd_talk_primary" "mark_mcu_primary" + "snd_talk_secondary1" "mark_mcu_secondary1" + "snd_talk_secondary2" "mark_mcu_secondary2" + +} + + +model underground_invasion_security { + inherit npc_security + + anim runbackshoot models/md5/cinematics/underground/invasion_runshoot.md5anim { + frame 1 event ignoreDamage + frame 11 launch_missile RHANDCONNECTOR + frame 23 launch_missile RHANDCONNECTOR + } + anim runfall models/md5/cinematics/underground/invasion_runfall.md5anim + anim sec2zombiea models/md5/cinematics/underground/hallway_sec2zombie.md5anim { + frame 1 event disableEyeFocus + } + anim sec2zombieb models/md5/cinematics/underground/hallway_sec2zombie2.md5anim +} + +entityDef underground_invasion_security { + "inherit" "npc_base" + "model" "underground_invasion_security" + "anim" "runbackshoot" + "size" "" + "def_head" "underground_invasion_sechead" + "head_joint" "Shoulders" + "def_projectile" "projectile_bullet_zsec_pistol" + "projectile_spread" "0" + "num_projectiles" "1" + "smoke_weapon" "cgsmoke.smoke" + "cinematic" "1" + + "copy_joint_world eyecontrol" "" + + + "snd_chatter" "" + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_hit" "" +} + +model underground_invasion_zsechead { + mesh models/md5/characters/npcs/zheads/z5.md5mesh + anim idle models/md5/characters/npcs/zheads/z5idle.md5anim + anim sec2zombiea models/md5/characters/npcs/zheads/gogglesinvasion6b.md5anim + anim sec2zombieb models/md5/characters/npcs/zheads/gogglesinvasion6c.md5anim +} + +model underground_invasion_sechead { + mesh models/md5/characters/npcs/heads/goggles.md5mesh + anim idle models/md5/characters/npcs/heads/gogglesidle.md5anim + anim sec2zombiea models/md5/characters/npcs/heads/gogglesinvasion6b.md5anim { + frame 187 skin skins/characters/npcs/secbloodygogs.skin + frame 241 call map_mc_underground::guard_switch_head_to_zombie + } + anim sec2zombieb models/md5/characters/npcs/heads/gogglesinvasion6c.md5anim + anim runfall models/md5/characters/npcs/heads/gogglesinvasionrunfall.md5anim + +} + +model underground_invasion_labzombie { + inherit monster_zombie_labcoat + + anim stand models/md5/cinematics/underground/invasion_ledgeclimb_stand.md5anim + anim climb models/md5/cinematics/underground/invasion_ledgeclimb.md5anim { + frame 1 sound_body2 mcu_zombiesting + } +} + +entityDef underground_invasion_labzombie { + "inherit" "monster_zombie_base" + "model" "underground_invasion_labzombie" + "skin" "skins/monsters/zombies/labcoat.skin" + + "def_head" "head_zombie4" + "head_joint" "Shoulders" + "ik_numlegs" "0" + + "snd_chatter" "" + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_hit" "" +} + +model underground_invasion_maintzombie { + inherit monster_zombie_jumpy + + anim stand models/md5/cinematics/underground/invasion_ledgeclimb_stand.md5anim + anim climb models/md5/cinematics/underground/invasion_ledgeclimb.md5anim { + frame 1 sound_body2 mcu_zombiesting + } +} +entityDef underground_invasion_maintzombie { + "inherit" "monster_zombie_maint_no_jaw" + "model" "underground_invasion_maintzombie" + "skin" "skins/monsters/zombies/jumpsuit.skin" + "size" "" + "def_head" "head_zombie2" + "head_joint" "Shoulders" + "ik_numlegs" "0" + + "snd_chatter" "" + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_hit" "" +} + +model underground_invasion_suit { + inherit npc_labcoat + + anim window models/md5/cinematics/underground/invasion_window.md5anim { + frame 1 event ignoreDamage + frame 5 trigger backlight1 + frame 7 trigger backexplode1 + frame 9 trigger backlight1 + frame 10 trigger walllight1 + + frame 25 trigger backlight2 + frame 26 trigger backexplode2 + frame 27 trigger walllight2 + frame 28 trigger backlight2 + + frame 51 trigger windowlight1 + frame 52 trigger windowexplode1 + frame 53 trigger breakglass + frame 55 trigger windowlight1 + } + anim runbackscared models/md5/cinematics/underground/invasion_runbackscared.md5anim +} + +entityDef underground_invasion_suit { + "inherit" "npc_base" + "model" "underground_invasion_suit" + "anim" "window" + "size" "" + "ik_numlegs" "0" + "cinematic" "1" + "def_head" "head_old" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + + "snd_chatter" "" + "snd_talk_primary" "" + "snd_talk_secondary" "" + "snd_hit" "" +} + +entityDef underground_impintro_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idCameraAnim" + "anim impintro" "models/md5/cinematics/underground/impintro_cam.md5camera" + "anim headache" "models/md5/cinematics/underground/headache_cam.md5camera" + +} + +model underground_cin_pistol { + mesh models/md5/weapons/pistol_world/worldpistol.md5mesh + anim idle models/md5/weapons/pistol_world/pistol_idle.md5anim + +} + +entityDef underground_cin_pistol { + "inherit" "cin_base" + "model" "underground_cin_pistol" + "anim" "idle" + "joint" "PISTOL_ATTACHER" + "origin" "0 0 0" + "angles" "0 0 0" +} + +model underground_cin_player2 { + skin skins/player/noweapon.skin + mesh models/md5/characters/player/mocap/player.md5mesh + anim impintro models/md5/cinematics/underground/impintro_player.md5anim + anim headache models/md5/cinematics/underground/headache_player.md5anim { + frame 1 skin skins/player/noweapon.skin + } + +} + +entityDef underground_cin_player2 { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "inherit" "cin_base" + "model" "underground_cin_player2" + "anim" "impintro" +} + +model underground_cin_player { + skin skins/player/noweapon.skin + + mesh models/md5/characters/player/mocap/player.md5mesh + + channel torso ( ) + channel legs ( *origin ) + + anim stand models/md5/cinematics/underground/crazy_player1.md5anim + anim cower models/md5/cinematics/underground/crazy_player1.md5anim + + anim idle models/md5/cinematics/underground/crazy_player1.md5anim + anim crazy_a models/md5/cinematics/underground/crazy_player1.md5anim { + frame 1 event disableEyeFocus + frame 1 event ignoreDamage + } + anim crazy_b models/md5/cinematics/underground/crazy_player2.md5anim { + frame 1 event disableEyeFocus + frame 1 event ignoreDamage + } + anim crazy_c models/md5/cinematics/underground/crazy_player3.md5anim { + frame 1 event disableEyeFocus + frame 1 event ignoreDamage + } + anim end models/md5/cinematics/underground/crazy_player_end.md5anim { + frame 1 event disableEyeFocus + frame 1 event ignoreDamage + } + anim impintro models/md5/cinematics/underground/impintro_player.md5anim { + frame 1 event disableEyeFocus + frame 1 event ignoreDamage + } + +} + +entityDef underground_cin_player { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "mass" "5000" + "size" "" + "def_attach" "underground_cin_pistol" + + "inherit" "character_default" + "model" "underground_cin_player" + "anim" "impintro" +} + +entityDef underground_cin_player3 { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "mass" "5000" + "size" "" + "def_attach" "underground_cin_pistol" + + "inherit" "character_default" + "model" "underground_cin_player" + "anim" "impintro" + + "num_cinematics" "3" + "anim1" "crazy_a" + "anim2" "crazy_b" + "anim3" "crazy_c" + + + +} + +model underground_impintro_imp { + mesh models/md5/monsters/imp/imp.md5mesh + anim impintro models/md5/cinematics/underground/impintro_imp.md5anim { + frame 5 sound_body monster_demon_imp_sight + frame 95 sound_body snd_footstep + frame 100 sound_body snd_chatter + frame 105 sound_body snd_footstep + frame 115 sound_body snd_footstep + frame 123 sound_body snd_footstep + frame 125 sound_weapon snd_footstep + frame 128 sound_voice snd_sight + frame 164 sound_body snd_footstep + frame 167 sound_weapon snd_footstep + frame 182 sound_body snd_footstep + frame 185 sound_weapon snd_footstep + frame 188 sound_voice snd_footstep + frame 192 sound_body snd_footstep + frame 212 sound_body snd_thud + } + + anim windowstart models/md5/cinematics/underground/ending_impstart.md5anim + anim window models/md5/cinematics/underground/ending_imp.md5anim { + frame 7 sound_voice2 mcu_imp_stinger + frame 7 sound_voice mc2_imp_hit_glass + frame 18 sound_body2 monster_demon_imp_chatter + } +} + +entityDef underground_impintro_imp { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + "spawnclass" "idAnimated" + "model" "underground_impintro_imp" + "anim" "impintro" + "snd_footstep" "monster_demon_imp_footstep_cin" + "snd_sight" "monster_demon_imp_sight_cin" + "snd_chatter" "monster_demon_imp_chatter_cin" + "snd_thud" "monster_demon_imp_thud_cin" +} + +model underground_crazy_sci { + inherit npc_labcoat + + anim start models/md5/cinematics/underground/crazy_sci_start.md5anim + anim crazy_a models/md5/cinematics/underground/crazy_sci1.md5anim { + frame 1 event disableEyeFocus + frame 1 sound_global guilt + frame 1 event ignoreDamage + frame 16 sound_voice snd_crazy1 + } + anim crazy_b models/md5/cinematics/underground/crazy_sci2.md5anim { + frame 1 event disableEyeFocus + frame 1 event ignoreDamage + } + anim crazy_c models/md5/cinematics/underground/crazy_sci3.md5anim { + frame 1 event disableEyeFocus + frame 1 event ignoreDamage + frame 16 sound_voice snd_crazy2 + frame 136 sound_voice snd_crazy3 + frame 206 sound_voice snd_crazy4 + frame 310 trigger roq1_relay + frame 361 sound_voice snd_crazy5 + } + anim end_a models/md5/cinematics/underground/crazy_sci_end1.md5anim { + frame 1 event disableEyeFocus + frame 1 skin skins/characters/npcs/labcoat_asian_pistol.skin + frame 1 sound_voice snd_crazy6 + frame 132 event kill + } +} + +entityDef underground_crazy_sci { + "inherit" "npc_base" + "model" "underground_crazy_sci" + "size" "" + "mass" "5000" + "ik_numlegs" "0" + "sound_bone" "Chest" + "def_head" "underground_crazy_scihead" + "head_joint" "Shoulders" + //"def_dropDeathItem9" "moveable_item_pistol" + //"dropDeathItem9Joint" "pistol" + //"skin_dropDeath" "skins/characters/npcs/labcoat_asian.skin" + + "copy_joint_world eyecontrol" "" + + "snd_crazy1" "scinuts1a" + "snd_crazy2" "scinuts2a" + "snd_crazy3" "scinuts3a" + "snd_crazy4" "scinuts4a" + "snd_crazy5" "scinuts5a" + "snd_crazy6" "scinutsend" +} + +entityDef underground_crazy_sci_cin { + "inherit" "npc_base" + "model" "underground_crazy_sci" + "size" "" + "mass" "5000" + "ik_numlegs" "0" + "sound_bone" "Chest" + "def_head" "underground_crazy_scihead" + "head_joint" "Shoulders" + + "copy_joint_world eyecontrol" "" + + "snd_crazy1" "scinuts1a" + "snd_crazy2" "scinuts2a" + "snd_crazy3" "scinuts3a" + "snd_crazy4" "scinuts4a" + "snd_crazy5" "scinuts5a" + "snd_crazy6" "scinutsend" + + "num_cinematics" "3" + "anim1" "crazy_a" + "anim2" "crazy_b" + "anim3" "crazy_c" +} + +model underground_crazy_scihead { + mesh models/md5/characters/npcs/heads/h5.md5mesh + anim idle models/md5/characters/npcs/heads/h5idle.md5anim + anim crazy_a models/md5/characters/npcs/heads/underground/sci_crazy_start_a.md5anim + anim crazy_b models/md5/characters/npcs/heads/underground/sci_crazy_start_b.md5anim + anim crazy_c models/md5/characters/npcs/heads/underground/sci_crazy_start_c.md5anim + anim end_a models/md5/characters/npcs/heads/h5_sci_crazyend.md5anim { + frame 129 call map_mc_underground::sci_switch_head_to_stump + frame 129 sound_weapon player_pistol_fire + frame 129 trigger headsplat + } +} + +model underground_crazy_stump { + mesh models/md5/characters/npcs/zheads/z7.md5mesh + anim idle models/md5/characters/npcs/zheads/z7idle.md5anim + +} + +model underground_crazy_zombhead { + mesh models/md5/characters/npcs/heads/h5.md5mesh + anim idle models/md5/characters/npcs/heads/h5idle.md5anim + anim stand models/md5/characters/npcs/heads/h5idle.md5anim + anim transform models/md5/heads/asian_young/underground/crazy_transform.md5anim { + frame 65 sound_voice2 mc_leatherface + frame 65 trigger transformation_facelight + frame 80 call setShaderTime + frame 80 sound_voice zombiesting + frame 80 skin skins\characters\npcs\head_asian_zomb + } +} + +entityDef underground_crazy_zombie { + "inherit" "monster_zombie_maint_bald" + "model" "underground_crazy_zombie" + + "def_head" "underground_crazy_zombhead" + "head_joint" "Shoulders" + + "health" "1" + "normal_health" "80" // amount of health after turning into a zombie + "stay_on_attackpath" "1" // for him to finish his attack path since he's not a zombie until the end of it + + // clear the combat chatter . we reenable the sound after he turns into a zombie by using a + // framecommand to call a script function. + "snd_chatter_combat" "" + + // copied into "snd_chatter_combat" when he turns into a zombie + "snd_chatter_combat_precache" "monster_zombie_fat_chatter_combat" +} + +model underground_crazy_zombie { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/labcoatzombie.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + skin skins/monsters/zombies/labcoat.skin + remove idle + anim idle models/md5/monsters/zombies/crazyloop.md5anim + anim backup models/md5/monsters/zombies/crazybackup.md5anim { + frame 1 sound_voice2 jonathan_aya + frame 40 sound_voice2 jonathan_lord_help_us + + } + anim transform models/md5/monsters/zombies/crazytransform.md5anim { + frame 15 sound_voice jonathan_huh + frame 30 sound_voice2 jonathan_no + frame 80 call "map_mc_underground::crazy_sci_becomeZombie" + } +} + +model underground_impcrawl_door { + mesh models/md5/cinematics/underground/underground_impcrawl_door.md5mesh + anim underground_impcrawl_door models/md5/cinematics/underground/underground_impcrawl_door.md5anim { + frame 9 sound_body snd_tear1 + frame 27 sound_body snd_tear2 + frame 38 sound_body snd_tear3 + frame 58 sound_body snd_tear4 + } +} + +entityDef underground_impcrawl_door { + "inherit" "cin_base" + "anim" "underground_impcrawl_door" + "model" "underground_impcrawl_door" + + "snd_tear1" "mcu_impdoor_tear1" + "snd_tear2" "mcu_impdoor_tear2" + "snd_tear3" "mcu_impdoor_tear3" + "snd_tear4" "mcu_impdoor_tear4" +} + +model underground_zintro_victim { + inherit npc_jumpsuit + + anim zbeat_a models/md5/cinematics/underground/zintro_victim1.md5anim { + frame 1 event ignoreDamage + } + + anim zbeat_b models/md5/cinematics/underground/zintro_victim2.md5anim + + anim zintrob models/md5/cinematics/underground/zintro_eaten_loop.md5anim + anim zintro3 models/md5/cinematics/underground/zintro_eaten_end.md5anim + anim zintro3loop models/md5/cinematics/underground/zintro_eaten_end_loop.md5anim + +} + +entityDef underground_zintro_victim { + "inherit" "npc_base" + "model" "underground_zintro_victim" + "size" "32 32 74" + "ik_numlegs" "0" + "sound_bone" "Chest" + "def_head" "underground_zintro_pop" + "head_joint" "Shoulders" + "anim" "zbeat_a" + "skin" "skins/monsters/zombies/jumpsuit.skin" + "cinematic" "1" + + "copy_joint_world eyecontrol" "" + +} + +model underground_zintro_zombie { + inherit npc_marine + + anim zbeat_a models/md5/cinematics/underground/zintro_beater1.md5anim { + frame 1 event ignoreDamage + frame 3 sound_weapon player_machinegun_fire + frame 3 launch_missile RHANDCONNECTOR + frame 6 sound_weapon player_machinegun_fire + frame 6 launch_missile RHANDCONNECTOR + frame 9 sound_weapon player_machinegun_fire + frame 9 launch_missile RHANDCONNECTOR + frame 12 sound_weapon player_machinegun_fire + frame 12 launch_missile RHANDCONNECTOR + frame 16 sound_weapon player_machinegun_fire + frame 16 launch_missile RHANDCONNECTOR + frame 20 sound_weapon player_machinegun_fire + frame 20 launch_missile RHANDCONNECTOR + frame 23 sound_weapon player_machinegun_fire + frame 23 launch_missile RHANDCONNECTOR + frame 26 sound_weapon player_machinegun_fire + frame 26 launch_missile RHANDCONNECTOR + frame 29 sound_weapon player_machinegun_fire + frame 29 launch_missile RHANDCONNECTOR + frame 32 sound_weapon player_machinegun_fire + frame 32 launch_missile RHANDCONNECTOR + frame 35 sound_weapon player_machinegun_fire + frame 35 launch_missile RHANDCONNECTOR + frame 39 sound_weapon player_machinegun_fire + frame 39 launch_missile RHANDCONNECTOR + } + anim zbeat_b models/md5/cinematics/underground/zintro_beater2.md5anim + + anim zintro2 models/md5/cinematics/underground/zintro_eater_loop.md5anim + anim zintro3 models/md5/cinematics/underground/zintro_eater_getup.md5anim + +} + +entityDef underground_zintro_zombie { + + "inherit" "npc_base" + "model" "underground_zintro_zombie" + "size" "" + "ik_numlegs" "0" + "talks" "0" + "sound_bone" "Chest" + "def_head" "head_marine_helmet" + "head_joint" "Shoulders" + "anim" "zbeat_a" + "def_projectile" "projectile_bullet_zsec_machinegun" + "projectile_spread" "0" + "num_projectiles" "1" + "smoke_weapon" "cgsmoke.smoke" + "def_attach" "prop_machinegun" + "cinematic" "1" + +} + +model underground_zintro_pop { + mesh models/md5/characters/npcs/zheads/z4.md5mesh + anim idle models/md5/characters/npcs/zheads/z4idle.md5anim + anim zbeat_a models/md5/characters/npcs/zheads/zbeat2.md5anim { + frame 98 trigger fredsplat2 + frame 101 call map_mc_underground::sci_switch_head_to_stump + } + anim zbeat_b models/md5/characters/npcs/zheads/zbeat3.md5anim +} + + + +model underground_choke_victim { + inherit npc_tshirt + + anim choke_a models/md5/cinematics/underground/invasion_choke_victim_a.md5anim { + frame 1 disableGravity + } + anim choke_b models/md5/cinematics/underground/invasion_choke_victim_b.md5anim { + frame 1 disableGravity + } + + anim choke_c models/md5/cinematics/underground/invasion_choke_victim_c.md5anim { + frame 1 disableGravity + } + + +} + +entityDef underground_choke_victim { + "inherit" "npc_base" + "model" "underground_choke_victim" + "def_head" "head_bald" + "head_joint" "Shoulders" + "size" "" + "ik_numlegs" "0" + "talks" "0" + "sound_bone" "Chest" + "cinematic" "1" + + "copy_joint_world eyecontrol" "" + + "anim" "choke_a" +} + + + +model underground_choke_zsechead { + mesh models/md5/characters/npcs/zheads/z6.md5mesh + anim idle models/md5/characters/npcs/zheads/z6idle.md5anim + anim stand models/md5/characters/npcs/zheads/z6idle.md5anim + anim choke_a models/md5/characters/npcs/zheads/z6choke_a.md5anim + anim choke_b models/md5/characters/npcs/zheads/z6choke_b.md5anim + anim choke_c models/md5/characters/npcs/zheads/z6choke_c.md5anim + +} + + + +model underground_choke_zombie { + inherit npc_security + + anim choke_a models/md5/cinematics/underground/invasion_choke_zombie_a.md5anim { + frame 1 disableGravity + } + + anim choke_b models/md5/cinematics/underground/invasion_choke_zombie_b.md5anim { + frame 1 disableGravity + } + + anim choke_c models/md5/cinematics/underground/invasion_choke_zombie_c.md5anim { + frame 1 disableGravity + } + + +} + +entityDef underground_choke_zombie { + "inherit" "npc_base" + "model" "underground_choke_zombie" + //"skin" "skins/characters/npcs/security_goggles.skin" + "size" "" + "ik_numlegs" "0" + "talks" "0" + "sound_bone" "Chest" + + "def_head" "underground_choke_zsechead" + "head_joint" "Shoulders" + + "anim" "choke_a" + "cinematic" "1" + +} + +model underground_zsecshotgun { + inherit model_monster_zsec_shotgun + + anim windowstart models/md5/cinematics/underground/ending_zsecstart.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 sound_voice monster_zombie_security_melee + } + anim window models/md5/cinematics/underground/ending_zsec.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 sound_voice2 monster_zombie_security_melee + frame 40 enableWalkIK + } +} + +entityDef underground_zsecshotgun { + "inherit" "monster_zsec_shotgun" + "model" "underground_zsecshotgun" + "anim" "windowstart" +} + +model underground_fatty { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/jumpsuitzombie.md5mesh + skin skins/monsters/zombies/jumpsuit.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + + anim airlockdrag models/md5/cinematics/underground/airlockfdrag.md5anim { + frame 1 sound_voice mcu_zfat_bodydrag_01 + frame 1 sound_body zombie_attack_1 + //frame 5 sound_body2 monster_zombie_fat_chatter + frame 32 sound_voice2 mcu_zfat_bodydrag_02 + frame 29 sound_voice zombie_attack_4 + frame 61 sound_voice2 zombie_attack_5 + frame 64 sound_voice mcu_zfat_bodydrag_03 + + + } + anim airlockeat models/md5/cinematics/underground/airlockfeatloop.md5anim { + frame 1 sound_body2 mcu_zfat_fleshrip + frame 38 sound_body2 mcu_zfat_fleshrip + + + } + anim airlockgetup models/md5/cinematics/underground/airlockfgetup.md5anim { + frame 1 sound_voice monster_zombie_fat_sight1 + } +} + +entityDef underground_fatty { + "inherit" "monster_zombie_maint_bald" + "model" "underground_fatty" + "def_head" "head_bloodybald" + "head_joint" "Shoulders" + "anim" "airlockdrag" +} + +model underground_tunnel_imp { + inherit monster_demon_imp + + anim tunnel models/md5/cinematics/underground/tunnelscurry.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 6 sound_body snd_footstep + frame 11 sound_voice snd_sight + frame 10 sound_body snd_footstep + frame 13 sound_body snd_footstep + frame 20 sound_body snd_footstep + frame 26 sound_body snd_footstep + frame 30 sound_body snd_footstep + frame 35 sound_body snd_footstep + frame 37 sound_body snd_footstep + frame 41 sound_body snd_footstep + frame 45 trigger impush + frame 51 enableGravity + frame 51 enableWalkIK + frame 54 sound_body snd_footstep + frame 59 sound_body snd_footstep + } + + anim stairs models/md5/cinematics/underground/stairsimpcrawl.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 5 sound_voice snd_sight + frame 5 sound_body snd_footstep + frame 7 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 18 sound_body snd_footstep + frame 23 sound_body snd_footstep + frame 28 sound_body snd_footstep + frame 28 enableGravity + frame 28 enableWalkIK + } +} + +entityDef underground_tunnel_imp { + "inherit" "monster_demon_imp" + "model" "underground_tunnel_imp" + "anim" "tunnel" +} + +model underground_impstairs { + mesh models/md5/cinematics/underground/impstairs.md5mesh + anim stairs models/md5/cinematics/underground/impstairs.md5anim +} + +entityDef underground_impstairs { + "inherit" "cin_base" + "anim" "stairs" + "model" "underground_impstairs" +} + +model underground_mcu_pipes { + mesh models/md5/cinematics/underground/mcu_pipes.md5mesh + anim mcu_pipes models/md5/cinematics/underground/mcu_pipes.md5anim { + frame 3 trigger PIPES_steam1 + frame 5 trigger PIPES_steam2 + frame 4 trigger PIPES_steam3 + frame 2 trigger PIPES_steam4 + + } +} + +entityDef underground_mcu_pipes { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + "spawnclass" "idAnimated" + "model" "underground_mcu_pipes" + "anim" "mcu_pipes" + "cinematic" "1" +} + diff --git a/base/def/monster_boss_cyberdemon.def b/base/def/monster_boss_cyberdemon.def new file mode 100644 index 00000000..09a3a826 --- /dev/null +++ b/base/def/monster_boss_cyberdemon.def @@ -0,0 +1,340 @@ +/*********************************************************************** + + monster_boss_cyberdemon.def + +***********************************************************************/ + +export fred { + + options -prefix CB_ -keep Waist Rclavicle Lloleg cyber_barrel_smoke cyber_lfoot_dust cyber_rfoot_dust cyber_mouth_fire cyber_mouth_fire_L cyber_mouth_fire_R Lknee Rknee Barrel ROT fx cyber_backfire1 cyber_backfire2 cyber_backfire3 -parent fx Barrel -parent Barrel Rwrist -parent Lknee Hips -parent Rknee Hips -parent Waist ROT -parent ROT Body -parent cyber_lfoot_dust Ltoe_r -parent cyber_rfoot_dust Rtoe_r -parent cyber_barrel_smoke Rwrist -sourcedir models/monsters/cyberdemon/cycles -destdir models/md5/monsters/cyberdemon + + mesh cyberdeath.mb -dest cyberdeath_cyberdemon -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 1 1 -dest cyberdeath_cyberdemon_bind -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 44 89 -dest cyberdeath_cyberdemon_a -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 90 199 -dest cyberdeath_cyberdemon_b -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 200 220 -dest cyberdeath_cyberdemon_c -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 221 275 -dest cyberdeath_cyberdemon_d -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 276 340 -dest cyberdeath_cyberdemon_e -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 341 372 -dest cyberdeath_cyberdemon_f -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 373 428 -dest cyberdeath_cyberdemon_g -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 429 548 -dest cyberdeath_cyberdemon_h -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberdeath.mb -range 549 800 -dest cyberdeath_cyberdemon_i -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + + options -prefix CD_ -keep Rclavicle cyber_barrel_smoke cyber_lfoot_dust cyber_rfoot_dust cyber_mouth_fire cyber_mouth_fire_R cyber_mouth_fire_L Lknee Rknee Barrel ROT fx cyber_backfire1 cyber_backfire2 cyber_backfire3 -parent fx Barrel -parent Barrel Rwrist -parent Lknee Hips -parent Rknee Hips -parent Waist ROT -parent ROT Body -parent cyber_lfoot_dust Ltoe_r -parent cyber_rfoot_dust Rtoe_r -parent cyber_barrel_smoke Rwrist -sourcedir models/monsters/cyberdemon/cycles -destdir models/md5/monsters/cyberdemon + + //anim cyberintro.mb -dest cyberintro_cyberdemon -range 30 765 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon1 -range 30 104 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon2 -range 105 220 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon3 -range 221 252 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon4 -range 253 337 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon5 -range 338 492 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon6 -range 493 542 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon7 -range 543 654 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon8 -range 655 732 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + anim cyberintro.mb -dest cyberintro_cyberdemon9 -range 733 765 -sourcedir maps/fred/cyberdemon -destdir models/md5/cinematics/hellhole -prefix CB_ + + + addoptions -align ALL + + mesh cyberdemon.mb + anim idle.mb + anim walk2.mb + anim walk3.mb + anim sight1.mb + anim sight.mb + anim turret.mb + anim turret3.mb + anim oneshot.mb + anim twoshot.mb + anim bite1.mb + anim af_pose.mb + anim ik_pose.mb + anim stomp.mb -xyzprecision .01 -quatprecision 0.00006 + anim walkheadpain.mb + anim walkleftarmpain.mb + anim walkrightarmpain.mb + anim bite1.mb + anim evade_left.mb + anim evade_right.mb + anim death.mb -range 1 1 + anim pain_big1.mb + + +} + +model monster_boss_cyberdemon { + mesh models/md5/monsters/cyberdemon/cyberdemon.md5mesh + channel torso ( *Waist ) + channel legs ( *Hips Body origin ROT -*Waist) + + anim af_pose models/md5/monsters/cyberdemon/af_pose.md5anim + anim ik_pose models/md5/monsters/cyberdemon/ik_pose.md5anim + + anim stand models/md5/monsters/cyberdemon/idle.md5anim + anim idle models/md5/monsters/cyberdemon/idle.md5anim + anim sight1 models/md5/monsters/cyberdemon/sight.md5anim { + + frame 16.5 sound_voice snd_sight1 + + } + anim walk models/md5/monsters/cyberdemon/walk3.md5anim { + frame 17 sound_body snd_footstep + frame 17 triggerSmokeParticle cyber_rfoot_dust + frame 37 sound_body snd_footstep + frame 37 triggerSmokeParticle cyber_lfoot_dust + } + anim pain models/md5/monsters/cyberdemon/pain_big1.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 16 sound_body snd_footstep + frame 49 sound_body snd_footstep + } + + anim pain_chest models/md5/monsters/cyberdemon/pain_big1.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 16 sound_body snd_footstep + frame 49 sound_body snd_footstep + } + + anim pain_head models/md5/monsters/cyberdemon/pain_big1.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 16 sound_body snd_footstep + frame 49 sound_body snd_footstep + } + + anim pain_left_arm models/md5/monsters/cyberdemon/pain_big1.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 16 sound_body snd_footstep + frame 49 sound_body snd_footstep + } + + anim pain_right_arm models/md5/monsters/cyberdemon/pain_big1.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 16 sound_body snd_footstep + frame 49 sound_body snd_footstep + } + + //anim melee_attack1 models/md5/monsters/cyberdemon/stomp.md5anim { + // frame 18 melee melee_cyberdemon_kick + // frame 18 sound_body snd_footstep + // frame 19 sound_voice snd_footstep + //} + anim range_attack1 models/md5/monsters/cyberdemon/turret3.md5anim { + frame 19 sound_weapon snd_attackmissile + frame 19 launch_missile Barrel + frame 42 sound_weapon snd_attackmissile + frame 42 launch_missile Barrel + frame 66 sound_weapon snd_attackmissile + frame 66 launch_missile Barrel + } + anim range_attack2 models/md5/monsters/cyberdemon/oneshot.md5anim { + frame 19 sound_weapon snd_attackmissile + frame 19 launch_missile Barrel + } + anim range_attack3 models/md5/monsters/cyberdemon/twoshot.md5anim { + frame 19 sound_weapon snd_attackmissile + frame 19 launch_missile Barrel + frame 42 sound_weapon snd_attackmissile + frame 42 launch_missile Barrel + } + + anim death models/md5/monsters/cyberdemon/death.md5anim +} + +entityDef monster_boss_cyberdemon { + "inherit" "monster_default" + "editor_mins" "-90 -90 0" + "editor_maxs" "90 90 300" + "scriptobject" "ai" + "nativeobject" "rvmMonsterBossCyberdemon" + "model" "monster_boss_cyberdemon" + "ragdoll" "monster_boss_cyberdemon" + "size" "100 100 300" + "use_aas" "aas_cyberdemon" + "team" "1" + "rank" "3" + "health" "4000" + "mass" "1000" + "def_projectile" "projectile_cyber_rocket" + "fov" "120" + "attack_cone" "120" + "attack_accuracy" "2" + "melee_range" "95" + "combat_chatter_min" "2" + "combat_chatter_max" "4" + "af_push_moveables" "1" + + "def_kickdamage" "melee_cyberdemon_kick" + + "big_monster" "1" // makes his bounding box non-solid to other monsters + + "smokeParticleSystem1" "cyber_barrel_smoke" + "smokeParticleSystem2" "cyber_backfire1" + "smokeParticleSystem3" "cyber_backfire2" + "smokeParticleSystem4" "cyber_backfire3" + "smokeParticleSystem5" "cyber_mouth_fire" + "smokeParticleSystem6" "cyber_mouth_fire_L" + "smokeParticleSystem7" "cyber_mouth_fire_R" + "smokeParticleSystem8" "cyber_rfoot_dust" + "smokeParticleSystem9" "cyber_lfoot_dust" + + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Rshldr -*Lshldr -*Neck" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_scale head" "1" + + "pain_threshold" "150" + "finalBoss" "1" + + "focus_align_time" "0" + "head_focus_rate" "0.05" + "head_look" "1" + "bone_focus" "Barrel" + "look_min" "-90 -120 0" + "look_max" "25 120 0" + "look_joint Waist" "0.4 0.4 0.4" + "look_joint Chest" "0.4 0.4 0.4" + "look_joint Head" "0.2 0.2 0.2" + "look_joint Rshldr" "0.1 0.2 0.1" + "look_joint Relbow" "0.1 0.2 0.1" + "turn_rate" "75" + + "ik_numLegs" "2" + "ik_footSize" "20" + "ik_minWaistAnkleDist" "50" + "ik_footUpTrace" "32" + "ik_footDownTrace" "128" + "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" "cyber_lfoot_dust" + "ik_foot2" "cyber_rfoot_dust" + + "snd_sight1" "monster_boss_cyberdemon_sight1" + "snd_chatter" "monster_boss_cyberdemon_chatter" + "snd_chatter_combat" "monster_boss_cyberdemon_chatter_combat" + "snd_pain" "monster_boss_cyberdemon_pain" + "snd_attackmissile" "monster_boss_cyberdemon_attackmissile" + "snd_footstep" "monster_boss_cyberdemon_step" +} + +entityDef melee_cyberdemon_kick { + "damage" "400" + "kickDir" "1 0 1" + "mtr_blob" "leftSmack" + "blob_time" "300" + "gib" "1" + "blob_x" "0" + "blob_y" "-50" + "blob_width" "650" + "blob_height" "650" + "knockback" "100" + "push" "2000" + "kick_time" "400" + "kick_amplitude" "1" + "dv_time" "100" +} + +entityDef projectile_cyber_rocket { + "spawnclass" "idProjectile" + "mins" "-6 -6 -9" + "maxs" "6 6 9" + "cone" "3" + "model" "models/monsters/cyberdemon/cdrocket.lwo" + + "def_damage" "damage_CyberrocketDirect" + "def_splash_damage" "damage_CyberRocketSplash" + + "launchFromBarrel" "1" // launch from barrel + "health" "5" // amount of damage projectile can take if damaged (0 means it can't be destroyed) + "velocity" "900 0 0" // how fast the projectile leaves the gun (or distance if fuse is 0) + "angular_velocity" "0 0 0" // how the projectile is rotating when it leaves the gun + "thrust" "0" // the rate of acceleration (always in the direction of the projectiles model) + "thrust_start" "0" // when to start accelerating + "thrust_end" "4" // when to stop accelerating + "linear_friction" "0" // "air" friction + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0" // how much speed a projectile retains when it bounces off of objects (coefficient of restitution). 0 means no bounce. + "mass" "300" + "gravity" "0" // how much gravity affects the trajectory. gravity direction is same as the entity that fired it. + "fuse" "10" // how long before the projectile is removed or self-detonates. Use 0 for beam weapons (velocity == distance). + + "detonate_on_fuse" "0" // whether projectile should detonate when it's fuse runs out + "detonate_on_death" "1" // whether projectile should detonate when it's "killed" (health runs out) + "detonate_on_world" "1" // whether projectile should detonate when it hits an obstacle + "detonate_on_actor" "1" // whether projectile should detonate when it hits a character in the game + + "impact_damage_effect" "1" // whether projectile causes blood splats from characters that bleed + "impact_gib" "1" // whether projectile can gib a character or not (for example: bullets don't gib, but rockets do) + + "mtr_detonate" "textures/decals/ballburn01" + "decal_size" "75" + + "smoke_fly" "rockettrail.prt" // particle effect while in the air + // parametric particles -- temp + "model_detonate" "rocketExplosion.prt" + "smoke_detonate" "" // particle effect when detonates + "smoke_residue" "" // particle effect while in the air + "smoke_bounce" "" + "smoke_fuse" "" + + "debris_count" "6" + "def_debris" "debris_largeshrapnel" + "def_shrapnel" "debris_shrapnel" + + "mtr_light_shader" "" + "light_color" "1 0.8 0.4" + "light_radius" "160" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "muzzleflash" + "explode_light_color" "2 1.6 0.8" + "explode_light_radius" "320" + "explode_light_fadetime" "0.5" + + "snd_fly" "rocket_flight" // sound effect while in the air + "snd_explode" "rocket_impact" +} + +entityDef damage_CyberrocketDirect { + "kickDir" "1 0 0" + "damage" "40" + "knockback" "0" + "push" "2000" + "smoke_wound_flesh" "bloodwound.smoke" + "mtr_wound_flesh" "textures/decals/hurt02" + "mtr_splat_flesh" "" + "gib" "1" + + "kick_time" "600" + "kick_amplitude" "4" + + "dv_time" "500" +} + +entityDef damage_CyberRocketSplash { + "damage" "40" + "radius" "40" + "knockback" "0" + "push" "5000" + "gib" "1" + "smoke_wound_flesh" "bloodwound.smoke" + + "kick_time" "600" + "kick_amplitude" "4" + + "dv_time" "500" +} diff --git a/base/def/monster_boss_guardian.def b/base/def/monster_boss_guardian.def new file mode 100644 index 00000000..f127e0df --- /dev/null +++ b/base/def/monster_boss_guardian.def @@ -0,0 +1,351 @@ +/*********************************************************************** + + monster_boss_guardian.def + +***********************************************************************/ + +export James { + + + options -prefix GUARD_ -keep ik_foot1 ik_foot2 Lknee Rknee -keep ROT -keep teleporter_ctrl -parent ik_foot1 lankle -parent ik_foot2 rankle -parent spine_5 ROT -parent ROT spine_4 -sourcedir models/monsters/guardian/cycles -destdir models/md5/monsters/guardian + + anim guardian_intro.mb + + addoptions -align movement + + mesh guardian_mesh.mb -dest guardian + anim af_pose.mb -range 1 1 + anim idle1.mb // used as lost_enemy + anim idle2.mb + anim walk1.mb + anim walk1_R.mb + anim walk1_L.mb + anim attack1.mb + anim attack2.mb + anim attack3.mb + anim walk_attack.mb + anim walk_attack_R.mb + anim walk_attack_L.mb + anim death.mb + anim death.mb -range 200 200 -dest death_pose + anim sight1.mb + anim range_attack1.mb + anim pain_head.mb + anim run.mb + anim run_R.mb + anim run_L.mb + anim run_R_headbutt.mb + anim run_L_headbutt.mb + +} + +model monster_boss_guardian { + mesh models/md5/monsters/guardian/guardian.md5mesh + + channel legs ( *origin ) + + anim idle models/md5/monsters/guardian/idle2.md5anim { + frame 1 sound_voice snd_chatter + } + anim lost_enemy models/md5/monsters/guardian/idle1.md5anim { + frame 1 sound_voice snd_chatter + } + + anim run_right models/md5/monsters/guardian/run_R.md5anim { + frame 2 sound_body snd_footstep + } + + anim run_attack_right models/md5/monsters/guardian/run_R_headbutt.md5anim { + frame 8 sound_body snd_footstep + frame 19 sound_body snd_footstep + } + + anim run_left models/md5/monsters/guardian/run_L.md5anim { + frame 3 sound_body snd_footstep + } + + anim run_attack_left models/md5/monsters/guardian/run_L_headbutt.md5anim { + frame 12 sound_body snd_footstep + frame 20 sound_body snd_footstep + } + + anim walk_right models/md5/monsters/guardian/walk1_R.md5anim { + frame 16 sound_body snd_footstep + } + anim walk_left models/md5/monsters/guardian/walk1_L.md5anim { + frame 16 sound_body snd_footstep + } + anim walk_attack_left models/md5/monsters/guardian/walk_attack_L.md5anim { + frame 5 melee damage_guardianHeadButt + frame 5 sound_voice snd_chatter_combat + frame 14 sound_body snd_footstep + } + anim walk_attack_right models/md5/monsters/guardian/walk_attack_R.md5anim { + frame 5 melee damage_guardianHeadButt + frame 5 sound_voice snd_chatter_combat + frame 13 sound_body snd_footstep + } + anim range_attack1 models/md5/monsters/guardian/attack1.md5anim { + frame 14 sound_body snd_attack + frame 15 sound_voice snd_chatter_combat + frame 16 object_call pound_attack_right + } + anim range_attack2 models/md5/monsters/guardian/attack2.md5anim { + frame 16 object_call pound_attack_left + frame 15 sound_body snd_attack + frame 17 sound_voice snd_chatter_combat + } + anim melee_attack models/md5/monsters/guardian/attack3.md5anim { + frame 15 sound_voice snd_chatter_combat + frame 16 melee damage_guardianHeadButt + } + + anim spawn_seeker models/md5/monsters/guardian/range_attack1.md5anim { + frame 1 sound_item snd_spawn_seeker + frame 9 sound_body snd_pain + frame 11 object_call smash_ground + } + + anim pain models/md5/monsters/guardian/pain_head.md5anim { + frame 1 sound_voice snd_pain + } + + anim sight models/md5/monsters/guardian/sight1.md5anim { + frame 17 sound_voice snd_sight + } + + anim af_pose models/md5/monsters/guardian/af_pose.md5anim + anim ik_pose models/md5/monsters/guardian/af_pose.md5anim +} + +entityDef monster_boss_guardian { + "editor_mins" "-100 -100 0" + "editor_maxs" "100 100 200" + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterBossGuardian" + "model" "monster_boss_guardian" + //"ragdoll" "monster_boss_guardian" + "size" "200 200 200" + "use_aas" "aas_guardian" + "team" "1" + "rank" "2" + "health" "800" + "melee_range" "150" + "bone_focus" "neck_2" + "def_projectile" "projectile_guardian_smash" + "turn_rate" "120" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint spine_4" "0.4 0.4 0" + "look_joint neck_2" "0.6 0.6 0" + + "mass" "1000000" + + "mtr_light_shader" "lights/lanternglow" + "light_radius" "200" + "light_color" "1 0.2 0" + "light_offset_right" "0 32 32" + "light_offset_left" "0 32 -32" + + "smokeParticleSystem" "GflameBack" + "smokeParticleSystem2" "GflameRhand" + "smokeParticleSystem3" "head" + "smokeParticleSystem4" "GflameLHand" + "smokeParticleSystem5" "tail_12" + "smokeParticleSystem6" "GflameReye" + "smokeParticleSystem7" "GflameLeye" + "smokeParticleSystem8" "GflameNose" + "smokeParticleSystem9" "tounge_2" + + "ik_numLegs" "2" + "ik_footSize" "8" + "ik_footDownTrace" "64" + "ik_waist" "Body" + "ik_hip1" "lupleg" + "ik_hip2" "rupleg" + "ik_knee1" "lloleg" + "ik_knee2" "rloleg" + "ik_ankle1" "lleg" + "ik_ankle2" "rleg" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "ik_foot1" + "ik_foot2" "ik_foot2" + + "snd_sight" "monster_demon_guardian_sight" + "snd_chatter" "monster_demon_guardian_chatter" + "snd_chatter_combat" "monster_demon_guardian_chatter_combat" + "snd_pain" "monster_demon_guardian_pain" + "snd_death" "monster_demon_guardian_die" + "snd_footstep" "monster_demon_guardian_footstep" + "snd_attack" "monster_demon_guardian_attack" + "snd_spawn_seeker" "monster_demon_guardian_spawn" + "snd_kablam" "monster_demon_guardian_death_impact" + + "def_poundgrounddamage" "damage_guardianPoundGround" + "def_poundground" "guardian_poundground_explosion" +} + +entityDef guardian_poundground_explosion { + "spawnclass" "idSpawnableEntity" + "model" "guardian_poundground_b.prt" +} + +entityDef damage_guardianHeadButt { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 1 0" + + "damage" "30" + + "mtr_blob" "rightSlash" + "blob_time" "300" + "blob_x" "-100" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "140" + + "kick_time" "400" + "kick_amplitude" "2" + + "dv_time" "100" +} + +entityDef monster_boss_guardian_spawner { + "scriptobject" "ai" + "nativeobject" "rvmMonsterBossGuardianSpawner" + "spawnclass" "idAI" + "model" "models/monsters/spawn/spawn.lwo" + "lightning_model" "models/monsters/spawn/spawnlightning.lwo" + "model_pain" "models/monsters/spawn/redspawn.lwo" + "use_combat_bbox" "1" + "mins" "-32 -32 -32" + "maxs" "32 32 32" + "use_aas" "" + "team" "1" + "rank" "0" + "health" "1360" + + "beam_color" "0.1 0.7 1" + "beam_pain_color" "1 0.0 0.0" + "lightning_color" "0.5 0.5 1" + "lightning_pain_color" "1 0.5 0.2" + "mtr_beam_skin" "textures/sfx/flare" + "mtr_beam_light_shader" "lights/lanternglow" + + "rotate" "0 70 0" + "offset" "0 0 236" + "beam_offset" "0 0 -96" +} + +entityDef projectile_guardian_smash { + "spawnclass" "idProjectile" + "mins" "-16 -16 -16" + "maxs" "16 16 16" + "model" "guardian_fireball_b.prt" + + "noFloorCollision" "1" + + "def_damage" "damage_guardian_smash_direct" + "def_splash_damage" "damage_guardian_smash_splash" + + "health" "10000" + "velocity" "450 0 0" + "angular_velocity" "0 0 0" + "thrust" "0" + "thrust_start" "0" + "thrust_end" "0" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0.9" + "mass" "500" + "gravity" "0" + "fuse" "4" + + "detonate_on_fuse" "0" + "detonate_on_death" "0" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "0" + "impact_gib" "1" + + "mtr_detonate" "textures/decals/ballburn01" + "decal_size" "75" + + "smoke_fly" "spark_atom_c.prt" + "smoke_detonate" "" + "smoke_residue" "" + "smoke_bounce" "" + "smoke_fuse" "" + + "model_detonate" "rocketexplosion.prt" + + "debris_count" "3" + "def_debris" "debris_largeshrapnel" + "def_shrapnel" "debris_shrapnel" + + // temp removed while seneca works on it + //"mtr_light_shader" "lights/impflyflash" + //"light_color" "0.9 0.7 0.05" + //"light_radius" "160" + //"light_offset" "0 0 0" + + "mtr_explode_light_shader" "lights/impflash" + "explode_light_color" "3.6 3.0 0.5" + "explode_light_radius" "320" + "explode_light_fadetime" "1.0" + + "snd_explode" "monster_demon_imp_fireball_explode" + "snd_fly" "monster_guardian_fireball_flight" +} + +entityDef damage_guardian_smash_direct { + "damage" "20" + "push" "1000" + "smoke_wound_flesh" "bloodwound.smoke" + "mtr_wound_flesh" "textures/decals/hurt02" + "mtr_splat_flesh" "" +} + +entityDef damage_guardian_smash_splash { + "damage" "20" + "radius" "100" + "knockback" "80" + "push" "5000" + "smoke_wound_flesh" "bloodwound.smoke" +} + +entityDef damage_guardianPoundGround { + "damage" "20" + "radius" "130" + "knockback" "40" + "push" "5000" +} + +entityDef damage_guardianCharge { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "1 0 0" + + "damage" "30" + + "mtr_blob" "rightSlash" + "blob_time" "300" + "blob_x" "-100" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "200" + + "kick_time" "400" + "kick_amplitude" "2" + + "dv_time" "100" +} diff --git a/base/def/monster_boss_guardian_seeker.def b/base/def/monster_boss_guardian_seeker.def new file mode 100644 index 00000000..d94bd6ab --- /dev/null +++ b/base/def/monster_boss_guardian_seeker.def @@ -0,0 +1,74 @@ +/*********************************************************************** + + monster_boss_guardian_seeker.def + +***********************************************************************/ + +export James { + options -prefix GSE_ -sourcedir models/monsters/gseeker/cycles -destdir models/md5/monsters/gseeker + + mesh gseeker_mesh.mb -rotate 90 -dest gseeker + anim af_pose.mb -rotate 90 + anim idle3.mb -rotate 90 + anim travel3.mb -rotate 90 + anim sight3.mb -rotate 90 + anim teleport3.mb -rotate 90 + anim pain3.mb -rotate 90 +} + +model monster_boss_guardian_seeker { + mesh models/md5/monsters/gseeker/gseeker.md5mesh + channel torso ( *origin ) + offset ( 0 0 -48 ) + + anim idle models/md5/monsters/gseeker/idle3.md5anim + anim fly models/md5/monsters/gseeker/travel3.md5anim + anim charge models/md5/monsters/gseeker/travel3.md5anim + anim sight models/md5/monsters/gseeker/sight3.md5anim + anim teleport models/md5/monsters/gseeker/teleport3.md5anim + anim pain models/md5/monsters/gseeker/pain3.md5anim + anim initial models/md5/monsters/gseeker/af_pose.md5anim +} + +entityDef monster_boss_guardian_seeker { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterBossGuardianSeeker" + "model" "monster_boss_guardian_seeker" + "model_lightbeam" "models/monsters/gseeker/gseeker_flare_on_orig.lwo" + "size" "48 48 82" + "on_activate" "" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "70" + "fly_offset" "160" + "turn_rate" "360" + "fly_speed" "500" + "mass" "200" + "burnaway" "0.25" + + "bone_flytilt" "body" + + //"smokeParticleSystem" "brain_1" + + "def_light1" "seeker_light1" + "def_light2" "seeker_light2" + + "snd_sight" "monster_boss_guardian_seeker_sight" + "snd_death" "monster_boss_guardian_seeker_die" + +} + +entityDef seeker_light1 { + "inherit" "light" + "model" "" + "radius" "64" + "texture" "lights/lanternglow" +} + +entityDef seeker_light2 { + "inherit" "light" + "model" "" + "texture" "lights/spot01" +} diff --git a/base/def/monster_boss_maledict.def b/base/def/monster_boss_maledict.def new file mode 100644 index 00000000..f6aae5f7 --- /dev/null +++ b/base/def/monster_boss_maledict.def @@ -0,0 +1,71 @@ +/*********************************************************************** + + monster_boss_maledict.def + +***********************************************************************/ + +export fred { + + + options -prefix MAL_ + + mesh models/monsters/maledict/cycles/maledict.mb -dest models/md5/monsters/maledict/maledict + anim inhell.mb -dest inhell -sourcedir maps/fred/ending/ -destdir models/md5/monsters/maledict + anim inhell.mb -dest inhell2 -range 602 650 -sourcedir maps/fred/ending/ -destdir models/md5/monsters/maledict -prefix MAL2_ + + options -prefix ENV_ + mesh maps/fred/ending/inhell.mb -dest models/md5/monsters/maledict/debris + anim inhell.mb -dest debris -sourcedir maps/fred/ending/ -destdir models/md5/monsters/maledict + + +} + +export fred { + + camera maps/fred/ending/inhell.mb -dest models/md5/monsters/maledict/endingcam -range 1 540 + camera maps/fred/ending/inhell.mb -dest models/md5/monsters/maledict/endingcam2 -range 602 650 +} + +entityDef ending_cam { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 64" + + + "spawnclass" "idCameraAnim" + + "anim ending" "models/md5/monsters/maledict/endingcam.md5camera" + "anim ending_b" "models/md5/monsters/maledict/endingcam2.md5camera" +} + +model monster_boss_maledict_cinematic { + mesh models/md5/monsters/maledict/maledict.md5mesh + skin skins/models/monsters/maledict.skin + anim inhell models/md5/monsters/maledict/inhell.md5anim { + frame 101 skin skins/models/monsters/maledictnohead.skin + } + anim inhell_b models/md5/monsters/maledict/inhell2.md5anim { + frame 1 skin skins/models/monsters/maledictnohead.skin + frame 1 sound_global hh_sfx_dragonscream + frame 35 sound_global hh_music_credits + } + + +} + +entityDef monster_boss_maledict_cinematic { + "inherit" "cin_base" + "anim" "inhell" + "model" "monster_boss_maledict_cinematic" +} + +model ending_debris { + mesh models/md5/monsters/maledict/debris.md5mesh + anim inhell models/md5/monsters/maledict/debris.md5anim +} + +entityDef ending_debris { + "inherit" "cin_base" + "anim" "inhell" + "model" "ending_debris" +} \ No newline at end of file diff --git a/base/def/monster_boss_sabaoth.def b/base/def/monster_boss_sabaoth.def new file mode 100644 index 00000000..2be9696b --- /dev/null +++ b/base/def/monster_boss_sabaoth.def @@ -0,0 +1,137 @@ +/*********************************************************************** + + monster_boss_sabaoth.def + +***********************************************************************/ + +export James { + options -prefix SAB_ -keep ROT -align movement -sourcedir models/monsters/sabaoth/cycles -destdir models/md5/monsters/sabaoth + + mesh sabaoth_mesh.mb -dest sabaoth + anim idle1.mb + anim idle2.mb + anim attack_claw.mb + anim attack_bfg.mb + anim move_backward.mb + anim move_forward.mb + anim move_start.mb + anim move_stop.mb + anim pain_chest.mb + anim pain_head.mb + anim pain_left.mb + anim pain_right.mb + anim sight.mb + anim travel.mb + anim af_pose.mb + anim death.mb +} + +model monster_boss_sabaoth { + mesh models/md5/monsters/sabaoth/sabaoth.md5mesh + channel torso ( *mech_spine_2 ) + channel legs ( *origin -*mech_spine_2 ROT ) + + anim stand models/md5/monsters/sabaoth/idle1.md5anim + anim range_attack models/md5/monsters/sabaoth/attack_bfg.md5anim { + frame 5 object_call fire_bfg + frame 3 sound_weapon sabaoth_bfg_fire + + } + anim move_start models/md5/monsters/sabaoth/move_start.md5anim + anim move_forward models/md5/monsters/sabaoth/travel.md5anim + anim move_stop models/md5/monsters/sabaoth/move_stop.md5anim + anim sight models/md5/monsters/sabaoth/sight.md5anim { + frame 1 sound_voice2 sabaoth_sight + } + anim af_pose models/md5/monsters/sabaoth/af_pose.md5anim + + anim melee_attack models/md5/monsters/sabaoth/attack_claw.md5anim { + frame 1 sound_weapon sabaoth_melee + frame 40 melee melee_sabaoth + } + anim death models/md5/monsters/sabaoth/death.md5anim { + frame 1 sound_voice sabaoth_death + } +} + +entityDef monster_boss_sabaoth { + "editor_mins" "-86 -86 0" + "editor_maxs" "86 86 144" + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterBossSabaoth" + "ragdoll" "monster_boss_sabaoth" + "size" "172 172 144" + "use_aas" "aas_sabaoth" + "turn_rate" "140" + "team" "1" + "rank" "2" + "health" "1750" + "fov" "360" + "model" "monster_boss_sabaoth" + "fly_speed" "200" + "def_projectile" "projectile_sabaoth_bfg" + "attack_cone" "360" + "attack_accuracy" "1" + "projectile_spread" "0" + "num_projectiles" "1" + "melee_range" "220" + + "head_focus_rate" "0.05" + + "look_min" "0 -180 0" + "look_max" "0 180 0" + "look_joint mech_spine_1" "0 1 0" + + "bone_focus" "organic_head" + + "damage_zone head" "*organic_neck_1" + "damage_zone chest" "*organic_spine_1 -*organic_stub_1 -*organic_clavicle -*organic_neck_1" + "damage_zone left_arm" "*organic_clavicle" + "damage_zone right_arm" "*organic_stub_1" + "damage_zone legs" "*origin -*mech_spine_2 ROT" + "damage_scale legs" "0.75" + "mass" "99999999" + "pain_threshold" "50" + + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "0 0.8 0" + "flashRadius" "120" + + "chatter_combat_min" "5" + "chatter_combat_max" "15" + + "snd_chatter_combat" "sabaoth_taunts" + "snd_death" "sabaoth_death" + "snd_move_start" "sabaoth_move_start" + "snd_move" "sabaoth_move" + "snd_move_stop" "sabaoth_move_stop" +} + +entityDef projectile_sabaoth_bfg { + "inherit" "projectile_bfg" + "no_contents" "0" +} + +entityDef melee_sabaoth { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 1 0" + + "damage" "40" + + "mtr_blob" "rightSlash" + "blob_time" "300" + "blob_x" "-100" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "70" + + "kick_time" "400" + "kick_amplitude" "2" + + "dv_time" "200" +} diff --git a/base/def/monster_boss_vagary.def b/base/def/monster_boss_vagary.def new file mode 100644 index 00000000..aa024cb7 --- /dev/null +++ b/base/def/monster_boss_vagary.def @@ -0,0 +1,256 @@ +/*********************************************************************** + + monster_boss_vagary.def + +***********************************************************************/ + +export fred { + options -prefix VAG_ -keep mouthmissile Lknee1 Lknee2 Lknee3 Rknee1 Rknee2 Rknee3 -parent mouthmissile Head + + anim maps/fred/caverns2/bridge2.mb -range 315 490 -dest models/md5/cinematics/caverns2/bridge_pinky + + addoptions -sourcedir models/monsters/vagary/cycles + addoptions -destdir models/md5/monsters/vagary + + mesh vagary_mesh.mb -rotate 90 -dest vagary + anim af_pose.mb -rotate -90 + anim stand.mb + anim alert_idle.mb + anim wake.mb + anim sight.mb + //anim walk.mb + anim walk3.mb + anim sleep.mb + anim melee1.mb + anim melee2.mb + anim melee3.mb + anim chestpain.mb + anim headpain.mb + anim luparmpain.mb + anim ruparmpain.mb + anim evade_right.mb + anim evade_left.mb -rotate 90 + anim range_attack.mb + anim downwalk.mb + + anim vagretreat.mb -rotate 180 -dest vagintro_retreat -sourcedir maps/fred/alphalabs3 -destdir models/md5/cinematics/alphalabs3 + + addoptions -prefix VAG2_ + + anim vags2.mb -dest vag2 -sourcedir maps/fred/caverns2 -destdir models/md5/cinematics/caverns2 + + addoptions -prefix VAG1_ + + anim vags2.mb -rotate -180 -range 1 135 -dest vag1 -sourcedir maps/fred/caverns2 -destdir models/md5/cinematics/caverns2 + + + anim playershot1.mb -dest vagintro_vagary1 -sourcedir maps/fred/alphalabs3 -destdir models/md5/cinematics/alphalabs3 + anim vagaryintro2.mb -dest vagintro_vagary2 -sourcedir maps/fred/alphalabs3 -destdir models/md5/cinematics/alphalabs3 + + /******** + web fx + *********/ + + options -prefix WEB_ -align Center + mesh models/monsters/trite/cycles/web.mb + anim models/monsters/trite/cycles/web.mb + anim models/monsters/trite/cycles/webflight.mb + anim models/monsters/trite/cycles/webgrowth.mb +} + +model monster_boss_vagary { + mesh models/md5/monsters/vagary/vagary.md5mesh + channel torso ( *Waist ) + channel legs ( *origin -*Waist ) + + anim af_pose models/md5/monsters/vagary/af_pose.md5anim + anim ik_pose models/md5/monsters/vagary/af_pose.md5anim + + anim stand models/md5/monsters/vagary/stand.md5anim + anim idle models/md5/monsters/vagary/alert_idle.md5anim + anim walk models/md5/monsters/vagary/walk3.md5anim { + frame 4 sound_body snd_step + frame 7 sound_body snd_step + frame 12 sound_body snd_step + frame 17 sound_body snd_step + frame 23 sound_body snd_step + frame 27 sound_body snd_step + frame 30 sound_body snd_step + frame 34 sound_body snd_step + frame 41 sound_body snd_step + } + anim evade_right models/md5/monsters/vagary/evade_right.md5anim { + frame 1 sound_body monster_boss_vagary_evade_right + } + anim evade_left models/md5/monsters/vagary/evade_left.md5anim { + frame 1 sound_body monster_boss_vagary_evade_left + } + anim sight models/md5/monsters/vagary/sight.md5anim { + frame 10 sound_voice snd_sight + } + anim melee_attack1 models/md5/monsters/vagary/melee1.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice2 monster_boss_vagary_attack1 + frame 10 melee melee_vagRightClaw + } + anim melee_attack2 models/md5/monsters/vagary/melee2.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice2 monster_boss_vagary_attack2 + frame 18 melee melee_vagLeftClaw + } + anim melee_attack3 models/md5/monsters/vagary/melee3.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice2 monster_boss_vagary_attack3 + frame 16 melee melee_vagRightClaw + frame 35 melee melee_vagLeftClaw + frame 38 melee melee_vagRightClaw + } + + anim pain models/md5/monsters/vagary/chestpain.md5anim { + frame 1 sound_voice monster_boss_vagary_pain + } + anim pain_chest models/md5/monsters/vagary/chestpain.md5anim { + frame 1 sound_voice monster_boss_vagary_pain + } + anim pain_head models/md5/monsters/vagary/headpain.md5anim { + frame 1 sound_voice monster_boss_vagary_pain_head + } + anim pain_right_arm models/md5/monsters/vagary/ruparmpain.md5anim { + frame 1 sound_voice monster_boss_vagary_pain_right_arm + } + anim pain_left_arm models/md5/monsters/vagary/luparmpain.md5anim { + frame 1 sound_voice monster_boss_vagary_pain_left_arm + } +} + +entityDef monster_boss_vagary { + "editor_mins" "-48 -48 0" + "editor_maxs" "48 48 96" + + "inherit" "monster_default" + "spawnclass" "idAI_Vagary" + "scriptobject" "ai" + "nativeobject" "rvmMonsterBossVagary" + "ragdoll" "monster_demon_vagary" + "model" "monster_boss_vagary" + "anim" "idle" + "size" "80 80 96" + "use_aas" "aas96" + "team" "1" + "rank" "2" + "health" "1300" + "melee_range" "64" + "attack_cone" "70" + "attack_accuracy" "0" + "turn_rate" "360" + "mass" "600" + "smoke_burnParticleSystem" "burn_manc.prt-body" + "burnaway" "0.50" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Torso" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint Head" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "ik_numLegs" "6" + "ik_footSize" "0" + "ik_waist" "Body" + "ik_hip1" "Lclaw3b" + "ik_hip2" "Rclaw3b" + "ik_hip3" "Lclaw3c" + "ik_hip4" "Rclaw3c" + "ik_hip5" "Lclaw3d" + "ik_hip6" "Rclaw3d" + "ik_knee1" "Lclaw4b" + "ik_knee2" "Rclaw4b" + "ik_knee3" "Lclaw4c" + "ik_knee4" "Rclaw4c" + "ik_knee5" "Lclaw4d" + "ik_knee6" "Rclaw4d" + "ik_ankle1" "Lclaw5b" + "ik_ankle2" "Rclaw5b" + "ik_ankle3" "Lclaw5c" + "ik_ankle4" "Rclaw5c" + "ik_ankle5" "Lclaw5d" + "ik_ankle6" "Rclaw5d" + "ik_dir1" "Lknee1" + "ik_dir2" "Rknee1" + "ik_dir3" "Lknee2" + "ik_dir4" "Rknee2" + "ik_dir5" "Lknee3" + "ik_dir6" "Rknee3" + "ik_foot1" "Lclaw7b" + "ik_foot2" "Lclaw7c" + "ik_foot3" "Lclaw7d" + "ik_foot4" "Rclaw7b" + "ik_foot5" "Rclaw7c" + "ik_foot6" "Rclaw7d" + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Ruparm -*Luparm -*Neck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Tail" + + "damage_scale head" "2" + + "snd_sight" "monster_boss_vagary_sight" + "snd_chatter" "monster_boss_vagary_idle" + "snd_chatter_combat" "monster_boss_vagary_chatter_combat" + "snd_pain" "monster_boss_vagary_pain" + "snd_pickup" "monster_boss_vagary_pickup" + "snd_death" "monster_boss_vagary_death" + "snd_step" "monster_demon_vagary_step" + "snd_melee" "monster_zombie_commando_melee_miss" + "snd_burn" "monster_demon_tick_burn" +} + +entityDef melee_vagLeftClaw { + // 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_vagRightClaw { + "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" +} diff --git a/base/def/monster_default.def b/base/def/monster_default.def new file mode 100644 index 00000000..21fc49c6 --- /dev/null +++ b/base/def/monster_default.def @@ -0,0 +1,189 @@ +/*********************************************************************** + + monster_default.def + +***********************************************************************/ + +entityDef monster_default { + "editor_color" "1 .5 0" + "editor_mins" "-24 -24 0" + "editor_maxs" "24 24 64" + "editor_showangle" "1" + "editor_copy" "anim" + + "editor_var noDamage" "if set, monster won't take damage." + "editor_var ambush" "if set, monster only wakes up if it sees the player." + "editor_var enemy" "Set to name of character to attack when activated." + "editor_var teleport" "if set, monster teleports in when triggered." + "editor_var wakeup_target" "list of entities to trigger when monster sees the player. can be used like 'target' in that you can have several of these and the monster will activate each one." + "editor_var attack_path" "When activated, either by sight or by trigger, follow a path of path_corners to the end and then attack. Monster will not play sight or 'on_activate' animation. Will exit path if enemy gets too close, unless 'stay_on_attackpath' is set." + "editor_var stay_on_attackpath" "don't exit attack_path when close to enemy." + + "editor_var anim" "Animation to cycle when spawned in." + "editor_var num_cinematics" "When set, character is in cinematic mode. Remains hidden until triggered, then plays each anim in sequence, then triggers targets becomes hidden once more. Anims are specified by setting 'anim1', 'anim2', 'anim3', etc." + "editor_var cinematic_no_hide" "When set, character won't hide after playing cinematics." + "editor_var on_activate" "Animation to play when monster sees player or is triggered. Set to blank to make monster immediately start attacking the player without playing an animation." + "editor_var on_activate_blend" "# of frames to blend out of 'on_activate' animation when it's done playing. Default is 4 frames." + "editor_var trigger_anim" "Monster remains hidden until triggered, plays anim specified and immediately goes after the player." + "editor_var wake_on_attackcone" "Monster will wake up and attack when player enters it's attack cone. Monster will also wake up when triggered or shot." + "editor_var walk_on_trigger" "Monster begins following his path when triggered but doesn't get angry right away. Do not set 'attack_path' or 'trigger' with 'walk_on_trigger'." + "editor_var ignore_flashlight" "Prevents the monster being triggered by the flashlight." + "editor_var trigger" "If set, monster will only become angry when triggered or damaged, and not on sight. Monster will play 'anim' until triggered, or follow his path. If 'attack_path' is set," \ + "monster waits until triggered to follow it. Do not set 'walk_on_trigger' when using 'trigger'." + "editor_var hide" "Causes monster to be hidden and nonsolid until triggered. Set to 2 for single trigger (entity wakes up when unhidden)." + "editor_var spawner" "when set, spawns a monster whenever triggered. # specifies the maximum monsters to have spawned at any one time (forexample, setting 'spawner' to '3' allows up to 3 monsters at once)." + "editor_var spawn_target" "when 'spawner' is set, this specifies the target of the spawner. usefull for having the spawned monster target the spawner." + "editor_var no_idle_chatter" "When set, monster will not make idle sounds" + "editor_var walk_on_sight" "Allows the monster to begin walking towards the player before his sight animation finishes." + "editor_var no_sight" "Monster will not wake up upon seeing player. He'll still wake up to sounds or being triggered." + "editor_var target" "set of path_* entities to visit." + "editor_var wander" "if set to 1, visit path_* targets randomly, otherwise visit them in order." + "editor_var wait" "How long to wait before following path. Monster will be unresponsive until this time has passed." + "editor_var neverdormant" "If set to 1, monsters do not sleep outside your PVS" + "editor_var ignore_obstacles" "If set, monster doesn't avoid obstacles. Generally should only be used for cinematics when you need monster to exactly follow a path." + "editor_var ignore_lostcombat" "If set, monster doesn't try to hide when it can no longer reach the player." + "editor_var alt_path1" "alternate path for monster. use target_aI_followalternatepath1 to cause character to follow." + "editor_var alt_path2" "alternate path for monster. use target_aI_followalternatepath2 to cause character to follow." + "editor_var alt_path3" "alternate path for monster. use target_aI_followalternatepath3 to cause character to follow." + + "editor_var noshadows" "turns off shadows on character." + "editor_var animate_z" "disables gravity on character until he wakes up. used for on_activate anims where the bounding box needs to move up and down." + + "editor_var kick_force" "how much force to apply to blocking obstacles to get them out of the way." + + "editor_var team" "Monsters do not actively attack players or monsters with the same team #." + "editor_var rank" "Monsters only fight back when attacked by members of it's own team when its rank is greater than or equal to the attacker's rank. A rank of 0 will never fight back." + + "editor_var turn_rate" "Maximum # of degrees monster can turn per second" + + "editor_var mass" "character's mass." + "editor_var ragdoll" "Specifies the .af file to use for a ragdoll when the creature dies" + "editor_var ragdoll_slomoStart" "Start time of ragdoll slow motion relative to death time, defaults to -0.2" + "editor_var ragdoll_slomoEnd" "End time of ragdoll slow motion relative to death time, defaults to 1.0" + "editor_var ragdoll_jointFrictionDent" "Joint friction dent on ragdoll." + "editor_var ragdoll_jointFrictionStart" "Start time for joint friction dent" + "editor_var ragdoll_jointFrictionEnd" "End time for joint friction dent" + "editor_var ragdoll_contactFrictionDent" "Contact friction dent on ragdoll." + "editor_var ragdoll_contactFrictionStart" "Start time for contact friction dent" + "editor_var ragdoll_contactFrictionEnd" "End time for contact friction dent" + "editor_var af_push_moveables" "whether the monster's articulated figure pushes obstacles while they're alive." + + "editor_var blink_min" "Minimum time to wait between eye blinks." + "editor_var blink_max" "Maximum time to wait between eye blinks." + + "editor_var fly_offset" "Prefered fly height relative to the player's view" + "editor_var fly_speed" "Speed to fly at" + "editor_var fly_bob_strength" "How far flying creatures should bob." + "editor_var fly_bob_vert" "Rate at which flying creatures bob up and down." + "editor_var fly_bob_horz" "Rate at which flying creatures bob left and right." + + "editor_var def_projectile" "name of entityDef to launch as projectile" + "editor_var num_projectiles" "how many projectiles to launch at a time." + "editor_var projectile_spread" "how much to spread out projectiles when they're fired. Works in conjunction with attack_accuracy. Good for things like shotgun blasts." + "editor_var attack_accuracy" "Maximum angular offset to randomly offset the monster's aim when firing missiles" + "editor_var attack_cone" "Monster can only throw projectile within this cone relative to his direction." + "editor_var attack_target" "Entity to fire missile at when 'fireMissileAtTarget' is called from script or 'fire_missile_at_target' as a framecommand." + + "editor_var melee_range" "do melee attack when within this range" + "editor_var projectile_height_to_distance_ratio" "calculates the maximum height a projectile can be thrown. for example, a projectile thrown 100 units with a projectile_height_to_distance_ratio of 0.5 will only ever be up to 50 units above the target." + "editor_var talks" "whether character can be engaged in conversation" + "editor_var def_drops" "entityDefs to drop when killed. Multiple drop items are defined by adding suffixes: 'def_drops1', 'def_drops2', etc." + + "editor_var smokeParticleSystem" "particle system to attach to entity. To attach to a specific joint, add - and the name of the joint. For example 'fire-firejoint' attaches the 'fire' particle to the joint 'firejoint'." + + "editor_var chatter_min" "minimum amount of time to wait till playing chat sounds when idle" + "editor_var chatter_max" "maximum amount of time to wait till playing chat sounds when idle" + "editor_var snd_chatter" "chat sound to play when idle" + + "editor_var chatter_combat_min" "minimum amount of time to wait till playing chat sounds when in combat" + "editor_var chatter_combat_max" "maximum amount of time to wait till playing chat sounds when in combat" + "editor_var snd_chatter_combat" "chat sound to play when in combat" + + "editor_var pain_delay" "How long to wait between pain animations before triggering another pain animation." + "editor_var pain_threshold" "How much damage monster has to recieve in one blow for it to play a pain animation." + + "editor_var damage_zone X" "List of bones that comprise damage zone 'X'. Pain anims are based on the name of the zone, for example: 'pain_chest', 'pain_rightleg_forward', etc. Directions are categorized as 'forward', 'left', 'right', or 'back'." + "editor_var damage_scale X" "How much to scale damage recieved to zone 'X'. For example 'damage_scale head' '10' would make head shots cause 10 times the normal amount of damage." + + "editor_var bone_leftEye" "Which bone to modify to adjust the left eye" + "editor_var bone_rightEye" "Which bone to modify to adjust the right eye" + "editor_var bone_focus" "Where the character's eyes are in his head" + + "editor_var look_min" "minimum angles for head looks" + "editor_var look_max" "maximum angles for head looks" + "editor_var look_joint jointname" "specifies the scale in 'pitch yaw roll' to modify the joint based on head looking. you can specify any number of joints to be affected by the head look. the scale of the joints that lead up to the head should always add up to 1 on yaw and pitch to ensure that the character looks directly at the player." + + "editor_var eye_turn_min" "min angular offset for eye joint before head has to turn." + "editor_var eye_turn_max" "max angular offset for eye joint before head has to turn." + "editor_var eye_verticle_offset" "verticle offset from the player's view that the character's eyes should focus on." + "editor_var eye_horizontal_offset" "horizontal offset from the player's view that the character's eyes should focus on. negative values bring eyes closer together." + "editor_var eye_focus_rate" "how quickly the eyes focus on a target" + "editor_var head_focus_rate" "how quickly the head focuses on a target" + "editor_var focus_align_time" "how long character should glance at the player before turning his head." + + "editor_var mtr_flashShader" "shader to use for muzzleflash" + "editor_var flashColor" "color of muzzleflash" + "editor_var flashRadius" "radius of muzzleflash" + "editor_var flashTime" "how long muzzleflash lasts" + + "editor_var use_aas" "extension of the aas file to use for navigation." + + "editor_var use_combat_bbox" "Use a bounding box for damage and not per-poly hit detection." + "editor_var offsetModel" "Vector to offset the visual model from the movement bounding box." + "editor_var def_attach" "Name of entityDef to attach to model. Set 'joint' in the attached entity def to the joint to attach to, and use 'origin' and 'angles' to offset it." + "editor_var head" "Name of entityDef to attach as character's head. Copies animation from certain bones into the head model." + + "editor_var eye_height" "The height off the ground of the character's eyes. All sight checks are done from this point. When set, overrides determining the height from the position of the eye joint." + "editor_var fov" "Character's field of view. Characters initially become aware of the player when he enters this cone. Also controls when the character sees the player as shootable. Character's will not use fov for sight checks after their initial wake up." + + "editor_var mtr_splat_flesh" "Material to use for blood splats." + "editor_var mtr_wound_flesh" "Material to use for wounds." + "editor_var smoke_wound_flesh" "Smoke effect to emit from wounds." + + "editor_var gravityDir" "Direction of gravity. Defines the character's concept of 'down'." + + "editor_var blockedRadius" "if monsters doesn't move this distance within blockedMoveTime, then mark monster blocked." + "editor_var blockedMoveTime" "# of milliseconds since last move before monster marked blocked" + "editor_var blockedAttackTime" "# of milliseconds since last attack before monster marked blocked" + + "blockedRadius" "10" + "blockedMoveTime" "750" + "blockedAttackTime" "750" + + "spawnclass" "idAI" + + "ambush" "0" + "wait" "0" + "team" "1" + "rank" "0" + "anim" "idle" + "on_activate" "sight" + "walk_on_sight" "0" + "def_projectile" "" + "attack_cone" "70" + "attack_accuracy" "0" + "melee_range" "0" + "projectile_height_to_distance_ratio" "0.9" + "chatter_min" "5" + "chatter_max" "10" + "chatter_combat_min" "3" + "chatter_combat_max" "7" + "turn_rate" "360" + "bleed" "1" + "pain_threshold" "1" + "blink_min" "2.5" + "blink_max" "8.0" + "talks" "0" + "look_min" "-80 -75 0" + "look_max" "80 75 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + "fov" "170" + "kick_force" "60" + "fx_teleport" "fx/teleporter.fx" + "fx_teleport1" "fx/teleporter1.fx" + "fx_teleport2" "fx/teleporter2.fx" + "fx_teleport3" "fx/teleporter3.fx" +} diff --git a/base/def/monster_demon_archvile.def b/base/def/monster_demon_archvile.def new file mode 100644 index 00000000..ff0d2846 --- /dev/null +++ b/base/def/monster_demon_archvile.def @@ -0,0 +1,315 @@ +/*********************************************************************** + + 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" +} diff --git a/base/def/monster_demon_cherub.def b/base/def/monster_demon_cherub.def new file mode 100644 index 00000000..43dc7d12 --- /dev/null +++ b/base/def/monster_demon_cherub.def @@ -0,0 +1,236 @@ +/*********************************************************************** + + monster_demon_cherub.def + +***********************************************************************/ + +export fred { + options -prefix CHERUB_ -sourcedir models/monsters/cherub/cycles -destdir models/md5/monsters/cherub + + anim crawl1.mb + anim crawl_pain_chest.mb + anim crawl_pain_left.mb + anim crawl_pain_right.mb + + addoptions -align ALL + + mesh cherub_mesh.mb -dest cherub + anim initial.mb + anim alert_idle.mb + anim sight1.mb + anim sight2.mb + anim walk1.mb + anim run1.mb + anim pain_head.mb + anim pain_chest.mb + anim pain_ruparm.mb + anim pain_luparm.mb + anim pain_tail.mb + anim attack1.mb + anim attack2.mb + anim attack3.mb + anim attack4.mb + anim playdead.mb + anim slowgetup.mb + anim slowgetup2.mb + anim crawl2.mb + anim evade_left.mb + anim evade_right.mb + anim leap_attack.mb -range 1 7 -dest jump_start + anim leap_attack.mb -range 8 22 -dest jump_loop + anim leap_attack.mb -range 27 56 -dest jump_end +} + +model monster_demon_cherub { + + mesh models/md5/monsters/cherub/cherub.md5mesh + channel torso ( *origin ) + + anim af_pose models/md5/monsters/cherub/initial.md5anim + anim initial models/md5/monsters/cherub/initial.md5anim + anim idle models/md5/monsters/cherub/playdead.md5anim + anim stand models/md5/monsters/cherub/playdead.md5anim + anim sight1 models/md5/monsters/cherub/sight1.md5anim { + frame 1 sound_voice snd_sight + frame 23 sound_body2 snd_step + + } + + anim walk models/md5/monsters/cherub/crawl1.md5anim { + + frame 11 sound_body2 snd_step + frame 24 sound_body2 snd_step + frame 37 sound_body2 snd_step + frame 52 sound_body2 snd_step + + } + + anim run models/md5/monsters/cherub/crawl2.md5anim { + + frame 3 sound_body2 snd_step + frame 5 sound_body2 snd_step + frame 22 sound_body2 snd_step + frame 24 sound_body2 snd_step + frame 64 sound_body2 snd_step + + } + + anim melee_attack1 models/md5/monsters/cherub/attack3.md5anim { + frame 1 call overrideLegs + frame 2 sound_item snd_attack + frame 7 sound_body2 snd_step + frame 8 sound_body2 snd_step + frame 15 sound_body2 snd_step + frame 28 melee melee_cherubLeftClaw + frame 33 melee melee_cherubRightClaw + } + + anim evade_left models/md5/monsters/cherub/evade_left.md5anim { + frame 1 sound_voice snd_chatter_combat + } + anim evade_right models/md5/monsters/cherub/evade_right.md5anim { + frame 1 sound_voice snd_chatter_combat + } + + anim pain models/md5/monsters/cherub/crawl_pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/cherub/crawl_pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/cherub/crawl_pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/cherub/crawl_pain_left.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/cherub/crawl_pain_right.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_legs models/md5/monsters/cherub/crawl_pain_left.md5anim { + frame 1 sound_voice snd_pain + } + + anim jump_start models/md5/monsters/cherub/jump_start.md5anim { + frame 1 sound_voice2 snd_flutter + frame 2 sound_body snd_attack + + } + anim jump_loop models/md5/monsters/cherub/jump_loop.md5anim { + frame 1 sound_voice snd_chatter_combat + } + anim jump_end models/md5/monsters/cherub/jump_end.md5anim { + frame 1 sound_voice2 snd_flutter + frame 4 sound_body2 snd_step + frame 5 sound_body2 snd_step + } +} + +/*********************************************************************** + +monster_demon_cherub + +***********************************************************************/ + + +entityDef monster_demon_cherub { + + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonCherub" + "size" "48 48 48" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "50" + "melee_range" "32" + "fly_offset" "-40" + "evade_rate" "5" + "model" "monster_demon_cherub" + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-chest" + + "chatter_combat_min" "1" + "chatter_combat_max" "3" + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Neck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Tail1 origin Body2" + "damage_scale head" "1.25" + + "group torso" "*Waist" + "group legs" "*Tail1 origin Body Body2" + "ragdoll" "monster_demon_cherub" + + "snd_sight" "monster_demon_cherub_sight" + "snd_attack" "monster_demon_cherub_attack" + "snd_pain" "monster_demon_cherub_pain" + "snd_death" "monster_demon_cherub_death" + "snd_chatter" "monster_demon_cherub_chatter" + "snd_chatter_combat" "monster_demon_cherub_chatter_combat" + "snd_step" "monster_demon_cherub_step" + "snd_flutter" "monster_demon_cherub_flutter" + "snd_ambient" "monster_demon_cherub_ambient" + "snd_burn" "monster_demon_tick_burn" +} + +entityDef melee_cherubLeftClaw { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 -1 0" + + // damage parameters + "damage" "5" + "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_cherubRightClaw { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 1 0" + "damage" "5" + "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 melee_cherubLeapAttack { + "snd_hit" "monster_demon_imp_melee_hit" + "kickDir" "1 0 0" + + // damage parameters + "damage" "12" + + "mtr_blob" "triteSmack" + "blob_time" "300" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "80" + + "kick_time" "500" + "kick_amplitude" "2" + + "dv_time" "350" +} diff --git a/base/def/monster_demon_d3xp_bruiser.def b/base/def/monster_demon_d3xp_bruiser.def new file mode 100644 index 00000000..790bd1ed --- /dev/null +++ b/base/def/monster_demon_d3xp_bruiser.def @@ -0,0 +1,112 @@ +/*********************************************************************** + + monster_demon_d3xp_bruiser.def + +***********************************************************************/ + +export James { + options -prefix B_ -keep Lknee Rknee -keep ROT -align movement -parent spine_1 ROT -parent ROT body -sourcedir models/monsters/d3xp_bruiser/cycles -destdir models/md5/monsters/d3xp_bruiser + + mesh d3xp_bruiser_mesh.mb -dest d3xp_bruiser + anim idle.mb + anim af_pose.mb + anim walk.mb + anim range_attack1.mb + anim pain_left.mb + anim pain_right.mb +} + +model monster_demon_d3xp_bruiser { + mesh models/md5/monsters/d3xp_bruiser/d3xp_bruiser.md5mesh + channel torso ( *spine_1 ) + channel legs ( *Hips origin body ROT ) + + anim af_pose models/md5/monsters/d3xp_bruiser/af_pose.md5anim + anim ik_pose models/md5/monsters/d3xp_bruiser/af_pose.md5anim + anim idle models/md5/monsters/d3xp_bruiser/idle.md5anim + anim stand models/md5/monsters/d3xp_bruiser/idle.md5anim + anim walk models/md5/monsters/d3xp_bruiser/walk.md5anim + anim pain_left_arm models/md5/monsters/d3xp_bruiser/pain_left.md5anim + anim pain_right_arm models/md5/monsters/d3xp_bruiser/pain_right.md5anim + anim range_attack1 models/md5/monsters/d3xp_bruiser/range_attack1.md5anim + + //anim teleport models/md5/monsters/d3xp_bruiser/teleport.md5anim + //anim turret_attack models/md5/monsters/d3xp_bruiser/range_attack2.md5anim + //anim melee_attack1 models/md5/monsters/d3xp_bruiser/attack1.md5anim + //anim melee_attack2 models/md5/monsters/d3xp_bruiser/attack2.md5anim + //anim melee_attack3 models/md5/monsters/d3xp_bruiser/attack3.md5anim + //anim melee_attack4 models/md5/monsters/d3xp_bruiser/attack4.md5anim + //anim evade_left models/md5/monsters/d3xp_bruiser/evade_left.md5anim + //anim evade_right models/md5/monsters/d3xp_bruiser/evade_right.md5anim + //anim pain models/md5/monsters/d3xp_bruiser/pain_chest1.md5anim + //anim pain_chest models/md5/monsters/d3xp_bruiser/pain_chest1.md5anim + //anim pain_head models/md5/monsters/d3xp_bruiser/pain_head1.md5anim + + //anim sight models/md5/monsters/d3xp_bruiser/sight2.md5anim + //anim af_pose models/md5/monsters/d3xp_bruiser/af_pose.md5anim + //anim ik_pose models/md5/monsters/d3xp_bruiser/af_pose.md5anim + +} + +entityDef monster_demon_d3xp_bruiser { + "inherit" "monster_default" + "model" "monster_demon_d3xp_bruiser" + //"scriptobject" "monster_demon_d3xp_bruiser" + //"ragdoll" "monster_demon_d3xp_bruiser" + "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_2" + "damage_zone chest" "*spine_1 -*r_clav -*l_clav -*neck_2" + "damage_zone left_arm" "*r_clav" + "damage_zone right_arm" "*l_clav" + "damage_scale head" "2" + "mass" "850" + + "ik_numLegs" "2" + "ik_footSize" "8" + "ik_footDownTrace" "64" + "ik_waist" "body" + "ik_hip1" "l_upleg" + "ik_hip2" "r_upleg" + "ik_knee1" "l_loleg" + "ik_knee2" "r_loleg" + "ik_ankle1" "l_leg" + "ik_ankle2" "r_leg" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "ik_foot1" + "ik_foot2" "ik_foot2" + + "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" "flame_r" + "smokeParticleSystem2" "flame_l" +} + diff --git a/base/def/monster_demon_hellknight.def b/base/def/monster_demon_hellknight.def new file mode 100644 index 00000000..e4207226 --- /dev/null +++ b/base/def/monster_demon_hellknight.def @@ -0,0 +1,392 @@ +/*********************************************************************** + + monster_demon_hellknight.def + +***********************************************************************/ + +export fred { + options -prefix HK2_ -keep lknee1 rknee1 SPINNER rmissile lmissile target forehead1 -parent rmissile rhand -parent lmissile lhand -parent waist SPINNER -parent SPINNER body2 -parent drool jaw -parent backtongue jaw -parent upsaliva head -parent losaliva jaw + + anim maps/fred/delta4/hkintro2.mb -range 617 644 -dest models/md5/cinematics/delta4/hkintro_hk2 + + anim maps/fred/delta4/hkthrowshaz2.mb -range 261 409 -dest models/md5/cinematics/delta4/hkintro_hkthrow2 -keepmesh hellknightmesh -keepmesh salivamesh -keepmesh droolmesh -keepmesh tonguemesh + + anim maps/fred/delta4/pooped.mb -range 182 500 -dest models/md5/cinematics/delta4/hkintro_hkpooped -keepmesh hellknightmesh -keepmesh salivamesh -keepmesh droolmesh -keepmesh tonguemesh -prefix HK_ + + + addoptions -prefix HK_ + + mesh models/monsters/hellknight/cycles/hellknight_mesh.mb -dest models/md5/monsters/hellknight/hellknight + anim models/monsters/combos/hk_throws_chainsawzombie_withcams.mb -dest models/md5/monsters/hellknight/hk_throws_chainsawzombie + anim maps/fred/caverns2/bridge2.mb -range 315 490 -dest models/md5/cinematics/caverns2/bridge_hellknight + anim maps/fred/site3/hkfloor.mb -range 1 1 -dest models/md5/cinematics/site3/floor_hkidle + anim maps/fred/site3/hkfloor.mb -range 1 186 -dest models/md5/cinematics/site3/floor_hk + anim maps/fred/delta4/hkintro.mb -range 1 384 -dest models/md5/cinematics/delta4/hkintro_hk_out + anim maps/fred/delta4/hkintro2.mb -range 617 644 -dest models/md5/cinematics/delta4/hkintro_hk1 + anim maps/fred/delta4/hkthrowshaz1.mb -range 182 260 -dest models/md5/cinematics/delta4/hkintro_hkgrab -keepmesh hellknightmesh -keepmesh salivamesh -keepmesh droolmesh -keepmesh tonguemesh + anim maps/fred/delta4/hkthrowshaz2.mb -range 261 409 -dest models/md5/cinematics/delta4/hkintro_hkthrow -keepmesh hellknightmesh -keepmesh salivamesh -keepmesh droolmesh -keepmesh tonguemesh + anim maps/fred/caverns2/hkwall.mb -range 1 120 -dest models/md5/cinematics/caverns2/breakwall + + addoptions -align All -sourcedir models/monsters/hellknight/cycles -destdir models/md5/monsters/hellknight + + anim initial.mb + anim ik_pose.mb + anim idle2.mb + anim stand.mb + + //anim walk5.mb + anim walk7.mb + anim walk7_left.mb + anim roar1.mb + + anim attack2.mb + anim attack3.mb + anim leftslash.mb + + anim range_attack2.mb + anim headpain.mb + anim chestpain.mb -dest chest + anim pain1.mb + anim pain2.mb + anim ruparmpain.mb -dest pain_ruparm + anim luparmpain.mb -dest pain_luparm + + anim turret_attack.mb + + +} + +model monster_demon_hellknight { + mesh models/md5/monsters/hellknight/hellknight.md5mesh + + channel torso ( *waist ) + channel legs ( *hips body body2 origin SPINNER ) + + anim af_pose models/md5/monsters/hellknight/initial.md5anim + anim ik_pose models/md5/monsters/hellknight/ik_pose.md5anim + + anim initial models/md5/monsters/hellknight/initial.md5anim + anim idle models/md5/monsters/hellknight/idle2.md5anim + anim stand models/md5/monsters/hellknight/stand.md5anim + + anim walk models/md5/monsters/hellknight/walk7.md5anim { + frame 13 sound_body snd_footstep + frame 13 sound_body2 snd_deepfs + frame 31 sound_body snd_footstep + frame 31 sound_body2 snd_deepfs + } + anim walk_left models/md5/monsters/hellknight/walk7_left.md5anim { + frame 13 sound_body snd_footstep + frame 13 sound_body2 snd_deepfs + frame 31 sound_body snd_footstep + frame 31 sound_body2 snd_deepfs + } + anim sight models/md5/monsters/hellknight/roar1.md5anim { + frame 1 sound_voice snd_sight2 + frame 19 sound_body snd_footstep + frame 19 sound_body2 snd_deepfs + frame 41 sound_body snd_footstep + frame 41 sound_body2 snd_deepfs + } + + anim pain models/md5/monsters/hellknight/pain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/hellknight/chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/hellknight/headpain.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/hellknight/pain_ruparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/hellknight/pain_luparm.md5anim { + frame 1 sound_voice snd_pain + } + + anim melee_attack1 models/md5/monsters/hellknight/attack2.md5anim { + + frame 11 sound_body snd_footstep + frame 11 sound_body2 snd_deepfs + frame 11 fx fx/hkwalk.fx + frame 14 melee melee_hellknight_bite + } + + anim melee_attack2 models/md5/monsters/hellknight/attack3.md5anim { + frame 17 sound_body snd_footstep + frame 17 sound_body2 snd_deepfs + frame 17 fx fx/hkwalk.fx + frame 17 melee melee_hellknightRightClaw + } + anim melee_attack3 models/md5/monsters/hellknight/leftslash.md5anim { + frame 7 sound_voice snd_chatter_combat + frame 17 melee melee_hellknightLeftClaw + } + anim range_attack1 models/md5/monsters/hellknight/range_attack2.md5anim { + frame 8 sound_body2 monster_demon_hellknight_fireball_create + frame 8 create_missile rmissile + frame 33 sound_body snd_footstep + frame 33 sound_body2 snd_deepfs + frame 33 fx fx/hkwalk.fx + //frame 34 sound_weapon snd_attackmissile + frame 34 launch_missile rmissile + frame 47 sound_body snd_footstep + frame 47 sound_body2 snd_deepfs + frame 47 fx fx/hkwalk.fx + frame 52 sound_voice snd_chatter_combat + } + + anim turret_attack models/md5/monsters/hellknight/turret_attack.md5anim { + frame 8 sound_body2 monster_demon_hellknight_fireball_create + frame 8 create_missile rmissile + frame 20 sound_weapon snd_attackmissile + frame 23 launch_missile rmissile + } + + + +} + +entityDef monster_demon_hellknight { + "editor_mins" "-48 -48 0" + "editor_maxs" "48 48 96" + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonHellknight" + "model" "monster_demon_hellknight" + "ragdoll" "monster_demon_hellknight" + "size" "94 94 96" + "use_aas" "aas96" + "team" "1" + "rank" "2" + "health" "900" //up from 700 Tim - 6/9/04 + "melee_range" "75" + "turn_rate" "100" + "def_projectile" "projectile_fireball_hellknight" + "attack_cone" "70" + "attack_accuracy" "0" + "mass" "600" + "pain_threshold" "25" + + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-chest" + + "ik_numLegs" "2" + "ik_footSize" "8" + "ik_minWaistAnkleDist" "30" + "ik_footUpTrace" "32" + "ik_footDownTrace" "64" + "ik_waist" "body" + "ik_hip1" "lupleg" + "ik_hip2" "rupleg" + "ik_knee1" "lloleg" + "ik_knee2" "rloleg" + "ik_ankle1" "lankle" + "ik_ankle2" "rankle" + "ik_dir1" "lknee1" + "ik_dir2" "rknee1" + "ik_foot1" "lfoot" + "ik_foot2" "rfoot" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Head" "0.4 0.4 0" + "look_joint LoNeck" "0.6 0.6 0" + + + "damage_zone head" "*neck" + "damage_zone chest" "*waist -*ruparm -*luparm -*neck" + "damage_zone left_arm" "*luparm" + "damage_zone right_arm" "*ruparm" + "damage_zone legs" "*hips" + "damage_scale head" "2" + + "anim" "idle" + + "snd_sight1" "monster_demon_hellknight_sight1" + "snd_sight2" "monster_demon_hellknight_sight2" + "snd_sight3" "monster_demon_hellknight_sight3" + "snd_chatter" "monster_demon_hellknight_chatter" + "snd_chatter_combat" "monster_demon_hellknight_chatter_combat" + "snd_pain" "monster_demon_hellknight_pain" + "snd_attackmissile" "monster_demon_hellknight_attackmissile" + "snd_death" "monster_demon_hellknight_die" + "snd_footstep" "monster_demon_hellknight_footstep" + "snd_deepfs" "hellknight_deepfs" + "snd_burn" "monster_demon_hellknight_burn" +} + +model delta1_hellknight { + inherit monster_demon_hellknight + anim throwchainsawzombie models/md5/monsters/hellknight/hk_throws_chainsawzombie.md5anim +} + +entityDef delta1_hellknight { + "inherit" "monster_demon_hellknight" + "model" "delta1_hellknight" + "anim" "throwchainsawzombie" +} + +entityDef damage_fireball_hellknight { + "damage" "30" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "10" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "smoke_wound_flesh" "bloodwound.smoke" +} + + +entityDef damage_fireball_hellknight_splash { + "damage" "45" + "radius" "120" +} + +entityDef projectile_fireball_hellknight { + "spawnclass" "idProjectile" + "mins" "-4 -4 -4" + "maxs" "4 4 4" + "cone" "3" + "model" "hellknight_fireball2.prt" + + "def_damage" "damage_fireball_hellknight" + "def_splash_damage" "damage_fireball_hellknight_splash" + + "launchFromBarrel" "1" + "health" "5" // amount of damage projectile can take if damaged (0 means it can't be destroyed) + "velocity" "475 0 -150" // how fast the projectile leaves the gun (or distance if fuse is 0) + "angular_velocity" "0 0 0" // how the projectile is rotating when it leaves the gun + "thrust" "0" // the rate of acceleration (always in the direction of the projectiles model) + "thrust_start" "0" // when to start accelerating + "thrust_end" "0" // when to stop accelerating + "linear_friction" "0" // "air" friction + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0" // how much speed a projectile retains when it bounces off of objects (coefficient of restitution). 0 means no bounce. + "mass" "5" + "gravity" "250" // how much gravity affects the trajectory. gravity direction is same as the entity that fired it. + "fuse" "20" // how long before the projectile is removed or self-detonates. Use 0 for beam weapons (velocity == distance). + + "detonate_on_fuse" "0" // whether projectile should detonate when it's fuse runs out + "detonate_on_death" "1" // whether projectile should detonate when it's "killed" (health runs out) + "detonate_on_world" "1" // whether projectile should detonate when it hits an obstacle + "detonate_on_actor" "1" // whether projectile should detonate when it hits a character in the game + + "impact_damage_effect" "0" // whether projectile causes blood splats from characters that bleed + "impact_gib" "1" // whether projectile can gib a character or not (for example: bullets don't gib, but rockets do) + + "mtr_detonate" "textures/decals/ballburn_plasma" + "decal_size" "75" + + "smoke_fly" "hellknight_trail.prt" // particle effect while in the air + "smoke_detonate" "" // particle effect when detonates + "smoke_residue" "" // particle effect while in the air + "smoke_bounce" "" // particle effect when bounces + "smoke_fuse" "" // particle effect when removed from fuse expiring + + // parametric particles -- temp + "model_detonate" "hellknight_explosion.prt" + + "debris_count" "3" + "def_debris" "debris_largeshrapnel" + "def_shrapnel" "debris_shrapnel" + + "mtr_light_shader" "lights/impflyflash" + "light_color" "0.1 0.6 0.9" + "light_radius" "160" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "lights/spawnflash" + "explode_light_color" "0.1 0.6 0.9" + "explode_light_radius" "320" + "explode_light_fadetime" "1" + + "snd_explode" "monster_demon_imp_fireball_explode" + "snd_fly" "monster_demon_imp_fireball_flight" // particle effect while in the air +} + +entityDef melee_hellknightLeftClaw { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 -1 0" + + // damage parameters + "damage" "25" + + "mtr_blob" "leftSlash" + "blob_time" "300" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "240" + + "kick_time" "400" + "kick_amplitude" "2" + + "dv_time" "100" +} + +entityDef melee_hellknightRightClaw { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 1 0" + + + "damage" "25" + + "mtr_blob" "rightSlash" + "blob_time" "300" + "blob_x" "-100" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "120" + + "kick_time" "400" + "kick_amplitude" "2" + + "dv_time" "100" +} + + + +entityDef melee_hellknight_bite { + "damage" "30" + "kickDir" "1 0 0" + + "snd_hit" "monster_demon_hellknight_melee_2" + "snd_miss" "monster_demon_hellknight_melee_2" + + "mtr_blob" "bite" + "blob_time" "600" + //"blob_size" "600" + //"blob_offset_x" "600" + + "blob_x" "0" + "blob_y" "-125" + "blob_width" "650" + "blob_height" "650" + + "knockback" "100" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" +} + + diff --git a/base/def/monster_demon_imp.def b/base/def/monster_demon_imp.def new file mode 100644 index 00000000..abd317d7 --- /dev/null +++ b/base/def/monster_demon_imp.def @@ -0,0 +1,777 @@ +/*********************************************************************** + + monster_demon_imp.def + +***********************************************************************/ + +export fred { + options -prefix IMP1_ -keep Lknee Rknee Lelbow Relbow camera Body -keep Rmissile Lmissile -parent Rmissile Rhand -parent Lmissile Lhand -parent Rwing Chest -parent Lwing Chest -parent Hips Body -parent Waist Body -parent camera Head + + anim maps/fred/impdoorbreak/impdoorbreak.mb -range 34 100 -dest models/md5/monsters/imp/imp1doorbreak -rotate 180 + anim maps/fred/admin/impcrawl.mb -range 1 52 -rotate -180 -dest models/md5/monsters/imp/imp1wallcrawl + anim maps/fred/underground/impscurry.mb -rotate 90 -dest models/md5/cinematics/underground/tunnelscurry -prefix IMP_ + anim maps/fred/underground/impstairs.mb -rotate 180 -dest models/md5/cinematics/underground/stairsimpcrawl -prefix IMP_ + + addoptions -prefix IMP2_ + + anim maps/fred/impdoorbreak/impdoorbreak.mb -range 34 125 -dest models/md5/monsters/imp/imp2doorbreak -rotate 180 + anim maps/fred/admin/impcrawl.mb -range 1 40 -dest models/md5/monsters/imp/imp2wallcrawl + + + //anim maps/fred/enpro/enpro_exit2.mb -range 1 510 -dest models/md5/cinematics/enpro/exitimp2a + + + //anim maps/fred/enpro/enpro_exit2.mb -range 1 321 -dest models/md5/cinematics/enpro/exitimp2a + anim maps/fred/enpro/enpro_exit2.mb -range 171 259 -dest models/md5/cinematics/enpro/exitimp2a + anim maps/fred/enpro/marine_battle_shot4.mb -range 350 420 -dest models/md5/cinematics/enpro/exitimp2b + anim maps/fred/enpro/enpro_exit2.mb -range 452 510 -dest models/md5/cinematics/enpro/exitimp2c + anim maps/fred/enpro/enpro_exit2.mb -range 741 979 -dest models/md5/cinematics/enpro/exitimp2 + + anim maps/fred/ceiling/ceiling2.mb -range 1 1 -dest models/md5/monsters/imp/ceilingimpidle -align ALL + anim maps/fred/ceiling/ceiling2.mb -dest models/md5/monsters/imp/ceilingimp -align ALL + + addoptions -prefix IMP_ + + anim maps/fred/alphalabs2/ed_death.mb -dest models/md5/cinematics/alphalabs2/edkiller + + anim maps/fred/marscity_2/imp_throws_marine_idle.mb -range 1 40 -rotate 90 -dest models/md5/cinematics/marscity_2/marinethrow_imp_idle + anim maps/fred/marscity_2/imp_throws_marine.mb -range 1 63 -rotate 90 -dest models/md5/cinematics/marscity_2/marinethrow_imp + anim maps/fred/marscity_2/mars_city2.mb -range 1 90 -dest models/md5/cinematics/marscity_2/impfeast_imp_loop + anim maps/fred/marscity_2/mars_city2.mb -range 91 170 -dest models/md5/cinematics/marscity_2/impfeast_imp + + anim maps/fred/alphalabs1/impscare.mb -dest models/md5/cinematics/alphalabs1/impscare + + anim maps/fred/underground/ending.mb -range 1 1 -dest models/md5/cinematics/underground/ending_impstart + anim maps/fred/underground/ending.mb -range 1 48 -dest models/md5/cinematics/underground/ending_imp + + //anim maps/fred/enpro/enpro_exit2.mb -range 741 979 -dest models/md5/cinematics/enpro/exitimp1 + + anim maps/fred/underground/impintro.mb -dest models/md5/cinematics/underground/impintro_imp + + anim maps/fred/delta2a/malimpcolumns.mb -range 1 1 -dest models/md5/monsters/imp/idlecolumn + anim maps/fred/delta2a/malimpcolumns.mb -dest models/md5/monsters/imp/leapdowncolumn + anim maps/fred/delta2a/malcageroom.mb -range 17 17 -dest models/md5/monsters/imp/idlecages + anim maps/fred/delta2a/malcageroom.mb -dest models/md5/monsters/imp/leapdowncages + anim maps/fred/delta2b/monster_tanks.mb -dest models/md5/monsters/imp/imptankidle + anim maps/fred/delta2b/monster_tanks_twitch.mb -range 23 97 -dest models/md5/monsters/imp/imptanktwitch + anim maps/fred/delta1/impdowncorner.mb -range 1 1 -dest models/md5/monsters/imp/d1corneridle + anim maps/fred/delta1/impdowncorner.mb -dest models/md5/monsters/imp/d1corner + + anim maps/fred/alphalabs2/elevator_attack.mb -range 1 195 -dest models/md5/monsters/imp/a2_elevator + anim maps/fred/caverns2/imprailing.mb -range 1 60 -dest models/md5/cinematics/caverns2/imp1railing + anim maps/fred/caverns2/imprailing2.mb -rotate -90 -range 1 90 -dest models/md5/cinematics/caverns2/imp2railing + + anim maps/james/mc_underground/impcrawl_armdoor.mb -dest models/md5/cinematics/underground/underground_impcrawl_arm + anim maps/james/alphalabs2/alphalabs2_impcrawl_armdoor.mb -dest models/md5/cinematics/alphalabs2/alphalabs2_impcrawl_arm + + addoptions -sourcedir models/monsters/imp/animation/cycles + addoptions -destdir models/md5/monsters/imp + anim offwall.ma -range 275 275 -dest offwallidle + anim offwall.ma + + addoptions -align ALL + + mesh imp.mb + + anim initial.ma + anim idle1.ma + anim mocapalert_idle.ma -rotate 90 + anim alert_walk.ma + anim sight.ma + anim sight2.ma + + anim walk1.ma -dest walk1 + anim faster_walk.ma + anim run.ma + anim on4_sight.ma + anim on4_idle.ma + anim on4_melee1.ma -xyzprecision 0.01 -quatprecision 0.00006 + anim on4_melee2.ma -xyzprecision 0.01 -quatprecision 0.00006 + anim evade_right.ma + anim evade_right_on4.ma + anim evade_left.ma + anim evade_left_on4.ma + anim scurry2.ma + anim scurry_leap2.ma -dest scurry_leap.md5anim + anim cabinet_leap.mb + + anim scurry_leap2.ma -range 1 19 -dest jump_start + anim jump_loop.ma + anim jump_loop2.ma + anim jump_loop3.ma + anim scurry_leap2.ma -range 30 48 -dest jump_end + anim scurry_stop.ma + anim pain3.ma + anim pain_head.ma + anim pain_head_on4.ma + anim pain_chest.ma + anim pain_chest_on4.ma + anim pain_luparm.ma + anim pain_luparm_on4.ma + anim pain_ruparm.ma + anim pain_ruparm_on4.ma + anim pain_legs.ma + anim turret_attack1.ma + anim turret_idle.ma + anim range1.ma + anim range2.ma + anim range3.ma + anim fireball_sight.ma -dest range4 + anim crouched_range1.ma + anim slash1.ma + anim slash2.ma + anim slash3.ma + anim teleportin.ma + anim hangonceiling.ma + + anim outofhole.ma -range 1 1 -dest outofholeidle + anim outofhole.ma + + anim kitchen.mb -range 1 1 -dest kitchenimpidle -sourcedir maps/fred/kitchen/ -destdir models/md5/monsters/imp/ + + anim kitchen.mb -dest kitchenimp -sourcedir maps/fred/kitchen/ -destdir models/md5/monsters/imp/ + + anim idle.mb -dest severedidle -rotate 180 -sourcedir models/monsters/zombie/zombie01/severed/ -destdir models/md5/monsters/imp/ + anim wake.mb -dest severedwake -rotate 180 -sourcedir models/monsters/zombie/zombie01/severed/ -destdir models/md5/monsters/imp/ + + anim monster_wakeups.mb -sourcedir maps/fred/cyberdemon -dest impcyberwakeup -prefix IMP1_ + +} + +model monster_demon_imp { + mesh models/md5/monsters/imp/imp.md5mesh + channel torso ( *chest ) + channel legs ( waist *Hips Body origin ) + + anim af_pose models/md5/monsters/imp/initial.md5anim + anim ik_pose models/md5/monsters/imp/initial.md5anim + + anim teleport models/md5/monsters/imp/teleportin.md5anim { + frame 4 sound_body snd_footstep + frame 21 sound_body snd_sight + } + anim initial models/md5/monsters/imp/initial.md5anim + anim crawl models/md5/monsters/imp/scurry2.md5anim { + frame 6 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 14 sound_body snd_footstep + frame 18 sound_body snd_footstep + } + anim crawl_idle models/md5/monsters/imp/on4_idle.md5anim { + frame 57 sound_chatter snd_alert_idle + frame 140 sound_chatter snd_alert_idle + } + anim stand models/md5/monsters/imp/idle1.md5anim + anim idle models/md5/monsters/imp/idle1.md5anim { + random_cycle_start + } + anim idle1 models/md5/monsters/imp/idle1.md5anim { + random_cycle_start + } + anim sight1 models/md5/monsters/imp/sight.md5anim { + frame 15 sound_body snd_sight + } + anim sight2 models/md5/monsters/imp/sight2.md5anim { + frame 13 sound_body snd_sight2 + } + anim walk models/md5/monsters/imp/walk1.md5anim { + random_cycle_start + frame 2 leftfoot + frame 19 rightfoot + } + anim run models/md5/monsters/imp/faster_walk.md5anim { + random_cycle_start + frame 13 leftfoot + frame 26 rightfoot + } + anim crawl_evade_left models/md5/monsters/imp/evade_left_on4.md5anim { + frame 1 sound_voice snd_pain + frame 14 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 16 sound_body snd_footstep + } + anim crawl_evade_right models/md5/monsters/imp/evade_right_on4.md5anim { + frame 1 sound_voice snd_pain + frame 13 sound_body snd_footstep + frame 14 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 16 sound_body snd_footstep + } + anim crawl_evade_left_noturn models/md5/monsters/imp/evade_left_on4.md5anim { + ai_no_turn + frame 1 sound_voice snd_pain + frame 14 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 16 sound_body snd_footstep + } + anim crawl_evade_right_noturn models/md5/monsters/imp/evade_right_on4.md5anim { + ai_no_turn + frame 1 sound_voice snd_pain + frame 13 sound_body snd_footstep + frame 14 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 16 sound_body snd_footstep + } + anim evade_left models/md5/monsters/imp/evade_left.md5anim { + frame 1 sound_voice snd_pain + frame 14 sound_body snd_footstep + frame 15 sound_body snd_footstep + } + anim evade_right models/md5/monsters/imp/evade_right.md5anim { + frame 1 sound_voice snd_pain + frame 13 sound_body snd_footstep + frame 14 sound_body snd_footstep + } + anim range_attack1 models/md5/monsters/imp/range1.md5anim { + frame 2 sound_weapon snd_createmissile + frame 2 create_missile RMissile + frame 22 sound_weapon snd_attackmissile + frame 22 launch_missile RMissile + } + anim range_attack2 models/md5/monsters/imp/range3.md5anim { + frame 11 sound_weapon snd_createmissile + frame 11 create_missile RMissile + frame 45 sound_weapon snd_attackmissile + frame 45 launch_missile RMissile + } + anim range_attack3 models/md5/monsters/imp/range4.md5anim { + frame 1 sound_body snd_sight + frame 2 sound_weapon snd_createmissile + frame 2 create_missile RMissile + frame 37 sound_weapon snd_attackmissile + frame 37 launch_missile RMissile + } + anim turret_attack1 models/md5/monsters/imp/turret_attack1.md5anim { + frame 1 sound_body snd_sight + frame 2 sound_weapon snd_createmissile + frame 2 create_missile RMissile + frame 22 sound_weapon snd_attackmissile + frame 22 launch_missile RMissile + } + anim turret_idle models/md5/monsters/imp/turret_idle.md5anim + + anim jump_start models/md5/monsters/imp/jump_start.md5anim { + frame 1 sound_voice snd_attackmelee_1 + } + anim jump_loop1 models/md5/monsters/imp/jump_loop.md5anim + anim jump_end models/md5/monsters/imp/jump_end.md5anim { + frame 1 sound_body snd_footstep + frame 3 sound_body snd_footstep + } + + anim melee_attack1 models/md5/monsters/imp/slash1.md5anim { + frame 1 sound_weapon snd_attackmelee_1 + frame 8 melee melee_impLeftClaw + frame 10 sound_body snd_footstep + frame 17 melee melee_impRightClaw + frame 19 sound_body snd_footstep + } + anim melee_attack2 models/md5/monsters/imp/slash2.md5anim { + frame 1 sound_weapon snd_attackmelee_2 + frame 4 sound_body snd_footstep + frame 9 melee melee_impLeftClaw + frame 11 sound_body snd_footstep + frame 21 sound_body snd_footstep + } + anim melee_attack3 models/md5/monsters/imp/slash3.md5anim { + frame 1 sound_weapon snd_attackmelee_2 + frame 6 melee melee_impRightClaw + frame 10 sound_body snd_footstep + } + anim pain_head models/md5/monsters/imp/pain_head.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/imp/pain_luparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/imp/pain_ruparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/imp/pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain models/md5/monsters/imp/pain3.md5anim { + frame 1 sound_voice snd_pain + } + anim leap_attack models/md5/monsters/imp/scurry_leap.md5anim { + frame 1 sound_voice snd_sight8 + frame 4 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 16 attack_begin melee_impLeapAttack + frame 28 attack_end + frame 30 sound_body snd_footstep + frame 32 sound_body snd_footstep + frame 38 sound_body snd_footstep + } + + anim roofcrawlidle models/md5/monsters/imp/ceilingimpidle.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + } + anim roofcrawl models/md5/monsters/imp/ceilingimp.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 117 enableGravity + frame 117 enableWalkIK + } + + anim ceilinghang models/md5/monsters/imp/hangonceiling.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + } + + anim zombie_feast models/md5/monsters/imp/severedidle.md5anim { + ai_no_turn + } + anim zombie_feast_wake models/md5/monsters/imp/severedwake.md5anim { + ai_no_turn + frame 6 sound_voice snd_chatter + } + + anim outofholeidle models/md5/monsters/imp/outofholeidle.md5anim { + frame 1 disableWalkIK + ai_no_turn + } + anim outofhole models/md5/monsters/imp/outofhole.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 12 sound_voice snd_chatter + frame 65 enableWalkIK + } + + anim offwallidle models/md5/monsters/imp/offwallidle.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 disableGravity + } + anim offwall models/md5/monsters/imp/offwall.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 disableGravity + frame 73 enableGravity + frame 73 enableWalkIK + } +} + +entityDef monster_demon_imp { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonImp" + "model" "monster_demon_imp" + "ragdoll" "monster_demon_imp" + + "size" "48 48 72" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "130" + "melee_damage" "35" + "melee_range" "40" + "def_projectile" "projectile_impfireball" + "attack_cone" "70" + "attack_accuracy" "0" + "offsetModel" "-8 0 0" + "anim" "idle1" + "mass" "200" + + "burnaway" ".5" + "smoke_burnParticleSystem" "burn_imp.prt-chest" + + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "ragdoll_slomoStart" "0" + "ragdoll_slomoEnd" "0" + + "damage_zone head" "*Neck" + "damage_zone chest" "*waist -*Rshldr -*Lshldr -*Neck" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips" + + "damage_scale head" "2" + + "snd_footstep" "monster_demon_imp_footstep" + "snd_sight" "monster_demon_imp_sight" + "snd_sight2" "monster_demon_imp_sight2" + "snd_sight8" "monster_demon_imp_sight8" + "snd_chatter" "monster_demon_imp_chatter" + "snd_chatter_combat" "monster_demon_imp_chatter_combat" + "snd_pain" "monster_demon_imp_pain" + "snd_attackmelee_1" "monster_demon_imp_attackmelee_1" + "snd_attackmelee_2" "monster_demon_imp_attackmelee_2" + "snd_death" "monster_demon_imp_die" + "snd_thud" "monster_demon_imp_thud" + "snd_createmissile" "monster_demon_imp_fireball_create" + "snd_attackmissile" "monster_demon_imp_fireball_throw" + "snd_alert_idle" "monster_demon_imp_alert_idle" + "snd_burn" "monster_demon_archvile_burn" +} + +model monster_demon_imp_crawler { + mesh models/md5/monsters/imp/imp.md5mesh + channel torso ( *chest ) + channel legs ( waist *Hips Body origin ) + + anim af_pose models/md5/monsters/imp/initial.md5anim + anim ik_pose models/md5/monsters/imp/on4_idle.md5anim + + anim stand models/md5/monsters/imp/on4_idle.md5anim { + frame 57 sound_chatter snd_alert_idle + frame 140 sound_chatter snd_alert_idle + } + anim teleport models/md5/monsters/imp/teleportin.md5anim { + frame 28 sound_body snd_sight + } + anim sight models/md5/monsters/imp/on4_sight.md5anim { + frame 5 sound_body snd_sight + } + anim idle models/md5/monsters/imp/on4_idle.md5anim { + frame 57 sound_chatter snd_alert_idle + frame 140 sound_chatter snd_alert_idle + } + anim run models/md5/monsters/imp/scurry2.md5anim { + frame 6 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 14 sound_body snd_footstep + frame 18 sound_body snd_footstep + } + anim walk models/md5/monsters/imp/scurry2.md5anim { + frame 6 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 14 sound_body snd_footstep + frame 18 sound_body snd_footstep + } + anim evade_left models/md5/monsters/imp/evade_left_on4.md5anim { + frame 14 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 16 sound_body snd_footstep + } + anim evade_right models/md5/monsters/imp/evade_right_on4.md5anim { + frame 13 sound_body snd_footstep + frame 14 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 16 sound_body snd_footstep + } + anim pain_head models/md5/monsters/imp/pain_head_on4.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/imp/pain_luparm_on4.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/imp/pain_ruparm_on4.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_legs models/md5/monsters/imp/pain_chest_on4.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/imp/pain_chest_on4.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain models/md5/monsters/imp/pain_chest_on4.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + + anim range_attack models/md5/monsters/imp/crouched_range1.md5anim { + frame 1 call overrideLegs + frame 2 sound_weapon snd_createmissile + frame 2 create_missile RMissile + frame 12 sound_weapon snd_attackmissile + frame 12 launch_missile RMissile + } + + anim jump_start models/md5/monsters/imp/jump_start.md5anim + anim jump_loop1 models/md5/monsters/imp/jump_loop.md5anim + anim jump_loop2 models/md5/monsters/imp/jump_loop2.md5anim + anim jump_loop3 models/md5/monsters/imp/jump_loop3.md5anim + anim jump_end models/md5/monsters/imp/jump_end.md5anim + + anim melee_attack1 models/md5/monsters/imp/on4_melee1.md5anim { + frame 1 call overrideLegs + frame 1 sound_weapon snd_attackmelee_1 + frame 11 melee melee_impRightClaw + } + anim melee_attack2 models/md5/monsters/imp/on4_melee2.md5anim { + frame 1 call overrideLegs + frame 1 sound_weapon snd_attackmelee_2 + frame 7 sound_body snd_footstep + frame 8 melee melee_impRightClaw + frame 14 melee melee_impLeftClaw + frame 17 sound_body snd_footstep + frame 22 sound_body snd_footstep + } +} + +entityDef monster_demon_imp_crawler { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonImp" + "model" "monster_demon_imp_crawler" + "ragdoll" "monster_demon_imp" + + "size" "48 48 72" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "130" + "melee_damage" "35" + "melee_range" "40" + "def_projectile" "projectile_impfireball" + "attack_cone" "70" + "attack_accuracy" "0" + "offsetModel" "-8 0 0" + "mass" "150" + + "burnaway" "0.50" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_hip3" "Luparm" + "ik_hip4" "Ruparm" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_knee3" "Lloarm" + "ik_knee4" "Rloarm" + "ik_ankle1" "Lankle_r" + "ik_ankle2" "Rankle_r" + "ik_ankle3" "Lhand" + "ik_ankle4" "Rhand" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_dir3" "Lelbow" + "ik_dir4" "Relbow" + "ik_foot1" "Lball_r" + "ik_foot2" "Rball_r" + "ik_foot3" "Lhand" + "ik_foot4" "Rhand" + + "damage_zone head" "*Neck" + "damage_zone chest" "*waist -*Rshldr -*Lshldr -*Neck" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips" + "damage_scale head" "1.25" + + "snd_footstep" "monster_demon_imp_footstep" + "snd_sight" "monster_demon_imp_sight" + "snd_sight2" "monster_demon_imp_sight2" + "snd_sight8" "monster_demon_imp_sight8" + "snd_chatter" "monster_demon_imp_chatter" + "snd_chatter_combat" "monster_demon_imp_chatter_combat" + "snd_pain" "monster_demon_imp_pain" + "snd_attackmelee_1" "monster_demon_imp_attackmelee_1" + "snd_attackmelee_2" "monster_demon_imp_attackmelee_2" + "snd_death" "monster_demon_imp_die" + "snd_thud" "monster_demon_imp_thud" + "snd_createmissile" "monster_demon_imp_fireball_create" + "snd_attackmissile" "monster_demon_imp_fireball_throw" + "snd_alert_idle" "monster_demon_imp_alert_idle" + "snd_burn" "monster_demon_tick_burn" +} + +entityDef damage_impfireball { + "damage" "12" + "kickDir" "1 0 0" + "push" "500" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + + "knockback" "10" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "smoke_wound_flesh" "bloodwound.smoke" +} + +entityDef damage_impfireball_splash { + "damage" "5" + "radius" "50" + "push" "5000" +} + +entityDef projectile_impfireball { + "spawnclass" "idProjectile" + "mins" "-4 -4 -4" + "maxs" "4 4 4" + "cone" "3" + "model" "impfireball2.prt" + + "def_damage" "damage_impfireball" + "def_splash_damage" "damage_impfireball_splash" + + "launchFromBarrel" "1" + "health" "5" // amount of damage projectile can take if damaged (0 means it can't be destroyed) + "velocity" "475 0 -150" // how fast the projectile leaves the gun (or distance if fuse is 0) + "angular_velocity" "0 0 0" // how the projectile is rotating when it leaves the gun + "thrust" "0" // the rate of acceleration (always in the direction of the projectiles model) + "thrust_start" "0" // when to start accelerating + "thrust_end" "0" // when to stop accelerating + "linear_friction" "0" // "air" friction + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0" // how much speed a projectile retains when it bounces off of objects (coefficient of restitution). 0 means no bounce. + "mass" "5" + "gravity" "250" // how much gravity affects the trajectory. gravity direction is same as the entity that fired it. + "fuse" "20" // how long before the projectile is removed or self-detonates. Use 0 for beam weapons (velocity == distance). + + "detonate_on_fuse" "0" // whether projectile should detonate when it's fuse runs out + "detonate_on_death" "1" // whether projectile should detonate when it's "killed" (health runs out) + "detonate_on_world" "1" // whether projectile should detonate when it hits an obstacle + "detonate_on_actor" "1" // whether projectile should detonate when it hits a character in the game + + "impact_damage_effect" "0" // whether projectile causes blood splats from characters that bleed + "impact_gib" "1" // whether projectile can gib a character or not (for example: bullets don't gib, but rockets do) + + "mtr_detonate" "textures/decals/ballburn01" + "decal_size" "75" + + "smoke_fly" "imp_trail2.prt" // particle effect while in the air + "smoke_detonate" "" // particle effect when detonates + "smoke_residue" "" // particle effect while in the air + "smoke_bounce" "" // particle effect when bounces + "smoke_fuse" "" // particle effect when removed from fuse expiring + + // parametric particles -- temp + "model_detonate" "imp_explosion.prt" + + "debris_count" "3" + "def_debris" "debris_largeshrapnel" + "def_shrapnel" "debris_shrapnel" + + "mtr_light_shader" "lights/impflyflash" + "light_color" "0.9 0.7 0.05" + "light_radius" "160" + "light_offset" "0 0 0" + + + "mtr_explode_light_shader" "lights/impflash" + "explode_light_color" "3.6 3.0 0.5" + "explode_light_radius" "320" + "explode_light_fadetime" "1.0" + + "snd_explode" "monster_demon_imp_fireball_explode" + "snd_fly" "monster_demon_imp_fireball_flight" // particle effect while in the air +} + +entityDef melee_impLeapAttack { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "kickDir" "1 0 0" + + // damage parameters + "damage" "8" + + "mtr_blob" "leftSlash" + "blob_time" "300" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "100" + + "kick_time" "800" + "kick_amplitude" "2" + + "dv_time" "400" +} + +entityDef melee_impLeftClaw { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 -1 0" + + // damage parameters + "damage" "8" + + "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_impRightClaw { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 1 0" + + "damage" "8" + + "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" +} + +model monster_demon_imp_crawl_armdoor { + mesh models/md5/monsters/imp/imp.md5mesh + anim alphalabs2_impcrawl_arm models/md5/cinematics/alphalabs2/alphalabs2_impcrawl_arm.md5anim { + frame 2 sound_body snd_sight5 + } + anim underground_impcrawl_arm models/md5/cinematics/underground/underground_impcrawl_arm.md5anim { + frame 57 sound_body snd_sight + frame 75 sound_body snd_sight2 + frame 110 sound_body snd_sight3 + frame 128 sound_body snd_sight4 + } +} + +entityDef monster_demon_imp_crawl_armdoor { + "inherit" "cin_base" + "model" "monster_demon_imp_crawl_armdoor" + "anim" "underground_impcrawl_arm" + + "snd_sight" "mcu_imp_teh_angar" + "snd_sight2" "mcu_imp_teh_angar2" + "snd_sight3" "mcu_imp_teh_angar3" + "snd_sight4" "mcu_imp_skulkaway" + "snd_sight5" "monster_demon_imp_sight2_loud" +} diff --git a/base/def/monster_demon_maggot.def b/base/def/monster_demon_maggot.def new file mode 100644 index 00000000..79ac880d --- /dev/null +++ b/base/def/monster_demon_maggot.def @@ -0,0 +1,333 @@ +/*********************************************************************** + + monster_demon_maggot.def + +***********************************************************************/ + +export fred { + + options -prefix MAGGOT2_ + + anim magintro.mb -dest maggot1 -sourcedir maps/fred/alphalabs1 -destdir models/md5/cinematics/alphalabs1 + anim hydrocon_n_ceiling_mags.mb -dest hydromag -sourcedir maps/fred/alphalabs1 -destdir models/md5/cinematics/alphalabs1 + + addoptions -prefix MAGGOT3_ + + anim magintro.mb -dest maggot2 -sourcedir maps/fred/alphalabs1 -destdir models/md5/cinematics/alphalabs1 + + anim elevator_attack.mb -dest a2_elevator -sourcedir maps/fred/alphalabs2 -destdir models/md5/monsters/maggot3 + + addoptions -align ALL + + anim hydrocon_n_ceiling_mags.mb -range 1 30 -dest oneninetytwoceiling -sourcedir maps/fred/alphalabs1 -destdir models/md5/monsters/maggot3 + + + addoptions -sourcedir models/monsters/maggot/mag3cycles + addoptions -destdir models/md5/monsters/maggot3 + + + mesh maggot_mesh.mb -dest maggot3 + + anim idle.mb + anim sight.mb + anim walk.mb + anim walk2.mb + anim run.mb + anim run2.mb -range 32 38 -dest jump_start + anim run2.mb -range 39 42 -dest jump_loop + anim run2.mb -range 43 56 -dest jump_end + anim run3.mb + + anim leftclawattack.mb + anim righthandsattack.mb + anim tongueattack.mb + + anim pain_chest.mb + anim pain_leftarm.mb + anim pain_rightarm.mb + + anim pain_chest2.mb + anim pain_leftarm2.mb + anim pain_rightarm2.mb + + anim evade_left.mb + anim evade_right.mb + + anim af_pose.mb + + anim getup.mb + anim range_attack1.mb + anim outofhole.mb + anim outofhole2.mb + anim outofhole3.mb + anim monster_wakeups.mb -sourcedir maps/fred/cyberdemon -dest magcyberwakeup -prefix MAG_ + + anim teleportin.mb -xyzprecision 0.01 -quatprecision 0.00006 + + addoptions -prefix MAGGOT2_ + + anim downwall.mb -range 345 429 -dest maggotdownwall + +} + +model monster_demon_maggot { + mesh models/md5/monsters/maggot3/maggot3.md5mesh + channel torso ( *origin -*Hips -origin -Torso ) + channel legs ( *Hips origin Torso ) + anim af_pose models/md5/monsters/maggot3/af_pose.md5anim + anim idle models/md5/monsters/maggot3/idle.md5anim + anim stand models/md5/monsters/maggot3/idle.md5anim + anim teleport models/md5/monsters/maggot3/teleportin.md5anim + anim sight models/md5/monsters/maggot3/sight.md5anim { + frame 14 sound_voice snd_sight + frame 19 sound_body snd_sight + } + //anim sight2 models/md5/monsters/maggot3/getup.md5anim + anim walk1 models/md5/monsters/maggot3/walk.md5anim { + frame 9 sound_body snd_footstep + frame 12 sound_body snd_footstep + frame 18 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 27 sound_body snd_footstep + } + anim walk2 models/md5/monsters/maggot3/walk2.md5anim { + frame 11 sound_body snd_footstep + frame 13 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 19 sound_body snd_footstep + frame 20 sound_body snd_footstep + } + anim run models/md5/monsters/maggot3/run3.md5anim { + frame 9 sound_body snd_footstep + frame 12 sound_body snd_footstep + frame 18 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 27 sound_body snd_footstep + } + anim melee_attack1 models/md5/monsters/maggot3/leftclawattack.md5anim { + //frame 1 sound_weapon snd_attack_1 + frame 12 sound_weapon snd_attack_1 + //frame 12 sound_weapon snd_attackmelee_2 + //frame 12 sound_voice snd_melee + //frame 12 sound_voice snd_melee2 + frame 19 sound_body snd_footstep + frame 20 melee melee_magLeftClaw + frame 29 sound_body snd_footstep + } + /* + FIXME: missing anim + anim melee_attack2 models/md5/monsters/maggot3/backslash.md5anim { + //frame 12 sound_weapon snd_attackmelee_2 + frame 26 melee melee_magRightClaw + frame 31 sound_voice snd_melee + frame 31 sound_voice snd_melee2 + frame 32 melee melee_magLeftClaw + } + */ + anim melee_attack3 models/md5/monsters/maggot3/righthandsattack.md5anim { + //frame 1 sound_weapon snd_attack_3 + frame 12 sound_weapon snd_attack_3 + //frame 12 sound_weapon snd_attackmelee_2 + frame 17 melee melee_magRightClaw + frame 18 melee melee_magRightClaw + //frame 19 sound_voice snd_melee + //frame 19 sound_voice snd_melee2 + } + anim melee_attack4 models/md5/monsters/maggot3/tongueattack.md5anim { + //frame 1 sound_weapon snd_attackmelee_2 + frame 14 sound_weapon snd_attack_4 + frame 21 attack_begin melee_magRightClaw + frame 31 attack_end + } + anim evade_left models/md5/monsters/maggot3/evade_left.md5anim { + frame 1 call overrideTorso + frame 1 sound_voice snd_evade_left + } + anim evade_right models/md5/monsters/maggot3/evade_right.md5anim { + frame 1 call overrideTorso + frame 1 sound_voice snd_evade_right + } + //anim range_attack models/md5/monsters/maggot3/range_attack1.md5anim + + anim jump_start models/md5/monsters/maggot3/jump_start.md5anim { + frame 1 sound_voice snd_attack_4 + + } + anim jump_loop models/md5/monsters/maggot3/jump_loop.md5anim + anim jump_end models/md5/monsters/maggot3/jump_end.md5anim + + anim pain models/md5/monsters/maggot3/pain_chest2.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/maggot3/pain_chest2.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/maggot3/pain_chest2.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/maggot3/pain_rightarm2.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/maggot3/pain_leftarm2.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim pain_legs models/md5/monsters/maggot3/pain_chest2.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + } + anim outofhole1 models/md5/monsters/maggot3/outofhole.md5anim { + ai_no_turn + frame 1 sound_voice snd_chatter + frame 35 sound_voice2 snd_sight + } + anim outofhole2 models/md5/monsters/maggot3/outofhole2.md5anim { + ai_no_turn + frame 1 sound_voice snd_chatter + } + anim outofhole3 models/md5/monsters/maggot3/outofhole3.md5anim { + ai_no_turn + frame 1 sound_voice snd_chatter + } + anim downwall models/md5/monsters/maggot3/maggotdownwall.md5anim { + ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 82 enableGravity + frame 82 enableWalkIK + } + anim ceiling192 models/md5/monsters/maggot3/oneninetytwoceiling.md5anim { + frame 1 disableGravity + frame 1 disableWalkIK + frame 14 enableGravity + frame 14 enableWalkIK + } + + + +} + +entityDef monster_demon_maggot { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonMaggot" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "80" + "melee_range" "48" + "turn_rate" "360" + "mass" "200" + + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-chest" + + "ragdoll" "monster_demon_maggot" + "model" "monster_demon_maggot" + "anim" "idle" + "skin_dropDeath" "skins/models/monsters/magnospikes.skin" + + "bone_focus" "Shoulders" + + "damage_zone head" "*Shoulders" + "damage_zone chest" "*Waist -*Rshldr -*Lshldr -*Shoulders" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips" + + "damage_scale head" "1.5" + + "snd_attack_1" "monster_demon_maggot_attack1" + "snd_attack_3" "monster_demon_maggot_attack3" + "snd_attack_4" "monster_demon_maggot_attack4" + "snd_evade_right" "monster_demon_maggot_evade_right" + "snd_evade_left" "monster_demon_maggot_evade_left" + //"snd_idle" "monster_demon_maggot_idle" + "snd_chatter" "monster_demon_maggot_idle" + "snd_chatter_combat" "monster_demon_maggot_idle" + + + + "snd_sight" "monster_demon_maggot_sight" + "snd_sight2" "monster_demon_maggot_sight" + "snd_footstep" "monster_demon_maggot_footstep" + "snd_melee" "monster_demon_maggot_melee" + "snd_melee2" "monster_demon_maggot_melee2" + //"snd_chatter" "monster_demon_maggot_chatter" + //"snd_chatter_combat" "monster_demon_maggot_chatter" + + "snd_pain" "monster_demon_maggot_pain" + "snd_death" "monster_demon_maggot_die" + "snd_burn" "monster_demon_tick_burn" +} + +entityDef melee_magLeftClaw { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 -1 0" + + + // damage parameters + "damage" "6" + + "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_magRightClaw { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 1 0" + + "damage" "6" + + "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 melee_maggotLeapAttack { + // melee specific parameters + "snd_hit" "monster_demon_maggot_melee_hit" + "kickDir" "1 0 0" + + // damage parameters + "damage" "16" + "mtr_blob" "leftSmack" + "blob_time" "300" + "blob_x" "50" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + "knockback" "100" + "kick_time" "800" + "kick_amplitude" "2" + "dv_time" "400" +} diff --git a/base/def/monster_demon_mancubus.def b/base/def/monster_demon_mancubus.def new file mode 100644 index 00000000..fe1b9167 --- /dev/null +++ b/base/def/monster_demon_mancubus.def @@ -0,0 +1,285 @@ +/*********************************************************************** + + monster_demon_mancubus.def + +***********************************************************************/ + +export james { + + options -prefix MANC_ -keep Lknee Rknee -keep ROT Rmissile Lmissile -parent Rmissile Rloarm -parent Lmissile Lloarm -parent Waist ROT -parent ROT Body + + anim maps/james/recycling2.mb -dest models/md5/cinematics/recycling2/mancintro_manc + + + options -prefix MANC_ -keep Lknee Rknee -align movement -keep ROT Rmissile Lmissile -parent Rmissile Rloarm -parent Lmissile Lloarm -parent Waist ROT -parent ROT Body -sourcedir models/monsters/mancubus/cycles -destdir models/md5/monsters/mancubus/james + + + mesh mancubus_mesh.mb -dest mancubus + anim af_pose.mb + anim walk.mb + anim idle.mb + anim teleport.mb + anim pain.mb + anim pain_head.mb + anim pain_chest.mb + anim pain_ruparm.mb + anim pain_luparm.mb + anim sight1.mb + anim multifire1.mb + anim multifire1_start.mb + anim multifire1_end.mb + anim multifire2.mb + anim multifire2.mb -dest multifire3 + anim fire1.mb + anim fire2.mb + anim fire3.mb + anim fire4.mb + anim attack1.mb +} + +model monster_demon_mancubus { + mesh models/md5/monsters/mancubus/james/mancubus.md5mesh + channel torso ( *Waist ) + channel legs ( *origin Body ROT -*Waist ) + + anim af_pose models/md5/monsters/mancubus/james/af_pose.md5anim + anim ik_pose models/md5/monsters/mancubus/james/af_pose.md5anim + + anim idle models/md5/monsters/mancubus/james/idle.md5anim + anim stand models/md5/monsters/mancubus/james/idle.md5anim + anim teleport models/md5/monsters/mancubus/james/teleport.md5anim { + frame 5 sound_body snd_footstep + frame 15 sound_voice snd_sight + } + + anim walk models/md5/monsters/mancubus/james/walk.md5anim { + frame 11 sound_body snd_footstep + frame 26 sound_body snd_footstep + } + + anim pain models/md5/monsters/mancubus/james/pain.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_head models/md5/monsters/mancubus/james/pain_head.md5anim { + frame 1 sound_voice snd_pain + } + +/* + anim turret_attack1 models/md5/monsters/mancubus/james/fire1.md5anim { + frame 1 call overrideLegs + frame 12 sound_weapon snd_attackmissile + frame 12 launch_missile Lmissile + } + + anim turret_attack2 models/md5/monsters/mancubus/james/fire2.md5anim { + frame 1 call overrideLegs + frame 12 sound_weapon snd_attackmissile + frame 12 launch_missile Rmissile + } + + anim turret_attack3 models/md5/monsters/mancubus/james/multifire2.md5anim { + frame 1 call overrideLegs + frame 12 launch_missile Lmissile + frame 12 sound_weapon snd_attackmissile + frame 23 launch_missile Rmissile + frame 23 sound_weapon snd_attackmissile + frame 38 launch_missile Lmissile + frame 38 sound_weapon snd_attackmissile + } + + anim turret_attack4 models/md5/monsters/mancubus/james/fire3.md5anim { + frame 1 call overrideLegs + frame 12 sound_weapon snd_attackmissile + frame 12 launch_missile Lmissile + } + + anim turret_attack5 models/md5/monsters/mancubus/james/fire4.md5anim { + frame 1 call overrideLegs + frame 12 sound_weapon snd_attackmissile + frame 12 launch_missile Rmissile + } + +*/ + + anim pain_chest models/md5/monsters/mancubus/james/pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/mancubus/james/pain_ruparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/mancubus/james/pain_luparm.md5anim { + frame 1 sound_voice snd_pain + } + anim sight1 models/md5/monsters/mancubus/james/sight1.md5anim { + frame 1 sound_voice snd_sight + } + + anim range_attack_start models/md5/monsters/mancubus/james/multifire1_start.md5anim + anim range_attack_loop models/md5/monsters/mancubus/james/multifire1.md5anim { + frame 3 launch_missile Lmissile + frame 3 sound_weapon snd_attackmissile + frame 19 launch_missile Rmissile + frame 19 sound_weapon snd_attackmissile + } + anim range_attack_end models/md5/monsters/mancubus/james/multifire1_end.md5anim + + anim melee_attack1 models/md5/monsters/mancubus/james/attack1.md5anim { + frame 16 melee melee_mancubus_stomp + frame 16 sound_body snd_footstep + frame 17 sound_body snd_footstep + } + +} + +entityDef monster_demon_mancubus { + "editor_mins" "-61 -61 0" + "editor_maxs" "61 61 96" + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonMancubus" + "model" "monster_demon_mancubus" + "ragdoll" "monster_demon_mancubus2" + "size" "122 122 96" + "use_aas" "aas_mancubus" + "team" "1" + "rank" "2" + "health" "1000" + "melee_range" "90" + "def_projectile" "projectile_mancubus_rocket" + "smoke_weapon" "cgsmoke.smoke" + "turn_rate" "120" + "chatter_min" "3" + "chatter_max" "3" + "attack_cone" "30" + "attack_accuracy" "0.5" + "pain_threshold" "16" + "on_activate_blend" "2" + + "damage_zone head" "*Loneck" + "damage_zone chest" "*Waist -*Ruparm -*Luparm -*Loneck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Lupleg *Rupleg origin" + "damage_scale head" "1.5" + "mass" "800" + + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_manc.prt-waist" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_ankle1" "Lfoot" + "ik_ankle2" "Rfoot" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "Lfoot" + "ik_foot2" "Rfoot" + + "snd_sight" "monster_demon_mancubus_sight" + "snd_chatter" "monster_demon_mancubus_chatter" + "snd_chatter_combat" "monster_demon_mancubus_chatter_combat" + "snd_pain" "monster_demon_mancubus_pain" + "snd_attackmissile" "monster_demon_mancubus_attackmissle" + "snd_death" "monster_demon_mancubus_die" + "snd_footstep" "monster_demon_mancubus_step" + "snd_burn" "monster_demon_mancubus_burn" +} + +entityDef damage_mancubusblast { + "damage" "20" + "smoke_wound_flesh" "bloodwound.smoke" + "snd_flesh" "bullet_impact_flesh" +} + +entityDef damage_mancubusSplash { + "damage" "20" + "radius" "40" + "knockback" "30" + "push" "200" +} + +entityDef projectile_mancubus_rocket { + "spawnclass" "idProjectile" + "mins" "-8 -8 -8" + "maxs" "8 8 8" + "cone" "3" + "model" "manc_fireball.prt" + + "bindOnImpact" "0" + + "def_damage" "damage_mancubusblast" + "def_splash_damage" "damage_mancubusSplash" + + "launchFromBarrel" "1" + "health" "0" // amount of damage projectile can take if damaged (0 means it can't be destroyed) + "velocity" "700 0 0" // how fast the projectile leaves the gun (or distance if fuse is 0) + "random_shader_spin" "1" // sets shader parm 5 which if appropriate the projectile shader will use this as an alternating spin + "angular_velocity" "0 0 0" // how the projectile is rotating when it leaves the gun + "thrust" "0" // the rate of acceleration (always in the direction of the projectiles model) + "thrust_start" "0" // when to start accelerating + "thrust_end" "0" // when to stop accelerating + "linear_friction" "0" // "air" friction + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0" // how much speed a projectile retains when it bounces off of objects (coefficient of restitution). 0 means no bounce. + "mass" "100" + "gravity" "0" // how much gravity affects the trajectory. gravity direction is same as the entity that fired it. + "fuse" "10" // how long before the projectile is removed or self-detonates. Use 0 for beam weapons (velocity == distance). + + "detonate_on_fuse" "0" // whether projectile should detonate when it's fuse runs out + "detonate_on_death" "1" // whether projectile should detonate when it's "killed" (health runs out) + "detonate_on_world" "1" // whether projectile should detonate when it hits an obstacle + "detonate_on_actor" "1" // whether projectile should detonate when it hits a character in the game + + "impact_damage_effect" "1" // whether projectile causes blood splats from characters that bleed + "impact_gib" "1" // whether projectile can gib a character or not (for example: bullets don't gib, but rockets do) + + "mtr_detonate" "textures/decals/ballburn01" + "decal_size" "70" + + //"smoke_fly" "plasmatrail.smoke" // particle effect while in the air + "smoke_detonate" "" // particle effect when detonates + "smoke_residue" "" // particle effect while in the air + "smoke_bounce" "" // particle effect when bounces + "smoke_fuse" "" // particle effect when removed from fuse expiring + + "model_detonate" "manc_explosion.prt" + +// "mtr_light_shader" "" +// "light_color" "0 0 0.8" +// "light_radius" "160" +// "light_offset" "-8 0 0" + +// "mtr_explode_light_shader" "muzzleflash" +// "explode_light_color" "0 0 1" +// "explode_light_radius" "160" +// "explode_light_fadetime" "0.25" + + "snd_fly" "monster_demon_imp_fireball_flight" // sound effect while in the air + "snd_explode" "monster_demon_imp_fireball_explode" +} + +entityDef melee_mancubus_stomp { + "damage" "40" + "kickDir" "1 0 -1" + "blob_time" "600" + //"blob_size" "600" + //"blob_offset_x" "600" + "mtr_blob" "leftSmack" + "blob_x" "50" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + "knockback" "80" + "kick_time" "400" + "kick_amplitude" "1" + "dv_time" "100" +} diff --git a/base/def/monster_demon_pinky.def b/base/def/monster_demon_pinky.def new file mode 100644 index 00000000..da29d22b --- /dev/null +++ b/base/def/monster_demon_pinky.def @@ -0,0 +1,298 @@ +/*********************************************************************** + + monster_demon_pinky.def + +***********************************************************************/ + +export fred { + + options -prefix PINKY_ -rename Waist Waist1 -rename LoNeck Waist -parent drool Mouth_Piece + + anim maps/fred/caverns2/pinkywake.mb -rotate -90 -range 1 1 -dest models/md5/cinematics/caverns2/pinkywakeidle + anim maps/fred/caverns2/pinkywake.mb -rotate -90 -dest models/md5/cinematics/caverns2/pinkywake + anim maps/fred/intro/intro.mb -range 1 1220 -dest models/md5/cinematics/intro/pinky_intro + + options -prefix PINKY_ -align ALL -rename Waist Waist1 -rename LoNeck Waist -parent drool Mouth_Piece -sourcedir models/monsters/pinky/animation/cycles -destdir models/md5/monsters/pinky + + mesh pinky_mesh.mb -dest pinky + anim teleportin.ma + anim initial.ma + anim idle1.ma + anim roar.ma + anim roar2.ma + anim roar3.ma + anim walk.ma + anim run.ma -cycleStart 26 + anim evade_left.ma + anim evade_right.ma + anim leap_attack.ma + anim attack.ma -range 1 17 + anim attack2.ma -range 1 17 + anim attack3.ma + anim attack4.ma + anim pain_head3.ma + anim pain_luparm3.ma + anim pain_ruparm3.ma + anim misc1.ma -dest delta2a_awake + anim stand.ma + + anim pipes_bust2.mb -range 1 151 -dest pipepinkanim -sourcedir maps/fred/wall + anim pipes_bust2.mb -range 1 3 -dest pipepinkidle -sourcedir maps/fred/wall + + anim glassbreak.mb -rotate 90 -range 1 1 -dest glassbreak_idle -sourcedir models/monsters/pinky/animation/cinematics + anim glassbreak.mb -rotate 90 -range 1 85 -dest glassbreak -sourcedir models/monsters/pinky/animation/cinematics +} + +model monster_demon_pinky { + mesh models/md5/monsters/pinky/pinky.md5mesh + + channel torso ( *Waist ) + channel legs ( *Waist1 *Chest -*Waist Body origin ) + + anim af_pose models/md5/monsters/pinky/initial.md5anim + + anim teleport models/md5/monsters/pinky/teleportin.md5anim { + frame 1 sound_voice snd_sight1 + frame 2 sound_voice snd_admin_handstep + frame 2 sound_voice snd_admin_handstep + frame 15 sound_voice snd_admin_handstep + frame 23 sound_voice snd_admin_handstep + frame 30 sound_voice snd_sight1 + } + anim initial models/md5/monsters/pinky/initial.md5anim + anim stand models/md5/monsters/pinky/stand.md5anim + anim idle models/md5/monsters/pinky/idle1.md5anim { + frame 1 sound_body snd_idle + frame 1 sound_item snd_breath + } + anim sight1 models/md5/monsters/pinky/roar.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 8 sound_voice snd_sight1 + } + anim walk models/md5/monsters/pinky/run.md5anim { + frame 1 sound_item snd_breath + frame 7 sound_body snd_gear + frame 10 sound_body2 snd_footstep + frame 11 sound_body snd_handstep + frame 17 sound_body snd_gear + frame 20 sound_body2 snd_footstep + frame 21 sound_body snd_handstep + } + anim run models/md5/monsters/pinky/run.md5anim { + frame 1 sound_item snd_breath + frame 7 sound_body snd_gear + frame 10 sound_body2 snd_footstep + frame 11 sound_body snd_handstep + frame 17 sound_body snd_gear + frame 20 sound_body2 snd_footstep + frame 21 sound_body snd_handstep + } + anim evade_left1 models/md5/monsters/pinky/evade_left.md5anim { + frame 1 sound_voice snd_pain + frame 9 sound_weapon snd_melee_4 + frame 10 sound_body snd_handstep + frame 11 sound_body snd_handstep + frame 12 sound_body2 snd_footstep + frame 13 sound_body snd_footstep + frame 22 sound_body2 snd_footstep + } + anim evade_right1 models/md5/monsters/pinky/evade_right.md5anim { + frame 1 sound_voice snd_pain + frame 1 sound_item snd_breath + frame 10 sound_body2 snd_handstep + frame 11 sound_body snd_handstep + frame 14 sound_body snd_footstep + frame 15 sound_body2 snd_footstep + frame 19 sound_body snd_handstep + frame 21 sound_body snd_footstep + } + anim roar1 models/md5/monsters/pinky/roar2.md5anim { + frame 3 sound_voice snd_sight2 + } + anim roar2 models/md5/monsters/pinky/roar3.md5anim { + frame 3 sound_voice snd_sight3 + } + anim melee_attack1 models/md5/monsters/pinky/attack.md5anim { + frame 1 call overrideLegs + frame 1 sound_weapon snd_melee_1 + frame 6 sound_body snd_handstep + frame 7 melee melee_pinky_back + frame 7 sound_body snd_handstep + frame 8 sound_body snd_gear + frame 11 sound_body snd_footstep + frame 15 sound_body2 snd_footstep + } + anim melee_attack2 models/md5/monsters/pinky/attack2.md5anim { + frame 1 sound_weapon snd_melee_1 + frame 6 sound_body snd_handstep + frame 7 melee melee_pinky_back + frame 7 sound_body snd_handstep + frame 8 sound_body snd_gear + frame 11 sound_body snd_footstep + frame 15 sound_body2 snd_footstep + } + anim melee_attack3 models/md5/monsters/pinky/attack3.md5anim { + frame 1 sound_weapon snd_melee_1 + frame 4 melee melee_pinky_right + } + anim melee_attack4 models/md5/monsters/pinky/attack4.md5anim { + frame 1 sound_weapon snd_melee_1 + frame 5 melee melee_pinky_left + } + anim pain models/md5/monsters/pinky/pain_head3.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/pinky/pain_head3.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/pinky/pain_head3.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/pinky/pain_ruparm3.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/pinky/pain_luparm3.md5anim { + frame 1 sound_voice snd_pain + } +} + +model monster_demon_pinky_pipes { + inherit monster_demon_pinky + anim pipes_idle models/md5/monsters/pinky/pipepinkidle.md5anim + anim pipes_bust models/md5/monsters/pinky/pipepinkanim.md5anim +} + +entityDef monster_demon_pinky { + "editor_mins" "-48 -48 0" + "editor_maxs" "48 48 96" + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonPinky" + "model" "monster_demon_pinky" + "ragdoll" "monster_demon_pink" + + "size" "74 74 78" + "use_aas" "aas96" + "team" "1" + "rank" "1" + "health" "220" + "melee_range" "60" + "mass" "300" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Head" "0.4 0.4 0" + "look_joint Waist" "0.1 0.1 0" + + "bone_focus" "Forehead_Flesh" + + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + + "smoke_particleSystem" "pinkysmoke.prt" + "smoke_pain" "pinkysmokepain.smoke" + "particleBone" "Waist3" + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp_large.prt-waist" + + "offsetModel" "-20 0 0" + + "damage_zone head" "*Chest" + "damage_zone chest" "*Chest -*Rshldr -*Lshldr -*Waist" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Waist1" + "damage_scale head" "1" + + "snd_footstep" "monster_demon_pinky_foot" + "snd_handstep" "pinky_hand" + "snd_admin_handstep" "admin_monster_demon_pinky_hand" + "snd_melee_1" "monster_demon_pinky_attackmelee_1" + "snd_melee_4" "monster_demon_pinky_attackmelee_4" + "snd_sight1" "monster_demon_pinky_sight1" + "snd_sight2" "monster_demon_pinky_sight2" + "snd_sight3" "monster_demon_pinky_sight3" + "snd_idle" "monster_demon_pinky_idle" + "snd_chatter" "monster_demon_pinky_chatter" + "snd_chatter_combat" "monster_demon_pinky_chatter_combat" + "snd_pain" "monster_demon_pinky_pain" + "snd_death" "monster_demon_pinky_die" + "snd_gear" "pinky_gears" + "snd_breath" "monster_demon_pinky_breath" + "snd_burn" "monster_demon_tick_burn" +} + +entityDef melee_pinky_back { + "snd_hit" "monster_demon_pinky_melee_hit" + "snd_miss" "monster_demon_pinky_melee_miss" + "kickDir" "1 0 0" + "damage" "10" + "mtr_blob" "bite" + "blob_time" "300" + "blob_x" "0" + "blob_y" "-125" + "blob_width" "650" + "blob_height" "650" + "knockback" "100" + "kick_time" "800" + "kick_amplitude" "2" + "dv_time" "400" +} + +entityDef melee_pinky_right { + "snd_hit" "monster_demon_pinky_melee_hit" + "snd_miss" "monster_demon_pinky_melee_miss" + "kickDir" "0 1 0" + "damage" "10" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "-140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "60" + "kick_time" "400" + "kick_amplitude" "2" + "dv_time" "150" +} + +entityDef melee_pinky_left { + "snd_hit" "monster_demon_pinky_melee_hit" + "snd_miss" "monster_demon_pinky_melee_miss" + "kickDir" "0 -1 0" + "damage" "10" + + "mtr_blob" "leftSmack" + "blob_time" "600" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "60" + "kick_time" "400" + "kick_amplitude" "2" + "dv_time" "150" +} + +sound pinky_gears { + minDistance 1 + maxDistance 16 + volume -6 + no_dups + + sound/xian/sentry/gears/walk_01.wav + sound/xian/sentry/gears/walk_03.wav + sound/xian/sentry/gears/walk_04.wav + sound/xian/sentry/gears/walk_06.wav + sound/xian/sentry/gears/walk_07.wav + sound/xian/sentry/gears/walk_08.wav + sound/xian/sentry/gears/walk_09.wav + sound/xian/sentry/gears/walk_10.wav + sound/xian/sentry/gears/walk_11.wav + sound/xian/sentry/gears/walk_12.wav + sound/xian/sentry/gears/walk_13.wav +} diff --git a/base/def/monster_demon_revenant.def b/base/def/monster_demon_revenant.def new file mode 100644 index 00000000..312c8593 --- /dev/null +++ b/base/def/monster_demon_revenant.def @@ -0,0 +1,517 @@ +/*********************************************************************** + + monster_demon_revenant.def + +***********************************************************************/ + +export james { + + options -prefix REV_ -keep Lknee Rknee -keep ROT Rmissile Lmissile target1 target2 -parent Rmissile r_gun -parent Lmissile l_gun -parent Waist1 ROT -parent ROT Body + + anim maps/james/revenant/revenant_intro.mb -dest models/md5/cinematics/revenant/revintro_rev + + addoptions -align movement -sourcedir models/monsters/revenant/cycles -destdir models/md5/monsters/revenant/james + + mesh revenant_mesh.mb -dest revenant + anim idle1.mb + anim sight1.mb + anim sight2.mb + anim attack1.mb + anim attack2.mb + anim attack3.mb + anim teleport.mb + anim walk1.mb + anim walk2.mb + anim range_attack1.mb + anim range_attack2.mb + anim range_attack3.mb + anim evade_left1.mb + anim evade_left2.mb + anim evade_right1.mb + anim evade_right2.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 af_pose.mb +} + +model monster_demon_revenant { + mesh models/md5/monsters/revenant/james/revenant.md5mesh + + channel torso ( *Waist1 ) + channel legs ( *Hips origin Body ROT ) + + anim turret_attack models/md5/monsters/revenant/james/range_attack3.md5anim { + frame 1 call overrideLegs + frame 13 sound_weapon snd_attackmissile + frame 14 launch_missile Lmissile + frame 15 launch_missile Rmissile + frame 15 sound_body snd_footstep + } + + anim af_pose models/md5/monsters/revenant/james/af_pose.md5anim + anim ik_pose models/md5/monsters/revenant/james/af_pose.md5anim + + anim idle models/md5/monsters/revenant/james/idle1.md5anim + + anim teleport models/md5/monsters/revenant/james/teleport.md5anim { + + frame 5 sound_body snd_footstep + frame 6 sound_body snd_footstep + frame 11 sound_voice snd_sight + } + + anim sight1 models/md5/monsters/revenant/james/sight1.md5anim { + frame 1 sound_voice snd_sight + } + + anim sight2 models/md5/monsters/revenant/james/sight2.md5anim { + frame 9 sound_voice snd_sight2 + } + + anim walk models/md5/monsters/revenant/james/walk1.md5anim { + frame 11 sound_body snd_footstep + frame 24 sound_body snd_footstep + } + + anim pain models/md5/monsters/revenant/james/pain_chest1.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_chest2 models/md5/monsters/revenant/james/pain_chest2.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_head1 models/md5/monsters/revenant/james/pain_head1.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_head2 models/md5/monsters/revenant/james/pain_head2.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_left_arm1 models/md5/monsters/revenant/james/pain_luparm1.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_left_arm2 models/md5/monsters/revenant/james/pain_luparm2.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_right_arm1 models/md5/monsters/revenant/james/pain_ruparm1.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_right_arm2 models/md5/monsters/revenant/james/pain_ruparm2.md5anim { + frame 1 sound_voice snd_pain + } + + anim pain_legs models/md5/monsters/revenant/james/pain_chest1.md5anim { + frame 1 sound_voice snd_pain + } + + anim run models/md5/monsters/revenant/james/walk2.md5anim { + frame 11 sound_body snd_footstep + frame 24 sound_body snd_footstep + } + + anim melee_attack1 models/md5/monsters/revenant/james/attack1.md5anim { + frame 1 call overrideLegs + frame 11 melee melee_revRightClaw + frame 11 sound_weapon snd_attackmelee_1 + frame 12 sound_body snd_footstep + frame 13 sound_body snd_footstep + } + + anim melee_attack2 models/md5/monsters/revenant/james/attack2.md5anim { + frame 1 call overrideLegs + frame 11 melee melee_revLeftClaw + frame 12 sound_weapon snd_attackmelee_1 + frame 14 sound_body snd_footstep + } + + anim melee_attack3 models/md5/monsters/revenant/james/attack3.md5anim { + frame 1 call overrideLegs + frame 12 sound_weapon snd_attackmelee_1 + frame 12 melee melee_revenant_right + frame 13 sound_body snd_footstep + frame 22 melee melee_revenant_left + frame 22 sound_weapon snd_attackmelee_1 + frame 22 melee melee_revenant_right + + } + + anim evade_left1 models/md5/monsters/revenant/james/evade_left1.md5anim { + + frame 1 sound_voice snd_pain + frame 6 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 21 sound_body snd_footstep + frame 18 sound_weapon snd_attackmissile + frame 19 launch_missile Lmissile + } + + anim evade_left2 models/md5/monsters/revenant/james/evade_left2.md5anim { + + frame 1 sound_voice snd_pain + frame 6 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 21 sound_body snd_footstep + } + + anim evade_right1 models/md5/monsters/revenant/james/evade_right1.md5anim { + + frame 1 sound_voice snd_pain + frame 6 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 21 sound_body snd_footstep + frame 18 sound_weapon snd_attackmissile + frame 19 launch_missile Rmissile + } + + anim evade_right2 models/md5/monsters/revenant/james/evade_right2.md5anim { + + frame 1 sound_voice snd_pain + frame 6 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 21 sound_body snd_footstep + } + + anim range_attack1 models/md5/monsters/revenant/james/range_attack1.md5anim { + frame 1 call overrideLegs + frame 12 sound_weapon snd_attackmissile + frame 12 launch_missile Lmissile + } + + anim range_attack2 models/md5/monsters/revenant/james/range_attack2.md5anim { + frame 1 call overrideLegs + frame 13 sound_weapon snd_attackmissile + frame 13 launch_missile Rmissile + } + + anim range_attack3 models/md5/monsters/revenant/james/range_attack3.md5anim { + frame 1 call overrideLegs + frame 13 sound_weapon snd_attackmissile + frame 14 launch_missile Lmissile + frame 15 launch_missile Rmissile + frame 15 sound_body snd_footstep + } +} + +entityDef monster_demon_revenant { + "inherit" "monster_default" + "model" "monster_demon_revenant" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonRevenant" + "size" "48 48 82" + "use_aas" "aas48" + "team" "1" + "rank" "2" + "health" "272" + "melee_range" "52" + "def_projectile" "projectile_rev_rocket" + "attack_cone" "70" + "attack_accuracy" "0" + "chatter_min" "6" + "chatter_max" "15" + "chatter_combat_min" "3" + "chatter_combat_max" "7" + "ragdoll" "monster_demon_revenant2" + "bone_focus" "Head" + "mass" "250" + + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-waist" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist1" "0.4 0.4 0" + "look_joint Head" "0.6 0.6 0" + + "damage_zone head" "*Shldrs" + "damage_zone chest" "*Waist1 -*Rshldr -*Lshldr -*Neck" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips origin Body" + "damage_scale head" "2" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_ankle1" "Lankle" + "ik_ankle2" "Rankle" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "Ltoe" + "ik_foot2" "Rtoe" + + "snd_footstep" "monster_demon_revenant_footstep" + "snd_attackmelee_1" "monster_demon_revenant_attackmelee" + "snd_sight" "monster_demon_revenant_sight" + "snd_sight2" "monster_demon_revenant_sight2" + "snd_chatter" "monster_demon_revenant_chatter" + "snd_chatter_combat" "monster_demon_revenant_chatter_combat" + "snd_pain" "monster_demon_revenant_pain" + "snd_attackmissile" "monster_demon_revenant_attackmissile" + "snd_death" "monster_demon_revenant_die" + "snd_burn" "monster_demon_revenant_burn" +} + +entityDef damage_RevRocket { + "damage" "10" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "10" + + //"smoke_wound_flesh" "bloodwound.smoke" + "snd_flesh" "bullet_impact_flesh" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" +} + +entityDef damage_RevRocketSplash { + "damage" "10" + "radius" "30" +} + +entityDef projectile_rev_rocket { + "spawnclass" "idGuidedProjectile" + "mins" "-2 -2 -5" + "maxs" "2 2 5" + "cone" "3" + "model" "models/weapons/rocketlauncher/rocket.lwo" + + "def_damage" "damage_RevRocket" + "def_splash_damage" "damage_RevRocketSplash" + + "random" "15 15 0" // random angular offset + "turn_max" "180" // maximum amount to turn per second + "clamp_dist" "256" // distance to begin clamping off the random direction changes + "launchFromBarrel" "1" + "health" "5" + "velocity" "300 0 0" + "angular_velocity" "0 0 0" + "thrust" "" + "thrust_start" "0" + "thrust_end" "4" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0" + "mass" "10" + "gravity" "0" + "fuse" "7" + "burstMode" "1" + "burstDist" "32" + "burstVelocity" "1.25" + + "detonate_on_fuse" "0" + "detonate_on_death" "1" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "0" + "impact_gib" "1" + + //"mtr_detonate" "textures/decals/ballburn_rev" + "decal_size" "75" + + // temp temp + "smoke_fly" "revrockettrail.prt" + "smoke_detonate" "" + "smoke_residue" "" + "smoke_bounce" "" + "smoke_fuse" "" + + "debris_count" "3" + "def_debris" "debris_largeshrapnel" + "def_shrapnel" "debris_shrapnel" + + // parametric particles -- temp + "model_detonate" "rocketExplosion.prt" + + "mtr_light_shader" "" + "light_color" "0.9 0.6 0.05" + "light_radius" "160" + "light_offset" "0 0 -16" + + "mtr_explode_light_shader" "muzzleflash" + "explode_light_color" "1 0.8 0.4" + "explode_light_radius" "160" + "explode_light_fadetime" "0.25" + + "snd_fly" "monster_demon_revenant_rocket_flight" + "snd_explode" "monster_demon_revenant_rocket_explode" + "snd_havetone" "monster_demon_revenant_rocket_tone" +} + +// used for cinematics. flies straight. +entityDef projectile_rev_rocket_cinematic { + "inherit" "projectile_rev_rocket" + "spawnclass" "idProjectile" +} + +entityDef melee_revLeftClaw { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 -1 0" + + + // damage parameters + "damage" "16" + + "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_revRightClaw { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 1 0" + + "damage" "16" + + "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 melee_revenant { + "damage" "16" + "kickDir" ".5 0 0" + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + + "knockback" "40" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" +} + +entityDef melee_revenant_right { + "damage" "16" + "kickDir" "0 1 0" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "60" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" +} + +entityDef melee_revenant_right_down { + "damage" "16" + "kickDir" ".5 0 -1" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + + "knockback" "70" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" +} + +entityDef melee_revenant_left { + "damage" "16" + "kickDir" "0 -1 0" + + "mtr_blob" "leftSmack" + "blob_time" "600" + "blob_x" "-140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + + "knockback" "40" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" +} + +entityDef melee_revenant_left_down { + "damage" "16" + "kickDir" "0 -1 0" + + "mtr_blob" "leftSmack" + "blob_time" "600" + "blob_x" "-140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + + "knockback" "40" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" +} diff --git a/base/def/monster_demon_sentry.def b/base/def/monster_demon_sentry.def new file mode 100644 index 00000000..201aa827 --- /dev/null +++ b/base/def/monster_demon_sentry.def @@ -0,0 +1,210 @@ +/*********************************************************************** + + monster_demon_sentry.def + +***********************************************************************/ + +export fred { + options -prefix SENTRY1_ -scale .7 -keep L1toe L2toe R1toe R2toe barrel Lelbow Lknee Relbow Rknee eject flash light -parent light Head1 -parent flash Hips -parent eject Hips -parent barrel Hips -parent R1_upleg Hips -parent R2_upleg Hips -parent L1_upleg Hips -parent L2_upleg Hips -parent Loneck Hips -sourcedir models/monsters/sentry/animation/cycles -destdir models/md5/monsters/sentry + + + mesh sentry_mesh.mb -dest sentry + + anim initial.ma + anim alert.ma + anim walk1.ma + anim walk1_beam.ma + anim unfold.ma + anim fold.ma + anim folded.ma + anim walk1_pain.ma + anim stand_death.ma + anim idle_stand1.ma + anim is_2_alert.ma + anim death_getup_on3.ma + anim walk_on3.ma + anim range_attackstart.ma + anim range_attack4.ma -dest range_attack1 + anim range_attackend.ma + anim strafe_lft.ma + anim strafe_rt.ma + anim talk_primary.ma + anim turn_left.ma + anim turn_right.ma + + addoptions -prefix ref_ + + anim wall_release.ma -rotate 90 -range 1 120 + anim wall_release_blank.ma -rotate 90 -range 1 150 -dest wall_release_dummy + anim wall_release.ma -rotate 90 -range 1 1 -dest wall_release_idle +} + +model monster_demon_sentry { + mesh models/md5/monsters/sentry/sentry.md5mesh + skin skins/models/monsters/brownsentry.skin + + channel torso ( *Loneck ) + channel legs ( *Hips origin -*Loneck ) + + anim af_pose models/md5/monsters/sentry/initial.md5anim + anim initial models/md5/monsters/sentry/initial.md5anim + anim folded models/md5/monsters/sentry/folded.md5anim { + ai_no_turn + frame 1 disableWalkIK + } + anim unfold models/md5/monsters/sentry/unfold.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 79 enableWalkIK + } + + anim idle models/md5/monsters/sentry/idle_stand1.md5anim + anim stand models/md5/monsters/sentry/idle_stand1.md5anim + anim alert_idle models/md5/monsters/sentry/alert.md5anim + anim walk models/md5/monsters/sentry/walk1.md5anim + anim range_attack models/md5/monsters/sentry/range_attackstart.md5anim + anim range_attack_loop1 models/md5/monsters/sentry/range_attack1.md5anim { + frame 1 launch_missile barrel + } + anim range_attack_end models/md5/monsters/sentry/range_attackend.md5anim + anim run models/md5/monsters/sentry/walk1.md5anim + anim pain models/md5/monsters/sentry/walk1_pain.md5anim + anim head_pain models/md5/monsters/sentry/walk1_pain.md5anim + anim getupon3 models/md5/monsters/sentry/death_getup_on3.md5anim + anim walkon3 models/md5/monsters/sentry/walk_on3.md5anim + anim sight models/md5/monsters/sentry/unfold.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 79 enableWalkIK + } + + anim wall_release models/md5/monsters/sentry/wall_release.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 129 enableWalkIK + } + + anim strafe_left models/md5/monsters/sentry/strafe_lft.md5anim + anim strafe_right models/md5/monsters/sentry/strafe_rt.md5anim +} + +entityDef monster_demon_sentry { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmCharSentry" + "model" "monster_demon_sentry" + "ragdoll" "char_sentry" + "size" "48 48 48" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "185" + "anim" "folded" + "on_activate" "unfold" + "bleed" "0" + "def_projectile" "projectile_plasmatracer" + "attack_cone" "70" + "attack_accuracy" "0" + "smoke_weapon" "cgsmoke.smoke" + "mass" "250" + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-hips" + "smoke_wound_metal" "bulletricochet.prt" + + "ik_numLegs" "4" + "ik_footSize" "0" + "ik_minWaistFloorDist" "20" + "ik_waist" "Hips" + "ik_hip1" "L1_upleg" + "ik_hip2" "R1_upleg" + "ik_hip3" "L2_upleg" + "ik_hip4" "R2_upleg" + "ik_knee1" "L1_midleg" + "ik_knee2" "R1_midleg" + "ik_knee3" "L2_midleg" + "ik_knee4" "R2_midleg" + "ik_ankle1" "L1_loleg" + "ik_ankle2" "R1_loleg" + "ik_ankle3" "L2_loleg" + "ik_ankle4" "R2_loleg" + "ik_dir1" "Lelbow" + "ik_dir2" "Relbow" + "ik_dir3" "Lknee" + "ik_dir4" "Rknee" + "ik_foot1" "L1toe" + "ik_foot2" "R1toe" + "ik_foot3" "L2toe" + "ik_foot4" "R2toe" + + "damage_zone head" "*Loneck" + "damage_zone chest" "*Hips -*R1_upleg -*L1_upleg -*R2_upleg -*L2_upleg -*Loneck" + "damage_zone left_arm" "*L1_upleg" + "damage_zone right_arm" "*R1_upleg" + "damage_zone legs" "*L2_upleg *R2_upleg" + "damage_scale head" "1.25" + + "snd_sight" "monster_sentry1_sight" + "snd_chatter" "monster_sentry1_chatter" + "snd_chatter_combat" "monster_sentry1_chatter" + "snd_pain" "monster_sentry1_pain" + "snd_attackmissile" "monster_sentry1_attackmissile" +} + +entityDef damage_plasmatracer { + "damage" "40" + "smoke_wound_flesh" "bloodwound.smoke" + "snd_flesh" "bullet_impact_flesh" +} + +entityDef projectile_plasmatracer { + "spawnclass" "idProjectile" + "mins" "-3 -3 -3" + "maxs" "3 3 3" + "model" "models/monsters/sentry/plasmatracer.lwo" + + "def_damage" "damage_plasmatracer" + + "health" "0" // amount of damage projectile can take if damaged (0 means it can't be destroyed) + "velocity" "700 0 0" // how fast the projectile leaves the gun (or distance if fuse is 0) + "angular_velocity" "0 0 0" // how the projectile is rotating when it leaves the gun + "thrust" "0" // the rate of acceleration (always in the direction of the projectiles model) + "thrust_start" "0" // when to start accelerating + "thrust_end" "0" // when to stop accelerating + "linear_friction" "0" // "air" friction + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0" // how much speed a projectile retains when it bounces off of objects (coefficient of restitution). 0 means no bounce. + "mass" "5" + "gravity" "0" // how much gravity affects the trajectory. gravity direction is same as the entity that fired it. + "fuse" "10" // how long before the projectile is removed or self-detonates. Use 0 for beam weapons (velocity == distance). + + "detonate_on_fuse" "0" // whether projectile should detonate when it's fuse runs out + "detonate_on_death" "1" // whether projectile should detonate when it's "killed" (health runs out) + "detonate_on_world" "1" // whether projectile should detonate when it hits an obstacle + "detonate_on_actor" "1" // whether projectile should detonate when it hits a character in the game + + "impact_damage_effect" "0" // whether projectile causes blood splats from characters that bleed + "impact_gib" "1" // whether projectile can gib a character or not (for example: bullets don't gib, but rockets do) + + "mtr_detonate" "textures/decals/ballburn01" + "decal_size" "75" + + "smoke_fly" "" // particle effect while in the air + "smoke_detonate" "" // particle effect when detonates + "smoke_residue" "" // particle effect while in the air + "smoke_bounce" "" // particle effect when bounces + "smoke_fuse" "" // particle effect when removed from fuse expiring + +// "mtr_light_shader" "" +// "light_color" "0 0 0.8" +// "light_radius" "160" +// "light_offset" "-8 0 0" + +// "mtr_explode_light_shader" "muzzleflash" +// "explode_light_color" "0 0 1" +// "explode_light_radius" "160" +// "explode_light_fadetime" "0.25" + + "snd_fly" "sound/zaphod/plasmafly.wav" // sound effect while in the air + "snd_explode" "sound/zaphod/plasmaexplode.wav" +} diff --git a/base/def/monster_demon_tick.def b/base/def/monster_demon_tick.def new file mode 100644 index 00000000..a8e12b00 --- /dev/null +++ b/base/def/monster_demon_tick.def @@ -0,0 +1,421 @@ +/*********************************************************************** + + monster_demon_tick.def + +***********************************************************************/ + +export fred { + options -prefix TRITE_ -align ALL -keep Rknee1 Rknee2 Rknee3 Lknee1 Lknee2 Lknee3 -keep strand1 -parent strand1 Spine3 -sourcedir models/monsters/trite/cycles -destdir models/md5/monsters/tick + + addoptions -keepmesh tickbodymesh + addoptions -keepmesh ticklegsmesh + addoptions -keepmesh pPlane3 + addoptions -keepmesh pPlane4 + + mesh trite_mesh.mb -dest tick + anim initial.mb + anim af_pose.mb + anim idle.mb + anim alert_idle.mb + anim walk1.mb + anim pain_head.mb + anim pain_luparm1.mb + anim pain_ruparm1.mb + anim walk2.mb + anim walk3.mbf + anim spit1.mb + anim sight1.mb + anim leap1.mb -range 1 16 -dest leap1start + anim leap1.mb -range 17 22 -dest leap1loop + anim leap1.mb -range 27 40 -dest leap1end + anim melee1.mb + anim melee2.mb + anim evade_right.mb + anim evade_left.mb + anim outofhole.mb + anim crawl196.mb -dest drop196 + anim crawl256.mb -dest drop256 + anim crawl400.mb -dest drop400 + + addoptions -prefix TRITE1_ -sourcedir maps/fred/trites/ -destdir models/md5/monsters/tick + + anim trite_wakeups.mb -range 1 48 -dest downpipe + + addoptions -prefix TRITE2_ + anim trite_wakeups.mb -range 1 24 -dest hole24 + + addoptions -prefix TRITE3_ + anim trite_wakeups.mb -range 1 29 -dest hole16 + + addoptions -prefix TRITE4_ + anim trite_wakeups.mb -range 1 35 -dest doorcrack1 + + addoptions -prefix TRITE5_ + anim trite_wakeups.mb -range 1 30 -dest floorcrack + + + options -prefix TRITE_ -keep Rknee1 Rknee2 Rknee3 Lknee1 Lknee2 Lknee3 -keep strand1 -parent strand1 Spine3 + addoptions -keepmesh tickbodymesh + addoptions -keepmesh ticklegsmesh + addoptions -keepmesh pPlane3 + addoptions -keepmesh pPlane4 + + anim models/monsters/trite/cycles/getoffwall.mb -rotate 90 -dest models/md5/monsters/tick/getoffwall +} + +model monster_demon_tick { + mesh models/md5/monsters/tick/tick.md5mesh + + channel torso ( *origin ) + + anim af_pose models/md5/monsters/tick/initial.md5anim + anim ik_pose models/md5/monsters/tick/af_pose.md5anim + + anim idle models/md5/monsters/tick/alert_idle.md5anim { + frame 21 sound_body snd_footstep + frame 29 sound_body snd_footstep + frame 40 sound_voice snd_chirp + frame 42 sound_body snd_footstep + frame 60 sound_voice snd_chirp + frame 65 sound_body snd_footstep + frame 78 sound_body snd_footstep + frame 85 sound_body snd_footstep + frame 88 sound_voice snd_chirp + } + + anim evade_right models/md5/monsters/tick/evade_right.md5anim { + frame 4 sound_voice snd_evade + frame 9 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 18 sound_body snd_footstep + frame 20 sound_body snd_footstep + frame 22 sound_body snd_footstep + + } + + anim evade_left models/md5/monsters/tick/evade_left.md5anim { + frame 4 sound_voice snd_evade + frame 9 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 18 sound_body snd_footstep + frame 20 sound_body snd_footstep + frame 22 sound_body snd_footstep + + } + + anim sight1 models/md5/monsters/tick/sight1.md5anim { + frame 1 call overrideLegs + frame 10 sound_body snd_sight + + } + anim run models/md5/monsters/tick/walk1.md5anim { + frame 5 sound_body snd_footstep + frame 6 sound_body snd_footstep + frame 11 sound_body snd_footstep + frame 13 sound_body snd_footstep + frame 16 sound_body snd_footstep + frame 20 sound_body snd_footstep + frame 21 sound_body snd_footstep + frame 26 sound_body snd_footstep + frame 29 sound_body snd_footstep + frame 31 sound_body snd_footstep + frame 36 sound_body snd_footstep + frame 37 sound_body snd_footstep + frame 39 sound_body snd_footstep + frame 41 sound_body snd_footstep + } + anim walk1 models/md5/monsters/tick/walk2.md5anim { + frame 3 sound_body snd_footstep + frame 4 sound_body snd_footstep + frame 7 sound_body snd_footstep + frame 8 sound_body snd_footstep + frame 11 sound_body snd_footstep + frame 13 sound_body snd_footstep + frame 14 sound_body snd_footstep + frame 28 sound_body snd_footstep + frame 29 sound_body snd_footstep + frame 33 sound_body snd_footstep + frame 39 sound_body snd_footstep + frame 43 sound_body snd_footstep + frame 45 sound_body snd_footstep + frame 50 sound_body snd_footstep + frame 53 sound_body snd_footstep + frame 55 sound_body snd_footstep + } + anim walk2 models/md5/monsters/tick/walk3.md5anim { + frame 2 sound_voice snd_chirp + frame 3 sound_body snd_footstep + frame 4 sound_body snd_footstep + frame 7 sound_body snd_footstep + frame 11 sound_body snd_footstep + frame 14 sound_body snd_footstep + + frame 28 sound_body snd_footstep + frame 29 sound_body snd_footstep + frame 34 sound_body snd_footstep + frame 39 sound_body snd_footstep + frame 41 sound_voice snd_chirp + frame 45 sound_body snd_footstep + frame 50 sound_body snd_footstep + frame 55 sound_body snd_footstep + frame 59 sound_body snd_footstep + + frame 74 sound_body snd_footstep + frame 76 sound_body snd_footstep + frame 81 sound_voice snd_chirp + frame 84 sound_body snd_footstep + frame 85 sound_body snd_footstep + frame 86 sound_body snd_footstep + frame 93 sound_body snd_footstep + frame 94 sound_body snd_footstep + frame 96 sound_body snd_footstep + frame 99 sound_body snd_footstep + frame 100 sound_body snd_footstep + } + + anim melee_attack1 models/md5/monsters/tick/melee1.md5anim { + frame 1 call overrideLegs + frame 3 attack_begin melee_tritebite1 + frame 3 sound_body snd_footstep + frame 11 sound_body snd_footstep + frame 12 sound_body snd_footstep + frame 13 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 22 sound_body snd_footstep + frame 23 sound_body snd_footstep + frame 23 attack_end + } + anim melee_attack2 models/md5/monsters/tick/melee2.md5anim { + frame 1 call overrideLegs + frame 3 attack_begin melee_tritebite1 + frame 23 attack_end + frame 25 sound_body snd_footstep + frame 26 sound_body snd_footstep + frame 30 sound_body snd_footstep + frame 34 sound_body snd_footstep + } + + anim jump_start models/md5/monsters/tick/leap1start.md5anim { + frame 8 sound_body snd_footstep + } + anim jump_loop1 models/md5/monsters/tick/leap1loop.md5anim + anim jump_end models/md5/monsters/tick/leap1end.md5anim { + frame 1 sound_body snd_footstep + frame 2 sound_body snd_footstep + frame 3 sound_body snd_footstep + frame 14 sound_body snd_footstep + + } + + anim pain models/md5/monsters/tick/pain_head.md5anim { + frame 1 sound_voice snd_pain + + } + anim pain_head models/md5/monsters/tick/pain_head.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/tick/pain_luparm1.md5anim { + frame 1 sound_voice snd_pain + frame 6 sound_body snd_footstep + } + anim pain_right_arm models/md5/monsters/tick/pain_ruparm1.md5anim { + frame 1 sound_voice snd_pain + frame 6 sound_body snd_footstep + } + anim "196drop" models/md5/monsters/tick/drop196.md5anim { + //ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 1 sound_voice snd_startdrop + frame 25 sound_body snd_footstep + frame 27 sound_body snd_footstep + frame 28 sound_voice snd_enddrop + frame 29 enableGravity + frame 29 sound_body snd_footstep + frame 30 sound_body snd_footstep + frame 33 sound_body snd_sight + frame 48 enableWalkIK + } + anim "256drop" models/md5/monsters/tick/drop256.md5anim { + //ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 1 sound_voice snd_startdrop + frame 25 sound_body snd_footstep + frame 27 sound_body snd_footstep + frame 28 sound_voice snd_enddrop + frame 29 enableGravity + frame 29 sound_body snd_footstep + frame 30 sound_body snd_footstep + frame 33 sound_body snd_sight + frame 48 enableWalkIK + } + anim "400drop" models/md5/monsters/tick/drop400.md5anim { + //ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 1 sound_voice snd_startdrop + frame 33 sound_body snd_footstep + frame 34 sound_body snd_footstep + frame 37 enableGravity + frame 28 sound_voice snd_enddrop + frame 35 sound_body snd_footstep + frame 36 sound_body snd_footstep + frame 38 sound_body snd_footstep + frame 45 sound_voice snd_sight + frame 48 sound_body snd_footstep + frame 55 sound_body snd_footstep + frame 58 enableWalkIK + } + anim offwall models/md5/monsters/tick/getoffwall.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 63 enableWalkIK + + } + anim outofhole models/md5/monsters/tick/outofhole.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 event ignoreDamage + frame 58 enableWalkIK + frame 58 event allowDamage + + } + anim downpipe models/md5/monsters/tick/downpipe.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 6 sound_voice snd_sight + frame 46 enableWalkIK + } + anim "24hole" models/md5/monsters/tick/hole24.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 event ignoreDamage + frame 9 sound_voice snd_sight + frame 22 enableWalkIK + frame 22 event allowDamage + } + anim "16hole" models/md5/monsters/tick/hole16.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 event ignoreDamage + frame 18 sound_voice snd_sight + frame 27 enableWalkIK + frame 27 event allowDamage + } + anim doorcrack1 models/md5/monsters/tick/doorcrack1.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 event ignoreDamage + frame 19 sound_voice snd_sight + frame 33 enableWalkIK + frame 33 event allowDamage + } + anim floorcrack models/md5/monsters/tick/floorcrack.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 event ignoreDamage + frame 9 sound_body snd_footstep + frame 13 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 18 sound_body snd_footstep + frame 19 sound_body snd_footstep + + frame 21 sound_voice snd_sight + frame 28 enableWalkIK + frame 28 event allowDamage + } +} + +entityDef monster_demon_tick { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonTrite" + "model" "monster_demon_tick" + "ragdoll" "monster_demon_tick" + + "size" "48 48 40" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "20" + "melee_range" "40" + "chatter_min" "5" + "chatter_max" "10" + "chatter_combat_min" "3" + "chatter_combat_max" "7" + "turn_rate" "360" + "on_activate_blend" "0" + + "blockedRadius" "25" + "blockedMoveTime" "750" + "blockedAttackTime" "750" + + "model_explode" "trite_boomboom.prt" + "def_explode_damage" "damage_tick_explode" + + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-body2" + + "ik_numLegs" "0" + "ik_footSize" "0" + "ik_waist" "Body2" + "ik_hip1" "Luparm1" + "ik_hip2" "Ruparm1" + "ik_hip3" "Luparm2" + "ik_hip4" "Ruparm2" + "ik_hip5" "Luparm3" + "ik_hip6" "Ruparm3" + "ik_knee1" "Lloarm1" + "ik_knee2" "Rloarm1" + "ik_knee3" "Lloarm2" + "ik_knee4" "Rloarm2" + "ik_knee5" "Lloarm3" + "ik_knee6" "Rloarm3" + "ik_ankle1" "Lwrist1" + "ik_ankle2" "Rwrist1" + "ik_ankle3" "Lwrist2" + "ik_ankle4" "Rwrist2" + "ik_ankle5" "Lwrist3" + "ik_ankle6" "Rwrist3" + "ik_dir1" "Lknee1" + "ik_dir2" "Rknee1" + "ik_dir3" "Lknee2" + "ik_dir4" "Rknee2" + "ik_dir5" "Lknee3" + "ik_dir6" "Rknee3" + "ik_foot1" "Ltip1" + "ik_foot2" "Rtip1" + "ik_foot3" "Ltip2" + "ik_foot4" "Rtip2" + "ik_foot5" "Ltip3" + "ik_foot6" "Rtip3" + + "damage_zone head" "*Body2 -*Ruparm1 -*Ruparm2 -*Ruparm3 -*Luparm1 -*Luparm2 -*Luparm3" + "damage_zone left_arm" "*Luparm1" + "damage_zone right_arm" "*Ruparm1" + "damage_scale head" "1" + + "snd_chatter" "monster_demon_tick_chatter" + "snd_chatter_combat" "monster_demon_tick_chatter_combat" + "snd_chirp" "monster_demon_tick_chirp" + "snd_evade" "monster_demon_tick_evade" + "snd_footstep" "monster_demon_tick_footstep" + "snd_sight" "monster_demon_tick_sight" + "snd_melee" "monster_demon_tick_melee" + "snd_pain" "monster_demon_tick_pain" + "snd_death" "monster_demon_tick_death" + "snd_chomp" "monster_demon_tick_chomp" + "snd_burn" "monster_demon_tick_burn" +} + +entityDef damage_tick_explode { + "damage" "50" + + // adjust in script if this value is changed + "radius" "100" + + "knockback" "80" + "push" "1000" + "gib" "0" +} diff --git a/base/def/monster_demon_trite.def b/base/def/monster_demon_trite.def new file mode 100644 index 00000000..5b92a497 --- /dev/null +++ b/base/def/monster_demon_trite.def @@ -0,0 +1,533 @@ +/*********************************************************************** + + monster_demon_trite.def + +***********************************************************************/ + +export fred { + options -prefix TRITE_ -align ALL -keep Mouth Rknee1 Rknee2 Rknee3 Lknee1 Lknee2 Lknee3 -parent Mouth Head -keep strand1 -parent strand1 Spine3 -sourcedir models/monsters/trite/cycles -destdir models/md5/monsters/trite + + + addoptions -keepmesh tritemesh + addoptions -keepmesh pPlane3 + addoptions -keepmesh pPlane4 + + mesh trite_mesh.mb -dest trite + anim initial.mb + anim af_pose.mb + anim idle.mb + anim alert_idle.mb + anim walk1.mb + anim pain_head.mb + anim pain_luparm1.mb + anim pain_ruparm1.mb + anim walk2.mb + anim walk3.mb + anim spit1.mb + anim sight1.mb + anim leap1.mb -range 1 16 -dest leap1start + anim leap1.mb -range 17 22 -dest leap1loop + anim leap1.mb -range 27 40 -dest leap1end + anim melee1.mb + anim melee2.mb + anim evade_right.mb + anim evade_left.mb + anim outofhole.mb + anim crawl196.mb -dest drop196 + anim crawl256.mb -dest drop256 + anim crawl400.mb -dest drop400 + + anim guitrite.mb + + addoptions -prefix TRITE1_ -sourcedir maps/fred/trites/ -destdir models/md5/monsters/trite + + anim trite_wakeups.mb -range 1 1 -dest downpipe_idle + anim trite_wakeups.mb -range 1 48 -dest downpipe + + addoptions -prefix TRITE2_ + anim trite_wakeups.mb -range 1 24 -dest hole24 + + addoptions -prefix TRITE3_ + anim trite_wakeups.mb -range 1 29 -dest hole16 + + addoptions -prefix TRITE4_ + anim trite_wakeups.mb -range 1 35 -dest doorcrack1 + + addoptions -prefix TRITE5_ + anim trite_wakeups.mb -range 1 30 -dest floorcrack + + + options -prefix TRITE_ -keep Mouth Rknee1 Rknee2 Rknee3 Lknee1 Lknee2 Lknee3 -parent Mouth Head -keep strand1 -parent strand1 Spine3 + + addoptions -keepmesh tritemesh + addoptions -keepmesh pPlane3 + addoptions -keepmesh pPlane4 + + anim models/monsters/trite/cycles/getoffwall.mb -rotate 90 -dest models/md5/monsters/trite/getoffwall +} + +model monster_demon_trite { + mesh models/md5/monsters/trite/trite.md5mesh + + channel torso ( *origin ) + + anim af_pose models/md5/monsters/trite/initial.md5anim + anim ik_pose models/md5/monsters/trite/af_pose.md5anim + + anim idle models/md5/monsters/trite/alert_idle.md5anim { + random_cycle_start + //frame 1 enableWalkIK + //frame 3 sound_voice snd_alert + frame 16 sound_voice snd_chomp + frame 21 sound_body snd_footstep + frame 29 sound_body snd_footstep + frame 42 sound_body snd_footstep + frame 45 sound_voice snd_chomp + //frame 63 sound_voice snd_alert + frame 65 sound_body snd_footstep + frame 78 sound_body snd_footstep + frame 83 sound_voice snd_chomp + frame 85 sound_body snd_footstep + } + + anim evade_right models/md5/monsters/trite/evade_right.md5anim { + + frame 1 sound_voice snd_pain + frame 9 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 18 sound_body snd_footstep + frame 20 sound_body2 snd_footstep + frame 22 sound_body snd_footstep + + } + + anim evade_left models/md5/monsters/trite/evade_left.md5anim { + + frame 1 sound_voice snd_pain + frame 9 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 18 sound_body2 snd_footstep + frame 20 sound_body snd_footstep + frame 22 sound_body2 snd_footstep + + } + + anim sight1 models/md5/monsters/trite/sight1.md5anim { + frame 1 enableWalkIK + frame 10 sound_body snd_sight + frame 41 sound_body snd_chomp + } + anim run models/md5/monsters/trite/walk1.md5anim { + frame 1 enableWalkIK + frame 5 sound_body snd_footstep + frame 6 sound_body2 snd_footstep + frame 11 sound_body snd_footstep + frame 13 sound_body2 snd_footstep + frame 16 sound_body snd_footstep + frame 20 sound_body2 snd_footstep + frame 21 sound_body snd_footstep + frame 26 sound_body2 snd_footstep + frame 29 sound_body snd_footstep + frame 31 sound_body2 snd_footstep + frame 36 sound_body snd_footstep + frame 37 sound_body2 snd_footstep + frame 39 sound_body snd_footstep + frame 41 sound_body2 snd_footstep + } + anim walk1 models/md5/monsters/trite/walk2.md5anim { + frame 1 enableWalkIK + frame 3 sound_body snd_footstep + frame 4 sound_body2 snd_footstep + frame 7 sound_body snd_footstep + frame 8 sound_body2 snd_footstep + frame 11 sound_body snd_footstep + frame 13 sound_body2 snd_footstep + frame 14 sound_body snd_footstep + frame 28 sound_body2 snd_footstep + frame 29 sound_body snd_footstep + frame 33 sound_body2 snd_footstep + frame 39 sound_body snd_footstep + frame 43 sound_body2 snd_footstep + frame 45 sound_body snd_footstep + frame 50 sound_body2 snd_footstep + frame 53 sound_body snd_footstep + frame 55 sound_body2 snd_footstep + } + anim walk2 models/md5/monsters/trite/walk3.md5anim { + frame 1 enableWalkIK + frame 2 sound_voice snd_sight + frame 3 sound_body snd_footstep + frame 4 sound_body2 snd_footstep + frame 7 sound_body snd_footstep + frame 11 sound_body2 snd_footstep + frame 14 sound_body snd_footstep + frame 25 sound_voice snd_chomp + frame 28 sound_body2 snd_footstep + frame 29 sound_body snd_footstep + frame 34 sound_body2 snd_footstep + frame 39 sound_body snd_footstep + frame 41 sound_voice snd_sight + frame 45 sound_body2 snd_footstep + frame 50 sound_body snd_footstep + frame 55 sound_body2 snd_footstep + frame 59 sound_body snd_footstep + frame 63 sound_voice snd_chomp + frame 74 sound_body2 snd_footstep + frame 76 sound_body snd_footstep + frame 81 sound_voice snd_sight + frame 84 sound_body2 snd_footstep + frame 85 sound_body snd_footstep + frame 86 sound_body2 snd_footstep + frame 93 sound_body snd_footstep + frame 94 sound_body2 snd_footstep + frame 96 sound_body snd_footstep + frame 99 sound_body2 snd_footstep + frame 100 sound_body snd_footstep + } + + anim melee_attack1 models/md5/monsters/trite/melee1.md5anim { + frame 1 sound_voice snd_melee + frame 3 sound_body snd_footstep + frame 7 sound_body snd_footstep + frame 9 sound_body snd_footstep + frame 9 melee melee_tritebite1 + frame 9 sound_item snd_chomp + frame 11 sound_body snd_footstep + frame 12 sound_body2 snd_footstep + frame 14 sound_body snd_footstep + frame 16 sound_body2 snd_footstep + frame 22 sound_body snd_footstep + } + anim melee_attack2 models/md5/monsters/trite/melee2.md5anim { + frame 1 sound_voice snd_melee + frame 3 sound_body snd_footstep + frame 7 sound_body2 snd_footstep + frame 9 sound_body snd_footstep + frame 9 sound_item snd_chomp + frame 10 sound_body2 snd_footstep + frame 12 sound_body snd_footstep + frame 14 sound_body2 snd_footstep + frame 15 sound_body snd_footstep + frame 21 sound_item snd_chomp + frame 21 melee melee_tritebite1 + frame 22 sound_body snd_footstep + } + + anim jump_start models/md5/monsters/trite/leap1start.md5anim { + frame 8 sound_body snd_footstep + } + anim jump_loop1 models/md5/monsters/trite/leap1loop.md5anim + anim jump_end models/md5/monsters/trite/leap1end.md5anim { + frame 1 sound_body snd_footstep + frame 2 sound_body snd_footstep + } + anim pain models/md5/monsters/trite/pain_head.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/trite/pain_head.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/trite/pain_luparm1.md5anim { + frame 1 sound_voice snd_pain + frame 6 sound_body snd_footstep + } + anim pain_right_arm models/md5/monsters/trite/pain_ruparm1.md5anim { + frame 1 sound_voice snd_pain + frame 6 sound_body snd_footstep + } + anim "196drop" models/md5/monsters/trite/drop196.md5anim { + //ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 1 sound_voice snd_startdrop + frame 25 sound_body snd_footstep + frame 27 sound_body2 snd_footstep + frame 28 sound_voice snd_enddrop + frame 29 enableGravity + frame 29 sound_body snd_footstep + frame 30 sound_body2 snd_footstep + frame 33 sound_body snd_sight + frame 45 sound_body2 snd_footstep + frame 47 enableWalkIK + } + anim "256drop" models/md5/monsters/trite/drop256.md5anim { + //ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 1 sound_voice snd_startdrop + frame 25 sound_body snd_footstep + frame 27 sound_body2 snd_footstep + frame 28 sound_voice snd_enddrop + frame 29 enableGravity + frame 29 sound_body snd_footstep + frame 30 sound_body2 snd_footstep + frame 33 sound_body snd_sight + frame 38 sound_body2 snd_footstep + frame 45 sound_body snd_footstep + frame 47 enableWalkIK + } + anim "400drop" models/md5/monsters/trite/drop400.md5anim { + //ai_no_turn + frame 1 disableGravity + frame 1 disableWalkIK + frame 1 sound_voice snd_startdrop + frame 33 sound_body snd_footstep + frame 34 sound_body2 snd_footstep + frame 37 enableGravity + frame 28 sound_voice snd_enddrop + frame 35 sound_body snd_footstep + frame 36 sound_body2 snd_footstep + frame 38 sound_body snd_footstep + frame 45 sound_voice snd_sight + frame 48 sound_body2 snd_footstep + frame 55 sound_body snd_footstep + frame 57 enableWalkIK + } + anim offwall models/md5/monsters/trite/getoffwall.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 5 sound_body snd_footstep + frame 6 sound_body2 snd_footstep + frame 11 sound_body snd_footstep + frame 13 sound_body2 snd_footstep + frame 16 sound_body snd_footstep + frame 20 sound_body2 snd_footstep + frame 21 sound_body snd_footstep + frame 26 sound_body2 snd_footstep + frame 29 sound_body snd_footstep + frame 31 sound_body2 snd_footstep + frame 36 sound_body snd_footstep + frame 37 sound_body2 snd_footstep + frame 39 sound_body snd_footstep + frame 41 sound_body2 snd_footstep + frame 51 sound_body snd_footstep + frame 61 sound_body2 snd_footstep + frame 62 sound_body snd_footstep + frame 62 enableWalkIK + } + anim outofhole models/md5/monsters/trite/outofhole.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 30 sound_body snd_footstep + frame 31 sound_voice snd_sight + frame 35 sound_body2 snd_footstep + frame 48 sound_body snd_footstep + frame 52 sound_body2 snd_footstep + frame 55 enableWalkIK + frame 56 sound_body snd_footstep + + + } + anim downpipe_idle models/md5/monsters/trite/downpipe_idle.md5anim { + ai_no_turn + frame 1 disableWalkIK + } + anim downpipe models/md5/monsters/trite/downpipe.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 4 sound_body snd_footstep + frame 6 sound_body2 snd_footstep + frame 6 sound_voice snd_sight + frame 8 sound_body snd_footstep + frame 21 sound_body2 snd_footstep + frame 23 sound_body snd_footstep + frame 26 sound_body2 snd_footstep + frame 31 sound_body snd_footstep + frame 34 sound_body2 snd_footstep + frame 35 sound_body snd_footstep + frame 39 sound_body2 snd_footstep + frame 42 sound_body snd_footstep + frame 48 sound_body2 snd_footstep + frame 48 enableWalkIK + } + anim "24hole" models/md5/monsters/trite/hole24.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 6 sound_body snd_footstep + frame 8 sound_body2 snd_footstep + frame 9 sound_voice snd_sight + frame 12 sound_body snd_footstep + frame 13 sound_body2 snd_footstep + frame 16 sound_body snd_footstep + frame 20 sound_body2 snd_footstep + frame 19 enableWalkIK + frame 22 sound_body snd_footstep + frame 23 sound_body2 snd_footstep + + } + anim "16hole" models/md5/monsters/trite/hole16.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 7 sound_body snd_footstep + frame 11 sound_body2 snd_footstep + frame 18 sound_voice snd_sight + frame 22 sound_body snd_footstep + frame 24 enableWalkIK + frame 29 sound_body snd_footstep + + } + anim doorcrack1 models/md5/monsters/trite/doorcrack1.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 3 sound_body snd_footstep + frame 4 sound_body2 snd_footstep + frame 11 sound_body snd_footstep + frame 19 sound_voice snd_sight + frame 22 sound_body snd_footstep + frame 29 enableWalkIK + + } + anim floorcrack models/md5/monsters/trite/floorcrack.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 6 sound_body snd_footstep + frame 8 sound_body2 snd_footstep + frame 14 sound_body snd_footstep + frame 18 sound_body2 snd_footstep + frame 21 sound_voice snd_sight + frame 28 enableWalkIK + } +} + +entityDef monster_demon_trite { + "inherit" "monster_default" + "editor_var no_explode" "Prevent trites from exploding when they can't reach the player." + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonTrite" + "model" "monster_demon_trite" + "ragdoll" "monster_demon_trite" + + "size" "48 48 40" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "20" + "melee_range" "48" + "chatter_min" "5" + "chatter_max" "10" + "chatter_combat_min" "3" + "chatter_combat_max" "7" + "turn_rate" "360" + + "blockedRadius" "25" + "blockedMoveTime" "750" + "blockedAttackTime" "750" + + "model_explode" "trite_boomboom.prt" + "def_explode_damage" "damage_trite_explode" + + "burnaway" ".01" + "smoke_burnParticleSystem" "trite_burst.prt-mouth" + + "ik_numLegs" "6" + "ik_footSize" "0" + "ik_minWaistFloorDist" "16" + "ik_waist" "Body2" + "ik_hip1" "Luparm1" + "ik_hip2" "Ruparm1" + "ik_hip3" "Luparm2" + "ik_hip4" "Ruparm2" + "ik_hip5" "Luparm3" + "ik_hip6" "Ruparm3" + "ik_knee1" "Lloarm1" + "ik_knee2" "Rloarm1" + "ik_knee3" "Lloarm2" + "ik_knee4" "Rloarm2" + "ik_knee5" "Lloarm3" + "ik_knee6" "Rloarm3" + "ik_ankle1" "Lwrist1" + "ik_ankle2" "Rwrist1" + "ik_ankle3" "Lwrist2" + "ik_ankle4" "Rwrist2" + "ik_ankle5" "Lwrist3" + "ik_ankle6" "Rwrist3" + "ik_dir1" "Lknee1" + "ik_dir2" "Rknee1" + "ik_dir3" "Lknee2" + "ik_dir4" "Rknee2" + "ik_dir5" "Lknee3" + "ik_dir6" "Rknee3" + "ik_foot1" "Ltip1" + "ik_foot2" "Rtip1" + "ik_foot3" "Ltip2" + "ik_foot4" "Rtip2" + "ik_foot5" "Ltip3" + "ik_foot6" "Rtip3" + + "damage_zone head" "*Body2 -*Ruparm1 -*Ruparm2 -*Ruparm3 -*Luparm1 -*Luparm2 -*Luparm3" + //"damage_zone chest" "*waist -*Rshldr -*Lshldr -*loneck" + "damage_zone left_arm" "*Luparm1" + "damage_zone right_arm" "*Ruparm1" + //"damage_zone legs" "*Hips origin Body Body2" + "damage_scale head" "1" + + "snd_explode" "rocket_impact" + "snd_chatter" "monster_demon_trite_chatter" + "snd_chatter_combat" "monster_demon_trite_chatter_combat" + "snd_footstep" "monster_demon_trite_footstep" + "snd_sight" "monster_demon_trite_sight" + "snd_melee" "monster_demon_trite_melee" + "snd_pain" "monster_demon_trite_pain" + "snd_death" "monster_demon_trite_death" + "snd_chomp" "monster_demon_trite_chomp" + "snd_startdrop" "monster_demon_trite_startdrop" + "snd_enddrop" "monster_demon_trite_enddrop" + "snd_burn" "trite_deathsplat" +} + +entityDef melee_triteLeapAttack { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "kickDir" "1 0 0" + + // damage parameters + "damage" "12" + + "mtr_blob" "bite" + "blob_time" "300" + "blob_x" "100" + "blob_y" "50" + "blob_width" "500" + "blob_height" "500" + + "knockback" "80" + + "kick_time" "500" + "kick_amplitude" "2" + + "dv_time" "350" +} + +entityDef melee_tritebite1 { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "kickDir" "1 0 0" + + // damage parameters + "damage" "8" + + "mtr_blob" "bite" + "blob_time" "300" + "blob_x" "100" + "blob_y" "50" + "blob_width" "500" + "blob_height" "500" + + "knockback" "40" + + "kick_time" "500" + "kick_amplitude" "2" + + "dv_time" "200" +} + +entityDef damage_trite_explode { + "damage" "50" + + // adjust in script if this value is changed + "radius" "100" + + "knockback" "80" + "push" "1000" + "gib" "0" +} \ No newline at end of file diff --git a/base/def/monster_demon_vulgar.def b/base/def/monster_demon_vulgar.def new file mode 100644 index 00000000..4bea0e13 --- /dev/null +++ b/base/def/monster_demon_vulgar.def @@ -0,0 +1,305 @@ +/*********************************************************************** + + monster_demon_vulgar.def + +***********************************************************************/ + +export James { + options -prefix VUL_ -keep Lknee Rknee -keep r_fireball l_fireball ROT -align movement -parent r_fireball Rwrist -parent l_fireball Lwrist -parent spine_1 ROT -parent ROT root -sourcedir models/monsters/vulgar/cycles -destdir models/md5/monsters/vulgar + + mesh vulgar_mesh.mb -dest vulgar + anim idle2.mb + anim walk.mb + anim run.mb + anim attack1.mb + anim attack2.mb + anim attack3.mb + anim idle1.mb + anim af_pose.mb -range 1 1 + anim pain_chest.mb + anim pain_head.mb + anim pain_luparm.mb + anim pain_ruparm.mb + anim teleport.mb + anim evade_left.mb + anim evade_right.mb + anim sight.mb + anim range_attack1.mb + anim range_attack2.mb + anim run_evade_right.mb + anim run_evade_left.mb + anim run_pain_left.mb + anim run_pain_right.mb + anim run_pain_chest.mb + anim run_pain_head.mb + anim leap_attack.mb -range 25 33 -dest jump_start + anim leap_attack.mb -range 34 55 -dest jump_loop + anim attack1.mb -range 8 14 -dest jump_end +} + +model monster_demon_vulgar { + mesh models/md5/monsters/vulgar/vulgar.md5mesh + + channel torso ( *spine_1 ) + channel legs ( *origin ) + anim idle1 models/md5/monsters/vulgar/idle1.md5anim + anim idle2 models/md5/monsters/vulgar/idle2.md5anim + anim walk models/md5/monsters/vulgar/walk.md5anim + + anim run models/md5/monsters/vulgar/run.md5anim + anim run_evade_left models/md5/monsters/vulgar/run_evade_left.md5anim + anim run_evade_right models/md5/monsters/vulgar/run_evade_right.md5anim + anim run_pain_left models/md5/monsters/vulgar/run_pain_left.md5anim + anim run_pain_right models/md5/monsters/vulgar/run_pain_right.md5anim + anim run_pain_chest models/md5/monsters/vulgar/run_pain_chest.md5anim + anim run_pain_head models/md5/monsters/vulgar/run_pain_head.md5anim + + anim melee_attack1 models/md5/monsters/vulgar/attack1.md5anim { + frame 1 call overrideLegs + frame 9 melee melee_vulgarRightClaw + frame 25 melee melee_vulgarLeftClaw + } + anim melee_attack2 models/md5/monsters/vulgar/attack2.md5anim { + frame 1 call overrideLegs + frame 10 melee melee_vulgarRightClaw + } + anim melee_attack3 models/md5/monsters/vulgar/attack3.md5anim { + frame 1 call overrideLegs + frame 10 melee melee_vulgarLeftClaw + } + anim pain models/md5/monsters/vulgar/pain_chest.md5anim + anim pain_chest models/md5/monsters/vulgar/pain_chest.md5anim + anim pain_head models/md5/monsters/vulgar/pain_head.md5anim + anim pain_left_arm models/md5/monsters/vulgar/pain_luparm.md5anim + anim pain_right_arm models/md5/monsters/vulgar/pain_ruparm.md5anim + anim af_pose models/md5/monsters/vulgar/af_pose.md5anim + anim teleport models/md5/monsters/vulgar/teleport.md5anim { + frame 15 sound_voice snd_sight + } + anim evade_left models/md5/monsters/vulgar/evade_left.md5anim + anim evade_right models/md5/monsters/vulgar/evade_right.md5anim + + anim sight models/md5/monsters/vulgar/sight.md5anim + anim range_attack1 models/md5/monsters/vulgar/range_attack1.md5anim { + frame 1 call overrideLegs + frame 2 create_missile r_fireball + frame 11 launch_missile r_fireball + } + anim range_attack2 models/md5/monsters/vulgar/range_attack2.md5anim { + frame 1 call overrideLegs + frame 2 create_missile l_fireball + frame 12 launch_missile l_fireball + } + anim jump_start models/md5/monsters/vulgar/jump_start.md5anim + anim jump_loop models/md5/monsters/vulgar/jump_loop.md5anim + + anim jump_end models/md5/monsters/vulgar/jump_end.md5anim { + frame 1 call overrideLegs + frame 2 melee melee_vulgarRightClaw + } +} + +entityDef monster_demon_vulgar { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonVulgar" + "model" "monster_demon_vulgar" + "ragdoll" "monster_demon_vulgar" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "400" + "def_projectile" "projectile_vulgar_fireball" + "attack_cone" "70" + "attack_accuracy" "0" + "melee_range" "84" + "bone_focus" "head_FK" + + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-root" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint spine_1" "0.4 0.4 0" + "look_joint head_FK" "0.6 0.6 0" + + "damage_zone head" "*spine_6" + "damage_zone chest" "*spine_1 -*Rshldr -*Lshldr -*spine_6" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips origin root" + "damage_scale head" "2" + "mass" "250" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "root" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_ankle1" "Lankle" + "ik_ankle2" "Rankle" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "Lball" + "ik_foot2" "Rtoe" +} + +entityDef damage_vulgar_fireball { + "damage" "12" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "10" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "smoke_wound_flesh" "bloodwound.smoke" +} + +entityDef damage_vulgar_fireball_splash { + "damage" "5" + "radius" "50" +} + +entityDef projectile_vulgar_fireball { + "spawnclass" "idProjectile" + "mins" "-4 -4 -4" + "maxs" "4 4 4" + "cone" "3" + "model" "models/weapons/impfireball/impfireball2.lwo" + + "def_damage" "damage_vulgar_fireball" + "def_splash_damage" "damage_vulgar_fireball_splash" + + "launchFromBarrel" "1" + "health" "5" // amount of damage projectile can take if damaged (0 means it can't be destroyed) + "velocity" "475 0 -150" // how fast the projectile leaves the gun (or distance if fuse is 0) + "angular_velocity" "0 0 0" // how the projectile is rotating when it leaves the gun + "thrust" "0" // the rate of acceleration (always in the direction of the projectiles model) + "thrust_start" "0" // when to start accelerating + "thrust_end" "0" // when to stop accelerating + "linear_friction" "0" // "air" friction + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0" // how much speed a projectile retains when it bounces off of objects (coefficient of restitution). 0 means no bounce. + "mass" "5" + "gravity" "250" // how much gravity affects the trajectory. gravity direction is same as the entity that fired it. + "fuse" "20" // how long before the projectile is removed or self-detonates. Use 0 for beam weapons (velocity == distance). + + "detonate_on_fuse" "0" // whether projectile should detonate when it's fuse runs out + "detonate_on_death" "1" // whether projectile should detonate when it's "killed" (health runs out) + "detonate_on_world" "1" // whether projectile should detonate when it hits an obstacle + "detonate_on_actor" "1" // whether projectile should detonate when it hits a character in the game + + "impact_damage_effect" "0" // whether projectile causes blood splats from characters that bleed + "impact_gib" "1" // whether projectile can gib a character or not (for example: bullets don't gib, but rockets do) + + "mtr_detonate" "textures/decals/ballburn01" + "decal_size" "75" + + "smoke_fly" "impsparks.smoke" // particle effect while in the air + "smoke_detonate" "" // particle effect when detonates + "smoke_residue" "" // particle effect while in the air + "smoke_bounce" "" // particle effect when bounces + "smoke_fuse" "" // particle effect when removed from fuse expiring + + // parametric particles -- temp + "model_detonate" "bigExplosion.ips" + + "debris_count" "3" + "def_debris" "debris_largeshrapnel" + "def_shrapnel" "debris_shrapnel" + + "mtr_light_shader" "lights/impflyflash" + "light_color" "0.9 0.7 0.05" + "light_radius" "160" + "light_offset" "0 0 0" + + + "mtr_explode_light_shader" "lights/impflash" + "explode_light_color" "3.6 3.0 0.5" + "explode_light_radius" "320" + "explode_light_fadetime" "1" + + "snd_explode" "monster_demon_imp_fireball_explode" + "snd_fly" "monster_demon_imp_fireball_flight" // particle effect while in the air +} + +entityDef melee_vulgarLeapAttack { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "kickDir" "1 0 0" + + // damage parameters + "damage" "20" + + "mtr_blob" "leftSlash" + "blob_time" "300" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "100" + + "kick_time" "800" + "kick_amplitude" "2" + + "dv_time" "400" +} + +entityDef melee_vulgarLeftClaw { + // 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_vulgarRightClaw { + "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" +} diff --git a/base/def/monster_demon_wraith.def b/base/def/monster_demon_wraith.def new file mode 100644 index 00000000..9112edcd --- /dev/null +++ b/base/def/monster_demon_wraith.def @@ -0,0 +1,265 @@ +/*********************************************************************** + + monster_demon_wraith.def + +***********************************************************************/ + +export James { + options -prefix W_ -keep Lknee Rknee -keep fireball ROT -parent fireball head_FK -parent spine_1 ROT -parent ROT root + + addoptions -sourcedir models/monsters/wraith/cycles + addoptions -destdir models/md5/monsters/wraith + + anim ceiling_idle_128.mb -rotate 90 + anim ceiling_idle_192.mb -rotate 90 + anim ceiling_idle_256.mb -rotate 90 + + anim ceiling_idle_128_attack.mb -rotate 90 -dest ceiling_attack_128 + anim ceiling_idle_192_attack.mb -rotate 90 -dest ceiling_attack_192 + anim ceiling_idle_256_attack.mb -rotate 90 -dest ceiling_attack_256 + + addoptions -align movement + + mesh wraith_mesh.mb -dest wraith + anim idle.mb + anim walk.mb + anim run.mb + anim sight.mb + anim pain_chest.mb + anim pain_head.mb + anim pain_luparm.mb + anim pain_ruparm.mb + anim teleport.mb + anim attack1.mb + anim attack2.mb + anim attack3.mb + anim evade_left.mb + anim evade_right.mb + anim leap_attack.mb -range 12 13 -dest jump_start + anim leap_attack.mb -range 14 27 -dest jump_loop + anim leap_attack.mb -range 27 50 -dest jump_end + anim af_pose.mb -range 1 1 + +} + +model monster_demon_wraith { + mesh models/md5/monsters/wraith/wraith.md5mesh + channel torso ( *spine_1 ) + channel legs ( *Hips origin root ROT ) + + anim idle models/md5/monsters/wraith/idle.md5anim + anim walk models/md5/monsters/wraith/walk.md5anim { + frame 7 sound_body snd_footstep + frame 15 sound_body snd_footstep + frame 24 sound_body snd_footstep + frame 31 sound_body snd_footstep + } + anim run models/md5/monsters/wraith/run.md5anim { + frame 3 sound_body snd_footstep + frame 8 sound_body snd_footstep + frame 12 sound_body snd_footstep + frame 14 sound_body snd_footstep + } + anim sight models/md5/monsters/wraith/sight.md5anim { + frame 5 sound_voice snd_sight + } + anim pain models/md5/monsters/wraith/pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/wraith/pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/wraith/pain_head.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/wraith/pain_luparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/wraith/pain_ruparm.md5anim { + frame 1 sound_voice snd_pain + } + anim teleport models/md5/monsters/wraith/teleport.md5anim { + frame 5 sound_voice snd_thud + frame 15 sound_voice snd_sight2 + } + anim melee_attack1 models/md5/monsters/wraith/attack1.md5anim { + frame 1 sound_voice monster_demon_wraith_attackmelee_1 + //frame 11 sound_voice snd_attackmelee_1 + frame 12 melee melee_wraithRightClaw + } + anim melee_attack2 models/md5/monsters/wraith/attack2.md5anim { + frame 1 sound_voice monster_demon_wraith_attackmelee_2 + //frame 11 sound_voice snd_attackmelee_2 + frame 12 melee melee_wraithLeftClaw + } + anim melee_attack3 models/md5/monsters/wraith/attack3.md5anim { + frame 1 sound_voice monster_demon_wraith_attackmelee_3 + //frame 13 sound_voice snd_attackmelee_1 + frame 13 melee melee_wraithCenterAttack + } + anim evade_left models/md5/monsters/wraith/evade_left.md5anim { + frame 1 sound_body monster_demon_wraith_evade_left +// frame 7 sound_body monster_demon_imp_footstep +// frame 8 sound_body monster_demon_imp_footstep +// frame 10 sound_body monster_demon_imp_footstep + } + anim evade_right models/md5/monsters/wraith/evade_right.md5anim { + frame 1 sound_body monster_demon_wraith_evade_right +// frame 8 sound_body monster_demon_imp_footstep +// frame 9 sound_body monster_demon_imp_footstep +// frame 11 sound_body monster_demon_imp_footstep + } + anim af_pose models/md5/monsters/wraith/af_pose.md5anim + +// no longer jumps +// anim jump_start models/md5/monsters/wraith/jump_start.md5anim +// anim jump_loop models/md5/monsters/wraith/jump_loop.md5anim +// anim jump_end models/md5/monsters/wraith/jump_end.md5anim { +// frame 6 sound_body snd_thud +// } + + anim ceiling_idle1 models/md5/monsters/wraith/ceiling_idle_128.md5anim + anim ceiling_idle2 models/md5/monsters/wraith/ceiling_idle_192.md5anim + anim ceiling_idle3 models/md5/monsters/wraith/ceiling_idle_256.md5anim + + anim ceiling_attack1 models/md5/monsters/wraith/ceiling_attack_128.md5anim { + frame 1 sound_voice monster_demon_wraith_ceiling_attack1 +// frame 4 sound_voice snd_thud +// frame 8 sound_voice snd_attackmelee_1 + } + anim ceiling_attack2 models/md5/monsters/wraith/ceiling_attack_192.md5anim { + frame 1 sound_voice monster_demon_wraith_ceiling_attack2 +// frame 8 sound_voice snd_thud +// frame 11 sound_voice snd_attackmelee_2 + } + anim ceiling_attack3 models/md5/monsters/wraith/ceiling_attack_256.md5anim { + frame 1 sound_voice monster_demon_wraith_ceiling_attack3 +// frame 7 sound_voice snd_thud +// frame 12 sound_voice snd_attackmelee_1 + } +} + +entityDef monster_demon_wraith { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterDemonWraith" + "model" "monster_demon_wraith" + "ragdoll" "monster_demon_wraith" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "130" + "attack_cone" "70" + "attack_accuracy" "0" + "melee_range" "48" + "bone_focus" "head_FK" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint spine_1" "0.4 0.4 0" + "look_joint head_FK" "0.6 0.6 0" + + "damage_zone head" "*spine_7" + "damage_zone chest" "*spine_1 -*Rshldr -*Lshldr -*spine_7" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_scale head" "2" + "mass" "250" + + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-root" + + "def_spawneffect_precache" "wraith_spawneffect" + + "snd_footstep" "monster_demon_wraith_footstep" + "snd_sight" "monster_demon_wraith_sight" + "snd_sight2" "monster_demon_wraith_sight2" + "snd_chatter" "monster_demon_wraith_chatter" + "snd_chatter_combat" "monster_demon_wraith_chatter_combat" + "snd_pain" "monster_demon_wraith_pain" + "snd_attackmelee_1" "monster_demon_wraith_attackmelee_1" + "snd_attackmelee_2" "monster_demon_wraith_attackmelee_2" + "snd_death" "monster_demon_wraith_die" + "snd_thud" "monster_demon_imp_thud" + "snd_fade_in" "monster_demon_wraith_fade_in" + "snd_fade_out" "monster_demon_wraith_fade_out" + "snd_burn" "monster_demon_tick_burn" +} + +entityDef wraith_spawneffect { + "spawnclass" "idSpawnableEntity" + "model" "wraithfade.prt" + + // make sure it gets removed in cinematics + "cinematic_remove" "1" +} + + +entityDef melee_wraithLeftClaw { + // melee specific parameters + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 -1 0" + + // damage parameters + "damage" "8" + + "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_wraithRightClaw { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "0 1 0" + + "damage" "8" + + "mtr_blob" "leftSlash" + "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 melee_wraithCenterAttack { + "snd_hit" "monster_demon_imp_melee_hit" + "snd_miss" "monster_demon_imp_melee_miss" + "kickDir" "1 0 0" + + "damage" "8" + + "mtr_blob" "leftSlash" + "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" +} diff --git a/base/def/monster_flying_cacodemon.def b/base/def/monster_flying_cacodemon.def new file mode 100644 index 00000000..11506e89 --- /dev/null +++ b/base/def/monster_flying_cacodemon.def @@ -0,0 +1,238 @@ +/*********************************************************************** + + monster_flying_cacodemon.def + +***********************************************************************/ + +export fred { + options -prefix CACO_ -align ALL -keep caco_launch caco_mouthfire caco_mouthfire2 caco_mouthfire2a -parent caco_launch Head -sourcedir models/monsters/cacodemon/cycles -destdir models/md5/monsters/cacodemon + + mesh cacodemon_mesh.mb -dest cacodemon + anim idle.mb + anim initial.mb + anim walk.mb + anim run.mb + anim sight.mb + anim attack1.mb + anim range_attack1.mb + anim left_pain.mb + anim right_pain.mb + anim tail_pain.mb + anim head_pain.mb + anim death1.mb +} + +model monster_flying_cacodemon { + mesh models/md5/monsters/cacodemon/cacodemon.md5mesh + offset ( 0 0 56 ) + channel torso ( *origin ) + + anim af_pose models/md5/monsters/cacodemon/initial.md5anim + + anim idle models/md5/monsters/cacodemon/idle.md5anim + anim initial models/md5/monsters/cacodemon/initial.md5anim + anim sight1 models/md5/monsters/cacodemon/sight.md5anim { + frame 3 sound_voice monster_demon_cacodemon_sight + } + anim fly models/md5/monsters/cacodemon/walk.md5anim { + //frame 1 sound_body snd_walk + } + anim walk models/md5/monsters/cacodemon/walk.md5anim { + //frame 1 sound_body snd_walk + } + anim run models/md5/monsters/cacodemon/run.md5anim { + //frame 1 sound_body snd_walk + } + anim melee_attack1 models/md5/monsters/cacodemon/attack1.md5anim { + frame 1 sound_weapon monster_demon_cacodemon_melee + frame 14 melee melee_cacodemon + } + anim range_attack1 models/md5/monsters/cacodemon/range_attack1.md5anim { + frame 13 create_missile caco_launch + frame 13 sound_weapon monster_demon_cacodemon_attackmissile + frame 15 launch_missile caco_launch + } + + anim pain_head models/md5/monsters/cacodemon/head_pain.md5anim { + frame 1 sound_voice monster_demon_cacodemon_pain + } + anim pain_left_arm models/md5/monsters/cacodemon/left_pain.md5anim { + frame 1 sound_voice monster_demon_cacodemon_pain + } + anim pain_right_arm models/md5/monsters/cacodemon/right_pain.md5anim { + frame 1 sound_voice monster_demon_cacodemon_pain + } + anim pain_legs models/md5/monsters/cacodemon/tail_pain.md5anim { + frame 1 sound_voice monster_demon_cacodemon_pain + } + anim pain models/md5/monsters/cacodemon/tail_pain.md5anim { + frame 1 sound_voice monster_demon_cacodemon_pain + } +} + +entityDef monster_flying_cacodemon { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterFlyingCacodemon" + "model" "monster_flying_cacodemon" + "ragdoll" "monster_demon_cacodemon" + "size" "48 48 80" + + "use_aas" "aas48" + "team" "1" + "rank" "2" + "health" "200" + "melee_range" "48" + "def_projectile" "projectile_cacodemon_fireball" + "attack_cone" "50" + "attack_accuracy" "0" + "turn_rate" "150" + "fly_offset" "-56" + "fly_speed" "175" + "fly_seek_scale" "4" + "fly_roll_max" "60" + "fly_roll_scale" "100" + "fly_pitch_scale" "45" + "fly_pitch_max" "15" + "mass" "200" + + "bone_flytilt" "Body2" + + //"smokeParticleSystem" "barrel-caco_launch" //this was going to be the particle spawned out the sides of his mouth when he shoots, but no. + "smokeParticleSystem2" "caco_mouthfire" + "smokeParticleSystem3" "caco_mouthfire2" + "smokeParticleSystem4" "caco_mouthfire2a" + + "useBoneAxis" "1" + + "burnaway" "0.25" + "smoke_burnParticleSystem" "burn_imp.prt-Head" + + "damage_zone head" "*Head -*LeftSide -*RightSide" + //"damage_zone chest" "*Waist -*Rshldr -*Lshldr -*Neck" + "damage_zone left_arm" "*LeftSide" + "damage_zone right_arm" "*RightSide" + "damage_zone legs" "*Tail1" + + "snd_ambient" "monster_demon_cacodemon_walk" + "snd_sight" "monster_demon_cacodemon_sight" + "snd_sight2" "monster_demon_cacodemon_sight2" + "snd_chatter" "monster_demon_cacodemon_chatter" + "snd_chatter_combat" "monster_demon_cacodemon_chatter" + "snd_melee" "monster_demon_cacodemon_melee" + "snd_pain" "monster_demon_cacodemon_pain" + "snd_attackmissile" "monster_demon_cacodemon_attackmissile" + "snd_death" "monster_demon_cacodemon_die" + "snd_burn" "monster_demon_cacodemon_burn" + + "fx_teleport" "fx/teleporter_fly.fx" + "fx_teleport1" "fx/teleporter1_fly.fx" + "fx_teleport2" "fx/teleporter2_fly.fx" + "fx_teleport3" "fx/teleporter3_fly.fx" +} + +entityDef damage_cacodemon_fireball { + "damage" "12" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "10" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + "smoke_wound_flesh" "bloodwound.smoke" +} + +entityDef damage_cacodemon_fireball_splash { + "damage" "5" + "radius" "48" +} + +entityDef projectile_cacodemon_fireball { + "spawnclass" "idProjectile" + "mins" "-6 -6 -6" + "maxs" "6 6 6" + "model" "caco_lightningball.prt" + + "def_damage" "damage_cacodemon_fireball" + "def_splash_damage" "damage_cacodemon_fireball_splash" + + "launchFromBarrel" "1" + "health" "5" // amount of damage projectile can take if damaged (0 means it can't be destroyed) + "velocity" "325 0 -350" // how fast the projectile leaves the gun (or distance if fuse is 0) + "angular_velocity" "0 0 0" // how the projectile is rotating when it leaves the gun + "thrust" "0" // the rate of acceleration (always in the direction of the projectiles model) + "thrust_start" "0" // when to start accelerating + "thrust_end" "0" // when to stop accelerating + "linear_friction" "0" // "air" friction + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0" // how much speed a projectile retains when it bounces off of objects (coefficient of restitution). 0 means no bounce. + "mass" "500" + "gravity" "0" // how much gravity affects the trajectory. gravity direction is same as the entity that fired it. + "fuse" "20" // how long before the projectile is removed or self-detonates. Use 0 for beam weapons (velocity == distance). + + "detonate_on_fuse" "0" // whether projectile should detonate when it's fuse runs out + "detonate_on_death" "1" // whether projectile should detonate when it's "killed" (health runs out) + "detonate_on_world" "1" // whether projectile should detonate when it hits an obstacle + "detonate_on_actor" "1" // whether projectile should detonate when it hits a character in the game + + "impact_damage_effect" "0" // whether projectile causes blood splats from characters that bleed + "impact_gib" "1" // whether projectile can gib a character or not (for example: bullets don't gib, but rockets do) + + "mtr_detonate" "textures/decals/ballburn01" + "decal_size" "75" + + //"smoke_fly" "caco_lightningball.prt" // particle effect while in the air + "smoke_detonate" "" // particle effect when detonates + "smoke_residue" "" // particle effect while in the air + "smoke_bounce" "" // particle effect when bounces + "smoke_fuse" "" // particle effect when removed from fuse expiring + + "model_detonate" "caco_lightninghit.prt" + + "debris_count" "3" + "def_debris" "debris_largeshrapnel" + "def_shrapnel" "debris_shrapnel" + + "mtr_light_shader" "lights/impflyflash" + "light_color" "0.9 0.7 0.05" + "light_radius" "160" + "light_offset" "0 0 0" + + + "mtr_explode_light_shader" "lights/impflash" + "explode_light_color" "3.6 3.0 0.5" + "explode_light_radius" "320" + "explode_light_fadetime" "1" + + "snd_explode" "caco_projectile_impact" + "snd_fly" "caco_projectile" // particle effect while in the air +} + +entityDef melee_cacodemon { + "damage" "20" + "kickDir" "1 0 0" + //"snd_hit" "monster_flying_cacodemon_hit" + //"snd_miss" "monster_flying_cacodemon_miss" + "snd_hit" "monster_demon_pinky_melee_hit" + "snd_miss" "monster_demon_pinky_melee_miss" + + "mtr_blob" "bite" + "blob_time" "300" + "blob_x" "0" + "blob_y" "-90" + "blob_width" "650" + "blob_height" "650" + + "knockback" "100" + "kick_time" "400" + "kick_amplitude" "1" + "dv_time" "100" +} diff --git a/base/def/monster_flying_lostsoul.def b/base/def/monster_flying_lostsoul.def new file mode 100644 index 00000000..116e9670 --- /dev/null +++ b/base/def/monster_flying_lostsoul.def @@ -0,0 +1,139 @@ +/*********************************************************************** + + monster_flying_lostsoul.def + +***********************************************************************/ + +export fred { + options -prefix LOST_ -keep lost_flame1 -parent lost_flame1 Head -sourcedir models/monsters/lost/animation/cycles -destdir models/md5/monsters/lostsoul + + mesh idle1.mb -dest lostsoul + + anim initial.mb + anim idle1.mb + anim walk1.mb + anim run1.mb + anim sight.mb + anim attack1.mb + anim attack2.mb + anim pain1.mb + anim pain2.mb + anim death1.mb + anim charge.mb + +} + +model monster_flying_lostsoul { + mesh models/md5/monsters/lostsoul/lostsoul.md5mesh + channel torso ( *origin ) + + anim af_pose models/md5/monsters/lostsoul/initial.md5anim + + anim initial models/md5/monsters/lostsoul/initial.md5anim + anim idle models/md5/monsters/lostsoul/walk1.md5anim //models/md5/monsters/lostsoul/idle1.md5anim + anim fly models/md5/monsters/lostsoul/walk1.md5anim //models/md5/monsters/lostsoul/run1.md5anim + anim sight models/md5/monsters/lostsoul/sight.md5anim { + frame 23 sound_voice snd_sight + } + anim melee_attack1 models/md5/monsters/lostsoul/attack1.md5anim { + frame 9 melee melee_lostsoul + } + anim melee_attack2 models/md5/monsters/lostsoul/attack2.md5anim { + frame 19 melee melee_lostsoul + } + anim pain1 models/md5/monsters/lostsoul/pain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain2 models/md5/monsters/lostsoul/pain2.md5anim { + frame 1 sound_voice snd_pain + } + anim charge models/md5/monsters/lostsoul/charge.md5anim +} + +entityDef monster_flying_lostsoul { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterFlyingLostsoul" + "model" "monster_flying_lostsoul" + "model_death" "lostsoul_pop.prt" + //"ragdoll" "monster_demon_lost" + "size" "24 24 24" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "20" + "melee_range" "20" + "fly_offset" "-20" + "turn_rate" "360" + "fly_speed" "140" + "offsetModel" "0 0 16" + "fly_seek_scale" "4" + "fly_roll_max" "45" + "fly_roll_scale" "90" + "fly_pitch_scale" "45" + "fly_pitch_max" "30" + + "bone_flytilt" "Head" + + "damage_zone head" "*Head" + + "smokeparticleSystem" "lost_flame1" + "smokeparticleSystem2" "lost_flame2-lost_flame1" + "smoke_pain" "lostsoulpain.smoke" + "smoke_death" "lostsouldeath.smoke" + + "snd_sight" "monster_demon_lostsoul_sight" + "snd_chatter" "monster_demon_lostsoul_chatter" + "snd_chatter_combat" "monster_demon_lostsoul_chatter" + "snd_pain" "monster_demon_lostsoul_pain" + "snd_charge" "monster_demon_lostsoul_charge" + "snd_chomp" "monster_demon_lostsoul_chomp" + "snd_death" "monster_demon_lostsoul_death" + "snd_ambient" "monster_demon_lostsoul_ambient" + + "fx_teleport" "fx/teleporter_fly.fx" + "fx_teleport1" "fx/teleporter1_fly.fx" + "fx_teleport2" "fx/teleporter2_fly.fx" + "fx_teleport3" "fx/teleporter3_fly.fx" + +} + +entityDef melee_lostsoul { + // melee specific parameters + "snd_hit" "monster_demon_lostsoul_chomp" + "snd_miss" "monster_demon_lostsoul_chomp" + "kickDir" "1 0 0" + + // damage parameters + "damage" "12" + "mtr_blob" "bite" + "blob_time" "300" + "blob_x" "0" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + "knockback" "30" + "kick_time" "500" + "kick_amplitude" "2" + "dv_time" "200" +} + +entityDef melee_lostsoul_charge { + // melee specific parameters + "snd_hit" "monster_demon_lostsoul_chomp" + "snd_miss" "monster_demon_lostsoul_chomp" + "kickDir" "1 0 0" + + // damage parameters + "damage" "12" + "mtr_blob" "leftSmack" + "blob_time" "300" + "blob_x" "0" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + "knockback" "80" + "kick_time" "500" + "kick_amplitude" "4" + "dv_time" "200" +} diff --git a/base/def/monster_turret.def b/base/def/monster_turret.def new file mode 100644 index 00000000..b6d7aa3f --- /dev/null +++ b/base/def/monster_turret.def @@ -0,0 +1,154 @@ +/*********************************************************************** + + monster_turret.def + +***********************************************************************/ + +export fred { + options -prefix TURRET_ -keep flash barrel-sourcedir models/mapobjects/turrets/cycles -destdir models/md5/items/turret1 + mesh idle.mb -dest turret + anim idle.mb +} + +entityDef monster_turret { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterTurret" + "model" "monster_turret" + "mins" "-12 -12 -24" + "maxs" "12 12 0" + "team" "1" + "rank" "0" + "health" "100" + "turn_rate" "0" + "bleed" "0" + "on_activate" "" + "fov" "360" + "aas" "" + + "def_projectile" "projectile_bullet_turret" + "projectile_spread" "0" + "num_projectiles" "1" + "attack_cone" "360" + "attack_accuracy" "1" + "smoke_weapon" "cgsmoke.smoke" + + "head_focus_rate" "0.15" + + "bone_focus" "barrel" + "bone_leftEye" "" + "bone_rightEye" "" + + "look_min" "-12 -180 0" + "look_max" "90 180 0" + "look_joint aim" "1 1 0" + + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" + + "snd_wakeup" "char_sentry_active" //TEMP + "snd_shutdown" "char_sentry_destroyed" //TEMP + "snd_windup" "monster_zombie_commando_windup" + "snd_winddown" "monster_zombie_commando_winddown" + //"snd_fire" "player_chaingun_fire" + "snd_fire" "monster_turret_fire" +} + +entityDef monster_turret_light { + "inherit" "monster_turret" + + "light" "1" + "light_distance" "640" + "mtr_light" "lights/flashlight5" + "skin_light_off" "" + "skin_light_on" "" +} + +model monster_turret { + mesh models/md5/items/turret1/turret.md5mesh + anim idle models/md5/items/turret1/idle.md5anim +} + +entityDef damage_bullet_turret { + "damage" "6" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "1" + + "smoke_wound_flesh" "bloodwound.smoke" + "mtr_wound_flesh" "textures/decals/hurt02" + "mtr_splat_flesh" "textures/decals/dsplat2" + "mtr_splat_flesh2" "textures/decals/dsplat5" + "mtr_splat_flesh3" "textures/decals/dsplat7" + "mtr_splat_flesh4" "textures/decals/dsplat11" + "snd_flesh" "bullet_impact_flesh" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" +} + +entityDef projectile_bullet_turret { + "spawnclass" "idProjectile" + "mins" "-1 -1 -1" + "maxs" "1 1 1" + "cone" "3" + "scale" "0.1" + "noshadows" "1" + "tracers" "1" + "model_tracer" "models/particles/tracer/tracer.lwo" + "snd_tracer" "bullet_flight" + "snd_ricochet" "bullet_ricochet" + "snd_impact" "bullet_impact_metal" + + "def_damage" "damage_bullet_turret" + + "launchFromBarrel" "1" + "health" "0" + "velocity" "2000 0 0" // slowed down for tracer effect + "angular_velocity" "0 0 0" + "thrust" "0" + "thrust_start" "0" + "thrust_end" "0" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0.6" + "mass" "2" + "gravity" "0" + "fuse" "4" + + "detonate_on_fuse" "0" + "detonate_on_death" "0" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "1" + "impact_gib" "1" + + "mtr_detonate" "textures/decals/bulleth02" + "decal_size" "10" + + "smoke_fly" "" + "smoke_detonate" "smokeandspark.smoke" + "smoke_bounce" "" //particles/bullet_sparks.particle" + "smoke_fuse" "" + + "mtr_light_shader" "" + "light_color" "0 0 0" + "light_radius" "0" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "" + "explode_light_color" "0 0 0" + "explode_light_radius" "0" + "explode_light_fadetime" "0" +} diff --git a/base/def/monster_zombie_base.def b/base/def/monster_zombie_base.def new file mode 100644 index 00000000..d021cece --- /dev/null +++ b/base/def/monster_zombie_base.def @@ -0,0 +1,170 @@ +/*********************************************************************** + + Zombies + + This should eventually go away + +***********************************************************************/ + +entityDef zombie_default { + "inherit" "monster_default" + "blink_min" "2.0s" + "blink_max" "8.0" + + "head_look" "1" + + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + + // gibs common to all zombies + "gib" "1" + + "snd_gibbed" "sound_giblets" + "snd_bounce" "ragdoll_impact" + + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "Chest" + "dropGibItem1Offset" "0 0 16" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + "def_dropGibItem9" "moveable_item_skull_pork" + "dropGibItem9Joint" "Headcontrol" + "dropGibItem9Offset" "0 0 16" + +} + +export fred { + options -prefix ZOMBIE_ -keep eyecontrol rshldrpad lshldrpad Lknee Rknee Body Body2 Lhand Lhand1 Rhand Rhand1 headcontrol neckcontrol loneckcontrol SPINNER Rball_r Rtoe_r Lball_r Ltoe_r Chest Shoulders Luparm_orbit Ruparm_orbit Belly Lrib Rrib chair RHANDCONNECTOR LHANDCONNECTOR -parent RHANDCONNECTOR Rhand1 -parent LHANDCONNECTOR Lhand1 -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -sourcedir models/monsters/zombie/cycles/idles -destdir models/md5/monsters/zombies + + addoptions -align ALL + + mesh npcs_mesh2.mb -range 1 1 -dest labcoatzombie -keepmesh labcoatmesh + mesh npcs_mesh2.mb -range 1 1 -dest suitzombie -keepmesh suitmesh + mesh npcs_mesh2.mb -range 1 1 -dest jumpsuitzombie -keepmesh jumpsuitmesh + mesh npcs_mesh2.mb -range 1 1 -dest tshirtzombie -keepmesh soldiermesh + mesh npcs_mesh2.mb -range 1 1 -dest marinezombie -keepmesh marinebodymesh + //mesh npcs_mesh2.mb -range 1 1 -dest skeletonzombie -keepmesh skeletonmesh +} + + + +export fred { + options -prefix ZOMBIE_ -keep eyecontrol rshldrpad lshldrpad Lknee Rknee Body Body2 Lhand Lhand1 Rhand Rhand1 headcontrol neckcontrol loneckcontrol SPINNER Rball_r Rtoe_r Lball_r Ltoe_r Chest Shoulders Luparm_orbit Ruparm_orbit Belly Lrib Rrib chair RHANDCONNECTOR LHANDCONNECTOR -parent RHANDCONNECTOR Rhand1 -parent LHANDCONNECTOR Lhand1 -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER + + addoptions -keepmesh skeletonmesh + + anim maps/fred/marscity_2/zombie_eats_marine.mb -range 35 99 -rotate 180 -dest models/md5/cinematics/marscity_2/zkiller_zombie + + anim maps/eric/commoutside/zombiecam_09.mb -dest models/md5/cinematics/commoutside/zombie_with_camera + + anim maps/fred/delta2a/zoffice1.mb -xyzprecision 0.01 -quatprecision 0.00006 -rotate 90 -dest models/md5/cinematics/delta2a/zoffice1 + anim maps/fred/delta2a/zoffice2.mb -rotate 90 -range 1 80 -dest models/md5/cinematics/delta2a/zoffice2start + anim maps/fred/delta2a/zoffice2.mb -rotate 90 -range 81 200 -dest models/md5/cinematics/delta2a/zoffice2 + anim maps/fred/delta2a/zoffice2_end.mb -rotate 90 -range 201 290 -dest models/md5/cinematics/delta2a/zoffice2end + + anim maps/fred/delta2b/keycardzombie.mb -range 1 1 -rotate 130 -dest models/md5/monsters/zombies/keycardgetupidle + anim maps/fred/delta2b/keycardzombie.mb -range 1 50 -rotate 130 -dest models/md5/monsters/zombies/keycardgetup + + mesh models/monsters/zombie/cycles/idles/pistol_stand.mb -rotate 90 -dest models/md5/monsters/zombies/zombies + + anim models/monsters/zombie/cycles/heads/sechead.mb -rotate 90 -dest models/md5/monsters/zombies/sechead + anim models/monsters/zombie/cycles/heads/zbludhead.mb -rotate 90 -dest models/md5/monsters/zombies/zbludhead + anim models/monsters/zombie/cycles/heads/zsgogshead.mb -rotate 90 -dest models/md5/monsters/zombies/zsgogshead + anim models/monsters/zombie/cycles/heads/zsreghead.mb -rotate 90 -dest models/md5/monsters/zombies/zsreghead + + anim models/monsters/zombie/cycles/heads/blink.mb -rotate 90 -dest models/md5/monsters/zombies/blink + + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks.mb -rotate 90 -range 231 256 -dest models/md5/monsters/zombies/swing1 + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks.mb -rotate 90 -range 257 288 -dest models/md5/monsters/zombies/swing2 + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks.mb -rotate 90 -range 295 332 -dest models/md5/monsters/zombies/swing3 + + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks.mb -rotate 90 -range 480 513 -dest models/md5/monsters/zombies/flashlightswing1 + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks.mb -rotate 90 -range 530 563 -dest models/md5/monsters/zombies/flashlightswing2 + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks.mb -rotate 90 -range 640 704 -dest models/md5/monsters/zombies/flashlightswing3 + + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks2.mb -rotate 180 -range 50 120 -dest models/md5/monsters/zombies/swing4 + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks2.mb -rotate 180 -range 124 176 -dest models/md5/monsters/zombies/swing5 + anim models/monsters/zombie/cycles/attacks/zombie_swing_attacks2.mb -rotate 180 -range 208 248 -dest models/md5/monsters/zombies/zsight2 + + anim models/monsters/zombie/cycles/idles/crawl_n_getup.mb -rotate 90 -dest models/md5/monsters/zombies/zcrawl_n_getup + anim models/monsters/zombie/cycles/idles/crawl_n_getup.mb -range 1 1 -rotate 90 -dest models/md5/monsters/zombies/zcrawl_n_getup_idle + anim models/monsters/zombie/cycles/idles/flashlight_idle.mb -rotate 90 -dest models/md5/monsters/zombies/zflashidle + anim models/monsters/zombie/cycles/idles/flashlight_sight.mb -rotate 90 -dest models/md5/monsters/zombies/zflashsight + + anim models/monsters/zombie/cycles/idles/zombie_idle.mb -rotate 90 -dest models/md5/monsters/zombies/zidle1 + anim models/monsters/zombie/cycles/idles/zombie_sight1.mb -rotate 90 -dest models/md5/monsters/zombies/zsight1 + + anim models/monsters/zombie/cycles/walks/zombiewalk1.mb -cycleStart 60 -rotate 180 -dest models/md5/monsters/zombies/zwalk1 + anim models/monsters/zombie/cycles/walks/flashlightwalk.mb -rotate 180 -dest models/md5/monsters/zombies/flashlightwalk + anim models/monsters/zombie/cycles/walks/getup_from_bench.mb -rotate -90 -dest models/md5/monsters/zombies/getup_from_bench + anim models/monsters/zombie/cycles/walks/getup_from_bench.mb -rotate -90 -range 1 1 -dest models/md5/monsters/zombies/getup_from_bench_idle + + anim models/monsters/zombie/cycles/walks/zombie_eats_zombie_on_desk.mb -range 1 80 -dest models/md5/monsters/zombies/deskeatloop + anim models/monsters/zombie/cycles/walks/zombie_eats_zombie_on_desk.mb -range 81 105 -dest models/md5/monsters/zombies/deskeatgetup + + anim models/monsters/zombie/cycles/walks/zombie_eats_fatty_on_floor.mb -rotate 90 -range 1 60 -dest models/md5/monsters/zombies/flooreatloop + anim models/monsters/zombie/cycles/walks/zombie_getsup_aftereating_fatty_on_floor.mb -rotate 90 -range 61 150 -dest models/md5/monsters/zombies/flooreatgetup + + + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 44 63 -rotate 90 -dest models/md5/monsters/zombies/chestpain1 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 65 83 -rotate 90 -dest models/md5/monsters/zombies/leftarmpain1 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 85 105 -rotate 90 -dest models/md5/monsters/zombies/rightarmpain1 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 108 125 -rotate 90 -dest models/md5/monsters/zombies/chestpain2 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 133 155 -rotate 90 -dest models/md5/monsters/zombies/headpain1 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 163 185 -rotate 90 -dest models/md5/monsters/zombies/leftarmpain2 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 187 215 -rotate 90 -dest models/md5/monsters/zombies/leftarmpain3 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 248 274 -rotate 90 -dest models/md5/monsters/zombies/headpain2 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 308 338 -rotate 90 -dest models/md5/monsters/zombies/rightarmpain2 + + anim maps/fred/underground/crazy_into_zombie.mb -rotate -90 -range 440 550 -dest models/md5/monsters/zombies/crazytransform + + anim maps/fred/underground/airlockencounter.mb -rotate 180 -range 1 80 -dest models/md5/cinematics/underground/airlockfdrag -prefix ZOMBIE2_ + anim maps/fred/underground/airlockencounter.mb -rotate 180 -range 81 150 -dest models/md5/cinematics/underground/airlockfeatloop -prefix ZOMBIE2_ + anim maps/fred/underground/airlockencounter.mb -rotate 180 -range 150 186 -dest models/md5/cinematics/underground/airlockfgetup -prefix ZOMBIE2_ + + + +addoptions -prefix SUIT_ + anim models/monsters/zombie/cycles/idles/zombie_getup2.mb -range 0 0 -rotate 90 -dest models/md5/monsters/zombies/zombie_getup2_pose + anim models/monsters/zombie/cycles/idles/zombie_getup2.mb -rotate 90 -dest models/md5/monsters/zombies/zombie_getup2 + anim models/monsters/zombie/cycles/idles/zombie_getup3.mb -range 0 0 -rotate 90 -dest models/md5/monsters/zombies/zombie_getup3_pose + anim models/monsters/zombie/cycles/idles/zombie_getup3.mb -rotate 90 -dest models/md5/monsters/zombies/zombie_getup3 + anim models/monsters/zombie/cycles/idles/zombie_idle1.mb -rotate 90 -dest models/md5/monsters/zombies/zombie_idle1 + anim models/monsters/zombie/cycles/idles/zombie_idle2.mb -rotate 90 -dest models/md5/monsters/zombies/zombie_idle2 + + anim models/monsters/zombie/cycles/idles/influence_hanging.mb -rotate 90 -dest models/md5/monsters/zombies/influence_hanging + + anim maps/fred/underground/crazy_into_zombie.mb -rotate -90 -range 1 110 -dest models/md5/monsters/zombies/crazybackup + anim maps/fred/underground/crazy_into_zombie_b.mb -rotate -90 -range 112 440 -dest models/md5/monsters/zombies/crazyloop + + anim maps/fred/underground/jamesclimbupledge_stand.mb -range 1 1 -rotate 180 -dest models/md5/cinematics/underground/invasion_ledgeclimb_stand + anim maps/fred/underground/jamesclimbupledge.mb -rotate 180 -dest models/md5/cinematics/underground/invasion_ledgeclimb + +} \ No newline at end of file diff --git a/base/def/monster_zombie_bernie.def b/base/def/monster_zombie_bernie.def new file mode 100644 index 00000000..c6e65318 --- /dev/null +++ b/base/def/monster_zombie_bernie.def @@ -0,0 +1,184 @@ +/*********************************************************************** + +monster_zombie_bernie.def + +***********************************************************************/ + +export fred { + options -prefix BERNIE_ -scale 1.1 -keep Lknee Rknee -align ALL -keep Neck SPINNER Flamewrist Flametrap Flamehips Flamebutt Flamehead Flamepelvis -parent SPINNER Body2 -parent Waist SPINNER -sourcedir models/monsters/zombie/bernie/cycles -destdir models/md5/monsters/zombies/bernie + mesh bernie_mesh.mb -dest bernie + anim af_pose.mb -range 1 1 + anim stand2.mb -dest stand + anim sight1.mb + anim walk1.mb -rotate 90 + anim swings.mb -rotate 90 -range 381 416 -dest swing1 + anim swings.mb -rotate 90 -range 417 470 -dest swing2 + anim swings.mb -rotate 90 -range 477 512 -dest swing3 + anim swings.mb -rotate 90 -range 642 705 -dest swing4 + anim swings2.mb -dest swing5 + anim pain_head.mb -range 287 318 -dest head_pain1 + anim pain_head.mb -range 124 157 -dest head_pain2 + anim pain_head.mb -range 159 186 -dest head_pain3 + anim pain_chest.mb -range 47 73 -dest chest_pain1 + anim pain_chest.mb -range 100 121 -dest chest_pain2 + anim pain_leftarm.mb -range 64 100 -dest leftarm_pain1 + anim pain_leftarm.mb -range 202 233 -dest leftarm_pain2 + anim pain_rightarm.mb -range 36 65 -dest rightarm_pain1 + anim pain_rightarm.mb -range 159 186 -dest rightarm_pain2 + anim spit_attack1.mb + anim fastwalk.mb -rotate -90 -range 97 140 +} + +model monster_zombie_bernie { + mesh models/md5/monsters/zombies/bernie/bernie.md5mesh + + channel torso ( *Waist ) + channel legs ( *origin -*Waist SPINNER ) + + anim af_pose models/md5/monsters/zombies/bernie/af_pose.md5anim + anim ik_pose models/md5/monsters/zombies/bernie/af_pose.md5anim + + anim stand models/md5/monsters/zombies/bernie/stand.md5anim + anim sight models/md5/monsters/zombies/bernie/sight1.md5anim { + frame 1 sound_voice snd_sight + } + anim idle models/md5/monsters/zombies/bernie/stand.md5anim + anim walk models/md5/monsters/zombies/bernie/fastwalk.md5anim { + frame 10 sound_body3 snd_footdrag + frame 6 sound_body2 snd_footstep + frame 29 sound_body2 snd_footstep + frame 37 sound_body snd_footdrag + } + anim melee_attack1 models/md5/monsters/zombies/bernie/swing1.md5anim { + frame 1 sound_voice snd_chatter_combat + frame 11 melee melee_zombie_maint_Right + } + anim melee_attack2 models/md5/monsters/zombies/bernie/swing2.md5anim { + frame 1 sound_voice snd_chatter_combat + frame 26 melee melee_zombie_maint_Right + } + anim melee_attack3 models/md5/monsters/zombies/bernie/swing3.md5anim { + frame 1 sound_voice snd_chatter_combat + frame 14 melee melee_zombie_maint_Left + } + anim melee_attack4 models/md5/monsters/zombies/bernie/swing4.md5anim { + frame 1 sound_voice snd_chatter_combat + frame 11 melee melee_zombie_maint_Right + frame 36 melee melee_zombie_maint_Left + } + anim melee_attack5 models/md5/monsters/zombies/bernie/swing5.md5anim { + frame 1 sound_voice snd_chatter_combat + frame 22 melee melee_zombie_maint_Right + } + anim range_attack1 models/md5/monsters/zombies/bernie/spit_attack1.md5anim { + frame 10 create_missile Jaw + frame 24 launch_missile Jaw + } + + anim pain models/md5/monsters/zombies/bernie/head_pain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head1 models/md5/monsters/zombies/bernie/head_pain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head2 models/md5/monsters/zombies/bernie/head_pain2.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head3 models/md5/monsters/zombies/bernie/head_pain3.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest1 models/md5/monsters/zombies/bernie/chest_pain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest2 models/md5/monsters/zombies/bernie/chest_pain2.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm1 models/md5/monsters/zombies/bernie/leftarm_pain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm2 models/md5/monsters/zombies/bernie/leftarm_pain2.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm1 models/md5/monsters/zombies/bernie/rightarm_pain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm2 models/md5/monsters/zombies/bernie/rightarm_pain2.md5anim { + frame 1 sound_voice snd_pain + } +} + +entityDef monster_zombie_bernie { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieBernie" + "ragdoll" "monster_zombie_bernie" + "model" "monster_zombie_bernie" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "150" + "melee_range" "32" + "anim" "idle" + "attack_cone" "70" + "attack_accuracy" "0" + "mass" "200" + + "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" + + "dropGibItem9Joint" "Head" + + "chatter_min" "3" + "chatter_max" "4" + "chatter_combat_min" "2" + "chatter_combat_max" "2" + + "skin" "skins/monsters/zombies/bernie.skin" + "skin_dropGib" "skins/monsters/zombies/berniegib.skin" + + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Neck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Hips origin Body2" + "damage_scale head" "2" + + //"smokeParticleSystem" "Flamebutt" + "smokeParticleSystem2" "Flametrap" + "smokeParticleSystem3" "Flamehead" + "smokeParticleSystem4" "Flamewrist" + //"smokeParticleSystem5" "Flamehips" + //"smokeParticleSystem6" "Flamepelvis" + + "snd_sight" "bernie_sight" + "snd_footstep" "monster_zombie_commando_footstep" + "snd_footdrag" "bernie_footdrag" + "snd_melee_attack_1" "bernie_attack" + "snd_melee_attack_2" "bernie_attack" + "snd_melee_attack_3" "bernie_attack" + "snd_chatter" "bernie_chatter" + "snd_chatter_combat" "bernie_chatter_combat" + "snd_pain" "bernie_pain" + "snd_death" "bernie_death" + "snd_thud" "monster_zombie_maint_thud" + "snd_swipe" "monster_zombie_maint_swipe" + "snd_ambient" "monster_zombie_ambient_burn" + +} diff --git a/base/def/monster_zombie_boney.def b/base/def/monster_zombie_boney.def new file mode 100644 index 00000000..cf416aba --- /dev/null +++ b/base/def/monster_zombie_boney.def @@ -0,0 +1,169 @@ +/*********************************************************************** + +monster_zombie_boney.def + +***********************************************************************/ + +export james { + options -prefix BERNIE_ -scale 1.1 -keep Lknee Rknee -align ALL -keep Neck SPINNER -parent SPINNER Body2 -parent Waist SPINNER -sourcedir models/monsters/zombie/boney/cycles -destdir models/md5/monsters/zombies/boney + mesh boney_mesh.mb -dest boney + anim af_pose.mb -range 1 1 + anim stand2.mb -dest stand + anim sight1.mb + anim walk1.mb -rotate 90 + anim swings.mb -rotate 90 -range 381 416 -dest swing1 + anim swings.mb -rotate 90 -range 417 470 -dest swing2 + anim swings.mb -rotate 90 -range 477 512 -dest swing3 + anim swings.mb -rotate 90 -range 642 705 -dest swing4 + anim swings2.mb -dest swing5 + anim pain_head.mb -range 287 318 -dest head_pain1 + anim pain_head.mb -range 124 157 -dest head_pain2 + anim pain_head.mb -range 159 186 -dest head_pain3 + anim pain_chest.mb -range 47 73 -dest chest_pain1 + anim pain_chest.mb -range 100 121 -dest chest_pain2 + anim pain_leftarm.mb -range 64 100 -dest leftarm_pain1 + anim pain_leftarm.mb -range 202 233 -dest leftarm_pain2 + anim pain_rightarm.mb -range 36 65 -dest rightarm_pain1 + anim pain_rightarm.mb -range 159 186 -dest rightarm_pain2 + //anim spit_attack1_boney.mb +} + +model monster_zombie_boney { + mesh models/md5/monsters/zombies/boney/boney.md5mesh + channel torso ( *Waist ) + channel legs ( *origin -*Waist SPINNER ) + + anim af_pose models/md5/monsters/zombies/boney/af_pose.md5anim + anim ik_pose models/md5/monsters/zombies/boney/af_pose.md5anim + + anim stand models/md5/monsters/zombies/boney/stand.md5anim + anim sight models/md5/monsters/zombies/boney/sight1.md5anim { + frame 1 sound_voice snd_sight + } + anim idle models/md5/monsters/zombies/boney/stand.md5anim + anim walk models/md5/monsters/zombies/boney/walk1.md5anim { + frame 1 sound_body snd_footdrag + frame 13 sound_body2 snd_footstep + frame 19 sound_body snd_footdrag + frame 33 sound_body2 snd_footstep + frame 37 sound_body snd_footdrag + frame 53 sound_body2 snd_footstep + frame 58 sound_body snd_footdrag + frame 72 sound_body2 snd_footstep + frame 77 sound_body snd_footdrag + frame 92 sound_body2 snd_footstep + } + + anim melee_attack1 models/md5/monsters/zombies/boney/swing1.md5anim { + frame 1 sound_voice snd_melee_attack + frame 11 melee melee_zombie_maint_Right + } + anim melee_attack2 models/md5/monsters/zombies/boney/swing2.md5anim { + frame 1 sound_voice snd_melee_attack + frame 26 melee melee_zombie_maint_Right + } + anim melee_attack3 models/md5/monsters/zombies/boney/swing3.md5anim { + frame 1 sound_voice snd_melee_attack + frame 14 melee melee_zombie_maint_Left + } + anim melee_attack4 models/md5/monsters/zombies/boney/swing4.md5anim { + frame 1 sound_voice snd_melee_attack + frame 11 melee melee_zombie_maint_Right + frame 36 melee melee_zombie_maint_Left + } + anim melee_attack5 models/md5/monsters/zombies/boney/swing5.md5anim { + frame 1 sound_voice snd_melee_attack + frame 22 melee melee_zombie_maint_Right + } + //anim range_attack1 models/md5/monsters/zombies/boney/spit_attack1_boney.md5anim { + // frame 10 create_missile Jaw2 + // frame 24 launch_missile Jaw2 + //} + + anim pain models/md5/monsters/zombies/boney/head_pain1.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_head1 models/md5/monsters/zombies/boney/head_pain1.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_head2 models/md5/monsters/zombies/boney/head_pain2.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_head3 models/md5/monsters/zombies/boney/head_pain3.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_chest1 models/md5/monsters/zombies/boney/chest_pain1.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_chest2 models/md5/monsters/zombies/boney/chest_pain2.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_left_arm1 models/md5/monsters/zombies/boney/leftarm_pain1.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_left_arm2 models/md5/monsters/zombies/boney/leftarm_pain2.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_right_arm1 models/md5/monsters/zombies/boney/rightarm_pain1.md5anim { + frame 1 sound_voice2 snd_pain + } + anim pain_right_arm2 models/md5/monsters/zombies/boney/rightarm_pain2.md5anim { + frame 1 sound_voice2 snd_pain + } +} + +entityDef monster_zombie_boney { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + "ragdoll" "monster_zombie_bernie" + "model" "monster_zombie_boney" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "150" + "melee_range" "32" + "anim" "idle" + //"def_projectile" "projectile_berniefire" + "attack_cone" "70" + "attack_accuracy" "0" + "mass" "200" + + "skin" "skins/monsters/zombies/boney.skin" + "skin_dropGib" "skins/monsters/zombies/boneygib.skin" + + "dropGibItem9Joint" "Head" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body2" + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Neck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Hips origin Body2" + "damage_scale head" "2" + + "snd_sight" "monster_zombie_boney_sight" + "snd_footstep" "monster_zombie_maint_footstep" + "snd_melee_attack" "monster_zombie_boney_attackmelee" + "snd_chatter" "monster_zombie_boney_chatter" + "snd_chatter_combat" "monster_zombie_boney_chatter_combat" + "snd_pain" "monster_zombie_boney_pain" + "snd_death" "monster_zombie_boney_die" + "snd_thud" "monster_zombie_maint_thud" + "snd_swipe" "monster_zombie_maint_swipe" + "snd_footdrag" "bernie_footdrag" +} diff --git a/base/def/monster_zombie_chainsaw.def b/base/def/monster_zombie_chainsaw.def new file mode 100644 index 00000000..1867b968 --- /dev/null +++ b/base/def/monster_zombie_chainsaw.def @@ -0,0 +1,191 @@ +/*********************************************************************** + +monster_zombie_chainsaw.def + +***********************************************************************/ + +export fred { + options -prefix ZJUMP_ -align ALL -parent Loneck Shoulders -parent chainsaw Rhand -sourcedir models/monsters/zombie/jumpsuit/cycles -destdir models/md5/monsters/zjump + + mesh zjump_mesh.mb -dest zjump + anim af_pose.mb + anim sight1.mb + anim sight2.mb + anim sight3.mb + anim idle1.mb + anim idle1cs.mb + anim idle2cs.mb + anim walk1.mb + anim walk1cs.mb + anim walk2cs.mb + anim melee1.mb + anim melee2.mb + anim melee3.mb + anim pain1_head.mb + anim pain1_chest.mb + anim pain1_luparm.mb + anim pain1_ruparm.mb + anim pain1_legs.mb + anim death1.mb + anim death1_getup_attempt1.mb + anim death1_getup1.mb + anim death1_twitch.mb + + anim maps/fred/chainsaw/chainsaw.mb -dest models/md5/cinematics/delta2a/chainsaw + + options -prefix ZJUMP_ -parent Loneck Shoulders -parent chainsaw Rhand + anim models/monsters/combos/hk_throws_chainsawzombie_withcams.mb -dest models/md5/monsters/zjump/thrownbyhk + anim models/monsters/zombie/jumpsuit/mocap/start_chainsaw.mb -range 60 115 -dest models/md5/monsters/zjump/startchainsaw1 + anim models/monsters/zombie/jumpsuit/mocap/start_chainsaw.mb -range 60 144 -dest models/md5/monsters/zjump/startchainsaw2 + anim models/monsters/zombie/jumpsuit/mocap/start_chainsaw.mb -range 60 180 -dest models/md5/monsters/zjump/startchainsaw3 + anim models/monsters/zombie/jumpsuit/mocap/draglegrun.mb -dest models/md5/monsters/zjump/draglegrun + anim models/monsters/zombie/jumpsuit/mocap/draglegrun2.mb -dest models/md5/monsters/zjump/draglegrun2 + anim models/monsters/zombie/jumpsuit/mocap/draglegrun3.mb -rotate 90 -dest models/md5/monsters/zjump/draglegrun3 + //anim maps/fred/delta1/d1e3.mb -range 1 241 -dest models/md5/monsters/zjump/standandcharge + mesh models/characters/player/mocap/nadedrope3ending.mb -dest models/md5/monsters/zjump/d1mesh + anim models/characters/player/mocap/nadedrope3ending.mb -range 1 370 -dest models/md5/monsters/zjump/standandcharge1 +} + +model monster_zombie_chainsaw { + mesh models/md5/monsters/zjump/zjump.md5mesh + skin skins/models/monsters/zjumpcs.skin + + channel torso ( *Waist ) + channel legs ( *Hips origin Body2 ) + + anim af_pose models/md5/monsters/zjump/af_pose.md5anim + anim ik_pose models/md5/monsters/zjump/af_pose.md5anim + anim initial models/md5/monsters/zjump/af_pose.md5anim + + anim sight1 models/md5/monsters/zjump/startchainsaw1.md5anim { + frame 1 sound_voice snd_sight1 + frame 38 sound_weapon snd_pull + frame 41 fx fx/chainsawsmoke.fx + frame 50 sound_voice snd_melee_attack + } + anim "1pull" models/md5/monsters/zjump/startchainsaw1.md5anim { + frame 1 sound_voice snd_sight1 + frame 38 sound_weapon snd_pull + frame 50 sound_voice snd_melee_attack + } + anim sight2 models/md5/monsters/zjump/startchainsaw2.md5anim { + frame 1 sound_voice snd_sight1 + frame 38 sound_weapon snd_pull + frame 41 fx fx/chainsawsmoke.fx + frame 64 sound_weapon snd_pull + frame 69 fx fx/chainsawsmoke.fx + frame 76 sound_voice snd_melee_attack + } + anim sight3 models/md5/monsters/zjump/startchainsaw3.md5anim { + frame 1 sound_voice snd_sight1 + frame 38 sound_weapon snd_pull + frame 41 fx fx/chainsawsmoke.fx + frame 64 sound_weapon snd_pull + frame 69 fx fx/chainsawsmoke.fx + frame 90 sound_weapon snd_pull + frame 102 sound_voice snd_melee_attack + frame 93 fx fx/chainsawsmoke.fx + frame 100 fx fx/chainsawsmoke.fx + frame 110 fx fx/chainsawsmoke.fx + frame 120 fx fx/chainsawsmoke.fx + } + anim idle models/md5/monsters/zjump/idle1cs.md5anim + anim idle1 models/md5/monsters/zjump/idle1cs.md5anim { + frame 1 sound_body snd_idle + } + anim idle2 models/md5/monsters/zjump/idle2cs.md5anim { + frame 1 sound_body snd_idle + } + anim walk1 models/md5/monsters/zjump/draglegrun3.md5anim { + frame 1 sound_body snd_idle + } + anim melee_attack1 models/md5/monsters/zjump/melee1.md5anim { + frame 1 sound_voice snd_melee_attack + frame 16 attack_begin melee_zombie_chainsaw_Right + frame 23 attack_end + } + anim melee_attack2 models/md5/monsters/zjump/melee2.md5anim { + frame 1 sound_voice snd_melee_attack + frame 14 attack_begin melee_zombie_chainsaw_Left + frame 22 attack_end + } + anim pain models/md5/monsters/zjump/pain1_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/zjump/pain1_head.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/zjump/pain1_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/zjump/pain1_luparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/zjump/pain1_ruparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_legs models/md5/monsters/zjump/pain1_legs.md5anim { + frame 1 sound_voice snd_pain + } + anim death1_getup_attempt1 models/md5/monsters/zjump/death1_getup_attempt1.md5anim { + ai_no_turn + frame 1 call overrideLegs + } + anim death1_getup1 models/md5/monsters/zjump/death1_getup1.md5anim { + ai_no_turn + frame 1 call overrideLegs + } + + anim death1_twitch models/md5/monsters/zjump/death1_twitch.md5anim +} + +entityDef monster_zombie_chainsaw { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + "model" "monster_zombie_chainsaw" + "ragdoll" "monster_zombie_chainsaw" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "125" + "melee_range" "40" + "smoke_particleSystem" "pinkysmoke.smoke" + "smoke_pain" "pinkysmokepain.smoke" + "particleBone" "starter" + "smoke_wound_metal" "bulletricochet.prt" + + "skin_dropGib" "skins/models/monsters/zjumpgib.skin" + + "mass" "150" + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*loneckcontrol" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Hips origin Body2" + + "damage_scale head" "2" + + "snd_sight1" "monster_zombie_fat_sight1" + "snd_sight2" "monster_zombie_fat_sight2" + "snd_sight3" "monster_zombie_fat_sight3" + "snd_sight4" "monster_zombie_fat_sight4" + "snd_sight5" "monster_zombie_fat_sight5" + "snd_sight6" "monster_zombie_fat_sight6" + "snd_sight7" "monster_zombie_fat_sight7" + + "snd_idle" "monster_zombie_chainsaw_idle" + "snd_footstep" "monster_zombie_fat_footstep" + "snd_chatter" "monster_zombie_fat_chatter" + "snd_chatter_combat" "monster_zombie_fat_chatter_combat" + "snd_pain" "monster_zombie_fat_pain" + "snd_melee_attack" "monster_zombie_chainsaw_attack1" + "snd_melee_attack_1" "monster_zombie_fat_attackmelee_1" + "snd_melee_attack_2" "monster_zombie_fat_attackmelee_2" + "snd_melee_attack_3" "monster_zombie_fat_attackmelee_3" + "snd_thud" "monster_zombie_fat_thud" + "snd_pull" "monster_zombie_chainsaw_pull" + "snd_release" "monster_zombie_chainsaw_release" +} diff --git a/base/def/monster_zombie_commando.def b/base/def/monster_zombie_commando.def new file mode 100644 index 00000000..33d2688f --- /dev/null +++ b/base/def/monster_zombie_commando.def @@ -0,0 +1,352 @@ +/*********************************************************************** + +monster_zombie_commando + +***********************************************************************/ + +export fred { + options -prefix ZCT_ -parent Tentacle Rhand -keep Lknee Rknee waist_orientation -parent waist_orientation Body2 -parent waist waist_orientation + + anim maps/fred/delta2a/malzctcolumns.mb -dest models/md5/monsters/zct/delta2a_leapdown + anim maps/fred/monorail/raisecommando2.mb -dest models/md5/cinematics/monorail/zct + + addoptions -align All -sourcedir models/monsters/zombie/zct/cycles -destdir models/md5/monsters/zct + + mesh zct_mesh.mb -dest zct + anim ZC_tent_INITIAL.mb -dest initial + anim ZC_tent_WALK.mb -dest walk1 + anim run5.mb -dest zctrun5 + anim zctleap1.mb -dest zctleap1 + anim alert_idle2.mb -dest zctidle + anim sight1.mb -dest zctsight1 + anim sight4.mb -dest zctsight2 + anim ZC_tent_PAIN_HEAD.mb -dest pain_head + anim ZC_tent_PAIN_CHEST.mb -dest pain_chest + anim ZC_tent_PAIN_RUPARM.mb -dest pain_ruparm + anim ZC_tent_PAIN_LUPARM.mb -dest pain_luparm + anim ZC_tent_ATTACK1.mb -dest range_tentacle + anim ZC_tent_PUNCH2.mb -dest punch2 + anim ZC_tent_PUNCH3.mb -dest punch3 + anim ZC_tent_KICK.mb -dest kick1 + + anim melee_tent.mb -dest melee_tent + anim stab1.mb -dest stab1 + anim teleportin.mb -dest teleportin +} + +model monster_zombie_commando { + mesh models/md5/monsters/zct/zct.md5mesh + + channel torso ( *waist ) + channel legs ( *Hips origin Body2 waist_orientation ) + + anim af_pose models/md5/monsters/zct/initial.md5anim + anim ik_pose models/md5/monsters/zct/initial.md5anim + + anim teleport models/md5/monsters/zct/teleportin.md5anim { + + frame 3 sound_body snd_footstep + frame 4 sound_body snd_footstep + frame 52 sound_voice snd_sight1 + } + anim idle models/md5/monsters/zct/zctidle.md5anim + anim stand models/md5/monsters/zct/zctidle.md5anim + anim walk models/md5/monsters/zct/walk1.md5anim { + frame 12 sound_body snd_footstep + frame 27 sound_body snd_footstep + frame 45 sound_body snd_footstep + frame 60 sound_body snd_footstep + } + anim run models/md5/monsters/zct/zctrun5.md5anim { + frame 3 sound_body snd_footstep + frame 12 sound_body snd_footstep + frame 23 sound_body snd_footstep + frame 32 sound_body snd_footstep + frame 41 sound_body snd_footstep + frame 52 sound_body snd_footstep + } + anim sight1 models/md5/monsters/zct/zctsight1.md5anim { + //frame 1 call overrideLegs + frame 8 sound_voice snd_sight1 + } + anim sight2 models/md5/monsters/zct/zctsight2.md5anim { + //frame 1 call overrideLegs + frame 8 sound_voice snd_sight2 + } + anim pain models/md5/monsters/zct/pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/zct/pain_head.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/zct/pain_luparm.md5anim { + frame 1 sound_voice snd_pain + frame 15 sound_body snd_footstep + } + anim pain_right_arm models/md5/monsters/zct/pain_ruparm.md5anim { + frame 1 sound_voice snd_pain + frame 14 sound_body snd_footstep + } + anim pain_legs models/md5/monsters/zct/pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/zct/pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + + anim melee_attack1 models/md5/monsters/zct/punch2.md5anim { + //frame 1 call overrideLegs + frame 9 sound_voice snd_melee_attack_1 + frame 9 sound_body snd_footstep + frame 18 melee melee_commando_right + frame 31 sound_body snd_footstep + } + anim melee_attack2 models/md5/monsters/zct/punch3.md5anim { + //frame 1 call overrideLegs + frame 11 melee melee_commando_left + frame 11 sound_body snd_footstep + frame 12 sound_voice snd_melee_attack_2 + frame 18 sound_body snd_footstep + } + anim melee_attack3 models/md5/monsters/zct/kick1.md5anim { + frame 1 call overrideLegs + frame 4 sound_voice snd_melee_attack_3 + frame 4 melee melee_commando_push + frame 15 sound_body snd_footstep + } + anim melee_attack4 models/md5/monsters/zct/melee_tent.md5anim { + frame 1 call overrideLegs + frame 9 sound_weapon snd_tentacle_out + frame 10 object_call tentacle_attack_start + frame 10 sound_voice snd_melee_attack_5 + frame 10 sound_body snd_footstep + frame 12 object_call tentacle_attack_end + frame 15 sound_body snd_footstep + frame 23 sound_body snd_footstep + //frame 20 sound_body snd_tentacle_in + } + + anim range_attack1 models/md5/monsters/zct/range_tentacle.md5anim { + frame 1 call overrideLegs + frame 15 sound_voice snd_range_attack_1 + frame 16 sound_body snd_footstep + frame 18 sound_weapon snd_tentacle_out + frame 20 object_call tentacle_attack_start + frame 27 object_call tentacle_attack_end + //frame 28 sound_weapon snd_tentacle_in + frame 29 sound_body snd_footstep + frame 36 sound_body snd_footstep + } + anim range_attack2 models/md5/monsters/zct/zctleap1.md5anim { + frame 1 call overrideLegs + frame 3 sound_body snd_footstep + frame 4 sound_voice snd_range_attack_2 + frame 24 sound_body snd_footstep + frame 24 sound_body snd_tentacle_out + frame 26 sound_body snd_footstep + frame 28 object_call tentacle_attack_start + //frame 37 sound_item snd_tentacle_in + frame 38 sound_body snd_footstep + frame 39 sound_body snd_footstep + frame 40 object_call tentacle_attack_end + frame 41 sound_body snd_footstep + } + anim range_attack3 models/md5/monsters/zct/stab1.md5anim { + frame 1 call overrideLegs + frame 7 sound_body snd_footstep + frame 11 sound_body snd_footstep + frame 12 sound_voice snd_range_attack_3 + frame 13 sound_weapon snd_tentacle_out + frame 14 object_call tentacle_attack_start + frame 31 object_call tentacle_attack_end + frame 38 sound_weapon snd_tentacle_in + } +} + +entityDef monster_zombie_commando { + "inherit" "zombie_default" + "model" "monster_zombie_commando" + "ragdoll" "monster_zombie_commando" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieCommandoTentacle" + "gib" "0" + //"offsetModel" "-12 0 0" + + + "size" "48 48 80" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "170" + "melee_range" "40" + "turn_rate" "360" + "chatter_min" "3" + "chatter_max" "8" + "chatter_combat_min" "3" + "chatter_combat_max" "6" + "mass" "250" + + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-chest" + + "blockedRadius" "20" + "blockedMoveTime" "500" + "blockedAttackTime" "500" + + "ik_numLegs" "2" + "ik_footSize" "0" + "ik_waist" "Body2" + "ik_foot1" "Ltoe_r" + "ik_foot2" "Rtoe_r" + "ik_ankle1" "Lankle_r" + "ik_ankle2" "Rankle_r" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + + "damage_zone head" "*loneck" + "damage_zone chest" "*waist -*Rshldr -*Lshldr -*loneck" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips origin Body2" + + "damage_scale head" "2" + + "snd_tentacle_out" "monster_zombie_commando_tentacle_out" + "snd_tentacle_in" "monster_zombie_commando_tentacle_in" + "snd_sight1" "monster_zombie_commando_sight1" + "snd_sight2" "monster_zombie_commando_sight2" + "snd_chatter" "monster_zombie_commando_chatter" + "snd_chatter_combat" "monster_zombie_commando_chatter_combat" + "snd_pain" "monster_zombie_commando_pain" + //"snd_attackmissile" "monster_zombie_commando_attackmissile" + "snd_melee_attack_1" "monster_zombie_commando_attackmelee_1" + "snd_melee_attack_2" "monster_zombie_commando_attackmelee_2" + "snd_melee_attack_3" "monster_zombie_commando_attackmelee_3" + "snd_melee_attack_4" "monster_zombie_commando_attackmelee_4" + "snd_melee_attack_5" "monster_zombie_commando_attackmelee_5" + "snd_death" "monster_zombie_commando_death" + "snd_thud" "monster_zombie_commando_thud" + "snd_footstep" "monster_zombie_commando_footstep" + "snd_breath" "monster_zombie_commando_breath" + "snd_inhale" "monster_zombie_commando_breath_inhale" + "snd_exhale" "monster_zombie_commando_breath_exhale" + "snd_bounce" "ragdoll_impact" + "snd_bodyroll" "monster_zombie_commando_body_roll" + "snd_range_attack_1" "monster_zombie_commando_range_attack_1" + "snd_range_attack_2" "monster_zombie_commando_range_attack_2" + "snd_range_attack_3" "monster_zombie_commando_range_attack_3" + "snd_burn" "monster_demon_tick_burn" + + // For Precache, include entitydefs that are referenced in script + "def_tentacle" "melee_commandoTentacle" +} + +entityDef melee_commando_right { + "damage" "12" + "kickDir" "0 1 0" + + //"mtr_blob" "genericDamage" + //"blob_time" "300" + //"blob_size" "400" + //"blob_offset_x" "400" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "-140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "55" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + + "snd_hit" "fist_impact_flesh" + "snd_miss" "fist_whoosh" +} + +entityDef melee_commando_left { + "damage" "12" + "kickDir" "0 -1 0" + + //"mtr_blob" "genericDamage" + //"blob_time" "300" + //"blob_size" "400" + //"blob_offset_x" "400" + + "mtr_blob" "leftSmack" + "blob_time" "600" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "45" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + + "snd_hit" "fist_impact_flesh" + "snd_miss" "fist_whoosh" +} + +entityDef melee_commando_push { + "damage" "12" + "kickDir" "1 0 1" + + //"mtr_blob" "genericDamage" + //"blob_time" "300" + //"blob_size" "400" + //"blob_offset_x" "400" + + "mtr_blob" "leftSmack" + "blob_time" "300" + "blob_x" "50" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "65" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + + "snd_hit" "fist_impact_flesh" + "snd_miss" "fist_whoosh" +} + +entityDef melee_commandoTentacle { + "damage" "12" + "melee_bone" "joint13" + + "kickDir" "1 0 0" + + //"mtr_blob" "genericDamage" + //"blob_time" "300" + //"blob_size" "400" + //"blob_offset_x" "400" + + "mtr_blob" "tentacle_smack" + "blob_time" "300" + "blob_x" "50" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "100" + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" + + "snd_hit" "monster_zombie_commando_melee_tentacle_hit" + "snd_miss" "monster_zombie_commando_melee_tentacle_miss" +} diff --git a/base/def/monster_zombie_commando_cgun.def b/base/def/monster_zombie_commando_cgun.def new file mode 100644 index 00000000..78cbdf81 --- /dev/null +++ b/base/def/monster_zombie_commando_cgun.def @@ -0,0 +1,921 @@ +/*********************************************************************** + + monster_zombie_commando_cgun.def + +***********************************************************************/ + +export James { + + options -prefix ZCC_ -keep Lknee Rknee eject flash chain_root ROT barrel -align movement -parent barrel chain_root -parent flash barrel -parent eject chain_root -parent spine_1 ROT -parent ROT Body -parent chain_root gun -sourcedir models/monsters/zombie/zcc/cycles -destdir models/md5/monsters/zcc + + + // -xyzprecision 0.01 -quatprecision 0.00006 + + mesh zcc_mesh.mb -dest zcc + anim chaingun_idle.mb + anim chaingun_step_left.mb + anim chaingun_step_right.mb + anim chaingun_walk.mb + anim chaingun_pain_chest.mb + anim chaingun_pain_head.mb + anim chaingun_pain_left.mb + anim chaingun_pain_right.mb + anim chaingun_run.mb + anim chaingun_evade_left.mb + anim chaingun_evade_right.mb + anim chaingun_sight.mb + anim chaingun_on_activate.mb + anim chaingun_reload.mb + + anim chaingun_af_pose.mb + anim chaingun_crouch_range_attack.mb -range 1 12 -dest chaingun_crouch_range_attack + anim chaingun_crouch_range_attack.mb -range 13 52 -dest chaingun_crouch_range_attack_loop + anim chaingun_crouch_range_attack.mb -range 53 65 -dest chaingun_crouch_range_attack_end + + anim chaingun_crouch_range_aim.mb -dest chaingun_crouch_range_attack_aim + anim chaingun_crouch_left_pain.mb + anim chaingun_crouch_right_pain.mb + + anim chaingun_stand_fire.mb -range 1 6 -dest chaingun_raise + anim chaingun_stand_fire.mb -range 7 51 + anim chaingun_stand_fire.mb -range 52 65 -dest chaingun_lower + anim chaingun_stand_aim.mb + + anim chaingun_leanout_right.mb -range 1 1 -dest chaingun_wallleanright_A + anim chaingun_leanout_right.mb -range 1 15 -dest chaingun_wallleanright_B + anim chaingun_leanout_right.mb -range 16 60 -dest chaingun_wallleanright_C + anim chaingun_leanout_right.mb -range 61 100 -dest chaingun_wallleanright_D + + anim chaingun_leanout_left.mb -range 1 1 -dest chaingun_wallleanleft_A + anim chaingun_leanout_left.mb -range 1 15 -dest chaingun_wallleanleft_B + anim chaingun_leanout_left.mb -range 16 60 -dest chaingun_wallleanleft_C + anim chaingun_leanout_left.mb -range 61 100 -dest chaingun_wallleanleft_D + + anim chaingun_wallstep_right.mb -range 1 1 -dest chaingun_wallstepright_A + anim chaingun_wallstep_right.mb -range 1 15 -dest chaingun_wallstepright_B + anim chaingun_wallstep_right.mb -range 16 62 -dest chaingun_wallstepright_C + anim chaingun_wallstep_right.mb -range 63 75 -dest chaingun_wallstepright_D + + anim chaingun_wallstep_left.mb -range 1 1 -dest chaingun_wallstepleft_A + anim chaingun_wallstep_left.mb -range 1 15 -dest chaingun_wallstepleft_B + anim chaingun_wallstep_left.mb -range 16 62 -dest chaingun_wallstepleft_C + anim chaingun_wallstep_left.mb -range 63 75 -dest chaingun_wallstepleft_D + + anim chaingun_crate_range_attack.mb -range 1 1 -dest chaingun_crate_up_A + anim chaingun_crate_range_attack.mb -range 1 18 -dest chaingun_crate_up_B + anim chaingun_crate_range_attack.mb -range 19 65 -dest chaingun_crate_up_C + anim chaingun_crate_range_attack.mb -range 66 85 -dest chaingun_crate_up_D + + anim chaingun_wallrot_right.mb -range 1 1 -dest chaingun_wallrotright_A + anim chaingun_wallrot_right.mb -range 1 15 -dest chaingun_wallrotright_B + anim chaingun_wallrot_right.mb -range 16 60 -dest chaingun_wallrotright_C + anim chaingun_wallrot_right.mb -range 61 100 -dest chaingun_wallrotright_D + + anim chaingun_wallrot_left.mb -range 1 1 -dest chaingun_wallrotleft_A + anim chaingun_wallrot_left.mb -range 1 15 -dest chaingun_wallrotleft_B + anim chaingun_wallrot_left.mb -range 16 60 -dest chaingun_wallrotleft_C + anim chaingun_wallrot_left.mb -range 61 100 -dest chaingun_wallrotleft_D + +} + +model monster_zombie_commando_cgun { + mesh models/md5/monsters/zcc/zcc.md5mesh + channel torso ( *spine_1 ) + channel legs ( *origin -*spine_1 ROT ) + + anim idle models/md5/monsters/zcc/chaingun_idle.md5anim { + frame 1 sound_voice monster_zombie_commando_breath_inhale + frame 150 sound_voice monster_zombie_commando_breath_exhale + } + + + anim reload models/md5/monsters/zcc/chaingun_reload.md5anim { + frame 9 sound_body monster_zombie_commando_cgun_reload + } + + anim stand models/md5/monsters/zcc/chaingun_idle.md5anim { + frame 1 sound_voice monster_zombie_commando_breath_inhale + frame 150 sound_voice monster_zombie_commando_breath_exhale + } + + anim range_attack_loop1 models/md5/monsters/zcc/chaingun_stand_fire.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim range_attack_loop2 models/md5/monsters/zcc/chaingun_stand_fire.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim step_left models/md5/monsters/zcc/chaingun_step_left.md5anim { + frame 6 sound_body monster_zombie_commando_footstep + frame 6 sound_body2 monster_zombie_commando_footstep_clinks + frame 13 sound_body monster_zombie_commando_footstep + frame 13 sound_body2 monster_zombie_commando_footstep_clinks + } + anim step_right models/md5/monsters/zcc/chaingun_step_right.md5anim { + frame 6 sound_body monster_zombie_commando_footstep + frame 6 sound_body2 monster_zombie_commando_footstep_clinks + frame 12 sound_body monster_zombie_commando_footstep + frame 12 sound_body2 monster_zombie_commando_footstep_clinks + } + anim walk models/md5/monsters/zcc/chaingun_walk.md5anim { + frame 11 sound_body monster_zombie_commando_footstep + frame 11 sound_body2 monster_zombie_commando_footstep_clinks + + frame 25 sound_body monster_zombie_commando_footstep + frame 25 sound_body2 monster_zombie_commando_footstep_clinks + + frame 38 sound_body monster_zombie_commando_footstep + frame 38 sound_body2 monster_zombie_commando_footstep_clinks + + frame 52 sound_body monster_zombie_commando_footstep + frame 52 sound_body2 monster_zombie_commando_footstep_clinks + + } + anim run models/md5/monsters/zcc/chaingun_run.md5anim { + frame 8 sound_body monster_zombie_commando_footstep + frame 8 sound_body2 monster_zombie_commando_footstep_clinks + + frame 16 sound_body monster_zombie_commando_footstep + frame 16 sound_body2 monster_zombie_commando_footstep_clinks + } + + anim pain models/md5/monsters/zcc/chaingun_pain_left.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim pain_chest models/md5/monsters/zcc/chaingun_pain_chest.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim pain_head models/md5/monsters/zcc/chaingun_pain_head.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim pain_right_arm models/md5/monsters/zcc/chaingun_pain_right.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim pain_left_arm models/md5/monsters/zcc/chaingun_pain_left.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim evade_left models/md5/monsters/zcc/chaingun_evade_left.md5anim { + frame 7 sound_body monster_zombie_commando_footstep + frame 7 sound_body2 monster_zombie_commando_footstep_clinks + + frame 12 sound_body monster_zombie_commando_footstep + frame 12 sound_body2 monster_zombie_commando_footstep_clinks + + } + anim evade_right models/md5/monsters/zcc/chaingun_evade_right.md5anim { + frame 9 sound_body monster_zombie_commando_footstep + frame 9 sound_body2 monster_zombie_commando_footstep_clinks + + frame 13 sound_body monster_zombie_commando_footstep + frame 13 sound_body2 monster_zombie_commando_footstep_clinks + } + anim on_activate models/md5/monsters/zcc/chaingun_on_activate.md5anim { + frame 1 sound_voice monster_zombie_commando_sight1 + frame 9 sound_weapon monster_zombie_commando_windup + frame 17 sound_weapon monster_zombie_commando_cgun_fire + frame 17 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 26 sound_weapon monster_zombie_commando_cgun_fire + frame 26 launch_missile barrel + frame 29 sound_weapon monster_zombie_commando_cgun_fire + frame 29 launch_missile barrel + frame 32 sound_weapon monster_zombie_commando_cgun_fire + frame 32 launch_missile barrel + frame 35 sound_weapon monster_zombie_commando_cgun_fire + frame 35 launch_missile barrel + frame 40 sound_weapon monster_zombie_commando_winddown + } + + anim sight models/md5/monsters/zcc/chaingun_sight.md5anim { + frame 1 sound_voice monster_zombie_commando_sight1 + } + + anim af_pose models/md5/monsters/zcc/chaingun_af_pose.md5anim + anim ik_pose models/md5/monsters/zcc/chaingun_af_pose.md5anim + anim crouch_range_attack models/md5/monsters/zcc/chaingun_crouch_range_attack.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + + frame 4 sound_body monster_zombie_commando_footstep + frame 4 sound_body2 monster_zombie_commando_footstep_clinks + + frame 9 sound_body monster_zombie_commando_footstep + frame 9 sound_body2 monster_zombie_commando_footstep_clinks + } + anim crouch_range_attack_loop models/md5/monsters/zcc/chaingun_crouch_range_attack_loop.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 38 sound_weapon monster_zombie_commando_cgun_fire + frame 38 launch_missile barrel + } + + anim crouch_range_attack_end models/md5/monsters/zcc/chaingun_crouch_range_attack_end.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + + frame 6 sound_body monster_zombie_commando_footstep + frame 6 sound_body2 monster_zombie_commando_footstep_clinks + + frame 11 sound_body monster_zombie_commando_footstep + frame 11 sound_body2 monster_zombie_commando_footstep_clinks + } + anim crouch_range_attack_aim models/md5/monsters/zcc/chaingun_crouch_range_attack_aim.md5anim + anim crouch_pain models/md5/monsters/zcc/chaingun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim crouch_pain_chest models/md5/monsters/zcc/chaingun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim crouch_pain_head models/md5/monsters/zcc/chaingun_crouch_right_pain.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim crouch_pain_left_arm models/md5/monsters/zcc/chaingun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim crouch_pain_right_arm models/md5/monsters/zcc/chaingun_crouch_right_pain.md5anim { + frame 1 sound_voice monster_zombie_commando_pain + } + anim range_attack models/md5/monsters/zcc/chaingun_raise.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + } + anim range_attack_end models/md5/monsters/zcc/chaingun_lower.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + } + anim range_attack_aim models/md5/monsters/zcc/chaingun_stand_aim.md5anim + + anim stepoutright_out models/md5/monsters/zcc/chaingun_wallstepright_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + + frame 5 sound_body monster_zombie_commando_footstep + frame 5 sound_body2 monster_zombie_commando_footstep_clinks + + frame 14 sound_body monster_zombie_commando_footstep + frame 14 sound_body2 monster_zombie_commando_footstep_clinks + } + anim stepoutright_fire models/md5/monsters/zcc/chaingun_wallstepright_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim stepoutright_in models/md5/monsters/zcc/chaingun_wallstepright_D.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + + frame 5 sound_body monster_zombie_commando_footstep + frame 5 sound_body2 monster_zombie_commando_footstep_clinks + + frame 8 sound_body monster_zombie_commando_footstep + frame 8 sound_body2 monster_zombie_commando_footstep_clinks + } + anim stepoutright_wait models/md5/monsters/zcc/chaingun_wallstepright_A.md5anim + + anim stepoutleft_out models/md5/monsters/zcc/chaingun_wallstepleft_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + + frame 8 sound_body monster_zombie_commando_footstep + frame 8 sound_body2 monster_zombie_commando_footstep_clinks + + frame 15 sound_body monster_zombie_commando_footstep + frame 15 sound_body2 monster_zombie_commando_footstep_clinks + } + anim stepoutleft_fire models/md5/monsters/zcc/chaingun_wallstepleft_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim stepoutleft_in models/md5/monsters/zcc/chaingun_wallstepleft_D.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + + frame 3 sound_body monster_zombie_commando_footstep + frame 3 sound_body2 monster_zombie_commando_footstep_clinks + + frame 8 sound_body monster_zombie_commando_footstep + frame 8 sound_body2 monster_zombie_commando_footstep_clinks + } + anim stepoutleft_wait models/md5/monsters/zcc/chaingun_wallstepleft_A.md5anim + anim leanoutright_out models/md5/monsters/zcc/chaingun_wallleanright_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + frame 8 sound_body monster_zombie_commando_footstep + frame 8 sound_body2 monster_zombie_commando_footstep_clinks + } + anim leanoutright_fire models/md5/monsters/zcc/chaingun_wallleanright_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim leanoutright_in models/md5/monsters/zcc/chaingun_wallleanright_D.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + frame 21 sound_body monster_zombie_commando_footstep + frame 21 sound_body2 monster_zombie_commando_footstep_clinks + } + anim leanoutright_wait models/md5/monsters/zcc/chaingun_wallleanright_A.md5anim + anim leanoutleft_out models/md5/monsters/zcc/chaingun_wallleanleft_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + frame 9 sound_body monster_zombie_commando_footstep + frame 9 sound_body2 monster_zombie_commando_footstep_clinks + } + anim leanoutleft_fire models/md5/monsters/zcc/chaingun_wallleanleft_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim leanoutleft_in models/md5/monsters/zcc/chaingun_wallleanleft_D.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + frame 25 sound_body monster_zombie_commando_footstep + frame 25 sound_body2 monster_zombie_commando_footstep_clinks + } + anim leanoutleft_wait models/md5/monsters/zcc/chaingun_wallleanleft_A.md5anim + anim cratestand_out models/md5/monsters/zcc/chaingun_crate_up_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + frame 12 sound_body monster_zombie_commando_footstep + frame 12 sound_body2 monster_zombie_commando_footstep_clinks + } + anim cratestand_fire models/md5/monsters/zcc/chaingun_crate_up_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim cratestand_in models/md5/monsters/zcc/chaingun_crate_up_D.md5anim { + + frame 1 sound_weapon monster_zombie_commando_winddown + frame 10 sound_body monster_zombie_commando_footstep + frame 16 sound_body monster_zombie_commando_footstep + } + anim cratestand_wait models/md5/monsters/zcc/chaingun_crate_up_A.md5anim + + anim crate_up_out models/md5/monsters/zcc/chaingun_crate_up_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + frame 7 sound_body monster_zombie_commando_footstep + frame 12 sound_body monster_zombie_commando_footstep + } + anim crate_up_fire models/md5/monsters/zcc/chaingun_crate_up_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim crate_up_in models/md5/monsters/zcc/chaingun_crate_up_D.md5anim { + + frame 1 sound_weapon monster_zombie_commando_winddown + + frame 10 sound_body monster_zombie_commando_footstep + frame 10 sound_body2 monster_zombie_commando_footstep_clinks + + frame 16 sound_body monster_zombie_commando_footstep + frame 16 sound_body2 monster_zombie_commando_footstep_clinks + } + anim crate_up_wait models/md5/monsters/zcc/chaingun_crate_up_A.md5anim + + anim rotoutleft1_out models/md5/monsters/zcc/chaingun_wallrotleft_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + + frame 9 sound_body monster_zombie_commando_footstep + frame 9 sound_body2 monster_zombie_commando_footstep_clinks + } + anim rotoutleft1_fire models/md5/monsters/zcc/chaingun_wallrotleft_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + + } + + anim rotoutleft1_in models/md5/monsters/zcc/chaingun_wallrotleft_D.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + frame 25 sound_body monster_zombie_commando_footstep + frame 25 sound_body2 monster_zombie_commando_footstep_clinks + } + anim rotoutleft1_wait models/md5/monsters/zcc/chaingun_wallrotleft_A.md5anim + anim rotoutright1_out models/md5/monsters/zcc/chaingun_wallrotright_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + frame 8 sound_body monster_zombie_commando_footstep + frame 8 sound_body2 monster_zombie_commando_footstep_clinks + } + anim rotoutright1_fire models/md5/monsters/zcc/chaingun_wallrotright_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + + } + + anim rotoutright1_in models/md5/monsters/zcc/chaingun_wallrotright_D.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + frame 20 sound_body monster_zombie_commando_footstep + frame 20 sound_body2 monster_zombie_commando_footstep_clinks + } + anim rotoutright1_wait models/md5/monsters/zcc/chaingun_wallrotright_A.md5anim + + anim rotoutleft2_out models/md5/monsters/zcc/chaingun_wallrotleft_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + frame 9 sound_body monster_zombie_commando_footstep + frame 9 sound_body2 monster_zombie_commando_footstep_clinks + + } + anim rotoutleft2_fire models/md5/monsters/zcc/chaingun_wallrotleft_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim rotoutleft2_in models/md5/monsters/zcc/chaingun_wallrotleft_D.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + frame 25 sound_body monster_zombie_commando_footstep + frame 25 sound_body2 monster_zombie_commando_footstep_clinks + } + anim rotoutleft2_wait models/md5/monsters/zcc/chaingun_wallrotleft_A.md5anim + anim rotoutright2_out models/md5/monsters/zcc/chaingun_wallrotright_B.md5anim { + frame 1 sound_weapon monster_zombie_commando_windup + frame 8 sound_body monster_zombie_commando_footstep + frame 8 sound_body2 monster_zombie_commando_footstep_clinks + } + anim rotoutright2_fire models/md5/monsters/zcc/chaingun_wallrotright_C.md5anim { + frame 3 sound_weapon monster_zombie_commando_cgun_fire + frame 3 launch_missile barrel + frame 6 sound_weapon monster_zombie_commando_cgun_fire + frame 6 launch_missile barrel + frame 9 sound_weapon monster_zombie_commando_cgun_fire + frame 9 launch_missile barrel + frame 12 sound_weapon monster_zombie_commando_cgun_fire + frame 12 launch_missile barrel + frame 16 sound_weapon monster_zombie_commando_cgun_fire + frame 16 launch_missile barrel + frame 20 sound_weapon monster_zombie_commando_cgun_fire + frame 20 launch_missile barrel + frame 23 sound_weapon monster_zombie_commando_cgun_fire + frame 23 launch_missile barrel + frame 27 sound_weapon monster_zombie_commando_cgun_fire + frame 27 launch_missile barrel + frame 30 sound_weapon monster_zombie_commando_cgun_fire + frame 30 launch_missile barrel + frame 33 sound_weapon monster_zombie_commando_cgun_fire + frame 33 launch_missile barrel + frame 37 sound_weapon monster_zombie_commando_cgun_fire + frame 37 launch_missile barrel + frame 41 sound_weapon monster_zombie_commando_cgun_fire + frame 41 launch_missile barrel + frame 45 sound_weapon monster_zombie_commando_cgun_fire + frame 45 launch_missile barrel + } + + anim rotoutright2_in models/md5/monsters/zcc/chaingun_wallrotright_D.md5anim { + frame 1 sound_weapon monster_zombie_commando_winddown + frame 21 sound_body monster_zombie_commando_footstep + frame 21 sound_body2 monster_zombie_commando_footstep_clinks + } + anim rotoutright2_wait models/md5/monsters/zcc/chaingun_wallrotright_A.md5anim +} + +entityDef monster_zombie_commando_cgun { + "inherit" "monster_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieCommandoCGun" + "ragdoll" "monster_zombie_commando_cgun" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "225" + "def_projectile" "projectile_zombie_commando_cgun" + "attack_cone" "70" + "attack_accuracy" "2" + "projectile_spread" "0" + "num_projectiles" "1" + "smoke_weapon" "cgsmoke.smoke" + "model" "monster_zombie_commando_cgun" + "bone_focus" "Head" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + "gib" "0" + "bleed" "1" + + "burnaway" "0.50" + "smoke_burnParticleSystem" "burn_imp.prt-spine_1" + + "blockedRadius" "10" + "blockedMoveTime" "500" + "blockedAttackTime" "500" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint spine_1" "0.4 0.4 0" + "look_joint Head" "0.6 0.6 0" + + "damage_zone head" "*neck_1" + "damage_zone chest" "*spine_1 -*Rshldr -*Lshldr -*neck_1" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "origin lolegs" + "damage_scale head" "2" + + "mass" "450" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_ankle1" "Lankle" + "ik_ankle2" "Rankle" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "Lball" + "ik_foot2" "Rball" + + "snd_fire" "monster_zombie_commando_cgun_fire" + "snd_winddown" "monster_zombie_commando_winddown" + "snd_windup" "monster_zombie_commando_windup" + "snd_sight1" "monster_zombie_commando_sight1" + "snd_sight2" "monster_zombie_commando_sight2" + "snd_chatter" "monster_zombie_commando_chatter" + "snd_chatter_combat" "monster_zombie_commando_chatter_combat" + "snd_pain" "monster_zombie_commando_pain" + //"snd_attackmissile" "monster_zombie_commando_attackmissile" + "snd_melee_attack_1" "monster_zombie_commando_attackmelee_1" + "snd_melee_attack_2" "monster_zombie_commando_attackmelee_2" + "snd_melee_attack_3" "monster_zombie_commando_attackmelee_3" + "snd_melee_attack_4" "monster_zombie_commando_attackmelee_4" + "snd_melee_attack_5" "monster_zombie_commando_attackmelee_5" + "snd_death" "monster_zombie_commando_death" + "snd_thud" "monster_zombie_commando_thud" + "snd_footstep" "monster_zombie_commando_footstep" + "snd_breath" "monster_zombie_commando_breath" + "snd_inhale" "monster_zombie_commando_breath_inhale" + "snd_exhale" "monster_zombie_commando_breath_exhale" + "snd_bounce" "ragdoll_impact" + "snd_bodyroll" "monster_zombie_commando_body_roll" + "snd_range_attack_1" "monster_zombie_commando_range_attack_1" + "snd_range_attack_2" "monster_zombie_commando_range_attack_2" + "snd_range_attack_3" "monster_zombie_commando_range_attack_3" + "snd_burn" "monster_demon_tick_burn" + + "def_dropDeathItem" "moveable_item_chaingun" + "dropDeathItemJoint" "chain_root" + "skin_dropDeath" "zcc_dropgun" + + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" +} + +entityDef projectile_zombie_commando_cgun { + "spawnclass" "idProjectile" + "mins" "-1 -1 -1" + "maxs" "1 1 1" + "cone" "3" + "scale" "0.1" + "noshadows" "1" + "tracers" "1" + "model_tracer" "models/particles/tracer/tracer.lwo" + + "snd_tracer" "bullet_flight" + "snd_ricochet" "bullet_ricochet" + "snd_impact" "" // we need a much smaller impact sound for the chaingun bullet "bullet_impact_metal" + + "decal_scale" "8" + + "def_damage" "damage_zombie_commando_cgun" + + "launchFromBarrel" "1" + "health" "0" + // slowed down for tracers + "velocity" "2000 0 0" // .38 Special 600 fps. Source: Petzal, David E. "How fast is a speeding bullet." Field and Stream. 97 (1992): 23 + "angular_velocity" "0 0 0" + "thrust" "0" + "thrust_start" "0" + "thrust_end" "0" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0.6" + "mass" "2" + "gravity" "0" + "fuse" "4" + + "detonate_on_fuse" "0" + "detonate_on_death" "0" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "1" + "impact_gib" "1" + + "mtr_detonate" "textures/decals/bulleth02" + "decal_size" "10" + + "smoke_detonate" "smokeandspark.smoke" + "smoke_residue" "" //particles/chaingun_residue.particle" + "smoke_bounce" "" //particles/chaingun_bounce.particle" + "smoke_fuse" "" + + "mtr_light_shader" "" + "light_color" "0 0 0" + "light_radius" "0" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "" + "explode_light_color" "0 0 0" + "explode_light_radius" "0" + "explode_light_fadetime" "0" +} + +entityDef damage_zombie_commando_cgun { + "damage" "3" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "1" + + "smoke_wound_flesh" "bloodwound.smoke" + + "kick_time" "10" + "kick_amplitude" "0" + + "dv_time" "100" +} diff --git a/base/def/monster_zombie_fat.def b/base/def/monster_zombie_fat.def new file mode 100644 index 00000000..64111ab0 --- /dev/null +++ b/base/def/monster_zombie_fat.def @@ -0,0 +1,415 @@ +/*********************************************************************** + +monster_zombie_fat + +***********************************************************************/ + +export fred { + + options -prefix FATTY_ -parent pipe Rhand -keep rub Lknee Rknee -parent rub waist -parent Belly rub + + anim maps/fred/delta2a/bathroomzombies.mb -range 1 1 -dest models/md5/monsters/zfat/deltabathroomloop + anim maps/fred/delta2a/bathroomzombies.mb -dest models/md5/monsters/zfat/deltabathroomgetup + anim models/monsters/combos/zjump_eats_zfat_loop.mb -dest models/md5/combos/zfat_eatenby_zjump_loop + anim models/monsters/combos/zjump_eats_zfat_getup.mb -dest models/md5/combos/zfat_eatenby_zjump_getup + anim maps/fred/marscity_2/mars_city2.mb -range 1 90 -dest models/md5/cinematics/marscity_2/impfeast_fatty_loop + anim maps/fred/marscity_2/mars_city2.mb -range 91 170 -dest models/md5/cinematics/marscity_2/impfeast_fatty + anim maps/fred/marscity_2/mars_city2.mb -range 170 170 -dest models/md5/cinematics/marscity_2/impfeast_fatty_end + //anim maps/fred/underground/airlockencounter.mb -rotate 180 -range 1 80 -dest models/md5/cinematics/underground/airlockfdrag + //anim maps/fred/underground/airlockencounter.mb -rotate 180 -range 81 150 -dest models/md5/cinematics/underground/airlockfeatloop + //anim maps/fred/underground/airlockencounter.mb -rotate 180 -range 150 186 -dest models/md5/cinematics/underground/airlockfgetup + + addoptions -prefix FATYY_ + anim maps/fred/delta2a/zoffice3.mb -xyzprecision 0.001 -quatprecision 0.00001 -dest models/md5/cinematics/delta2a/zoffice3 + + addoptions -prefix FAT_ + anim models/monsters/zombie/fatty/animation/cycles/pipeidle.ma -rotate 90 -dest models/md5/monsters/zfat/pipeidle + + addoptions -prefix FATTY_ -sourcedir models/monsters/zombie/fatty/animation/cycles -destdir models/md5/monsters/zfat + + mesh makemesh.ma -dest zfat + mesh influence_zfat.mb -skipmesh monkeywrench_layer1 -skipmesh fattyskel -skipmesh fattydamagemodel + + anim idle1.ma + anim sight3.ma + anim walk1.ma + anim walk2.ma -cycleStart 30 + anim walk3.ma -cycleStart 23 + anim walk4.ma + anim facepain.ma + anim bellypain.ma + anim leftarmpain.ma + anim rightarmpain.ma + anim legpain.ma + anim death1.ma + anim death1_twitch.ma + anim turn_left.ma + anim turn_right.ma + anim death2.ma + anim getup_attempt1.ma + anim getup_attempt2.ma + anim getup1.ma + anim getup1.ma -range 1 1 -dest death1_pose + anim getup2.ma + anim initial.ma + anim attack1.ma + anim attack_leftslap.ma + anim attack2.ma + anim attack3.ma + anim barrel_idle.ma + anim barrel_throw.ma + anim pipeattack1.ma + anim pipewalk4.ma + anim pipesight.ma + anim influence_eating_arm.mb -rotate 90 + +} + +model monster_zombie_fat { + mesh models/md5/monsters/zfat/zfat.md5mesh + channel torso ( *waist ) + channel legs ( *Hips origin Body Body2 ) + + anim af_pose models/md5/monsters/zfat/initial.md5anim + anim ik_pose models/md5/monsters/zfat/initial.md5anim + + anim initial models/md5/monsters/zfat/initial.md5anim + + anim idle models/md5/monsters/zfat/idle1.md5anim + anim sight models/md5/monsters/zfat/sight3.md5anim { + frame 1 sound_voice snd_sight3 + frame 30 leftfoot + } + anim walk models/md5/monsters/zfat/walk1.md5anim { + frame 7 rightfoot + frame 25 leftfoot + } + anim walk2 models/md5/monsters/zfat/walk2.md5anim { + frame 15 leftfoot + frame 37 rightfoot + } + anim walk3 models/md5/monsters/zfat/walk3.md5anim { + frame 5 leftfoot + frame 18 rightfoot + } + anim walk4 models/md5/monsters/zfat/walk4.md5anim { + frame 7 rightfoot + frame 26 leftfoot + } + anim melee_attack1 models/md5/monsters/zfat/attack_leftslap.md5anim { + frame 1 sound_weapon snd_melee_attack_1 + frame 4 rightfoot + frame 13 melee melee_zombie_fat_Left2 + frame 17 leftfoot + frame 25 rightfoot + } + anim melee_attack2 models/md5/monsters/zfat/attack2.md5anim { + frame 1 sound_weapon snd_melee_attack_2 + frame 4 rightfoot + frame 8 melee melee_zombie_fat_Right + frame 17 leftfoot + } + anim melee_attack3 models/md5/monsters/zfat/attack3.md5anim { + frame 1 sound_weapon snd_melee_attack_3 + frame 4 rightfoot + frame 10 melee melee_zombie_fat_Left + frame 17 leftfoot + } + // included twice so that we have an even number of left and right attacks + anim melee_attack4 models/md5/monsters/zfat/attack3.md5anim { + frame 1 sound_weapon snd_melee_attack_3 + frame 4 rightfoot + frame 10 melee melee_zombie_fat_Left + frame 17 leftfoot + } + anim pain models/md5/monsters/zfat/bellypain.md5anim { + frame 1 sound_voice snd_pain + frame 3 leftfoot + frame 18 leftfoot + } + anim pain_head models/md5/monsters/zfat/facepain.md5anim { + frame 1 sound_voice snd_pain + frame 9 leftfoot + } + anim pain_left_arm models/md5/monsters/zfat/leftarmpain.md5anim { + frame 1 sound_voice snd_pain + frame 3 leftfoot + frame 19 leftfoot + } + anim pain_right_arm models/md5/monsters/zfat/rightarmpain.md5anim { + frame 1 sound_voice snd_pain + frame 4 leftfoot + frame 18 leftfoot + } + anim pain_chest models/md5/monsters/zfat/bellypain.md5anim { + frame 1 sound_voice snd_pain + frame 3 leftfoot + frame 18 leftfoot + } + + anim zjump_eats_zfat_loop models/md5/combos/zfat_eatenby_zjump_loop.md5anim { + frame 1 disableWalkIK + ai_no_turn + } + anim zjump_eats_zfat_getup models/md5/combos/zfat_eatenby_zjump_getup.md5anim { + ai_no_turn + + frame 1 call overrideLegs + frame 1 disableWalkIK + frame 80 enableWalkIK + } + + anim death_getup_pose models/md5/monsters/zfat/death1_pose.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 call overrideLegs + } + + anim death1pose models/md5/monsters/zfat/death1_pose.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 1 call overrideLegs + } + + anim barrel_idle models/md5/monsters/zfat/barrel_Idle.md5anim + anim barrel_throw models/md5/monsters/zfat/barrel_Throw.md5anim { + frame 1 sound_voice snd_sight1 + frame 17 event throwMoveable + } +} + +entityDef monster_zombie_fat { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "100" + "melee_range" "32" + "walk_on_sight" "1" + "mass" "200" + + "blockedRadius" "10" + "blockedMoveTime" "1200" + "blockedAttackTime" "1200" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body2" + "ik_foot1" "Ltoe_r" + "ik_foot2" "Rtoe_r" + "ik_ankle1" "Lankle_r" + "ik_ankle2" "Rankle_r" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + + "model" "monster_zombie_fat" + "ragdoll" "monster_zombie_fat" + "skin" "skins/monsters/zombies/zfat.skin" + + "damage_zone head" "*loneck" + "damage_zone chest" "*waist -*Rshldr -*Lshldr -*loneck" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips origin Body Body2" + + "damage_scale head" "2" + + "dropGibItem9Joint" "head" + + "snd_sight1" "monster_zombie_fat_sight1" + "snd_sight2" "monster_zombie_fat_sight2" + "snd_sight3" "monster_zombie_fat_sight3" + "snd_sight4" "monster_zombie_fat_sight4" + "snd_sight5" "monster_zombie_fat_sight5" + "snd_sight6" "monster_zombie_fat_sight6" + "snd_sight7" "monster_zombie_fat_sight7" + "snd_swipe" "monster_zombie_fat_swipe" + "snd_wrench" "monster_zombie_fat_wrench" + + "snd_footstep" "monster_zombie_fat_footstep" + "snd_chatter" "monster_zombie_fat_chatter" + "snd_chatter_combat" "monster_zombie_fat_chatter_combat" + "snd_pain" "monster_zombie_fat_pain" + "snd_melee_attack_1" "monster_zombie_fat_attackmelee_1" + "snd_melee_attack_2" "monster_zombie_fat_attackmelee_2" + "snd_melee_attack_3" "monster_zombie_fat_attackmelee_3" + "snd_thud" "monster_zombie_fat_thud" + "snd_bounce" "ragdoll_impact" + + "skin_dropGib" "skins/monsters/zombies/zfatgib.skin" +} + + +entityDef monster_zombie_fat2 { + "inherit" "monster_zombie_fat" + "skin" "skins/monsters/zombies/zfat2.skin" + "skin_dropGib" "skins/monsters/zombies/zfatgib2.skin" +} + +/*********************************************************************** + +monster_zombie_fat_wrench + +***********************************************************************/ + +model monster_zombie_fat_wrench { + inherit monster_zombie_fat + + anim idle models/md5/monsters/zfat/pipeidle.md5anim + anim sight models/md5/monsters/zfat/pipesight.md5anim + anim walk models/md5/monsters/zfat/pipewalk4.md5anim { + frame 7 rightfoot + frame 26 leftfoot + } + anim walk2 models/md5/monsters/zfat/pipewalk4.md5anim { + frame 7 rightfoot + frame 26 leftfoot + } + anim walk3 models/md5/monsters/zfat/pipewalk4.md5anim { + frame 7 rightfoot + frame 26 leftfoot + } + anim walk4 models/md5/monsters/zfat/pipewalk4.md5anim { + frame 7 rightfoot + frame 26 leftfoot + } + anim melee_attack1 models/md5/monsters/zfat/pipeattack1.md5anim { + frame 8 melee melee_zombie_fat_right_wrench + } + anim melee_attack2 models/md5/monsters/zfat/pipeattack1.md5anim { + frame 8 melee melee_zombie_fat_right_wrench + } + anim melee_attack3 models/md5/monsters/zfat/pipeattack1.md5anim { + frame 8 melee melee_zombie_fat_right_wrench + } + anim melee_attack4 models/md5/monsters/zfat/pipeattack1.md5anim { + frame 8 melee melee_zombie_fat_right_wrench + } +} + +entityDef monster_zombie_fat_wrench { + "inherit" "monster_zombie_fat" + "model" "monster_zombie_fat_wrench" + "skin" "skins/monsters/zombies/zfatwrench.skin" + + "def_dropDeathItem" "moveable_wrench" + "dropDeathItemJoint" "pipe" + "skin_dropDeath" "skins/monsters/zombies/zfat2.skin" +} + + +entityDef melee_zombie_fat_Left { + // melee specific parameters + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" + "kickDir" "0 -1 0" + + // damage parameters + "damage" "20" + + "mtr_blob" "leftSmack" + "blob_time" "600" + "blob_x" "-140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "55" + + "kick_time" "350" + "kick_amplitude" "1.1" + + "dv_time" "100" +} + +entityDef melee_zombie_fat_Left2 { + // melee specific parameters + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" + "kickDir" "0 -1 0" + + // damage parameters + "damage" "20" + + "mtr_blob" "leftSmack" + "blob_time" "600" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "40" + + "kick_time" "350" + "kick_amplitude" "1.1" + + "dv_time" "100" +} + +entityDef melee_zombie_fat_Right { + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" + "kickDir" "0 1 0" + + "damage" "20" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "-140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "45" + + "kick_time" "350" + "kick_amplitude" "1.1" + + "dv_time" "100" +} + +entityDef melee_zombie_fat_right_wrench { + "snd_hit" "monster_zombie_fat_wrench" + "snd_miss" "fist_whoosh" + "kickDir" "0 1 0" + + "damage" "20" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "-140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "45" + + "kick_time" "350" + "kick_amplitude" "1.1" + + "dv_time" "100" +} + +/*********************************************************************** + +monster_zombie_fat_eating + +***********************************************************************/ + +model monster_zombie_fat_eating { + mesh models/md5/monsters/zfat/influence_zfat.md5mesh + anim eating_arm models/md5/monsters/zfat/influence_eating_arm.md5anim +} + +entityDef monster_zombie_fat_eating { + "inherit" "cin_base" + "model" "monster_zombie_fat_eating" + "anim" "eating_arm" +} diff --git a/base/def/monster_zombie_fem.def b/base/def/monster_zombie_fem.def new file mode 100644 index 00000000..109f8458 --- /dev/null +++ b/base/def/monster_zombie_fem.def @@ -0,0 +1,210 @@ +/*********************************************************************** + +monster_zombie_fem.def + +***********************************************************************/ + +export fred { + options -prefix ZFEM_ -align ALL -keep LkneeVector RkneeVector Lball_r Rball_r HEAD_headcontrol HEAD_neckcontrol HEAD_loneckcontrol HEAD_Leyeaim HEAD_Reyeaim -parent HEAD_Head HEAD_headcontrol -parent HEAD_Reyeaim HEAD_Head -parent HEAD_Leyeaim HEAD_Head -parent HEAD_headcontrol HEAD_neckcontrol -parent HEAD_neckcontrol HEAD_loneckcontrol -parent HEAD_Neck HEAD_neckcontrol -parent HEAD_Jaw HEAD_Head -parent HEAD_mouth12 HEAD_Head -parent HEAD_mouth1 HEAD_Head -parent HEAD_mouth2 HEAD_Head -parent HEAD_mouth3 HEAD_Head -parent HEAD_mouth4 HEAD_Jaw -parent HEAD_mouth5 HEAD_Jaw -parent HEAD_mouth6 HEAD_Jaw -parent HEAD_mouth7 HEAD_Jaw -parent HEAD_mouth8 HEAD_Jaw -parent HEAD_mouth9 HEAD_Head -parent HEAD_mouth10 HEAD_Head -parent HEAD_mouth11 HEAD_Head -parent HEAD_tongue1 HEAD_Jaw -parent HEAD_Lcheek HEAD_Head -parent HEAD_Rcheek HEAD_Head -parent HEAD_Rnostril HEAD_Head -parent HEAD_Lnostril HEAD_Head -parent HEAD_Lsmile HEAD_Head -parent HEAD_Rsmile HEAD_Head -parent HEAD_Rcheek HEAD_Head -parent HEAD_Lcheek HEAD_Head -parent HEAD_Lsneer HEAD_Head -parent HEAD_Rsneer HEAD_Head -parent HEAD_Lbrow1 HEAD_Head -parent HEAD_Lbrow2 HEAD_Head -parent HEAD_Lbrow3 HEAD_Head -parent HEAD_Rbrow1 HEAD_Head -parent HEAD_Rbrow2 HEAD_Head -parent HEAD_Rbrow3 HEAD_Head -parent HEAD_Ruplid HEAD_Head -parent HEAD_Rlolid HEAD_Head -parent HEAD_Luplid HEAD_Head -parent HEAD_Llolid HEAD_Head -sourcedir models/monsters/zombie/zfem/cycles -destdir models/md5/monsters/zfem + addoptions -keepmesh ZFEMMESH + addoptions -keepmesh teethmesh + + mesh makemesh.mb -dest zfem + + anim reginitial.mb -dest initial + anim idle.mb -xyzprecision .01 -dest idle + anim walk1.mb + anim nicewalk.mb -dest walk2 + anim run2.mb +} + +export fred { + options -prefix FEM_ -keep LkneeVector RkneeVector Lball_r Rball_r HEAD_headcontrol HEAD_neckcontrol HEAD_loneckcontrol HEAD_Leyeaim HEAD_Reyeaim -parent HEAD_Head HEAD_headcontrol -parent HEAD_Reyeaim HEAD_Head -parent HEAD_Leyeaim HEAD_Head -parent HEAD_headcontrol HEAD_neckcontrol -parent HEAD_neckcontrol HEAD_loneckcontrol -parent HEAD_Neck HEAD_neckcontrol -parent HEAD_Jaw HEAD_Head -parent HEAD_mouth12 HEAD_Head -parent HEAD_mouth1 HEAD_Head -parent HEAD_mouth2 HEAD_Head -parent HEAD_mouth3 HEAD_Head -parent HEAD_mouth4 HEAD_Jaw -parent HEAD_mouth5 HEAD_Jaw -parent HEAD_mouth6 HEAD_Jaw -parent HEAD_mouth7 HEAD_Jaw -parent HEAD_mouth8 HEAD_Jaw -parent HEAD_mouth9 HEAD_Head -parent HEAD_mouth10 HEAD_Head -parent HEAD_mouth11 HEAD_Head -parent HEAD_tongue1 HEAD_Jaw -parent HEAD_Lcheek HEAD_Head -parent HEAD_Rcheek HEAD_Head -parent HEAD_Rnostril HEAD_Head -parent HEAD_Lnostril HEAD_Head -parent HEAD_Lsmile HEAD_Head -parent HEAD_Rsmile HEAD_Head -parent HEAD_Rcheek HEAD_Head -parent HEAD_Lcheek HEAD_Head -parent HEAD_Lsneer HEAD_Head -parent HEAD_Rsneer HEAD_Head -parent HEAD_Lbrow1 HEAD_Head -parent HEAD_Lbrow2 HEAD_Head -parent HEAD_Lbrow3 HEAD_Head -parent HEAD_Rbrow1 HEAD_Head -parent HEAD_Rbrow2 HEAD_Head -parent HEAD_Rbrow3 HEAD_Head -parent HEAD_Ruplid HEAD_Head -parent HEAD_Rlolid HEAD_Head -parent HEAD_Luplid HEAD_Head -parent HEAD_Llolid HEAD_Head -parent HEAD_Lside HEAD_Head -parent HEAD_Rside HEAD_Head + + addoptions -skipmesh ZFEMMESH + + anim maps/fred/enpro/poppyidle.mb -range 1 130 -dest models/md5/cinematics/enpro/fem_lostintrostart + anim maps/fred/enpro/lostsoulintro.mb -range 1 219 -dest models/md5/cinematics/enpro/fem_lostintro1 + addoptions -prefix POPPY_ + anim maps/fred/enpro/lostsoulintro_poppy.mb -range 187 269 -dest models/md5/cinematics/enpro/fem_lostintro2 + + addoptions -align ALL + addoptions -prefix ZFEM_ + addoptions -sourcedir models/monsters/zombie/zfem/cycles + addoptions -destdir models/md5/characters/poppy + + mesh makemesh.mb -dest poppy + + anim initial.mb + anim idle.mb -xyzprecision .01 -dest idle + anim walk1.mb + anim nicewalk.mb -dest walk2 + anim walk2.mb -dest walk3 + anim fastwalk.mb -dest walk4 + anim run2.mb + +} + + +model monster_zombie_zfem { + mesh models/md5/monsters/zfem/zfem.md5mesh + channel torso ( *Waist ) + channel legs ( *Hips origin Body2 ) + + anim af_pose models/md5/monsters/zfem/initial.md5anim + anim ik_pose models/md5/monsters/zfem/initial.md5anim + + anim initial models/md5/monsters/zfem/initial.md5anim + anim idle models/md5/monsters/zfem/idle.md5anim + anim stand models/md5/monsters/zfem/idle.md5anim + anim sight models/md5/monsters/zfem/idle.md5anim + anim run models/md5/monsters/zfem/run2.md5anim + anim walk1 models/md5/monsters/zfem/walk1.md5anim + anim walk2 models/md5/monsters/zfem/walk2.md5anim + + //anim pain_head models/monsters/zombie/fatty/Animation/cycles/facepain.md5anim + //anim pain_left_arm models/monsters/zombie/fatty/Animation/cycles/leftarmpain.md5anim + //anim pain_right_arm models/monsters/zombie/fatty/Animation/cycles/rightarmpain.md5anim + //anim pain_legs models/monsters/zombie/fatty/Animation/cycles/legpain.md5anim + //anim pain_chest models/monsters/zombie/fatty/Animation/cycles/bellypain.md5anim + + //anim death models/monsters/zombie/fatty/Animation/cycles/death1.md5anim + //anim death_getup_attempt models/monsters/zombie/fatty/Animation/cycles/getup_attempt1.md5anim + //anim death_getup models/monsters/zombie/fatty/Animation/cycles/getup1.md5anim + //anim death_twitch models/monsters/zombie/fatty/Animation/cycles/death1_twitch +} + +entityDef monster_zombie_zfem { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "100" + "melee_range" "32" + "mass" "125" + + "model" "monster_zombie_zfem" + "ragdoll" "monster_zombie_zfem" + + //"damage_zone head" "*loneck" + //"damage_zone chest" "*waist -*Rshldr -*Lshldr -*loneck" + //"damage_zone left_arm" "*Lshldr" + //"damage_zone right_arm" "*Rshldr" + //"damage_zone legs" "*Hips origin Body Body2" + + //"damage_scale head" "2" +} + + +model char_poppy { + mesh models/md5/characters/poppy/poppy.md5mesh + channel torso ( *Waist ) + channel legs ( *Hips origin Body2 ) + + anim af_pose models/md5/characters/poppy/initial.md5anim + anim ik_pose models/md5/characters/poppy/initial.md5anim + + anim initial models/md5/characters/poppy/initial.md5anim + anim stand models/md5/characters/poppy/idle.md5anim + anim idle models/md5/characters/poppy/idle.md5anim + anim run models/md5/characters/poppy/run2.md5anim + anim walk models/md5/characters/poppy/walk3.md5anim + + //anim pain_head models/monsters/zombie/fatty/Animation/cycles/facepain.md5anim + //anim pain_left_arm models/monsters/zombie/fatty/Animation/cycles/leftarmpain.md5anim + //anim pain_right_arm models/monsters/zombie/fatty/Animation/cycles/rightarmpain.md5anim + //anim pain_legs models/monsters/zombie/fatty/Animation/cycles/legpain.md5anim + //anim pain_chest models/monsters/zombie/fatty/Animation/cycles/bellypain.md5anim + + //anim death models/monsters/zombie/fatty/Animation/cycles/death1.md5anim + //anim death_getup_attempt models/monsters/zombie/fatty/Animation/cycles/getup_attempt1.md5anim + //anim death_getup models/monsters/zombie/fatty/Animation/cycles/getup1.md5anim + //anim death_twitch models/monsters/zombie/fatty/Animation/cycles/death1_twitch +} + +entityDef char_poppy { + "inherit" "character_default" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "100" + "melee_range" "32" + "mass" "125" + "head_look" "1" + + "skin" "skins/poppy.skin" + + "ik_numLegs" "2" + "ik_footSize" "0" + "ik_waist" "Body2" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_ankle1" "Lankle_r" + "ik_ankle2" "Rankle_r" + "ik_dir1" "LkneeVector" + "ik_dir2" "RkneeVector" + "ik_foot1" "Lball_r" + "ik_foot2" "Rball_r" + + "bone_focus" "HEAD_headcontrol" + "bone_leftEye" "HEAD_Leyeaim" + "bone_rightEye" "HEAD_Reyeaim" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint HEAD_headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "model" "char_poppy" + "ragdoll" "char_poppy" + "gib" "1" + + //"damage_zone head" "*loneck" + //"damage_zone chest" "*waist -*Rshldr -*Lshldr -*loneck" + //"damage_zone left_arm" "*Lshldr" + //"damage_zone right_arm" "*Rshldr" + //"damage_zone legs" "*Hips origin Body Body2" + + //"damage_scale head" "1.25" + + "skin_dropGib" "skins/poppy_gib.skin" + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + +} + + + diff --git a/base/def/monster_zombie_generic.def b/base/def/monster_zombie_generic.def new file mode 100644 index 00000000..91e212a8 --- /dev/null +++ b/base/def/monster_zombie_generic.def @@ -0,0 +1,679 @@ +/*********************************************************************** + +monster_zombie_generic.def + +***********************************************************************/ + +model model_monster_zombie { + mesh models/md5/chars/skeleton.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim af_pose models/md5/chars/af_pose.md5anim + anim ik_pose models/md5/chars/af_pose.md5anim + + anim idle1 models/md5/monsters/zombies/zidle1.md5anim + anim idle2 models/md5/monsters/zombies/zombie_idle1.md5anim + anim idle3 models/md5/monsters/zombies/zombie_idle2.md5anim + + anim stand models/md5/monsters/zombies/zidle1.md5anim + + anim sight1 models/md5/monsters/zombies/zsight1.md5anim { + frame 1 sound snd_sight1 + } + anim sight2 models/md5/monsters/zombies/zsight2.md5anim { + frame 1 sound snd_sight1 + frame 15 sound_body snd_footstep + frame 32 sound_body snd_footstep + } + + anim walk models/md5/monsters/zombies/zwalk1.md5anim { + frame 11 sound_body snd_footstep + frame 24 sound_body snd_footstep + frame 40 sound_body snd_footstep + frame 56 sound_body snd_footstep + } + + anim pain models/md5/monsters/zombies/chestpain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head1 models/md5/monsters/zombies/headpain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head2 models/md5/monsters/zombies/headpain2.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest1 models/md5/monsters/zombies/chestpain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest2 models/md5/monsters/zombies/chestpain2.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm1 models/md5/monsters/zombies/leftarmpain1.md5anim { + frame 5 sound_voice snd_pain + } + anim pain_left_arm2 models/md5/monsters/zombies/leftarmpain2.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm3 models/md5/monsters/zombies/leftarmpain3.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm1 models/md5/monsters/zombies/rightarmpain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm2 models/md5/monsters/zombies/rightarmpain2.md5anim { + frame 1 sound_voice snd_pain + } + + anim melee_attack1 models/md5/monsters/zombies/swing1.md5anim { + frame 11 melee melee_zombie_maint_Right + } + anim melee_attack2 models/md5/monsters/zombies/swing2.md5anim { + frame 11 melee melee_zombie_maint_Left + } + anim melee_attack3 models/md5/monsters/zombies/swing3.md5anim { + frame 11 melee melee_zombie_maint_Right + } + anim melee_attack4 models/md5/monsters/zombies/swing4.md5anim { + frame 1 call overrideLegs + frame 17 melee melee_zombie_maint_Right + frame 19 sound_body snd_footstep + frame 35 sound_body snd_footstep + frame 49 sound_body snd_footstep + frame 58 sound_body snd_footstep + } + anim melee_attack5 models/md5/monsters/zombies/swing5.md5anim { + frame 1 call overrideLegs + frame 5 melee melee_zombie_maint_Left + frame 21 sound_body snd_footstep + frame 28 melee melee_zombie_maint_Right + frame 50 sound_body snd_footstep + } + anim crawl_n_getup models/md5/monsters/zombies/zcrawl_n_getup.md5anim { + ai_no_turn + frame 5 sound_voice snd_pain + frame 9 sound_body monster_zombie_fat_footstep + frame 16 sound_body monster_zombie_fat_footstep + frame 22 sound_body monster_zombie_fat_footstep + frame 37 sound_voice snd_pain + frame 53 sound_body snd_footstep + } + anim crawl_n_getup_idle models/md5/monsters/zombies/zcrawl_n_getup_idle.md5anim { + ai_no_turn + } + anim getup1 models/md5/monsters/zombies/zombie_getup2.md5anim { + ai_no_turn + frame 1 sound_voice monster_zombie_maint_sight + } + anim getup1pose models/md5/monsters/zombies/zombie_getup2_pose.md5anim { + ai_no_turn + } + anim getup2 models/md5/monsters/zombies/zombie_getup3.md5anim { + ai_no_turn + frame 1 sound_voice monster_zombie_maint_sight + } + anim getup2pose models/md5/monsters/zombies/zombie_getup3_pose.md5anim { + ai_no_turn + } + anim benchpose models/md5/monsters/zombies/keycardgetupidle.md5anim { + ai_no_turn + } + anim benchgetup models/md5/monsters/zombies/keycardgetup.md5anim { + ai_no_turn + } +} + +entityDef monster_zombie_base { + "inherit" "zombie_default" + "model" "model_monster_zombie" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + + "size" "40 40 72" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "80" + "melee_range" "32" + + "turn_rate" "360" + "mass" "150" + + "burnaway" "1.5" + + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "ragdoll" "monster_zombie_base" + + //"model_gib" "models/md5/monsters/zombies/skeletonzombie.md5mesh" + "model_gib" "models/md5/chars/skeleton.md5mesh" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body2" + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*Rshldr -*Lshldr -*loneckcontrol" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips" + + "damage_scale head" "2" + + "snd_sight1" "monster_zombie_fat_sight1" + + "snd_idle" "monster_zombie_chainsaw_idle" + "snd_footstep" "monster_zombie_security_footstep" + "snd_chatter" "monster_zombie_fat_chatter" + "snd_chatter_combat" "monster_zombie_fat_chatter_combat" + "snd_pain" "monster_zombie_fat_pain" + "snd_melee_attack" "monster_zombie_fat_attackmelee_1" + "snd_melee_attack_1" "monster_zombie_fat_attackmelee_1" + "snd_melee_attack_2" "monster_zombie_fat_attackmelee_2" + "snd_melee_attack_3" "monster_zombie_fat_attackmelee_3" + "snd_death" "monster_zombie_fat_death_back" + "snd_thud" "monster_zombie_fat_thud" + +} + +model monster_zombie_jumpy { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/jumpsuitzombie.md5mesh + skin skins/monsters/zombies/jumpsuit.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model monster_zombie_jumpsuit { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/jumpsuitzombie.md5mesh + skin skins/monsters/zombies/jumpsuit2.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim zjump_eats_zsci_loop models/md5/monsters/zombies/deskeatloop.md5anim { + ai_no_turn + frame 1 disableWalkIK + } + anim zjump_eats_zsci_getup models/md5/monsters/zombies/deskeatgetup.md5anim { + ai_no_turn + } + + anim zjump_eats_zfat_loop models/md5/monsters/zombies/flooreatloop.md5anim { + frame 1 disableWalkIK + ai_no_turn + + } + anim zjump_eats_zfat_getup models/md5/monsters/zombies/flooreatgetup.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 80 enableWalkIK + } + + anim benchgetup models/md5/monsters/zombies/getup_from_bench.md5anim { + ai_no_turn + frame 1 sound_voice snd_sight1 + } + + anim benchidle models/md5/monsters/zombies/getup_from_bench_idle.md5anim { + ai_no_turn + } + +} + +model monster_zombie_wrench { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/jumpsuitzombie.md5mesh + skin skins/monsters/zombies/jumpsuit.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + + anim melee_attack1 models/md5/monsters/zombies/swing1.md5anim { + frame 11 melee melee_zombie_fat_right_wrench + } + anim melee_attack2 models/md5/monsters/zombies/swing2.md5anim { + frame 11 melee melee_zombie_maint_Left + } + anim melee_attack3 models/md5/monsters/zombies/swing3.md5anim { + frame 11 melee melee_zombie_fat_right_wrench + } + anim melee_attack4 models/md5/monsters/zombies/swing4.md5anim { + frame 1 call overrideLegs + frame 17 melee melee_zombie_fat_right_wrench + frame 19 sound_body snd_footstep + frame 35 sound_body snd_footstep + frame 49 sound_body snd_footstep + frame 58 sound_body snd_footstep + } + anim melee_attack5 models/md5/monsters/zombies/swing5.md5anim { + frame 1 call overrideLegs + frame 5 melee melee_zombie_maint_Left + frame 21 sound_body snd_footstep + frame 28 melee melee_zombie_fat_right_wrench + frame 50 sound_body snd_footstep + } +} + +model model_monster_zombie_flashlight { + inherit monster_zombie_jumpy + + anim walk models/md5/monsters/zombies/flashlightwalk.md5anim + anim idle1 models/md5/monsters/zombies/zflashidle.md5anim + anim idle2 models/md5/monsters/zombies/zflashidle.md5anim + anim idle3 models/md5/monsters/zombies/zflashidle.md5anim + anim stand models/md5/monsters/zombies/zflashidle.md5anim + anim sight1 models/md5/monsters/zombies/zflashsight.md5anim + anim sight2 models/md5/monsters/zombies/zflashsight.md5anim +} + +model model_monster_zombie_camzombie { + inherit monster_zombie_jumpy + + anim camzombie models/md5/cinematics/commoutside/zombie_with_camera.md5anim { + frame 1 event disableEyeFocus + } +} + +model monster_zombie_suit { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/suitzombie.md5mesh + skin skins/monsters/zombies/suit.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) +} + +model monster_zombie_labcoat { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/labcoatzombie.md5mesh + skin skins/monsters/zombies/labcoat.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) +} + +model monster_zombie_labcoat_hanging { + mesh models/md5/monsters/zombies/labcoatzombie.md5mesh + skin skins/monsters/zombies/labcoat.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + anim hanging models/md5/monsters/zombies/influence_hanging.md5anim { + ai_no_turn + } +} + +model monster_zombie_soldier { + inherit model_monster_zombie + mesh models/md5/monsters/zombies/tshirtzombie.md5mesh + skin skins/monsters/zombies/soldier.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) +} + +entityDef monster_zombie_jumpsuit { + "inherit" "monster_zombie_base" + "model" "monster_zombie_jumpsuit" + "def_head" "head_zombie3" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_maint_bald { + "inherit" "monster_zombie_base" + "model" "monster_zombie_jumpy" + + "def_head" "head_bloodybald" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_maint_no_jaw { + "inherit" "monster_zombie_base" + "model" "monster_zombie_jumpy" + "skin" "skins/monsters/zombies/jumpsuit.skin" + "def_head" "head_zombie2" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_maint_nojaw { + "inherit" "monster_zombie_base" + "model" "monster_zombie_jumpy" + "skin" "skins/monsters/zombies/jumpsuit.skin" + "def_head" "head_zombie2" + "head_joint" "Shoulders" +} + + +entityDef monster_zombie_maint_wrench { + "inherit" "monster_zombie_base" + "model" "monster_zombie_wrench" + "skin" "skins/monsters/zombies/jumpsuit.skin" + "def_attach" "prop_wrench" + "def_head" "head_zombie2" + "head_joint" "Shoulders" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + "def_dropDeathItem" "moveable_wrench" + "dropDeathItemJoint" "Rhand" +} + +entityDef monster_zombie_maint_skinny { + "inherit" "monster_zombie_base" + "model" "monster_zombie_jumpy" + "skin" "skins/monsters/zombies/jumpsuit.skin" + "def_head" "head_zombie1" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_suit_neckstump { + "inherit" "monster_zombie_base" + "model" "monster_zombie_suit" + "skin" "skins/monsters/zombies/suit.skin" + "def_head" "head_stump" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_suit_bloodymouth { + "inherit" "monster_zombie_base" + "model" "monster_zombie_suit" + "skin" "skins/monsters/zombies/suit.skin" + "def_head" "head_zombie3" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_suit_skinny { + "inherit" "monster_zombie_base" + "model" "monster_zombie_suit" + "skin" "skins/monsters/zombies/suit.skin" + "def_head" "head_zombie1" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_labcoat_neckstump { + "inherit" "monster_zombie_base" + "model" "monster_zombie_labcoat" + "skin" "skins/monsters/zombies/labcoat.skin" + "def_head" "head_stump" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_labcoat_limb { + "inherit" "monster_zombie_base" + "model" "monster_zombie_labcoat" + "skin" "skins/monsters/zombies/labcoat.skin" + "def_head" "head_zombie3" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_labcoat_skinny { + "inherit" "monster_zombie_base" + "model" "monster_zombie_labcoat" + "skin" "skins/monsters/zombies/labcoat.skin" + "def_head" "head_zombie1" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_labcoat_pipe { + "inherit" "monster_zombie_base" + "model" "monster_zombie_labcoat" + "skin" "skins/monsters/zombies/labcoat.skin" + "def_head" "head_zombie4" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_labcoat_hanging { + "inherit" "monster_zombie_base" + "model" "monster_zombie_labcoat_hanging" + "skin" "skins/monsters/zombies/labcoat.skin" + "def_head" "head_zombie4" + "turn_rate" "0" + "anim" "hanging" + "head_joint" "Shoulders" + + "look_min" "0 0 0" + "look_max" "0 0 0" + "look_joint Waist" "0 0 0" + "look_joint Chest" "0 0 0" + "look_joint Shoulders" "0 0 0" + "look_joint headcontrol" "0 0 0" + "look_joint Ruparm" "0 0 0" + "look_joint Luparm" "0 0 0" +} + +entityDef monster_zombie_tshirt_bald { + "inherit" "monster_zombie_base" + "model" "monster_zombie_soldier" + "skin" "skins/monsters/zombies/soldier.skin" + "def_head" "head_bloodybald" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_tshirt_blown { + "inherit" "monster_zombie_base" + "model" "monster_zombie_soldier" + "skin" "skins/monsters/zombies/soldier.skin" + "def_head" "head_zombie4" + "head_joint" "Shoulders" +} + +entityDef monster_zombie_maint_flashlight { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + "size" "40 40 72" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "80" + "melee_range" "32" + "turn_rate" "360" + "mass" "150" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "ragdoll" "monster_zombie_misc.af" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body2" + "ik_foot1" "Lball_r" + "ik_foot2" "Rball_r" + "ik_ankle1" "Lankle_r" + "ik_ankle2" "Rankle_r" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + + "def_attach" "prop_lftflashlight" + "def_dropDeathItem" "moveable_item_flashlight" + "dropDeathItemJoint" "LHANDCONNECTOR" + "dropDeathItemRotation" "0 0 0" + "dropDeathItemOffset" "0 0 0" + + "model" "model_monster_zombie_flashlight" + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*Rshldr -*Lshldr -*loneckcontrol" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips" + + "damage_scale head" "2" + + "def_head" "head_zombie2" + "head_joint" "Shoulders" + + "snd_sight1" "monster_zombie_fat_sight1" + + "snd_idle" "monster_zombie_chainsaw_idle" + "snd_footstep" "monster_zombie_commando_footstep" + "snd_chatter" "monster_zombie_fat_chatter" + "snd_chatter_combat" "monster_zombie_fat_chatter_combat" + "snd_pain" "monster_zombie_fat_pain" + "snd_melee_attack" "monster_zombie_fat_attackmelee_1" + "snd_melee_attack_1" "monster_zombie_fat_attackmelee_1" + "snd_melee_attack_2" "monster_zombie_fat_attackmelee_2" + "snd_melee_attack_3" "monster_zombie_fat_attackmelee_3" + "snd_thud" "monster_zombie_fat_thud" + "model_gib" "models/md5/chars/skeleton.md5mesh" +} + +/*********************************************************************** + +monster_zombie_maint seperate models mesh export + +***********************************************************************/ + +export fred { + options -prefix ZOMBIE2_ + addoptions -parent loneck shoulders + addoptions -parent Jaw head + addoptions -parent waist Hips + addoptions -parent Luparm Lshldr + addoptions -parent Lloarm Luparm + addoptions -parent Ruparm Rshldr + addoptions -parent Rloarm Ruparm + addoptions -keep loneck head R_cheek L_cheek Up_lip Lbrow1 Lbrow2 Rbrow1 Rbrow2 llolid luplid rlolid + addoptions -keep ruplid waist chest shoulders Rshldr Lshldr L_shirt R_shirt Back_shirt Luparm loarm_reg + addoptions loarm_stump lrip2 lrip3 lrip1 lrip4 Lloarm Lhand Lcarp Lindex1 Lindex2 Lthumb0 + addoptions Lthumb1 Lthumb2 Lthumb3 Lfings1 Lfings2 Lfings3 Lcarp1 Lindex1a Lindex2a Lcarp2 + addoptions Lindex1b Lindex2c Ruparm rloarm_reg rloarm_stump rrip1 rrip2 rrip3 rrip4 Rloarm + addoptions Rhand Rcarp Rindex1 Rindex2 Rthumb0 Rthumb1 Rthumb2 Rthumb3 Rfings1 Rfings2 Rfings3 + addoptions Rcarp1 Rindex1a Rindex2a Rcarp2 Rindex1b Rindex2b Hips Lupleg Lloleg Lankle_r Lball_r + addoptions Ltoe_r Rupleg Rloleg Rankle_r Rball_r Rtoe_r Jaw Lo_lip Body Body2 + addoptions -keep Lknee Rknee + + mesh models/monsters/zombie/zombie01/cycles/ref_fullskin_allmeshes.ma -dest models/md5/monsters/zombies/zmaint/zmaint_allmeshes + addoptions -prefix ZOMBIE1_ + anim maps/fred/chainsaw/chainsaw.mb -dest models/md5/cinematics/delta2a/victim +} + +/*********************************************************************** + + damage defs + +***********************************************************************/ + +entityDef melee_zombie_maint_Left { + // melee specific parameters + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" + "kickDir" "0 -1 0" + + // damage parameters + "damage" "15" + + "mtr_blob" "leftSmack" + "blob_time" "600" + "blob_x" "-140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "25" + + "kick_time" "350" + "kick_amplitude" "1.1" + + "dv_time" "100" +} + +entityDef melee_zombie_maint_Right { + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" + "kickDir" "0 1 0" + + "damage" "15" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "50" + + "kick_time" "350" + "kick_amplitude" "1.1" + + "dv_time" "100" +} + +entityDef melee_zombie_maint_Push { + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" + "kickDir" "1 0 1" + + "damage" "15" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "60" + + "kick_time" "350" + "kick_amplitude" "1.1" + + "dv_time" "100" +} + +entityDef melee_zombie_maint_Pull { + "snd_hit" "fist_impact" + "snd_miss" "fist_whoosh" + "kickDir" "1 0 -1" + + "damage" "20" + + "mtr_blob" "rightSmack" + "blob_time" "600" + "blob_x" "140" + "blob_y" "-100" + "blob_width" "600" + "blob_height" "600" + + "knockback" "40" + + "kick_time" "700" + "kick_amplitude" "1.1" + + "dv_time" "100" +} diff --git a/base/def/monster_zombie_jumpsuit.def b/base/def/monster_zombie_jumpsuit.def new file mode 100644 index 00000000..34fa5021 --- /dev/null +++ b/base/def/monster_zombie_jumpsuit.def @@ -0,0 +1,172 @@ +/*********************************************************************** + +monster_zombie_jumpsuit.def + +***********************************************************************/ + +export fred { + options -prefix ZJUMP_ -align ALL -parent Loneck Shoulders -parent chainsaw Rhand + + anim models/monsters/zombie/jumpsuit/cycles/melee3.mb -dest models/md5/monsters/zjump/melee3 + anim models/monsters/zombie/jumpsuit/cycles/sight3.mb -dest models/md5/monsters/zjump/sight3 +// anim models/monsters/zombie/jumpsuit/cycles/getup_from_bench.mb -dest models/md5/monsters/zjump/getup_from_bench +// anim models/monsters/zombie/jumpsuit/cycles/getup_from_bench.mb -range 1 1 -dest models/md5/monsters/zjump/getup_from_bench_idle + + anim models/monsters/zombie/jumpsuit/cycles/influence_eats_arm.mb -dest models/md5/monsters/zjump/influence_eats_arm + anim models/monsters/zombie/jumpsuit/cycles/influence_shake.mb -dest models/md5/monsters/zjump/influence_shake + anim models/monsters/zombie/jumpsuit/cycles/influence_shake_random.mb -dest models/md5/monsters/zjump/influence_shake_random + + options -prefix ZJUMP_ -parent Loneck Shoulders -parent chainsaw Rhand +// anim models/monsters/combos/zjump_eats_zfat_loop.mb -dest models/md5/combos/zjump_eats_zfat_loop +// anim models/monsters/combos/zjump_eats_zfat_getup.mb -dest models/md5/combos/zjump_eats_zfat_getup +// anim models/monsters/combos/zjump_eats_zsci_loop.mb -dest models/md5/combos/zjump_eats_zsci_loop +// anim models/monsters/combos/zjump_eats_zsci_getup.mb -dest models/md5/combos/zjump_eats_zsci_getup +} + +model monster_zombie_jumpsuit_old { + mesh models/md5/monsters/zjump/zjump.md5mesh + channel torso ( *Waist ) + channel legs ( *Hips origin Body2 ) + + anim af_pose models/md5/monsters/zjump/af_pose.md5anim + anim ik_pose models/md5/monsters/zjump/af_pose.md5anim + + anim sight models/md5/monsters/zjump/sight3.md5anim { + frame 1 sound_voice snd_sight1 + } + anim idle1 models/md5/monsters/zjump/idle1.md5anim + anim walk1 models/md5/monsters/zjump/walk1.md5anim { + frame 15 sound_body snd_footstep + frame 31 sound_body snd_footstep + frame 47 sound_body snd_footstep + frame 63 sound_body snd_footstep + } + anim melee_attack1 models/md5/monsters/zjump/melee3.md5anim { + frame 1 call overrideLegs + frame 14 melee melee_zombie_maint_Right + frame 28 melee melee_zombie_maint_Left + } + anim pain models/md5/monsters/zjump/pain1_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/zjump/pain1_head.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_chest models/md5/monsters/zjump/pain1_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_left_arm models/md5/monsters/zjump/pain1_luparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_right_arm models/md5/monsters/zjump/pain1_ruparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_legs models/md5/monsters/zjump/pain1_legs.md5anim { + frame 1 sound_voice snd_pain + } + + anim zjump_eats_zsci_loop models/md5/combos/zjump_eats_zsci_loop.md5anim { + ai_no_turn + frame 1 disableWalkIK + } + anim zjump_eats_zsci_getup models/md5/combos/zjump_eats_zsci_getup.md5anim { + ai_no_turn + } + + anim zjump_eats_zfat_loop models/md5/combos/zjump_eats_zfat_loop.md5anim { + frame 1 disableWalkIK + ai_no_turn + + } + anim zjump_eats_zfat_getup models/md5/combos/zjump_eats_zfat_getup.md5anim { + ai_no_turn + frame 1 disableWalkIK + frame 80 enableWalkIK + } + + anim benchgetup models/md5/monsters/zjump/getup_from_bench.md5anim { + ai_no_turn + frame 1 sound_voice snd_sight1 + } + + anim benchidle models/md5/monsters/zjump/getup_from_bench_idle.md5anim { + ai_no_turn + } +} + +entityDef monster_zombie_jumpsuit_old { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "100" + "melee_range" "32" + "skin" "skins/models/monsters/zjump.skin" + "anim" "idle1" + "mass" "150" + "bleed" "1" + + "blockedRadius" "15" + "blockedMoveTime" "500" + "blockedAttackTime" "500" + + "dropGibItem9Joint" "Head" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body2" + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "ragdoll" "monster_zombie_chainsaw" + "model" "monster_zombie_jumpsuit_old" + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Neck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Hips origin Body2" + + "damage_scale head" "2" + + "snd_sight1" "monster_zombie_fat_sight1" + + "snd_idle" "monster_zombie_chainsaw_idle" + "snd_footstep" "monster_zombie_commando_footstep" + "snd_chatter" "monster_zombie_fat_chatter" + "snd_chatter_combat" "monster_zombie_fat_chatter_combat" + "snd_pain" "monster_zombie_fat_pain" + "snd_melee_attack" "monster_zombie_fat_attackmelee_1" + "snd_melee_attack_1" "monster_zombie_fat_attackmelee_1" + "snd_melee_attack_2" "monster_zombie_fat_attackmelee_2" + "snd_melee_attack_3" "monster_zombie_fat_attackmelee_3" + "snd_thud" "monster_zombie_fat_thud" + "skin_dropGib" "skins/models/monsters/zjumpgib.skin" +} + + +model monster_zombie_jumpsuit_influence { + mesh models/md5/monsters/zjump/zjump.md5mesh + anim eating_arm models/md5/monsters/zjump/influence_eats_arm.md5anim + anim shake models/md5/monsters/zjump/influence_shake.md5anim + anim shake_random models/md5/monsters/zjump/influence_shake_random.md5anim + +} + +entityDef monster_zombie_jumpsuit_influence { + "inherit" "cin_base" + "model" "monster_zombie_jumpsuit_influence" + "anim" "eating_arm" + "skin" "skins/models/monsters/zjump.skin" +} \ No newline at end of file diff --git a/base/def/monster_zombie_maint.def b/base/def/monster_zombie_maint.def new file mode 100644 index 00000000..97ec84e0 --- /dev/null +++ b/base/def/monster_zombie_maint.def @@ -0,0 +1,224 @@ +/*********************************************************************** + +monster_zombie_maint.def + +***********************************************************************/ + +export fred { + options -prefix ZOMBIE1_ -sourcedir models/monsters/zombie/zombie01/cycles -destdir models/md5/monsters/zombies/zmaint + addoptions -parent loneck shoulders + addoptions -parent Jaw head + addoptions -parent Body2 Body + addoptions -parent waist Body2 + addoptions -parent Hips Body2 + addoptions -parent Luparm Lshldr + addoptions -parent Lloarm Luparm + addoptions -parent Ruparm Rshldr + addoptions -parent Rloarm Ruparm + addoptions -keep loneck head R_cheek L_cheek Up_lip Lbrow1 Lbrow2 Rbrow1 Rbrow2 llolid luplid rlolid + addoptions -keep ruplid waist chest shoulders Rshldr Lshldr L_shirt R_shirt Back_shirt Luparm loarm_reg + addoptions loarm_stump lrip2 lrip3 lrip1 lrip4 Lloarm Lhand Lcarp Lindex1 Lindex2 Lthumb0 + addoptions Lthumb1 Lthumb2 Lthumb3 Lfings1 Lfings2 Lfings3 Lcarp1 Lindex1a Lindex2a Lcarp2 + addoptions Lindex1b Lindex2c Ruparm rloarm_reg rloarm_stump rrip1 rrip2 rrip3 rrip4 Rloarm + addoptions Rhand Rcarp Rindex1 Rindex2 Rthumb0 Rthumb1 Rthumb2 Rthumb3 Rfings1 Rfings2 Rfings3 + addoptions Rcarp1 Rindex1a Rindex2a Rcarp2 Rindex1b Rindex2b Hips Lupleg Lloleg Lankle_r Lball_r + addoptions Ltoe_r Rupleg Rloleg Rankle_r Rball_r Rtoe_r Jaw Lo_lip Body Body2 + addoptions -keep Lknee Rknee + + mesh zombie01_mesh.mb -dest zmaint + anim idle1.ma + anim walk1.ma + anim walk2.ma + anim mocapwalk2.mb -dest walk3 + anim mocapwalk3.mb -dest walk4 + anim mocapswings1.mb -range 139 173 -dest mocapswing1 + anim mocapswings2.mb -range 42 71 -dest mocapswing2 + anim mocapswings3.mb -range 135 166 -dest mocapswing3 + anim pain1.ma + anim pain_legs.ma + anim pain_chest.ma + anim pain_ruparm.ma + anim pain_luparm.ma + anim pain_head.ma + anim death1.ma + anim death1_twitch.ma + anim death1_getup_attempt.ma + anim death1_getup.ma + anim death1_getup.ma -range 1 1 -dest death1_getuppose + anim attack1.ma + anim attack2.ma + anim attack3.ma + anim sight1.ma + anim initial.ma + + addoptions -rename origin old_origin -rename final_origin origin + anim models/monsters/zombie/zombie01/cycles/getup_from_bed.ma -rotate -135 -dest models/md5/monsters/zombies/zmaint/getup_from_bed + anim models/monsters/zombie/zombie01/cycles/laying_on_bed.ma -rotate -135 -dest models/md5/monsters/zombies/zmaint/laying_on_b +} + +model monster_zombie_maint { + mesh models/md5/monsters/zombies/zmaint/zmaint.md5mesh + channel torso ( *waist ) + channel legs ( *Hips origin Body Body2 ) + + anim af_pose models/md5/monsters/zombies/zmaint/initial.md5anim + anim ik_pose models/md5/monsters/zombies/zmaint/initial.md5anim + + anim initial models/md5/monsters/zombies/zmaint/initial.md5anim + anim idle models/md5/monsters/zombies/zmaint/idle1.md5anim + anim sight models/md5/monsters/zombies/zmaint/sight1.md5anim { + frame 1 sound_voice snd_sight + } + anim walk1 models/md5/monsters/zombies/zmaint/walk1.md5anim { + frame 15 leftfoot + frame 30 rightfoot + } + anim walk2 models/md5/monsters/zombies/zmaint/walk2.md5anim { + frame 13 rightfoot + frame 24 leftfoot + frame 35 rightfoot + frame 46 leftfoot + frame 57 rightfoot + frame 68 leftfoot + } + anim walk3 models/md5/monsters/zombies/zmaint/walk3.md5anim + anim walk4 models/md5/monsters/zombies/zmaint/walk4.md5anim + + anim pain models/md5/monsters/zombies/zmaint/pain1.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_head models/md5/monsters/zombies/zmaint/pain_head.md5anim { + frame 1 sound_voice snd_pain + frame 15 rightfoot + } + anim pain_left_arm models/md5/monsters/zombies/zmaint/pain_luparm.md5anim { + frame 1 sound_voice snd_pain + frame 14 rightfoot + } + anim pain_right_arm models/md5/monsters/zombies/zmaint/pain_ruparm.md5anim { + frame 1 sound_voice snd_pain + } + anim pain_legs models/md5/monsters/zombies/zmaint/pain_legs.md5anim { + frame 1 sound_voice snd_pain + frame 4 leftfoot + frame 18 rightfoot + } + anim pain_chest models/md5/monsters/zombies/zmaint/pain_chest.md5anim { + frame 1 sound_voice snd_pain + } + anim melee_attack4 models/md5/monsters/zombies/zmaint/mocapswing1.md5anim { + frame 1 call overrideLegs + frame 12 melee melee_zombie_maint_Right + } + anim melee_attack5 models/md5/monsters/zombies/zmaint/mocapswing2.md5anim { + frame 1 call overrideLegs + frame 10 melee melee_zombie_maint_Right + } + anim melee_attack6 models/md5/monsters/zombies/zmaint/mocapswing3.md5anim { + frame 1 call overrideLegs + frame 7 melee melee_zombie_maint_Left + } +/* + anim death1_getup_attempt models/md5/monsters/zombies/zmaint/death1_getup_attempt.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 34 sound_body snd_thud + frame 21 sound_voice snd_sight + } + anim death1_getup models/md5/monsters/zombies/zmaint/death1_getup.md5anim { + ai_no_turn + frame 1 call overrideLegs + frame 20 sound_voice snd_sight + frame 31 rightfoot + frame 43 leftfoot + frame 45 sound_voice snd_melee_attack_1 + frame 52 sound_voice snd_sight + frame 54 melee melee_zombie_maint_Right + frame 80 rightfoot + } + anim death1_getuppose models/md5/monsters/zombies/zmaint/death1_getuppose.md5anim { + ai_no_turn + } + + anim death1_twitch models/md5/monsters/zombies/zmaint/death1_twitch.md5anim { + ai_no_turn + } + anim getup_from_bed models/md5/monsters/zombies/zmaint/getup_from_bed.md5anim { + ai_no_turn + } + anim laying_on_bed models/md5/monsters/zombies/zmaint/laying_on_bed.md5anim { + ai_no_turn + } +*/ +} + +entityDef monster_zombie_maint { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombie" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "50" + "melee_range" "32" + "walk_on_sight" "1" + "mass" "150" + + "model" "monster_zombie_maint" + "ragdoll" "monster_zombie_maint" + "skin" "skins/monsters/zombies/zmaintb.skin" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "body" + "ik_foot1" "Lball_r" + "ik_foot2" "Rball_r" + "ik_ankle1" "Lankle_r" + "ik_ankle2" "Rankle_r" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + + "dropGibItem9Joint" "head" + + "damage_zone head" "*head" + "damage_zone chest" "*waist -*Ruparm -*Luparm -*loneck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Rupleg *Lupleg" + + "damage_scale head" "2" + + "snd_sight" "monster_zombie_maint_sight" + "snd_footstep" "monster_zombie_maint_footstep" + "snd_melee_attack_1" "monster_zombie_maint_attackmelee_1" + "snd_melee_attack_2" "monster_zombie_maint_attackmelee_2" + "snd_melee_attack_3" "monster_zombie_maint_attackmelee_3" + "snd_chatter" "monster_zombie_maint_chatter" + "snd_chatter_combat" "monster_zombie_maint_chatter_combat" + "snd_pain" "monster_zombie_maint_pain" + "snd_thud" "monster_zombie_maint_thud" + "snd_swipe" "monster_zombie_maint_swipe" + + "skin_dropGib" "skins/monsters/zombies/zmaintb_gib" +} + +entityDef monster_zombie_maint2 { + "inherit" "monster_zombie_maint" + "skin" "skins/monsters/zombies/zmaint.skin" +} + +model monster_zombie_maint_fast { + inherit monster_zombie_maint + remove walk + anim walk1 models/md5/monsters/zombies/zmaint/walk4.md5anim +} + +entityDef monster_zombie_maint_fast { + "inherit" "monster_zombie_maint" + "model" "monster_zombie_maint_fast" +} \ No newline at end of file diff --git a/base/def/monster_zombie_morgue.def b/base/def/monster_zombie_morgue.def new file mode 100644 index 00000000..721305b1 --- /dev/null +++ b/base/def/monster_zombie_morgue.def @@ -0,0 +1,134 @@ +/*********************************************************************** + +monster_zombie_morgue.def + +***********************************************************************/ + +model model_monster_zombie_morgue { + mesh models/md5/monsters/zombies/morgue/morgue.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body *Hips -*Waist ) + + anim stand models/md5/monsters/zombies/morgue/idle.md5anim + anim idle models/md5/monsters/zombies/morgue/idle.md5anim + + anim sight models/md5/monsters/zombies/morgue/sight.md5anim { + frame 1 sound_voice snd_sight + } + + anim run models/md5/monsters/zombies/morgue/run.md5anim { + frame 2 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 26 sound_body snd_footstep + } + anim af_pose models/md5/monsters/zombies/morgue/af_pose.md5anim + anim ik_pose models/md5/monsters/zombies/morgue/af_pose.md5anim + anim pain models/md5/monsters/zombies/morgue/pain_left.md5anim { + frame 1 sound_voice2 snd_pain + } + + anim pain_chest models/md5/monsters/zombies/morgue/pain_head.md5anim { + frame 1 sound_voice2 snd_pain + } + + anim pain_head models/md5/monsters/zombies/morgue/pain_right.md5anim { + frame 1 sound_voice2 snd_pain + } + + anim pain_right_arm models/md5/monsters/zombies/morgue/pain_right.md5anim { + frame 1 sound_voice2 snd_pain + } + + anim pain_left_arm models/md5/monsters/zombies/morgue/pain_left.md5anim { + frame 1 sound_voice2 snd_pain + } + + anim melee_attack1 models/md5/monsters/zombies/morgue/melee_left.md5anim { + frame 2 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 26 sound_body snd_footstep + frame 13 melee melee_zombie_fat_Left + frame 13 sound_weapon snd_thud + } + + anim melee_attack2 models/md5/monsters/zombies/morgue/melee_right.md5anim { + frame 2 sound_body snd_footstep + frame 10 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 26 sound_body snd_footstep + frame 13 melee melee_zombie_fat_Left + frame 13 sound_weapon snd_thud + } +} + +entityDef monster_zombie_morgue { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieMorgue" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "100" + "melee_range" "40" + "anim" "idle" + "def_projectile" "" + "attack_cone" "70" + "attack_accuracy" "0" + "mass" "200" + + "skin" "skins/monsters/zombies/morgue.skin" + "skin_dropGib" "skins/monsters/zombies/morguegib.skin" + + "dropGibItem9Joint" "Head" + + "model" "model_monster_zombie_morgue" + "ragdoll" "monster_zombie_morgue" + + "burnaway" "0.50" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_ankle1" "Lankle" + "ik_ankle2" "Rankle" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "Lball" + "ik_foot2" "Rball" + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Neck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Hips origin Body" + + "damage_scale head" "1.25" + + "channel torso" "*Waist" + "channel legs" "*origin -*Waist" + + "chatter_min" "3" + "chatter_max" "8" + "chatter_combat_min" "2" + "chatter_combat_max" "2" + + "snd_sight" "zombie_morgue_sight" + "snd_footstep" "zombie_morgue_footstep" + "snd_melee_attack_1" "zombie_morgue_melee" + "snd_melee_attack_2" "zombie_morgue_melee" + "snd_melee_attack_3" "zombie_morgue_melee" + "snd_chatter" "zombie_morgue_chatter" + "snd_chatter_combat" "zombie_morgue_chatter" + "snd_pain" "zombie_morgue_pain" + "snd_death" "zombie_morgue_death" + "snd_thud" "monster_zombie_maint_thud" + "snd_swipe" "monster_zombie_maint_swipe" +} diff --git a/base/def/monster_zombie_sawyer.def b/base/def/monster_zombie_sawyer.def new file mode 100644 index 00000000..67ff7b45 --- /dev/null +++ b/base/def/monster_zombie_sawyer.def @@ -0,0 +1,288 @@ +/*********************************************************************** + +monster_zombie_sawyer.def + +***********************************************************************/ + +export fred { + options -prefix SAW_ -keep gore Lknee Rknee Lbrow2 Lbrow3 Loneck Lfings3 -keep csmoke -parent csmoke Chainsaw -parent Chainsaw Lhand + + addoptions -skipmesh morguemesh + addoptions -skipmesh hipolychain + addoptions -skipmesh hipolychainsaw + addoptions -skipmesh hipolystarter + addoptions -skipmesh hipolycord + + anim maps/fred/commoutside/shot2.mb -dest models/md5/cinematics/commoutside/sawintro_sawyer2 + anim maps/fred/commoutside/shot3.mb -dest models/md5/cinematics/commoutside/sawintro_sawyer3 + anim maps/fred/commoutside/shot4.mb -dest models/md5/cinematics/commoutside/sawintro_sawyer4 + + + addoptions -align ALL + addoptions -sourcedir models/monsters/zombie/sawyer/cycles + addoptions -destdir models/md5/monsters/zombies/sawyer + mesh sawyer_mesh.mb -dest sawyer + anim idle.mb + anim run.mb + anim walk.mb + //anim startchainsaw_mocap.mb -dest startchainsaw + anim startchainsaw.mb + anim af_pose.mb + anim melee1.mb + anim melee2.mb + anim pain_left.mb + anim pain_right.mb + anim pain_head.mb + anim pain_chest.mb + anim melee1_walk.mb + anim melee2_walk.mb + + options -prefix SAW_ -keep gore Lknee Rknee Lbrow2 Lbrow3 Loneck Lfings3 -align ALL -parent Chainsaw Lhand + addoptions -keepmesh morguemesh + addoptions -keepmesh skeletonmesh + + anim af_pose.mb -sourcedir models/monsters/zombie/sawyer/cycles -destdir models/md5/monsters/zombies/morgue + + addoptions -destdir models/md5/monsters/zombies/morgue + + mesh sawyer_mesh.mb -dest morgue -sourcedir models/monsters/zombie/sawyer/cycles + + addoptions -sourcedir models/monsters/zombie/morgue/cycles/ + + anim idle.mb + anim melee_left.mb + anim melee_right.mb + anim pain_chest.mb + anim pain_head.mb + anim pain_left.mb + anim pain_right.mb + anim run.mb + anim sight.mb + anim walk.mb + + anim mars_city2.mb -range 1 1 -dest morguesleep -sourcedir maps/fred/marscity_2/ -destdir models/md5/cinematics/marscity_2/ + anim mars_city2.mb -range 1 64 -dest morguewakeup -sourcedir maps/fred/marscity_2/ -destdir models/md5/cinematics/marscity_2/ + + } + +model model_monster_zombie_sawyer { + mesh models/md5/monsters/zombies/sawyer/sawyer.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body *Hips -*Waist ) + + anim stand models/md5/monsters/zombies/sawyer/idle.md5anim { + frame 1 sound_weapon monster_zombie_chainsaw_idle + frame 50 sound_weapon monster_zombie_chainsaw_idle + } + anim idle models/md5/monsters/zombies/sawyer/idle.md5anim + anim sight1 models/md5/monsters/zombies/sawyer/startchainsaw.md5anim { + frame 7 sound_body monster_zombie_commando_footstep + frame 10 sound_body2 monster_zombie_commando_footstep_clinks + frame 16 sound_body monster_zombie_commando_footstep + frame 24 sound_weapon monster_zombie_chainsaw_pull + frame 25 object_call start_smoke + frame 29 sound_body2 monster_zombie_commando_footstep_clinks + frame 30 sound_voice monster_zombie_chainsaw_release + frame 32 sound_body monster_zombie_chainsaw_attack3 + } + + anim melee_attack1 models/md5/monsters/zombies/sawyer/melee1_walk.md5anim{ + frame 9 sound_body monster_zombie_commando_footstep + frame 9 sound_body2 monster_zombie_commando_footstep_clinks + frame 14 sound_weapon monster_zombie_chainsaw_attack3 + frame 15 object_call start_attack + frame 18 sound_body monster_zombie_commando_footstep + frame 18 sound_body2 monster_zombie_commando_footstep_clinks + frame 29 sound_body monster_zombie_commando_footstep + frame 29 sound_body2 monster_zombie_commando_footstep_clinks + frame 30 object_call end_attack + frame 37 sound_body monster_zombie_commando_footstep + frame 37 sound_body2 monster_zombie_commando_footstep_clinks + } + + anim melee_attack2 models/md5/monsters/zombies/sawyer/melee2_walk.md5anim{ + frame 5 object_call start_attack + frame 7 object_call end_attack + frame 9 sound_body monster_zombie_commando_footstep + frame 9 sound_body2 monster_zombie_commando_footstep_clinks + frame 14 object_call start_attack + frame 14 sound_weapon monster_zombie_chainsaw_attack3 + frame 18 sound_body monster_zombie_commando_footstep + frame 18 sound_body2 monster_zombie_commando_footstep_clinks + frame 29 sound_body monster_zombie_commando_footstep + frame 29 sound_body2 monster_zombie_commando_footstep_clinks + frame 34 object_call end_attack + frame 37 sound_body monster_zombie_commando_footstep + frame 37 sound_body2 monster_zombie_commando_footstep_clinks + } + + anim run models/md5/monsters/zombies/sawyer/run.md5anim { + frame 1 sound_weapon monster_zombie_chainsaw_idle + frame 9 sound_body monster_zombie_commando_footstep + frame 9 sound_body2 monster_zombie_commando_footstep_clinks + frame 16 sound_body monster_zombie_commando_footstep + frame 16 sound_body2 monster_zombie_commando_footstep_clinks + frame 25 sound_body monster_zombie_commando_footstep + frame 25 sound_body2 monster_zombie_commando_footstep_clinks + frame 29 sound_body monster_zombie_commando_footstep + frame 29 sound_body2 monster_zombie_commando_footstep_clinks + } + + anim af_pose models/md5/monsters/zombies/sawyer/af_pose.md5anim + anim ik_pose models/md5/monsters/zombies/sawyer/af_pose.md5anim + + anim pain models/md5/monsters/zombies/sawyer/pain_left.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 11 sound_body monster_zombie_commando_footstep + frame 11 sound_body2 monster_zombie_commando_footstep_clinks + frame 23 sound_body monster_zombie_commando_footstep + frame 23 sound_body2 monster_zombie_commando_footstep_clinks + } + + anim pain_chest models/md5/monsters/zombies/sawyer/pain_chest.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 11 sound_body monster_zombie_commando_footstep + frame 11 sound_body2 monster_zombie_commando_footstep_clinks + frame 23 sound_body monster_zombie_commando_footstep + frame 23 sound_body2 monster_zombie_commando_footstep_clinks + } + + anim pain_head models/md5/monsters/zombies/sawyer/pain_head.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 11 sound_body monster_zombie_commando_footstep + frame 11 sound_body2 monster_zombie_commando_footstep_clinks + frame 23 sound_body monster_zombie_commando_footstep + frame 23 sound_body2 monster_zombie_commando_footstep_clinks + } + + anim pain_right_arm models/md5/monsters/zombies/sawyer/pain_right.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 11 sound_body monster_zombie_commando_footstep + frame 11 sound_body2 monster_zombie_commando_footstep_clinks + frame 23 sound_body monster_zombie_commando_footstep + frame 23 sound_body2 monster_zombie_commando_footstep_clinks + } + + anim pain_left_arm models/md5/monsters/zombies/sawyer/pain_left.md5anim { + frame 1 call overrideLegs + frame 1 sound_voice snd_pain + frame 11 sound_body monster_zombie_commando_footstep + frame 11 sound_body2 monster_zombie_commando_footstep_clinks + frame 23 sound_body monster_zombie_commando_footstep + frame 23 sound_body2 monster_zombie_commando_footstep_clinks + } +} + +entityDef monster_zombie_sawyer { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieSawyer" + "size" "48 48 68" + "use_aas" "aas48" + "team" "1" + "rank" "0" + "health" "250" + "melee_range" "40" + "anim" "idle" + "def_projectile" "" + "attack_cone" "70" + "attack_accuracy" "0" + "mass" "200" + + "chatter_min" "2" + "chatter_max" "6" + + "chatter_combat_min" "2" + "chatter_combat_max" "4" + + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + + "skin" "skins/monsters/zombies/sawyer.skin" + "skin_dropGib" "skins/monsters/zombies/sawyergib.skin" + + "dropGibItem9Joint" "Head" + + "model" "model_monster_zombie_sawyer" + "ragdoll" "monster_zombie_sawyer" + + "burnaway" "0.50" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body" + "ik_hip1" "Lupleg" + "ik_hip2" "Rupleg" + "ik_knee1" "Lloleg" + "ik_knee2" "Rloleg" + "ik_ankle1" "Lankle" + "ik_ankle2" "Rankle" + "ik_dir1" "Lknee" + "ik_dir2" "Rknee" + "ik_foot1" "Lball" + "ik_foot2" "Rball" + + "damage_zone head" "*Neck" + "damage_zone chest" "*Waist -*Neck" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "*Hips origin Body" + + "damage_scale head" "2" + "smokeParticleSystem0" "csmoke" + "smokeParticleSystem1" "burstysquirt.prt-gore" + + "channel torso" "*Waist" + "channel legs" "*origin -*Waist" + + "def_dropDeathItem" "moveable_item_chainsaw" + "dropDeathItemJoint" "csmoke" + "skin_dropDeath" "skins/monsters/zombies/sawyernocs.skin" + "dropDeathItemRotation" "-90 0 0" + + "snd_sight" "bernie_sight" + "snd_footstep" "monster_zombie_commando_footstep" + "snd_melee_attack_1" "bernie_attack" + "snd_melee_attack_2" "bernie_attack" + "snd_melee_attack_3" "bernie_attack" + "snd_chatter" "bernie_chatter" + "snd_chatter_combat" "bernie_chatter_combat" + "snd_pain" "bernie_pain" + "snd_thud" "monster_zombie_maint_thud" + "snd_swipe" "monster_zombie_maint_swipe" + "snd_cspull" "monster_zombie_chainsaw_pull" + "snd_csrelease" "monster_zombie_chainsaw_release" + "snd_csattack_1" "monster_zombie_chainsaw_attack1" + "snd_csattack_2" "monster_zombie_chainsaw_attack2" + "snd_csattack_3" "monster_zombie_chainsaw_attack3" + "snd_csidle" "monster_zombie_chainsaw_idle" + "snd_death" "bernie_death" +} + +entityDef melee_zombie_chainsaw { + "damage" "1" + "kickDir" "-0.25 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "800" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "10" + "push" "20000" + + "smoke_wound_flesh" "bloodwound.smoke" + "mtr_wound_flesh" "textures/decals/hurt02" + + "kick_time" "100" + "kick_amplitude" "1" + + "dv_time" "10" + + "snd_hit" "player_chainsaw_hit_flesh" // TEMP +} diff --git a/base/def/monster_zsec_machinegun.def b/base/def/monster_zsec_machinegun.def new file mode 100644 index 00000000..de19436e --- /dev/null +++ b/base/def/monster_zsec_machinegun.def @@ -0,0 +1,683 @@ + +/*********************************************************************** + +monster_zsec_machinegun.def + +***********************************************************************/ + +/**** +export machinegun security guy +****/ + +export james { + + options -prefix ZOMBIE_ -keep Rhand1 -keep Lknee Rknee eject barrel flash Body2 headcontrol neckcontrol loneckcontrol SPINNER -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent machinegun Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -rename mgeject eject -rename mgbarrel barrel -rename mgflash flash -parent eject machinegun -parent flash machinegun -parent barrel machinegun + + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh mgflash1 + addoptions -keepmesh mgflash2 + addoptions -keepmesh mgflash3 + addoptions -keepmesh mgflash4 + addoptions -keepmesh w_machinegunmesh + addoptions -keepmesh skeletonmesh + + mesh models/monsters/zombie/cycles/zombie_mesh.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/zsecmachinegun + + anim models/monsters/zombie/cycles/idles/machinegun_stand.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_stand + anim models/monsters/zombie/cycles/idles/machinegun_sight.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_sight + anim models/monsters/zombie/cycles/pains/machinegun_chest_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_chest_pain + anim models/monsters/zombie/cycles/pains/machinegun_head_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_head_pain + anim models/monsters/zombie/cycles/pains/machinegun_left_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_left_pain + anim models/monsters/zombie/cycles/pains/machinegun_right_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_right_pain + anim models/monsters/zombie/cycles/runs/machinegun_run.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_run + anim models/monsters/zombie/cycles/walks/machinegun_step_left.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_step_left + anim models/monsters/zombie/cycles/walks/machinegun_step_right.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_step_right + anim models/monsters/zombie/cycles/walks/machinegun_walk.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_walk + anim models/monsters/zombie/cycles/attacks/machinegun_stand_fire.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_stand_fire + + anim models/monsters/zombie/cycles/attacks/machinegun_stand_fire.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_stand_fire + anim models/monsters/zombie/cycles/walks/machinegun_step_left.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_step_left + anim models/monsters/zombie/cycles/walks/machinegun_step_right.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_step_right + anim models/monsters/zombie/cycles/attacks/machinegun_crouch_range_attack.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_range_attack + anim models/monsters/zombie/cycles/attacks/machinegun_crouch_range_attack_loop.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_range_attack_loop + anim models/monsters/zombie/cycles/attacks/machinegun_crouch_range_attack_end.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_range_attack_end + anim models/monsters/zombie/cycles/attacks/machinegun_crouch_range_attack_aim.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_range_attack_aim + anim models/monsters/zombie/cycles/attacks/machinegun_stand_aim.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_stand_aim + + anim models/monsters/zombie/cycles/attacks/machinegun_wall_lean_left.mb -range 1 1 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_A + anim models/monsters/zombie/cycles/attacks/machinegun_wall_lean_left.mb -range 1 11 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_B + anim models/monsters/zombie/cycles/attacks/machinegun_wall_lean_left.mb -range 12 47 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_C + anim models/monsters/zombie/cycles/attacks/machinegun_wall_lean_left.mb -range 48 60 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_D + + anim models/monsters/zombie/cycles/attacks/machinegun_wall_lean_right.mb -range 1 1 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_A + anim models/monsters/zombie/cycles/attacks/machinegun_wall_lean_right.mb -range 1 11 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_B + anim models/monsters/zombie/cycles/attacks/machinegun_wall_lean_right.mb -range 12 47 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_C + anim models/monsters/zombie/cycles/attacks/machinegun_wall_lean_right.mb -range 48 60 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_D + + anim models/monsters/zombie/cycles/attacks/machinegun_wall_rotate_left.mb -range 1 1 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_A + anim models/monsters/zombie/cycles/attacks/machinegun_wall_rotate_left.mb -range 1 11 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_B + anim models/monsters/zombie/cycles/attacks/machinegun_wall_rotate_left.mb -range 12 47 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_C + anim models/monsters/zombie/cycles/attacks/machinegun_wall_rotate_left.mb -range 48 60 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_D + + anim models/monsters/zombie/cycles/attacks/machinegun_wall_rotate_right.mb -range 1 1 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_A + anim models/monsters/zombie/cycles/attacks/machinegun_wall_rotate_right.mb -range 1 11 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_B + anim models/monsters/zombie/cycles/attacks/machinegun_wall_rotate_right.mb -range 12 47 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_C + anim models/monsters/zombie/cycles/attacks/machinegun_wall_rotate_right.mb -range 48 60 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_D + + anim models/monsters/zombie/cycles/attacks/machinegun_stand_crate.mb -range 1 1 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_A + anim models/monsters/zombie/cycles/attacks/machinegun_stand_crate.mb -range 1 11 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_B + anim models/monsters/zombie/cycles/attacks/machinegun_stand_crate.mb -range 12 47 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_C + anim models/monsters/zombie/cycles/attacks/machinegun_stand_crate.mb -range 48 60 -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_D + + anim models/monsters/zombie/cycles/attacks/machinegun_raise.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_raise + anim models/monsters/zombie/cycles/attacks/machinegun_lower.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_lower + + anim models/monsters/zombie/cycles/pains/machinegun_crouch_left_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_left_pain + anim models/monsters/zombie/cycles/pains/machinegun_crouch_right_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_right_pain +} + +model model_monster_zsec_machinegun { + mesh models/md5/monsters/zombies/zsec_machinegun/zsecmachinegun.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body2 *Hips -*Waist SPINNER ) + skin skins/monsters/zombies/zsecurity_machinegun.skin + + anim af_pose models/md5/monsters/zombies/zsec_machinegun/af_pose.md5anim + anim ik_pose models/md5/monsters/zombies/zsec_machinegun/af_pose.md5anim + + anim stand models/md5/monsters/zombies/zsec_machinegun/machinegun_stand.md5anim + anim idle models/md5/monsters/zombies/zsec_machinegun/machinegun_stand.md5anim + + anim sight models/md5/monsters/zombies/zsec_machinegun/machinegun_sight.md5anim { + frame 1 sound_voice monster_zombie_security_sight + frame 14 sound_body monster_zombie_security_footstep + frame 28 sound_body monster_zombie_security_footstep + } + + anim walk models/md5/monsters/zombies/zsec_machinegun/machinegun_walk.md5anim { + frame 1 sound_body monster_zombie_security_footstep + frame 14 sound_body monster_zombie_security_footstep + } + + anim run models/md5/monsters/zombies/zsec_machinegun/machinegun_run.md5anim { + frame 8 sound_body monster_zombie_security_footstep + frame 18 sound_body monster_zombie_security_footstep + } + + anim crouch_range_attack models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_range_attack.md5anim + anim crouch_range_attack_loop models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_range_attack_loop.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + + } + anim crouch_range_attack_end models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_range_attack_end.md5anim + anim crouch_range_attack_aim models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_range_attack_aim.md5anim + + anim range_attack_aim models/md5/monsters/zombies/zsec_machinegun/machinegun_stand_aim.md5anim + + anim step_left models/md5/monsters/zombies/zsec_machinegun/machinegun_step_left.md5anim { + frame 9 sound_body monster_zombie_security_footstep + frame 20 sound_body monster_zombie_security_footstep + } + anim step_right models/md5/monsters/zombies/zsec_machinegun/machinegun_step_right.md5anim { + frame 9 sound_body monster_zombie_security_footstep + frame 20 sound_body monster_zombie_security_footstep + } + + anim evade_left models/md5/monsters/zombies/zsec_machinegun/machinegun_evade_left.md5anim { + frame 19 sound_body monster_zombie_security_footstep + frame 24 sound_body monster_zombie_security_footstep + frame 29 sound_body monster_zombie_security_footstep + frame 32 sound_body monster_zombie_security_footstep + } + anim evade_right models/md5/monsters/zombies/zsec_machinegun/machinegun_evade_right.md5anim { + frame 19 sound_body monster_zombie_security_footstep + frame 22 sound_body monster_zombie_security_footstep + frame 29 sound_body monster_zombie_security_footstep + } + anim crouch_pain models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim crouch_pain_chest models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim crouch_pain_head models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_right_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim crouch_pain_left_arm models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim crouch_pain_right_arm models/md5/monsters/zombies/zsec_machinegun/machinegun_crouch_right_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + + anim pain models/md5/monsters/zombies/zsec_machinegun/machinegun_chest_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain_chest models/md5/monsters/zombies/zsec_machinegun/machinegun_chest_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain_head models/md5/monsters/zombies/zsec_machinegun/machinegun_head_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain_right_arm models/md5/monsters/zombies/zsec_machinegun/machinegun_right_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain_left_arm models/md5/monsters/zombies/zsec_machinegun/machinegun_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim stepoutright_out models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_B.md5anim { + frame 8 sound_body monster_zombie_security_footstep + } + anim stepoutright_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim stepoutright_in models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_D.md5anim { + frame 13 sound_body monster_zombie_security_footstep + + } + anim stepoutright_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_A.md5anim + + anim stepoutleft_out models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_B.md5anim { + frame 11 sound_body monster_zombie_security_footstep + } + anim stepoutleft_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim stepoutleft_in models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_D.md5anim { + frame 13 sound_body monster_zombie_security_footstep + } + anim stepoutleft_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_A.md5anim + + anim leanoutright_out models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_B.md5anim { + frame 10 sound_body monster_zombie_security_footstep + } + anim leanoutright_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim leanoutright_in models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_D.md5anim { + frame 13 sound_body monster_zombie_security_footstep + } + anim leanoutright_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanright_A.md5anim + + anim leanoutleft_out models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_B.md5anim { + frame 10 sound_body monster_zombie_security_footstep + } + anim leanoutleft_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim leanoutleft_in models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_D.md5anim { + frame 13 sound_body monster_zombie_security_footstep + } + anim leanoutleft_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_wallleanleft_A.md5anim + + anim cratestand_out models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_B.md5anim + anim cratestand_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim cratestand_in models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_D.md5anim + anim cratestand_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_A.md5anim + + anim rotoutleft1_out models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_B.md5anim { + frame 8 sound_body monster_zombie_security_footstep + } + anim rotoutleft1_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim rotoutleft1_in models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_D.md5anim { + frame 9 sound_body monster_zombie_security_footstep + } + anim rotoutleft1_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_A.md5anim + + anim rotoutright1_out models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_B.md5anim { + frame 6 sound_body monster_zombie_security_footstep + } + anim rotoutright1_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim rotoutright1_in models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_D.md5anim { + frame 10 sound_body monster_zombie_security_footstep + } + anim rotoutright1_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_A.md5anim + + anim rotoutleft2_out models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_B.md5anim { + frame 8 sound_body monster_zombie_security_footstep + } + anim rotoutleft2_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim rotoutleft2_in models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_D.md5anim { + frame 9 sound_body monster_zombie_security_footstep + } + anim rotoutleft2_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotleft_A.md5anim + + anim rotoutright2_out models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_B.md5anim { + frame 6 sound_body monster_zombie_security_footstep + } + anim rotoutright2_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim rotoutright2_in models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_D.md5anim { + frame 10 sound_body monster_zombie_security_footstep + } + anim rotoutright2_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_wallrotright_A.md5anim + + anim range_attack models/md5/monsters/zombies/zsec_machinegun/machinegun_raise.md5anim + anim range_attack_loop1 models/md5/monsters/zombies/zsec_machinegun/machinegun_stand_fire.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim range_attack_loop2 models/md5/monsters/zombies/zsec_machinegun/machinegun_stand_fire.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim range_attack_end models/md5/monsters/zombies/zsec_machinegun/machinegun_lower.md5anim + + anim crate_up_out models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_B.md5anim + anim crate_up_fire models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_C.md5anim { + frame 4 sound_weapon monster_machinegun_fire + frame 4 launch_missile barrel + frame 7 sound_weapon monster_machinegun_fire + frame 7 launch_missile barrel + frame 10 sound_weapon monster_machinegun_fire + frame 10 launch_missile barrel + frame 13 sound_weapon monster_machinegun_fire + frame 13 launch_missile barrel + frame 16 sound_weapon monster_machinegun_fire + frame 16 launch_missile barrel + frame 19 sound_weapon monster_machinegun_fire + frame 19 launch_missile barrel + frame 22 sound_weapon monster_machinegun_fire + frame 22 launch_missile barrel + frame 25 sound_weapon monster_machinegun_fire + frame 25 launch_missile barrel + frame 28 sound_weapon monster_machinegun_fire + frame 28 launch_missile barrel + frame 31 sound_weapon monster_machinegun_fire + frame 31 launch_missile barrel + } + anim crate_up_in models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_D.md5anim + anim crate_up_wait models/md5/monsters/zombies/zsec_machinegun/machinegun_crate_up_A.md5anim +} + +entityDef monster_zsec_machinegun { + "inherit" "monster_zsec_shotgun" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieSecurityPistol" + "model" "model_monster_zsec_machinegun" + "size" "40 40 72" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "90" + "def_projectile" "projectile_bullet_zsec_machinegun" + "projectile_spread" "2" + "num_projectiles" "1" + "attack_cone" "70" + "attack_accuracy" "3" + "smoke_weapon" "cgsmoke.smoke" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + "run_attack" "1" // allow shooting while running + + "ragdoll" "monster_zombie_security_machinegun" + + "def_head" "head_security_dhelmet" + "head_joint" "Shoulders" + + + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + "skin_dropGib" "skins/monsters/zombies/securitygib.skin" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + "def_dropDeathItem9" "moveable_item_machinegun" + "dropDeathItem9Joint" "machinegun" + "skin_dropDeath" "skins/monsters/zombies/zsecurity.skin" + + + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" +} + +entityDef damage_bullet_zsec_machinegun { + "damage" "3" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "1" + + "smoke_wound_flesh" "bloodwound.smoke" + "mtr_wound_flesh" "textures/decals/hurt02" + "mtr_splat_flesh" "textures/decals/dsplat2" + "mtr_splat_flesh2" "textures/decals/dsplat5" + "mtr_splat_flesh3" "textures/decals/dsplat7" + "mtr_splat_flesh4" "textures/decals/dsplat11" + "snd_flesh" "bullet_impact_flesh" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" +} + +entityDef projectile_bullet_zsec_machinegun { + "spawnclass" "idProjectile" + "mins" "-1 -1 -1" + "maxs" "1 1 1" + "cone" "3" + "scale" "0.1" + "noshadows" "1" + "tracers" "1" + "model_tracer" "models/particles/tracer/tracer.lwo" + + "snd_ricochet" "bullet_ricochet" + "snd_tracer" "bullet_flight" + "snd_impact" "bullet_impact_metal" + + "def_damage" "damage_bullet_zsec_machinegun" + + "launchFromBarrel" "1" + "health" "0" + "velocity" "2000 0 0" // slowed down for tracer effect + "angular_velocity" "0 0 0" + "thrust" "0" + "thrust_start" "0" + "thrust_end" "0" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0.6" + "mass" "2" + "gravity" "0" + "fuse" "4" + + "detonate_on_fuse" "0" + "detonate_on_death" "0" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "1" + "impact_gib" "1" + + "mtr_detonate" "textures/decals/bulleth02" + "decal_size" "10" + + "smoke_fly" "" + "smoke_detonate" "smokeandspark.smoke" + "smoke_bounce" "" //particles/bullet_sparks.particle" + "smoke_fuse" "" + + "mtr_light_shader" "" + "light_color" "0 0 0" + "light_radius" "0" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "" + "explode_light_color" "0 0 0" + "explode_light_radius" "0" + "explode_light_fadetime" "0" +} diff --git a/base/def/monster_zsec_pistol.def b/base/def/monster_zsec_pistol.def new file mode 100644 index 00000000..66ff3c5f --- /dev/null +++ b/base/def/monster_zsec_pistol.def @@ -0,0 +1,550 @@ +/*********************************************************************** + +monster_zsec_pistol.def + +***********************************************************************/ + +export fred { + options -prefix ZOMBIE_ -keep Rhand Lknee Rknee eject barrel flash Body Body2 headcontrol neckcontrol loneckcontrol SPINNER Lhand1 Rhand1 -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent shield Lloarm -parent pistol Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -rename peject eject -rename pbarrel barrel -rename pflash flash -parent eject pistol -parent flash pistol -parent barrel pistol + + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh w_pistolmesh + addoptions -keepmesh pflash1 + addoptions -keepmesh pflash2 + addoptions -keepmesh secsheild_outerglass + addoptions -keepmesh secsheild_innerglass + addoptions -keepmesh secsheild_innermesh + addoptions -keepmesh secsheild_outermesh + addoptions -keepmesh skeletonmesh + + mesh models/monsters/zombie/cycles/zombie_mesh.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/zsecpistol + + anim models/monsters/zombie/cycles/attacks/pistol_aim.mb -range 16 16 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/aim + anim models/monsters/zombie/cycles/attacks/pistol_raise.mb -range 1 16 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/raise + anim models/monsters/zombie/cycles/attacks/pistol_raise.mb -range 16 32 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/lower + + anim models/monsters/zombie/cycles/idles/security_afpose.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/af_pose -prefix SUIT_ + anim models/monsters/zombie/cycles/runs/shield_run.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shield/shield_run + + anim models/monsters/zombie/cycles/idles/pistol_stand.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/stand + + anim models/monsters/zombie/cycles/walks/pistol_step_left.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/step_left + anim models/monsters/zombie/cycles/walks/pistol_step_right.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/step_right + + anim models/monsters/zombie/cycles/idles/pistol_sight.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/sight + + anim models/monsters/zombie/cycles/walks/pistol_walk2.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/walk2 + + anim models/monsters/zombie/cycles/attacks/pistol_crouch_aim.mb -rotate 90 -range 11 11 -dest models/md5/monsters/zombies/zsec_pistol/crouch_aim + + anim models/monsters/zombie/cycles/attacks/pistol_crouch_aim_pain_lft.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/crouch_aim_pain_left + anim models/monsters/zombie/cycles/attacks/pistol_crouch_aim_pain_center.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/crouch_pain_center + anim models/monsters/zombie/cycles/attacks/pistol_crouch_aim_pain_rt.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/crouch_aim_pain_right + + anim models/monsters/zombie/cycles/attacks/pistol_crouch_raise_fire_lower.mb -range 1 11 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/crouch_raise + anim models/monsters/zombie/cycles/attacks/pistol_crouch_raise_fire_lower.mb -range 11 37 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/crouch_fire + anim models/monsters/zombie/cycles/attacks/pistol_crouch_raise_fire_lower.mb -range 37 50 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/crouch_lower + + anim models/monsters/zombie/cycles/attacks/pistol_fire1.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/fire1 + + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 44 63 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/chestpain1 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 65 83 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/leftarmpain1 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 85 105 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/rightarmpain1 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 108 125 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/chestpain2 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 133 155 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/headpain1 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 163 185 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/leftarmpain2 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 187 215 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/leftarmpain3 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 248 274 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/headpain2 + anim models/monsters/zombie/cycles/pains/zsec_pistol_pains.mb -range 308 338 -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/rightarmpain2 + + anim models/monsters/zombie/cycles/runs/pistol_run1.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/run1 + anim models/monsters/zombie/cycles/runs/pistol_run2.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/run2 + + anim models/monsters/zombie/cycles/runs/evade_left.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/evade_left + anim models/monsters/zombie/cycles/runs/evade_right.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_pistol/evade_right +} + +model model_monster_zsec_pistol { + mesh models/md5/monsters/zombies/zsec_pistol/zsecpistol.md5mesh + + skin skins/monsters/zombies/zsecurity_pistol.skin + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER ) + + anim af_pose models/md5/monsters/zombies/zsec_pistol/af_pose.md5anim + anim ik_pose models/md5/monsters/zombies/zsec_pistol/af_pose.md5anim + + anim idle models/md5/monsters/zombies/zsec_pistol/stand.md5anim + anim stand models/md5/monsters/zombies/zsec_pistol/stand.md5anim + + anim sight models/md5/monsters/zombies/zsec_pistol/sight.md5anim { + frame 1 sound_voice monster_zombie_security_sight + } + + anim walk models/md5/monsters/zombies/zsec_pistol/walk2.md5anim { + frame 4 sound_body monster_zombie_security_footstep + frame 12 sound_body monster_zombie_security_footstep + frame 22 sound_body monster_zombie_security_footstep + frame 34 sound_body monster_zombie_security_footstep + } + + anim step_left models/md5/monsters/zombies/zsec_pistol/step_left.md5anim { + + frame 7 sound_body monster_zombie_security_footstep + frame 16 sound_body monster_zombie_security_footstep + + } + + anim step_right models/md5/monsters/zombies/zsec_pistol/step_right.md5anim { + + frame 7 sound_body monster_zombie_security_footstep + frame 12 sound_body monster_zombie_security_footstep + + } + + anim run1 models/md5/monsters/zombies/zsec_pistol/run1.md5anim { + frame 9 sound_body monster_zombie_security_footstep + frame 16 sound_body monster_zombie_security_footstep + } + + anim run2 models/md5/monsters/zombies/zsec_pistol/run2.md5anim { + frame 1 sound_body monster_zombie_security_footstep + frame 10 sound_body monster_zombie_security_footstep + frame 19 sound_body monster_zombie_security_footstep + frame 28 sound_body monster_zombie_security_footstep + + } + + anim pain models/md5/monsters/zombies/zsec_pistol/chestpain1.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_head1 models/md5/monsters/zombies/zsec_pistol/headpain1.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_head2 models/md5/monsters/zombies/zsec_pistol/headpain2.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_chest1 models/md5/monsters/zombies/zsec_pistol/chestpain1.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_chest2 models/md5/monsters/zombies/zsec_pistol/chestpain2.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_left_arm1 models/md5/monsters/zombies/zsec_pistol/leftarmpain1.md5anim { + frame 5 sound_voice monster_zombie_security_pain + } + anim pain_left_arm2 models/md5/monsters/zombies/zsec_pistol/leftarmpain2.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_left_arm3 models/md5/monsters/zombies/zsec_pistol/leftarmpain3.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_right_arm1 models/md5/monsters/zombies/zsec_pistol/rightarmpain1.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_right_arm2 models/md5/monsters/zombies/zsec_pistol/rightarmpain2.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim stepoutleft_out models/md5/monsters/zombies/zsec_pistol/wallstepleftpistol_B.md5anim { + + frame 13 sound_body monster_zombie_security_footstep + + } + anim stepoutleft_fire models/md5/monsters/zombies/zsec_pistol/wallstepleftpistol_C.md5anim { + frame 2 launch_missile pistol + frame 2 sound_weapon monster_pistol_fire + } + anim stepoutleft_in models/md5/monsters/zombies/zsec_pistol/wallstepleftpistol_D.md5anim { + + frame 11 sound_body monster_zombie_security_footstep + frame 18 sound_body monster_zombie_security_footstep + + } + + anim stepoutleft_wait models/md5/monsters/zombies/zsec_pistol/wallstepleftpistol_A.md5anim + + anim stepoutright_out models/md5/monsters/zombies/zsec_pistol/wallsteprightpistol_B.md5anim { + + frame 7 sound_body monster_zombie_security_footstep + frame 13 sound_body monster_zombie_security_footstep + + } + anim stepoutright_fire models/md5/monsters/zombies/zsec_pistol/wallsteprightpistol_C.md5anim { + frame 2 launch_missile pistol + frame 2 sound_weapon monster_pistol_fire + } + anim stepoutright_in models/md5/monsters/zombies/zsec_pistol/wallsteprightpistol_D.md5anim { + + frame 16 sound_body monster_zombie_security_footstep + + } + anim stepoutright_wait models/md5/monsters/zombies/zsec_pistol/wallsteprightpistol_A.md5anim + + anim rotoutleft1_out models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol_B.md5anim { + + frame 11 sound_body monster_zombie_security_footstep + frame 13 sound_body monster_zombie_security_footstep + + } + anim rotoutleft1_fire models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol_C.md5anim { + frame 2 launch_missile pistol + frame 2 sound_weapon monster_pistol_fire + } + anim rotoutleft1_in models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol_D.md5anim { + + frame 12 sound_body monster_zombie_security_footstep + frame 16 sound_body monster_zombie_security_footstep + + } + anim rotoutleft1_wait models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol_A.md5anim + + anim rotoutleft2_out models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol2_B.md5anim { + + frame 12 sound_body monster_zombie_security_footstep + + } + anim rotoutleft2_fire models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol2_C.md5anim { + frame 2 launch_missile pistol + frame 2 sound_weapon monster_pistol_fire + } + anim rotoutleft2_in models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol2_D.md5anim { + + frame 16 sound_body monster_zombie_security_footstep + + } + anim rotoutleft2_wait models/md5/monsters/zombies/zsec_pistol/wallrotleftpistol2_A.md5anim + + anim rotoutright1_out models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol_B.md5anim { + + frame 5 sound_body monster_zombie_security_footstep + frame 14 sound_body monster_zombie_security_footstep + + } + anim rotoutright1_fire models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol_C.md5anim { + frame 2 launch_missile pistol + frame 2 sound_weapon monster_pistol_fire + } + anim rotoutright1_in models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol_D.md5anim { + + frame 13 sound_body monster_zombie_security_footstep + frame 19 sound_body monster_zombie_security_footstep + + } + anim rotoutright1_wait models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol_A.md5anim + + anim rotoutright2_out models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol2_B.md5anim { + + frame 13 sound_body monster_zombie_security_footstep + frame 15 sound_body monster_zombie_security_footstep + + } + anim rotoutright2_fire models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol2_C.md5anim { + frame 2 launch_missile pistol + frame 2 sound_weapon monster_pistol_fire + } + anim rotoutright2_in models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol2_D.md5anim { + + frame 3 sound_body monster_zombie_security_footstep + frame 12 sound_body monster_zombie_security_footstep + frame 15 sound_body monster_zombie_security_footstep + + } + anim rotoutright2_wait models/md5/monsters/zombies/zsec_pistol/wallrotrightpistol2_A.md5anim + + anim craterotright_out models/md5/monsters/zombies/zsec_pistol/craterotrightpistol_B.md5anim { + + frame 17 sound_body monster_zombie_security_footstep + + } + anim craterotright_fire models/md5/monsters/zombies/zsec_pistol/craterotrightpistol_C.md5anim { + frame 1 sound_weapon monster_pistol_fire + frame 1 launch_missile pistol + } + anim craterotright_in models/md5/monsters/zombies/zsec_pistol/craterotrightpistol_D.md5anim { + + frame 22 sound_body monster_zombie_security_footstep + + } + anim craterotright_wait models/md5/monsters/zombies/zsec_pistol/craterotrightpistol_A.md5anim + + anim cratestand_out models/md5/monsters/zombies/zsec_pistol/cratestandpistol_B.md5anim + anim cratestand_fire models/md5/monsters/zombies/zsec_pistol/cratestandpistol_C.md5anim { + frame 1 sound_weapon monster_pistol_fire + frame 1 launch_missile pistol + } + anim cratestand_in models/md5/monsters/zombies/zsec_pistol/cratestandpistol_D.md5anim + anim cratestand_wait models/md5/monsters/zombies/zsec_pistol/cratestandpistol_A.md5anim + + + anim crouch_out models/md5/monsters/zombies/zsec_pistol/crouch_raise.md5anim + anim crouch_fire models/md5/monsters/zombies/zsec_pistol/crouch_fire.md5anim { + frame 1 sound_weapon monster_pistol_fire + frame 1 launch_missile pistol + } + anim crouch_in models/md5/monsters/zombies/zsec_pistol/crouch_lower.md5anim { + + frame 10 sound_body monster_zombie_security_footstep + } + anim crouch_wait models/md5/monsters/zombies/zsec_pistol/crouch_aim.md5anim + + anim range_attack_aim models/md5/monsters/zombies/zsec_pistol/aim.md5anim + anim range_attack models/md5/monsters/zombies/zsec_pistol/raise.md5anim + anim range_attack_loop models/md5/monsters/zombies/zsec_pistol/fire1.md5anim { + frame 1 sound_weapon monster_pistol_fire + frame 1 launch_missile pistol + } + anim range_attack_end models/md5/monsters/zombies/zsec_pistol/lower.md5anim + + anim crouch_range_attack_aim models/md5/monsters/zombies/zsec_pistol/crouch_aim.md5anim + anim crouch_range_attack models/md5/monsters/zombies/zsec_pistol/crouch_raise.md5anim + anim crouch_range_attack_loop models/md5/monsters/zombies/zsec_pistol/crouch_fire.md5anim { + frame 1 sound_weapon monster_pistol_fire + frame 1 launch_missile pistol + } + anim crouch_range_attack_end models/md5/monsters/zombies/zsec_pistol/crouch_lower.md5anim { + + frame 10 sound_body monster_zombie_security_footstep + + } + + anim crouch_pain models/md5/monsters/zombies/zsec_pistol/crouch_pain_center.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_head models/md5/monsters/zombies/zsec_pistol/crouch_pain_center.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_chest models/md5/monsters/zombies/zsec_pistol/crouch_pain_center.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_left_arm models/md5/monsters/zombies/zsec_pistol/crouch_aim_pain_left.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_right_arm models/md5/monsters/zombies/zsec_pistol/crouch_aim_pain_right.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim evade_left models/md5/monsters/zombies/zsec_pistol/evade_left.md5anim { + frame 1 sound_voice monster_zombie_security_pain + frame 16 sound_body monster_zombie_security_footstep + frame 18 sound_body monster_zombie_security_footstep + frame 30 sound_body monster_zombie_security_footstep + + } + anim evade_right models/md5/monsters/zombies/zsec_pistol/evade_right.md5anim { + + frame 1 sound_voice monster_zombie_security_pain + frame 13 sound_body monster_zombie_security_footstep + frame 16 sound_body monster_zombie_security_footstep + frame 25 sound_body monster_zombie_security_footstep + + } +} + +entityDef monster_zsec_pistol { + "inherit" "zombie_default" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieSecurityPistol" + "size" "40 40 72" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "55" + "def_projectile" "projectile_bullet_zsec_pistol" + "attack_cone" "70" + "attack_accuracy" "3" + "projectile_spread" "2" + "smoke_weapon" "cgsmoke.smoke" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + "turn_rate" "360" + "mass" "150" + + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "ragdoll" "monster_zombie_security_pistol" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body2" + "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" "Lball_r" + "ik_foot2" "Rball_r" + + + "model" "model_monster_zsec_pistol" + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*Rshldr -*Lshldr -*loneckcontrol" + "damage_zone left_arm" "*Lshldr" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips" + + "damage_scale head" "1.25" + + + "def_head" "head_zombie6" + "head_joint" "Shoulders" + + "skin_dropGib" "skins/monsters/zombies/securitygib.skin" + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + "def_dropDeathItem9" "moveable_item_pistol" + "dropDeathItem9Joint" "pistol" + "skin_dropDeath" "skins/monsters/zombies/zsecurity.skin" + + + "snd_bounce" "ragdoll_impact" + "snd_footstep" "monster_zombie_security_footstep" + "snd_chatter" "monster_zombie_security_chatter" + "snd_chatter_combat" "monster_zombie_security_chatter_combat" + "snd_death" "monster_zombie_security_die" + + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" +} + +model model_monster_zsec_pistol_slowfire { + inherit model_monster_zsec_pistol + anim range_attack_loop models/md5/monsters/zombies/zsec_pistol/fire1.md5anim { + frame 1 sound_weapon monster_pistol_fire + frame 1 launch_missile pistol + } + anim crouch_range_attack_loop models/md5/monsters/zombies/zsec_pistol/crouch_fire.md5anim { + frame 1 sound_weapon monster_pistol_fire + frame 1 launch_missile pistol + } + +} + +entityDef monster_zsec_pistol_slowfire { + "inherit" "monster_zsec_pistol" + "model" "model_monster_zsec_pistol_slowfire" +} + + + +entityDef damage_bullet_zsec_pistol { + "damage" "4" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "1" + + "smoke_wound_flesh" "bloodwound.smoke" + "mtr_wound_flesh" "textures/decals/hurt02" + "mtr_splat_flesh" "textures/decals/dsplat2" + "mtr_splat_flesh2" "textures/decals/dsplat5" + "mtr_splat_flesh3" "textures/decals/dsplat7" + "mtr_splat_flesh4" "textures/decals/dsplat11" + "snd_flesh" "bullet_impact_flesh" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" +} + +entityDef projectile_bullet_zsec_pistol { + "spawnclass" "idProjectile" + "mins" "-1 -1 -1" + "maxs" "1 1 1" + "cone" "3" + "scale" "0.1" + "noshadows" "1" + + "snd_ricochet" "bullet_ricochet" + "snd_impact" "bullet_impact_metal" + + "def_damage" "damage_bullet_zsec_pistol" + + "launchFromBarrel" "0" + "health" "0" + "velocity" "2000 0 0" // slowed down for tracer effect + "angular_velocity" "0 0 0" + "thrust" "0" + "thrust_start" "0" + "thrust_end" "0" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0.6" + "mass" "2" + "gravity" "0" + "fuse" "4" + + "detonate_on_fuse" "0" + "detonate_on_death" "0" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "1" + "impact_gib" "1" + + "mtr_detonate" "textures/decals/bulleth02" + "decal_size" "10" + + "smoke_fly" "" + "smoke_detonate" "smokeandspark.smoke" + "smoke_bounce" "" //particles/bullet_sparks.particle" + "smoke_fuse" "" + + "mtr_light_shader" "" + "light_color" "0 0 0" + "light_radius" "0" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "" + "explode_light_color" "0 0 0" + "explode_light_radius" "0" + "explode_light_fadetime" "0" +} diff --git a/base/def/monster_zsec_shield.def b/base/def/monster_zsec_shield.def new file mode 100644 index 00000000..df07e24f --- /dev/null +++ b/base/def/monster_zsec_shield.def @@ -0,0 +1,407 @@ +/*********************************************************************** + +monster_zsec_shield.def + +***********************************************************************/ + +/*** +export security shield guy +***/ + +export james { + + options -prefix SUIT_ -keep Lknee Rknee eject barrel flash Body2 headcontrol neckcontrol loneckcontrol SPINNER Lhand1 Rhand1 Body Rhand -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent shield Lloarm -parent pistol Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -rename peject eject -rename pbarrel barrel -rename pflash flash -parent eject pistol -parent flash pistol -parent barrel pistol + + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh w_pistolmesh + addoptions -keepmesh pflash1 + addoptions -keepmesh pflash2 + addoptions -keepmesh secsheild_outerglass + addoptions -keepmesh secsheild_innerglass + addoptions -keepmesh secsheild_innermesh + addoptions -keepmesh secsheild_outermesh + addoptions -keepmesh skeletonmesh + + addoptions -align ALL + + anim models/characters/male_npc/cycles/idles/af_pose.mb -dest models/md5/monsters/zombies/zsec_shield/af_pose + anim models/monsters/zombie/cycles/walks/shield_walk.mb -dest models/md5/monsters/zombies/zsec_shield/shield_walk + anim models/monsters/zombie/cycles/idles/shield_sight.mb -dest models/md5/monsters/zombies/zsec_shield/shield_sight + anim models/monsters/zombie/cycles/idles/shield_stand.mb -dest models/md5/monsters/zombies/zsec_shield/shield_stand + anim models/monsters/zombie/cycles/pains/shield_head_pain.mb -dest models/md5/monsters/zombies/zsec_shield/shield_head_pain + anim models/monsters/zombie/cycles/pains/shield_chest_pain.mb -dest models/md5/monsters/zombies/zsec_shield/shield_chest_pain + anim models/monsters/zombie/cycles/pains/shield_left_pain.mb -dest models/md5/monsters/zombies/zsec_shield/shield_left_pain + anim models/monsters/zombie/cycles/pains/shield_right_pain.mb -dest models/md5/monsters/zombies/zsec_shield/shield_right_pain + anim models/monsters/zombie/cycles/attacks/shield_stand_crate.mb -range 0 0 -dest models/md5/monsters/zombies/zsec_shield/shield_crate_up_A + anim models/monsters/zombie/cycles/attacks/shield_stand_crate.mb -range 0 10 -dest models/md5/monsters/zombies/zsec_shield/shield_crate_up_B + anim models/monsters/zombie/cycles/attacks/shield_stand_crate.mb -range 11 30 -dest models/md5/monsters/zombies/zsec_shield/shield_crate_up_C + anim models/monsters/zombie/cycles/attacks/shield_stand_crate.mb -range 31 40 -dest models/md5/monsters/zombies/zsec_shield/shield_crate_up_D + anim models/monsters/zombie/cycles/runs/shield_evade_left.mb -dest models/md5/monsters/zombies/zsec_shield/shield_evade_left + anim models/monsters/zombie/cycles/runs/shield_evade_right.mb -dest models/md5/monsters/zombies/zsec_shield/shield_evade_right + anim models/monsters/zombie/cycles/attacks/shield_raise.mb -dest models/md5/monsters/zombies/zsec_shield/shield_raise + anim models/monsters/zombie/cycles/attacks/shield_lower.mb -dest models/md5/monsters/zombies/zsec_shield/shield_lower + anim models/monsters/zombie/cycles/attacks/shield_stand_fire.mb -dest models/md5/monsters/zombies/zsec_shield/shield_stand_fire + + anim models/monsters/zombie/cycles/attacks/shield_wall_rotate_left.mb -range 0 0 -dest models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_A + anim models/monsters/zombie/cycles/attacks/shield_wall_rotate_left.mb -range 1 10 -dest models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_B + anim models/monsters/zombie/cycles/attacks/shield_wall_rotate_left.mb -range 11 30 -dest models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_C + anim models/monsters/zombie/cycles/attacks/shield_wall_rotate_left.mb -range 31 40 -dest models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_D + + anim models/monsters/zombie/cycles/attacks/shield_wall_rotate_right.mb -range 0 0 -dest models/md5/monsters/zombies/zsec_shield/shield_wallrotright_A + anim models/monsters/zombie/cycles/attacks/shield_wall_rotate_right.mb -range 1 10 -dest models/md5/monsters/zombies/zsec_shield/shield_wallrotright_B + anim models/monsters/zombie/cycles/attacks/shield_wall_rotate_right.mb -range 11 30 -dest models/md5/monsters/zombies/zsec_shield/shield_wallrotright_C + anim models/monsters/zombie/cycles/attacks/shield_wall_rotate_right.mb -range 31 40 -dest models/md5/monsters/zombies/zsec_shield/shield_wallrotright_D + + anim models/monsters/zombie/cycles/attacks/shield_wall_lean_left.mb -range 0 0 -dest models/md5/monsters/zombies/zsec_shield/shield_wallleanleft_A + anim models/monsters/zombie/cycles/attacks/shield_wall_lean_left.mb -range 1 10 -dest models/md5/monsters/zombies/zsec_shield/shield_wallleanleft_B + anim models/monsters/zombie/cycles/attacks/shield_wall_lean_left.mb -range 11 30 -dest models/md5/monsters/zombies/zsec_shield/shield_wallleanleft_C + anim models/monsters/zombie/cycles/attacks/shield_wall_lean_left.mb -range 31 40 -dest models/md5/monsters/zombies/zsec_shield/shield_wallleanleft_D + + anim models/monsters/zombie/cycles/attacks/shield_wall_lean_right.mb -range 0 0 -dest models/md5/monsters/zombies/zsec_shield/shield_wallleanright_A + anim models/monsters/zombie/cycles/attacks/shield_wall_lean_right.mb -range 1 10 -dest models/md5/monsters/zombies/zsec_shield/shield_wallleanright_B + anim models/monsters/zombie/cycles/attacks/shield_wall_lean_right.mb -range 11 30 -dest models/md5/monsters/zombies/zsec_shield/shield_wallleanright_C + anim models/monsters/zombie/cycles/attacks/shield_wall_lean_right.mb -range 31 40 -dest models/md5/monsters/zombies/zsec_shield/shield_wallleanright_D + anim models/monsters/zombie/cycles/walks/shield_step_left.mb -dest models/md5/monsters/zombies/zsec_shield/shield_step_left + anim models/monsters/zombie/cycles/walks/shield_step_right.mb -dest models/md5/monsters/zombies/zsec_shield/shield_step_right + anim models/monsters/zombie/cycles/attacks/shield_crouch_range_attack.mb -dest models/md5/monsters/zombies/zsec_shield/shield_crouch_range_attack + anim models/monsters/zombie/cycles/attacks/shield_crouch_range_attack_loop.mb -dest models/md5/monsters/zombies/zsec_shield/shield_crouch_range_attack_loop + anim models/monsters/zombie/cycles/attacks/shield_crouch_range_attack_end.mb -dest models/md5/monsters/zombies/zsec_shield/shield_crouch_range_attack_end + anim models/monsters/zombie/cycles/attacks/shield_crouch_range_attack_aim.mb -dest models/md5/monsters/zombies/zsec_shield/shield_crouch_range_attack_aim + anim models/monsters/zombie/cycles/attacks/shield_stand_aim.mb -dest models/md5/monsters/zombies/zsec_shield/shield_stand_aim + anim models/monsters/zombie/cycles/pains/shield_crouch_left_pain.mb -dest models/md5/monsters/zombies/zsec_shield/shield_crouch_left_pain + anim models/monsters/zombie/cycles/pains/shield_crouch_right_pain.mb -dest models/md5/monsters/zombies/zsec_shield/shield_crouch_right_pain +} + +model model_monster_zsec_shield { + mesh models/md5/monsters/zombies/zsec_pistol/zsecpistol.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER ) + skin skins/monsters/zombies/zsecurity_helmet_pistol_shield.skin + + anim af_pose models/md5/monsters/zombies/zsec_pistol/af_pose.md5anim + anim ik_pose models/md5/monsters/zombies/zsec_pistol/af_pose.md5anim + + anim stand models/md5/monsters/zombies/zsec_shield/shield_stand.md5anim + anim idle models/md5/monsters/zombies/zsec_shield/shield_stand.md5anim + + anim sight models/md5/monsters/zombies/zsec_shield/shield_sight.md5anim { + frame 1 sound_voice monster_zombie_security_sight + } + + anim walk models/md5/monsters/zombies/zsec_shield/shield_walk.md5anim { + frame 9 sound_body monster_zombie_security_footstep + frame 21 sound_body monster_zombie_security_footstep + } + + anim run models/md5/monsters/zombies/zsec_shield/shield_run.md5anim { + frame 8 sound_body monster_zombie_security_footstep + frame 18 sound_body monster_zombie_security_footstep + } + + anim crouch_range_attack models/md5/monsters/zombies/zsec_shield/shield_crouch_range_attack.md5anim + anim crouch_range_attack_loop models/md5/monsters/zombies/zsec_shield/shield_crouch_range_attack_loop.md5anim { + frame 1 sound_weapon player_pistol_fire + frame 1 launch_missile pistol + } + anim crouch_range_attack_end models/md5/monsters/zombies/zsec_shield/shield_crouch_range_attack_end.md5anim + anim crouch_range_attack_aim models/md5/monsters/zombies/zsec_shield/shield_crouch_range_attack_aim.md5anim + + anim range_attack_aim models/md5/monsters/zombies/zsec_shield/shield_stand_aim.md5anim + + + anim step_left models/md5/monsters/zombies/zsec_shield/shield_step_left.md5anim + anim step_right models/md5/monsters/zombies/zsec_shield/shield_step_right.md5anim + + anim evade_left models/md5/monsters/zombies/zsec_shield/shield_evade_left.md5anim + + anim evade_right models/md5/monsters/zombies/zsec_shield/shield_evade_right.md5anim + + anim crouch_pain models/md5/monsters/zombies/zsec_shield/shield_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim crouch_pain_chest models/md5/monsters/zombies/zsec_shield/shield_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_head models/md5/monsters/zombies/zsec_shield/shield_crouch_right_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_left_arm models/md5/monsters/zombies/zsec_shield/shield_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_right_arm models/md5/monsters/zombies/zsec_shield/shield_crouch_right_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain models/md5/monsters/zombies/zsec_shield/shield_chest_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain_chest models/md5/monsters/zombies/zsec_shield/shield_chest_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain_head models/md5/monsters/zombies/zsec_shield/shield_head_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain_right_arm models/md5/monsters/zombies/zsec_shield/shield_right_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim pain_left_arm models/md5/monsters/zombies/zsec_shield/shield_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim stepoutright_out models/md5/monsters/zombies/zsec_shield/shield_wallrotright_B.md5anim + anim stepoutright_fire models/md5/monsters/zombies/zsec_shield/shield_wallrotright_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim stepoutright_in models/md5/monsters/zombies/zsec_shield/shield_wallrotright_D.md5anim + anim stepoutright_wait models/md5/monsters/zombies/zsec_shield/shield_wallrotright_A.md5anim + + + anim stepoutleft_out models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_B.md5anim + anim stepoutleft_fire models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim stepoutleft_in models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_D.md5anim + anim stepoutleft_wait models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_A.md5anim + + + anim leanoutright_out models/md5/monsters/zombies/zsec_shield/shield_wallleanright_B.md5anim + anim leanoutright_fire models/md5/monsters/zombies/zsec_shield/shield_wallleanright_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim leanoutright_in models/md5/monsters/zombies/zsec_shield/shield_wallleanright_D.md5anim + anim leanoutright_wait models/md5/monsters/zombies/zsec_shield/shield_wallleanright_A.md5anim + + + anim leanoutleft_out models/md5/monsters/zombies/zsec_shield/shield_wallleanleft_B.md5anim + anim leanoutleft_fire models/md5/monsters/zombies/zsec_shield/shield_wallleanleft_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim leanoutleft_in models/md5/monsters/zombies/zsec_shield/shield_wallleanleft_D.md5anim + anim leanoutleft_wait models/md5/monsters/zombies/zsec_shield/shield_wallleanleft_A.md5anim + + + anim cratestand_out models/md5/monsters/zombies/zsec_shield/shield_crate_up_B.md5anim + anim cratestand_fire models/md5/monsters/zombies/zsec_shield/shield_crate_up_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim cratestand_in models/md5/monsters/zombies/zsec_shield/shield_crate_up_D.md5anim + anim cratestand_wait models/md5/monsters/zombies/zsec_shield/shield_crate_up_A.md5anim + + anim rotoutleft1_out models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_B.md5anim + anim rotoutleft1_fire models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim rotoutleft1_in models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_D.md5anim + anim rotoutleft1_wait models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_A.md5anim + + + anim rotoutright1_out models/md5/monsters/zombies/zsec_shield/shield_wallrotright_B.md5anim + anim rotoutright1_fire models/md5/monsters/zombies/zsec_shield/shield_wallrotright_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim rotoutright1_in models/md5/monsters/zombies/zsec_shield/shield_wallrotright_D.md5anim + anim rotoutright1_wait models/md5/monsters/zombies/zsec_shield/shield_wallrotright_A.md5anim + + anim rotoutleft2_out models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_B.md5anim + anim rotoutleft2_fire models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim rotoutleft2_in models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_D.md5anim + anim rotoutleft2_wait models/md5/monsters/zombies/zsec_shield/shield_wallrotleft_A.md5anim + + anim rotoutright2_out models/md5/monsters/zombies/zsec_shield/shield_wallrotright_B.md5anim + anim rotoutright2_fire models/md5/monsters/zombies/zsec_shield/shield_wallrotright_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + } + anim rotoutright2_in models/md5/monsters/zombies/zsec_shield/shield_wallrotright_D.md5anim + anim rotoutright2_wait models/md5/monsters/zombies/zsec_shield/shield_wallrotright_A.md5anim + + + anim range_attack models/md5/monsters/zombies/zsec_shield/shield_raise.md5anim + anim range_attack_loop1 models/md5/monsters/zombies/zsec_shield/shield_stand_fire.md5anim { + frame 1 sound_weapon player_pistol_fire + frame 1 launch_missile pistol + } + anim range_attack_loop2 models/md5/monsters/zombies/zsec_shield/shield_stand_fire.md5anim { + frame 1 sound_weapon player_pistol_fire + frame 1 launch_missile pistol + + } + anim range_attack_end models/md5/monsters/zombies/zsec_shield/shield_lower.md5anim + + anim crate_up_out models/md5/monsters/zombies/zsec_shield/shield_crate_up_B.md5anim + anim crate_up_fire models/md5/monsters/zombies/zsec_shield/shield_crate_up_C.md5anim { + frame 2 sound_weapon player_pistol_fire + frame 2 launch_missile pistol + + } + anim crate_up_in models/md5/monsters/zombies/zsec_shield/shield_crate_up_D.md5anim + anim crate_up_wait models/md5/monsters/zombies/zsec_shield/shield_crate_up_A.md5anim +} + +entityDef monster_zsec_shield { + "inherit" "monster_zsec_shotgun" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieSecurityPistol" + "model" "model_monster_zsec_shield" + "size" "40 40 72" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "110" + "def_projectile" "projectile_bullet_zsec_shield" + "num_projectiles" "1" + "attack_cone" "70" + "attack_accuracy" "3" + "projectile_spread" "2" + "smoke_weapon" "cgsmoke.smoke" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*Rshldr -*Lshldr -*loneckcontrol -*shield" + "damage_zone left_arm" "*Lshldr -*shield" + "damage_zone right_arm" "*Rshldr" + "damage_zone legs" "*Hips" + "damage_zone shield" "*shield" + "damage_scale shield" "0" + "damage_scale head" "1.25" + + "ragdoll" "monster_zombie_security_pistol" + "def_head" "head_security_dhelmet" + "head_joint" "Shoulders" + + "skin_dropGib" "skins/monsters/zombies/securitygib.skin" + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + "def_dropDeathItem9" "moveable_item_pistol" + "dropDeathItem9Joint" "pistol" + + "def_dropDeathItem10" "moveable_item_shield" + "dropDeathItem10Joint" "shield" + + "skin_dropDeath" "skins/monsters/zombies/zsecurity.skin" + + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "120" +} + +entityDef damage_bullet_zsec_shield { + "damage" "6" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "1" + + "smoke_wound_flesh" "bloodwound.smoke" + "mtr_wound_flesh" "textures/decals/hurt02" + "mtr_splat_flesh" "textures/decals/dsplat2" + "mtr_splat_flesh2" "textures/decals/dsplat5" + "mtr_splat_flesh3" "textures/decals/dsplat7" + "mtr_splat_flesh4" "textures/decals/dsplat11" + "snd_flesh" "bullet_impact_flesh" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" +} + +entityDef projectile_bullet_zsec_shield { + "spawnclass" "idProjectile" + "mins" "-1 -1 -1" + "maxs" "1 1 1" + "cone" "3" + "scale" "0.1" + "noshadows" "1" + + "snd_ricochet" "bullet_ricochet" + "snd_impact" "bullet_impact_metal" + + "def_damage" "damage_bullet_zsec_shield" + + "launchFromBarrel" "0" + "health" "0" + "velocity" "2000 0 0" // slowed down for tracer effect + "angular_velocity" "0 0 0" + "thrust" "0" + "thrust_start" "0" + "thrust_end" "0" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0.6" + "mass" "2" + "gravity" "0" + "fuse" "4" + + "detonate_on_fuse" "0" + "detonate_on_death" "0" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "1" + "impact_gib" "1" + + "mtr_detonate" "textures/decals/bulleth02" + "decal_size" "10" + + "smoke_fly" "" + "smoke_detonate" "smokeandspark.smoke" + "smoke_bounce" "" //particles/bullet_sparks.particle" + "smoke_fuse" "" + + "mtr_light_shader" "" + "light_color" "0 0 0" + "light_radius" "0" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "" + "explode_light_color" "0 0 0" + "explode_light_radius" "0" + "explode_light_fadetime" "0" +} diff --git a/base/def/monster_zsec_shotgun.def b/base/def/monster_zsec_shotgun.def new file mode 100644 index 00000000..c0dedf68 --- /dev/null +++ b/base/def/monster_zsec_shotgun.def @@ -0,0 +1,417 @@ +/*********************************************************************** + +monster_zsec_shotgun.def + +***********************************************************************/ + +/**** +export shotgun security guy +****/ + +export james { + + options -prefix ZOMBIE_ -keep Lknee Rknee Lhand1 Rhand1 eject barrel flash Body Body2 headcontrol neckcontrol loneckcontrol SPINNER -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent shotgun Rhand1 -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -rename sgeject eject -rename sgbarrel barrel -rename sgflash flash -parent eject shotgun -parent flash shotgun -parent barrel shotgun + + + addoptions -keepmesh securitybodymesh + addoptions -keepmesh sec_rshldrmesh + addoptions -keepmesh sec_lshldrmesh + addoptions -keepmesh sgmflash1 + addoptions -keepmesh sgmflash2 + addoptions -keepmesh sgmflash3 + addoptions -keepmesh w_shotgunmesh + addoptions -keepmesh w_shotgunloadermesh + addoptions -keepmesh skeletonmesh + + mesh models/monsters/zombie/cycles/zombie_mesh.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/zsecshotgun + + anim models/monsters/zombie/cycles/idles/shotgun_stand.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/stand + anim models/monsters/zombie/cycles/runs/shotgun_run.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/run + anim models/monsters/zombie/cycles/walks/shotgun_walk.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/walk + anim models/monsters/zombie/cycles/idles/shotgun_sight.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/sight + //anim models/monsters/zombie/cycles/pains/shotgun_head_pain1.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/headpain1 + //anim models/monsters/zombie/cycles/pains/shotgun_head_pain2.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/headpain2 + anim models/monsters/zombie/cycles/pains/shotgun_chest_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/chestpain + anim models/monsters/zombie/cycles/pains/shotgun_left_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/leftarmpain + anim models/monsters/zombie/cycles/pains/shotgun_right_pain.mb -rotate 90 -dest models/md5/monsters/zombies/zsec_shotgun/rightarmpain + + addoptions -prefix SUIT_ + + anim maps/fred/underground/ending.mb -range 1 1 -rotate 31 -dest models/md5/cinematics/underground/ending_zsecstart + anim maps/fred/underground/ending.mb -range 1 44 -rotate 31 -dest models/md5/cinematics/underground/ending_zsec + +} + +model model_monster_zsec_shotgun { + mesh models/md5/monsters/zombies/zsec_shotgun/zsecshotgun.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER ) + + skin skins/monsters/zombies/zsecurity_shotgun.skin + + anim af_pose models/md5/monsters/zombies/zsec_shotgun/af_pose.md5anim + anim ik_pose models/md5/monsters/zombies/zsec_shotgun/af_pose.md5anim + + anim stand models/md5/monsters/zombies/zsec_shotgun/stand.md5anim + anim idle models/md5/monsters/zombies/zsec_shotgun/stand.md5anim + + anim surprise models/md5/monsters/zombies/zsec_shotgun/shotgun_activate_step_right.md5anim { + frame 12 sound_body monster_zombie_security_footstep + frame 16 sound_body monster_zombie_security_footstep + frame 20 sound_body monster_zombie_security_footstep + frame 23 launch_missile shotgun + frame 23 sound_weapon monster_shotgun_fire + frame 38 launch_missile shotgun + frame 38 sound_weapon monster_shotgun_fire + frame 54 launch_missile shotgun + frame 54 sound_weapon monster_shotgun_fire + } + + anim sight models/md5/monsters/zombies/zsec_shotgun/sight.md5anim { + frame 1 sound_voice monster_zombie_security_sight + frame 1 sound_body monster_zombie_security_footstep + frame 14 sound_body monster_zombie_security_footstep + } + + anim walk models/md5/monsters/zombies/zsec_shotgun/walk.md5anim { + frame 1 sound_body monster_zombie_security_footstep + frame 14 sound_body monster_zombie_security_footstep + } + + anim run models/md5/monsters/zombies/zsec_shotgun/run.md5anim { + frame 8 sound_body monster_zombie_security_footstep + frame 18 sound_body monster_zombie_security_footstep + } + + anim crouch_range_attack models/md5/monsters/zombies/zsec_shotgun/crouch_range_attack.md5anim + anim crouch_range_attack_loop models/md5/monsters/zombies/zsec_shotgun/crouch_range_attack_loop.md5anim { + frame 1 sound_weapon monster_shotgun_fire + frame 1 launch_missile shotgun + } + anim crouch_range_attack_end models/md5/monsters/zombies/zsec_shotgun/crouch_range_attack_end.md5anim + anim crouch_range_attack_aim models/md5/monsters/zombies/zsec_shotgun/crouch_range_attack_aim.md5anim + + anim range_attack_aim models/md5/monsters/zombies/zsec_shotgun/stand_aim.md5anim + + anim step_left models/md5/monsters/zombies/zsec_shotgun/shotgun_step_left.md5anim { + frame 6 sound_body monster_zombie_security_footstep + frame 13 sound_body monster_zombie_security_footstep + } + anim step_right models/md5/monsters/zombies/zsec_shotgun/shotgun_step_right.md5anim { + frame 5 sound_body monster_zombie_security_footstep + frame 12 sound_body monster_zombie_security_footstep + } + + anim evade_left models/md5/monsters/zombies/zsec_shotgun/evade_left.md5anim { + frame 1 sound_voice monster_zombie_security_pain + frame 10 sound_body monster_zombie_security_footstep + frame 19 sound_body monster_zombie_security_footstep + frame 24 sound_body monster_zombie_security_footstep + frame 30 sound_body monster_zombie_security_footstep + frame 32 sound_body monster_zombie_security_footstep + } + + anim evade_right models/md5/monsters/zombies/zsec_shotgun/evade_right.md5anim { + frame 1 sound_voice monster_zombie_security_pain + frame 17 sound_body monster_zombie_security_footstep + frame 23 sound_body monster_zombie_security_footstep + frame 29 sound_body monster_zombie_security_footstep + } + + anim stepoutright_out models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_B.md5anim { + frame 2 sound_body monster_zombie_security_footstep + } + anim stepoutright_fire models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim stepoutright_in models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_D.md5anim { + frame 15 sound_body monster_zombie_security_footstep + } + anim stepoutright_wait models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_A.md5anim + + anim stepoutleft_out models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_B.md5anim { + frame 4 sound_body monster_zombie_security_footstep + } + anim stepoutleft_fire models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim stepoutleft_in models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_D.md5anim { + frame 15 sound_body monster_zombie_security_footstep + } + anim stepoutleft_wait models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_A.md5anim + + anim leanoutright_out models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_B.md5anim { + frame 2 sound_body monster_zombie_security_footstep + } + anim leanoutright_fire models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim leanoutright_in models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_D.md5anim { + frame 15 sound_body monster_zombie_security_footstep + } + anim leanoutright_wait models/md5/monsters/zombies/zsec_shotgun/wallleanrightshotgun_A.md5anim + + + anim leanoutleft_out models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_B.md5anim { + frame 3 sound_body monster_zombie_security_footstep + } + anim leanoutleft_fire models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim leanoutleft_in models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_D.md5anim { + frame 15 sound_body monster_zombie_security_footstep + } + anim leanoutleft_wait models/md5/monsters/zombies/zsec_shotgun/wallleanleftshotgun_A.md5anim + + anim cratestand_out models/md5/monsters/zombies/zsec_shotgun/crate_up_B.md5anim + anim cratestand_fire models/md5/monsters/zombies/zsec_shotgun/crate_up_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim cratestand_in models/md5/monsters/zombies/zsec_shotgun/crate_up_D.md5anim + anim cratestand_wait models/md5/monsters/zombies/zsec_shotgun/crate_up_A.md5anim + + anim rotoutleft1_out models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_B.md5anim { + frame 15 sound_body monster_zombie_security_footstep + } + anim rotoutleft1_fire models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim rotoutleft1_in models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_D.md5anim { + frame 13 sound_body monster_zombie_security_footstep + } + anim rotoutleft1_wait models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_A.md5anim + + anim rotoutright1_out models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_B.md5anim { + frame 16 sound_body monster_zombie_security_footstep + } + anim rotoutright1_fire models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim rotoutright1_in models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_D.md5anim { + frame 14 sound_body monster_zombie_security_footstep + } + anim rotoutright1_wait models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_A.md5anim + + anim rotoutleft2_out models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_B.md5anim { + frame 15 sound_body monster_zombie_security_footstep + } + anim rotoutleft2_fire models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim rotoutleft2_in models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_D.md5anim { + frame 13 sound_body monster_zombie_security_footstep + } + anim rotoutleft2_wait models/md5/monsters/zombies/zsec_shotgun/wallrotleftshotgun_A.md5anim + + anim rotoutright2_out models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_B.md5anim { + frame 15 sound_body monster_zombie_security_footstep + } + anim rotoutright2_fire models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim rotoutright2_in models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_D.md5anim { + frame 14 sound_body monster_zombie_security_footstep + } + anim rotoutright2_wait models/md5/monsters/zombies/zsec_shotgun/wallrotrightshotgun_A.md5anim + + anim range_attack models/md5/monsters/zombies/zsec_shotgun/raise.md5anim + anim range_attack_loop1 models/md5/monsters/zombies/zsec_shotgun/stand_fire.md5anim { + frame 1 sound_weapon monster_shotgun_fire + frame 1 launch_missile shotgun + } + anim range_attack_loop2 models/md5/monsters/zombies/zsec_shotgun/stand_fire.md5anim { + frame 1 sound_weapon monster_shotgun_fire + frame 1 launch_missile shotgun + } + anim range_attack_end models/md5/monsters/zombies/zsec_shotgun/lower.md5anim + + anim crate_up_out models/md5/monsters/zombies/zsec_shotgun/crate_up_B.md5anim + anim crate_up_fire models/md5/monsters/zombies/zsec_shotgun/crate_up_C.md5anim { + frame 2 launch_missile shotgun + frame 2 sound_weapon monster_shotgun_fire + } + anim crate_up_in models/md5/monsters/zombies/zsec_shotgun/crate_up_D.md5anim + anim crate_up_wait models/md5/monsters/zombies/zsec_shotgun/crate_up_A.md5anim + + anim crouch_pain models/md5/monsters/zombies/zsec_shotgun/shotgun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + + anim crouch_pain_chest models/md5/monsters/zombies/zsec_shotgun/shotgun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_head models/md5/monsters/zombies/zsec_shotgun/shotgun_crouch_right_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_left_arm models/md5/monsters/zombies/zsec_shotgun/shotgun_crouch_left_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim crouch_pain_right_arm models/md5/monsters/zombies/zsec_shotgun/shotgun_crouch_right_pain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain models/md5/monsters/zombies/zsec_shotgun/rightarmpain.md5anim{ + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_head1 models/md5/monsters/zombies/zsec_shotgun/rightarmpain.md5anim{ + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_head2 models/md5/monsters/zombies/zsec_shotgun/rightarmpain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_right_arm models/md5/monsters/zombies/zsec_shotgun/rightarmpain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_chest models/md5/monsters/zombies/zsec_shotgun/leftarmpain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } + anim pain_left_arm models/md5/monsters/zombies/zsec_shotgun/leftarmpain.md5anim { + frame 1 sound_voice monster_zombie_security_pain + } +} + +entityDef monster_zsec_shotgun { + "inherit" "monster_zsec_pistol" + "scriptobject" "ai" + "nativeobject" "rvmMonsterZombieSecurityPistol" + "size" "40 40 72" + "use_aas" "aas48" + "team" "1" + "rank" "1" + "health" "90" + "def_projectile" "projectile_bullet_zsec_shotgun" + "projectile_spread" "5" + "num_projectiles" "7" + "attack_cone" "70" + "attack_accuracy" "2" + "smoke_weapon" "cgsmoke.smoke" + "smoke_wound_metal" "bulletricochet.prt" + "smoke_wound_ricochet" "bulletricochet.prt" + + "skin_dropGib" "skins/monsters/zombies/securitygib.skin" + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + "def_dropDeathItem9" "moveable_item_shotgun" + "dropDeathItem9Joint" "shotgun" + "skin_dropDeath" "skins/monsters/zombies/zsecurity.skin" + + "ragdoll" "monster_zombie_security_shotgun" + "model" "model_monster_zsec_shotgun" + "def_head" "head_zombie5" + "head_joint" "Shoulders" + + "mtr_flashShader" "muzzleflash" + "flashTime" "0.15" + "flashColor" "1 0.8 0.4" + "flashRadius" "240" +} + +entityDef damage_bullet_zsec_shotgun { + "damage" "3" + "kickDir" "1 0 0" + + "mtr_blob" "genericDamage" + "blob_time" "300" + "blob_size" "400" + "blob_offset_x" "400" + + "knockback" "0.5" + + "smoke_wound_flesh" "bloodwound.smoke" + "mtr_wound_flesh" "textures/decals/hurt02" + "mtr_splat_flesh" "textures/decals/dsplat2" + "mtr_splat_flesh2" "textures/decals/dsplat5" + "mtr_splat_flesh3" "textures/decals/dsplat7" + "mtr_splat_flesh4" "textures/decals/dsplat11" + "snd_flesh" "shotgun_impact_flesh" + + "kick_time" "400" + "kick_amplitude" "1" + + "dv_time" "100" +} + +entityDef projectile_bullet_zsec_shotgun { + "spawnclass" "idProjectile" + "mins" "-1 -1 -1" + "maxs" "1 1 1" + "cone" "2" + "scale" "0.1" + "noshadows" "1" + + "snd_ricochet" "bullet_ricochet" + "snd_impact" "shotgun_impact_metal" + + "def_damage" "damage_bullet_zsec_shotgun" + + "launchFromBarrel" "0" + "health" "0" + "velocity" "7200 0 0" // .38 Special 600 fps. Source: Petzal, David E. "How fast is a speeding bullet." Field and Stream. 97 (1992): 23 + "angular_velocity" "0 0 0" + "thrust" "0" + "thrust_start" "0" + "thrust_end" "0" + "linear_friction" "0" + "angular_friction" "0" + "contact_friction" "0" + "bounce" "0.6" + "mass" "1.0" + "gravity" "0" + "fuse" "4" + + "detonate_on_fuse" "0" + "detonate_on_death" "0" + "detonate_on_world" "1" + "detonate_on_actor" "1" + + "impact_damage_effect" "1" + "impact_gib" "1" + + "mtr_detonate" "textures/decals/bulleth02" + "decal_size" "10" + + "smoke_fly" "" + "smoke_detonate" "smokeandspark.smoke" + "smoke_bounce" "sparkdebris.smoke" + "smoke_fuse" "" + + "mtr_light_shader" "" + "light_color" "0 0 0" + "light_radius" "0" + "light_offset" "0 0 0" + + "mtr_explode_light_shader" "" + "explode_light_color" "0 0 0" + "explode_light_radius" "0" + "explode_light_fadetime" "0" +} diff --git a/base/def/npcs.def b/base/def/npcs.def new file mode 100644 index 00000000..82bf826d --- /dev/null +++ b/base/def/npcs.def @@ -0,0 +1,1417 @@ +/*********************************************************************** + + characters + +***********************************************************************/ + +entityDef character_default { + "editor_color" "1 .5 0" + "editor_mins" "-16 -16 0" + "editor_maxs" "16 16 74" + "editor_copy" "anim" + + "editor_var hide" "Causes character to be hfidden and nonsolid until triggered." + "editor_var noDamage" "if set, monster won't take damage." + "editor_var teleport" "if set, character teleports in when triggered." + "editor_var no_idle_chatter" "When set, character will not make idle sounds" + "editor_var target" "set of path_* entities to visit." + "editor_var wander" "if set to 1, visit path_* targets randomly, otherwise visit them in order." + "editor_var ignore_obstacles" "If set, character doesn't avoid obstacles. Generally should only be used for cinematics when you need character to exactly follow a path." + "editor_var dont_push_others" "If set, character doesn't say 'excuse me' when blocked by another character, but only waits for them to get out of the way on their own." + "editor_var wait" "How long to wait before following path. Character will be unresponsive until this time has passed." + "editor_var talkradius" "If the player steps outside this distance from the character, the conversation is over and the character goes back to what he was doing." + "editor_var talktime" "How long the character will wait for the player to press the talk button before returning to what he was doing." + "editor_var talktrigger" "When set, character will wait in an animation until triggered and then talk to the player before following the path." + "editor_var no_cower" "Don't cower when hearing gun fire." + "editor_var anim" "Anim to play when talktrigger is set." + "editor_var num_cinematics" "When set, character is in cinematic mode. Remains hidden until triggered, then plays each anim in sequence, then triggers targets becomes hidden once more. Anims are specified by setting 'anim1', 'anim2', 'anim3', etc." + "editor_var cinematic_no_hide" "When set, character won't hide after playing cinematics." + "editor_var talk_no_turn" "Don't turn body toward player when talking, just his head." + "editor_var talk0_blendin" "# frames to blend into triggered talk anim." + "editor_var talk0_blendout" "# frames to blend out of triggered talk anim." + "editor_var talk1_blendin" "# frames to blend into primary talk anim." + "editor_var talk1_blendout" "# frames to blend out of primary talk anim." + "editor_var talk2_blendin" "# frames to blend into secondary talk anim." + "editor_var talk2_blendout" "# frames to blend out of secondary talk anim." + "editor_var alt_path1" "alternate path for character. use target_aI_followalternatepath1 to cause character to follow." + "editor_var alt_path2" "alternate path for character. use target_aI_followalternatepath2 to cause character to follow." + "editor_var alt_path3" "alternate path for character. use target_aI_followalternatepath3 to cause character to follow." + + "editor_var noshadows" "turns off shadows on character." + "editor_var animate_z" "disables gravity on character until he wakes up. used for on_activate anims where the bounding box needs to move up and down." + + "editor_var kick_force" "how much force to apply to blocking obstacles to get them out of the way." + + "editor_var team" "Monsters do not actively attack players or monsters with the same team #." + "editor_var rank" "Monsters only fight back when attacked by members of it's own team when its rank is greater than or equal to the attacker's rank. A rank of 0 will never fight back." + + "editor_var turn_rate" "Maximum # of degrees character can turn per second" + "editor_var ignore_push" "Set to 1 to prevent character from moving out of the way when player pushes him." + + "editor_var mass" "character's mass." + "editor_var ragdoll" "Specifies the .af file to use for a ragdoll when the creature dies" + "editor_var ragdoll_slomoStart" "Start time of ragdoll slow motion relative to death time, defaults to -0.2" + "editor_var ragdoll_slomoEnd" "End time of ragdoll slow motion relative to death time, defaults to 1.0" + "editor_var ragdoll_jointFrictionDent" "Joint friction dent on ragdoll." + "editor_var ragdoll_jointFrictionStart" "Start time for joint friction dent" + "editor_var ragdoll_jointFrictionEnd" "End time for joint friction dent" + "editor_var ragdoll_contactFrictionDent" "Contact friction dent on ragdoll." + "editor_var ragdoll_contactFrictionStart" "Start time for contact friction dent" + "editor_var ragdoll_contactFrictionEnd" "End time for contact friction dent" + "editor_var af_push_moveables" "whether the character's articulated figure pushes obstacles while they're alive." + + "editor_var blink_min" "Minimum time to wait between eye blinks." + "editor_var blink_max" "Maximum time to wait between eye blinks." + + "editor_var fly_offset" "Prefered fly height relative to the player's view" + "editor_var fly_speed" "Speed to fly at" + "editor_var fly_bob_strength" "How far flying creatures should bob." + "editor_var fly_bob_vert" "Rate at which flying creatures bob up and down." + "editor_var fly_bob_horz" "Rate at which flying creatures bob left and right." + + "editor_var def_projectile" "name of entityDef to launch as projectile" + "editor_var num_projectiles" "how many projectiles to launch at a time." + "editor_var projectile_spread" "how much to spread out projectiles when they're fired. Works in conjunction with attack_accuracy. Good for things like shotgun blasts." + "editor_var attack_accuracy" "Maximum angular offset to randomly offset the character's aim when firing missiles" + "editor_var attack_cone" "Monster can only throw projectile within this cone relative to his direction." + + "editor_var melee_range" "do melee attack when within this range" + "editor_var talks" "whether character can be engaged in conversation" + "editor_var def_drops" "entityDefs to drop when killed. Multiple drop items are defined by adding suffixes: 'def_drops1', 'def_drops2', etc." + + "editor_var smokeParticleSystem" "particle system to attach to entity. To attach to a specific joint, add - and the name of the joint. For example 'fire-firejoint' attaches the 'fire' particle to the joint 'firejoint'." + + "editor_var chatter_min" "minimum amount of time to wait till playing chat sounds when idle" + "editor_var chatter_max" "maximum amount of time to wait till playing chat sounds when idle" + "editor_var snd_chatter" "chat sound to play when idle" + + "editor_var chatter_combat_min" "minimum amount of time to wait till playing chat sounds when in combat" + "editor_var chatter_combat_max" "maximum amount of time to wait till playing chat sounds when in combat" + "editor_var snd_chatter_combat" "chat sound to play when in combat" + + "editor_var pain_delay" "How long to wait between pain animations before triggering another pain animation." + "editor_var pain_threshold" "How much damage character has to recieve in one blow for it to play a pain animation." + + "editor_var damage_zone X" "List of bones that comprise damage zone 'X'. Pain anims are based on the name of the zone, for example: 'pain_chest', 'pain_rightleg_forward', etc. Directions are categorized as 'forward', 'left', 'right', or 'back'." + "editor_var damage_scale X" "How much to scale damage recieved to zone 'X'. For example 'damage_scale head' '10' would make head shots cause 10 times the normal amount of damage." + + "editor_var bone_leftEye" "Which bone to modify to adjust the left eye" + "editor_var bone_rightEye" "Which bone to modify to adjust the right eye" + "editor_var bone_focus" "Where the character's eyes are in his head" + + "editor_var look_min" "minimum angles for head looks" + "editor_var look_max" "maximum angles for head looks" + "editor_var look_joint jointname" "specifies the scale in 'pitch yaw roll' to modify the joint based on head looking. you can specify any number of joints to be affected by the head look. the scale of the joints that lead up to the head should always add up to 1 on yaw and pitch to ensure that the character looks directly at the player." + "editor_var copy_joint jointname" "specifies a joint in the head to copy the specified body joint's animation from" + + "editor_var eye_turn_min" "min angular offset for eye joint before head has to turn." + "editor_var eye_turn_max" "max angular offset for eye joint before head has to turn." + "editor_var eye_verticle_offset" "verticle offset from the player's view that the character's eyes should focus on." + "editor_var eye_horizontal_offset" "horizontal offset from the player's view that the character's eyes should focus on. negative values bring eyes closer together." + "editor_var eye_focus_rate" "how quickly the eyes focus on a target" + "editor_var head_focus_rate" "how quickly the head focuses on a target" + "editor_var focus_align_time" "how long character should glance at the player before turning his head." + + "editor_var mtr_flashShader" "shader to use for muzzleflash" + "editor_var flashColor" "color of muzzleflash" + "editor_var flashRadius" "radius of muzzleflash" + "editor_var flashTime" "how long muzzleflash lasts" + + "editor_var use_aas" "extension of the aas file to use for navigation." + + "editor_var use_combat_bbox" "Use a bounding box for damage and not per-poly hit detection." + "editor_var offsetModel" "Vector to offset the visual model from the movement bounding box." + "editor_var def_attach" "Name of entityDef to attach to model. Set 'joint' in the attached entity def to the joint to attach to, and use 'origin' and 'angles' to offset it." + "editor_var head" "Name of entityDef to attach as character's head. Copies animation from certain bones into the head model." + + "editor_var eye_height" "The height off the ground of the character's eyes. All sight checks are done from this point. When set, overrides determining the height from the position of the eye joint." + "editor_var fov" "Character's field of view. Characters initially become aware of the player when he enters this cone. Also controls when the character sees the player as shootable. Character's will not use fov for sight checks after their initial wake up." + + "editor_var mtr_splat_flesh" "Material to use for blood splats." + "editor_var mtr_wound_flesh" "Material to use for wounds." + "editor_var smoke_wound_flesh" "Smoke effect to emit from wounds." + + "editor_var gravityDir" "Direction of gravity. Defines the character's concept of 'down'." + + "spawnclass" "idAI" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "health" "1" + "team" "0" + "rank" "0" + "anim" "idle" + "on_activate" "sight" + "state" "state_Inactive" + "head_look" "1" + "chatter_min" "5" + "chatter_max" "10" + "bleed" "1" + "blink_min" "2.5" + "blink_max" "8.0" + "talks" "1" + "talkradius" "300" // when player exits this radius, go back to idle + "talktime" "10" // how long to pay attention to player after speaking + "turn_rate" "360" + + "talk0_blendin" "8" + "talk0_blendout" "8" + "talk1_blendin" "8" + "talk1_blendout" "8" + "talk2_blendin" "8" + "talk2_blendout" "8" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + "focus_align_time" "0" + + "bone_focus" "head" + "bone_leftEye" "Lfteye_Focus" + "bone_rightEye" "Rteye_Focus" + "kick_force" "60" + + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + "copy_joint_world eyecontrol" "eyecontrol" + + "snd_cower" "" // set to sound to play when he cowers + "snd_bounce" "ragdoll_impact" +} + + + + + +// NPCS + +export fred { + options -prefix ZOMBIE_ -keep eyecontrol rshldrpad lshldrpad Lknee Rknee Body Body2 Lhand Lhand1 Rhand Rhand1 headcontrol neckcontrol loneckcontrol SPINNER Rball_r Rtoe_r Lball_r Ltoe_r Chest Shoulders Luparm_orbit Ruparm_orbit Belly Lrib Rrib chair RHANDCONNECTOR LHANDCONNECTOR -parent RHANDCONNECTOR Rhand1 -parent LHANDCONNECTOR Lhand1 -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -sourcedir models/monsters/zombie/cycles/idles -destdir models/md5/chars + + addoptions -align ALL + + mesh npcs_mesh2.mb -range 1 1 -dest labcoat -keepmesh labcoatmesh + mesh npcs_mesh2.mb -range 1 1 -dest suit -keepmesh suitmesh + mesh npcs_mesh2.mb -range 1 1 -dest jumpsuit -keepmesh jumpsuitmesh + mesh npcs_mesh2.mb -range 1 1 -dest tshirt -keepmesh soldiermesh + mesh npcs_mesh2.mb -range 1 1 -dest marine -keepmesh marinebodymesh + mesh npcs_mesh.mb -range 1 1 -dest player -keepmesh npcplayermesh -keepmesh npcplayerarmmesh + mesh npcs_mesh2.mb -range 1 1 -dest security -keepmesh securitybodymesh -keepmesh sec_rshldrmesh -keepmesh sec_lshldrmesh + mesh npcs_mesh2.mb -range 1 1 -dest skeleton -keepmesh skeletonmesh + mesh npcs_mesh2.mb -range 1 1 -dest skeleton_w_mgun -keepmesh skeletonmesh -keep eject flash barrel machinegun -rename mgeject eject -rename mgflash flash -rename mgbarrel barrel + + + mesh makemesh.mb -range 1 1 -dest hazmat -sourcedir models/characters/male_npc/hazmat/cycles/ -keepmesh hazmatbodymesh -keepmesh hazmatvisormesh -prefix HAZ_ + + options -prefix SUIT_ -keep eyecontrol rshldrpad lshldrpad Lknee Rknee Body Body2 Lhand Lhand1 Rhand Rhand1 headcontrol neckcontrol loneckcontrol SPINNER Rball_r Rtoe_r Lball_r Ltoe_r Chest Shoulders Luparm_orbit Ruparm_orbit Belly Lrib Rrib chair RHANDCONNECTOR LHANDCONNECTOR -parent RHANDCONNECTOR Rhand1 -parent LHANDCONNECTOR Lhand1 -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER + + addoptions -keepmesh marinebodymesh + + //MARSCITY CINEMATICS + + anim models/characters/male_npc/cycles/working/gui_look_right.mb -rotate 90 -dest models/md5/chars/gui_look_right + anim models/characters/male_npc/cycles/working/gui_operate.mb -rotate 90 -dest models/md5/chars/gui_operate + anim models/characters/male_npc/cycles/idles/cower4.mb -rotate 90 -dest models/md5/chars/cower4_ian + anim models/characters/male_npc/cycles/working/gui_operate_iansecondary.mb -rotate 90 -dest models/md5/chars/gui_operate_iansecondary + anim models/characters/male_npc/cycles/idles/point_forward.mb -rotate 90 -dest models/md5/chars/point_forward + anim models/characters/male_npc/cycles/idles/startle_left.mb -rotate 90 -dest models/md5/chars/startle_left + + anim maps/fred/cyberdemon/rescue1.mb -dest models/md5/cinematics/hellhole/rescue_marine1 + anim maps/fred/cyberdemon/rescue1.mb -dest models/md5/cinematics/hellhole/rescue_marine2 -prefix SUIT2_ + anim maps/fred/cyberdemon/rescue2.mb -dest models/md5/cinematics/hellhole/rescue_marine1b + anim maps/fred/cyberdemon/rescue2.mb -dest models/md5/cinematics/hellhole/rescue_marine2b -prefix SUIT2_ + + anim maps/fred/marscity/window.mb -dest models/md5/chars/betruger/marscity/window + anim maps/fred/marscity/window.mb -dest models/md5/cinematics/marscity/sec_window -prefix SOL_ + + anim maps/fred/marscity/hangar_characters.mb -range 360 678 -dest models/md5/chars/swann/marscity/hangar_a -prefix SUIT_ + anim maps/fred/marscity/hangar_characters.mb -range 679 766 -dest models/md5/chars/swann/marscity/hangar_b -prefix SUIT_ + anim maps/fred/marscity/hangar_characters.mb -range 767 863 -dest models/md5/chars/swann/marscity/hangar_c -prefix SUIT_ + anim maps/fred/marscity/hangar_characters.mb -range 864 937 -dest models/md5/chars/swann/marscity/hangar_d -prefix SUIT_ + anim maps/fred/marscity/hangar_characters.mb -range 938 980 -dest models/md5/chars/swann/marscity/hangar_e -prefix SUIT_ + anim maps/fred/marscity/hangar_characters.mb -range 981 1160 -dest models/md5/chars/swann/marscity/hangar_f -prefix SUIT_ + + anim maps/fred/marscity/hangar_characters.mb -range 360 678 -dest models/md5/cinematics/marscity/hangar_player_a -prefix SUIT3_ + anim maps/fred/marscity/hangar_characters.mb -range 679 766 -dest models/md5/cinematics/marscity/hangar_player_b -prefix SUIT3_ + anim maps/fred/marscity/hangar_characters.mb -range 767 863 -dest models/md5/cinematics/marscity/hangar_player_c -prefix SUIT3_ + anim maps/fred/marscity/hangar_characters.mb -range 864 937 -dest models/md5/cinematics/marscity/hangar_player_d -prefix SUIT3_ + anim maps/fred/marscity/hangar_characters.mb -range 938 980 -dest models/md5/cinematics/marscity/hangar_player_e -prefix SUIT3_ + anim maps/fred/marscity/hangar_characters.mb -range 981 1050 -dest models/md5/cinematics/marscity/hangar_player_f -prefix SUIT3_ + anim maps/fred/marscity/hangar_characters.mb -range 1051 1125 -dest models/md5/cinematics/marscity/hangar_player_g -prefix SUIT3_ + anim maps/fred/marscity/hangar_characters.mb -range 1126 1236 -dest models/md5/cinematics/marscity/hangar_player_h -prefix SUIT3_ + + anim maps/fred/marscity/betrugercin1.mb -range 1 54 -dest models/md5/chars/betruger/marscity/meeting_a -prefix BETRUGER_ + anim maps/fred/marscity/betrugercin1.mb -range 55 92 -dest models/md5/chars/betruger/marscity/meeting_b -prefix BETRUGER_ + anim maps/fred/marscity/betrugercin1.mb -range 93 137 -dest models/md5/chars/betruger/marscity/meeting_c -prefix BETRUGER_ + anim maps/fred/marscity/betrugercin1.mb -range 138 1737 -dest models/md5/chars/betruger/marscity/meeting_d -prefix BETRUGER_ + + anim maps/fred/marscity/betrugercin1.mb -range 1 54 -dest models/md5/chars/swann/marscity/meeting_a -prefix SWANN2_ + anim maps/fred/marscity/betrugercin1.mb -range 55 92 -dest models/md5/chars/swann/marscity/meeting_b -prefix SWANN2_ + anim maps/fred/marscity/betrugercin1.mb -range 93 138 -dest models/md5/chars/swann/marscity/meeting_c -prefix SWANN2_ + anim maps/fred/marscity/betrugercin1.mb -range 139 1709 -dest models/md5/chars/swann/marscity/meeting_d -prefix SWANN_ + + anim maps/fred/marscity/betrugercin1.mb -range 1 54 -dest models/md5/cinematics/marscity/betrugercin1_player_a -prefix PLAYER_ + anim maps/fred/marscity/betrugercin1.mb -range 55 92 -dest models/md5/cinematics/marscity/betrugercin1_player_b -prefix PLAYER_ + anim maps/fred/marscity/betrugercin1.mb -range 93 137 -dest models/md5/cinematics/marscity/betrugercin1_player_c -prefix PLAYER_ + anim maps/fred/marscity/betrugercin1.mb -range 138 1737 -dest models/md5/cinematics/marscity/betrugercin1_player_d -prefix PLAYER_ + + anim maps/fred/marscity/sargecin_eric.mb -range 120 120 -dest models/md5/chars/sarge/marscity/missionloop -prefix SARGE_ + anim maps/fred/marscity/sargecin_eric.mb -range 120 176 -dest models/md5/chars/sarge/marscity/mission1 -prefix SARGE_ + anim maps/fred/marscity/sargecin_eric.mb -range 177 380 -dest models/md5/chars/sarge/marscity/mission2 -prefix SARGE_ + anim maps/fred/marscity/sargecin_eric.mb -range 381 555 -dest models/md5/chars/sarge/marscity/mission3 -prefix SARGE_ + anim maps/fred/marscity/sargecin_eric.mb -range 556 700 -dest models/md5/chars/sarge/marscity/mission4 -prefix SUIT2_ + anim maps/fred/marscity/sargecin_eric.mb -range 701 814 -dest models/md5/chars/sarge/marscity/mission5 -prefix SUIT2_ + anim maps/fred/marscity/sargecin_eric.mb -range 815 920 -dest models/md5/chars/sarge/marscity/mission6 -prefix SARGE_ + anim maps/fred/marscity/sargecin_eric.mb -range 921 960 -dest models/md5/chars/sarge/marscity/mission7 -prefix SARGE_ + + anim maps/fred/marscity/sargecin_eric_idle2.mb -range 0 80 -dest models/md5/chars/sarge/marscity/mc_sarge_primary -prefix SUIT_ -align ALL + anim maps/fred/marscity/sargecin_eric_idle2.mb -range 80 165 -dest models/md5/chars/sarge/marscity/mc_sarge_secondary -prefix SUIT_ -align ALL + anim maps/fred/marscity/sargecin_eric_idle2.mb -range 166 300 -dest models/md5/chars/sarge/marscity/mc_sarge_secondary2 -prefix SUIT_ -align ALL + anim maps/fred/marscity/sargecin_eric.mb -range 221 380 -dest models/md5/cinematics/marscity/sargecin_player2 -prefix SOL_ + anim maps/fred/marscity/sargecin_eric.mb -range 381 555 -dest models/md5/cinematics/marscity/sargecin_player3 -prefix SOL_ + anim maps/fred/marscity/sargecin_eric.mb -range 556 700 -dest models/md5/cinematics/marscity/sargecin_player4 -prefix SOL_ + anim maps/fred/marscity/sargecin_eric.mb -range 701 814 -dest models/md5/cinematics/marscity/sargecin_player5 -prefix SOL_ + anim maps/fred/marscity/sargecin_eric.mb -range 815 920 -dest models/md5/cinematics/marscity/sargecin_player6 -prefix SOL_ + anim maps/fred/marscity/sargecin_eric.mb -range 921 960 -dest models/md5/cinematics/marscity/sargecin_player7 -prefix SOL_ + anim maps/eric/delta1/sarge_video.mb -dest models/md5/chars/sarge/delta1/sarge_vcd -prefix SUIT_ -align ALL + anim maps/fred/marscity/sargecin_eric.mb -range 120 220 -dest sargecin_player1 -sourcedir maps/fred/marscity/ -destdir models/md5/cinematics/marscity/ -prefix MP_ + + anim maps/fred/marscity/sargecin_eric_idle.mb -range 0 24 -dest models/md5/chars/sarge/marscity/mc_sarge_wait -prefix SUIT_ -align ALL + anim maps/fred/marscity/sargecin_eric_idle.mb -range 24 580 -dest models/md5/chars/sarge/marscity/mc_sarge_wait_loop -prefix SUIT_ -align ALL + + + anim maps/fred/marscity/reception_redo.mb -range 24 100 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_a -prefix SUIT_ + anim maps/fred/marscity/reception_redo.mb -range 101 145 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_b -prefix SUIT_ + anim maps/fred/marscity/reception_redo_handlock.mb -range 146 339 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_c -prefix SUIT_ + anim maps/fred/marscity/reception_redo.mb -range 340 475 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_d -prefix SUIT_ + anim maps/fred/marscity/reception_redo.mb -range 476 803 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_e -prefix SUIT_ + anim maps/fred/marscity/reception_redo.mb -range 804 820 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_f -prefix SUIT_ + + anim maps/fred/marscity/marscity_reception_typing1.mb -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing -prefix SUIT_ + anim maps/fred/marscity/marscity_reception_typing2.mb -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_typing2 -prefix SUIT_ + anim maps/fred/marscity/marscity_reception_secondaries_fix.mb -range 0 100 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_primary -prefix SUIT_ + anim maps/fred/marscity/marscity_reception_secondaries_fix.mb -range 100 294 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_secondary1 -prefix SUIT_ + anim maps/fred/marscity/marscity_reception_secondaries_fix.mb -range 294 396 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_secondary2 -prefix SUIT_ + anim maps/fred/marscity/marscity_reception_secondaries2.mb -range 0 35 -dest models/md5/chars/receptionist/marscity/receptioncin1_receptionist_secondary3 -prefix SUIT_ + + anim maps/fred/marscity/reception.mb -range 24 100 -dest models/md5/cinematics/marscity/receptioncin1_player_a -prefix PLAYER_ + anim maps/fred/marscity/reception.mb -range 101 145 -dest models/md5/cinematics/marscity/receptioncin1_player_b -prefix PLAYER_ + anim maps/fred/marscity/reception_redo_handlock.mb -range 146 339 -dest models/md5/cinematics/marscity/receptioncin1_player_c -prefix PLAYER_ + anim maps/fred/marscity/reception.mb -range 340 475 -dest models/md5/cinematics/marscity/receptioncin1_player_d -prefix PLAYER_ + anim maps/fred/marscity/reception.mb -range 476 803 -dest models/md5/cinematics/marscity/receptioncin1_player_e -prefix PLAYER_ + anim maps/fred/marscity/reception.mb -range 804 820 -dest models/md5/cinematics/marscity/receptioncin1_player_f -prefix PLAYER_ + + + + anim maps/fred/marscity/patient.mb -range 1 40 -dest models/md5/cinematics/marscity/patient_victim_start + anim maps/fred/marscity/patient.mb -range 1 160 -dest models/md5/cinematics/marscity/patient_victim + anim maps/fred/marscity/patient.mb -range 161 240 -dest models/md5/cinematics/marscity/patient_victim_end + + anim maps/fred/marscity/patient.mb -range 1 40 -rotate -100 -dest models/md5/cinematics/marscity/patient_security_start -prefix SOL_ + anim maps/fred/marscity/patient.mb -range 1 240 -rotate -100 -dest models/md5/cinematics/marscity/patient_security -prefix SOL_ + anim maps/fred/marscity/patient.mb -range 240 290 -rotate -100 -dest models/md5/cinematics/marscity/patient_security_end -prefix SOL_ + + anim maps/fred/marscity/patient.mb -range 1 40 -rotate 90 -dest models/md5/cinematics/marscity/patient_doctor_start -prefix ZOMBIE_ + anim maps/fred/marscity/patient.mb -range 1 240 -rotate 90 -dest models/md5/cinematics/marscity/patient_doctor -prefix ZOMBIE_ + anim maps/fred/marscity/patient.mb -range 240 290 -rotate 90 -dest models/md5/cinematics/marscity/patient_doctor_end -prefix ZOMBIE_ + + anim maps/eric/marscity/sci_team_request.mb -range 0 215 -rotate -90 -dest models/md5/chars/marscity/sci_team_request -prefix SUIT_ + + anim maps/kevinc/marscity/IPN_News_Body.mb -rotate 90 -dest models/md5/chars/marscity/ipn_news -prefix SUIT_ + + + + //MARSCITY2 CINEMATICS + + anim maps/kevinc/marscity_2/sarge_mc2_video.mb -rotate -90 -dest models/md5/chars/sarge/marscity2/mission_brief -prefix SUIT_ + anim maps/kevinc/marscity_2/ceiling_idle.mb -rotate 135 -dest models/md5/chars/ceiling_mc2/ceiling_idle -prefix SUIT_ + anim maps/kevinc/marscity_2/ceiling_trigger.mb -rotate 135 -dest models/md5/chars/ceiling_mc2/ceiling_trigger -prefix SUIT_ + anim maps/kevinc/marscity_2/ceiling_primary.mb -rotate 135 -dest models/md5/chars/ceiling_mc2/ceiling_primary -prefix SUIT_ + anim maps/kevinc/marscity_2/ceiling_secondary1.mb -rotate 135 -dest models/md5/chars/ceiling_mc2/ceiling_secondary1 -prefix SUIT_ + anim maps/kevinc/marscity_2/ceiling_secondary2.mb -rotate 135 -dest models/md5/chars/ceiling_mc2/ceiling_secondary2 -prefix SUIT_ + + anim maps/fred/marscity_2/zombie_eats_marine.mb -range 35 99 -rotate 180 -dest models/md5/cinematics/marscity_2/zkiller_marine + + + // ADMIN CINEMATICS + + anim maps/fred/admin/campbell_overhear_1_n_2_n_3.mb -range 1 313 -dest models/md5/cinematics/admin/overhearswann1 -prefix SWANN_ + anim maps/fred/admin/campbell_overhear_4.mb -range 432 736 -dest models/md5/cinematics/admin/overhearswann2 -prefix SWANN_ + anim maps/fred/admin/swann_campbell_overhear.mb -range 737 1033 -dest models/md5/cinematics/admin/overhearswann3 -prefix SWANN_ + anim maps/eric/admin/typing.mb -range 1 60 -rotate 180 -dest models/md5/cinematics/admin/typingswann_loop -prefix SWANN_ -align ALL + anim maps/eric/admin/typing.mb -range 1 317 -rotate 180 -dest models/md5/cinematics/admin/typingswann -prefix SWANN_ -align ALL + + anim models/characters/male_npc/cycles/idles/af_pose.mb -dest models/md5/characters/npcs/woundedmarine_af_pose -align ALL + anim models/characters/male_npc/cycles/wounded/wounded_marine_trigger.mb -dest models/md5/chars/wounded_marine_trigger -align ALL + anim models/characters/male_npc/cycles/wounded/wounded_marine_primary.mb -dest models/md5/chars/wounded_marine_primary -align ALL + anim models/characters/male_npc/cycles/wounded/wounded_marine_secondary.mb -dest models/md5/chars/wounded_marine_secondary -align ALL + anim models/characters/male_npc/cycles/wounded/wounded_marine_idle.mb -dest models/md5/chars/wounded_marine_idle -align ALL + anim maps/fred/admin/betruger_operation.mb -rotate 90 -dest models/md5/cinematics/admin/overhearbetruger -prefix SUIT_ + + + // DELTA2A CINEMATICS + + anim maps/fred/delta2a/ian_shot1.mb -range 5 40 -rotate 90 -dest models/md5/chars/ian_d2a/ianstart + anim maps/fred/delta2a/ian_shot1.mb -range 41 165 -rotate 90 -dest models/md5/chars/ian_d2a/ianpart1 + anim maps/fred/delta2a/ian_shot1.mb -range 166 710 -rotate 90 -dest models/md5/chars/ian_d2a/ianpart2 + anim maps/fred/delta2a/ian_shot1.mb -range 711 756 -rotate 90 -dest models/md5/chars/ian_d2a/ianpart3 + anim maps/fred/delta2a/ian_shot4.mb -rotate 90 -dest models/md5/chars/ian_d2a/ianpart4 + anim maps/fred/delta2a/ian_shot4_talk.mb -rotate 90 -dest models/md5/chars/ian_d2a/ianpart4_talk + anim maps/fred/delta2a/ian_shot4_talk_trigger.mb -rotate 90 -dest models/md5/chars/ian_d2a/ianpart4_talk_trigger + anim maps/fred/delta2a/ian_shot4_stand.mb -rotate 90 -dest models/md5/chars/ian_d2a/ianpart4_stand + anim maps/fred/delta2a/ian_talk_one.mb -rotate 90 -dest models/md5/chars/ian_d2a/ian_talk_one + anim maps/fred/delta2a/ian_talk_two.mb -rotate 90 -dest models/md5/chars/ian_d2a/ian_talk_two + anim maps/fred/delta2a/ian_cower.mb -rotate 90 -dest models/md5/chars/ian_d2a/iancower + + // DELTA2B CINEMATICS + + anim maps/kevinc/delta2b/hazmat_trigger.mb -rotate 90 -dest models/md5/chars/hazmat_d2b/trigger + anim maps/kevinc/delta2b/hazmat_idle.mb -rotate 90 -dest models/md5/chars/hazmat_d2b/hazmat_idle + anim maps/kevinc/delta2b/hazmat_primary.mb -rotate 90 -dest models/md5/chars/hazmat_d2b/primary + anim maps/kevinc/delta2b/hazmat_secondary1.mb -rotate 90 -dest models/md5/chars/hazmat_d2b/secondary1 + anim maps/kevinc/delta2b/hazmat_secondary2.mb -rotate 90 -dest models/md5/chars/hazmat_d2b/secondary2 + + // DELTA3 CINEMATICS + + anim models/characters/male_npc/cycles/idles/betruger_point.mb -rotate 90 -dest models/md5/chars/betruger/delta3/betruger_point + anim models/characters/male_npc/cycles/idles/betruger_point_down.mb -rotate 90 -dest models/md5/chars/betruger/delta3/betruger_point_down + + // DELTA4 CINEMATICS + + anim maps/fred/delta4/hkintro.mb -rotate 180 -dest models/md5/chars/betruger/delta4/betrugerlaugh + + anim maps/fred/delta4/hkthrowshaz1.mb -range 182 260 -dest models/md5/cinematics/delta4/hkintro_hazgetsgrabbed -prefix HAZ_ + anim maps/fred/delta4/hkthrowshaz2.mb -range 261 409 -dest models/md5/cinematics/delta4/hkintro_hazgetsthrown -prefix HAZ_ + + anim maps/fred/delta4/pooped.mb -range 182 500 -dest models/md5/cinematics/bloopers/hkintro_hazpooped -prefix HAZ_ + anim maps/fred/bloopers/haz_monsters.mb -range 1 250 -dest models/md5/cinematics/bloopers/haz_monsters -prefix HAZ_ + + anim maps/fred/delta4/hazrunoutcough.mb -dest models/md5/cinematics/delta4/hkintro_runoutcough -prefix SUIT_ + + // DELTA5 CINEMATICS + + anim maps/kevinc/delta5/wounded_swann.mb -rotate -45 -range 0 1260 -dest models/md5/cinematics/delta5/swann_trigger -prefix SWANN_ + anim maps/kevinc/delta5/wounded_swann_idle.mb -rotate -45 -dest models/md5/cinematics/delta5/swann_idle -prefix SWANN_ + + + // MONORAIL CINEMATICS + + anim maps/fred/monorail/raisecommando2.mb -dest models/md5/chars/betruger/monorail/raise -prefix BETRUGER_ + anim maps/fred/monorail/raisecommando2.mb -rotate 180 -dest models/md5/cinematics/monorail/fallingsoldier + anim maps/fred/monorail/raisecommando2.mb -rotate 180 -dest models/md5/cinematics/monorail/transforming -prefix SOL_ + + anim maps/fred/monorail/rider_eric.mb -range 1 1 -dest models/md5/cinematics/monorail/rider_hidden + anim maps/fred/monorail/rider_eric.mb -range 50 150 -dest models/md5/cinematics/monorail/rider_stand + //anim maps/fred/monorail/rider_eric.mb -range 151 680 -dest models/md5/cinematics/monorail/rider_trigger + anim maps/fred/monorail/rider_eric.mb -range 127 680 -dest models/md5/cinematics/monorail/rider_trigger + anim maps/fred/monorail/rider_eric.mb -range 680 780 -dest models/md5/cinematics/monorail/rider_sit + anim maps/fred/monorail/rider_eric.mb -range 780 890 -dest models/md5/cinematics/monorail/rider_primary + anim maps/fred/monorail/rider_eric.mb -range 890 995 -dest models/md5/cinematics/monorail/rider_secondary1 + anim maps/fred/monorail/rider_eric.mb -range 995 1100 -dest models/md5/cinematics/monorail/rider_secondary2 + anim maps/fred/monorail/rider_eric_suprise.mb -range 1 60 -dest models/md5/cinematics/monorail/rider_surprise + anim maps/fred/monorail/rider_eric_notrig.mb -range 150 256 -dest models/md5/cinematics/monorail/rider_notrig + anim maps/fred/monorail/rider_before_trigger.mb -dest models/md5/cinematics/monorail/before_trigger + + + + // CPU CINEMATICS + + anim maps/fred/cpu1/camp_wounded.mb -rotate 180 -range 1 1 -dest models/md5/chars/campbell/cpu/deathidle -prefix CAMPBELL_ + anim maps/fred/cpu1/camp_wounded.mb -rotate 180 -dest models/md5/chars/campbell/cpu/death -prefix CAMPBELL_ + anim maps/fred/cpu1/camp_wounded.mb -rotate 180 -range 300 300 -dest models/md5/chars/campbell/cpu/deathend -prefix CAMPBELL_ + + // RECYCLING CINEMATICS + + anim maps/fred/recycling/betruger_video1.mb -dest models/md5/chars/betruger/recycling/betruger_vid1 -align ALL + anim maps/fred/recycling/betruger_video2.mb -dest models/md5/chars/betruger/recycling/betruger_vid2 -align ALL + + // COMM1 CINEMATICS + + anim maps/fred/comm1/swann_video1.mb -dest models/md5/chars/swann/comm1/swann_vid1 -align ALL + anim maps/kevinc/comm1/swann_video2.mb -dest models/md5/chars/swann/comm1/swann_vid2 -align ALL + anim maps/kevinc/comm1/swann_video3.mb -dest models/md5/chars/swann/comm1/swann_vid3 -align ALL + + //SITE3 CINEMATICS + + anim maps/kevinc/site3/trigger.mb -rotate -90 -dest models/md5/chars/site3_sci/trigger -prefix SUIT_ -align ALL + anim maps/kevinc/site3/trigger.mb -rotate -90 -range 1 1 -dest models/md5/chars/site3_sci/initial_frame -prefix SUIT_ -align ALL + anim maps/kevinc/site3/primary.mb -dest models/md5/chars/site3_sci/primary -prefix SUIT_ -align ALL + + anim maps/kevinc/site3/stand_site3.mb -dest models/md5/chars/site3_sci/stand_site3 -prefix SUIT_ -align ALL + + anim maps/kevinc/site3/secondary1.mb -dest models/md5/chars/site3_sci/secondary1 -prefix SUIT_ -align ALL + anim maps/kevinc/site3/secondary2.mb -dest models/md5/chars/site3_sci/secondary2 -prefix SUIT_ -align ALL + anim maps/kevinc/site3/operate_computer_site3.mb -rotate -180 -dest models/md5/chars/site3_sci/operate_computer_site3 + anim maps/kevinc/site3/turn_left_rotation180_site3.mb -dest models/md5/chars/site3_sci/turn_left_rotation180_site3 -prefix SUIT_ -align ALL + + //ENPRO CINEMATICS + + anim maps/eric/enpro/wounded_marine.mb -range 1 92 -dest models/md5/chars/enpro_wounded_marine/marine_wounded1 -prefix SUIT2_ + anim maps/eric/enpro/wounded_marine.mb -range 93 194 -dest models/md5/chars/enpro_wounded_marine/marine_wounded2 -prefix SUIT4_ + anim maps/eric/enpro/wounded_marine.mb -range 195 340 -dest models/md5/chars/enpro_wounded_marine/marine_wounded3 -prefix SUIT4_ + anim maps/eric/enpro/wounded_marine.mb -range 341 476 -dest models/md5/chars/enpro_wounded_marine/marine_wounded4 -prefix SUIT4_ + anim maps/eric/enpro/wounded_marine.mb -range 477 571 -dest models/md5/chars/enpro_wounded_marine/marine_wounded5 -prefix SUIT4_ + anim maps/eric/enpro/wounded_marine.mb -range 572 598 -dest models/md5/chars/enpro_wounded_marine/marine_wounded6 -prefix SUIT4_ + + anim maps/fred/enpro/escape_shot1.mb -range 1 90 -dest models/md5/cinematics/enpro/swann_escape1 -prefix SUIT2_ + anim maps/fred/enpro/escape_shot2.mb -range 91 236 -dest models/md5/cinematics/enpro/swann_escape2 -prefix SUIT2_ + + anim maps/fred/enpro/escape_shot3.mb -range 316 461 -dest models/md5/cinematics/enpro/marine_escape -prefix SOL_ + + + + + + // HELLHOLE CINEMATICS + + anim maps/fred/cyberdemon/swanndead.mb -dest models/md5/cinematics/hellhole/rescue_swanndead -prefix SWANN_ + anim maps/fred/cyberdemon/pdamarine.mb -dest models/md5/cinematics/hellhole/rescue_pdamarine -prefix MARINE_ + anim maps/fred/cyberdemon/bodylook.mb -dest models/md5/cinematics/hellhole/rescue_bodylook -prefix SUIT_ + + // UNDERGROUND STUFF + + anim maps/fred/underground/brooksidle.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooksidle + anim maps/fred/underground/brookswelcome.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooks01welcome + anim maps/fred/underground/brooksimgonnaneed.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooks02imgonnaneed + anim maps/fred/underground/brooksgrabyourgear.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooks03grabyourgear + anim maps/fred/underground/brooksletme.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooks04letmeradiotest + anim maps/fred/underground/brooksradiocheck.mb -rotate -90 -dest models/md5/chars/mcu_brooks/brooks05radiocheck + anim maps/fred/underground/brookslookslike.mb -rotate -90 -dest models/md5/chars/mcu_brooks/brooks06mission + anim maps/fred/underground/brooksallset.mb -rotate -90 -dest models/md5/chars/mcu_brooks/brooks07allset + anim maps/fred/underground/brooksohyeah.mb -rotate -90 -dest models/md5/chars/mcu_brooks/brooks08dontshootcivilians + anim maps/fred/underground/brooksneedtosecure.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooks09re_secureyourgear + anim maps/fred/underground/brooksyourstuff.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooks13re_storagecabinet + anim maps/fred/underground/brooksnowyouready.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooks14readyforcombat + anim maps/fred/underground/brookswatchtheshootin.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brookscowerwatch + anim maps/fred/underground/brooksdontfire.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brookscowerdontfire + anim maps/fred/underground/brooksyoudont.mb -rotate 90 -dest models/md5/chars/mcu_brooks/brooks18re_moveout + + anim maps/fred/underground/airlockencounter.mb -range 1 80 -dest models/md5/chars/airlockzdragged -prefix ZOMBIE_ + anim maps/fred/underground/airlockencounter.mb -range 81 150 -dest models/md5/chars/airlockzeatenloop -prefix ZOMBIE_ + anim maps/fred/underground/airlockencounter.mb -range 150 186 -dest models/md5/chars/airlockzgetup -prefix ZOMBIE_ + anim maps/fred/underground/invasion2b.mb -range 52 99 -dest models/md5/cinematics/underground/invasion_runshoot + anim maps/fred/underground/invasion6a.mb -range 25 80 -dest models/md5/cinematics/underground/invasion_runfall + anim maps/fred/underground/newsec.mb -dest models/md5/cinematics/underground/hallway_sec2zombie + anim maps/fred/underground/invasion6c.mb -dest models/md5/cinematics/underground/hallway_sec2zombie2 + anim maps/fred/underground/invasion4.mb -dest models/md5/cinematics/underground/invasion_window + anim maps/fred/underground/invasion6a.mb -range 25 80 -dest models/md5/cinematics/underground/invasion_runbackscared -prefix SUIT2_ + anim maps/fred/underground/npcbackup.mb -dest models/md5/cinematics/underground/npcbackup + anim maps/fred/underground/npcbackup_start.mb -dest models/md5/cinematics/underground/npcbackup_start + anim maps/fred/underground/npcbackup_death.mb -dest models/md5/cinematics/underground/npcbackup_death + //anim maps/fred/underground/npcbackup_cower.mb -rotate 90 -dest models/md5/cinematics/underground/npcbackup_cower + anim maps/fred/underground/crazysci.mb -range 1 1 -dest models/md5/cinematics/underground/crazy_sci_start + anim maps/fred/underground/crazysci.mb -range 1 114 -dest models/md5/cinematics/underground/crazy_sci1 + anim maps/fred/underground/crazysci.mb -range 115 224 -dest models/md5/cinematics/underground/crazy_sci2 + anim maps/fred/underground/crazysci2.mb -range 200 648 -dest models/md5/cinematics/underground/crazy_sci3 -prefix SUIT2_ + + anim maps/fred/underground/crazysciend.mb -dest models/md5/cinematics/underground/crazy_sci_end1 -prefix SUIT2_ + anim maps/fred/underground/zintro_reversed_new.mb -range 1 120 -dest models/md5/cinematics/underground/zintro_beater1 + anim maps/fred/underground/zintro_reversed_new.mb -range 121 230 -dest models/md5/cinematics/underground/zintro_beater2 + anim maps/fred/underground/zintro_reversed_new.mb -range 1 120 -dest models/md5/cinematics/underground/zintro_victim1 -prefix SUIT2_ + anim maps/fred/underground/zintro_reversed_new.mb -range 121 230 -dest models/md5/cinematics/underground/zintro_victim2 -prefix SUIT2_ + anim maps/fred/underground/zintro_part2.mb -dest models/md5/cinematics/underground/zintro_eater_loop + anim maps/fred/underground/zintro_part2.mb -dest models/md5/cinematics/underground/zintro_eaten_loop -prefix SUIT2_ + anim maps/fred/underground/zintro_part3.mb -dest models/md5/cinematics/underground/zintro_eaten_end -prefix SUIT2_ + anim maps/fred/underground/zintro_part3.mb -range 447 447 -dest models/md5/cinematics/underground/zintro_eaten_end_loop -prefix SUIT2_ + + anim maps/fred/underground/zintro_part3.mb -dest models/md5/cinematics/underground/zintro_eater_getup + anim maps/fred/underground/choke.mb -range 14 45 -dest models/md5/cinematics/underground/invasion_choke_victim_a + anim maps/fred/underground/choke.mb -range 46 103 -dest models/md5/cinematics/underground/invasion_choke_victim_b + anim maps/fred/underground/choke.mb -range 104 180 -dest models/md5/cinematics/underground/invasion_choke_victim_c + anim maps/fred/underground/choke.mb -range 14 45 -dest models/md5/cinematics/underground/invasion_choke_zombie_a -prefix ZOMBIE_ + anim maps/fred/underground/choke.mb -range 46 103 -dest models/md5/cinematics/underground/invasion_choke_zombie_b -prefix ZOMBIE_ + anim maps/fred/underground/choke.mb -range 104 180 -dest models/md5/cinematics/underground/invasion_choke_zombie_c -prefix ZOMBIE_ + + anim maps/kevinc/marscity/checkin_cleared.mb -rotate 90 -dest models/md5/cinematics/marscity/sec_checkin_cleared + anim maps/kevinc/marscity/checkin_gonnaneed.mb -rotate 90 -dest models/md5/cinematics/marscity/sec_checkin_need + anim maps/kevinc/marscity/checkin_holdstill.mb -rotate 90 -dest models/md5/cinematics/marscity/sec_checkin_holdstill + anim maps/kevinc/marscity/checkin_idle.mb -rotate 90 -dest models/md5/cinematics/marscity/sec_checkin_idle + anim maps/kevinc/marscity/checkin_idle2.mb -rotate 90 -dest models/md5/cinematics/marscity/sec_checkin_idle_norot + anim maps/kevinc/marscity/checkin_letmeget.mb -rotate 90 -dest models/md5/cinematics/marscity/sec_checkin_letmeget + anim maps/kevinc/marscity/checkin_waisting.mb -rotate 90 -dest models/md5/cinematics/marscity/sec_checkin_waisting + anim maps/kevinc/marscity/checkin_welcome.mb -rotate 90 -dest models/md5/cinematics/marscity/sec_checkin_welcome + + anim maps/fred/marscity/office1.mb -dest models/md5/chars/office1working + + // ALPHALABS1 STUFF + + anim models/characters/male_npc/cycles/idles/cower4.mb -rotate 180 -dest models/md5/chars/alphalabs1/cower4_hydrocon + anim models/characters/male_npc/cycles/idles/startle.mb -rotate 180 -dest models/md5/chars/alphalabs1/startle + anim models/characters/male_npc/cycles/working/PDA_idle_look_hydrocon.mb -rotate 180 -dest models/md5/chars/alphalabs1/pda_idle_look_hydrocon + anim models/characters/male_npc/cycles/working/PDA_idle_look_hydrocon_talk.mb -rotate 180 -dest models/md5/chars/alphalabs1/pda_idle_look_hydrocon_talk + + // ALPHALABS4 STUFF + + anim models/characters/male_npc/cycles/fragchamber_scientist/freaked_out.mb -rotate 90 -dest models/md5/chars/alphalabs4/freaked_out + anim models/characters/male_npc/cycles/walks/walk_thankyou.mb -rotate 90 -dest models/md5/chars/alphalabs4/walk_thankyou + anim models/characters/male_npc/cycles/fragchamber_scientist/hey_you.mb -rotate 90 -dest models/md5/chars/alphalabs4/hey_you + anim models/characters/male_npc/cycles/talking/talk_secondary2.mb -rotate 90 -dest models/md5/chars/alphalabs4/talk_secondary2 + anim models/characters/male_npc/cycles/fragchamber_scientist/fragchamber_scientist_die.mb -range 0 0 -rotate 90 -dest models/md5/chars/alphalabs4/die_start + anim models/characters/male_npc/cycles/fragchamber_scientist/fragchamber_scientist_die.mb -rotate 90 -dest models/md5/chars/alphalabs4/die + anim models/characters/male_npc/cycles/fragchamber_scientist/fragchamber_scientist_die.mb -range 70 70 -rotate 90 -dest models/md5/chars/alphalabs4/die_end + + + // GENERIC CYCLES + + addoptions -align ALL + addoptions -destdir models/md5/chars + + anim models/characters/male_npc/cycles/idles/af_pose.mb -dest af_pose + anim models/characters/male_npc/cycles/idles/stand.mb -dest stand + anim models/characters/male_npc/cycles/talking/stand_talk.mb -dest stand_talk + anim models/characters/male_npc/cycles/talking/stand_talk_primary_mark.mb -dest stand_talk_primary_mark + anim models/characters/male_npc/cycles/talking/stand_talk_secondary_mark.mb -dest stand_talk_secondary_mark + anim models/characters/male_npc/cycles/talking/talk_primary_ross.mb -dest talk_primary_ross + anim models/characters/male_npc/cycles/walks/walk_normal.mb -dest walk_normal + anim models/characters/male_npc/cycles/pain/painchest.mb -dest painchest + anim models/characters/male_npc/cycles/pain/painhead.mb -dest painhead + anim models/characters/male_npc/cycles/pain/painleft.mb -dest painleft + anim models/characters/male_npc/cycles/pain/painright.mb -dest painright + anim models/characters/male_npc/cycles/idles/cower4.mb -dest cower4 + anim models/characters/male_npc/cycles/idles/turn_right.mb -dest turn_right + anim models/characters/male_npc/cycles/idles/turn_left.mb -dest turn_left + anim models/characters/male_npc/cycles/idles/turn_right_rotation90.mb -dest turn_right_rotation90 + anim models/characters/male_npc/cycles/idles/turn_left_rotation90.mb -dest turn_left_rotation90 + anim models/characters/male_npc/cycles/idles/turn_right_rotation180.mb -dest turn_right_rotation180 + anim models/characters/male_npc/cycles/idles/turn_left_rotation180.mb -dest turn_left_rotation180 + anim models/characters/male_npc/cycles/wounded/eric_hurt_loop_2.mb -range 0 60 -dest models/md5/chars/npc_stagger_loop + anim models/characters/male_npc/cycles/runs/medrun1.mb -rotate 90 -dest models/md5/chars/medrun1 + + anim models/characters/male_npc/cycles/working/PDA_idle_look.mb -dest models/md5/chars/PDA_idle_look + anim models/characters/male_npc/cycles/working/PDA_idle.mb -dest models/md5/chars/PDA_idle + anim models/characters/male_npc/cycles/working/PDA_idle_daniel.mb -dest models/md5/chars/PDA_idle_daniel + + anim models/characters/male_npc/cycles/working/gui_operate_daniel.mb -dest models/md5/chars/gui_operate_daniel + anim models/characters/male_npc/cycles/talking/stand_talk.mb -dest models/md5/chars/stand_talk + anim models/characters/male_npc/cycles/working/gui_look.mb -dest models/md5/chars/gui_look + anim models/characters/male_npc/cycles/working/box_look.mb -dest models/md5/chars/box_look + + anim models/characters/male_npc/cycles/working/look_in_hole_scratch_head.mb -dest models/md5/chars/look_in_hole_scratch_head + anim models/characters/male_npc/cycles/working/look_in_hole.mb -dest models/md5/chars/look_in_hole + anim models/characters/male_npc/cycles/talking/talk_listen_scotty_ross.mb -dest models/md5/chars/talk_listen_scotty_ross + anim models/characters/male_npc/cycles/idles/stand_point_forward.mb -dest models/md5/chars/stand_point_forward + anim models/characters/male_npc/cycles/idles/stand_point_forward_charles.mb -dest models/md5/chars/stand_point_forward_charles + anim models/characters/male_npc/cycles/idles/idle_charles.mb -dest models/md5/chars/idle_charles + + anim models/characters/male_npc/cycles/talking/talk_primary_todd.mb -dest models/md5/chars/talk_primary_todd + anim models/characters/male_npc/cycles/talking/talk_secondary2_todd.mb -dest models/md5/chars/talk_secondary2_todd + + anim models/characters/male_npc/cycles/working/gui_operate.mb -dest models/md5/chars/npcs/gui_operate_eric + anim models/characters/male_npc/cycles/working/operate_computer_eric_thankyou.mb -dest models/md5/chars/operate_computer_eric_thankyou + anim models/characters/male_npc/cycles/working/operate_computer_eric_worktalk1.mb -dest models/md5/chars/operate_computer_eric_worktalk1 + anim models/characters/male_npc/cycles/working/operate_computer_eric_worktalk2.mb -dest models/md5/chars/operate_computer_eric_worktalk2 + anim models/characters/male_npc/cycles/working/operate_computer_talk.mb -dest models/md5/chars/operate_computer_talk + + anim models/characters/male_npc/cycles/working/operate_computer_james3.mb -dest models/md5/chars/operate_computer_loop3 + anim maps/fred/underground/james_fall.mb -dest models/md5/chars/invasion_ledgefall + anim maps/fred/underground/invasion2.mb -range 68 118 -dest models/md5/chars/invasion_runcover + anim models/characters/male_npc/cycles/idles/stand_sitting_PDAidle.mb -dest models/md5/chars/stand_sitting_idle + anim models/characters/male_npc/cycles/idles/stand_sitting.mb -dest models/md5/chars/stand_sitting + anim models/characters/male_npc/cycles/idles/mcu_thanku.mb -dest models/md5/chars/mcu_thanku + + anim models/characters/male_npc/cycles/talking/PDA_talk_security_guard.mb -dest models/md5/chars/PDA_talk_security_guard + anim models/characters/male_npc/cycles/talking/PDA_talk.mb -dest models/md5/chars/PDA_talk + + anim models/characters/male_npc/cycles/sitting/mc_civ1_idle.mb -dest models/md5/chars/mc_civ1_idle + anim models/characters/male_npc/cycles/sitting/mc_civ1_look.mb -dest models/md5/chars/mc_civ1_look + anim models/characters/male_npc/cycles/sitting/mc_civ1_trigger.mb -dest models/md5/chars/mc_civ1_trigger + anim models/characters/male_npc/cycles/sitting/mc_civ1_primary.mb -dest models/md5/chars/mc_civ1_primary + anim models/characters/male_npc/cycles/sitting/mc_civ1_secondary1.mb -dest models/md5/chars/mc_civ1_secondary1 + anim models/characters/male_npc/cycles/sitting/mc_civ1_secondary2.mb -dest models/md5/chars/mc_civ1_secondary2 + + anim models/characters/male_npc/cycles/working/operate_computer_sitting.mb -dest models/md5/chars/operate_computer_sitting + anim models/characters/male_npc/cycles/working/operate_computer_sitting_higher.mb -dest models/md5/chars/operate_computer_sitting_higher + anim models/characters/male_npc/cycles/walks/walk_machinegun.mb -xyzprecision 0.01 -quatprecision 0.00006 -dest models/md5/chars/walk_machinegun + + anim models/characters/male_npc/cycles/idles/p90_stand.mb -rotate 90 -dest models/md5/chars/p90_stand + anim models/characters/male_npc/cycles/idles/p90_idle.mb -rotate 90 -dest models/md5/chars/p90_idle + anim models/characters/male_npc/cycles/idles/p90_point_left.mb -rotate 90 -dest models/md5/chars/p90_point_left + anim models/characters/male_npc/cycles/idles/p90_talk.mb -rotate 90 -dest models/md5/chars/p90_talk + + anim models/characters/male_npc/cycles/talking/marscity_marine1_ver1_hq_primary.mb -rotate 90 -dest models/md5/chars/marscity_marine1_ver1_hq_primary + anim models/characters/male_npc/cycles/talking/marscity_marine1_ver1_hq_secondary1.mb -rotate 90 -dest models/md5/chars/marscity_marine1_ver1_hq_secondary1 + anim models/characters/male_npc/cycles/talking/marscity_marine1_ver1_hq_secondary2.mb -rotate 90 -dest models/md5/chars/marscity_marine1_ver1_hq_secondary2 + + anim models/characters/male_npc/cycles/idles/drinkfoamcup3.mb -dest models/md5/chars/drinkfoamcup + anim models/characters/male_npc/cycles/idles/drink_idle.mb -dest models/md5/chars/drink_idle + + anim models/characters/male_npc/cycles/working/gui_operate_main_worker.mb -dest models/md5/chars/gui_operate_main_worker + anim models/characters/male_npc/cycles/idles/stand_hands_at_waist.mb -dest models/md5/chars/stand_hands_at_waist + + //CAVERNS STUFF + + addoptions -destdir models/md5/chars/caverns + + anim models/characters/male_npc/cycles/talking/scared_maint_guy/cav2_scared_all.mb -range 1 200 -dest models/md5/chars/caverns/cav2_idle + anim models/characters/male_npc/cycles/talking/scared_maint_guy/cav2_scared_all.mb -range 200 290 -dest models/md5/chars/caverns/cav2_primary + anim models/characters/male_npc/cycles/talking/scared_maint_guy/cav2_scared_all.mb -range 290 399 -dest models/md5/chars/caverns/cav2_secondary1 + anim models/characters/male_npc/cycles/talking/scared_maint_guy/cav2_scared_all.mb -range 399 475 -dest models/md5/chars/caverns/cav2_secondary2 + anim models/characters/male_npc/cycles/talking/scared_maint_guy/cav2_scared_all.mb -range 475 710 -dest models/md5/chars/caverns/cav2_trigger + + +// MARINES WITH MACHINEGUN + + + +options -prefix ZOMBIE_ -keep eject flash barrel machinegun eyecontrol rshldrpad lshldrpad Lknee Rknee Body Body2 Lhand Lhand1 Rhand Rhand1 headcontrol neckcontrol loneckcontrol SPINNER Rball_r Rtoe_r Lball_r Ltoe_r Chest Shoulders Luparm_orbit Ruparm_orbit Belly Lrib Rrib chair RHANDCONNECTOR LHANDCONNECTOR -parent RHANDCONNECTOR Rhand1 -parent LHANDCONNECTOR Lhand1 -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -rename mgeject eject -rename mgflash flash -rename mgbarrel barrel + + addoptions -keepmesh marinebodymesh + addoptions -keepmesh w_machinegunmesh + addoptions -keepmesh mgflash1 + addoptions -keepmesh mgflash2 + addoptions -keepmesh mgflash3 + addoptions -keepmesh mgflash4 + + + mesh models/monsters/zombie/cycles/idles/npcs_mesh2.mb -align ALL -range 1 1 -dest models/md5/chars/marine_w_mgun + + anim maps/fred/enpro/marine_battle_shot1.mb -range 1 170 -dest models/md5/cinematics/enpro/exitsoldier1_shot1 -prefix SUIT_ + anim maps/fred/enpro/marine_battle_shot2.mb -range 171 259 -dest models/md5/cinematics/enpro/exitsoldier1_shot2 -prefix ASUIT_ + anim maps/fred/enpro/marine_battle_shot3.mb -range 260 321 -dest models/md5/cinematics/enpro/exitsoldier1_shot3 -prefix SUIT_ + anim maps/fred/enpro/marine_battle_shot4.mb -range 350 420 -dest models/md5/cinematics/enpro/exitsoldier1_shot4 -prefix ASUIT_ + anim maps/fred/enpro/marine_battle_shot5.mb -range 452 510 -dest models/md5/cinematics/enpro/exitsoldier1_shot5 -prefix SUIT_ + anim maps/fred/enpro/enpro_exit2.mb -range 511 698 -dest models/md5/cinematics/enpro/exitsoldier1_shot6 -prefix ASUIT_ + anim maps/fred/enpro/enpro_exit2.mb -range 699 740 -dest models/md5/cinematics/enpro/exitsoldier1_shot7 -prefix ASUIT_ + anim maps/fred/enpro/enpro_exit2.mb -range 741 979 -dest models/md5/cinematics/enpro/exitsoldier1_shot8 -prefix ASUIT_ + + anim maps/fred/enpro/marine_battle_shot1.mb -range 1 170 -dest models/md5/cinematics/enpro/exitsoldier2_shot1 -prefix SUIT2_ + anim maps/fred/enpro/marine_battle_shot2.mb -range 171 259 -dest models/md5/cinematics/enpro/exitsoldier2_shot2 -prefix SUIT_ + anim maps/fred/enpro/marine_battle_shot3.mb -range 260 321 -dest models/md5/cinematics/enpro/exitsoldier2_shot3 -prefix SUIT2_ + anim maps/fred/enpro/marine_battle_shot4.mb -range 350 420 -dest models/md5/cinematics/enpro/exitsoldier2_shot4 -prefix SUIT_ + anim maps/fred/enpro/marine_battle_shot5.mb -range 452 510 -dest models/md5/cinematics/enpro/exitsoldier2_shot5 -prefix SUIT2_ + anim maps/fred/enpro/enpro_exit2.mb -range 511 698 -dest models/md5/cinematics/enpro/exitsoldier2_shot6 -prefix SUIT_ + anim maps/fred/enpro/enpro_exit2.mb -range 699 740 -dest models/md5/cinematics/enpro/exitsoldier2_shot7 -prefix SUIT_ + anim maps/fred/enpro/enpro_exit2.mb -range 741 979 -dest models/md5/cinematics/enpro/exitsoldier2_shot8 -prefix SUIT_ + + anim maps/fred/enpro/marine_battle_shot1.mb -range 1 170 -dest models/md5/cinematics/enpro/exitsoldier3_shot1 -prefix SUIT3_ + anim maps/fred/enpro/marine_battle_shot2.mb -range 171 259 -dest models/md5/cinematics/enpro/exitsoldier3_shot2 -prefix SOL_ + anim maps/fred/enpro/marine_battle_shot3.mb -range 260 321 -dest models/md5/cinematics/enpro/exitsoldier3_shot3 -prefix SUIT3_ + anim maps/fred/enpro/marine_battle_shot4.mb -range 350 420 -dest models/md5/cinematics/enpro/exitsoldier3_shot4 -prefix SOL_ + anim maps/fred/enpro/marine_battle_shot5.mb -range 452 510 -dest models/md5/cinematics/enpro/exitsoldier3_shot5 -prefix SUIT3_ + anim maps/fred/enpro/enpro_exit2.mb -range 511 698 -dest models/md5/cinematics/enpro/exitsoldier3_shot6 -prefix SOL_ + anim maps/fred/enpro/enpro_exit2.mb -range 699 740 -dest models/md5/cinematics/enpro/exitsoldier3_shot7 -prefix SOL_ + anim maps/fred/enpro/enpro_exit2.mb -range 741 979 -dest models/md5/cinematics/enpro/exitsoldier3_shot8 -prefix SOL_ + + anim maps/fred/enpro/enpro_exit2.mb -range 511 698 -dest models/md5/cinematics/enpro/exitsoldier4_shot6 -prefix PLAYER_ + anim maps/fred/enpro/enpro_exit2.mb -range 699 740 -dest models/md5/cinematics/enpro/exitsoldier4_shot7 -prefix PLAYER_ + anim maps/fred/enpro/enpro_exit2.mb -range 741 979 -dest models/md5/cinematics/enpro/exitsoldier4_shot8 -prefix PLAYER_ + + addoptions -align ALL + anim models/characters/male_npc/cycles/runs/al2_run_anim_30.mb -rotate 90 -range 79 98 -dest models/md5/chars/mgrun -prefix ZOMBIE_ + anim models/characters/male_npc/cycles/runs/al2_run_anim_30.mb -rotate 90 -range 99 207 -dest models/md5/chars/mgrunstoplookback -prefix ZOMBIE_ + + +} + +model npc_base { + mesh models/md5/chars/skeleton.md5mesh + + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + + anim af_pose models/md5/chars/af_pose.md5anim + anim ik_pose models/md5/chars/af_pose.md5anim + anim pain models/md5/chars/npc_stagger_loop.md5anim + anim stand models/md5/chars/stand.md5anim + anim talk_excuseme models/md5/chars/stand.md5anim + anim talk_trigger models/md5/chars/stand.md5anim + anim talk_primary models/md5/chars/stand.md5anim + anim talk_secondary1 models/md5/chars/stand.md5anim + anim idle models/md5/chars/stand.md5anim + anim cower models/md5/chars/cower4.md5anim + anim walk models/md5/chars/walk_normal.md5anim { + frame 3 sound_body snd_footstep + frame 17 sound_body snd_footstep + frame 30 sound_body snd_footstep + frame 46 sound_body snd_footstep + } + anim run1 models/md5/chars/medrun1.md5anim + anim turn_left models/md5/chars/turn_left.md5anim, models/md5/chars/turn_left_rotation180.md5anim { + anim_turn + } + + anim turn_right models/md5/chars/turn_right.md5anim, models/md5/chars/turn_right_rotation180.md5anim { + anim_turn + } + +} + + +model npc_labcoat { + inherit npc_base + mesh models/md5/chars/labcoat.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model npc_suit { + inherit npc_base + mesh models/md5/chars/suit.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model npc_suit2 { + inherit npc_base + mesh models/md5/chars/suit.md5mesh + skin skins/characters/npcs/brownsuit.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model npc_jumpsuit { + inherit npc_base + mesh models/md5/chars/jumpsuit.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model npc_tshirt { + inherit npc_base + mesh models/md5/chars/tshirt.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model npc_marine { + inherit npc_base + mesh models/md5/chars/marine.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model npc_marine_w_mgun { + mesh models/md5/chars/marine_w_mgun.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model npc_player { + inherit npc_base + mesh models/md5/chars/player.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + + +model npc_security { + inherit npc_base + mesh models/md5/chars/security.md5mesh + skin skins/characters/npcs/regsec.skin + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model npc_skeleton { + inherit npc_base + mesh models/md5/chars/skeleton.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model char_betruger { + inherit npc_labcoat + anim operate_computer6 models/md5/chars/operate_computer_loop3.md5anim +} + + +entityDef char_betruger { + "inherit" "npc_base" + "model" "char_betruger" + "def_head" "head_betruger" + "head_joint" "Shoulders" +} + +model char_swann { + inherit npc_suit + anim stand models/md5/chars/stand.md5anim { + frame 1 event disableEyeFocus + } + anim stand models/md5/chars/stand.md5anim { + frame 1 event disableEyeFocus + } + +} + +entityDef char_swann { + "inherit" "npc_base" + "model" "char_swann" + + "eye_verticle_offset" "10" + "eye_horizontal_offset" "5" + + "def_head" "head_swann" + "head_joint" "Shoulders" +} + +model char_campbell { + inherit npc_marine + + anim stand models/md5/chars/stand.md5anim { + frame 1 event disableEyeFocus + } + anim stand models/md5/chars/stand.md5anim { + frame 1 event disableEyeFocus + } +} + +entityDef char_campbell { + "inherit" "npc_base" + "model" "char_campbell" + + "eye_verticle_offset" "10" + "eye_horizontal_offset" "5" + + //"joint_attach Rhand1" "env_bfgcase" + + "def_head" "head_campbell" + "head_joint" "Shoulders" +} + +model char_campbell_bfg { + mesh models/md5/chars/campbell/campbell.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol) + + anim stand models/md5/chars/campbell/bfg_idle.md5anim { + frame 1 event disableEyeFocus + } + anim idle models/md5/chars/campbell/bfg_idle.md5anim { + frame 1 event disableEyeFocus + } + anim idle_for_roq models/md5/chars/campbell/bfg_idle_eric.md5anim { + frame 1 event disableEyeFocus + } + + anim talk_primary models/md5/chars/campbell/bfg_idle.md5anim + anim talk_secondary1 models/md5/chars/campbell/bfg_idle.md5anim + anim walk models/md5/chars/campbell/bfg_walk.md5anim + anim run models/md5/chars/campbell/bfg_run.md5anim + anim af_pose models/md5/chars/campbell/af_pose.md5anim + anim ik_pose models/md5/chars/campbell/af_pose.md5anim + anim runbackfire models/md5/chars/campbell/bfg_runback_fire.md5anim { + frame 1 trigger bfglight1 + frame 4 trigger bfglight1 + frame 6 trigger bfglight1 + frame 9 trigger bfglight1 + frame 53 fire_missile_at_target BFG duffy_target_null_2 + } + anim runbackfire2 models/md5/chars/campbell/bfg_runback_fire2.md5anim { + frame 51 fire_missile_at_target BFG duffy_target_null_2 + } + anim runbackstart models/md5/chars/campbell/bfg_runback_fire2_start.md5anim + + anim bfgaim models/md5/chars/campbell/bfg_aim.md5anim + anim turn_left models/md5/chars/campbell/campbellturn_left.md5anim, models/md5/chars/campbell/campbellturn_left_rotation180.md5anim { + anim_turn + } + anim turn_right models/md5/chars/campbell/campbellturn_right.md5anim, models/md5/chars/campbell/campbellturn_right_rotation180.md5anim { + anim_turn + } + + anim casewalk models/md5/chars/campbell/bfg_casewalk.md5anim +} + +model char_campbell_bfgcase { + inherit char_campbell_bfg + anim walk models/md5/chars/campbell/bfg_casewalk.md5anim + anim stand models/md5/chars/campbell/campbell_idle.md5anim + anim idle models/md5/chars/campbell/campbell_idle.md5anim +} + +entityDef char_campbell_bfg { + "inherit" "character_default" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "size" "32 32 74" + "use_aas" "aas48" + "team" "0" + "rank" "0" + "mass" "2000" + + "ik_numLegs" "2" + "ik_footSize" "0" + "ik_waist" "Body2" + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*loneckcontrol" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "origin Body2" + + "snd_footstep" "npc_sounds_footstep" + + "model" "char_campbell_bfg" + "ragdoll" "char_campbell_bfg" + + "sound_bone" "Chest" + + "def_head" "head_campbell" + "head_joint" "Shoulders" + + "def_projectile" "projectile_bfg_cinematic" + "projectile_spread" "0" + "num_projectiles" "1" + "attack_accuracy" "0" + + "def_dropDeathItem" "moveable_item_bfg" + "dropDeathItemJoint" "BFG" + "skin_dropDeath" "skins/characters/npcs/marine_campbell.skin" + +} + + + +/*********************************************************************** + + Haz. Materials + +***********************************************************************/ + +model npc_hazmat { + inherit npc_base + mesh models/md5/chars/hazmat.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair) + +} + +model char_hazmat { + inherit npc_base + mesh models/md5/chars/hazmat.md5mesh + channel torso ( *Waist ) + channel legs ( origin Body Body2 *Hips -*Waist SPINNER eyecontrol chair ) +} + +entityDef char_hazmat { + "inherit" "npc_base" + "model" "char_hazmat" +} + + +entityDef npc_base { + "inherit" "character_default" + "scriptobject" "ai" + "nativeobject" "rvmCharacter" + "model" "npc_base" + "ragdoll" "char_npc_base" + "size" "32 32 74" + "use_aas" "aas48" + "team" "0" + "rank" "0" + + "gib" "1" + "model_gib" "models/md5/chars/skeleton.md5mesh" + "snd_gibbed" "sound_giblets" + + "def_dropGibItem1" "moveable_item_head_pork" + "dropGibItem1Joint" "headcontrol" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropGibItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_waist" "Body2" + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "bone_focus" "headcontrol" + "bone_orientation" "Body" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + + "look_min" "-90 -125 0" + "look_max" "25 125 0" + "look_joint Waist" "0.1333 0.1333 0" + "look_joint Chest" "0.1333 0.1333 0" + "look_joint Shoulders" "0.1333 0.1333 0" + "look_joint headcontrol" "0.6 0.6 0" + "look_joint Ruparm" "-0.4 0 0" + "look_joint Luparm" "-0.4 0 0" + + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + "copy_joint_world eyecontrol" "eyecontrol" + + "eye_turn_min" "-20 -30 0" + "eye_turn_max" "20 30 0" + "eye_verticle_offset" "5" + "eye_horizontal_offset" "-8" + "eye_focus_rate" "0.5" + "head_focus_rate" "0.1" + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*loneckcontrol" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "origin Body2" + + "snd_death" "generic_npc_death" + "snd_footstep" "player_sounds_footstep" + "snd_talk_primary" "default_primary" + "snd_talk_secondary" "default_secondary" + "snd_talk_trigger" "default_trigger" +} + + + + +//PROPS + +export fred { + + options -prefix ZOMBIE_ -keep RHANDCONNECTOR -rename origin blah -rename RHANDCONNECTOR origin -clearorigin -sourcedir models/monsters/zombie/cycles/idles -destdir models/md5/props + + mesh npcs_mesh.mb -range 1 1 -dest tabletpc -keepmesh tabletpcmesh -keepmesh tabletpcguimesh + mesh npcs_mesh.mb -range 1 1 -dest foamcup -keepmesh foamcup_layer1 + + options -prefix ZOMBIE_ -keep RHANDCONNECTOR -rename origin blah -rename RHANDCONNECTOR origin -clearorigin -sourcedir models/monsters/zombie/cycles/idles -destdir models/md5/props + + mesh npcs_mesh.mb -range 1 1 -dest adrenaline -keepmesh adrenalinemesh -keepmesh adrenalinefxmesh + mesh npcs_mesh.mb -range 1 1 -dest pda -keepmesh pdamodel -keepmesh pdaguimodel + mesh npcs_mesh.mb -range 1 1 -dest cola -keepmesh cola1_layer1 + + mesh npcs_mesh.mb -range 1 1 -dest shotgun -keepmesh w_shotgunmesh -keepmesh w_shotgunloadermesh + mesh npcs_mesh.mb -range 1 1 -keep mgeject -keep mgflash -keep mgbarrel -dest machinegun -keepmesh w_machinegunmesh -keepmesh mgflash1 -keepmesh mgflash2 -keepmesh mgflash3 -keepmesh mgflash4 + mesh npcs_mesh.mb -range 1 1 -dest pistol -keepmesh w_pistolmesh + mesh npcs_mesh.mb -range 1 1 -dest flashlight -keepmesh flashlightflaremodel -keepmesh flashlightbeammodel -keepmesh flashlightlensmodel -keepmesh flashlightmodel + mesh npcs_mesh.mb -range 1 1 -dest wrench -keepmesh monkeywrench + mesh npcs_mesh.mb -range 1 1 -dest dufflebag -keepmesh dufflebagmesh + + options -prefix ZOMBIE_ -keep LHANDCONNECTOR -rename origin blah -rename LHANDCONNECTOR origin -clearorigin -sourcedir models/monsters/zombie/cycles/idles -destdir models/md5/props + mesh npcs_mesh.mb -range 1 1 -dest leftflashlight -keepmesh flashlightflaremodel -keepmesh flashlightbeammodel -keepmesh flashlightlensmodel -keepmesh flashlightmodel + + options -prefix ZOMBIE_ -keep chair -rename origin blah -rename chair origin -clearorigin -sourcedir models/monsters/zombie/cycles/idles -destdir models/md5/props + + mesh npcs_mesh.mb -range 1 1 -dest metal_lounge_chair -keepmesh metalloungechairframemesh -keepmesh metalloungechairmesh + mesh npcs_mesh.mb -range 1 1 -dest metal_kitchen_chair -keepmesh metalkitchenchairmesh + mesh npcs_mesh.mb -range 1 1 -dest big_cushy_chair -keepmesh bigcushychairmesh + mesh npcs_mesh.mb -range 1 1 -dest soft_desk_chair1 -keepmesh softdeskchairmesh1 + mesh npcs_mesh.mb -range 1 1 -dest soft_desk_chair2 -keepmesh softdeskchairmesh2 + +// options -prefix SUIT_ -sourcedir maps/fred/marscity/ -destdir models/md5/chars/receptionist/marscity/ +// mesh reception.mb -dest receptioncin1_smallpda -prefix SUIT_ -keepmesh pdamodel -keepmesh pdaguimodel +// anim reception.mb -range 24 338 -dest receptioncin1_smallpda -prefix SUIT_ -keepmesh pdamodel -keepmesh pdaguimodel + + options -prefix SUIT_ -sourcedir maps/fred/marscity/ -destdir models/md5/chars/receptionist/marscity/ + mesh reception_redo.mb -dest receptioncin1_smallpda -prefix SUIT_ -keepmesh pdamodel -keepmesh pdaguimodel + anim reception_redo.mb -range 24 100 -dest receptioncin1_smallpda_a -prefix SUIT_ -keepmesh pdamodel -keepmesh pdaguimodel + anim reception_redo.mb -range 101 145 -dest receptioncin1_smallpda_b -prefix SUIT_ -keepmesh pdamodel -keepmesh pdaguimodel + anim reception_redo_handlock.mb -range 146 339 -dest receptioncin1_smallpda_c -prefix SUIT_ -keepmesh pdamodel -keepmesh pdaguimodel + + + + options -prefix PLAYER_ -sourcedir maps/fred/marscity/ -destdir models/md5/chars/receptionist/marscity/ + mesh reception.mb -dest receptioncin1_dufflebag -prefix PLAYER_ -keepmesh dufflebagmesh + anim reception.mb -dest receptioncin1_dufflebag -prefix PLAYER_ -keepmesh dufflebagmesh + +} + +model prop_adrenaline { + mesh models/md5/props/adrenaline.md5mesh + +} + +entityDef prop_adrenaline { + "inherit" "cin_base" + "model" "prop_adrenaline" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_tabletpc { + mesh models/md5/props/tabletpc.md5mesh + +} + +entityDef prop_tabletpc { + "inherit" "cin_base" + "model" "prop_tabletpc" + "joint" "LHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_pda { + mesh models/md5/props/pda.md5mesh + +} + +entityDef prop_pda { + "inherit" "cin_base" + "model" "prop_pda" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + + + + +model prop_cola { + mesh models/md5/props/cola.md5mesh + +} + +entityDef prop_cola { + "inherit" "cin_base" + "model" "prop_cola" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_foamcup { + mesh models/md5/props/foamcup.md5mesh + +} + +entityDef prop_foamcup { + "inherit" "cin_base" + "model" "prop_foamcup" + "joint" "RHANDCONNECTOR" + "origin" "-2 -1 -1" + "angles" "-10 0 -40" + "remove" "1" +} + +model prop_flashlight { + mesh models/md5/props/flashlight.md5mesh + +} + +entityDef prop_flashlight { + "inherit" "cin_base" + "model" "prop_flashlight" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_lftflashlight { + mesh models/md5/props/leftflashlight.md5mesh +} + +entityDef prop_lftflashlight { + "inherit" "cin_base" + "model" "prop_lftflashlight" + "joint" "LHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_wrench { + mesh models/md5/props/wrench.md5mesh + +} + +entityDef prop_wrench { + "inherit" "cin_base" + "model" "prop_wrench" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_dufflebag { + mesh models/md5/props/dufflebag.md5mesh + +} + +entityDef prop_dufflebag { + "inherit" "cin_base" + "model" "prop_dufflebag" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_pistol { + mesh models/md5/props/pistol.md5mesh + +} + +entityDef prop_pistol { + "inherit" "cin_base" + "model" "prop_pistol" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_shotgun { + mesh models/md5/props/shotgun.md5mesh + +} + +entityDef prop_shotgun { + "inherit" "cin_base" + "model" "prop_shotgun" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_machinegun { + mesh models/md5/props/machinegun.md5mesh + +} + +entityDef prop_machinegun { + "inherit" "cin_base" + "model" "prop_machinegun" + "joint" "RHANDCONNECTOR" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_metal_lounge_chair { + mesh models/md5/props/metal_lounge_chair.md5mesh + +} + +entityDef prop_metal_lounge_chair { + "inherit" "cin_base" + "model" "prop_metal_lounge_chair" + "joint" "chair" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_metal_kitchen_chair { + mesh models/md5/props/metal_kitchen_chair.md5mesh + +} + +entityDef prop_metal_kitchen_chair { + "inherit" "cin_base" + "model" "prop_metal_kitchen_chair" + "joint" "chair" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_big_cushy_chair { + mesh models/md5/props/big_cushy_chair.md5mesh + +} + +entityDef prop_big_cushy_chair { + "inherit" "cin_base" + "model" "prop_big_cushy_chair" + "joint" "chair" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_soft_desk_chair1 { + mesh models/md5/props/soft_desk_chair1.md5mesh + +} + +entityDef prop_soft_desk_chair1 { + "inherit" "cin_base" + "model" "prop_soft_desk_chair1" + "joint" "chair" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} + +model prop_soft_desk_chair2 { + mesh models/md5/props/soft_desk_chair2.md5mesh + +} + +entityDef prop_soft_desk_chair2 { + "inherit" "cin_base" + "model" "prop_soft_desk_chair2" + "joint" "chair" + "origin" "0 0 0" + "angles" "0 0 0" + "remove" "1" +} diff --git a/base/def/npcs_james.def b/base/def/npcs_james.def new file mode 100644 index 00000000..2f8ddb54 --- /dev/null +++ b/base/def/npcs_james.def @@ -0,0 +1,35 @@ + +// NPCS + +export james { + options -prefix SUIT_ -keep eyecontrol rshldrpad lshldrpad Lknee Rknee Body Body2 Lhand Lhand1 Rhand Rhand1 headcontrol neckcontrol loneckcontrol SPINNER Rball_r Rtoe_r Lball_r Ltoe_r Chest Shoulders Luparm_orbit Ruparm_orbit Belly Lrib Rrib chair RHANDCONNECTOR LHANDCONNECTOR -parent RHANDCONNECTOR Rhand1 -parent LHANDCONNECTOR Lhand1 -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent rshldrpad Shoulders -parent lshldrpad Shoulders -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER + + addoptions -keepmesh marinebodymesh + + //MARSCITY CHARACTERS + + anim models/characters/male_npc/cycles/sitting/marscity_marine1_stand.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_stand + + anim models/characters/male_npc/cycles/sitting/marscity_marine1_idle1.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_idle1 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_idle2.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_idle2 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_idle3.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_idle3 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_talk1.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_talk1 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_talk2.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_talk2 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_talk3.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_talk3 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_convo1.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_convo1 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_convo2.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_convo2 + anim models/characters/male_npc/cycles/sitting/marscity_marine1_convo3.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine1_convo3 + + anim models/characters/male_npc/cycles/sitting/marscity_marine2_stand.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_stand + anim models/characters/male_npc/cycles/sitting/marscity_marine2_idle1.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_idle1 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_idle2.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_idle2 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_idle3.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_idle3 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_talk1.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_talk1 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_talk2.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_talk2 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_talk3.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_talk3 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_convo1.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_convo1 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_convo2.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_convo2 + anim models/characters/male_npc/cycles/sitting/marscity_marine2_convo3.mb -rotate 90 -dest models/md5/chars/marscity/marscity_marine2_convo3 + +} + \ No newline at end of file diff --git a/base/def/player.def b/base/def/player.def new file mode 100644 index 00000000..66723f64 --- /dev/null +++ b/base/def/player.def @@ -0,0 +1,953 @@ +/*********************************************************************** + + player + +***********************************************************************/ + +export fred { + options -prefix PLAYER_ -keep SPINNER camWaist camHead modelviewconnector camera PISTOL_ATTACHER SHOTGUN_ATTACHER MGATTACHER pgATTACHER NADE_ATTACHER CHAINSAW_ATTACHER RL_ATTACHER FL_ATTACHER BFG_ATTACHER CHAINGUN_ATTACHER Lfteye_Focus Rteye_Focus Neck -parent Waist SPINNER -parent SPINNER Waist2 -parent Neck Shldrs -parent camera camHead -parent Lfteye_Focus Head -parent Rteye_Focus Head -parent Waist2 Hips -parent PISTOL_ATTACHER Rhand -parent SHOTGUN_ATTACHER Rhand -parent MGATTACHER Rhand -parent pgATTACHER Rhand -parent NADE_ATTACHER Rhand -parent CHAINSAW_ATTACHER Rhand -parent RL_ATTACHER Lhand -parent FL_ATTACHER Rhand -parent BFG_ATTACHER Lhand -parent camWaist modelviewconnector -parent CHAINGUN_ATTACHER Rhand + + addoptions -skipmesh pistolBarrel + addoptions -skipmesh pistolExtender + addoptions -skipmesh pistolTrigger + addoptions -skipmesh pistolBody + addoptions -skipmesh pistolClip1 + addoptions -skipmesh plasma_innerscopebot_mesh1 + addoptions -skipmesh plasma_outerscopebot_mesh1 + addoptions -skipmesh plasma_innerscopetop_mesh1 + addoptions -skipmesh plasma_outerscopebot_mesh1 + addoptions -skipmesh plasma_outerscopetop_mesh1 + addoptions -skipmesh plasma_innerflap1_mesh1 + addoptions -skipmesh plasma_outerflap1_mesh1 + addoptions -skipmesh plasma_bolt_mesh1 + addoptions -skipmesh plasma_screen_mesh1 + addoptions -skipmesh plasma_body_mesh1 + addoptions -skipmesh plasma_handle_mesh1 + addoptions -skipmesh plasma_outerflap2_mesh4 + addoptions -skipmesh plasma_innerflap2_mesh4 + addoptions -skipmesh plasma_uppermon_mesh4 + addoptions -skipmesh shotgun_body_mesh + addoptions -skipmesh shotgun_handle_mesh + addoptions -skipmesh shotgun_trigger_mesh + addoptions -skipmesh shotgun_loflap_mesh + addoptions -skipmesh shotgun_extender_mesh + addoptions -skipmesh shotgun_upflap1_mesh + addoptions -skipmesh shotgun_upflap2_mesh + addoptions -skipmesh mgdisplaymesh + addoptions -skipmesh mgextendermesh + addoptions -skipmesh mgbodymesh + addoptions -skipmesh mgclipmesh + addoptions -skipmesh mgtriggermesh + addoptions -skipmesh nade_cap_mesh + addoptions -skipmesh nade_body_mesh + addoptions -skipmesh chainsawcordmesh + addoptions -skipmesh chainsawstartermesh + addoptions -skipmesh chainsawblademesh + addoptions -skipmesh chainsawhandlemesh + addoptions -skipmesh chainsawbodymesh + + addoptions -skipmesh rshell1 + addoptions -skipmesh rshell2 + addoptions -skipmesh rshell3 + addoptions -skipmesh rshell4 + addoptions -skipmesh reloader1 + addoptions -skipmesh handle + addoptions -skipmesh aimer + addoptions -skipmesh body + + addoptions -skipmesh flashlightmesh1 + addoptions -skipmesh flashlightflaremesh + addoptions -skipmesh flashlightbeammesh + addoptions -skipmesh flashlightflare2mesh + + addoptions -skipmesh bfgmesh + + addoptions -skipmesh w_pistolfire + addoptions -skipmesh w_pistolflash + addoptions -skipmesh w_pistolmesh + addoptions -skipmesh w_shotgun2barrelmesh + addoptions -skipmesh w_shotgun2mesh + addoptions -skipmesh w_machinegun_mesh + addoptions -skipmesh w_mgfx1 + addoptions -skipmesh w_mgfx2 + addoptions -skipmesh w_mgfx3 + addoptions -skipmesh w_mgfx4 + addoptions -skipmesh w_plasmagun_mesh + addoptions -skipmesh w_plasmagunfx1 + addoptions -skipmesh w_plasmagunfx2 + addoptions -skipmesh w_chainsaw_mesh + addoptions -skipmesh w_chainsaw_chain_mesh + addoptions -skipmesh w_rocketlauncher_mesh + + addoptions -skipmesh chaingunfx1_model + addoptions -skipmesh chaingunfx2_model + addoptions -skipmesh chaingunnubmodel + addoptions -skipmesh chaingunbodymodel + addoptions -skipmesh chaingunbarrelmodel + + + //non-aligned MOVES + + anim maps/fred/underground/crazy_sci_player_shot1.mb -xyzprecision .01 -quatprecision 0.00006 -range 1 114 -dest models/md5/cinematics/underground/crazy_player1 + anim maps/fred/underground/crazy_sci_player_shot2.mb -xyzprecision .01 -quatprecision 0.00006 -range 115 224 -dest models/md5/cinematics/underground/crazy_player2 + anim maps/fred/underground/crazysci2.mb -range 200 648 -dest models/md5/cinematics/underground/crazy_player3 + anim maps/fred/underground/crazysciend.mb -dest models/md5/cinematics/underground/crazy_player_end + + //non-aligned CINEMATICS + + anim maps/fred/cyberdemon/rescue1.mb -dest models/md5/cinematics/hellhole/rescue_player + anim models/monsters/sabaoth/cycles/death.mb -dest models/md5/cinematics/cpu_boss/sabaoth_death_player + + anim maps/james/recycling2.mb -dest models/md5/cinematics/recycling2/mancintro_player + + anim maps/fred/underground/impintro.mb -dest models/md5/cinematics/underground/impintro_player + + anim maps/fred/underground/headache.mb -dest models/md5/cinematics/underground/headache_player + + + anim maps/fred/admin/railing.mb -dest models/md5/cinematics/admin/railingplayer + anim maps/fred/admin/campbell_overhear_1_n_2_n_3.mb -range 1 313 -dest models/md5/cinematics/admin/overhearplayer1 + + anim maps/eric/enpro/wounded_marine.mb -range 1 92 -dest models/md5/cinematics/enpro/marine_player1 + anim maps/eric/enpro/wounded_marine.mb -range 93 194 -dest models/md5/cinematics/enpro/marine_player2 -prefix PLAYER2_ + anim maps/eric/enpro/wounded_marine.mb -range 195 340 -dest models/md5/cinematics/enpro/marine_player3 -prefix PLAYER2_ + anim maps/eric/enpro/wounded_marine.mb -range 341 476 -dest models/md5/cinematics/enpro/marine_player4 -prefix PLAYER2_ + anim maps/eric/enpro/wounded_marine.mb -range 477 571 -dest models/md5/cinematics/enpro/marine_player5 -prefix PLAYER2_ + anim maps/eric/enpro/wounded_marine.mb -range 572 598 -dest models/md5/cinematics/enpro/marine_player6 -prefix PLAYER2_ + + + + + + //mesh + + mesh models/characters/player/mocap/idle_stand.mb -dest models/md5/characters/player/mocap/player + + anim maps/fred/admin/swann_campbell_overhear.mb -range 432 1033 -dest models/md5/cinematics/admin/overhearplayer2 -prefix PLAYER1_ + + + addoptions -align ALL + +//CINEMATICS + + anim models/characters/player/mocap/react1.mb -dest models/md5/characters/player/mocap/cinematics/react1 + anim models/characters/player/mocap/spinaround1.mb -dest models/md5/characters/player/mocap/cinematics/spinaround1 + anim models/characters/player/mocap/walk2stop.mb -range 17 50 -dest models/md5/characters/player/mocap/cinematics/stop2walk + anim models/characters/player/mocap/walk2stop.mb -range 55 120 -dest models/md5/characters/player/mocap/cinematics/walk2stop + anim models/characters/player/mocap/walk2stop.mb -range 55 93 -dest models/md5/characters/player/mocap/cinematics/walk2stop2 + anim models/characters/player/mocap/walk2stop.mb -range 10 120 -dest models/md5/characters/player/mocap/cinematics/walk2stopfull + + anim models/characters/player/mocap/nadedrope3ending.mb -range 1 370 -dest models/md5/characters/player/mocap/cinematics/nadedrope3ending + anim models/characters/player/mocap/outofammo.mb -dest models/md5/characters/player/mocap/cinematics/outofammo +} + +//NPC PLAYER ANIMS + +export fred { + + options -prefix SUIT_ -keep Lknee Rknee Lhand Lhand1 Rhand Rhand1 Body2 Body SPINNER PISTOL_ATTACHER SHOTGUN_ATTACHER MGATTACHER pgATTACHER NADE_ATTACHER CHAINSAW_ATTACHER RL_ATTACHER FL_ATTACHER BFG_ATTACHER CHAINGUN_ATTACHER PDA_ATTACHER SOUL_ATTACHER loneckadjust headcontrol neckcontrol loneckcontrol eyecontrol jawcontrol jawadjust Jaw -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -parent PISTOL_ATTACHER Rhand1 -parent SHOTGUN_ATTACHER Rhand1 -parent MGATTACHER Rhand1 -parent pgATTACHER Rhand1 -parent NADE_ATTACHER Rhand1 -parent CHAINSAW_ATTACHER Rhand1 -parent RL_ATTACHER Lhand1 -parent FL_ATTACHER Rhand1 -parent BFG_ATTACHER Rhand1 -parent CHAINGUN_ATTACHER Rhand -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent Rhand1 Rhand -parent Rfings1 Rhand1 -parent Rindex1 Rhand1 -parent Rthumb1 Rhand1 -parent PDA_ATTACHER Rhand -parent SOUL_ATTACHER Rhand + + addoptions -keepmesh soldiermesh + addoptions -keepmesh marinehelmetmesh + addoptions -keepmesh marinebodymesh + addoptions -keepmesh skeletonmesh + + + //anim models/characters/male_npc/cycles/tweakedplayermoves/walk_fast.mb -dest models/md5/characters/npcs/playermoves/walk_forward + anim models/characters/male_npc/cycles/tweakedplayermoves/run2stop.mb -dest models/md5/characters/npcs/playermoves/exit_teleporter +} + + +export fred { + + options -prefix MP_ -keep Loneck Head Lknee Rknee Lhand Lhand1 Rhand Body2 Body SPINNER PISTOL_ATTACHER SHOTGUN_ATTACHER MGATTACHER pgATTACHER NADE_ATTACHER CHAINSAW_ATTACHER RL_ATTACHER FL_ATTACHER BFG_ATTACHER CHAINGUN_ATTACHER PDA_ATTACHER SOUL_ATTACHER loneckadjust headcontrol neckcontrol loneckcontrol eyecontrol jawcontrol jawadjust Jaw -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -parent PISTOL_ATTACHER Rhand1 -parent SHOTGUN_ATTACHER Rhand1 -parent MGATTACHER Rhand1 -parent pgATTACHER Rhand1 -parent NADE_ATTACHER Rhand1 -parent CHAINSAW_ATTACHER Rhand1 -parent RL_ATTACHER Lhand1 -parent FL_ATTACHER Rhand1 -parent BFG_ATTACHER Rhand1 -parent CHAINGUN_ATTACHER Rhand -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent PDA_ATTACHER Rhand -parent SOUL_ATTACHER Rhand + + + addoptions -keepmesh npcplayerarmmesh + addoptions -keepmesh npcplayermesh + addoptions -keepmesh soldiermesh + + + mesh models/characters/male_npc/cycles/tweakedplayermoves/makemesh.mb -rotate 90 -dest models/md5/characters/npcs/playermoves/spplayer + + options -prefix MP_ -keep Lknee Rknee Lhand Lhand1 Rhand Body2 Body SPINNER PISTOL_ATTACHER SHOTGUN_ATTACHER MGATTACHER pgATTACHER NADE_ATTACHER CHAINSAW_ATTACHER RL_ATTACHER FL_ATTACHER BFG_ATTACHER CHAINGUN_ATTACHER PDA_ATTACHER SOUL_ATTACHER loneckadjust headcontrol neckcontrol loneckcontrol eyecontrol jawcontrol jawadjust Jaw -parent Body2 Body -parent Hips Body2 -parent SPINNER Body2 -parent Waist SPINNER -parent PISTOL_ATTACHER Rhand1 -parent SHOTGUN_ATTACHER Rhand1 -parent MGATTACHER Rhand1 -parent pgATTACHER Rhand1 -parent NADE_ATTACHER Rhand1 -parent CHAINSAW_ATTACHER Rhand1 -parent RL_ATTACHER Lhand1 -parent FL_ATTACHER Rhand1 -parent BFG_ATTACHER Rhand1 -parent CHAINGUN_ATTACHER Rhand -parent headcontrol neckcontrol -parent neckcontrol loneckcontrol -parent loneckcontrol Shoulders -parent PDA_ATTACHER Rhand -parent SOUL_ATTACHER Rhand + + addoptions -keepmesh head_skullmesh + addoptions -keepmesh skeletonmesh + addoptions -keepmesh marinehelmetmesh + addoptions -keepmesh head_uachelmetmesh + addoptions -keepmesh marinebodymesh + addoptions -keepmesh head_bfx1mesh + addoptions -keepmesh head_bfx2mesh + addoptions -keepmesh head_bfx3mesh + addoptions -keepmesh head_bfx4mesh + addoptions -keepmesh head_bfxflamemesh + addoptions -keepmesh head_bfxmodelmesh + addoptions -keepmesh head_stumpmesh + addoptions -keepmesh berserkbodyfxmesh + + mesh models/characters/male_npc/cycles/tweakedplayermoves/makemesh.mb -dest models/md5/characters/npcs/playermoves/mpplayer + +// anim models/characters/male_npc/cycles/tweakedplayermoves/walk_strafe_left_new.mb -rotate 180 -dest models/md5/characters/npcs/playermoves/walk_strafe_left_new + anim models/characters/male_npc/cycles/tweakedplayermoves/jog.mb -rotate 90 -dest models/md5/characters/npcs/playermoves/jog + anim models/characters/male_npc/cycles/tweakedplayermoves/jog_back.mb -rotate 90 -dest models/md5/characters/npcs/playermoves/jog_back + anim models/characters/male_npc/cycles/tweakedplayermoves/crouch_walk.mb -rotate -90 -dest models/md5/characters/npcs/playermoves/crouch_walk + anim models/characters/male_npc/cycles/tweakedplayermoves/crouch_walk_back.mb -cyclestart 23 -rotate -90 -dest models/md5/characters/npcs/playermoves/crouch_walk_back + anim models/characters/male_npc/cycles/tweakedplayermoves/newrun.mb -rotate -90 -dest models/md5/characters/npcs/playermoves/newrun + + + + anim models/characters/male_npc/cycles/tweakedplayermoves/walk_strafe_left4.mb -cycleStart 56 -dest models/md5/characters/npcs/playermoves/walk_strafe_left + anim models/characters/male_npc/cycles/tweakedplayermoves/walk_strafe_right4.mb -cycleStart 56 -dest models/md5/characters/npcs/playermoves/walk_strafe_right + + anim models/characters/male_npc/cycles/tweakedplayermoves/run_strafe_left2.mb -cycleStart 47 -dest models/md5/characters/npcs/playermoves/run_strafe_left + anim models/characters/male_npc/cycles/tweakedplayermoves/run_strafe_right2.mb -cycleStart 47 -dest models/md5/characters/npcs/playermoves/run_strafe_right + + + addoptions -align ALL + + mesh models/characters/male_npc/cycles/tweakedplayermoves/makemesh.mb -dest models/md5/characters/npcs/playermoves/npcplayer + anim models/characters/male_npc/cycles/tweakedplayermoves/initial.mb -dest models/md5/characters/npcs/playermoves/initial + anim models/characters/player/mocap/idle_stand.mb -dest models/md5/characters/npcs/playermoves/idle_stand + + anim models/characters/male_npc/cycles/tweakedplayermoves/walk_100.mb -dest models/md5/characters/npcs/playermoves/walk_forward + + anim models/characters/player/mocap/walk_backwards_100.mb -dest models/md5/characters/npcs/playermoves/walk_backwards_100 + anim models/characters/male_npc/cycles/tweakedplayermoves/walk_jump.mb -range 46 76 -dest models/md5/characters/npcs/playermoves/walkjump1 + //anim models/characters/male_npc/cycles/tweakedplayermoves/walk_jump.mb -range 77 107 -dest models/md5/characters/npcs/playermoves/walkjump2 + anim models/characters/male_npc/cycles/tweakedplayermoves/soft_land.mb -range 109 116 -dest models/md5/characters/npcs/playermoves/soft_land + anim models/characters/male_npc/cycles/tweakedplayermoves/hard_land.mb -range 93 119 -dest models/md5/characters/npcs/playermoves/hard_land + anim models/characters/male_npc/cycles/tweakedplayermoves/fall.mb -dest models/md5/characters/npcs/playermoves/fall + + + anim models/characters/male_npc/cycles/tweakedplayermoves/pda_idle.mb -dest models/md5/characters/npcs/playermoves/pda_idle + + anim models/characters/male_npc/cycles/tweakedplayermoves/upladder.mb -dest models/md5/characters/npcs/playermoves/upladder + + + anim models/characters/male_npc/cycles/tweakedplayermoves/run270.mb -dest models/md5/characters/npcs/playermoves/run_270 + anim models/characters/male_npc/cycles/tweakedplayermoves/run.mb -cycleStart 72 -dest models/md5/characters/npcs/playermoves/run + anim models/characters/male_npc/cycles/tweakedplayermoves/run320.mb -rotate -90 -dest models/md5/characters/npcs/playermoves/run_320 + anim models/characters/male_npc/cycles/tweakedplayermoves/run192.mb -rotate 180 -dest models/md5/characters/npcs/playermoves/run_192 + anim models/characters/male_npc/cycles/tweakedplayermoves/run_backwards.mb -dest models/md5/characters/npcs/playermoves/run_backwards + anim models/characters/male_npc/cycles/tweakedplayermoves/runbackwards_270.mb -dest models/md5/characters/npcs/playermoves/run_backwards_270 + + anim models/characters/male_npc/cycles/tweakedplayermoves/turn_left.mb -dest models/md5/characters/npcs/playermoves/turn_left + anim models/characters/male_npc/cycles/tweakedplayermoves/turn_right.mb -dest models/md5/characters/npcs/playermoves/turn_right + + anim models/characters/male_npc/cycles/tweakedplayermoves/teleportin.mb -range 80 110 -dest models/md5/characters/npcs/playermoves/teleportin + + anim models/characters/male_npc/cycles/tweakedplayermoves/fredpains.mb -range 1 20 -dest models/md5/characters/npcs/playermoves/painhead + anim models/characters/male_npc/cycles/tweakedplayermoves/fredpains.mb -range 21 40 -dest models/md5/characters/npcs/playermoves/painleftarm + anim models/characters/male_npc/cycles/tweakedplayermoves/fredpains.mb -range 41 60 -dest models/md5/characters/npcs/playermoves/painrightarm + anim models/characters/male_npc/cycles/tweakedplayermoves/fredpains.mb -range 61 80 -dest models/md5/characters/npcs/playermoves/painchest + + anim models/characters/male_npc/cycles/tweakedplayermoves/crouch_down.mb -dest models/md5/characters/npcs/playermoves/crouch_down + anim models/characters/male_npc/cycles/tweakedplayermoves/crouch.mb -dest models/md5/characters/npcs/playermoves/crouch + anim models/characters/male_npc/cycles/tweakedplayermoves/crouch_up.mb -dest models/md5/characters/npcs/playermoves/crouch_up + + anim models/characters/player/mocap/crouch_walk_forward.mb -dest models/md5/characters/npcs/playermoves/crouch_walk_forward + anim models/characters/player/mocap/crouch_walk_backward.mb -dest models/md5/characters/npcs/playermoves/crouch_walk_backward + + anim models/characters/male_npc/cycles/tweakedplayermoves/lower_raise.mb -range 1 6 -dest models/md5/characters/npcs/playermoves/lowerwep + anim models/characters/male_npc/cycles/tweakedplayermoves/lower_raise.mb -range 6 20 -dest models/md5/characters/npcs/playermoves/raisewep + + anim models/characters/male_npc/cycles/tweakedplayermoves/lower_raise_left.mb -range 1 6 -dest models/md5/characters/npcs/playermoves/lowerwep_left + anim models/characters/male_npc/cycles/tweakedplayermoves/lower_raise_left.mb -range 6 20 -dest models/md5/characters/npcs/playermoves/raisewep_left + + anim models/characters/male_npc/cycles/tweakedplayermoves/pda_lower.mb -range 1 10 -dest models/md5/characters/npcs/playermoves/lowerpda + anim models/characters/male_npc/cycles/tweakedplayermoves/pda_raise.mb -range 1 20 -dest models/md5/characters/npcs/playermoves/raisepda + + + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_idle_down.mb -dest models/md5/characters/npcs/playermoves/fists_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_idle.mb -dest models/md5/characters/npcs/playermoves/fists_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_idle_up.mb -dest models/md5/characters/npcs/playermoves/fists_idle_up + + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_aim_down.mb -dest models/md5/characters/npcs/playermoves/fists_aim_down + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_aim.mb -dest models/md5/characters/npcs/playermoves/fists_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_aim_up.mb -dest models/md5/characters/npcs/playermoves/fists_aim_up + + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_punch_up.mb -range 37 53 -dest models/md5/characters/npcs/playermoves/fists_punch_up1 + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_punch.mb -range 37 53 -dest models/md5/characters/npcs/playermoves/fists_punch1 + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_punch_down.mb -range 37 53 -dest models/md5/characters/npcs/playermoves/fists_punch_down1 + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_punch_up2.mb -range 138 153 -dest models/md5/characters/npcs/playermoves/fists_punch_up2 + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_punch.mb -range 138 153 -dest models/md5/characters/npcs/playermoves/fists_punch2 + anim models/characters/male_npc/cycles/tweakedplayermoves/fists_punch_down.mb -range 138 153 -dest models/md5/characters/npcs/playermoves/fists_punch_down2 + + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_idle3_down.mb -dest models/md5/characters/npcs/playermoves/pistol_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_idle3.mb -dest models/md5/characters/npcs/playermoves/pistol_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_idle3_up.mb -dest models/md5/characters/npcs/playermoves/pistol_idle_up + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_aim_up.mb -dest models/md5/characters/npcs/playermoves/pistol_aim_up + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_aim.mb -dest models/md5/characters/npcs/playermoves/pistol_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_aim_down.mb -dest models/md5/characters/npcs/playermoves/pistol_aim_down + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_fire.mb -range 35 58 -dest models/md5/characters/npcs/playermoves/pistol_fire1 + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_fire_up.mb -range 35 58 -dest models/md5/characters/npcs/playermoves/pistol_fire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_fire_down.mb -range 35 58 -dest models/md5/characters/npcs/playermoves/pistol_fire_down + anim models/characters/male_npc/cycles/tweakedplayermoves/pistol_reload.mb -dest models/md5/characters/npcs/playermoves/pistol_reload + + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_idle_down.mb -dest models/md5/characters/npcs/playermoves/shotgun_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_idle.mb -dest models/md5/characters/npcs/playermoves/shotgun_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_idle_up.mb -dest models/md5/characters/npcs/playermoves/shotgun_idle_up + + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_aim_up.mb -dest models/md5/characters/npcs/playermoves/shotgun_aim_up + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_aim.mb -dest models/md5/characters/npcs/playermoves/shotgun_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_aim_down.mb -dest models/md5/characters/npcs/playermoves/shotgun_aim_down + + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_fire.mb -range 49 75 -dest models/md5/characters/npcs/playermoves/shotgun_fire1 + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_fire_up.mb -range 49 75 -dest models/md5/characters/npcs/playermoves/shotgun_fire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_fire_down.mb -range 49 75 -dest models/md5/characters/npcs/playermoves/shotgun_fire_down + + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_reload2.mb -range 36 46 -dest models/md5/characters/npcs/playermoves/shotgun_reload_start + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_reload2_loopfast.mb -range 56 67 -dest models/md5/characters/npcs/playermoves/shotgun_reload_loop1 + anim models/characters/male_npc/cycles/tweakedplayermoves/shotgun_reload2.mb -range 124 148 -dest models/md5/characters/npcs/playermoves/shotgun_reload_end + + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_idle_down.mb -dest models/md5/characters/npcs/playermoves/machinegun_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_idle.mb -dest models/md5/characters/npcs/playermoves/machinegun_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_idle_up.mb -dest models/md5/characters/npcs/playermoves/machinegun_idle_up + + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_aim_up.mb -dest models/md5/characters/npcs/playermoves/machinegun_aim_up + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_aim.mb -dest models/md5/characters/npcs/playermoves/machinegun_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_aim_down.mb -dest models/md5/characters/npcs/playermoves/machinegun_aim_down + + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_fire_up.mb -range 53 62 -dest models/md5/characters/npcs/playermoves/machinegun_fire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_fire.mb -range 53 62 -dest models/md5/characters/npcs/playermoves/machinegun_fire1 + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_fire_down.mb -range 53 62 -dest models/md5/characters/npcs/playermoves/machinegun_fire_down + + anim models/characters/male_npc/cycles/tweakedplayermoves/machinegun_reload.mb -dest models/md5/characters/npcs/playermoves/machinegun_reload + + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_idle_up.mb -dest models/md5/characters/npcs/playermoves/nade_idle_up + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_idle.mb -dest models/md5/characters/npcs/playermoves/nade_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_idle_down.mb -dest models/md5/characters/npcs/playermoves/nade_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_quickthrow_up.mb -dest models/md5/characters/npcs/playermoves/nade_quickthrow_up + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_quickthrow.mb -dest models/md5/characters/npcs/playermoves/nade_quickthrow + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_quickthrow_down.mb -dest models/md5/characters/npcs/playermoves/nade_quickthrow_down + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_start_up.mb -dest models/md5/characters/npcs/playermoves/nade_throwstart_up + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_start.mb -dest models/md5/characters/npcs/playermoves/nade_throwstart + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_start_down.mb -dest models/md5/characters/npcs/playermoves/nade_throwstart_down + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_throw_up.mb -dest models/md5/characters/npcs/playermoves/nade_throw_up + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_throw.mb -dest models/md5/characters/npcs/playermoves/nade_throw + anim models/characters/male_npc/cycles/tweakedplayermoves/grenade_throw_down.mb -dest models/md5/characters/npcs/playermoves/nade_throw_down + + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_aim_down.mb -dest models/md5/characters/npcs/playermoves/flashlight_aim_down + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_aim_up.mb -dest models/md5/characters/npcs/playermoves/flashlight_aim_up + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_idle.mb -dest models/md5/characters/npcs/playermoves/flashlight_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_swing1_down.mb -dest models/md5/characters/npcs/playermoves/flashlight_swing1_down + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_swing1.mb -dest models/md5/characters/npcs/playermoves/flashlight_swing1 + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_swing1_up.mb -dest models/md5/characters/npcs/playermoves/flashlight_swing1_up + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_swing2_down.mb -dest models/md5/characters/npcs/playermoves/flashlight_swing2_down + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_swing2.mb -dest models/md5/characters/npcs/playermoves/flashlight_swing2 + anim models/characters/male_npc/cycles/tweakedplayermoves/flashlight_swing2_up.mb -dest models/md5/characters/npcs/playermoves/flashlight_swing2_up + + anim models/characters/male_npc/cycles/tweakedplayermoves/chainsaw_raise.mb -dest models/md5/characters/npcs/playermoves/chainsaw_raise + anim models/characters/male_npc/cycles/tweakedplayermoves/chainsaw_idle2_up.mb -dest models/md5/characters/npcs/playermoves/chainsaw_idle_up + anim models/characters/male_npc/cycles/tweakedplayermoves/chainsaw_idle2.mb -dest models/md5/characters/npcs/playermoves/chainsaw_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/chainsaw_idle2_down.mb -dest models/md5/characters/npcs/playermoves/chainsaw_idle_down + anim models/characters/player/mocap/chainsaw_aim.mb -dest models/md5/characters/npcs/playermoves/chainsaw_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/chainsaw_fire1_up.mb -dest models/md5/characters/npcs/playermoves/chainsaw_fire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/chainsaw_fire1.mb -dest models/md5/characters/npcs/playermoves/chainsaw_fire + anim models/characters/male_npc/cycles/tweakedplayermoves/chainsaw_fire1_down.mb -dest models/md5/characters/npcs/playermoves/chainsaw_fire_down + + + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_idle_down.mb -dest models/md5/characters/npcs/playermoves/plasmagun_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_idle.mb -dest models/md5/characters/npcs/playermoves/plasmagun_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_idle_up.mb -dest models/md5/characters/npcs/playermoves/plasmagun_idle_up + + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_aim_up.mb -dest models/md5/characters/npcs/playermoves/plasmagun_aim_up + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_aim.mb -dest models/md5/characters/npcs/playermoves/plasmagun_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_aim_down.mb -dest models/md5/characters/npcs/playermoves/plasmagun_aim_down + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_fire_up.mb -range 53 62 -dest models/md5/characters/npcs/playermoves/plasmagun_fire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_fire.mb -range 53 62 -dest models/md5/characters/npcs/playermoves/plasmagun_fire1 + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_fire_down.mb -range 53 62 -dest models/md5/characters/npcs/playermoves/plasmagun_fire_down + + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_fire.mb -range 67 79 -dest models/md5/characters/npcs/playermoves/plasmagun_fire2 + anim models/characters/male_npc/cycles/tweakedplayermoves/plasmagun_fire.mb -range 80 92 -dest models/md5/characters/npcs/playermoves/plasmagun_fire3 + + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_idle_down.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_idle.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_idle_up.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_idle_up + + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_aim_up.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_aim_up + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_aim.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_aim_down.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_aim_down + + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_fire_up.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_fire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_fire.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_fire + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_fire_down.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_fire_down + anim models/characters/male_npc/cycles/tweakedplayermoves/rocketlauncher_reload.mb -dest models/md5/characters/npcs/playermoves/rocketlauncher_reload + + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_idle_up.mb -dest models/md5/characters/npcs/playermoves/bfg_idle_up + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_idle.mb -dest models/md5/characters/npcs/playermoves/bfg_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_idle_down.mb -dest models/md5/characters/npcs/playermoves/bfg_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_aim_up.mb -dest models/md5/characters/npcs/playermoves/bfg_aim_up + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_aim.mb -dest models/md5/characters/npcs/playermoves/bfg_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_aim_down.mb -dest models/md5/characters/npcs/playermoves/bfg_aim_down + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_fire_up.mb -range 1 140 -dest models/md5/characters/npcs/playermoves/bfg_startfire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_fire_up.mb -range 141 167 -dest models/md5/characters/npcs/playermoves/bfg_fire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_fire.mb -range 1 140 -dest models/md5/characters/npcs/playermoves/bfg_startfire + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_fire.mb -range 141 167 -dest models/md5/characters/npcs/playermoves/bfg_fire + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_fire_down.mb -range 1 140 -dest models/md5/characters/npcs/playermoves/bfg_startfire_down + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_fire_down.mb -range 141 167 -dest models/md5/characters/npcs/playermoves/bfg_fire_down + + anim models/characters/male_npc/cycles/tweakedplayermoves/bfg_reload.mb -dest models/md5/characters/npcs/playermoves/bfg_reload + + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_idle_up.mb -dest models/md5/characters/npcs/playermoves/chaingun_idle_up + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_idle.mb -dest models/md5/characters/npcs/playermoves/chaingun_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_idle_down.mb -dest models/md5/characters/npcs/playermoves/chaingun_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_aim_up.mb -dest models/md5/characters/npcs/playermoves/chaingun_aim_up + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_aim.mb -dest models/md5/characters/npcs/playermoves/chaingun_aim + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_aim_down.mb -dest models/md5/characters/npcs/playermoves/chaingun_aim_down + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_fire_up.mb -dest models/md5/characters/npcs/playermoves/chaingun_fire_up + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_fire.mb -dest models/md5/characters/npcs/playermoves/chaingun_fire + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_fire_down.mb-dest models/md5/characters/npcs/playermoves/chaingun_fire_down + anim models/characters/male_npc/cycles/tweakedplayermoves/chaingun_reload.mb -dest models/md5/characters/npcs/playermoves/chaingun_reload + + anim models/characters/male_npc/cycles/tweakedplayermoves/soulcube_idle_up.mb -dest models/md5/characters/npcs/playermoves/soulcube_idle_up + anim models/characters/male_npc/cycles/tweakedplayermoves/soulcube_idle.mb -dest models/md5/characters/npcs/playermoves/soulcube_idle + anim models/characters/male_npc/cycles/tweakedplayermoves/soulcube_idle_down.mb -dest models/md5/characters/npcs/playermoves/soulcube_idle_down + anim models/characters/male_npc/cycles/tweakedplayermoves/soulcube_fire.mb -dest models/md5/characters/npcs/playermoves/soulcube_fire + + +} + +/*********************************************************************** + + single player model + +***********************************************************************/ + +model model_sp_marine { + skin skins/characters/player/greenmarine.skin + + offset ( 0 0 1 ) + + mesh models/md5/characters/npcs/playermoves/spplayer.md5mesh + + channel torso ( *Waist ) + channel legs ( *origin -*Waist SPINNER eyecontrol) + + anim af_pose models/md5/characters/npcs/playermoves/initial.md5anim + anim ik_pose models/md5/characters/npcs/playermoves/initial.md5anim + anim initial models/md5/characters/npcs/playermoves/initial.md5anim + + anim teleport models/md5/characters/npcs/playermoves/teleportin.md5anim + anim exit models/md5/characters/npcs/playermoves/exit_teleporter.md5anim + + anim idle models/md5/characters/npcs/playermoves/fists_idle.md5anim + anim crouch_down models/md5/characters/npcs/playermoves/crouch_down.md5anim + anim crouch models/md5/characters/npcs/playermoves/crouch.md5anim + anim crouch_up models/md5/characters/npcs/playermoves/crouch_up.md5anim + anim crouch_walk models/md5/characters/npcs/playermoves/crouch_walk.md5anim + anim crouch_walk_backwards models/md5/characters/npcs/playermoves/crouch_walk_back.md5anim + + anim walk models/md5/characters/npcs/playermoves/jog.md5anim { + frame 2 leftfoot + frame 11 rightfoot + } + anim walk_backwards models/md5/characters/npcs/playermoves/jog_back.md5anim { + frame 6 rightfoot + frame 15 leftfoot + } + + anim walk_strafe_left models/md5/characters/npcs/playermoves/walk_strafe_left.md5anim { + frame 4 rightfoot + frame 11 leftfoot + frame 17 rightfoot + frame 25 leftfoot + } + + anim walk_strafe_right models/md5/characters/npcs/playermoves/walk_strafe_right.md5anim { + frame 3 rightfoot + frame 10 leftfoot + frame 17 rightfoot + frame 25 leftfoot + } + + + //anim run_forward models/md5/characters/npcs/playermoves/newrun.md5anim + //{ + // frame 10 rightfoot + // frame 19 leftfoot + //} + + anim run_forward models/md5/characters/npcs/playermoves/run.md5anim { + frame 8 leftfoot + frame 17 rightfoot + } + + anim run_backwards models/md5/characters/npcs/playermoves/run_backwards_270.md5anim { + prevent_idle_override + frame 7 rightfoot + frame 14 leftfoot + frame 21 rightfoot + frame 27 leftfoot + } + anim run_strafe_left models/md5/characters/npcs/playermoves/run_strafe_left.md5anim { + prevent_idle_override + frame 4 rightfoot + frame 7 leftfoot + frame 18 rightfoot + frame 21 leftfoot + } + anim run_strafe_right models/md5/characters/npcs/playermoves/run_strafe_right.md5anim { + prevent_idle_override + frame 5 leftfoot + frame 8 rightfoot + frame 18 leftfoot + frame 20 rightfoot + } + anim jump models/md5/characters/npcs/playermoves/walkjump1.md5anim { + prevent_idle_override + frame 1 sound_body player_sounds_jump_small + } + anim run_jump models/md5/characters/npcs/playermoves/walkjump1.md5anim { + prevent_idle_override + frame 1 sound_body player_sounds_jump + } + anim soft_land models/md5/characters/npcs/playermoves/soft_land.md5anim { + prevent_idle_override + frame 1 sound_voice2 snd_land_soft + frame 1 leftfoot + frame 3 rightfoot + } + anim hard_land models/md5/characters/npcs/playermoves/hard_land.md5anim { + prevent_idle_override + frame 1 sound_voice2 snd_land_hard + frame 1 leftfoot + frame 3 rightfoot + } + anim fall models/md5/characters/npcs/playermoves/fall.md5anim { + prevent_idle_override + } + anim turn_left models/md5/characters/npcs/playermoves/turn_left.md5anim { + prevent_idle_override + } + anim turn_right models/md5/characters/npcs/playermoves/turn_right.md5anim { + prevent_idle_override + } + anim pain models/md5/characters/npcs/playermoves/painchest.md5anim { + prevent_idle_override + } + anim pain_head models/md5/characters/npcs/playermoves/painhead.md5anim { + prevent_idle_override + } + + anim pain_right_arm models/md5/characters/npcs/playermoves/painrightarm.md5anim { + prevent_idle_override + } + + anim pain_left_arm models/md5/characters/npcs/playermoves/painleftarm.md5anim { + prevent_idle_override + } + + anim pain_chest models/md5/characters/npcs/playermoves/painchest.md5anim { + prevent_idle_override + } + + anim pda_raise models/md5/characters/npcs/playermoves/raisepda.md5anim + anim pda_idle models/md5/characters/npcs/playermoves/pda_idle.md5anim + anim pda_lower models/md5/characters/npcs/playermoves/lowerpda.md5anim + + anim fists_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim fists_idle models/md5/characters/npcs/playermoves/fists_idle_down.md5anim, models/md5/characters/npcs/playermoves/fists_idle.md5anim, models/md5/characters/npcs/playermoves/fists_idle_up.md5anim + anim fists_aim models/md5/characters/npcs/playermoves/fists_aim_down.md5anim, models/md5/characters/npcs/playermoves/fists_aim.md5anim, models/md5/characters/npcs/playermoves/fists_aim_up.md5anim + anim fists_punch_right models/md5/characters/npcs/playermoves/fists_punch_down1.md5anim, models/md5/characters/npcs/playermoves/fists_punch1.md5anim, models/md5/characters/npcs/playermoves/fists_punch_up1.md5anim + anim fists_punch_left models/md5/characters/npcs/playermoves/fists_punch_down2.md5anim, models/md5/characters/npcs/playermoves/fists_punch2.md5anim, models/md5/characters/npcs/playermoves/fists_punch_up2.md5anim + anim fists_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + anim pistol_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim pistol_idle models/md5/characters/npcs/playermoves/pistol_idle_down.md5anim, models/md5/characters/npcs/playermoves/pistol_idle.md5anim, models/md5/characters/npcs/playermoves/pistol_idle_up.md5anim + anim pistol_aim models/md5/characters/npcs/playermoves/pistol_aim_down.md5anim, models/md5/characters/npcs/playermoves/pistol_aim.md5anim, models/md5/characters/npcs/playermoves/pistol_aim_up.md5anim + anim pistol_fire1 models/md5/characters/npcs/playermoves/pistol_fire_down.md5anim, models/md5/characters/npcs/playermoves/pistol_fire1.md5anim, models/md5/characters/npcs/playermoves/pistol_fire_up.md5anim + anim pistol_reload models/md5/characters/npcs/playermoves/pistol_reload.md5anim + anim pistol_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + anim shotgun_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + + anim shotgun_idle models/md5/characters/npcs/playermoves/shotgun_idle_down.md5anim, models/md5/characters/npcs/playermoves/shotgun_idle.md5anim, models/md5/characters/npcs/playermoves/shotgun_idle_up.md5anim + anim shotgun_aim models/md5/characters/npcs/playermoves/shotgun_aim_down.md5anim, models/md5/characters/npcs/playermoves/shotgun_aim.md5anim, models/md5/characters/npcs/playermoves/shotgun_aim_up.md5anim + anim shotgun_fire1 models/md5/characters/npcs/playermoves/shotgun_fire_down.md5anim, models/md5/characters/npcs/playermoves/shotgun_fire1.md5anim, models/md5/characters/npcs/playermoves/shotgun_fire_up.md5anim + anim shotgun_reload_start models/md5/characters/npcs/playermoves/shotgun_reload_start.md5anim + anim shotgun_reload_loop models/md5/characters/npcs/playermoves/shotgun_reload_loop1.md5anim + anim shotgun_reload_end models/md5/characters/npcs/playermoves/shotgun_reload_end.md5anim + anim shotgun_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + anim machinegun_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim machinegun_idle models/md5/characters/npcs/playermoves/machinegun_idle_down.md5anim, models/md5/characters/npcs/playermoves/machinegun_idle.md5anim, models/md5/characters/npcs/playermoves/machinegun_idle_up.md5anim + anim machinegun_aim models/md5/characters/npcs/playermoves/machinegun_aim_down.md5anim, models/md5/characters/npcs/playermoves/machinegun_aim.md5anim, models/md5/characters/npcs/playermoves/machinegun_aim_up.md5anim + anim machinegun_fire1 models/md5/characters/npcs/playermoves/machinegun_fire_down.md5anim, models/md5/characters/npcs/playermoves/machinegun_fire1.md5anim, models/md5/characters/npcs/playermoves/machinegun_fire_up.md5anim + anim machinegun_reload models/md5/characters/npcs/playermoves/machinegun_reload.md5anim + anim machinegun_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + anim chaingun_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim chaingun_idle models/md5/characters/npcs/playermoves/chaingun_idle_down.md5anim, models/md5/characters/npcs/playermoves/chaingun_idle.md5anim, models/md5/characters/npcs/playermoves/chaingun_idle_up.md5anim + anim chaingun_aim models/md5/characters/npcs/playermoves/chaingun_idle_down.md5anim, models/md5/characters/npcs/playermoves/chaingun_idle.md5anim, models/md5/characters/npcs/playermoves/chaingun_idle_up.md5anim + anim chaingun_fire models/md5/characters/npcs/playermoves/chaingun_fire_down.md5anim, models/md5/characters/npcs/playermoves/chaingun_fire.md5anim, models/md5/characters/npcs/playermoves/chaingun_fire_up.md5anim + anim chaingun_reload models/md5/characters/npcs/playermoves/chaingun_reload.md5anim + anim chaingun_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + + anim plasmagun_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim plasmagun_idle models/md5/characters/npcs/playermoves/plasmagun_idle_down.md5anim, models/md5/characters/npcs/playermoves/plasmagun_idle.md5anim, models/md5/characters/npcs/playermoves/plasmagun_idle_up.md5anim + anim plasmagun_aim models/md5/characters/npcs/playermoves/plasmagun_aim_down.md5anim, models/md5/characters/npcs/playermoves/plasmagun_aim.md5anim, models/md5/characters/npcs/playermoves/plasmagun_aim_up.md5anim + anim plasmagun_fire1 models/md5/characters/npcs/playermoves/plasmagun_fire_down.md5anim, models/md5/characters/npcs/playermoves/plasmagun_fire1.md5anim, models/md5/characters/npcs/playermoves/plasmagun_fire_up.md5anim + + anim plasmagun_reload models/md5/characters/npcs/playermoves/machinegun_reload.md5anim + anim plasmagun_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + anim handgrenade_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim handgrenade_idle models/md5/characters/npcs/playermoves/nade_idle_down.md5anim, models/md5/characters/npcs/playermoves/nade_idle.md5anim, models/md5/characters/npcs/playermoves/nade_idle_up.md5anim + anim handgrenade_aim models/md5/characters/npcs/playermoves/nade_idle_down.md5anim, models/md5/characters/npcs/playermoves/nade_idle.md5anim, models/md5/characters/npcs/playermoves/nade_idle_up.md5anim + anim handgrenade_throw_quick models/md5/characters/npcs/playermoves/nade_quickthrow_down.md5anim, models/md5/characters/npcs/playermoves/nade_quickthrow.md5anim, models/md5/characters/npcs/playermoves/nade_quickthrow_up.md5anim + anim handgrenade_throw_start models/md5/characters/npcs/playermoves/nade_throwstart_down.md5anim, models/md5/characters/npcs/playermoves/nade_throwstart.md5anim, models/md5/characters/npcs/playermoves/nade_throwstart_up.md5anim + anim handgrenade_throw models/md5/characters/npcs/playermoves/nade_throw_down.md5anim, models/md5/characters/npcs/playermoves/nade_throw.md5anim, models/md5/characters/npcs/playermoves/nade_throw_up.md5anim + + anim handgrenade_startfire models/md5/characters/npcs/playermoves/nade_throwstart_down.md5anim, models/md5/characters/npcs/playermoves/nade_throwstart.md5anim, models/md5/characters/npcs/playermoves/nade_throwstart_up.md5anim + anim handgrenade_fire models/md5/characters/npcs/playermoves/nade_throw_down.md5anim, models/md5/characters/npcs/playermoves/nade_throw.md5anim, models/md5/characters/npcs/playermoves/nade_throw_up.md5anim + anim handgrenade_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + anim chainsaw_raise models/md5/characters/npcs/playermoves/chainsaw_raise.md5anim + anim chainsaw_idle models/md5/characters/npcs/playermoves/chainsaw_idle_down.md5anim, models/md5/characters/npcs/playermoves/chainsaw_idle.md5anim, models/md5/characters/npcs/playermoves/chainsaw_idle_up.md5anim + anim chainsaw_aim models/md5/characters/npcs/playermoves/chainsaw_idle_down.md5anim, models/md5/characters/npcs/playermoves/chainsaw_idle.md5anim, models/md5/characters/npcs/playermoves/chainsaw_idle_up.md5anim + anim chainsaw_fire models/md5/characters/npcs/playermoves/chainsaw_fire_down.md5anim, models/md5/characters/npcs/playermoves/chainsaw_fire.md5anim, models/md5/characters/npcs/playermoves/chainsaw_fire_up.md5anim + anim chainsaw_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + anim rocketlauncher_raise models/md5/characters/npcs/playermoves/raisewep_left.md5anim + anim rocketlauncher_idle models/md5/characters/npcs/playermoves/rocketlauncher_idle_down.md5anim, models/md5/characters/npcs/playermoves/rocketlauncher_idle.md5anim, models/md5/characters/npcs/playermoves/rocketlauncher_idle_up.md5anim + anim rocketlauncher_aim models/md5/characters/npcs/playermoves/rocketlauncher_aim_down.md5anim, models/md5/characters/npcs/playermoves/rocketlauncher_aim.md5anim, models/md5/characters/npcs/playermoves/rocketlauncher_aim_up.md5anim + anim rocketlauncher_fire models/md5/characters/npcs/playermoves/rocketlauncher_fire_down.md5anim, models/md5/characters/npcs/playermoves/rocketlauncher_fire.md5anim, models/md5/characters/npcs/playermoves/rocketlauncher_fire_up.md5anim + anim rocketlauncher_reload models/md5/characters/npcs/playermoves/rocketlauncher_reload.md5anim + anim rocketlauncher_lower models/md5/characters/npcs/playermoves/lowerwep_left.md5anim + + anim flashlight_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim flashlight_idle models/md5/characters/npcs/playermoves/flashlight_aim_down.md5anim, models/md5/characters/npcs/playermoves/flashlight_idle.md5anim, models/md5/characters/npcs/playermoves/flashlight_aim_up.md5anim + anim flashlight_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + anim flashlight_aim models/md5/characters/npcs/playermoves/flashlight_aim_down.md5anim, models/md5/characters/npcs/playermoves/flashlight_idle.md5anim, models/md5/characters/npcs/playermoves/flashlight_aim_up.md5anim + anim flashlight_fire1 models/md5/characters/npcs/playermoves/flashlight_swing1_down.md5anim, models/md5/characters/npcs/playermoves/flashlight_swing1.md5anim, models/md5/characters/npcs/playermoves/flashlight_swing1_up.md5anim + anim flashlight_fire2 models/md5/characters/npcs/playermoves/flashlight_swing2_down.md5anim, models/md5/characters/npcs/playermoves/flashlight_swing2.md5anim, models/md5/characters/npcs/playermoves/flashlight_swing2_up.md5anim + + + anim bfg_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim bfg_idle models/md5/characters/npcs/playermoves/bfg_idle_down.md5anim, models/md5/characters/npcs/playermoves/bfg_idle.md5anim, models/md5/characters/npcs/playermoves/bfg_idle_up.md5anim + anim bfg_aim models/md5/characters/npcs/playermoves/bfg_aim_down.md5anim, models/md5/characters/npcs/playermoves/bfg_aim.md5anim, models/md5/characters/npcs/playermoves/bfg_aim_up.md5anim + anim bfg_startfire models/md5/characters/npcs/playermoves/bfg_startfire_down.md5anim, models/md5/characters/npcs/playermoves/bfg_startfire.md5anim, models/md5/characters/npcs/playermoves/bfg_startfire_up.md5anim + anim bfg_fire models/md5/characters/npcs/playermoves/bfg_fire_down.md5anim, models/md5/characters/npcs/playermoves/bfg_fire.md5anim, models/md5/characters/npcs/playermoves/bfg_fire_up.md5anim + anim bfg_reload models/md5/characters/npcs/playermoves/bfg_reload.md5anim + anim bfg_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim + + anim soulcube_raise models/md5/characters/npcs/playermoves/raisewep.md5anim + anim soulcube_idle models/md5/characters/npcs/playermoves/soulcube_idle_down.md5anim, models/md5/characters/npcs/playermoves/soulcube_idle.md5anim, models/md5/characters/npcs/playermoves/soulcube_idle_up.md5anim + anim soulcube_aim models/md5/characters/npcs/playermoves/soulcube_idle_down.md5anim, models/md5/characters/npcs/playermoves/soulcube_idle.md5anim, models/md5/characters/npcs/playermoves/soulcube_idle_up.md5anim + anim soulcube_fire models/md5/characters/npcs/playermoves/soulcube_fire.md5anim, models/md5/characters/npcs/playermoves/soulcube_fire.md5anim, models/md5/characters/npcs/playermoves/soulcube_fire.md5anim + anim soulcube_lower models/md5/characters/npcs/playermoves/lowerwep.md5anim +} + +/*********************************************************************** + + player_base + + shared by player_doommarine and player_doommarine_mp + +***********************************************************************/ + +entityDef player_base { + "spawnclass" "idPlayer" + "scriptobject" "ai" + + "hud" "guis/hud.gui" + "mphud" "guis/mphud.gui" + "cursor" "guis/cursor.gui" + + "blink_min" "2.5" + "blink_max" "8.0" + + // weapon slots + "def_weapon0" "weapon_fists" + "weapon0_best" "0" // whether weapon should be chosen when out of ammo + "weapon0_cycle" "1" // whether weapon should be selected when using next/prev weapon + "weapon0_toggle" "0" // whether selecting weapon twice switches between current and previous weapons + "weapon0_allowempty" "1" // whether you can select the weapon when it's out of ammo + + "def_weapon1" "weapon_pistol" + "weapon1_best" "1" + "weapon1_cycle" "1" + "weapon1_toggle" "0" + "weapon1_allowempty" "1" + + "def_weapon2" "weapon_shotgun" + "weapon2_best" "1" + "weapon2_cycle" "1" + "weapon2_toggle" "0" + "weapon2_allowempty" "1" + + "def_weapon3" "weapon_machinegun" + "weapon3_best" "1" + "weapon3_cycle" "1" + "weapon3_toggle" "0" + "weapon3_allowempty" "1" + + "def_weapon4" "weapon_chaingun" + "weapon4_best" "1" + "weapon4_cycle" "1" + "weapon4_toggle" "0" + "weapon4_allowempty" "1" + + "def_weapon5" "weapon_handgrenade" + "weapon5_best" "0" + "weapon5_cycle" "1" + "weapon5_toggle" "0" + "weapon5_allowempty" "0" + + "def_weapon6" "weapon_plasmagun" + "weapon6_best" "1" + "weapon6_cycle" "1" + "weapon6_toggle" "0" + "weapon6_allowempty" "1" + + "def_weapon7" "weapon_rocketlauncher" + "weapon7_best" "0" + "weapon7_cycle" "1" + "weapon7_toggle" "0" + "weapon7_allowempty" "1" + + "def_weapon8" "weapon_bfg" + "weapon8_best" "0" + "weapon8_cycle" "1" + "weapon8_toggle" "0" + "weapon8_allowempty" "1" + + "def_weapon9" "weapon_soulcube" + "weapon9_best" "0" + "weapon9_cycle" "1" + "weapon9_toggle" "1" + "weapon9_allowempty" "1" + + "def_weapon10" "weapon_chainsaw" + "weapon10_best" "0" + "weapon10_cycle" "1" + "weapon10_toggle" "0" + "weapon10_allowempty" "1" + + "def_weapon11" "weapon_flashlight" + "weapon11_best" "0" + "weapon11_cycle" "1" + "weapon11_toggle" "1" + "weapon11_allowempty" "1" + + "def_weapon12" "weapon_pda" + "weapon12_best" "0" + "weapon12_cycle" "0" + "weapon12_toggle" "0" + "weapon12_allowempty" "1" + + "def_weapon13" "" + "weapon13_best" "0" + "weapon13_cycle" "0" + "weapon13_toggle" "0" + "weapon13_allowempty" "0" + + "def_weapon14" "" + "weapon14_best" "0" + "weapon14_cycle" "0" + "weapon14_toggle" "0" + "weapon14_allowempty" "0" + + "def_weapon15" "" + "weapon15_best" "0" + "weapon15_cycle" "0" + "weapon15_toggle" "0" + "weapon15_allowempty" "0" + + "max_ammo_shells" "320" + "max_ammo_bullets" "360" + "max_ammo_rockets" "96" + "max_ammo_cells" "500" + "max_ammo_grenades" "50" + "max_ammo_souls" "5" // number of kills required to charge the soul cube + "max_ammo_bfg" "32" + "max_ammo_clip" "600" + "max_ammo_belt" "600" + + // default weapons + // seperate multiple weapons with commas (no spaces). + // NOTE: default ammo must be specified explicitly. + "weapon" "weapon_fists,weapon_pistol,weapon_flashlight,weapon_pda" + "weapon_nightmare" "weapon_fists,weapon_pistol,weapon_flashlight,weapon_pda,weapon_soulcube" + "current_weapon" "0" + + "pm_jumpheight" "48" + "pm_stepsize" "16" + "pm_crouchspeed" "80" + "pm_walkspeed" "140" + "pm_runspeed" "220" + "pm_noclipspeed" "200" + "pm_minviewpitch" "-89" // looking up + "pm_maxviewpitch" "89" // looking down + "pm_stamina" "24" + "pm_staminathreshold" "4" + "pm_staminarate" "0.75" + "pm_crouchheight" "38" + "pm_crouchviewheight" "32" + + "pm_normalheight" "74" + "pm_normalviewheight" "68" + "pm_deadheight" "20" + "pm_deadviewheight" "10" + "pm_crouchrate" "0.87" + "pm_bboxwidth" "32" + "pm_crouchbob" "0.5" // ducked characters bob much faster + "pm_walkbob" "0.3" // walking bobs slow + "pm_runbob" "0.4" // faster speeds bob faster + "pm_modelview" "0" // 0 == normal, 1 == view inside model, 2 == view inside model when dead + "pain_delay" "0.5" // how long to wait before playing pain sound + "respawn_delay" "1.7" // minimum delay for respawning after death + + // stats + "health" "100" + "maxhealth" "100" + "stamina" "120" + "armor" "0" + "maxarmor" "125" + + // ammo + "ammo_shells" "0" + "ammo_bullets" "48" + "ammo_rockets" "0" + "ammo_cells" "0" + "ammo_grenades" "0" + "ammo_bfg" "0" + "ammo_clip" "0" + "ammo_belt" "0" + + // inventory items + "key_blue" "0" + "key_red" "0" + "data_linker" "0" + "pda" "0" + "video" "" + + "bleed" "0" + + "bone_focus" "headcontrol" + "bone_leftEye" "Leyeaim" + "bone_rightEye" "Reyeaim" + "bone_hips" "Hips" + "bone_chest" "Shoulders" // AI aim location + "bone_head" "headcontrol" // AI aim location + + "damage_zone head" "*loneckcontrol" + "damage_zone chest" "*Waist -*loneckcontrol" + "damage_zone left_arm" "*Luparm" + "damage_zone right_arm" "*Ruparm" + "damage_zone legs" "origin Body2" + "damage_scale head" "1" + + "ragdoll" "player_npcs" + + "gib" "1" + "def_dropGibItem" "moveable_item_head_pork" + "dropGibItemJoint" "Head" + "skin_dropGib" "skins/characters/player/marine_mp_death.skin" + + "def_dropGibItem2" "moveable_item_torso_pork" + "dropGibItem2Joint" "Chest" + + "def_dropGibItem3" "moveable_item_rup_arm_pork" + "dropGibItem3Joint" "Ruparm" + + "def_dropGibItem4" "moveable_item_left_waist_pork" + "dropGibItem4Joint" "Waist" + + "def_dropGibItem5" "moveable_item_lup_leg_pork" + "dropGibItem5Joint" "Lupleg" + + "def_dropItem6" "moveable_item_rup_leg_pork" + "dropGibItem6Joint" "Rupleg" + + "def_dropGibItem7" "moveable_item_rup2_leg_pork" + "dropGibItem7Joint" "Rloleg" + + "def_dropGibItem8" "moveable_item_pelvis_pork" + "dropGibItem8Joint" "Hips" + + "ik_numLegs" "2" + "ik_footSize" "4" + "ik_minWaistAnkleDist" "16" + "ik_waist" "Body2" + "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" "Lball_r" + "ik_foot2" "Rball_r" + + "ik_numArms" "0" + "ik_shoulder1" "Ruparm" + "ik_shoulder2" "Luparm" + "ik_elbow1" "Rloarm" + "ik_elbow2" "Lloarm" + "ik_hand1" "Rfings2" + "ik_hand2" "Lfings2" + + "snd_stepladder" "player_climb_ladder" + "snd_weapon_switch" "player_sounds_weapon_switch" + "snd_footstep" "player_sounds_footstep" + "snd_death" "player_sounds_death" + "snd_fall" "player_sounds_fall" + "snd_pain_small" "player_sounds_pain_small" + "snd_pain_medium" "player_sounds_pain_medium" + "snd_pain_large" "player_sounds_pain_big" + "snd_pain_huge" "player_sounds_pain_huge" + "snd_land_soft" "player_sounds_fastlanding" + "snd_land_hard" "player_sounds_thud" + "snd_objectiveup" "player_sounds_objectiveup" + "snd_objectivedown" "player_sounds_objectivedown" + "snd_doublevision" "player_sounds_doublevision" + "snd_thud" "player_sounds_thud" + "snd_heartbeat" "player_sounds_heartbeat" + "snd_heartbeat_dying" "player_sounds_heartbeat_dying" + "snd_skipcinematic" "player_sounds_skipcinematic" + "snd_guienter" "player_sounds_guienter" + "snd_guiexit" "player_sounds_guiexit" + "snd_soulcube_ready" "soulcube_energize" + "snd_healthpulse" "soulcube_givehealth" + "snd_hitArmor" "player_sounds_hitArmor" + "snd_hitFlesh" "player_sounds_hitFlesh" + "snd_airGasp" "player_sounds_airGasp" + "snd_noAir" "player_sounds_noAir" + "snd_berserk_third" "player_sounds_berserk" + "snd_teleport_exit" "player_sounds_teleportExit" + "snd_teleport_start" "player_sounds_teleportStart" + "snd_burn" "sizzle" + "snd_invisibility" "invisibility_pickup" + "snd_megahealth" "megasphere_pickup" + "snd_healthtake" "player_takehealth" +} + +/*********************************************************************** + + player_doommarine + + single player model + +***********************************************************************/ + +entityDef player_doommarine { + "inherit" "player_base" + "model" "model_sp_marine" + "snd_decompress" "sound/air_and_vents/decompress.wav" + "snd_recompress" "sound/air_and_vents/recompress.wav" + "snd_airless" "player_sounds_noAir" + "def_head" "head_player" + "head_joint" "Shoulders" + "copy_joint neckcontrol" "neckcontrol" + "copy_joint headcontrol" "headcontrol" + "copy_joint_world eyecontrol" "eyecontrol" + "text_infoTitle" "#str_02908" + "text_noPDA" "#str_02034" + "text_PDANeeded" "#str_02909" + "text_firstPDA" "#str_02035" +} diff --git a/base/maps/game/admin/textures/objective1.tga b/base/maps/game/admin/textures/objective1.tga index eb2e9ba2f5fb133a7bd4f66d14e051b531d14983..af180bdf60f84d2389b63fdc8acf821e56ada091 100644 GIT binary patch literal 1048594 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�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%0Ap5}U%unN{KqMJt! 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νrtK%MCJ+3 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

iT-FPHW^p6fm5+vh~a=oNkr`(If@ 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 sYis#Wc4`rtqT0ifeN&d`bA6nOt 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

fp57GsAPadG?`4jKOW@RPEQ{w+Z9w1`P_zp+= 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

  • %FB+ao{L6BH+Ai){-pAi)O*VA<@m^;Ofb&> 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≫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 z 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

    %aG$Hjl0uyI^sty0&^H>zNX7*my3)WO(!4P1$Uq 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 +3GJ(&`o4kR# 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

    44-4nBJY^<%i!8tU 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%0Amhp2KO0<$bpPC+J2_ehY#R8dI9hs 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�#(ufBfUiwL0 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

    +>i>l^8h*p-q7pMkd# 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 literal 262162 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

    y(r1bj1RvEj~efV3F*=Lbn5_oVd_V);LZ% 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 delta 111860 zcmZ^Md3==B_4j-4lT2nZOJ*|ro;@KeNr12<1Z0&>C?F~VT2yS=M8&0w;7@R=AmSBH zT|oUQYU|#hX)Cx?5f^Z&qHP7my0(aD6>Y0H@AusMOrY=Q^Zs%3%#wNLx#ynqJ>Rq3 zXKq?G;-*z29&Hf9+0!WQC=>-fyB!6>UzBqcI_$xZdkz#05~5f|UHt>T;+)s(&G||K zId4e_$DUJM=Lr#1FBK1|35J5X(qJT48j9qC;czYxisnj6@n8M`Mrp1D!yiy}?m_s# zJohy9Xws>E=gx|R`m=kAI)7_S4fkZ|z$D>Q%^`={{Z_G>Qsuj8U9nm+$)#@d+(l)p zWlWXrjf$k|za~-~k0*0_B-C2(bdgpEya|~tQ(uNFRL1uQ5mkTjW%2UAeM^V&bwzW* zP#D8J4&Yh?L0l(>KM>0K?Q7Jt^Z7ADf6n8>Ox4{b?WOKwZ_e$;DE8!vdAQVPCH)J0 zxngfm%KxYoC2CJ;TXA_=uDl|fi$tQz6|9#y3=9s%49^RW7D?LhrVOi>gQ;jdp2#Ir z>0COU$t9DiT!Kd;sg4F`sq;n`DF5X}YGNp$&I=6{DfK{T4gR)<=cut=ezhg+#rz)( zw<+Jv4)sy^T#;3iBQ==qg^`ZI;aDydj$-7Gm^7XT_2jWIn0yG2^Zyf$#B+M64aSI*&Z z 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ɱI z_?R>^?idW#Y>yu!5o3}#jKm!IW1(Qo3`BjQtGfQ)iBYyAKX_0+_iLwD)S-J5oQ`9{ z0Ggmp4XYNr?}U1uua6nBPKhAQ_u7y1+zbg9Z)p@mt-fzw8N3_kLABcQqS`9VuQ}oE zTs_wPBnvyIoSN&e?)XimXi(4nW+GO$t99453=q|@K1IJjg`izsQ0-iH%fC8!= z4=@ma|G?8aWZQ91gF0}?slI&hR&~Qe#p=!-r6%Zms9gQwcE5T!dxQRWNO<6=Nblg=jz!`2M){i8$41Ee%{=qKKgB2g5xqB z*MjT1AxDllm?hzh`uB`=vD4FVu2%M(i3xttbCT*m$wAEnWPo1rLf@uu8vvEQc3T@l zSYxw%OsQSl&eO^bix{~xN}eAqBmo|GggD@^oio&dSrZZl4_2ns=rJKRb&OLz`uL#2 zOa>aK4nE!yOlKe?9ySkPAZXnbRO6p$hKw$LqO4F;P<8tg4FIecpU7CiWcBwaPL!x^ z4Cp-pk^IHIqu{Zg?0sKajco(e=07|H$xVFnaTwgR89^1=9?gd=$7l!?T8AlVnzkCK zanf5Zb=LMwNv5oVNuKuIn5NpWJ%T8b-dHZe^qcD~k7^5*sxwj!^|$RaN=@j=j9W89 zp6B=-6KL$D0-qZ2aRd=epCe-vQsp~?^m$M^)qx!o^t=t{(clN}P^P+`s)3cB^;E?$ zjumv&0+-HAF<(+JU~VAKq%jS!mm)#N&jZ1zdiJRy7QD4O`qUsqpaY(+>;gH|EeY#6Joxgo%i*%J&)#g$ab?}_`{jpZ` zQ?LDTcAV9U1Kbi$zO&QRVF2bscOs_t;d2*YDGa!1fWhMggA9|slsfPE zQCPEW&;JpMc=66rw4_-^)b1n2>aROb!5i%_41^~B?1c=@ckK(6C$Lk?GaSqxbJrse zshs!c^eo2_JlMV%YMBKw-~{2<553R|%9GvI1dW-zs~XC5!LCY#;OynO^n!FErxo$s zqaN7RqTYTw*7MI@ms(JnMX%I>5N>>>6&Jhfm1@lH&?{4@C581J^-)O8+8vHDg0jgN zBxNOJ(*e@1-o3K84_{NtyJra1-vdH8WshIY-RV&0?zur`v+7@a23ct^pVn7@?#Bd8 z9-D(P_TUe^%H-LHTux1ted$N9xJxddKtwdk!X6w)@lb&~pKKurB>n-42ow6~Hn zRnmcnt$Q=oz>$37Lc1MyGmI%rGkIuyQ5Wu=p&ngcOs|dsL>|~%tjXe`y>l_gNpE+A zbtNTXu-zsN2w;EpDirPQAPnTix3dMn!+<*Y_U#bGweQqvees)+pR<9ko@d@UfRb#_ zU4I!S#2~f*uNmO)4}YD2e;@a5JG}8_?^loDvpnxwe??w^T&3nun66)Z) z-H=bizImlA6V?mX53MgL_4?k3n$ihfxZH{Q(D=A^zL>3E4BHv&$Esy-RBd_4p~mlz zSRBosxj(M1*zcjl!z zgYU*yMEQsr{MS%dz1M|lKKouh6#w)0o==y+vH%VM5*=GHd0>mQT<&7^>%Tn!J)8MqEu^*L!yzT?dGg|dGO3*(jw^(+pzapi&a1pWCh5jEWmJtrapdKXo467# zd{M|W0vc8O$-tmVP3OOgB^y&qKdI}-;XZ6Q6y_k4!QFtj26P+H7|h_JpZO#MHu(N0 z@oLU-a4`wPJ~D=}KRCv#A}al9D{4c?6$I3bPb**#7k`?Kb9$R0%s`oeGk)yudE`^e zN)`j<3c;a5kY7V%U9PU7A=j@7M7X|5?fJ(vm{IoN0g=Ax^QCI(H&J!<=V!t^Kl{A4 zSc?AWzsL;QKuZvR>6ya?em%gs`vr*bZ8|qEpRA{QV?B=i<`b`@7qEo(^L4$__4Bp@ERxf;$aoV9x zN`3xK|8k>Gc?x~Zf^ABT*r@BsZ1gIudqpNyXm2U%A|86RP-tNltIv3a?)wEAcj zVyPq>i4noFt8PwOr)JnN)5~f3eH34#8Gp+?)x;B`o8ZwpiA$6A8WP&FP~Uu@H4Cc zK*-L52jW>!A}#`}>K|Gm!{6Q?7Nua4MvO35_}0ECgw0uXA8nNQ%;KZ<>iUme zwDw8qru9L~rEc8nQO_K0vzTBWIm&72{y%nNjTiqI=ko8hKMtVn4p_{~KNiE}_Wsx= zQIB-xMuBxs&JC$3@!6%>yh5P}=;6T}K^vF4KUXE(YELeXNRz`5N6(?$WGNyvOp4t# z?SpgKeyzE5U0bfak@c-Dm%;Oj<^j1(UH@FVUwf{yc@Q;OqO~N%MN$l%Obv!;u_f9? zjPA0;AXlH&(E&@$Ro{N^qe%s#3@Mhy1>yt%<)Z~+k@lPn>b5HaEHYxn<20ZU|C^wh zg`%8(;RUg~K&p^#A&)i zOhxpdfh-uL2OVNqB3qSX4fMkXjTSQT;^428L=k2Xr-4PHm403%V4iHFuvG>vgq}3XvB`v2(P$a zwah4?S3SZ@sgLd|5d$q`H|VjaMOYRU z^?q3*zL#TQK^2u1xpYNUE?wJ_3s<)00%c9PP)&QTjFk@~2}MlRu|l@yvas)LeS0pW zm9h=*ci=Jg4~nRxtenL|lY;{32|6z*PQyCB5)@T*I4KHUybjuA>1a^YqjaXu1Ten5 zx|qg?1Q;GI4&nc=_TaO(hQypw&GwlP_r*r!3X6INj2ix!&fHiKq)B1135xt-Se)L- z(E`F}o$<4y1w%(O_Nv)_Jc-Msg%J@i;K+%tjfmkQK)WJhVS`TW=@sEcU?0Mc)GPq6 z76%4)35W$xZijX!C4OJ7us0VK!V00{P}Pu&S2pId{X27It;2KGZ4^q1j!;!SuCH8k z2_3XC?9sfW=nS9>%ea0nu`y$%2a}?bnM_h-+c1CDzT?Sp{;|P76BecsD6^7dP?HBJ zde-O&w+n@}=G($#G-T$;A+4^g(MlBY;*6pdctd|$OHl`$=`1~#62n!`?SX214xix= zOy_en**V7jbY3T(qUyAm3HZ4z4NFW=%jkkQZBL8-h5FLyNLo}kr34(&lW6hsgU4SK0Tq}z?&L5Cm- zR%Tt2MAL^>TA%_SP3{ZX9(3rj>pgRHyoePX|4WZ`VrEktg&)#6vr(YUlrC))kGt5A zbPka^nnXh}SMB&I1Ua=+M(B$*Sm+y?gp;mr!pbKXNw;d=>Y(2>iPPYwJaAJUs&5tp zXv(X?fg(d*597%)`s!=|%xZpf`*57$nPxE$=O}A|5(Q~;i;a+y{UUVj0MSX$cY@Ge;c?IbAU!%#;*B?gI8YGO$=*n&}TIoG$u%Q4#$^3F2lv$P_;STn12!N z>lTCDB{49jNCvP}*qa_9Za{MfJ$Qn65o)%4l&H}~BA&S^RolU7f*uw7ctMHyG^M%|hn=<1=Vt5nPITJ z7)k7g1wBjcHDYwhSkY3AL_deQCiQ7M3`RaiHaG;G-V4y~v2ac$^vzh&hC}T*Q5nvc zPMC}8>=?&}G;f^fEh?}iXT^Kd;{{34L61)Wy9v^tCx|+4Bj0blNxarfAa8B79 zpUQ$NrpJCFW@E2`ClJZGu`oWQDSTXs3C5{>x=4B&a_QGtVjSj^T+t+A|7`Ph&SPZxJqut`Hbv`O3QqE!w5$=VLRl z@EP^&Q6$%Ah;DUNO^CW@irF;wdCN!l&qPRfZ_uX}EiP71REN}4`#hlid|EU3bZN@X z#4NMada@W^#;V9f2uqtUWN}-7X^Vj_()yD{S%0Q3Hf7#SvqUIkTIGt-xyo&a`Bpi!Xy^s#Jupjbl2)OkkS;w< zEO6K4+?>=#&ts4do+f6DL?%96T@PXkZl9^m#mnp9nBbh)m6z9m|5xWK`!(b;hyyZM z1RYhwDm8Gy{?p~OYPN`!8nm;4Mi=zynVE?D?)fM}f0`|Zml*iS_i3ald%8$LUY)1I zI1;qYN8{MOCtdiyj=?)BJg2(g042*><6iumRqE;^qz#-SWj9 zjOZW%kJNU;+_Lw>dE(C!L~8p_#ZXuUW(sG+S#I!zQZEbG2G_|E;V25WWS=_gSKcqritf>{_tv-pCcOM$VGt{ z=n@Pj&uumVt^p&@@$5Mw>}Ioyq^kHI=!0`aB(6(KNEN`8I84jKd5NF=3j}KXG;Dzw ziNwH)1!54}5qE)mk(TlGKD|H;wu(Vd0-Roqr3f@VF1(anC~AvBs0^gC<#gggF|;2p zKFNTB$?%9leHnbUf5POML$R;pRk;8_{o+F5E6T71q3NRaiXeTt5Tplou?Rq%r1guC z9oRh`c=^;KQKm|FhSkIs-c5_)UYCTVgJO#jMMvp^#ZcqQbF3J(oNN`TB`7H0;Pun1 zi-kubg|TljtSdz&OGJMfcQfWWWr?V%HX$Cb2q%;cCrju|pH2oFETUVMfGYWE?-Jx& zrmPn(7yCXfJc=z9lSH8R?4^P%EcVg!May)w*8|Xe2okt}XS#d?I4S4!VwgR4PoYLz zRtz3E&!U-&SS*3=PBqYd^OCw*PrAR9;K&B~8cU~aQ0aO%SC`QOk8J&2c zm_V0hq`Qq3jOA(o-oS@3b)!67t6=xYoP+fpe)07SK^i|>1W(<)NEU8d4%6nd;qkXXszU>Y??NpC3<*254=6@ONO_+g=W6Kd5;o{VlYoZ0Xv=n``T-3SD zg{3nU)U+Dw*LV?<3<+9zkw`*RY|DnKn3y$0w_F7C_tVoCiIWm0F`Z9Po1@lbKh<3< z2D?yE(P-qSpIr=x=A#W4i?PLMW#ATu!otGd4=xsAAxe6`y9D6{B+z)7sLg<+Fh}D> z;f2Tm_v4wGTn5RCba^!`yG*1ZvGtb$6w~zBWunHx%LK--|1#0h53leFe?@zWEqa+-0oyVQ^KfNhTanuZOmk7jfBQP-7_tck=? zdf&;;W2Y#xv@2L4T5z!|R*1R9{Lh#doHTvB0)8_?g;xMzN32G|t@#R3<<6fHUqf@Q z5Ls+*)2q*%4EE0D1jZ5GI1&ibudWa&?iLLvF|ct5?{XhpDH9|=?Y=@xXwk_?T|6+o zChQlEA&vbQNjLj78hMQf7V7*Q%~>gi#W@?SH|pt(aNe!MrPE_8!FHUzyH_HDcX8#N zp)AmQbd^{pD=TUnb7d9q%veE=vviL-r)2ctR7#3ATqS;n<@^3BF*wd^Vy{^qc#U76 z5w|18_~~kq;DDEn0-}KHpzBs6F_NNZRzr+QI6$ba7tIptt~Eg}tfgobd$^2GI>Wlqokx6axKJ=k zUIg6lf3=7qRcOMalv;Ku>cZ-#%J>ypcD0DM*nJMR1!=+$L^7!kn_h9s!>;iMsP}5o zlF>~;#6F(x<(8xfKPY!zIF`)L5mmU$hG1s z0R_DDm*Sd&id-;D1=ouXc*V}^v2s~D`+6OH-gUhQ;@RWZBVx$VpRX6EQ~$L%Qu0Pg~YuW$s@mJaIdtsB4*s4s26IF$4wAf-wDU9j+}!g*S-n3U#vp zsT)KCBhd{a2_N+C4PqeNNnpJwFVdp(mC#p9MA(9)Xxe&lws2AJdO(M>ckgJlMNe1zi?k%%aX(8#sNridTpafLrJxkBjCNONdzsOsz+-rbT%n`)EfN_k$(t0IaF@U*xxik- z*_vD^Tbm1()sgo$F$^z<5kqiPqoZgxv|yO#+$M&=pE3u9s-2kHJTI>3K@i5M2Rm5MWhic;>f2 zCU3k$BG=Q%yZ$Ig`Lp%YD?oEI*{)_dLnh$HR2L;TDt4#av#-YK?9ZY%igf5oT@ zJ|PEo%p$RUu9QbKg(H$)>}jH?job|ZmCtlC|Za~CWcZ+r^I|oKve-CI_ z$38I6bMFzJerebW^BJQ_tjQ)1VmOfP`1m!|x+c=d0V*g^{@)E{;^5UZ+!$p92f$** z>HT|FZ51`(Ha6+e>td%=f%SJi1dRB}R?$_!AVX@aXc>5XUj!SgfqKRnGfauV zET=B>GO42Pwu;dJn$CNXsz&YRUJc4q`@~5WLXW@$Vr3ChZwxR*4~T(b z!#!Dw24NUwQuM(CVr%X3X(g6bpBy!vXE{Rb$kLv<1Q+nkgW{KTepn)RHxO~=!~2Dc zldhnJbm>E4Sd(3B!is6O2q9=bgXdac5On@^;01l~5HJ!{V-hb@D-MW?s*v25TU<33{CftctlJGX3u;?tQ3yky^o0bXgi}JJpg3bYL6IF zk_7t3!F+VM1y{edM>P9+I!qpTdU%|m4|_ya9DI%gGIm5PwtTV>N?x`N5qO#gZ_`}% z;%(w=5A>6l7XvW(*)~xH-o(8@Y`>;Ih>r;>e;gld+XEN*lgCA)M80&@<0zfPX~*MW z$9Jw11tlyy77{)HImYNye1u)o6JiDvsEJ_=n(6z7O2jM?c$;aK4V_Mc{t_g+RC-zV4-x-pP>)7iw?xx5lZer z*T?#E3N5%Y>fQks6Q^5tz<83ha|db|WmNr?SZ1LWgKl|B)N&af?3TNi!qj`s(-Guyao9zNRKL? z6WBRJXFiAAMwrxdVkS~RS`z_QJQX|POh=y+SN7w59t?C$0(h=$CT8xeR+{N+FCVA- zo)-)0oSD)`=gmQ=T(eVDNfdOaV*d1Kmn@(WD@5@yZDzK)9istUEZ`gyXEZo-3ax`v zF|`YRO}|c$?G(}SWBJ_8E?-U!mwaPQ0VSmYflmF4)>d8(j-=&dn zc?sfsIq=YZ5a@f@@q##CB2&@23zW-83wDW-1)Msf2X}!~7SLY2AmO-UFN)_S3~B$% zqTAJ;OE(PS*oCTJ5w}8}pLqrUoT0zJqC+9qZn2^~4`ars8r#&s&4OlMOZV*-f!K7OTrUfY&J2i+?s^rum=b#ORj~_b zchzg6(!%C6`t@s~ToxA6?$^Ww>;L>8(HnnVydkWTK%n=~8zLhdd|!l6oC0r(<%5`V zaF&Amqm6GtHxlyG`6XgCVRhrYf;M#Ic)&ikzX^wxrVri}P3nbxe#*Qh#zV{t-V(D> zd^Fk_qgUQS*&BK7y`l*ke$pPu=A6AEQK*>?eejAzV7V8`QN94yw>U(B3DU=V#SoZf z_HBS$n!4Ub5P^Em+hQJqeBKCwsD<{wEuJlL;SMf*7Z*N)jr2bBj_8twK0jy-9sY}W z9w*uMS24pG&pE+aT*c&nSHueHZ~|(4SBy=Xy$ZZUh@P}EGOTH7(7JcQK~l8mUF7?d zl-ws$1)NByVf#b}I@fLI07YS3%a+mVeW<}fG_T{>&P}s=u$u7T=h}LV6`9s_qZ|C? zV3ITvR;6xy*HL-wACL2fpb@+lhOI|w-G0>YCMm?Y zX{#7eS10HYGp4EbJ;*dh^WGDqs+q}}rRQ*ww}aZ%Zr#Sqxn7Vr+V!6J3vQo-4pmxq zF>1(9ek$Bn0eg)1#R3b0YW+}TJdmB1BMdx1vp*DXLUb)3iE$Es@REassK03rv1$H;WhOP|2d+`St<6@Rik z_(w2TzJ5ebOAm_p5U38k!ZFfq9&?JCC&b%e4AdCk#h#E23m8t%9u(LdVnClA0PcG5 z=tBugd@k;);*VkN4fIC)fJk37WTWLt?|&{T(Jo`=rqP=9je>`CRqLulqT0iAGr9){ zx9yOafaT8}673PTY9lIE>Acuz{1*VRB>n6Q(Udfx!&q(b+F&-88bQKiUx=TBWTg%x zC+eY}9TrUu`fdemncx@PFXFH{hS_7p`;5%snBmzX8Snk;Vey3omcR5*(Iy>5bo8HM z19tGxjb8(z7qHR|Ea(E-q!m@y=Q;$!zP@3!$%+czjPFInNBGrkca)S6>- z@i(F+tk)Ld0#j)oXln+kd-5AG5qMN|MATLq;j(n{2F6Dgdfrz>Xxb4m+iMF@3o=T- zKO)-n@@kOhkC>&6Qtk+F>-EV3jT&ryCjDyID!!j}6LW}D_qPDX7%dB<)8K!;)g`^n z--^EtvO6MqPrS*4p{|I>%;WNir*A1__vP?LJjj{us+Hm1m%kH7q-23(0_7iaX9R(&tV7HUMJrOmjM1K*3%2(vN6;#gvNiIejO(W9#^ z+PK)QGuRs)jnbPxh^?5=rErVDTn=-fY7kd8iqdK$TJ|qSybv+_ILMAg zZdYi{5>%5fmS=*Cj-cd5O;RMPWbHVb4Trg3F@<)WelCl-I3gdn9 z?p&yh8Z9{vkaVFXPl2KAvE*IwQcDXY)AMx&av*LbWagFkp>Pgw70706Ge}cmp=`s4 z2N%kFiz3FS)5nFfovyVk4^=s2rrD4YRw?6xV{Gnvu-{-Y>bS~&Oy@b|0?hu;4mk++ zSW+bC(bezZ(G^9~nbqRZA~DXAohEN)w@s6_7Re8=AFTIUr<^M@2~;~1NR)cf>&La& z0B#Bf3D|O{0=GO1tNb&!?0{Rp%PmcW0{;y?(V-K2M=*I5y4-SAv8^hMbfP zRMX$Y)&+OulZ+ixeKPBW+GxSi`yb(g*ZSm8x6X@dy$Moa9>SWBe6j^~{ZNS^vkS2dQ~G3+cj;JeegEk{uSVnF_;L$3=6H*feg$ zaBK}#v?45j*1}~I#w~-<#x~e)^n|tM9M4`8^w4uMK8PiKd=SOYO;Una;lBsJuJ>?8 z>8yyXAElwIF95UO<1f@mz!ncLZZsOS!qjxwDY7(J>S$x4HzKmUhMAo197VQC-=mM4 z#B?M0f607ARK{F*1@EB5KqJv2MN_j9_sT0lbaPr%4h@-h3%)Uf*}}@l-ut8S4^}f{ zgC;kC3@(_40Ds{a8v1cHoPXunX?KPzKMn8pjsRon;#(z1ar z3Cj|in3i>P(nV;!zalLMxKZnYnKOk%Y5@P_GL142Gc9Y9LENB&PjzfX!MVp;VXDtq z#Za<=89C6w{{R3wFC$ZG>Y4(yycZPHtr@`m^%v%R^)QP}%XRxY+`IbLRW=|fy&GOHoy81ml=k<)^^L=2% zHiq|gvl3&WJt$KxrvX*YtCpQk!(T%o+Ey)3i1Miz!;EDaAV*P&-q;7cDXWo7c+X-n z{i;T0YwYe0zA6?(h>e9)54!UT)fbbQrTsN>b|ETdZZEZtgFq%^aROLFf%$V*t?ZD6 zMf4b06+PS`omN3XVehlGa;t=ESWqvoik7#I$hmMU)P5sp%$GB!A%0AIzzI^d{(eUe78rs?@D=Qf&@KL<2 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 diff --git a/base/maps/game/mars_city1/textures/objective1.tga b/base/maps/game/mars_city1/textures/objective1.tga index 349c59a9afc8806710d7134bdd2a6f69a797f949..ca8eaf9658d0a7859cde8905bf14477c23adebed 100644 GIT binary patch delta 4413 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 Dn;?9_ delta 4413 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 diff --git a/base/maps/game/mars_city1/textures/objective2.tga b/base/maps/game/mars_city1/textures/objective2.tga index c66a4405ef430b43925802f895d30cc2d2969010..883872a41115cd25bb2046befb38e72b107467d5 100644 GIT binary patch delta 13421 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 NPr-ow&!_yf^1sEF>&gHC delta 13417 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 diff --git a/base/maps/game/mars_city2/textures/objective1.tga b/base/maps/game/mars_city2/textures/objective1.tga index 67897eaa46207a2ff8a0b18f6a85f1dca0f32b6c..e27514c60c4f5c990e4d8d76c2c9db3b933f6787 100644 GIT binary patch delta 1936 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 diff --git a/base/maps/game/mars_city2/textures/objective2.tga b/base/maps/game/mars_city2/textures/objective2.tga index bc1b8d05392a7bc5b7f748fa79c8f411d04d1080..60a8f89fa638a23d09a6e8f7543edb046075fde6 100644 GIT binary patch delta 4001 zcmaKvc~q3w8O9G0Gqxr(2&f>7Y%*-JL|h0MAtExvJ}?Y0!!95MLG~>psHlLrYluyo zXreVq#l%GWWpRmH6zhf z%htBYt!ZsSnAvrk~21BxJ(>c?ubX^3D8L2R3rEwWtKFLT+mX{%xB78lqUY`UbJDM_*WqrCX z5h;mUsp|LEQHoYgbR=S8<|8p-G0P+%m7`=CbTDP=kj0VHxLJmbB-(hSGj7Nrh9u@v zkO7dh1mT=_4EG#L`L2f|~{Y(@UWm8jtV%m{>L7@@F z)D{)zqL|ve{7i`0QjRkU4g?G&EPEzNrEg)g`EFtVCsPC6?Efp{}6 ztQTX@Zra*OyBZrd(cjV$k8X;)H?PI!?VZ@Rqe~WSpm@u+_1NCC5u3Jk%4~k68ymK+ z<3u{K`IRpEU0AWQ8C5mqd|Fx1C2OUoBVtJv4K?U~bsOIO_yc@$;S?_3`;uJ8z`ddW z%hfUY{=W{P|K1?32>v#R{$Z}%f3iIiA7kT3#bbiMiitt54kIQeieI|(B|bTS3UB}U zeROk~O)b?@(`m7!1IItas?K%T{>D!99zTdPgMBzN)Q9t5UB>y_mvH{>0QzoUy{-yyn$<9-$MTb^7TzzeKd$`-`v6%kBG3}-omv$v*hOI*1B1uopXhQ2%fI7iM7{RL-lU%gaV1{c)dO>zS!%jq9io`nwBlv#JJ5@F4*aR-#Gv)To+|^^6I6fy$3ygf*o)4t zE|}M@kj&StXDTMPnCl@OJA~60KOfaTGjZ2DZ}QF9jP|u{l6gqz)P8|Db?GE--WwXD z+x`B2v~;w?ezKEfzHiZ~apr0tKEHBujBZcwegp-FP-ichzZE*?sgrTx=4G6{ae0hx z@4*A`4f2Dny`5zKUg-SPUg-a704MtU$LRJP?6v6ZY$fxLLg(S)gn_$X;Nx?BV{|+B z?1m4=b9Ql&%+}+nbDC_ATaSit=+x;kx*e~*3ZI$2Q2Y8z=4XV?&dwHtU*E?5_YRNI zz4rF&@K$?cc4&xXwih~En`d$9Mn4W8d4G&<@BTO8;q3vXN-3G0se4v$%*2t)C-CO} zck#oh^682H`uTgjv2Pc8-r6BGd5xc~nE2kOpJGeT4(xvWEm@~}j32RO=SKOx-L!L) z)D%FOs&H8;I=6Rm!JpvazrX1@F<{-Ry8q7ykWPMtS9k5ix~-IkQrc={?WLu~SlPY` zZ@s%0hmL)OV|^!Oj-NY;Cpm@B`YaqjcM2!^PUFORGGc}QzxeOGXj@|OBaX%XlK9oY zqM#@)?9sl@@WIhTVjK8suRw80F|rG@rKSk6B)91f@bPuWf)~S~)5Hjv1YiCB{ov9lIKrF?J_Lqc~nwX07GU9qN2hP=&zRQqQ}oy zw0e2DV$Qr^L@k_;gcRPpcxOmA@{VEB%b133rnolnpf}|TJM8CW!6e|9I-3V~F6{_8 z`Pn@5vr$-RLVkg9G;YaT+Uyr?88nXr=NTxWtw3D>Z@`@Hm5_mg|BU%Bkq@ta~>uN%R7D?14@(Ph4YezKV63y$WR?9-- zV$BZmyl!ga#o#f}iXx&g^P-?!l#^K)6@lkMf-p1CAD-S^N}5=TyPE?%J*UIZcLqX& z0}whV7_;YwAbeivFL3eUg77&q^TOsJ?D=`4?eO_wh#)TvThR^+pDVW)ybwWaVZjUG zPiVp;BBBu%HrG-pJXB7Gi6RkX-Ygafqi-oLiVDQU=FAF$zmFR3?yhk6a+B&z;}`J- z^Oz1FwI>1s)CijCgWv!kgz$qmN)Y{Ef0>zqe%uH@gz&>D$DRwsb0l=whR_Cwa64FO zZfFSOBLqLG2@XUcYlQ^*&Jus*0@?TVhPS6wzGOWA^YHd` zgP*r2@sh1S{ZV|p;LnF6<0m?~!Nc7H0e)(}gFZ3=w1H$M@%5PjPY+k_0E-0>e-@Up zYeCX8rsyzcB1_H6l4PV z4f!pZNS={O%b#`mew^A*Ep_H8e^xv-)m7?Ts{BF41y6DDf}NcmZ0sFmEBlV_m}Ea$ zZcm!*2pb1?skc%2lWO85X57>Pn7b%XI^3Z=qfpvT^S~4*H`q*dg1xiUv03S6W91^f zvrBn&x|O|D@|p4{g_W~ZbWRC{)pV)o3hPgDRl|;b?54TFme@J;)ZS1=Sb0eYZzy{e z{!?AOVB^d&9UNij=mJ~8G*?V^_GH|heO+NsjlG+?r}K_7Xgr%!oTa08l=l=?Q+jqk zR60IoGf6t~P%Hs>GWND(jryS vR?~WRPf$&k4n(T9t0-d9&3#xv>nf!stL{zb-ppIBdK_fsCWY)$-Oc?EE-N@n delta 4000 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 NY}}>LH|%Z~{0B&&Kq3GD diff --git a/base/maps/game/mars_city2/textures/objective3.tga b/base/maps/game/mars_city2/textures/objective3.tga index 23ebd1eb912c72bc4c06b06ce37f608bc1b7915c..a9748e97d424a122ee36620194e770bdc7204156 100644 GIT binary patch literal 1048594 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%0AB?yEkJzuyzZC!7X6W~44!~P||IGbI{b0^r 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�fOtf9(Ir4Y5V!L~#Kbi-rH0b60L>J&Q}1i|ZHj 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 z z&4ZcXJN!4sj~>S-Tl@=OEBt3aJe~Je-_~|0>*v@`&(B7uPW)eD)8z)1A0RrsI>L1B z%W2<#_q%^A{Qps~|3|<2#qjPYpCn)9W^#e|6z+=wkP|?*&CJ9G5FOsLT+AAS=P#VA zwSvXv9gW<^1K0?rV}m&sY=ej1#~Q$L=)B8HILfu~BK{rrjgn7k!;^V`xLIuyY~k-; zSXO&DzLn(U9LPHJtI_}2Sz$bTLdE|@PKfv4KL0<9|N9PDi@oW^H76g!fAxPx`hTto z%e$UmpPBFaujh)(0WAF=2gte3FZ@r;6n&Cj!q$E~_`e*UM<$Z5rRU~5wSd`i$bRyK zpU69_Q^YnPZl2%8vDd!x$Ki1o3O~#zb;b@S@3`v3M$W+Y(iOvN@Tfz{Nvc?~Jd^md z7BlX>V@C>R(akGYIb(}I6R+xi=dvZG{g1>4L$;Wk@Qd7}!=6k%*u%*YkhflWXc-sQ zH@fxA3#DVyqpeN2sqaTNlMAq#9J6(q4cp0OoCQXEw#lrILI$Ykv?sXi{n`6%U7iU&uTn zBgm+(^NTMk9#HrnJ5BmWzi8V>WB(V6dpvUvF1I|qjRXDYxZk>#`Q!8Vw%n_8h0YN?%R`u+cW*X;ZsTvC?y-Gqze$ct z?$z}F_|(}e(q1sV^#44Mxhk&4nj39>sKnRc{gD%Dao_@KXR>pNpH-jB#y3RAz(Z~N zpMC7sgBPp6_=O6;BNyOy)4dzMHXLs{JkB^1KPVpmF#dNQ&^|YR<67zOW&`M-4XYo* z{t<>d*6jam0>Sb8-{S#be&+z2`x)2utUj|f{11k2+b`ch^!l>>M`p1VG|bO=BmD2S zg^vHmi#CM+?CF!i|AnQqQ)70mmH=_MDlY%RIdh zAKu->0M4ZrV0^IS!SC^fVQ=jD`;W)&Z#%J)&*kX%H>2m@9A=hpw{7+IFuRhPV8Q(Z zIp;uP2M$NyKbUJAI5r!-KkK^YnzlWOS#Zy@D=UdvyH9xO7o{r@hL+_(I}xh`(ud3`#@&!P6A_ZD|hc7R~D zHoyhg0@N|8^_e1fC#GVT%K2-Tua+F-AE!@@pNzg9U%P&FKl|5W|F6D`3|Bu7{<8@= z_TpRbWF4{OqQpj6_@A6FHDcNIOSccU&<(5`S8K;P9&EQ?Ipn!s;d^w*$|;N9h!e>F zxACcvOK{%2g)!>Rl1=`nZ^|FTGo0g|8#nF@^BJ#87h+>dttN9={J_bn_{G9W$P*l( z+bhej8kt)D{*uov_pQrDSVg{gCp=95^*A*4e|`Yhb6)?S{%kH(Jac3g{eD+$2Dl`= zgK>1+ip9_GN~Ra)@(nmQV=nI_&Tw)%JpSmV)CXCJ+>rm5_lezqX8v+wFXRPi@6`M_ z5?j@w@Ri3Sr&CX4PwIgkPzxlv;Cl{dOr~at*i;-)&2M=JJqJ-=!XM8g&Jp%E8$j?W z?*jX@V~@cizdQfZ?&V8J-&j+vVhV#XKFMF_vh~-N_H`d^)p$kPGHtRQ|LIBX*~FV9 z4yO8~VeszVZLLLp0f)^aIE*X7c$i+g`3UoU*RkKH{uA5TY(vd&;NANi>p1Uy8~*c$ zv^AYO{ugigxA4E7Vaxu|uzow{Z|!&602x!fGw-6UwU6JCHBJ8~BgFZ&n3O(Vz3X)R zQMD#S=Ce=n-D0T3?VMT2nyz!LW{dGD|DQbthOynsx5NQ#+TeKXbSvjBRlJ6nKemQ$ zhd0*>R||ieKfm<<=!R+u^1qdBBKPTfzt6(`{ASA+kTD+|E&stbEPu!!;CRMn-!`#* zg!c{e8}|3_>N8`_bJhmag9)zTfBBG`-;Lfy%rg1GwjoXp2dH!N+2jqI2aXi`K-#0$ zAP?5SaZMhsB68_Wu;Xl3Kx%{?s3-f7%$lvK-M3$xP zg4qX8B<||OVlX|pA0NPhlZp3F{@=k<%fsP`wb%x3WIukEQ)~G@Htoa&9?o}%PDD?i z`topODt5`^&qvli5&b{B;`p<}Ak0)8$SH>=VkAw>vkuBVgTMx zKH#5z|2xC$U;T1qcyh5LBPt#(_8opLxlnSYJ==8N^Xk>)874o0k3bFpTfa4g_huZL z)8zT-^bstDYc~>?fG^4G^gVekmPUL78REU>m(>ACJsrFzzW>vS|2vTwi`lHnaU!;E zF&3@<&nW(1%wOg?S=RBNoHEb5|NlVz8FXY^13oy-|Q)OaFKT8&b%Yb`$MRN^$>{LXvBTI^a=k$vuI{K;XT3rA^n z(!w2LEAG0+j@0(>Kl#|>{OP}4?_&4E3&=LS!8?=HJ^ml|YY%=x_y#ky6a1vZl1m+D ztsBe++2R3Pew%)VV-3rUjb=B1!v`XF*zx&icf|j{J9RQ!lD{Dj_C@0C7n@no^x z<{AxKVHsO?)|}3{{4&;9{6fy9*Zbf4Y5X>F1H=Ntf@TY7oDKf7A8hLWv32|3_E_2k zCt|1ClYCOXe;CCE()O)29b3UDhHu~Aoi*S2M;g|TVm2}_n_m8~zP}y&?TgbE)7CkH zzVz;Wj+yUUTZ<*Y>53QR_w;+4KHu8hv)xzhz0Eaho@5St{y(&N-o^o%55t_o8QC

    }?8(zbIHk~ngNaU$|HSA~m-?IPL`M5ywfe|Ob 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%0D_p`{iG}&NdG@yx`|h(} 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

    4aORRwY0{sT!c$vE$dGY-H#80}$XxIxV zo8>W<&-h$@2hPP1H!WlM7~lcM7lfaK@e(n+$av+vc7FZ*fnSWRDrCCtqI?b6kK8vV zEaq$DPh7%(t_uzTengx)?N)rf&cjl#jF>g*C$^lILpkQfHnCqhAZ~lyeX&?>WBadS zOpD#(miZdPFUCc@Kj*#1@)x_HF_D3t;J>z*Y*);@KnyJyU$)|H?2A{_llvKi#bkLM z^-kSpTSd|HvoACB74R|Rzvr?Yv$XBG3ulwRkZZg{tQQpAM2@GPygcW@eV><)tN&*k zLBUtg*{{U5unkb3){|vjnY><|J^Em@4O|xfVtk0@GFHWH!GH0*aJ$R_vRz+1moxZW z^ACGHTz#dFz&;!He%`6@0&N6=^^~*Nhe}_`TYU%eh-~|JUSF(Zi+#azxNkg5!F}WA zwBH-|;+))A1E^_*%^%%eTcR9wcQv*y+J6_%)&~%_eK7Yxe_wDB>&|v`ZBTW7F(fNh;Mg8W^|L+;>!&W;0UbjR)-3iaoPoT|S%r_2Ny+xVpynE*>M63tx z)&`P=M5-p^PE0(HS#)uZf1Ga+xmwx)@%Fk<^CM&Hx#dvL=mso^9cC)eYy6bH@ES&tP!axdYS0yPu0SgN~iM zK>Xj0!16oqJ&OM5+z;=S1Dv~l9UMH0&H4~F^wZb|E`~4Q99+Rz!5eShAy(jx^z!Sk zr&sUYCEbT3+)uB*^-j9~^jUiE<4@D`uf9&7{@{oB4j!a)S28Z_qklTS?HjTF8M=$} zq_v+k?C0E$YA{e1`>aeT*2q#S^S2KpLNcFNN)WGHmAq z)aw9vI|Sa2sEbd78|?Qnw^B?W1MB5mLlvKk*zBA-uW{>KI(6|p*N%Pk^?t7Jg{O71 z#@+$f*<-&){>DB1o+od8O<~I!&FyU5eys68pEAZIeDLsG<2}^n?F+`)Mf_b~_Q#8@ z;(F25^MB`#=JlyU&!;~ImeVK2T=Bfbv^d8!c&V|eo!#s+E*L-R<)+3~xG?uO!CT#r z`Fzdz$HDu?HpWydc7Cv3yMQsUb>O%@0>`XzJdQVg0M1uGM$Ad?2y@=pH)hwhpyUGj z@LV$^Y-(~0@=_lNy$;#69r?DO`2%8`GGPyT@oww`>N#=&bzAL_VH*Hv#aivo4cG=c zd+`rV!uuw%w@kp1iNWY+?DqCkm(-!_XlWmqXH5ggv$l!VYs4SzpsZCvtX`|!faivu z3hoq68n#c$me;z?w)~>k8?$8!ot$-Uw^}+5o@NYH&(3qxysfcfmCM2w?{&uY$+^mjeWbvJE`sn0!Gl;5ZL^0>>?09ebu&-69mqax3Vy7 zIP9x~%3GG~7#x$c81G@->9>&cg}kZcw-mz!)~wV)tY6cA_z(YQ;C}gU-;F$|YwZ-4 zedYW4KjVMqj)eo2<7Itj-z(P#m@F<+S0?p$F}l>1*kArz@4m12Z@%_V-(`8u9$XsC z&G?7+nJWe#K>rUeL4H2hWdADI zU+`ZJ5OM$Dzj&(5aQ%*0=M_9q-%zgX*;gIDNXw%QK$}l7cI2e8M;TW^!W$&gBjZWv)xzx z$2JV!$OE(=yDp$Qqp@e|q^=D(f*xs^8j-QaQ#k+6xp2<+(+AOp{$@M7w%pvY*!r&Z9aH|_h~m!|G%Nn;5Izq z{@dx+y|-fjjRy~i8+Orh zd-Q$nDaO?Y@1o8l-oAqU!|L|#ljH!S?xUMKuiku&y%+Nj(3ZXI_mS_=6tRHv1vvo6 z!j1!1u&r}~H-P=tbHwA(j<#jQe9}MM4_`ffN30LMp1zjt`0DbmF`U*FTVL0NDTG3MSXWh<&$?Ve+)h$|rp~$~*Db7(CY!5O?(j)Pi@x z1JHlPnCs-b;;s+N<+5_5| ztFQc2b{aR|)Qmj>eMGsfk3joXenw@!8~VC>dEo$JwD_&Q>i#B@_^ux0Tu5bt7@__W z-vxo!==a#T34M2UwrMDrBR}#jb^>uf_yGE#_67NXYaA)}UH@m>Hs%RZW@DIkZdX^% z_G;(s`YgwjdVh=uWN~XpH}%Xq0?0_?1@!|5{v)q#gMt&;4v=*{vB766U!CI?I4ma7 zR@%G8&|-%Ww>%%;AE{un@%W~KXX5Y5c)W~d*_PsU1@FAR$aMX=+Wh4fwo}+NDmDd= zd2L`BTqU+VV~GcFO#Bb5+Le9U#(!j;U;n;oS?AA~pX)F0XM2ui__zP-ze|gYi&3Ax zgY|0C=Ofore-STDasbO9H?hpxZ{$Skh?Y05p?$5hC9V`cA@M%r|2D6y;J@`0yr%Mw z)?=P#-u@r$!!zy6!4t?U z=S{t$D~I0CbE@zS1yA7F&ZQ0f2Y2mXWt|`SSpJ`n1@_YiV~z{`Qv1K_zbm)gmrLZe z33eeXwE3&|c{ z;KluA|D1W2)Yhq8r=7I{hz-OiV0_&GaTf9cxz{lDIW_|qz&2p~y?Vbkf;=aWeK1|V za1i{LD;T$@e?EBB=qNS-FrBUV@3n<57`GSxd!8ZJ>Z4DYoR|0FT>Z=e~JKs6hxl@)R4`bdFJYX|eYwUUWwvB}YQ&+7b zP7ir%oQ~fYF!c_=v4`MdBL~sV2hhvM_+}C7E3+Qc(Nkw)jpNStypDi)t=v#HXZ_Oo z*qH}dE@S<|o{KJ}oHTj8_^*5o?f`Df3&eKUYIClkx|;Z{%!+vl;IqD7{T{pb*2eu} zMX>|8FXz!$pr62N^&j{g*IKHnC1$&78+plrGH&HK8^=zL)t7VG)>-dzo|N;Y@;3!6 zQ^tNdK#2h`_B`7F#5v;_wae@GRHlSop@P5SL$+&YTfcRsK2~tXcG7pNY&EGrhTnkW z8MnnX?BV<`$vguC$xAtq`2_7iY?qu+-cj1cJWBGJB?bP2_inXyhdiPEf``!_+K>V_ z#EzvT52*aF$QHT5#to~HWAD)i;R36c{X5zU*3l2_Z`R3X{K`H@S!N$lSC^A!{IA&m zIcI&vbzqI<^<6Uu$lLtR*1_+mct7yidXyj7mx}M*e0*1RKC#mz?#CAFRjyjs)}P13 zZuMIGgYCT$pRCu|kHvEPMbY6cOYje#TjKrVe)21J0AsVv*M79D|1Zz;&vF0DI)AqP zYyUU7j=wg5`jB0*Zc=5u$)%Jf${Kb1j;>D1o9Ao#KCZvr4z6`Fk1oCq7WmKlTBF0{ z)fRp(vD>=v+W~#pWBakYo0s-2+e(?KKeXuX@&xf!UEeh|yx*8h<&${s{A+y^)`9Y% z2j8>){oX+^V2C+Z_`&ss4~|WQEmxi}g#S~#*UxVpcuB^A>jO3>O#IOg9rMiRT>sxW zVCehkr&9|H#J8UcTZVne=f>Kz^Ta)&<41fsI;p&4dV%@;M_6<2lxqQg!qp$};eYv`(z(kQBbLMCC27x$`O6!SX>xT^aQ3nfXNYeY5DyUBH93|r^MuS10-V;TWvbMiWA*R>agTgZoDZFzzE^Db@=H^mPpWRuKAhM%zOd_e zIG08IR-ZS9MLU1Nd}B}Yar>}5*10W?pKQwly9gvYuo2OhL@B{n{e>QS>C3gG$Q0Mz) zE+Ni=KVVhC#C$yC{jy$cJS6WypH&}q>vhWRRjZX5Vm|zka%z*YyrE-IXG^#retzbQ zuFGp8>|$=GW6^d0R<^g8Z%m4|2<_75CkM?OF!R5H`(jMsHC)PLEAij=$u@%=1GsDp zSjK+iEz5gH9172qLzN`{FJp7Y;KJX+rc>c^)<>yF>)!Zx>r_7ObB$&29W9R>BJSlL z`-^R68yaV*f5`jHBWwX~$;(*4e+vKYe}VtV741*4?w|6eA{%lHfE=Jc?DWP47@uQI zNW=#sQ;hi&-<{*{_dqPOHkW4PoX5l0&sJUBckArIpQ+!Hdwr&|M7{h#KX(15{gi)K z==l02v|ZZH;(wM=+5X@V z;2w5?x6|uzjmMvUhRtFwCe*lfBM7p%Rm23`isB$Yu0=Fe!6w{PQ0&j z(mK{YrO&ru|9bg%Bz>N&U#?7IyV4erzk`%HK)J8j56XCUt1sAj^2%fFGOj<^GsJui zcwNllz}D2+4_-6pF6=m9zwCX!eX2l2byWn%3-?)KG$SM3jhx2m_XOK6Tv>kZ;O8hsE z7mpMBSJ6Ym4lOS6-{*?|c|UUpWz7lZ_gN=rFJFhdvnDv@5-*Hp%ldbYDbsJB=cBoG zO%>+k(RXZn^=-Fem}?dG1_v03?-caF)m>+=v!^d_;RO0;98-P=sTE(EGFUn0wxyZ1 zNU*yqE5&U4kaO{34j*NRZSWG;Y7zgG`_6gG>kM1wCj2eRSm!}|zhx6kP5FNBW4#T0 z9P){50}u>|^LJmaD__y}5p`~TTCb7h0Lo%*|Jg@dg|Eyt*Ftwh-pc{h z|HLV=v*_3AVfyHO7qLJr6Yng$xS!{`EzkeUzJiQhUhDtJPh6)>wdsp1VzBjSdx~T3 zt2YM+0PDo8Vn49%<9{5l;6I!y?j=v}S07b>3|j@bY@9$|w>RT_!Tx2;&s-qn1J{cw zJ9cCr`A*hu@cnYi+|2g29dlW8{Gi_yaQz>BC7JVO&f{Fp?bvI?f7{x!7yQpQfE-uh zzQ=ucaV^_CG6%@>EeZ#4TiK_+vM^jU-^Umz%tv1>{rFct{tf0e_R*W+J7pEXQ*qN!uHQ|m+{}Ro%>_x8_0=T zY+{)Qvqers%sw(H=K7 zp_P=Z1IS;Dz)oFB?Mb@5MIC?zZ$2nQ9*Wy~XUT@6yB{2LJcKVOM_YMBe%&ENp z%+>3}3Y<^ZSQp5;)hA&*z26x;0aj~EaNPjy3CHUvCN}qiF6&&Cj zc)?H8FaGRL)4R{#r{7jZ9E2RcyywcTa!;AR5qaW%wh18f*>^o6$9IfzwuJ+ft=~Uf znV0*0BjR&cTEu=bzPJ$huN^+tlfc&G{I|e;+T1xD-Qb1u-%Q4I7W|KOcj>dm&oBP# z&oB6|-6_wRGjHNn$vfuaf%mb`R$E2*@x^@FB^JyRUoylpG8B!4fYk#V(4+cI)cOw^ZZES-LW z4aW6xkC+qRze0a@j@%}Wdw%Vj%9=Icr22gJ5n#W86KDqrJ_a8U_f4)RalAOcm`~6$RR6kd@1PZ1Ny`{^U`J(rX3pYh*3)!WTSy?hCq#b=UOA38d?FRqK%#?#CDg8Ole zW3}MBZ65YG#+zlbAKPc;hD&+jr_1-}XZUSh*VR#Xm!p3h_d{0DFN>{Fc~Otu&$V*{ z_bYhsS|JhR--fJHpF!^U&hh}U*7bJOi}a)Fr;oKxz;OKlwo82D30YxTT(f3mViFAJ zyCBF<<5>39?n9=whCMK^oiYF)XAK|5xZk9a3&@l08-A-t+}9sq9KYjKo+J+ln}5X? z+>Kl}E^BgrA-1kZY`;}r>N_9d{-IIz|KaRE=D)T9?fYT(NAGt&xhbzP@4EE!%;jee z+hOLgk<|ZV-MgcFSLVd2uu-}eioC_|oX;O&4PWg3^M|!z60e7i-grT6%f8F;^A}=` zK-UD6LujwCj2HPv?nS=4d-WB*#fx6=cLZMp9I=cVM%pJH+?0|j&=Q!9#mT3kb!gu+O{2RKTlu%+zLx!TpA&dg{5Ab%R*@ zZj?3W!3F2a86VdmE@Lb9d&k;`!ln<#=h(eG$G(*qdE-r8tE#L^mFL?LlhT#@a|?ag zKHAg)-gBM#`#q3vm<_~6j zpK&rZbz(p3eIbwbFh=)qTs+?2+{S&z?(y9^%Hp%t??X@bUXnI5$My?2!}#(09VW+8 z=m%mvc)Lq}0Y6mFcRjIP9_P6+4^7#`|6)s29(ix*6kwKEQMk2oEWQy!8MN;yCt4ZD zjg-eYr1;)1vc>snTejfKRu>0Xjn7k#2TrWYZLN&f*Y0;kjUj9zCQ|Mmb?MM4jXy0v~u zOZHu`L=K?b7iZNoL)T>M@yx%#Ww@9eEypkD;}*MeY@hEcZxMgw3T15B1|E~EiN_w# z^q{0tkT_|`?*i+CU z^`DFHTj;CX^NBdvzUk@iHGzf2eKbw|~&Zy!m+krtkQSYnizItLw&Q{GVojwu1lK<%0u&|Fa}*^!n~y z4<+-B9{5%b-y%B9TB*eQFD|4-=DZKWHC)S1n~OTU_c*UlzrJ>Q?bEjPxy$JFd@twH z4fw(gbEp^cw`b)|>hP{Pbe=fD3pZbmtu}3a3bAhB%dZ4CID3_~g^3%m54gtBsf(A> zD|h(j5O#!D?y#l+_4uePP%;Km2~993G}(W zAtTEeR^F%s1}~)Tjf)Cj0pmFATKEvO0~Gu(K7(&>OMY&(MTiCVW!HHgWUgjgmv(pO zp19_u@p;kT-_XGB{1v;s_XMVhD>(&ri}hkSxft`d4!Ewd-vc&z%sNyS7;`x_%eNjFcVgJB`w!Az{PW+X-N?(p8uGWFi5co@`ZPC@ zx8MBHF0Fp*^MVUdroeu1Ki28vT*NklFXFxZ*0}V7{qFlr_2puZbZry;sLR;@BL2$( z0{?@T+2+<0a=X-H!G@6S8AHT*@h9+w{ony$kvJs&_}}xsn_Ds4WBNIa6VR6GF~_1h zvocs)i5TMj#z?-d>p<)&R;z<24#=? z_J>Fnt|$K^#WDBcrt9IU@&N1GF&}m_#>$J>U*ZOf-+=!WZWMlb+9}2eTkEl4zxC(0 z2^}ZlFR-1(a_Z7P5PTroetFD=oyhZ!QTcl58 zKcMc0LU*)2#Q#(0&!D5fma4g@5!;BI!Px(!XV39%f%Eb0Kz#;RUw=L7$o%|9tZN3z zD`v4ttVK6*PQf+o0++EP+~C?9ufLX)`u`i)0v@~*wgc^EK3iLW{{K7R|AWVThk*3n zvnT1<7wG@rd_R5n7k`w#WZuB@?|ja&Ptr%<`7(X+y&t9LpM8}+f**YTy|2=DfAq8T z^I!cY{jK`s~%`os*9biliRxJQwHFX}b^mKF6ZZR`6b3PCL68 zV_!E;ui(D1cIA6jv7UxFt}Y)*eqH{{3o{s{Li5+nd zYx6kQ+-FDJKI12_1N?9-TZX~`0;5BZ%s8Iqfigi^q3)QI$K!iDVvX2c(fy0QS@izm zU-Z7vJ-I&gPx^V>!@cGe_-{U>&_%%<&&L}3@L{i+nmdd=ygBg3e(d*#{eG`dM#(w$$ZM&p@xi9udaz7`1|H}Q4{osP~KN823^U76m-uktjTn}D+3B8kTv`=Ll z7%yIfF*$A^>+kNHkFj#{{;WrGFW9gCYhB0*#4p>=`Pe4qY^?hq_rGWhh(5)0T|YSD z`&MB6GX7_qi~ntJpK~6W_HX{pf0ur@68C8n&-tySqW|Z4ec3+~$13=rughGc@B-zY z`f0{@F+L}`Ncemz|2=MdXMX_ua)Lv`9*G=LJ`~%(eX#ULvA*EGx=Yw2m1U$Hhm5|D&TP`g@4a#WeE|CH-DV#^ zbLjuBk)l3itcUI5d;1KzuxqI3&r^1J+;T?j-Y{`moD@WUUb@BZYc*a?1^ z{`j}QN&n(M``h%Zzx>m5mKa6lVHv}YKW&iu{ahE)eR;gwEN8_BZ~{(HYy@sg${3Q* zmpt9>KnK!(P`|&9KEgacbp6oV=@&7ljy_p*dHafMRu#W|*z>_!^>fb!=8OHL(Aya+ zZZobITbi+Z1^2T}ep%LM{akskzOOw`UhbIGE-zmdcXu#;P0smpE}Gx6F)p{R!I&D? z`Qci|LBs`A_Ct?nTxETJ8T-YEj1}O8IHH~($12B>H_nNRgbWeCy{^Pcd#~~>upZg+ z!g0oOU=Dd~XWwtG`Cs{1uJgb99#h9w=XCyeZ=?>aacRB+YOuWFDVBpbIg5aU;k_9!)$%F_9o@Fa?$_F{@Q(hyJUIZy!^?z z$u0VOh{~>RX z1Nxs7c`2vtQ@r=mF|M;0l=!#9Y(pZxx-NKBv41{70sQ%^$h`ZTy!5 zG`AS%@A^GmF^0@no4&q)@CU#FihWDn#AM#uoqSKnwtBs5;Asy~#yM|7ZfRVP$JEW# z4b{h+xIefooK+d@*zkUNfwA^-31z2k5Nonw6L6cqheLTOYdi8?9M``qHwd2twgKmm zi~q)h9b{kpSKpmf-v>*_r}g=>Zha*5{R;m3{dw`;Z`;TRT+iP*bBo~kG4R;+PPIRY z{eDAkmh*FqN3kbNr|ur+|6xn$C!SwlrkF2=Yrl7`Tm2Z0FYWVwAMnbnui`5>9LaAh zxvr3F0BPel*59>%&R)9~J`!UHjgb)d{Z`OT@ZCCcet>p`$%O^t2d{?yFDEee|MDx& zALN_Ew_mN`|0D2!D(X|4yJfun&fRqH;XCQh+xOC&Z{JDpJblbJ3a`ie>$f;_`4Y#T zq<5Y@<@gQ04gYd_{J|&b-S^+ePr&*EZ@-(Ke)L)T@Qbh0`(J!PjNymr32_J?fAPKa z?2}L63(wLA*bj^$_?v(DyYzGX2JgakTH11aiTL1n*Cr{KG^Qz!=WKH=W4p+eg8PLB zgk2zHPUZso4U5lE`4Bt?SuZzqjSFJ|8kj$qefJd}9OI#4&o6k-G5L>aX^tKGyyGYA z@Z_o9r+qLdbUN~P4t|cY%Q~N9AnSYI<^tIUpYdNj%{rDbagNojQ!*d0g7?{H3}4`X zw%3c>%PGr}EKkJlNXi;g`JXXD+ha}D_5o#O@BsUS{I762%B0WPHq3tfJhwrczI7=_vwrN$ za-`sEl{z-wPyC8DL01>2B9#=BK+lg~a_+r1Q^oymnWROdl1Bm&R_UFE`Z+$Aq ztpno(Z6A|mDr55xZM7TA^-GL&wmIau4{<};Zl2z2Uj7$X1M}e+a)5&W%3XCA>!PIK z1iZ6(m;$fKLwq;R$?HoBeM2n&1IcUR-lglwL!MAMZhwv>FR1M6N6Iz^d>8beO`G6i z#6mfDq@@k}Haf6a*4EvNjBxEk^>_ImeUve=YmYXwT<;n8wFOjk{EGhnqP?H};~`c~2F)&JGcjYn0lay`0;?*+5i@16bO0YlOB-vH5;Lh?z_o(IHbA`IB;^y| zor7kqfph*`4@lqto9{h}a#(lbziS8^J9zWX-E`;CAjCWq>pDi-t$ktOs~N) z?mc=4_J4%_|1~~=FYyt4k)D3`S$fQR#7{o>EIs=SzrlAtC4GljfiKfnKlnO*{lg!m zpZ)5O(qI3}-=%;4ul^zZ1fAgg)hon6oQr;KTyu;(v*&FUM=}^Vn~T{=c0*uKuqqs39-o0n0Uk`{IOnp}m0dE$+u! zvB(IwMMf+gi@Yiv0D0mVD%fnCT-ndqzp_I!P|DeoXJIY7C;T$i^Q zGn`Ydk6n&*o&Kj>5&xZACBL)p*&fPOIYIcG$O&FBfxI==V+sE`m+h~a2QKgXU;NMOvy{0WZq@(g1?txJd-Ze=Rj4I9o7_8aOn`>d@G=1*QI-mxo!7Z{vO(qaMXzeF)B>H0I7W@|?V;aK5N_c%EZk z-MVlKZ3c3A=MROS0nU-RfZsiZ7jRq-AjWGq^!Mvu|GLtS&gYe?z3*;@q3E&0Jb6K^@x{-ruJ8)hMa|__0#YWcx zR_RMrM%X{HT_*br%9vi+Hs#p2@qfu?K>x|MrR@JV&)gp?`h@a~B<|M3!NU&9_>49F zT8yo01kbhqBNG|Fe&5GDwEJ6DzopxOzuvmE-CWmP+}G!?&0fEK_$3(&5tD~+teZJK zUKjrSVgo?O?_@rgeNBDO_vsxN3}1lU!?-9pqdda3T;hA@>^m>m=S;D7nAbH>ciN{~ zJKD*=m-zg{$aG>5IA{5sPvtjT#d`I9(=7NrHOJif8TJ?T?UN2OXD?#<`JUaOnQYTP z=6CB%c|8*C0mlBR_lwE;1GKlB7LJ~XwM-lb3rCC@mizrJ94^G10o%d3{QDal!tU<1pMLYb!18n_oJV(A@{K3^%ZnL)GebyrI z8wF3&`=2nk@XJrrd)OBqJtuweG(CnpJcC<&=SM$CzxeHMnP2c%>3cuzA z^ndYR`ETEkxIpoqJRKYAf1b;B#DeQZU(0siz%DI@+1fF;< z@8kD{7sfnjw%fT*yz#vGYomy@QNdQPUzx<)&BUDfjTw_1KpCmNr;h3|~{1$;2(SR?c9zTfKSK3P(K*k+y1eLXV*k&B^SoYD1Ve%Jw zf%v1HLoD?D{I-E}6RZo@Em4OkdB!@v*vGQ%A@c+0LaW~dHw62|fB8TyZJO=>%E~Nf zBhDkPDf(BQqv6^r%2V4vxF-LjpU^)F53r51PM6zT{oL=@$9I1yyX_%Ib56Lj(|55= z-1q&%HiGQ5ZNyn|)q2yG>$hLcJNjv*KLzjL`P!kvMgecpH(gz840bK?68ZhJt$&4W zpXY~;&9kE3D`QK$V&E=qudPEq<$N^P=$E6|-tqv)vGu)f9ri!)+&qHMF_t}U%C??t z@A17%Vt#qg*stLKX8eeM|95{E?;1L}HYA>HKKcxNC;d?BS?WCn*JHZ^|BH>^i5n^ma8|i zZDD;3Wmv=pa=yM%8yfNS;J9`G+tc?IgY^N(0b=ew`{wVM_r2s7#$TzUI?viQy^I46 zA1eLK{4JjxL0l3?p{1l=eu-%L(VnGTz^;mcU^yN_xb=9 zj>82wCeJVi(7A>EBO`I`Fn$4b$pvBu7Vse)<{P+PW2~QTEB5OPP=D8^Z$5rg=){>* zVFPe2W8(x|8%WHyJ+x(*j$b$*J_Ns~<~&H}9l9QX9K<+*tLRzIE0A00H}JhJ?{#7T zUw!K>Yzk)stBtWRrcim%+)5qccX$80zxWwkt)A#uv@jJZVSvZJuC0WxK+sh;D{eGv|xroj|JahSSdhPx_)*XH?-Fg!n z#ig^@1)gI6f0*8RlGi7G_`&nw0gpfWkodwc(q~_PoqqU7zX)I9M_+!C?mv8(F5uU= z36~k9F6Fv`1Ly~CSG^<;D6z)bMywnOnZ)ssEAj$k36KRVZ3AUL@*}U!o1I_GTCmiU z_9^X4*1z&S``eYBSr3n`ay(?Y$F$2UM;VuF^L5!)AOFiSw_LLwoHlI}U%{!2@z|{^ zdZBuM`1}~#G42`fq2KfV>a#h{SX>vMGe(OI#g7pC{%0Jj4;CCR$Hnxeea^p#y2vRIbWmyWmD9T zb)&7>XRX8wpJ9IrKEQK5uU#qIAnKwnV|;k%VIv_cC;JqrM_QqKA!VW;J@bz2e6F`7cfut|8C;M`$i_C&C2|amw1lv z;COBVcZ|#0%bW|pHB|5arpzV|^ zg$ro6DfsU_(KjpoRvSRr0l;7JU)+xvD7HSYq?mUL-Umm(Uf>ug^YiRCg*SMe*zI}k zTGpxKTfN_T0^+s*?VBERT^41)QXC+drte<+z4mo|PUazZ@VLouh`2tSa@p7{DKUvZLGye1K`3nBeWA85<*Vb^cP}va z|NNDUtgm)4=KsHX|E=^0`}r*P2IofVGf#kkBm)zLGj(hq+5N9i#-`s0s3jO~-p zK20Bg{|7OCos;kSZ1=(ax8Vh@Q*f0s-FxzgH3dJ7WAcJ0pMHkEPpsgh?3>U(a_`Z5 z>DsNE*hFUO2kpcOd`!H-+mW<2d<5Qq_WkdtCp`Q8Pd`o{U=PqH@F85_OV=U7U*LSh zZ+`ys^w)p?_vx4a$)DjjxkugT59&uwEyof0ZdpcYd(>`=Y+`Jg@*Klu4v=Ndi+n(P zqj{*CxbN2g@x4s+Lt_Tik+j8EfkitVgTcA8{If(G`hOOYzrA9et+-v1$gD|{gA0Uk&0*3c*H zPuT~M_5ZL9t-yc#i17fS3r2r2rXh2I(!TnM`UUs9?nwgqIaQ1;95+=o~4fZvNvsN`v#6}y6Cq1X+4ALAwL2gVY(hNbvu-;8-D^ecT^ z5o3%WQ-6>D<(y0X@>{qsuG^Qz6LDRPE;0Yw{>Ar3bjjcWV7q$0*E;{&wYlUa;&q<$ zm)8JrEk5l6>aTIGvlF?0AnfeQt9U=^(6Qj!LF(bI>uOoVC~f>&-+Z{1&*9J#&^SVe4_oq*uwDtqa%+_`d!&Ea9aC6`N0kJ)f=}rjUT`` zzrq2u|H}amp|`u%zc{YGf9N>t{lEcC>c2Ur?@Z|0auUlD>y?gA#5aM|@r`qK{OKn! zX5a|?-~^oD4Ep)YckhLre`fJW@a;1f&oKw^Ld4zcuTbvVH?{}+5i_$}fEUJaYW-N#QtuXpZ%egyIVDSrO*H?GIMSMW!?!Sh^ONFHffwHdt2 zT!B~bzr{D;S%3Jgw}OW#E3f?joV{sqR#%$mS}C!^FhIe7N)bJ?A~I1a@Z3%!d>AeeZkkeeZJa`Tw8)vz-3E;^48P_!W+#GtG`; znBQ>p)QRH2@X?sxSk2(Tv7zF~Nqh&VPZfubA1j8>o+*0w_M-Qp-iO@24sR**c=}vf7hrq|PT)9H`aH7C{)3U<^6~O=EbrwMctGXc zs(62b3xqzNZ0fMj!E?ERxNe;tZLKnP^F7uv_R1Ba29NJ6+&SB2+16J(DmVVaF+Z@M zcO~q4G1zgRexr_P{|Ve@91Crj-!f*qUAdL8JK6XnT;V?47t3iL*QR|QwmcXkZfn!| zJ?wUVGly#I_*6&58a(28#Qm|a+`zGSG~PS51?IDzpVN5fn3uHEY}MHWs)wOI0N<{@3)^Lrh~o`+5*@Rz9jls;J=tpOPX`4GjCt= z{(61la+x19fDN&S&a5CafNb$@3WI)IAY%B(p!;r{nre63+Wy;Ew*P8yQW%wyOu#*Q5m{l0VCj@ZuQ1#WYW&aF8Ky!0KAlXx6C zx%t2P_vSS$;=U8Z4rd9U2lvQ6seWQ#ol5@dj7sLMX1&*{{~&RL)K9Hxm;4FpA6YLb zeKuyP#0}CMj$h^l{+@Y7-ZuI(|5aX3KOOxp*q4nrP~(;dYB#7K*;kxbN*u2cuhHX; zO%3}6Js|Z@Z2oNb({KIV7=JbMqyxYKz*GCNy1zD$+#omr$8$UVVCw#nTg`oRX+B@d zrPd!nU6pEUsZ&#xr8Q^OFC5?e4{Ml<(aEM~&K~g6{^@nA7l`-9`7LQ(9vnd~p%1`X zw`%U%&hip*x4E^YsHX;yu>kTb&(&?Cb`F@l5d3ce|CcQ%@2|BL90-F^?l=dn{J{B4GPna*bHh96JrAy&*)oq}IRrfBNV94;|otl2#!H(5K=%(B9F;bDtKUU%qoEv=zsaTkqTh zdxv9=L46z696kj0JBPpv*I$nO0`I-o=o~|bi9>YWL45)~>rGsn`oDDu|w4Wu8Hf|%XJJMJxr~k z-lG4&Ah8AJD;_8g4-XZ`$yvN{`&D8HJ}j=^e5E)=j6wIdt;E76Ez0YS@x%89ThK9I zJ1^CANj}06{FfVinFEaeeRO_-_~Tr8#_e18diqT2-#w>Zn{4W^)dTO7y(R8H*o^0P z%y#?_tcNQEUnq_55d#$1Ph6Jk%Gh7B-2>xCYnQ!8DGoz z&p4X#KkR?;AIw*qRU=R%idYkIn`Zuq&)f6#{$%VAJ%#%(4(JOAd!8}V{-S=9ZG3Uu z&yJ^Jg3Z3AU6_5w{_eAP&Jg`u-Z$Tmq|28yGVV>p)5NmmlNWFCqovxO=E57N&wXRP z$FMKN{l)h28OsZN&$6#yP9_GsOxQ24lb5IG;=Yl8ANXdRKd}THa{@J<6Ngh%U|aZs zx}U#`gW_?1$6bal;j@Jg`dw|Lsl0VKV1Hrma#qKzvrD>C^?plwA zJ@svK-u&;B|Nk3d`-|)5wk>O489KM)l6a|4SwFKi1I%M{-o3UJ?b!88(LsnaM*H+Q z`Vp*~CkHUkF!0~JKQw^$HS3~AZkzbe=at~I7`=v?{i})Pw`s4hf(wZG+Wn#bqh;%x z_kZPA>iy!qOKo-S@-Sv+Q^WZ~(??@!c^!X$8r?bG%P_f71M;E)0ErwC$d8+*q+_V6eV2Teja_COj`` z1*PBJ=05x{VZXM$dO_v_+T78^aD?r}Lhh<2R$EAB+FK`^HZ>E=G-GzKi+t0DT0Gulajy!*=2O zcRXdk^ToAsUFjKu;c$T`sOgZfKiU8G1&6P# zG-n2V+uD}C6ZZM618BFWn1J8|nIp&z+>UuA(|Y$w@5*T2@K_v&V{w17ZeTx`d*%1T zWxAK@F2-7*>Cjy2cbo9Ey5uCra^_3tylWRWMb2LG6HE{7UJMWWpT4Z!A9a7heQ`eO z1Hu!u@w0!x^~o2YU%)!O#QmY^n&($lO`RY3!2E{#;0M;~Z&=(2m!fvxLVWj2nWK-- zF*h$Zr8WBX^P2*#Aq! ze`@>D+EzM`pMHA%{M76R|2xR_TZNsz2HanRO}}O%Jb>ChF144n^VI~50Tkn{B`Bxz zJrdtM7vublJM=xDkBx3zpLqhCu*Wy=+zHl$O<=h?fm)60xA*VEZa-FR+R{Z0gR1CD zYU-P?w~ggfdGs7u46dug+y8tHauRb4%>z^qXhIX&u#I_yu)z=F zBUrb2b3Bvtue<`^YK{F44h`~b)BFEhfAWWLowc$4n_ql8;sBj1@WPFoVErr6E>ipV zB=vr#R!j{&VPI%D{?k6-bI{%}Zqa7_0plI??KqdKITTCbX@_1oUGz}z$Xbh@yS!_V zdtiP+>xvHWey})6JfOU&{}B2Gz769k8|V*?y*rr8XfyX^a}V_txo;bzZH7N|6`ft1 ziq1_NignC~*ohCPljXWi8;fl_sf9eaw;0B!aqr!G#V4PCR($dOFNznhU*$jB<2*c< zM`$j!Rn(DV{PNv0mWMHJgctm3ZNRb4@yX+iZqA8de#hh~3G1JN3+VqhhhEzx`*H*4 zf#&2SMYRT6Bf90zezxmH{}G zSurEwyuNI)Dm_bZ0~H0%D7c| zsQpgzcB8?-^K6XzGV&oUoLTl^lp{7vD_fIH1AI7bK=lw0`dWx z?@F}NyA+?jZ}u6Mz6Y+e56PL;W#ZZM*>js}Tn#)`O!NG-@y$6G*X69@zg$sV4;=tb zkUr}RNb_{4^^5tl=Ai$BkKr4DOV6vNhJP*jezdu80rmTu24c6+{3Cu3ychrV<@>#E zVMFLr`T?}#&3X5obnY)}DL8kiI4ZC3e=274|D5ll#fxLk8+n88qvx+}u3pfB4V!cQ zJHR9H-??x6ylNd9Klrp3|Nj~rxZl~;&9a33e3t{L<%{#q$?J8>1H?DaMO`3r7v?!% zJT=KVwy|$wxAv{`4!E!L2f3ZLy&Axdy?crO!{%>m0UIVqT_3rEc7J#8uF(1AU*-$w zGcbp6J$89FOL4xM`)GW@=ANBle>=yY{&wfC74!GvJ2*`IT_>N_a4y`u8FLT#><5qR zrCw2W^n;)O;xEuVHpb`Ae)9*#ORv95oIi2;

    _$cCNvBh4l+<>LCZM&U^0`yU`g2sK0DYB5fP*k1g3?Y5a2zqsJJp z9(7FObILu$Ug2GOuswnfP|iW*cgIS{H@Ss2r||*C-8h%FF)@zeF|PAj{Wkpi;=Z}; zERCTG+~-{ldz_{3ZCS4e>$6VpGTH0K;@QA_#vo(i@5l1A-rv;ibBpaigo zFRq83Us{IU4+n4`?d!mOctp|)N_v6&NB%$w|HUa=#BHV6P%%e6CTsfYK9T!J-%!W5 zPJ?~ObCGY*Y<+&Jg( zC7y$Ik?+s{$vv#U`}i1be7PIXG5CV#=`&BYc0BiZpWsIxcgl3`xg22DoMQ3}a0(2c zSKk=_ZC&tPhmHmg>gTur%0a|_wK!u{;(h;(#NFiwmE@cFe#uAWxoy~r&O0`RV~-v8 zRMFmvT?iI9rpwjxeU(Srr@qEG;X30RtU=*(&~L7vTn+r$$lQ7chA*F;lc%w{IWWy<%cB^7~}=wt+;EQ z-u!H||E&e6pWHbN*3s|Gu{XzH7r*V^e=zd%jr%huP~5VA(9s?CI|K{Nq3R8S@g~!0&L5y8k!AKjS#CeAPNM{}aUg4@Vn5 zbF4Ud?sU`&Y(ZCXuHvIFoG0&KPv`^I!t3q>Z{Y#G=o!{Q?&{lF>_2^?*ot1ixo=mg zM$rL&AB_Lr)U!Rb0P7p7p)7zmsSRw~wHrHrci?{KW;q(MnA-ZZH5)ovCfk42+SNtp zhQtHbtX~I*=qlE;eJ9)KBj_XcaL>Ly#V*dHZ%=RN0tbeNs7>%9@dK|F-~XN8EI#|u z7sbstUk@JY7%ukZ=ioBNr$^K&wI3ai9E(fwQl+tRB!1vQZs7O^7vMM#Gxlh=On91k zE5MxaCQ(#;ZI|jb0jKo^9YV?sNZLr#@U>$9Cn< z{?0g;_*z$Vn zahx10rQHSFqAa_d;mnp+#Ks&)Z=Ir(7hJN|#x`s07O58`J&kGyPm{@0CN;3IQXE@~;}*EKWe zJ2~E9lD4Y#%Y5%WA32A)Gx`(cN7|EXxAqh(H+C0wX!6dZ?6@$Vnj}v>V?2#~ocX99 zr4Mu8ZJ{4<%m@7lvEF-3)9)5MK`udi)CPwOO_TeUo_&go_4#^T;V&rN<9ux{)mt9s zT;)F2)G#JmQmw+c{RvtE~$k zyxO+*zP0|Njt};%8h|>#_OqD3j%Q~R_cwHJ1yeSs*nP0pn0D=c@g(zsjo^Ph=c3=k z_s#Q?FUSjQZm*uLJ|Hi0Zewc*ZU-O5d1K|guloPD5(C(OU?8-A`GL8I+rWGEfi2{| zo6~1Z-}#qcVQfh8p6)w1tag4dV(;u@`qAY8!2?blk9d0h^xFT9SC^U7x3!}Kf6zn4 z-M4R{$D~?@zxd^UU3B3u@R&dRm;a);{3`SP5m$fbgAb!dk#z;?c^+GOcc39$Cf?v6 z&tqw9f0($1z04o%f13BGc5(9372+({a_+qmCt!|%xf2tgXMVzk3yRIVdy6e#v2*ts z|6$Bv)GFNF7uPC>aGgG>H9Vu*!l8?X95$bfFt`Z|g1&au0W+LG-|-cEdxq;G5Zd=n!>_ zU!+|rZrr_7d`QmWK6HsDIF3F;?^AB_X2&x1fpQ!HD{u(wqV@et4!R67|oj=Do zCFc^)StblBZOi_0iji&8c4B6Y{8aEdYxeoO&%pXi;%n&BV5~T; z-7nX2edzcl-QQS$k6}Gvxk7M(3b+94GJnWiVG4Xfe}TUL(M^romg4`d0hQ)Bids|r zx3wga9iMFas5OChB(8_=0F2MI1ad66nu77D)(`T2CHzifz8D~er2CrI$tlDIF<>lu zllNg9`jfbu?rqW>tf62ZbbIsDjfZpFBQIP<6HUIw=-1*kE&s2}?1S+cn6nq}h<0fF zmTb@bY?D1&$`Qm)6@S8J^_@{m3)?lt+IcTCp-fNuP*wjQ{LILCvt7&2>J^2 z{ZI3`m3#-&(GKJTa)D{Hs7oFG81pcF2F7LjPCAd`6Yw!=cyVm|`ZL52W#*8DzW~}ix>3s`MAP3+c2M>TJi2ueC+A@dpeMsjm_Z!K% z^m%yyU3#C5(TLnlJ{uS5KCZW~_&(SV?Z4Lcv38I?CgZoXeVwz$8hG>S>cDJsww>EA z`2f@c>doB;?~Mycnm|MH|2H-Tri=f^0~qtC9$?OZbK{B|{?-WAFGe30|DDfo3FE!B ze#|{=Kr3i&vpx;6`GNn~|LamLf5iN2@6*<9L_-GeZR^nfH*O)G4=feyweiJ&ZEkJ+ z;0&x6pZ$MxEPQX(^^FGQDB=PGXzg9E>?v$coi1^O6w>?WoST-}TQyaj!G z1-wLm$M!vYL+97dcfKEOeLs7Btzftu$hg13;bCg-UkT17=g{{)cnP?~6?({Qv&Xey6y8=e4K_ydEB8Z9#SY&G@+b z;3xyb`-v|+#kp;PKg^@H&zZ<;7yw7DRp2?u0XjEtDUP0fAv76d8qAs6xRZE2G>@&s z=`Ck|rIi~xqh5o#7v5*%9@IUotDw(&OK)%J3HmoSZs`e)Vm-L6?Y{vYu%5bz)*$NG zK#iug#B{*#R>So=)^Kc^&)nJ%t?+`VUr8TRXW71U2equLiw3xe&wd*|m#z3ztoyJJ zEoZy;ntR?4=JyfTvzwU4!`xHnGq`x|I`;S|J^z$>(Kyq~%GZiQc&cO&C};sW>M z|7b3tUXU~dmgoZ>OB+l-fV!)8R;tN5k$2pjxrEP-5gE6|>5=vMb6S?SDeaf>KX31H zWE*S-{;&L73Hx)rzGI&)ok!X(ehW-bza{_Vh^-&?e;NN1UT2Lm^m_0>4j|q>*uV#{EN>i&X5{}j8$TGX!>BS%fQ^g-N~VW>T}VC zS9j4jV@##z=(gg28Q<9^)loHe8vUQ91`s>|U%)h4!hd`LaEM%o^Aq$VpP$cV95#38OK1b)x!Z^_o57aHy%fx@Nx()lx zJp9I`iv#a#(fk*;wj_O^p&l%4#6B~|zai{>^Z&$6F;+X@&tm+-B`NklW9u^PYU}!> z`FzO*03Y=Y7~kIlj)?!s-%rjzxNNLn<^aa|JN|3yuLt+ngIVH!*Y;G0H|On%P4a~B zzn5%#?f8vbx5qna?6w+?z6UY71x>=bA;y=Ov!@Sy7qC8hk4$$}rV-xj} z?c5K)Ax3}a{sH>>9_DB0fCtv$>mkpRXV^P?*~{x4-tX0<2hh;n}3?w;+u5Bepo zYg8A{*895w4Q>a#Yd7cG3-0gYUdsd22DZyZ&|-GL`{V-$&^*puJkNZ{H;W4|UPeFJ z7XGc#?}49vkM!w!e_v{Ca*WI&=@iOz+!aR-X(jw zjM<}c{?~jK#~m+5_VY9NAFaeO{13kC$JfqI`=s1s$DD-q3HLKM7}5AgIKap{?R_{v zsrfmYIR6#+AM3>M+{)W%$GA_a@%vK~&`R)$dhZhVQg=x_%>U3{)0dyITMX8&F5BB+ z>2v5V5&K6U)ZQ0!XJ9LOOtpJ;doe!S_QvPLcld<91i3)qzZ?KfdO8>r^;f{-z<;#= z6i1LahyU$&|HotdUGAY><^2@zlkK141jFVZjs2c8dDS*+7@KP-UPs@f?_}J67(ai) ze(o3Jes21QGj6HzIIfEcVdHVlIaVxU<~bkdPclZt<4>ZN-cw-DSZvP)OWTOKpAuM| z?S79@?#CP}j>&%Zap!q*p2zXT(~Td`oCe_XcrbGOICxgzlG=f>GbvXvAIJY4%>jJ= z@`tHm&ofu|EaEuy1<;HGFt@LbxmgEKo-6Kr`n@=x=ivoYc~;r}p8?*B{l*Ri2N<>V zw`e6UP=PH!6We_j{sU`JRn<~&rjGiybqixTkEOl^Iiq@=&oI5Ga)XqQ=rzpbc+RUJ zPw@SkT{E9Ng>~3SyNX)0*2)_4;}#LSwz`uVMdY6CIZEHHC}z&9D=LUh@EFEL8qeTo zwX8P$4SxRacfSaKjGwh1>`&vLbgW4Fzt2H_9M6aQD~HjRaQhVVl=y((N4L@UJ+`HP zjb4{OkKX6O&ridFw7nL=1N6u11J|yei|tt3P!~1)%mvV2pq8(_Z~V9G>WIUvttYo1 zychq)mZqi6MI*exxB&6qctPv^wqyIXfn6;toWmEarJ3uW=J82$`Dn{)*Q@uh2lqGF zy49DHhHs7C6o-cW4+dFlS1#dPLf*Uf)z1I3A#CGRuLsQ^8@3gmVO;<<2y+098yGlp zBx)3TKPqOY+66s(`mrzjscW+vZqtMYFi`A62RH!s?j=U;Fr47Z?OWi}#>gvh-~A^} zMBd%mm#zlZYIDnZtiPx4-@L%%7cUjo?>~m`f0)|)YVXE%Uc2);_@83$PoL{2W@27E z-@pE+e=N4bO+5bhe($Hn#TzddFNIdHj{iGJ-Tynx;d3MIuiNb0yOVS7Erw1WDqI+o%;7_jdrz z&bUkKEyVvaZ-Q|O#`{^TC~7l-_423{*!yb!EpX#h?-88@zPW5UdJy>UyiCo@@e?g; z4y{IijIp84XCe1Ajx~*=#C(^;)UP?bjU!t$schnQw(QS+!S>BaxN^R@#r<0EGoufG9h>W+ukpS;oaRbb$9(K@u~oZC4OD$Pjmg5?(tV6*3OC&r#p9KiLC_hr34@ZIwnwa(vT8*BQ2`Cxx)Zj-bE zb;a^}j_Gl2;lG7j<@lqF@8W&_d>?KHert<9&@$dXuvFLo(zfmkw|WfyI{BVU{ul2b z`+F|dX%=U--={KGrhG@{4-0!c>F;81Vxq+U znb`j{If2{8_A^o(f!hZ5a~}Cz{LkkmJ9iMZY2ha3p4l(NzNGu77(qFJI%AqE#=OB) zHz4>6pRKJT4%;uZt>pkwgO+;|^Jza;@`EsL$s@<28Bch|+DQqMe3tr<0{n*(iq&y{TyG6Q`CihB)d1wYEaBS`!^dx_&+B{kJmH=E z*Hi3gEQilb+cGpUctga?@L&1;7{MrxOMg&L&-g8dkH-J!CQrw|Kesq`<$Ce)@BTqC zADnplSu_&(LT;n?&0L_&0|Nii0jj7qPfX#A*?u;+otS~rGCs=*Xk!1IT5{dM=vj<= zk?%3xoKgCUngh*s`pt~t4Sx$6u{8%KPMTWkyHmp_@ho*HrnA0b*>W@m z^dEc@&e35$N+o)G)ABU7Zv$^W|NOi0jC_y1Kk`etdh-9HQE-oaK2`JP1vY3uS~Jk+ zmtzLxTyakHCGWlX?(Z4rfAunLJMz2F(0xbZH$0B-r8<{>-i1pRM>BR#U%K|TK4fv* z`ayC4H2`s6KY($4+Kn-eqX{&(E@zx>4eS@=+8B?;e)9p<)NPL8sg|F0{ZgL4_^;g` z4eVb}+YAng+2;FcgKpTOE?~@EKmSJ^!PXY~`1r_0G=4xow>bo2Pi;MO8^cNDDCPmQ zuSs=*jcXU5s%vXFFXr(>KhSsIk3DQnJah5)9$=n6KD%xgT%c!gFZFj)En)GjN_g?SE}W+D=>3l=rB4txrM`rW4~>E zz2W0ofzGj?^DtgDm#?JW0^CcRe_0#%pZjdx zC-J{^IsKz`8UNcB@uB9cM14u(PsINPi+Xn+~dS!P=#@PE|$%n8cB`x{ta z#&|h^T%o*Ai4&A?Kd|5bW~}kOE@Qp8&$yQGUz=ThR18n!ym(Ny?c>@<+4^7cJ#d5Z zX!JhfoA~ej$aby#+-Z>#$|CzAE3k0OLN}+r-i5jsGk0kl-8qhyU|5{KA}1pSO7y`u@{@ z8^fP;{XEx1=mBt&{9UcU@igb~2lj*e5iiEQ3HxlzdzYRYUeZ~D^%x0Xn z-xymx2Rt)=Nj*2_ZsFX024cFo?Gq*thY0u7$F2_Qd5j%ztvz-A6nEgdG2=34U>(mU zI04JRfB25}e>~Gi$Pb{8cphGld`|oqCw;!T&!?qv0V!9v0$iS6YUTk%19SBOcwW7S zhKrBD|Luc^IX|>%c!FGE+U%0u&-2|$m83pme`_vk@%F8B_~PkgU^4*veDTEcv_%cNi4#{ptp$%pU&7s$smf5P*#Piya+ zuiw1`yKwK`z;7`^ojvONF-9-py0w27gSq+w)PS2A>(&4DBQNFNw4*;~{5Q5vn_c|Z zwio}+_e=N>4*>tSfU}#xfBpXYt~aVfcWoj*jJfx)b*r!$Jzw=?G0fcl6=(qq7o~g? zu|*tH!>^=p?q&#m=}H*?HA2M!TKu!s7#C((^lO}>8cUi?2ut(=|%{ltTIMhv`u z0Bve(`dWwY{L9qaK?g8~&^US9*_W;b{vSPiHr|Nv3UdRtd8r(*}X9^8+mXhYU} zXu{HD9 zz&<{ga`U-Gzfasv%osD)xee6?)F4VaG}jmS&$_^U|DScC^_20S*tl6$X!<;Fa87$W zY;Nwke%NKJ))$}r{7=Y1+FQnd^?$X3vaJsvFdm@%UHqqMi&u~%5F7v=Fq8N|ZT@Wc z8xs%>><|1`1E^uXJ9L1#B_5D{1Y-Z(dgif}7c3$^jy4A$!lKp{#6wfBZrKX-e&()U zzAFAF$L6XPq-!6sp}k+eciz|W>P9@*FaG#n7emxuZ-omu@4?iHIp_nk&~}W|wH{~k zNBEwr`&%opit}!RzdegDVix^)J{-ei`<&$M_LpR{r12+>OL>e++&+HinfSbaUHf%> zz~6q|zV=!BnD0!_9{mQph}|MDY|A$6F5~~O`xv7g_tk2(i{${;=n3r>Y{>QetnHU$ z|BL}p{}=mhV!ybprmrU5g&&~Xx--O^Zv(@%`}7SPC$ic-oQxr8yqG^ z9h+LsU;nm#b9tI|iS`W*F<;P2v5j^2-~RNo&`-?$KYisgTK@Hj9rS(vP%|J0>R%=<$fV0eLAf&PcaWzBJ($If3wH%amT=D^frXK&lLr|3O=5Pbwq9*y35 zhH3`J#>kn>H?ZE4Ty@3j&WOq1+(R5D7_7g+_&?+RI^krt6~q!O?^uDI-3I#03( z*}4mh7875vYzgD(q{usIYD2$)Cx(86MzgG~g|WK=+ixN~3fv|?Kn-90~}9BtqUH& z{_1&-9X2_E&mm%j84nykQq#Ae{PiR2@^3Cvu9n-RR{9M)QClya8@TWJFk-;*Dp#1l$> zfTSN7KZqXy9*}$kY6CMugVjHfuze&y!0$FWfJH zL@Xfoe&BzVHD9p%;Q-bQRQI<0>om5>>#|0Wb%Ol;{+NQi{a0xtjydX7<{NgbUWYd8_*@k_tvLY3 zh8d%0KA!rlzS{5sXsdzY#`T*S0NS{|;(ArdYgg z@LfCJ-*$oj*5wIZ0=rimRiD7Xk)!wpI;n5O^Qf4Ct-QME8|Wu5ZwT8T%^w?MGg@&A zTKK?WbbajpeFp}xRo4`KM-CJno4_7&*#?dd7sKby2QTs5%!k~zr$20YvG(ZcGvpAG zo3I{T99vn=qTX=&$|Z97Ug0}&ir5WeX0HFgsk{J;ON_&7GlyZgs~{g>pw z-z{E#<4)8WbPi!{a{VmY@y<*4iAL}3+Ct>}6 z{Ty-^>mzo%$PY9K2F{#&q7_nddT|ujYpkb z<$M+T`>7!b&M#QJh_P=@;qDS(f=g>9aT~M%eQE8)Gc*wa1fZC2cs_21&y&#qKetq3xMt5 zd#>dZpB)GCd6ky&y@b^%cmK=S{~+E!_&xAH#u4|GKZqwI*PXA^>wko6^B#E*CgJlH z(~Tn)FV&{PhUOi}@pS6`+P=nV=^J&aZS5H5eX^FgdEkzz&Ozhv+8)OEY13y7AnMD6by@qD1Bmzb!CXVd{u42Va1(h;_y<^e?rx*j;Q6J#FdFy0 zKimT}{*3*O&yJ1G1tBkR-1ocJFqwNZL)>TV7nh$!Ymf(-Dc*g&km1&+A zpGm^tha&cW;6zR=>q(&P8Iy1 zgfrrVxo7TU%l$Wfm(!+WPW72!r)%>Y-}iiJ8Swyo_MUzIM}JYmf9BO4<^K;qfY@Kg z{}l6=zlZ&wwSRPgjQi#V%$lSAKMMb``;Fbxrmvb$Tp(C(Y+&HMnD1vBzvXqcXaMR1 z@`7qwZ~%D#ZLZ&`(QC6dK*JJh;54^J?qD7H_jOH6L(lU1zN&e@)bCeP=XP^xex%6R zh0n{I)Rk7Q=_Ds=Pf^Ku<$OT)f9(Xv1pVChrF`seu%v=msr=pJyS?9C8pmht?5s@$ zUuS=9hUA-6OBgv`K2BPWJm>tpN0zA{B?Vlu`?^1E&-rGexyk#NwxIF#BjaNhSzxw*^xc~LooaQK8Wc{hjm%-{w z#PQt($LKTYBl(^=zPB!S?&SHrZ(|}>bOLsPF_{O3juvN#8F20(H3a7puokd&{;dUU z4WSqLzd7LBQfdGUojDcTS?loGXD0>+v9_V}7HQWz=aDrCf@eRyKp@|6=RC6 zhvmG@);F|vqj8^NcL%Yot2@cF+_eYY1^%^lbLjup_cgyy{5KA8150!LR-(l(SKmSB zU%_YN^sKAc2>#bMHNwf~p$ihbO>CAi|N2g~hs0rHFI!epUt(z^_`d|*sGakIE7a76 z9#m6TgWr$1Cvc>?z6PGRoUwUw_r;)zw86 zww19C(<^519?b;vi9>=vSf4Rs$ymw*D%qxP0drn){OxebrSK~K!j6~uIl4^v&sfTP z7|fgy}7590lU-|ySk>nh=Y(z+e@wfV6xxGwSEm_6+yu~mD; z+&S^kF)rea7~8_9&Tq!sO~SU92RzSu`LVvoJRh$1wKkH+uwIMzS|6HrRbV|!H2}5o z^gUx`vX^HBA1Ltv&Pn`tT^axRe>I7W{q~n++gooi&DWkefPN@z{d*3fd3((?uPyAX zjQ!xh>y6WUl3WP;YiuLtg3HcP<$0)kj~nkCy^k03!4L0)+(5oGt#nPs;0FG4&f5Rt ze+~0(dk*^SwZ|q+B8~#=fBI?uOMb-t@_!t&-Ogp|bMh1Qnvoc?(D+MSB69$-m@;E_oX@xa<)0Q^y-EL1 z+v59&2PB*?Y5!bn*8Ii&XxPpb;C%7{;19v(PfhG6&W{)XzsrG=|6lwsDJ}1MmwxsWZZx{0X9eDl4x}->lYKpj6P5g2WVckwpfaO zZ~VV=9ki{ZHsL1Yth$SK;-^+_=qfh#_A|~cE#CX&v$z+&gWkUee6Q^tYZzzyBQI9p zm)y4oJLE8ST|c&;_)PpM$6RfqDu z@frG`&fR4HDcc9y4)7Dl5c_WMJd$5(cz*qK(q;F<^_~5?zyXP^Vd)tOjKwtUc zQ|8H?Ku1pXeze;+hi$K|-&3rI56Bga0Z;=Fi_-7O_TR+s@&otlMz`L%kKA!Iesl7S zSy1Qifp-{_xA)M&h@0C>{G2v*%GGC{Tm1AVFP;zV-N(FlYAV+M?>&5=IRDx!fuYtz z_8LxHx*YTISexJccxwW_aP4|ri*x>oyMDj=`s>Bzo6LoG`9ksePk*O)_p|Rr+=G53 zkJGrgn(@auEt8Ju(z>TFpc!1h{aW$r+iwwTxG(hS9gW$dlN#DdINPsOQ6tjBjv1uSeZr zI=ElsH!#Dur{;37gf^OeR zjtD$Jzk@uW4uAf9TFt@*QD;N^ubew4aNYBqH0614yCGssE5K&ws%*!A97To`Eo))vJedP;czSx(spWiu8^CQJ+vE4X*?Rn$p^tqc;ZXTcSl-H!TX?;I& zNi9GOj(9q@*C(K@?RckOM{U&otwk||zA%mFCN7GR+Qn*(>Hv<5KKl`W0GJ})gF)dF zV41Z5_qC}{WbF69)B$WUS0LYA=XUxN^Ych}FYc?`IEIS>XQD&X4!_si)0XpBC3;Y>a*>mugX7gFI(0nCAX@%$Pjc zI(29a6X+w<>rJ)%z-_j%d5?WwK4a%zN}8{+3ZrfRH0FOzTmbh2`|T@SSH}N5rkBTm z`e?)ka*YXB9)^EBi)M#D4`xq;3*@>!#sL}=;D3LL|9^AV|G{)~1>J5s9APvEF!#TV z{TwgF|Ec|F{eLw6TQ^W1knmsI-)8)uxq&t@KjjB%`=bGX{k9tQfABt9@BqHEPV7&Z z?>Hs)yPk0iogg)G;+M97|JeV;5iV*aR*LxxtS8hAmM>eiE_gu)9KhNKY6g8rP7u$w zm3~ThzUcor79_4cF=+(+uXd^Z#=as~ zNZcTeP0_#T1NQf??i)!LQgh1O@vHm?9!I;td(yVDBgWU(j*hVZ&Cx%7`EtxfV|==P z{>_2^#N%UQYx^6QC@(N?-#UHHTeEY(T0P|X_oaGr#s=)@?~j^td$6hd&F>pN8gYDm z*v13HN6@{G!b6x#7tA#Nz&!r_!_?Qs4nGRMs;`@CD3)kXtE(S7e*w;L85?*@yqky5 zoQeFq)5QA?u>FY(7mF*mUd48Qskrgho5lN|e_nj>y&s@E?1(XLR;BSp$=|$xcnDj4 zH`{zhZu`FCtq6Vfzkn-qs(|_BW1VJ+Xk=vHDq@o4`88V!ZP+7&E88-*ZySH*V6HOJnFNv6GFD zl!M7z%>i+njXZ;7_gnX$x{YuNIe=Yl$HLE>NLn43u*3OMb|Iodw6z;|j<(Q50__SsI2!2Qfg75|-Y zT3g8)SDxqmdTNA#-_G6Ud{x%-nhT#!+J8Ex@6Gg?#*ruguedK3rRMmrzYV_vW3b#? ztnssaz~kssGWXTmM%s(huyy8e&x~6Sob( z30UtK>pPNgr-aE5i#f^PpY^=Z<<)sh@WHJ+2`x!mfq>n_@A*qts9N`{-@h} z9SQT@#%s{-H#gk*3G_Xh*Dv-b9Y6WXz5murus)9VvvFW*nQ9m*A1aM8+S%sdxqsN< zVliWy#|+;;zfX0Xi)Y6Cr?a&6eJ(cVI~OmR8_o4#it97>`#nCFxIo~3<^bY7W1&1C z<9_A@@`_w%FLVx`r_Uk$`Hv>-PwNvG7&Df5{qe-uac{gn=W>z1sA+iJ`Z|1;{(lAM zI+t$nB8qoh2 zEe-rv6Ij^X%6LW{T(p43Hev_Ge|W&EuC0u9?V$~;@^1zzCuvrVSI zd;glz#}_xZ6g&3}#JFK>(pB_h{dyzYl6(3bIv6}ydtY34>}i4*s7q?+ tL5`Dd% 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%0AmTa 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%0D<2*6@Pn`Z3mpDuyf=FKEb@F7Q@5genzeNQ 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 z zdj0SJBmMM+SJQ>J+zI|aobG+*1^E4)=>z=r5C8gQ`sptpOzX&H-^lhhoPBmWXWLe4 zHV>kX4*iXmuR`NAEuBGp`r^Cqr#4c?OZQD)W6YE()TmvN7N2rTe0CMf=l|TgG+o|M|;wF?EtJ zyylj)Ve1uX-8mPgbHP~umM>qPCeB%y9(d+Oa`R4&&whmO|K8F1LT5asR0A1OCS{kLB_H(mFqU#?Mv6e)$}0I+^>g-Jzc^ z{#$R**uNT2^ZrJmFZ6tSjQ!1(t6F!i8kl?_{&uy|$L46Toa4=V&`0+;iv8ML*1Zw?J?7%)k=6J4ROt>0X!0WDh4({<^p)+eHH!xG93Uo;Ij6eet(Tx;(yKu zG&Ydy0_C2-MGjza0NU1Io4tUw0ptWibNe0q*9M4KfY|@<@Sl6N9RG7qK=EI0NdMpK z#XJ&YNl^!|-|E5TKvtJ2hji4 zs)6pN8MvM?e$2$IiT6AlPRvQ|UtoL}Y7n(Y^WPB;K>wdOKpU3Tb$9B5|KHg<1H=aK z&st$8*b|@`8U}k1I~wEDH^din4)V9lf9Q_{{;ONS|5pcSp1*v+_$iaqnP9>zAH0vo z%i6-tOYgn!MLmEM=gf)zZ)a}XoK88N9Bul?ckR^!%-@svX1%C2lY=>h`1 z&r`g|#~R?4{T<>QVWV{d5BiN5m8L9Smae|-#nH^!eLbW{(rl?XU?@QUh}t1nKM5<4SxYeQTFFP zX$ySB%ALeaKEqyl_LaBOkMI3eI`6WZ(`lP7p_alQ(!)@^9&{-@2vpzi1C>`{ki$#VE)B>1iN1 ztqow_fc^hsfOS2w*~RV>xIAnBiT&mPv<44amg0UJmYac(jlh0m`s)A0=dD-X5ZgH# ztmsZ0!J2;lR_jwc#~q74vu)>|q5rd{Xx7~3*kl=g7n0AIRl|%Mth059=T6`x`4bnB{%;qlPdz zR)cxe`t^Ilr0@HKHq+thwl?wk0p-qPP*`#pVIzTtNE)eA_icbAZr7%7C>Eq z9FQ77_5a2Kw2#ey6<^E~E%+m20BTI-!p6>=7u=%0vN8O)fA_`z-~WJ!tqvGG1b(0c zb18jCz{)xe>fmR=%QtQuwfH(w{bsg7x3yStz3U9JpfjuH5*P(n=d*qZQZVq zx}6?>YnW??ljlDpuAw^h>!-_axjkKS~B4v59j%EU&+Q9J3J z>^FP>dNkiB|EAwimFutx{++eWI```j&p9ehCeA$jWO@x#ui&Yje~Fp^e=mpB|8}X! z1JJK8mS6e$+w|ZQPo_a93@ppt_WS?c_&)dD-pmokJ*{knR;y{D2&l=&| zlz;ww>Lon#+Pmqc&%dT8(zEH+x8BP8SIPst^2*EHzXt>c*mK=&2L8Vd{$pe7|Mwm= zAl8qbJUQKZ|IgF*Yp+i~WuGs-_0}|LHuYP_5sN(m?KL?p-QfxvHE*6y78uvJJL34hS~$z+&}rC+ym$wVn+1;S-d>#rZIBL;EaCaq`3>JO_RB@<(tn*3$PJS zT6G#drf0)h%r3&4`6R}|9!0o493adcY&KQ2cQ!e;V>7_`#W@h z+(YK3Sij$XHu3=a6#D9G&bfem!r|yJ>6uF&p?!h;tzB3)_TGkVh%?p>2)luMPQKDP z&DgbEwSJ_S7B%J$fgg6R1$X4_jScJjJCArxIG?LMavm0k8|o(x-BM>)0#zGO_lrItH;n{C^(RQ}h^s4G=MT zxqtAVxqZ<1T(eicC1U!eHh}o94WJgFOy@s|_l6CiJ&b7E7tZc{QZ_4>F>mO z$#Xbb4|sovyso(w#)4}z2YN2T|Ca;cSc{2rFUJ18pK9UfXv3Mam9byVUmnK(wZZi9 zWH}_b+$=oD|4*2puV`*kUBwQ@A}Zz><#>94l);@O$@mHcE%_j)bGOvXvO;0aP#T_o55K& z!Ip_W0Q@F<0M^CVFYw*p8el@gE;3q-#Pobp6h-0yWjoR|Nptyy4St#wS$~%1U=sm zq#>{cta_)Hkc-+QqJbrQM zXXid=oLQre+7q-m_28$tG?uqUXz$B;oMScW)}yBdPgmlpHhflHOV9|H3=H41rC05Y z?{@r5X3XGoe-vH9{SQ8v9)0qublW}mrH4NKWP0kk=hJI%d_5gU`*uAZxu1XMgY?xO z{W87t+drir{QF;nP8Qku1L zZCcDcS&ylm$8SydeD=%fy5kQMCo(65IQ=5{Ap5_jEnG^!$v*lLf1E!2(_hnf{_Xc^ z^Zx78UwN`?xcu$E|3~@)HH|mE`Br>x)h?4Oy*#duvH$;r_oA<&Cp`bqaiik)#jDq( z&%XRxx}6zACwZM;dh1*G{q131(>iK1)0oYK_r(xAR5%t#@joXXxG&zCwP@$<9eec2 zc$|J5+sE#IFs{45)hqojo&9^{_PbL<&d)^~u1tsSx*v@}#{Zk|e;oWj86Lp94~hTk z|Bgft;Ia){)8e(8h(%U0KWatr`{w`i-~>9ck9%BfJ$RV9(w6X#oXLFI8H<*~KU;&Q z-yH7WHF^^BVy3m%H zbIL8855}BF9w_H;4B+EBU(g)JW89uR_gQ^^E+odQUAIQuM||?J#D3!nb!TT&FE@X) zm(BmZoY?RD$`?`-r54KGpqE+Sq4@c$g&=mZ1|W~)tTSUEYpCv#`tgjQciowP;&os> zx<4k4c=Y>={nOw8g8%3Hg8$d=U+#Y} zHGoOf7vxpkkA08wA921DYh4WX>(y`HmzoxFzrg<@29Vp21eYzLi_k}jrQRM` zEbo6hd_T**Qtg*GES7&V{xc_%d|zD2dVnJD|2Y2Vn7~*f#|6dj`FZ60&G(}Q!1bd3 z?>X!2T3?@iB69R+!ez?+%T-vLXwsr>V1M}gb1dgeV}SY`cX*D1Y15Xhpyv8a)C+?9 zCzkNCjQ=MFkiW^xH~>BYE+Fdv#sQ@%}}N_7CTP zF1>O)wNtz@M-0#BBG_*XZ#=KQN*`U1*B)s8`wS>SXQel9J8Fs@gST(j8GnE9uTirm zd2NR-^!`)#7ypZVza#kH0S+Kzf4;p7uh;p%&IJHQdN?g!y^=X_ zc>1kg%~}()VUOK@J3Z!8(&5|gKnu?tUOoelqfL9RNqY_*p!_7OJVwfT7er^{p9m^t=P_E?X{;ux^U+wax6 z4j%VC$RnEZ-Csh?b{hD5u6ro)ZQrrr{~+tOoSeKVc<;+NC+dC%7H zx%l7u`3k*;H$D1vI`zV9_{o1d-Sg}V>1Ftk71Z@BzDIKsYoQ13eJDNswYQ>v@k0O~ z>0tWc=RZTokCz*-XBhd}?N59*^Z^IKR5?NS%1bZHHI>nmCZ|{5`z{)^=FF!X0LMBu zo@dVDrRiOK6V3lmefHV(%xnLYZbIX?X6p`muO@R2bl|wfM~&lq^7JX`&>gqN`%~Xy z4tU_6Q}H;?lWpI7mcPNd5nbbQAc0 znEd~`o9;~F|J4U?EbafhF)dw(_aEHQZ18{fa=D|$f#VC;ZK5BiZ#?HU$Cy{JX&ZBn zw{pKV#0e`yD`*^$V*q+@#DDY13iv;Qn5)0|PpzmI=XB5h)c#BI68BvC{@VMi2XH&C zt3P*^hFI_HQ|H~tr}ZNikVEi0)7zzO*M9WT(Thwkk~7pUC%38Bs0DjpBkJvS*vIH0 zyc`a>`sI8-<@hh=h|Tu7pLapN3|^b_$i6gVSbK}*O!Zs;)M;mcgVevtE#-zTxB&bw zt^3=5>385fVg2l^Ly9l8F0UVaueDXRPio`D{a%B34_tQVGq8Wa7~G8cqPeSgjG?X!qF0C|1U|5p|Z5C@p|i~Zx_3+xy4zT$oK`V&WtXN{X7pHTGt zXZ(*?jarS^FaKZE0Q3MBFYNz6{{nTA*_)sm?^T^;Z~C*W_ly13X2t$u+5aDlzqj@K zg#!pqfH*+xHy+R*NUuMAj_ieyV-frH1NL|0G5hg24`gx~YIVr}l<3m$+ytNb$8|IPi)g}hx3^po@c z^8c%d|IrV^abON*oDn*}Qv5d_s73x%^^)8_&~wm;$nQ@(?MyDww-QVGnwz$wUj%$E z@Lvs}eF7fmYBS{B)%h;QpZjb$gBt9!MGR1m|5*c&bpXTx9Mi=L9w6`^9-v`qKR^S$ zfy!$F@>hi~VCMhf{fYmIxj>--h?pSv1r~fj)V`?$6#Rem0-E>7LjOlhoM!=2H)sDB z|MdW{XVkqw{FjGo$MNPI0QvuZ)X$b(c{TN*ChU*1<2%o~9lvwVJdw@0;mVCF#+L@(Jk zYRI{s?B3BB$&IX(H} zE9trux8Ozd>GVao?&Bv+{>BqnNO}hV{yUm%=Z#pWxcE~Sr!&#V6b*83kyjX3Y@?Y{oD zd((r@y^tRJ;;ZRy`ZM(avKQbe@y!kJ1UrZUwxH)*x%ui+{Kt!M#hSnyIpSrTwg$iM zW8ZMsDS7~MkKkPN6*CvX|Ib+veTLKKflFY}7@pG@K)!w$@tZw^>H!B3>v_)gfpZD% zKl{I)_g(pn_53d4fDYikzCJE{Xw}b#pAYAd`-8Kq?e{b1v&P^)(1;vT?m*wU_Fd$) znEl2+d1(!1rCx}?4;rgVmFeF2{eD%dM*n~{dViO<*Wb-pK+d)5rFb3G%D$`e z($#DFo$4!BnL103v*c=v++UtrA3*Wn+|}BE_@x%G8hf< z0B1Od=N~bF`M!03^M5}>=l%|zFb$3h4uCaeJoTH2S8(nOhmW8J1HL-@S8hYBH*W7q z99HD}q4^W@`TRo%NZv2UpRqpk|JM7}{fqtT1oWA?jQqb=UG)FNO!EG&i!Xt@hXc3w zKwia|THgQiy7v6#Rik#T&;c0pS|9L!`s&zkSE~jdrd+Q>%%$G4m~U==?`Ld2;@|ZN zFfT99|I0DlT;Ka!|BpG4>`kYaY5P7o2FRX&=mx;`{J;5rK7PTWejNWV;n=#k6#sh+ z7|wgqJA_#Z^oyQfnRtuZgLq$;xYing%Q(Q>yzeE|Yf(P||2Zd}nPq>f`(G^fivs`c z2auaBv;YP62L~Ybe;ogb0|Ni~42@m04lvgMa{iw+0Q&zGE7t+^1A+tKT+MZWJR3;w z-^~4&*8SPL-M=f=|HB8UBL0(8d(K!plIOEt=5kK`TzJYw>o!xH?-}t}cs^B9e|;If zIrZrC9~beO`a1ji<=Z>ZFW?Nm&fU=$vgB8r!SOkhuNS!Ax4%7C9GgAS`vun9->>&y zDgO@-AogeeAKyP~1jYs6e-|FBGk6nqfKK=s!r`e2v-iL?${pq$xPo-lg@1>@2Gcm)_v|;CN<_nOc%*6kF z`gHO^^h&ef8E2qfX6e~5Xyhn-PiJvVSB`V9&+rlSMAhURC9dWB(#PgpaxHu4jR7uT zzcGIBe6gNtu3NV;^Bc*f#r8&U7wV3^y&9NrjiCX@V%5uPL`|Y)M`Ai~uq%0Hzma3o zaP~R#qy2i{-Sbddg@$b-IKKVhp>*iTjp?RaZb^6DcVD`T+QU63?@!&xtDUjFX3v3i z_`XNdLr*;u+{^usJj$HBtMOOZK%IL^^d_Es@|kqcJ=Hu`t(CYhXQtNGCH}|UzO$@#pB}T>-9N>1byXSv;qsd{jL%tJ zfY>BI?F=08#GL;^_H?&etS%>Tu2bA4lg$ob{`OYwiof~AquXP=;~`7iSSVuqs}fc^e1YyZ~zM}q%( z)?b1D;QmqA%9?Q)4i~s%~m!<1+bO8GO zinHpOs$L@Je>VE%4#6qt+2`J7Uha7lvwY|Uko%X9|785nJ%Z-^#)jr5`Z*Vm^LHFT z#0GNyMcj~eMLxFAQN$bt{`p9*vaGbvc-ydjY|I&XJa;~l|CjavG|2hCxqjJV z4^h8r4WQ5fSPLlp01NE*GVmYV4?n)QXqY{lUWM0pwgRGq>F0gR{%lg0lf%XNc z1BiaWUi1m_IOhFP1K_R1Jw?xrDPZR!@Ot*5MR))$j+wA)z>7Kje$!p|r0@Le&(ew8PNV?? zvrfxn$aBHtPLChwa(bH@32P+gEw!ne)nPfWwpLw_m&{vl*}aoIa4qLz=B2EWKK{as z5eNL}KmL&3`SnlIcYgh=^gcd#-}}R#)AxV>XZrJhh|kam>Dhn!YI^0n-^WA$o%HZa zucf=GJKyr?Q}myIhCX(1X4f@o*6OvXBXO4cJ73fPFN<^BSV=EDa|!v6+70RV>(@emovfDL30eNAA1_?ZQpz!OuJ$@2Nlh$O-UY50Q%R@gH4xFIs&i+P@7~ zMGUZH-IZvH!Tm{7;UQ*+rtakDUJh*AbNrU%jNmydR;T$ZH^O_Yiu(Ty`o;7KvOXP} zGVos?AhF;1LCygjI2_G8m?!>=`>}Wr))w^i75fYPZwHTN9l#l3dH^;c?z0wcjX=GV zHNN@{TchLjyUzKzIk-A9Yp1zyt!Cg!%$2K3O_{&BS9;tTYeo#fzG2>IzpHU()Lc)) zbDra&Ysrw%2Us(x$)4+Dn&UUcv(wMA%tIKyQSb3{-~;5rDp$>Y06xBZli1O-l(P~a zL&pq;s{dE}Ck8g*xa&kNpb%A%El*W!QF{D}b~=LhrES{AW@I*sV} zpGCgUeZ9YWLh)bD-@M;mLTmov_cs-O3H-O_uTH~bRo;Klm`SXOu?CF7vx%M!_h4VA za}3n)W*rv$@W4{Pzf$}!xPLFje?8pfZi^To`T&R{#sBWaH||Bgcm0nu_n)y}{I>>@ zJ#*l~sr&nVXZ+XiCwu-F2jo?o?{onslXa0A%PfQWF@i^sw%W;6uE5G3JYILv8$@BN7tvgX0sujmn{buw4g3sc8q5ms*0OO?jYd7+J42@%2{Y#DkGX57H zK((#;8$XEuXk+vmjQpR+wb!Na0SFBMHJN(E0oK9ln0GbFbAe(Ga0UEV|7U-qy#cu| zF!uzO=l@v`U`*gr4^WW@Fb42<&u!}f_5#=ss8-zN+z8`FwLulNzPob zIQ1*(&v#Vl|BV+f4qnJyTa0s0aK5jz`K-4G_YUsIr7-|l-I3?(1~%yL6TSZA|G^WG z-*<#F=s^tJ4eSmb0P#QkgBMqrQC zcyhUM;dOinJ>1X#^dD&eGY|Zqip$TYm|Iox_D{O*d0;Kfzm1qMKFwLaob!DsJW$Se zKIwmo+a}GP&GFiXJ!dZZihk(HZcg9$^&ip;@4TP>^}kd4kiNs8L92&{Ab9!lpTBT} ztN5`m-&uUmedCSvz?WV~Ggq!kov4X7BW7ws{8YasUKI3F)*`REq$cx1$%89j3>H+s z?C-F>c#R*wRLAINb1wUkdrri>9QVecL)aI`gJ=4$*ps4PqI$5=;Nf04@cZHEfBj#% zPT*_SXTUhCDgCII*34YWpmCGZGhhEMoOLI(?}Oo9CdFqvb^g5c+?#Kv>+ZON*y!Q( z%}fGb#2pt_>JGINfyTUF59zqmU1q_xj#faL&B*GrJ~II&|CpF_ZUZdIPG}DDMHS z_!(UYjyGG&eT;5>283SD8bMR|RWZI2e82rznJ>G5JtKd2a>s4E^`%~LUes9K zcO#|%=bJWdj2`}+@WPR+$~h{%>YP87tEv+?9gYERnOHQ>WygDzeM`NI*w}a2sNetw zFc-nvhBJzsO?r79XB0J|hLGdp*31{N{;xjJI{u{D`ub!~-{=K27GRnGj|Tt4C#V$v z!!JnOhx;#?P!&Tk)w`dVWEj{#$X8ut1TgQ>5tR?QmES;Q9S&>Pp`BlSUZb7Km>Z#97h zPoHuA9Is$Mijn zy<#r9g45u*dqrODoE&FNRIi2B0bKUDtBVJa_%HSsF+lbLVh#|o%mVcA*2}G%)PO^} ztaO?0=lnnO1w}u=NAiCjw+#P@3(EX}8|n#A&2|dfP-^+`Y9^c+i?#$b*Ti2%-u?76K zF}TamSI$$<6Kihj&RyPL?%p2g?T3#L$F+~!+#gq>H{5vj-l!97-g|A@aLvB7ZqMGd zao>LCnJ=f7vo5WN!+!AxKS9^Am035pr6*o}CB6O2U!)Iy|GV_fU;Qe5<%d5^CtrLi zoqYM#wD0bF(@J>qC0AXQHXl5gwv+qLU%x3WpawQ?{kF7X=YB4?#w=8OubQ``&cZQw zCiviNk>Yc4pH^QJoE?|O`2J1okUvmcAb)24vnj`_^I7ca^1Y6oGBs`5u>;?RBkAtP z9>;U(Nj{J2;7TjFsvN)TfwKFS`^aSo|?+kP>J=5ud3KBHx<_-7Jzqk&-Om{xu_G+yQdA@j#|LV=mNxnB37`+xoN9>+&X`y zMTc&=2F+udL&^WUr!;Cz?=?81r>MExg~SBrU}DvI=;S=6F6LOU{%<|NT-O{%y_@(i z|38q=TD)t4$3`t;i(0kW>)ETV?-uV%E`Buqf8wGi;VbA6Wi zzn5dhfBw(K=uXyRNM;|Eb4!SRC)4bg6$y9UiMIuc-xC<;=`tk94+W`7xcZ7ms1A>UmSd7sd-7`^Ddj zOTEt2I<*1=`FNW^k4BOn=`2fxx zEPnLy`x)y))|`MFwG(qr zrDG4AN{_$vrSP+yK5I^zHj`Wr-QW0$6VfPR!A0;v^A;~lgGP)=chbB6_~&0rKlsyM zqXxEudi{2^dn388wSplda(v+o>s!z3Kz^ukx)NiVMNE zV=lUZmAMZMd=dnM;vwd(Nqs%S4`?q9A2JZO@a7-F^^lX0e-&Kt^1>i!V z+4(KzUgo^|mx+(!WN$FEP3NBY#@D4b)P-{!Umf@>dmHRe^fmi>rosKo(L0aFxu?!# z5c4O|1LBOJ=jy@=U*^WC}R{R{lJmqYL0&;szCbnEBrpMl9-zu^7l0lc1h zfb0R#jlIoSO$@4rhOHv@8w;rCF<1AqZQ8PBaJqVx$peV_m$QeN`)B-T76CYGpMV%G z_Pbhi=)y5krSv#qrZe%q=fYX!H|FDVMebo4>pv+D$hDh__bJEwkM4c{DE~j3fko6tP>_L=jy?$j;v_DgGI-KqO+{ieqB9OE2=*5M=P2fsbOT-C|*o&T|V z*EQiUT?IdEbALGi^%Yq!0Pb^)1rJa!YXI#_RX?bfAbS9n;y*cm(E|`Yfu+BjN2vjj zhjV6C_5tRSx|Q6&=V$Z+@O$t8ElPcX3j8OA&-icMKQH~T<@@8kvrmWquM@tXtn34% z-o)btzbJBZ=K#q&IZJao`^}P#+o^YtiO)3pcsXW_0j$yK2W`zrj|g$jxxH=4;q>M; z4rm4Lw`_$+FR#;iJ(C6y5kxFNJYXy!PhdXZu`8Ew(Z&P8 z4G=qY?usV>D>wvx??{}Gc?0fGyB=2D(^m3cy@K}La4_9)({bhnY)(tj1a7%{Z@P%uVS!_# zC$QfR8O&amxx|qpN2X_j0e^gx~1&j&JB?jiQAs&H8JM1dV1%kanPVK zqu@DPL>$wQ@5LHt@j8o3HGp&1tfr@IX}bOK$D#+Y_}eF44jDf!U3`-}=c< zJ0!&`r$cJ#Z*(!xP}zLxZ!kl<~H7vK_o8Z1+{$t!<@ilsV*Y!81t65WKquHllY|^y+ zzXOL2Cs(c?ah`i*L-w30SInj!G=uL4YtJA70cLe^=K^vh@(0KknYst#c{!g3< zw@lxW$!Y9K>Kjf>j9^?$Lugt)`}-}=Ajau;&r!v9a~4<4YKK0xUI!Tcuh8s_Ha z2*wBc0y#rSzQw&!&96FJXEcft=7`SQFjud}eO&Gj9^)VX9Ev>8ecc#WPr%yjdCue$ z|HNW@`OT%oe>tzZ_3GdkieC-qi7|s1rH=5-v*4?_eEp7jhoAV$nSNrvdJFsiy&ipk#CG0)!W=J& z0l@z;!~=Rb6`H?McnZ7p`x`ka_W-C<4GjR?{}AG}LBwtP5jqFh<>wH(YrZ!%SUti2 z-hzJGZAbne}s^NRScJ9$vapwJxGVRH|3hVoWA(~Nx1KA#0BL3ey8R|@jJ1_C*gm-t^98VPvCQg28-wP zy#(*Tb&tcW3ppclYxVNh{PnR=&w4I#skwa>K8MR{o1dK-yog-9m~HQ0V0>+S55ak3 z_4U_WkAM0O?t2#JKso=PwE}AY^b0^c;3cs@8UN4YeI)-c#rrz+{zd+84nEUcLS!TDc~|J2Rn{6W(V zud3g{;x!x7&|x{}@%+A^GF~3k^Dcywa|VF1fL?m~?V6X1`^}o;y-N(x9L#UZ9$`%& z@Spp5n|N=YZNETV^1E?C#0KaG#Q%=qzdZx($=~GyatuK3BIXkli2ud`op{dR1WIcM z)&`6Ridup(fINcxwfB4f$3LfTdoTL`>D2nyr`Zda;PtZ+z5hBiVOyjBe;cvD)%&hZ zn~4XuY~PW#@7s%3Y%w~qmH59jBsa;m`mvKH2A5C;{Ps8;3Wgs!awN^2HzzG#wwV9l zLOj$aO~Rw50~piFp(*=URrbefHJFFO`Rd%Zfz+-i&6ySb?EQG`9_TgfiBvDywQnDC zi(%-r8?eu}CAJ$tjeJ_f2`jf=nPx6u%3j=nxVAm#arSmLKXT7KGQA{UxY8c z^;W#kgLmD@EZytyw7H(SHV4u^`X_f#AK7xv!)DPv9@T^#PCbgY@`|Urpcs_3zVjuYWzwM+doV+cxIU-$boqMOq8jvVdB{LcW)I zt5@SmGoPNzjl>PN$MeheFWtB)uG`CG-C^>A#nDG)ZPf2#@rI4*E8qVR{Qpe))~|m< zKO1o^^(t#aeds|k-t^eXt1Gc-EB3e=>HEL+^8#u@827N8?6dc6&I&vI*Ej<41 z_um_j@9}gq^McO;|E=xo6YhTFbDzQfV4Uam7R0}`$R$Ry@6TDdB5v!;-mM-~Ts`CT zv&m6w(i_vCImDZoGx}`WxNCnh|Bw3r%AEh(S2kl2^XSY$i3P@xV_N?&eE-CM`HO+( zlH|UH{=ZEBR{{Uc`CY~UYW>vD>YwHQeKb(JF z=rh26V*pq5|Dp9)??0Hj#6a{d`yU{8i-tyOj)vYpE67xBZp5_Mh?J9yWU`{2UrKL5Id3;OCOL|BU-JYpVgM z9r>N#ue`5$pR-)_|52aOxJ{SP)|>bHSOxx{L(ji?kNEzNYyb8N=;fT_hl;pgT=y}H z>-KvT*8~4ck0-exd9+v@Z^j=Uci!LEb;)J5qV}P8m0G_JJxbt^s4ZRQ9H1KH7xa{( zKQJ!J_@A}^#-q9ZUk{GsLbRKcnay#S+`Bc$J8=VXL5>mB0+#y$L_84qpS6FX{{uIy z0|fsc_^%HjxL+*rzv%x{KW!{7=6}+P+@Jj_`#P87fA#_R=qv#Hd2;_B_)nZ%rvD54 zR|A0lkK@VOnLPn|kgG-YT$;{ImPu%($58(_p7XmG7u1wq!oI5pz;j=J1+m&(y%qQ` z=O5fZ*x!)+&N+R}z?Ji7iyynk=KJza@c-#YsJp7`SDssD~AkDDFGpvUDga^vw+rv{e# zd#~QT(t#Teq=kzYq*-(P+(xIXhyglu%(>*W`E#k&jt%^O@JpYkPyRN%-mWLFTSBh4 zEX`R-ytRHk+V73&DrOZn0QZ~0t9TC9WQqHp&y^z=vKC4Wo&B~^^JeLaMf35Rzmfhw zp7)CB_@9qppBbHQj2^<9(zQ1qPu=@6!S-FV?7?dcuWIfL|@{_r%LzOM3i#@$279Kl@wu z`biajBvnd7=6 z+Q7+a?1YJUCEgQ%vmSN)_PfCUb7K#1Cbs`GWWKedGJ_j*{>fj`iT!W>5(lh|13{|4}xv}i9k zeR0es<@JQMyO{GYoxIDB*cN#MU8LB<5)zg$5q zVljIG%>Bm`2Z;ZL*I!^i$KfdWe`_?>6~umX{$i>B7yk#2VKxESUxMbZgma}A`bF{I zmFxff&TF*3uYW_verL5&^JmY_b$_{AeSWR^>;KQZH12ONPPhI;BBru8BjZ1H|H%I@ z#XDT@-^|xEMdMqizO{dOopS%bTnng;M!jKRxE!W6;L7->S78|gH~4+*?I$ga{iyWqf*=#|4U@=a%O z{8qcnT84Go)4>0Jp>I@^?Cf8c{sRU67h3+z0f_DOIsPs|8#fqT)q&6e7(d7hl;OX5 zKdT0}=?fs&s+Q1M+Aj5eVt?=eW%+-u{d?ZYg^B+zf6qQZSqGSN|6Chz26Six;l3*N z0v6hTbpYjYfWCm}|5)m)#QtKnYL6EX=b$x!0{`^`(krVc?^8|S%$4iOG4QEGAAJrn zcV&(j&*@6%ou8_6o;!o}QuYAjfYxAgTXHIE{A%gU`a<|l3OxStSz~_R>dl+*TE7xc_9bcK&h2R*IJ*0WBWcI}gK6h} zX6?cOICpO&S~Tyk7TIHc7dh~3c;@j_v+sZRZr#(>_~2f7)t1zooLMd4n)R!RYud#9 zXW3IQc_MS%r^fHaet6BXjwJ^bAB={|Day*C~s51AZXXYoAd z_wuG*HsPE4-hac)CD9ew z_csU*dEjuoZig|8gZgnF>gxLbhW~E~^jJFsh_X=MbY~rPi-Eh zm$1G7)}!?T`oI1!bp3FO_3DHFRnftc|Eq5m|HU6;5c5j4f8xKscIH9tcrT%aE3E-o zTep|GZR>WC7gnvNzg=y-z?y&wrxVZOg-rjWIPW~*G4KH9_tyT$%I|~u&Hyax|Kk4` z@!!v%rRFbs{)hoa!^MQ|pEw}+ejd+D`F`j9jGUOS`@3r(e$4|%qWvTGDB=4G4gmf} z-!-*=eTPy1w+AcYff3-o`98V^`eWRez22Q;KF|NL=FbcuIsel9Ur&wD{|y)tIA>gy zwf`CaFC3JqX^{eOr5!~)`d%mXUDtcd>} z!-4<2-g0k%%nN*61K1d@Q9pn({HI=*y@7KtfOCK|{;LI41Ca6GxH9*R(q9KoseYA3I1EJcLnaZGZp~(VG|G17$r(M*Dw=n1Th7-5o0eow^_p!&KKIw5cZ_(nkZ8tMo$dCQK4?O<9YxkokADeo> zGgpPj95vP%%6Si6b>${F`o6)n<>NNjy*5#An6-2%8ohaN{BQv)mg6bAHqGL7%v-q} zpMVwQfb;QUTANmFBPQ6hGi}+wFYP>XDD6IeIPE=g6b}9-eCF;*H&Tw)X=5V|RCATHUU$KmchY4ufC;aj{lZN6rA+6OOich9f zG1rNC5%X6uGnX2Po=|eeVoVE;3-kZh@Iz{|Jl@3ypZ5Uy`8C8rSIk=wzxN+DFwLVb zbNsH`;Ns_{D`xBGGZw#x`SExE=fj`>YuZZ8)xA$o_>pGBwe8aQ$&*qiV$XxbX-7B? zyr0L@(c5m1T6DD<^j2S*Ipwy*n3JZ@iv35QOu0{UmhQdj7eHI+|6T?+QU`sUdsD#^ zm^aJu>m#`By2HW$heuGUNAMUps_6@smf}D4h;|t3azmFvj10~{mr<@>)i*A;FxLo2J20p%zN&_QvW}oRFA5*SN*#9Z?Bm9mOSt{xcy<1 z;OFVjGlv(`_45Gxac{>^jknS=WL$pLtd`n#8b|Mly~G3<9|Om|5& z_Jf-62j}DO1Ha-79s2_PUj43J7s27=y8J)Je=%O%J@>pS8UOkH?{U8(=bw86#r4Sl zOJjkI`PTn4@9(ADsJ%y?W5xnidC$dhD7ITu@%7fA7esA@&udLd?5(9{56z_ayOiTg zoVPZmzvWWm^4p$zF8mTU77_D)8TYpM6lT!iru1MeSd{%vwl+|MoO=Vi`lr zEvf(02Y3Xrt-Y@k(5^J)`K_;nKPBhkMdZNFLv;qP*Bdly7Wm%`Ekb=>f5!eMp>59i zPdq@p9$4QJJplQC3vi-E%a)}&!Q3Cv+!%m5x&3f0xbBRb0xmc<9M<949|-%y;8!HnypW zwx&jDuln}uu8A2*ah`Boo>%F-I6gODb4_6Xq}j8`_2vf8J{PQ;%Ja$@EF@Q*JZA3VQ%)3xZ+j~qzX+;($1dh%2{_4yalBQJj?J@wja@B`1JBlp}* zo@`uj5A*3iL*D#qdgm9vNbmjj-_pCk{S{t>zoriVi}dDCewyC?#ZS{W$$x(d_kQ)^ z8_*l~kMqLV+BvMzX9Mo4&2uiptR?v5Y~7xgtX+$@9s0TX^T3Y|<>LZbMpu zcCsOL487dNdpUc5R&L&iFX|+G@ooi|y2ie85qrI#jY~bUbD-oNoma0nP4TzDe)ja- zvs8zA20q#i8b)v4H1_Ypi`4s1m%bTGCEvT@j{BJrbt7|v zxAOU}h&ch~|6`}kj5@$1>(5*tV{aMfrM>_1|AWaN2Z14d2hjt;oNxTDE?>f z-wvElf&Xook;!?hkAXeH&Jy;$m>224?{$v>b2+cOkJg3L6z_8kz#RC}JwZL7o?zyR z#tFs^#f-;}-TDOP_!u4g45Dt|k-a}-kT`S+IPPbu&Q<^an(#GV_it*<<*V%_Fpo1< zXa;v6Uto@9{ZgG=_~L?(^7`_)oqCnTvE_^#xozuZY6!Xy&=(MlW{u#pG>4bZ&-gE| zpE&?;iy8o2fV#iX0D$?C`xCF}_djMTwSWF!pI`Am>iy>ZKE8c_n-?yIRH7W?s7>b^fQA0QOn`Fd6^u5Ia}}@y`A4$X#SY%z#i`HehzwU z6n=E_*W&&~RaqBj?|;uDYbyGD8gtbq#y3v#vl90`_U#AMzf8RK{I~Y6?|-W{P55s0 zc{2CT-?11f_KLZI|9tlzlH8K{^0+4%=?x9{}g&aZ~N$~i2rB?IhTy5GydnE z>Wuff{$F;TW7XK(xJ16w8iB`==bHJtwQlSC9?Ry}m5F1#ZvS0v>RxL0^|cWHgXiae ze6RD?Y)(f`J{IRe5gQmE_?RAVUIzb9>`>GZJU$C8puHFw|8oz3_#X>wvK#t+5OZ3K?2_M@maQ=K^z=-kT;na)hpHiQ_*FN|5E?0*ZF5h6e1b8CE8+lf zwH@z4{g(ZHE`5ls|LZ}}oxR%Cl^Q^AaJ&y%v3~srQ2*}-_g@lqfPsT~Z$s!;BY*7& zw>yN~bOag)y0kHhu0)u&xtvIJu16DEO}jwtLd@t2Uwi zXU-_O=&Tj=sGI+TH}h64XI`BCFEgnLZ(z0zHD`3Lb*PVC2sgTj+h!6UOdvjRj)$)+ z)~8NqADWPEf9#R;;<9^PtK7#J?4EV;2!E?P-{GUd|DQmawz(*LrNA}Lk*hAf` z`f{w?_Hgb8vA<0o%Q~sceX2H}mA?J^Pu!ih9{~T+|2cDR{>pV}>fA+O$uw%yaMM?y zF#}hEQzoC(_iykh@C5F^7cqwVKYRZ@hok==?C;64_rD{1Uc1g+bNwHj(91;c-{#~B zP0>f!B`2wf|K@eRr^Rcx#^q^T{}lVD^}qA@TP61GD&#~L!V_FXEMTl4FIsSf=8I|q zovCCDAcw3c$tB#@1P=i5Nv}J--}L{J|3B*-`-{#e9;ykia4}qSt}B@Ts}T@u^bpo# zqB-Z7ug@M5^MA2XoxFW-`bxUb`uEG=WYs6Q|BFp^*st{a8Afeh{2vK++q-WcpSW(_ zeKOi*!)cNguaCVy#UAGep{bw%ti@Z0>qQl*RH_%Lq&DE9k%IsRAtTk-!H??2l2 zAGe)d&i`9~%3Oza+fVV{YLn~sjGjDSpIF0e%Gk81vdz={ysQ*=W+J~Oh8OzqN=gg%3PAo~j z@BAnAKgRy{gme=BImYA#I(F$6IaniN1@Ye6fBl9Hsr?uDPybDD|E)qFXs>`e!DjHR z!3&7}EOh|64uF0Ejzb>6+CZCjnF|O#Ao%a4_^*GEo`QM=^&kh=FCgQ8Z*adam|v3m z4Hyu!2b@3P^%8V!dKL~EIwbI9=qNBB-hMdPuSe`~@+$FvByqq%^87tF9KeI-;dF%h z@8VT!;<&aBu^g^`4?Oy$DU;*2O;=t;ZDBV1dEL-E?%umQjU7KOID?fNSHXcYtL$8~ zl^Gj<{w*30y+8dXz4-21={<1q!{7fV{S+la=F)x7(1ry_u}^A(q0I!_w0@DZMW{kaih|#g$wu$u1gDvQ5LOS zMPKK-=gc zIdR4O1yK*P*6lfPy7&(^-}+#V9eS{D8rN2-QiVD|?gJb^OxkDQ5Wb6>bN;_&M|jcB zTd|f|1?ono^E){x$5uuBFZlm~=*aZ!QAeiszc>6{q5li~$D2U>SNj(+0J*kn|6Ulg<@NuGnSaDf>dyoJ&Hv9kKQO&Myr{2J z-Bp4AnJd@-Z#3~_5BBv|Jio84M$`?AJw{9>C!eSn@8pO9^y#yHFZS!{>l`5G`suS6 zbA94EpFRA4k^dJuKsAH*Vn#nE-_Z#1zjWoiKjVMl_d94TGn&EvV(Ig54B)(#==X=W zkq40XkDhi-clQvbgYKMJ`6d8zhrQTqLd z2M6&%TYmRFTzD~_*W9ibwafZ|^?&i-Sr+m(hfY2k_x(8jNA6GlZylf}oWMu$pLim) z0LB0fSmgKx|6k<&#^0F>P!CX{9{^6mIaTHOpL72vEyaFo0OdUZc^*)y4*=(N^!|gJ z_WuR{Pt0uG-3o22S|57=)s9B~Pkh;-C;e!|n0?Uz^%^=V>S7C4tp{Vf(38u&#IuRj zi61@J<^7$ZTDQLQm2*zxzSe-(Zv9{Fe_f6%@!vhvy|8KEKUzOtd)sz;1>g|`Kisyh zeE`hx3+yM~C;xZasYb#=p|%7U~jm6XAFKE|IPg)-ycX` zFo4=1Tz|g-C8=aUe|q+YrXj9)g9X=xNoAIB0Z`7EG57Y>reByC5+(*EW zh4KAgPCT@L>&K2CP1js|Eyv)QX%KtxI`-~y;pAKahU zb@wBWqZhau*e;4wzUT|&J(>b~w0m%JZ|IgaLjQ`z&H}22(j=v}UaeDsA569eW zaJLI_NZ@}P@xLAWQbYEIPSg}K{_7jp8osSF^hXIBiVe>=(IU zYt8N{#srnXd~*f8ef@0g2ec1TTrhX9LB8a^r-!*bfqs`Y*)!E=i~n^a|3^zej3oBg zBA(Xk&%NBbM2))jQ$4s)zw5f}rRKfX!2|z!zs~(JuO2#a8r)n>G)L`2YoXu%aIqg8 z9yFFXpTDc!m%oqxKVq$Mv+x2S1`z+v^(UYcPz#v(0l9y4fbs=u2Jw}Ret%+sk!Ugk z`_=uq*aL=^YX7s}ADVx(n*E8V#Q%QeSACi9EB^N$nl*os^Yhu-->(;I4>bJh8M3#L zUcdGMWUmABeCKXN{@=44|E&$U$J?u=FNJfJ)%(f+NB+-sc^Z93{QR1?#e0<6NYwsI z^ZxAlQzJMm_jmJfa~64=D)9e$ced}9Yv{!}>VD>TFaC?M|4{c|$_E%1pLLEip*V&< zk^BFj^MB)w0_)2!b39-iQsBQDN40+ESFXlwS*KwAUrl7=7VSzugAQQ7^Q7_PXx=7r zb@994_KgA5IS%5SJ9P4q_#b^gtqpjYb%5{$weq|rW72Z`&%VIs{^GlFwlRP)ust^N z{r+BP|LcOE-Y;_ig(omv0C}}NGevJ;=Kpg)Kx59&@B!d_s^|sS6x_59(3E8?AO~O^ z(2D%O4c=+?;iw(8{%`)@whJDB#F*|Q`cT>Dq6S%R-x$$7Se>suJ{Q6v_3qant!{(Z z2lA{P=7g7=v*tB;SHT@^j<~`fV+3l@FZHuoUV9nen@#Dp zZ+$EM>u>*%zW)6W(*sXElb(3~h4jP=UrL{O@r&uje|asv`1RM*SHAUDdgJ}~@$-2p zU5ox=>DpEJ>wb;e6o;l5{?wYB-5Ke6{x*gy zut$~IkhSRf0CUX~+%N0}cRvnoIB};qk^L)bMoeHXDxTCNCiv88`1+y+ZHVsUbgs)c z%SC5h0e-b-ofA3$b1(a+{m#sboT29)ra!)`@G%$fTaq(Wh1+)Kxp+T#9Q}8E-a{v- zSLL&uG%aTLi2rK+#P&ST*V(@L`b7Ex>=77CzCV5@8Vs+C|I_CM=WnfF4nWSo(D@HG zJ|oV^KL7Unqx+`@Py+4;|4$syn>eM&|Me~CS(^W651_2W4qqeQQ`G&*as1uo`|ao= z?up)i_5Up2zqzHFzZ!gp>QlXLAH0{wU>=u+M}_)-KVvoj>IH)TuTdj30qOueUj3Zy z`_uF1!YbK=-1%K`j(sZE>BN4QIilZ_aY0$GUyAv~@5Tn!gRC)~O$^|%Rkn}ucwYCh zjW?`0Rg5L#emu6A?jC2n;VQqb4iMiV_5e8u{VU>mhyyCxU@xQgU&;j(9DtWu2bi^h z;(v>F1^(0jhXyd?KfDofWZ-{kKVV;cr#y$$#V%O8F?#44v$v{QGv>GV*E(Mhjy?H) zdvnD9W-WLv*8dwf4*Zv|_5Z8~G^S=09suBa;6M3(OSq?&U|CCg0qh5qA5bsQh}Dq) zYv}(G4>TceXiLs7{>uUA&(^NJ@j&(q(C4pPPi74EVeSPyu^NDW{YwJ>)c};xI}>Xl zmvH|j_~4YFZ>xy^Lx=&y{vpFhMEzgvAK@Mg|L;s-@qg$3Yw>c)`Y89a$@Ko6xb>E_ zZvBQdZru1dE*^dQ3lT@uu3I}DI?CMlZC9ZkTbia(qo2QgQD|u5yx~}@UaLl0ef3po z(MIyT#rOs+C+8>MpRUFMMO%}ZQuLlzoqA2d5sw0dFJjtksf*W$@CyKiw8dQB$rKkrF=w#8?Bdg)#=WaLnC|AjmUb9I*zXQ5xT2H7~bm~bQu$;O@+f*75B5IaG3tl^En61|0`9h9JkjX7wFiT zSd{a^#|zIa&W%1Ce>b0eC~mVCb`f=bj~_V>{iLilO`y)U?Ycwsc^<(7Vr$I$u?KL{ ztoh;fr#G#=eZ8yFD_JP5ykv7coRptJwv1oZ3I zPjrxYVI`P8=RW9K;H14by*NYgwQA@Zm;wSODz;bb3%|w?z{qQrpkKC(y z#1X*(a2%We8zTh%M+^Y|6Jr=dy9)d_#*RfCkb42G1LRsj)B{TKKl%X*{DHv)a#QvuA-{wm^XTWZC zey!l2+Nk-r7SMv&hS))G;d*>7f&au4#uWAe%KPU9p7H->_}>*DgC5Qba8@AvDytv4 ze_wTftbYBeX~bei?BE;&WF0_h{txcU0qE~O2)rLTp4orw6C;V=2MrxTO?Yj(_wh&5 zmAiJvd;#N1k5&ESkKJ@MjRhTiIDBK;xo1yWw|N73<&rdY z&UEFGdM4%8^#N=^J)(v& z1FKIc92&wo!p`^%rHIs7a=`{ftt$9ymy zzvp&*8@8rd?!Ap_>*+D=|n{&gE|4 zqO%{07@(}~2mU*IssG6FY3-gvp~1`eKQ>;Q_-uXNJ+qiwQGBK!zcf!ftu&`o)9CMd z8<{gzI$vENngDRe+P$$taQN)IYLJZy)aMyT8E4dH->ggQ>~lD8z}!?`#hyZWg!6eE zb1!T8Y6r~8a_@ic{|nxn+{Jl->I>}yGzT9#ep2+^>AgE-+@#Rysijc2U(D?j+x7Ix z{C~muTlXjDC-;vU0N;WC;|yl|1`7S3m*)S)Qtuy{fAxRN`w{!2?~h}{&)gL~|MvY; zAL`9_*PB?yc%>)tn=^m1-e1jsc?@8TQ{?|*zt^J{5HSF=QTe{rc?bTJr>U(J_s#t) zUu1knO^VMgFp={_-M`$wKJMyQ#D04L%}uiWneczcGQ2UEsgCU#!dpBdIJmBzK+$C^ML{5j0c#q^j1z@^7;AL=!muR97x z4vIL`++RJR%bAH8|J4hW>Hydq1qm z+D+l@+l;(L&AQ&d)&QIVwT+<)V&{j0_gEP~QJ__D`OYeSq$L=)trA54l>@)ULhZP|OzCj@Eqj zRU6sMr$^8G9QyiKZoew{{#nbZ`-7?K{^i)`pyyw-ZdIDTXhB-MZe?1(V>5k$bHIjc z(${|Q{j_oKZu0XLdjz=FsJ9r{ZBaUjQ$S z$@}=*b!jZxfJxK&p7=h;;wxxeIEU|I>a1C40@udl%P}21b~8N#^cwPITjorrxf>;H59FUIN zwTNHD`|vL1(p*_g^febVa|V!S>$RiL?qKTiYVZbdzMI1bj)Uc5w^*(gz@EQ|1HgRq z|8X<$13&{Xntb0r0dF&2$cwoR)D()P{=Z`GAG$yCes%xq|NXu1(5&}Y^DmzC;diwP z@%%N`6c&q-&Xffrv2l#PUrxg_afha$))%+Rxj26 zRj(CsfcWoc>+GZ|7xS5e_x45_16bo#=dD+h8ko!JOR3i|Yi`fw9KYa#-2Z2ua9N#t z@i>0BKAt(Zv7dF}z~}#m{9i4H_qRVb$Cw4~SHyXH{p1mH?|XE}?d4DO2w1oGV9Y(W zekTtV{6EKR9Jj#%RK)+>2UrpF?JF$!fWUq5K5GIBE}&coXdF;rzjZG0zt91Gg#QQs zD{=r?3sBJuP!B+TfYAGb{ow(?zGDrbz<+r&Yh-c(;=ld0*30Iv-Wc_D`}frOiv7mo z)%h&iw5NBNoZsKo?}^>s&-}ju$Bi>^&Hv5mjSJlSq6R=L5%>?jw+7FR9a^@=C%7d( z!7S(E#LUr_>i_fxG6sMvV2S_s4v78!Uq|-NF6?ji|Mg^F7XN$GpWUwnjvu|Bb^rc@ z^HK*el-$o8-xxq|x52}P!~3KEhl8~TU?ees@j%pM*~pQH~$_nzp4I(Lb>igVoU>s7~VPye~Za~D@b&q*xjUSMu+ z51T%~&U<$TSUqYAbs91^Jyt!AL3ADb-5GH8V)1wI(|SV#mNN_NPxQ8WeCG}L&Rf9M zID5s|qHSlqoco~F7-D~OAMk4^cm~%(zhVjV`}*_yVElxJz^M%2`xpurGmv^kCo~-$ zyY*l{gQsA>s>gGU!fW8r?I-X^TAfZ%Z}|MHUykpf@DlR-DAuS6na^Loem&ZSrSx&E z%5xvKZ)N7sE_{F%vfx%`q6M2Wl^GFNpc8~6<~7WMmzgqi27LpixXp2P?TttA56iyw zg*UETzP)}u;b{AD*{dYiBL)r|k&fJXU%ZxTe8%$^FN^Cf;ph60tLt+y1f1A@-SLe7 z%o^A0e+KwJ0lXPD&iN1v==-0ZhJjxr(f{fD*B{)_@3*fxB>Ap+zt|tXKk&eX1|T?p z@IPjL!0{Oih!eGH*QE|VC2hLyNMNk^FK1r43i)=G3)v^zkbCxLAFLDnyIgRd`J>lA z^P9he&rzoPE6e}KN3WmQpYb2< zA2onH^N-iezU#^y1~C9}OmF~xm$9q|Fwc?qTwuTNKXm_m2GJA1_u39_M}H+hGixhi zo%%m7qb61P!dzQnFVIU{?Dt&H^M9-Xu)zPQ1MnSK&%fXT;oGT_<6B4KYcldvg3-4zf;A52M|2YOIuN!rcwfW- zAHn{J1<(P~(<|?94ZwI%kFPurfa~lx;Q_1$fLfq6fUf-p#c|{DWb7&a4Jbe^YdNng3_s2mhUe8+<-Ep%$<)u|U(N_yF==oDt-F zz?{ox{BMd*P0#x#t?X@p3*bI-0L}}Dxj}*b;JH_>|LOUIbG7E* zA6`Sy!oa zIF1(5hdecA@Jyq=JZT;?-sAwN#ZQ?x3;bW07NGxIOikYW|C*bQrJaXvz|;0#^23dA zge7U&dUOH{@dlcQkIgJD=gdp<7r`H_Sd~_-TbI^t+K}eXpC5G*{h6J))P#6V&(`xR zqtT_F=4<|cvrdDrGxjy7kK^GYG;qWamy)yD=P&lxYut!qk9l$(^_n6c=|-Oku}BB< zf3*nq95vzZ#tacJ5Nqf?qNjoL*&;q6RzJ5AvuDUFK$8| znY%UZyYWzZ^Mmi?_rm^Dyr+T-7!9947CfIkYj(_SaCXC#8RXNWM>5wB&X@ZBG`x?! zee9&k%;cL9F@QRNDcn9~Hr|lbUVPlH=u7q-K9p*5PMe3GS9(0iiM0n`&#Q!18hrA; zXP$9-4`BSV;00>IQ_4wiI|7#h z##$GYhrX1(&boZ#maVy8U*fk8yr=Vn->6N_t!|;Vdm|iyae%sqJPSZ=fb*l=BlG}L zGnRc|%-{8Taei9YeuMcQ)vxLmSB-UPFVE0%#sE`GbAR%AJORSj ze`e1ABk!N7*Kg+kM@@CkA8|WN{Lgd#@L{5cFnl7bv?rtB|10AE0Ae-k5Lx?=M+5k8 z&M*IOt<{`g+&96)vlRUJm@1uc>qac*!wd z9Oq}9jUJDfukuCJ0&nH@%klf8*F7h#|BL@cEwwDS=WoUJGX9@@zqrjyZ!h@&&>NK2 z017_9OF07{TMc~EHuS%D>_Hu~2l;PT_8(?mQ|G_rvdii9rG^SeazSN$2zWo{|Fs)r zf1a%WWBwsAt9+Qp@DPrfRaftcJXuXZ_yfrius(wS#2K|%>I>|{aFz1_#s$>5%H*UI6O=dr*`g~S$e`0^s@5vA4 zQ^k8%1F+v%Kpz}=0kwcl;WCUDoDJN9*V%&HuvyENQEM{yFZ6$nxS!hp=G^9e>Vct~J>3FpuNa{Yni=z~WLkKBLouo02-4`iPh z!v3KCD)RqPW72T&e#E#j;rkf8Sjz4zWb(R=Si(TXBPd8L%zmQ7Pt*;#J7x}x2*iHVM$nU3g=`86>e zedhc2!39kzt7m?kcn=Q`5AWS~?^%1Vz4qFB(&1yr)3LLc;3h7m^H;8?_n2dM^VZFD zi+;iP?{fd%4Y-c$tQ+Yzn!dZ#Gw!(Vf5`m1+r*KbQsWlQqlRA(576gWPd=?L*Z`qqp8!7W6wv+&0`aZ#pZL&<}QVMS%eN_-ojLk zrqdW<+*I(F_-YY)jEw)K=>V~qeY_3XGmAaU`l&U5QubvzF*OWNvZs^|9tux!EB@Aa zbu9V3uVXG<%Klx#el7kl+pwGdzw_Y#wy68hSU|5LxKx1_bt>;?toc8=67$fG__i=u2e`DzV_&fJ(YyR@A>H@6$tC=!~ z(i1>z^8Ykx(g5G=`uW)KzpOh%Zy>ybxMdz{&gFg2odF{%;VjWK$^&>DS$)ySoBIzS zj&X&@E^*RO@U{%hH~&`yP(FSVTK%b6yJtOr1~Y(&wW_%l=O?1=H@_dpObKHEYoXQ$ z)CrEUW)S&5{TSeWu?p?KudC+3|6>lNzu&OhRfqlXHsZY4Zx29!?pupdzbVh}8p!?J z^RMThpN;&V+uZ924=^xuAL76BTbzd_kJ|+eY71)E(f4P(#9nRw{~~ddaouyQmpF!v zss9x@zjc5&T7ygE`<}->u78tW4)QK9!2LIAN>3(z0Q#317Zkj_-<|!>#$=v1e#gHL z`vcQCAJlpp|2dE0VQhc&eo^~>5I^|8BA*A_^Zt>0{))Um9`l?dM)0~ckJeAud|uDV zc5ioOb&EPw8#n;_1LXuf2kjLwE^XP4ei(4s$D5GTXZ+Vcx_-=6T1DTJy_$Lg$PMJB zcamC)%>Os#ob~V30X~fX>I#cE-~smM9zcJNn1HxI?61RrFjMZo-~x;RGWI`;|Irf& zrpgCAjQ`OKP>cV1a6Qlh(o5ePU;V&;X8^(#6IaSPd7gRx&R)JI@@PGJ#DB5hYu&!y z*2F6J=!~lW+>@D^Ji2V@*z#%vz*ro65o1L;Bl`(+Y ze_z+wAn-qU0P6qXe&z$fe{vT2?Go^RAiT2LtO3Np_WE1*m;W!T0{2<=_?1_oeTUPR z^B)O6SV3+e{#VlzWDHPMJ(j#551mPqqEB26`07m=|96nft1;9E+w-tr|Gv@Ve~Mht z`M*AP`TBcc$2|0kJ<|cOe?RLe*nRx6`}(@b|IPKMg4uIcu1M3#{bw$v-+w8!aPogO z{|nZvKm)dxd~gH4wQH#XFdOFf9rlDWuzxSQ{W+m^uNu$no0@6h{o=F{f1S1P;Hy`! zPODa}O&jPt+=l1SR$_=2LnmS}z0k7r%>#*NRPBLMO1C zzRFdbx28{i_#<>9eewGv2H?AxK^&k*pfv#X1k+~BO1lmp<=F3_Uz}KQiangm;x(Ny z^$szgJhs=l@r(aUJXhbpV%hX|Iwk%Sisy_@W@<$3i-ct<-~q_{;g^2^=AyA=g(lUL#!`_$Ft|ZKlpC# z-^ZNuBmTRb`RnYTzPvy2UtHRI;c6ZJ%NMk2*FLzyrql=AYpt8s<9dG;9PwIz`DN$8 z$p70v^>WM)Yyt=1;KkS)$5t#c?{$itlPUMw;^w7)U?5*gueEo-OA3Iqkm> z{U68B{NH-Lwg13&@LYYL-hjCu0G+=ze|!CE=7&#U=mUri#Q#|I{AI8I90M4eMSR9> z#(&~8@L%2`<9}`558jLUzCZK-LEMl2Ki;?cP5b^!jRC-a^Z)4o=eE%PnWI?)h}u7U zo%(IshnbW{b=9h>A-2c?fd2SSVE&i+JFxD{tcKN$+iUWK+@SpF{*YNu;UgwcpFx;HH zcpYzjuJ5Pl|1Wa>--rLLISz6mp39wjmIVHLY|NSUhq71I-^oGgKWz_dt2eDrgVhq%%8S}rI*XjVkf1fXJ;A__5e=X+A`P+La{)_cRA7H-E zW8l6RAGmMsUz`6Ix#r_8zK%NB@eE@u(-;4j&0;mHN8USMedjahQun#~DfU#tO z|DJR9)X1StU$h)OTy@lu8<5Y~_vbb5{;bbkGwMh6`Od|8YyEnkivLj?ZbR<>CUs$B z0DsSYmtFvG6QkHK;C^Ty}s>H!?$b`{wk{Zf>`3 zNc(ngO^5gGNQV#dUhx|^a%f*VdKhd!bRZp~_I;3b27SUsv_O^Ypvamr+#4j-1Og5qNcJGZ=1nsHrOx!Z{ELR!}>IT z*|N|8OrT!yqd)&=^fi7Id%67p%iwE#U;PG@ragS;`fj|=Iqtsa;|=Ah;YP3CxyN}l zp7SJYtro6Wla5`w8qe`uo-%W0+<*Rsm)K|9px@v#Ord_Wa(&u+;w+xKTj2i}gyzqA zzxw=4oIX&)gBr7)MEJol&Xz`>j=!$QZ~l^EHc|DIgu#eMsH znzKjAhwnObB``w&zk%R~UOx5v?E%!c)nyFOi|<|ChOwP`9yu9vP_bW4 zN7ntl2JWl-YY}=N@&EOf@M}%8@2~zp#sbE(#&O1Mue`#%K>Po>eS`h|sakyZdnmYg zza#rI#boanxcztx;NwqnZkYf7&+*@SKy5ETE&e}(^_*`H|LlF^&dC2c5AExFfm%g_ z#x3F;d%ZQ9dpPU%ox2B)s^Rmzk_+(onA5jz?>y{|wKxt30G|6i`(K?Ky!OD6n86tM zPhB9q0ElDt36d{xHLYFExRvYAE7t*n4|t6KuZsoX6y*S7aZRa-X-Pb84WL*#4(Jel zfo+Lp3N9e19o@|obQNl zAj|kcFCb?Hn{Egcu%smV{|CdxtMRk`uP@*r z@KXN2dLnx#F~BJBzj6%u0H06(zwrOf`ag15K5uXU@c&~bq6>fzIQ{Os>GG}HycXOp zpWXA`|F?TLc`~`Qp0Gal@n>JA=`(9MUZua<8vd_| z(tm>NWZvm^pa%JfDv^0^R(t4j+OQ8=0ZJGtK85 zoH>g*ZF~>yI<$|PW%<}@v?5(2H?NvFIqf|3PWqSsxNUp%=4;;a40dm-K zG>TkBBQ5RMVARejxlgGCwtr>fW z_^%GDDg3`WGj)S<{LYb46QbTjjCqE~qt~D|m+d#SoSu^GeP{o_d9wL$DRFjdw-+FMl*N7V9~`d+)2#u>>j(c2=Wm@q;(?m^%nHQk-x$ICpTE=ZXY91u zcnIehV9X@68O8t;odGbDkN;eU|C}@R;Fer3z0!ccdybyz z=Of4O)E!TI;v(w;&()*PGA)B<28xj}-A_w-R~)hy^^qJSWGYi5)v_2AZcq!Of&*yJ^NJ<@KUf9+Q%h)XzX1F{^?&;VTxtQ; z9U2FS|8oBs|H+N}_lKXS2LS!Q+W+YL=T`h5K|D|ej~o0y_&*B#AHlv^!Cp{B-mmW8 z{C~{2jQ>?&jo3eqI)F0)c7pLYKKe9X$2zs=VQ+NyJGSpgyZ7!(!-zS2?2E6yi!b1k z!2e}n&aS*!d@pSS0$#mu7sdV$&#dPcXrF8qomGr@__tJ-VZ>CR)0dC#7n{IvZ zVfx_S{q!z5{0;Q=H?Ln!H*SBBuHC$o-n)65&vP?fF%Ec_IN;pbbnfh_bb)n@p1Kpn zIs4%`_VKy5!$EANhOu?)I%1&>X&rjRRm|aAw0LP+w|aA0IGY3483#U%hNCGfFHghx9@T<$gdeI|yexV|hVi|Q0soKjUjO0${NLg` zDE17GQE`9H!o|dSV`AQ4&B6uTE=Wt)tpj73yA1x%S++baU$-GGS^?)m-{CxXfa$~s z^ZB_3J%HT*UcLukQ;&)5%r5FgJ>B^!#=<`CtVhrP5ok)=a_t5O`mHDVzvI&{|CfIm z&nY1;bXLY6knei!r~!NnEz&@0+2*0*|B`i^LicCSpZR|oe?Mt9b!W6kk^jR7*z+&` z2lkIN|3@nh{znYpwJRQS9rq(IHm?`U1JAjY3n(FH)~~;UW4GzZ2{55a^aqR}9+q2o zu1H^=qqaw1Q+t-wCb?&-X>u>rV^(dR`M6w0=*!(3&<9)Vx3=oiV@)4^b;IiX&12l- z+(Yz|f8nM2AO@&>tp4weUwZ(f)=-Q8dj5=X5d(KdaCKr9zpM{qy5e>s3sYX4w=csr8284K8R?o91=Z+D75ZGD)Zq2Jy))#}x( ztLV4XgzsM+U@Y)o?Dw27E;Rp_>x~{gz7O;Mr@`wE)X??3w8mdtU;6F&JoUQY1|P)V z$8&x;yTE?%T+L6R5wQMWyw2nJ|M1^DjQ_s=|^5f>jy`cxFs|VNvV}8%|!0#T$e`^7O|6C^#1JvgKt+|cG zzLC9vvIfAK&jTG`f&Xd%vkowO0puEh_X`bxn%|-apf@pQ*3+m5R8Ko1`h&*S%nxr0 zan_lp*8jbBn-V8l129f>-l?^E{rmL&&)Prr0rY{vks1To16bhyn|J}e*?|RL@BsUB ze_#jpP-BBP`HY2UaA&cfW!*pUAMEc;{^ed89sqr_2cY<`24Kig{Qrj20|;&m8k+IH z5^R_Mw;mwx?>;@Mn!bPbz`FWBk6ZJX_aB8e++1$_$}P>-OwSC&AycYUjf+$6#~?ob|x?|83j0!k1=6TD@j< z+RY50y}PzVZGSg>{q~*I_wgz^a(Ewn{>iB8pE(5=4_05mYwr>>gs)${4E|qDci+F6 zuG6z{_s)&<*=HY-`=j;y@Z)sv{wL`+yuPhoTW?P1Qw;4^lHw>&tV0e#u4HtUrT?9E%-NdFC7>d9w_WhSRDe)`ApobdbOeaNXgD|#q7pgMegdaXn6IdPV{kNN+6JOJoBpJpyO4m}#Z z=HONK`_G<#Ly2Dpm1XRgw~xBNF+gBHez?T*>iot3=m8{`??$|@H?bUn9{(fZlr~V$ zw4YaffUj?CV$IkYL4K}>mv#Clp2#(Q_hdETue^fhpZv-tKl&p5gRi_sen~Hwxb5C6 zFKk|Kt>2oX@rM3Bji^8ScTYY2T5@RRd_Qt%so;K+N2Q!_dRsxqrq0MGc_n`VY&ojh`{FAKWiI|D4?}{;T6M7EoJZA4aP;+edGv@sv5a9zFK| zntM8jL2pI%|Iz11z90Jk$ME0t)W35c<5TE-JAnau3f6h*JjvWYURzHTb3?IK9Dfx5 za}R%k|JHqsF`wpr84GxRJ&yhPHFC_5UrVh)&j0^u{O7&!ehU6y4+?Sr>1XXF$~7d< zC3%1rt(kk+)H+EM&aG#_XSe|75jJenBJkhqQVefO3}BC6#{Xy2ie3A-?t4Yd`vCv- z0Px&I4}ceTXaLNQ`8$ud`M+F%_ha#M;Rh%mmNoxH?r#ks<9_J=hz~*w(9XWVTni|) z0Ch0{*em}ZoB+4&h~L{&D}R^+DDLOEK)q7O?s~f5?LrTrdB1&s;(zDf^aq3g#?sc! zCd>x^IVZ(`<1F)kc|7x%R&Clv?~jkk*PH){^=ki|Yi=yydV`u$=m3cUf(Jk=ApW-} z4v^n>-+ZeRc<*DphN~^HjvRnXZy|BtzCm+;YXQy$axU-#4PbvbfZX%$EWq#q06$9M zE(QQKmM=h@yDNik;HxZ{~5Dt(xxqV2Y{iSx^-nA7|q^;wxDKK z%5?UB4Oq4fOx=#YVE3Ng>A>N`;O%~D68l(tqn@v>?=-J-?Y;NXyXf~WU%ZsAU&CkT zJ@o(h*nai-$LZ6L?xp*8@1~Ez|9f}tgZm$*J9j=v@6)&V{s-52?!|Qb){S)c-o14F z`ZX4P0=$O)$5$?&hf_Gs>z)k_!8!ill}qQS3G7c>;Usnu$86obJ#E|#*S}|b+Qt1n zTQ{OnTutp_eOkSCW16=R-QBD?Y0;8p!NZIr_8LPyU?Ln$_1JOY+b{)=wl{HJ_g=lx zJ8lgAUqRhOP3L_2E|zatho)mqTFLElaDABzEdi*qW1C7D|ax`hv@l$5rg7^>aOo8*4d$aCiA7JGF z@W~^oXAdW59LzOojY7YF@!$7izrH+xIuV!H;oOgIT)UwGBnGfYu@BcoGjf#S#J?NR zIa>3V7qB+&XR*Hj8hR*s(uR%m=TkHGS_67V!EpC)m-&#-H-E1Ok7~>li~ZEcU*x&Y zb~XQ3OD0Fqg#A=)x}FpA|K|VCJX4Pu8gGF8%xh?<<`caq$J6}Z{Xg;oL`_l3Sw{C~9mkM<89 zKplX!{(=v%2g80qAJ4i*^M7!^RDU0G{`jo+{SBpFYu!Kd|7rl*zTGA8%sR=doL6!$ zV%sYXn$=;lKdU`e*D3#R3?TOB{9pb*`~TSIA?DV9m6}cSMtt8-GIzNz`G1p$U;TbP z2h91!g`8t&uiZ!S|ABsAT(>{g*D@xt*VET|fd9pP{)YHK9QXIXH~)u+@bf(212X>m z|Lysgqq6?t%I9m=Em{j`_J(~fx&PGoR8QdNcyEoGzLD{t^R!tD@_%9g^ZMKa_)_TN zzWVEb9q-GSATN#^=Vgvh&Ho>)y83@BwSTqv51&?e0AwE^`~EWKXa4`uyg%y#Yw@3W z;1T>MkFW+H{zol9{Abw%5VHX~*UksxHhTfv2bj44@xL<~0P){*tw(?Sqk5FYIc7c0 zb8^C*g|W|wX$Ag!TpKsRH-hW81#yj;-@iFuCGjIOEcR@B!2T z%-zet0X_ZI1&aR_RaNAL)oA^vgx+88m+@%5)&ET-FIC@e{_o%X;?IAJ5B$vd-aRMn z`P&Hg%v-P^^anmB{;pcPE<6**(Lc5X47qyaz0?+-L+`uMQzx^}Ov3|j4!Qs0G>P8w zsni0dGaq0&ucHs}0%x_9p$bo~dxS8mC>4;*|a*_&|s^l|ikM*{n=T)GTSUryI=+yc{Yr1#M4ef;5v zf&KT%>p!}CKYa-P-@8Me4>xf8&h>Qb{rBJpZl(|DVZ8eRJ%ZQYOE+&`XWdNiUcH*G zyo=rsyuWZB{AVW5MSAhioH|ARzc20FP45Bu|L%8o z6_%2F&*ihvnZF=-0P8U0#-YKesz_5Np}l8rpS=b4Y}iZp7O~&ft(%Dx#s$~88UE!6 zdW7HpyW0A{dj|VVv9EZm--Eilxx`#z{&N2}9DtraOW|9Vtz8rTe)9j;3KsGBd}6Vg z^aZT2XJF$x^q;5VHM@52n${7&h_&YC9f-C4ALjhdz_4b~0bS0w!A3Rl;$i*z4f(kq zTGlRUGI61GM04(umE*{*ns8m>8%*tZ=dsh&iZ+JVuNr`A&cSj%`($G9jQ@DZgJ;76 z|CwjS^{Mtx{O`~EaTy0#-!GBFBY!ONf9L$fb@Bk3M!E!Zy*7vKy{vrmbo}T;se5?wr&(AUM2k&dw zgWR7ujo7Th_yP{VISNt#uf>1)|B(g$Qv(9^RTddauNY39|w}x|9PLjj=!@O@QwNZBiNtg0Q3Kh|MV@qqF-&+tHu9>r!Zdd^;))N?hkROb*cId znsS}uIr2i*^sE1i`hVp9YWl$cW_g~%Tg20MfAELld*KWrACFl8!~(_ud09^(2H^Zw zi>dcof&F@4T7L*1z*_#_$ISV~`OpH?#sV$TC$v=e-{Gyg_`tb=8UM2%U|aFOHU@|| zz*vBv>wJNT1KM?h58$=~OF!Vk6S%+JZa5eeRfgrR|oh8pIt7XHRq7tCvpG<{;Ts7^Sv!}e%26-0nGnB zKaCUA35Ev%Jb^WUtOam>5PksNoe9({Vt~MZVgNY+^Zx;ZvL9f~2Bapa51aTuq5@q| zS)KzhYIGIa|FPh@z2Va$2ADdX{2bnO5^F5`q4+-(9^sdN{Wob5x!_AL<$h&n2d@F^ z=gps=y7N9fk5|(xFdsg;gzHf+fhE+DuUvZ8dmaQiCQe>Gjd`EL67;|~M-@6cy=gU@q|+Q4n@%LQCPBY5G;g>?SH z`E-$W<>G~O0x$c+hxfuotVf5iCmlMpk3Pb~=mFM&-5b+pbb^~UYy|&T;fK2f%^md* z`tG9do;W&VjS%(r^Cl zzsq|Gd&cAVKX&}2G3-+e``|1MwUk`VD9B|K7f0V`=T|iGOi_` zFLzc(y3g{wCN-yir7&XmI)PnkmxI{!=UpPD~=|MdGE%o=3A2>zE2 z760LiS>k^mu3=*U@m?Ia@4r)5e6y$lIR8)lcQ(=TjhkbS@;Sx)KXJnMsP0d{as5$R zah;1RUiE*8m+FU?BFy~o$-jDcSZ~^YOdaL@Fbx=7>_egUtb1L8&jK`g3o8_V)`90OA7m{yt|k8cea@`M&b~f&au1>Iw8@cFFsD z91Hvp{U7*W#`mZuK|aD6fEoXDKS0*|ne$u!SHGZ#QFSfi(hq1IOe5)C1ZZQuMW2 zZ*GKFfL>N@$t&%HFR<7=-tSi)|NjgAi?PoT2OEEQjy*@c-S_hV|Hb;p>jycWD4z5C z`Tqy_U-17gzVb2{kN*KUFaP8<_zYat6V$Qn)wdVVbFY5GW_(`W7cp!@`1@AifA;aG zZcmR+#&^zD&e?v$E7EH6gR`ekM;sAe%Ul=5bL9N3QRQVku3!?+(!!#tIz@930UAidqMaB zu^%}5N4)nuQWMadoLP@ha|!eR;p{o`=pK9HfBS&VTUrMf(IJkld49)E!~<{Q5ev?@ z;%B|VniESl=e%k~jAJa|64T}Ny;T!X;JiPJ{c-^Av)NBL`vn*SSO;j&XViPhT&r6T z^M7gpz36db=?APIklep9K>q=GF2Epi^`YgXnCX%=fFr?{fy@RTNgrJmT(i9aF6X`3 zAD|v!BA8<@p!o0npkM#p--RBqeAGnpp68>-ZzLST@|DYD7P05C^?v&$`>@xRbDb{* zUoKH2cg|5obrpHOdf{sJ_v!fh;ORaKKj68<0t*)44Lp+`066^}yQu@<{W5Dt_yu)g zW{+O|zW(@1{7p(r(v-;)(k6BD;QvPE1RUB&uK_i7@n8M_JJkOV9Hg(0n*Uky^7E`~ z*Kbj;e>Ze}*U<1^zeWy!{bu^`gZt@YYWbgi^l|!x{>A$rd`KJs|9|ge)}3_c?)7y4 z{=IbX?)&fnx6*CAf^Ja@xPAM2x^&@mx_IeyI?vJv>GY`+p#?mNrtH8wd%^nk_zvts zmk8cdr`Q8Wv3=_{upccTeESOUe>t;}=28EcORhb4{vzfo(1%IvG_!=PgBdxs>}$xW9NAbpZ1JCCp`5xHzpu7r2sG<>-YA@tW?NGtdUwA8Q}p z?1jtYadj|yS~@dAPE3u=i|lXm<>q4YkIuK9F?U`(|8@3R^{g$41Db-x*0OgVJ%!H@ z_&;+t902ubFh|YbBx=!B_{xaKdjIJAqb@)Ee@EsRU;wz^kK-p8y>!crfJ^#~~Vcx3M?@t5rKegk5!;N!1 zU`$}HWvt_RfzR%K8@NEuZSnjPwSo7kxIb zQX^1hZYdb4_^T50_6XdlXHwvO>R)hzF-Uxehj?E1OA`ie{!o5)CXhM5F@So2{$PrpKgKS8hFIWvf%9U$bB^ux?+NG8D|r8b!GGAZ zhs}DFxu>^!F8KX51<&PkBL9ElNpKHNTi(AZI>6unl5U~|q(c>sIt{oY>ZTz-`} zOpjl`H#vq!@E=StFEn289RH@=zsTe5we!1e(#3fl@c?;$)C2sPIJxiu5dZ6b z7IVSQ>;s?BtJ?IIn&HuaT$)0t9oxpoFIr2(sN!%-pHLa`p*aUKq zO7f?HgN8(m=XEZx*@VyCkMmJ4Ue7E2!L8++w>!hTEir&S0><-iuv)bu_OHc%@jhk) zdJFz%oX`CO))3?bV zy?@mGxuu?29}fKd#?BHgC-vy zVFA5i-Me>>b7A(}IlT6$)RTQl{rZySE9jBGlsYq)Z!|o^%=tC!<6{Ew}aTO#RR63+IO`nQ~_>e(q;llZ8*G^`} zFb8NCvxN@r+YZj|4NsrFd+gcYpN^teKMC)D7C!#s#S8TBT}|)8)nC4NF5S5Ge!5OS zqw8L6zW)gtfRDlXkI4N$q9$O%9#04HOWK7l(YRy}y>q*$QEbDDa1(j=y0vT5ij{EgcpfbU z|7*}hdhF)T$LDUGTz@q=?MS@&$j^ucD#+)mnG4Xrw3HmSI~utyWk|1;rerlR#*2!FE}>|a9szJm8K7rsUOH!g53fUgnv7xBG0$8iq2 z&sFO-QUlmX5C7%(j$3e^kA(ZN#%oT#ap(ScTz^9Ge-JTq7ckfT#=JufK%tFlNbi+> zGVZHB-}AXW*QfhMn+~0soqQ(EU%58$-xy#lI8#wgZy>el0{`XW?9;RFULL^u{~+!U z1oN!@_u<+#25>nCuv2&DW^zsI``@`cKG0n6*80VWe)PxA<^Nfu^!N4}xQEIUir?1! z_570mSD&n|EbyHiz@BpBfb0kIQp7vf1;iO^06G76pRUCbVhpjveMhcS4S#6)*mu=K zG;U0$QOh*241Q!( zuK$Ps563a<|LxPyv-%de>H%50?GFn4~YNK?;o1KJbUeN{I>>RKIXn$=>PoOx%SU& zXYk+pzcmwa!d%q84DnwrfbnN=DD2Z7S9yV^f%6&n)c|H403P1N2F9`(kDnmVYZS3q zJ#zN&6y|k}#XN`QwF)0Ezw>9GeLnu~8)JY!(Dx_n@nU8qapuFA@BJc9$oIi&Uf;e$ zk>{(BAbS)P3Qso+N9|M7o)A9_i2>e&yi33Dl$={Mml zKzmHlwLOggzgXhixYTfbe)CHXU&42yxaSX(Nd930&jftz(VCI=X*$XJ+f3E$v z00VOkAou@?@sDD^F+i>U-`|n%NAExPi|4i`PcG&HXZ)|N0ni7KdjhitKpjAV|MCF# z19<%vEBXM)3DgLwHC0C%`9HYt`6Lf85&nN9`>{Ig$p689d5|}WNu0wommJA+!TP7# zyufYnze9Vt4RGIi-m%y>TXOxXffoBS?u-4#3;G0d-^Ymw^b%;(R{q}}f%f?6b&uMA z$G7o)Cyp?F&_AfV`HcG;tH6Ib0DAz`Exx0X$Rc8=Y2Qc(~u!U(w41TQ_r3~ z;}~p#x9`F+>CbT+#PL)EpkH3M-aWzZL3qu~V}5Ia{|o8sg8QE{hlReF*+6sQ5`Oa6 zzau7WORh)HGVfVWlmSBqFn?fmnqi${;)L+`-Lo6cfA20leD;8~JJTU@|HB85r33r* z>Y?xN_yKhId+5nK1nyr>SFT(j_diF@jz<6Phv~)#chgPQUGV?Idw0`E_g%yQaQ&Zt zdOzK|^RUs1bjdoaO)O*12?Ww|G$I}(7Bj{c=GfqdI3+v|DR8X z-#HTa|IRz${?2XSKiWjR5H@dL4|l&dttIzf3eGO3#=dAJo=4#S%$iwgI{DQ&@_&69 zO2MWH)8JOYyOBdH(&(y6IH&=^|1Vj)HEP#-0j|TVaNn6z=~w^aU&MDH$LIMNi#^3# z=lV>UH4E+kYI^yck+71yeqE|rumGHA))J2y8!QC(7tjm1Xa%tV_&*!`U$KVT0Qvtx zY7F^2w{Nd~c*)4sZ`*e?9v9F1pznM8?QX<_C4qzDrPyzMRQ|gw=WBoVa9`(5Gy=U! zm|IQGE+1~soc{mwR;&rVpWeUK;7mDKF<}Nd=mc<`6KBs)x4-xE(2V(eV+->}`9pbMd41y-z5ey> zGw=4j+fP=H_iJn*7K`7(`4cl(12!Lc@(F!{=sgF^{hPM!JH;NWZe2`L!)LFRHCSVX zrp&T#*1QS$-z;)Aamr;6K$XRpJ5_HARI=szQ_Q zw~6yqUm*E^wW&q_U-t5&PSQO0op{aY6{wc<-LHQXuNAmYyk%|7I3Rd`VgRpc??=x+ zF@(3)8=~$H4i@@fY*~;lQY04&tHOvNKgD;$HlQX-ZuwO zcdrMqIk}=gs#BX7F&IebpUg%uI_DohHl_*SKecfUbTLJ{rUwzuMeLy@CL*Gj~KwS2+D4)DU*;+KC5Y?|AI&rAr(Wyy@6~jdh$ieD&r{bP=72LrT$yqT?t<8 z*n!s%^8vTRs~y)$L95E-n@n6 z-wWa1>4B)3hL>w0`W*_J}>l=hG+Vc`!z=Kl>UAFK6q< z?tOBt<{{P&^i6d3; zwHeL+CP{b{6AQ)?r#kI|Cs673qZ`58;CwX?%V4>isj?^cW^Vr zWY+$x@c#*IL2cc?%sK-xfO)>$|FBBtHH@^E+ToS$3qU+mZOr#msE9&UdAro>0CMx3L10A#I1)=L_PMGXd?-&nO7aYDoa6PLHMyAasyHf+$6T%#{Z8%Ue2MQc_xO1ZNB+@}!1q<~0luF2@40FYJQ&@D`juX#1LJx26Bv6s z8>o3pJUqGfUT^!XC|1OGWT;=lcYY60Z`#s7(O7v-8F=bH5t zJwf#N4qZO4r~WzOO3t^=@bq=~5AL@F_r-o=fR^BXOTG`67}`J42^ef~x4 z-)aP+&^)#%OrS^S^Bd?7R9$ENW!roj1=YtRoc zVa81SUgwb~RN?QxJAL<;zXJP)QVSeOU8V>7aRd6sdd8gJF+8Vc<_zZgtWHOc9EAV3 zzP=+g_WP)}AKHHy>{su9Dzx~Q&cn}B`?p8$y?4*k!*?~kPp|(CYWO#9lh1?mw?3es zAFO|$b^Goe7JYxz0B-p+J%IN7-F*Kpzvp?ksR_J)C-DFJ4SE2tU#AD~YP$ID6?6vY z=r@1^z+>RdY3lz64zTik#Jy|C7o87pzzTrqk26bZJ_O)~{wEF~|~P0OEiJ#sN$40^ofuT7eFL`!(|y1pY6l zPjNr>4PUbXIla9t;{SZG`s45aJRUcHG8VS>FE6gwjrDSC;r1f=v**EdzH48n9oKI6 zo+W5M7l8jQ$#!#9in&i)-m4NmVmYyXk|!}$*`s|fyI9>Ds4 zsktMbKYhdv@t+u1|G#d%^9%rEed__n0Ajj6Kb^R4IkalX>+uHGuX4>j$pRA#(*{fjNS8!oUUM0{0j3#F)W7O&IHRk_v3C0cLfV_mfs>jc~U;GpQ-LK4zGyjkOA6P2>tFw0o@CfsN zb$KlN^a}hp2FP0e+yfB!U&{d$kB86ilmhqh`K#3oRMF=bTmr9Q3{c>I!Toz1F#z>` zH2~KAv)^y_0ggF8#Bt)k^$PV0E^*)d-`kw?oA+m}qngL?0JQgyIKch~vETkJkAtzA zIAc${wQ6r&9_!rW#>|?g%+Z3=S9hugpy>aX|Mz}taMI)Jakp3CWi)j9|1@}wJ`K(d z_qE8~xy}mw_k1sEG+uL$V}J3pd7}8AvHu_Azt4L#7Vu|1g2Z!b0Z%`M`~D2}yCOF5 z_S?n_yno)idA0GTJdoNG<68BVzFz$X^xfe3BTgF&)O+ETn2o2tQ63;>0JWh1uetFQ zy(#AStmio|ONlR6?miHCuU?kM0CHMIEx=n}*Z9HnwHYy4_Wn_GNbV2L7x-^p?=_Wc z0L4te91qxs;AaryGarz#KOPhNAHsiQfV%krJpVx*AlC$9P5_wiXSNT}{691R5d-wV zKZ5g!96*gw_LA_t>X)j~Avpu95y!~u*`+qO6}fyD@^9<0;(zXcX13CswfTQ*=D@@K zw*vcHw-Nh|0W$taPXPN*8~B5KpSl3AC-z(4mtS?}Ti`$UJHiLN-O0JZOC=uhyOJ(BKx`JFhwT2Mc;?tccn>)9*w|K~4XPG!Um zo`2>ut_!;;C)-cnjd}P`WxA4hNe@eXt zoe;H&7HwMMJyb(|7k|&5T~j4JaTC!I*w3f-?-aLs{8{Ihd%twyB0fCl(}i<#{a5hs zy@9^(gY?-aAEwVgyPv-N^5gXRm!G6BzWy?O{k^Z#cfS5Aefs5B`1^dB?tc7fy8o#j zK;Sz%zZ-G{VEk<~0($;kC-%9)x_XVCKXinb@e;Ul`BJ(7=W&kO_=%I`|9AkMID3@Y z0ejIPlKaC2?0sh+euM{@GjN#N|Ms+Y!}_#f3G;5(u1Is{&c@$&J~I>OxtzqYm^6tv z%-PKBh3x4Q%&j;UWo39#Rlg;@#Q$6Sm;YY~ z{?D8{pB!KOUxU979>Cze_`i^u%jyAVFU0R}rJBIS{2uROp0{-Ey0q`)$$0(x>~;1> zSqomdd1v~g-~B^8uFln%vg6xbId9(zopfmA#ecBRT-lg)%8c3ZeD$;a2M%Q}#F5xL z^uXWE{J%Nizy1Dt|BVJ?%D}E_@W(lTBRGFU^G6P;Cx;$D=KrAq;O7BghBJVAmxBM~ z{(=AG`rU|$o&6WHKe*o20a#;lKeQI9Mo|5~@rCEETxQSyLwL_G#(NXD-)Qqz6 zf0L$7;N7xr#dA3@9(*nEKljnSRLkrCzWzV!M(Y2c3;g%B3#|A1beXe18Uthwz!?A; z{~yc$Yq4Ma_dHQ=DtA%5Rx^2b^7>YI`giQ!JGFU>Jh%(|7aliiOgf0kv^K`2G+lL=7O~1-XGD7O*FvwhllHP^SYVwl6#ZBmW2Q z+k=_r{NjFi0&<&Y0`|z~QSV3b-}!)*Tm$2#PLKIIeh0?(&S`y(_`f5^)0(_>A8SZ& zv}zf(dAa-+EnATPw`9L=K~D5K*l!Gwmo)(M{dRCoKG*x=zcv4&KhS$NXcE`6m zMhsBQ4K@bo!e=oCQG;l0z_59m)_XwWeF z0?-CH<6u-3_)nZToaYT6$==H2<<$SnhzWYKcYgV^pQp3e!NV`UjPpxPe|LC?d-p%& z*bIutoWc9f{(Y%Av9$h0>o#rRbw`B<4||I_!BYLDNl- z;EycH`ZxGkPo1u~MdB)0mM!H8C zJI|iGG@kz&`%Vw`p~L6jL(4ZR9@~uW*r$@~3I3*NuDAAEno`%|BCW`ejM_z%wOnV{BRy!Zc^ zYpORWa{j@U*7&XU*Y^9D@tv{4=NGO&V?XgOv74Gs^&5H_`8kYhiW)%F`oa5*`D*^1 z`$NrE?B{#7J|J)0jAJaXqV6s8|IAoo&vrTE$J&58j;#Hcuf`XcmHGb`v2S^N<$>h# zt^FIv`Tl)e49K_OKhJTQ`{^fC%NxfiryyPFJgkaTdwEd zoB#875Ay$f&K3CYx!4pQzeO8+=iVj`Kx5XiOUy8EcDHi?+w!yLxACm}h%v0WzCEY* z-WT=%!1ShY0ARa%!EW&4&do4}DX_n|&CkuTg3oUnH5q#VGB?wl_^iPH;Qj;SGxmos zK%0l^0`a@rUI6eUjL7qJgxX| z4L}~CrTV|%0Ehv=dNIE(*zRrJ;%EB@tnrKgdI(r65c}VHyJO`4_W$`m-zM(p%08Cy zzkAG?L5Mor(LRpkF*;h>Qt(~2!y(miI=4y9Hxq!Pd1A@~~W z|2JZAnmiqBg#WJ|TTM^=xHNUz)HHs=csO(B!%Z27moEN=^vh3~Itd*e{e?4Ur&-{e zw{yX~d0_qmdh8bCE3k;QbO~NKaNbLnuVgk4Iqr&8X%AR>@aTbbBb20V0d zf6M?pc<2zG0W*xUQ}5@!6L3;r(z|CizUfcNm+xx@hT z;QrwPhy!NXhloz2W)U8|v**w+usU>ud#LUBn)ShdeQNcG-Msg3`sLsKn|QoAoVoZf zKh*$imlJQ;ST7s#Kl`G4f5PON{5tRmp2ycd{2Wie@$uL$^8Z;&Rz$zwSo2bFCh#9z zvJcSwztI1i|JwuTt@*!e0Oz--i_}_w<&t4PjIfdU( zF$1_sb8=NU&DQO5o-ei;vpxH5ysCJ<^##uhANSVW-xxvsm0R%VB7c7z|KW;o`CO~L*e-*45{oIm5g8bW`sj!yh{ zb?QPbgV;^qp{)PM8wU>F{EoaLEOOhSqnZCbjJy{fVB(}P@Z(k7PDoS1_9^7D)4{ZvH8WDp9M;@vX*RdB zYi98nkI$M#uK;WMO!9te4O58?rcUL3;d2bfKAHD7Y2pMhm)bHh(KzyKb$4UOqIVoa zodm2cFE4{*7#5#rB=Jo-oct&-w+e0E7<%&c<#SGMyf&{pdE!K3km+gKjLH13iQG=% z7);`Sj!&ysub@V8ocQ3Kw0^@n{%6Z> zu^PpD8BY9DR!&{JUkP=~mU!syWN#nCOtV)5|F<4GkiPfpU&VLuP53{4+O+Tz(93rQ zcwaLg-T#s$;rl#&_N+9^m_+;s^K1Bytka19lh9h|1+ZYn%Cv(x$M4&D*Y)`Br!8EH z_U}yk5C83d#N*95_xn?`u>a(BxPS%?*n1l>(}sGY@o_z30DI`=1l%jt$Egjt^XYe) zQ!zSTW9P{Wf&Wux&kxRD&A%Q4V~D}a!4&Uj{HNYeoLV|;1aTw$2)Jz=;Lmyhs`V55 z3;ZuQfbjpK2Ju$cu95$X{bEMU0pop_a_;L*lJ{!x{)rqvbt0}7f6dpwO)l>~9yNJ5 zdE*@UKk?uFF!p7z|6AYEfAtkK=yLo`*n{EA*i$<7?ibofv84|G|A4(3{eRPD@&VNT zssF2;w12{yvH7Pll>46lqZyj5ZoF31|K7P>cQc z;f-XLp*lc${9NZ3|JD1|;y?Mm-T=-B9`n%Sq5DUpQt9G55&z{9=KUgpJ4}`<9{_oGuf#?I)`&nEC{y(Vy8w+Hgwy6E{Jr{g{ zx`0;XUgCew{Tl}lpbwC`KaaP)<<x{|Np+{Q&>X`{fku1@yJ7|2y;O<@#t$UZoFGum2`3I5v%mBRdBd-wKTMInJyS z$Bk?CCw_|lfXt=fVbcQtf3ROXZ^-QnFV~M)Xv?wF@qeQJ&+#mt6Bu*r4Nu; zS016@|EpOpf8Mu8&|KdhfbQs-y0J%fhx_l@3;hE4?_40~t(lXRaxD!azIN76 z`RHo2ec-rmo?;phN{gW=sdE+0_$KZFMS-1X~m4BV$Y z&py0=FC991h#ZG{<*Toz5#;gf)~}~uBKz1)oHP;t?B;N@L&1!>^l+g=1b4@fzn2kH zITL8o+!@p@2d6dLcckzC>Nn(d{C{GSPQALLA6$`k?%Blu*p&_+Ihc-}V2&R;gOjK6 z+r4~&y8K0I_RQ#Ej_)U*ev&?ekGPMH|HJ#AGSly~^!ex3`hSqV^SvLYui+Mc@RJ{> zAN}|%xcl#>Kl+m&r(gWxFVfHd@DKU<=jj(e|55tk557Vtz~6rQMf&99FJl&fn!g)2 zZ=~}V>GeBvHXS>9l$t*I{K0+E|FDtz!G=wEA7)De$zo|5hCEqP8BOU|)hY!cs2K;Z% zzO`zT_&=Kbzdrr{d()PK;{P}0|CysM@P9V_2GhZR>-uvSEynwiIE7frRih8{oLTq; z5Hk@=O(rgzG-D>ZKzag~uSh!%9*pnX`oDWk%`*6sW9QPp|8IG=uYQ=$C+GsUb|SX6 z2Hrq@8`p}QnS0Ai>@zLc3!X&l=ktx9Klth=)c7aHYe)XScsc$M_|SqoYW~&xh4*jZ zKj$v>0J;7F!$xvW!2#4R`vL9$?@u3G58_^X{JZz2p4VNyU+>`f)%#mRcgg>Y|L!r) z2kP3pBw~k_V1zk+y?U?2UhjTfGGGw+p@%;`Wd4r&fX}gy`uP{^2Yxm5fT7iYhF<+A zpNY?7ykP%!EB1u8Z!=Sn_h=13-1it3{J(naX3fEW`Z>L(oc*VM-RtRTj+OsQ{C8jU z_iy)Po-v=V;J$mnci6M!>#Lg^I1)`n85&;l@8QHu_W!HJvqmreM-PA+09N$DKqJRoix<5y_9|m{1(fJP&mq z;tR3YzsW0W0Mz^!`2Xy)#t1o2H;4R3IR7~A7e9X!{@2DG&Lj*DqBaijJ$MfKKE?mn z8td6Z|Klt8RuhAI`|4|rc~4ISH_*J59Dkd@e|y?9mxX`Db1ww`irLny#D2Z~jS(8Z z-ZJV-bJwgV{v3!N#hF31^?&eQEubs+3vi5ieu4jw#sClDzj*J8IH2$c$oQZAf%FEh z#eeD&1^yeOJjnlR>jT8|#`IAGpvKXrW33-h!~ygsf&VcVKs^BWg9`xv^#HOjxC?zr z#sOl#9Dud7(P*9Qi66wdsi&`fJ??9-pyz4Eu`!QnLYyg9ckBr70FLV;A+DSIi~r{F zEx~&8|CZuE*k8;FvLCP|&-L%c{?HKG7r_1C652Z#2oB(F{r~U?1pDp5>f99#05L#! z_P7H7d(aEms}J??$p5K}aeefojy4cnSNCThVd@p@)_Y?I0pQcYfK^yoHJ%YqK_wfg~gFf&&eScT3;Qfyd@aPHreyJB6A`d@& zQ2(KKcn^D6yVIV%+tUjCa;+OYO$>h!zJA%VMbse{1V1p9&o|8c9-gCW9N0E;82K=< z*--EwE}*P}-gdBmC|rp6uSRM0<{jYTC}Q`9X)Ut_wj4T`KK=PG;`?xK@q2MapE9@O z;6BE}QK)V0stg`N;o?0mOY{fVYTG%ro-d(jj!_=85_McJ9$9_PS!upZ=xJq>=kK z*Efy{zCSnsaXHTch~E+C7$Z3AKz>(F*WPezo}o8lpD~{@N3s{&T-4kvvcuien{6!_0;)#d+n_@Dj! zGv_21fX_yJ&RkPy*iHApe}8V!gxs`EhtRBgd|u+5jCn>}uX6F? zwyQ3;C$E12yzkGoHfPn^$c>$So$djK{i1`zwzW)waE!2^K#Vt8P` z_ld^KVpFPdILX*0SfF_6IkHCnt;H5 zVgR{+eSy1ieaZjJsp)H}-nmDwUeTZB@pG=3bqi;%xA0tIHN}#7vHl6pum5z zzjg)wi|_Obw5jF(*^jLI#{%!$yjl1N6BiIqgy)aA-#&8;-Z~4&7{I(={1^Mx;@gMa zs}D1Q$j5pT%eXi9CqEcV++H5|?_A)a5d-KCII>*LUycDrl#BoHs&L=p|6uOhUwEFG zIh*&qlMbIfAJ>5Un#aL@w?pLRN0`^=&w2rE+OjEpYbVz7))k6{ncNlKl|0M z)2~>+`ORL<%1BR61 zw~Y4>+`wS)f6x$oPy6&DcWF-kznvVof@`~BTD@l%J%Ibt{U850UjGsNuiZQJbskMD zHgo>MG?BQ=7(fo7g5x)y*dTtMJBJxTGh+6m`pgMDt}n!#`OGFDZdgk^<@YOQ`#%sx7zJdPMsPSrUz&JZHnz@v(08YIJI5^OrR16BnpyKF)>ncl^8Vt7ae#ID0{=_l0s2$-mNP2wU#))+RyS(?_Wwl; zK#cqrv2sUZ{*Ik9{hi<@ zzHc8lCXk~QtDhr(G8eN4(0cO=;I?~FZ*=Re@d48NM~spqeVXU1_ix$i^}vR25jU9s ztN*hH&^{WU@80~>(`dTjQ^kGr6?@<0z3l-IE9K4~;6HsNq5l($smr6W(2Gx9Ue@)) zX%bh7|6;p%9{qn}f2`VC0KZcc5IR6^3r@htavuP(0lB}k8JwRiA0YMz{&PD7{&aBQ zzcE|p`^Eo$L&g6b0~9@fzIX9IupfP6?*TamcpU$u=aIOeNALjF{|9nB=}QGm%sZp@ z&$$&bKm)w{#b+?h@1|iBX8)4woAcYV+MMI57l8bK(GTc%`VxGmUX0(S{%<|o*Y@!O z|E&iVxchBl!oYg2iw8A;?APPtKK2yP@qHLqghzn*{!c9b=3)F-XBhEDf&Gu)`uX@D z)}`_}NxZ;w{5xw%o{wU@JeH3c&wAcAXp-yt#xS0b;=j*r0neWCnqC)18 z;QJeG6SmgX2oDJxlz{~;oKkNlC-snOMpci50 z0PF?KJ^;P@k_UmuCGdj-$PLWxt@q38+ZQlk@Q}~}4l&mU=Z6ski~y&-9XyOW0Gz-O z9@ksw%(a_o6ZpIrEPWDA%>B^w?81d}Xy}%t+xOm&pY;OTx@}t;jaFjx*m1-h6Y(kN z#{ONACZYcuT3*IJK}{DgVQ0IJf)^hEb_VCCp*yg@V=TvcD)*<%sA2Bo zl+YjAC*tg9{h#Mhvzbi{wgyhe*J?n_VQ#W)+b;Z|uB89;f93pN-}Gv}>zQaRTNAIh zdGjse0QTZnUyHwM%pTf_^VC{`uhXbe)4>0e*FNBUm>Q4mJ}&+*3(i^mx8^U`UtUe# z3XeSm+;<+J_#eG~V1Fr?A^u1Gf2j3;d~pN&;qbVI1OJTySmto94)g)Jr|5Gk=V**C zu6kWNkGBmNJ*;vf=lL_K-i!6oNHri|r>~DZ%35lZ*YV+P)-v$D1iyi{@Qm^uP3Z}I zt%07wucrF^?4IgpwZ?7E?|tW~%1OG%>MaoZYyPfLBmNJZn*Jg$llzPP?z3$>Fw=zR zccWJ#{+=An`eYY$1bW|?1NS7p5B?v{++I0n;aFP_4Cc5we^aE3 z9@sDb|F+lMDyr)O7|FNGlM*#oNbzSELP>26&0nh<-QU{p5fQ#FQ@n21i z_%FZaIp*96IjqU}0PFA5kp0i=y1;+)fBAiHU*lY}9&ZjG_)ng1PoO+fuK()^kTrn% z+FJ(*%y%z>{|_#pEwK(upLFwnao$`%R)_2j82mqvsRMYM&(fKgL;P0@Xbh0^fAxPE z|N9UJ^yPDi>4S)0#QJ{dhV|*|TRM=(hq2HB5F3d1Lxzutp9}ogU+@HZ^V;n@)3*JG z`26^26CZn?UA}S&jY02poTjgEG(5h(wPn<`Cxg)=Dk|^@weC;d z5DXs$c8?+7?^RlwHtyYkAXe*7ynFZVv~|a}v~%xnY83~V4RDBc0AAow zI(6z8+Pq`<^&L$oPn^atm{~qYncsW#1iHq%B8zpLh$j-$pa{#T8y zPBnaIGw01^Ch)3w%~$Kc#vb-WTD^N;I(Ff5`nUi2zr^EmQO=8=PG5jC{@Q_w=2dzC zxu2K|x95D-Ps;b!hnT;IJ{=z7Hc_FOOO0Ob^e|0i#-)~rVP55Dz8ed>)~^#02&%VpX}wiV*T1)(ht{QDLbLY_@rUt1BX|z;H~9%;W=f@;PZ`f8#T>Z!GFa6bA5Ro6#Ra00Ik4$ zu8EBQY5=`oZ~)mO$e1K}ero!`{fqhL{KYC_0DgWH|7-gIz<+apu|N6&-*zTY?gfZg zfZX4jfIUD(-9PZZB=-RH=vNvXmR{lZyNlli{yPsszcc;#)Bvgj=+U!x9saj!lk5G? zIuqZEdO&CZ$OFZH_5QgBAjbm!Z0>J;zn!bSt3zr_O~80S%y<4z)&b%L$mcNz=mPdf z3_u(p{`V$#4*Z92?gfwD3r&<N$$TdaZU-JO?|*%YXNEjhPtPcZxRm_{Qod& z0Ns1{O8ZWoNvpPOPwRK=3H*QIge1w>=plB- zrgskF6@2&*I>KY=^qCXs?Aa5{2Re&R-~zW-Sno0~@G^dWm(uZ5XVD!VXO`e$w1>xu z7tRt(97tQY??@ZAYzWQ6n)R#k@>!ndEtsB`EGF)Nb6C1`Nm{s&zWTXy)2y1=^dU?q zHkp}r@7)u<{bd#O7K|9qaUYET9^S|F{W;@k7(D+lcz^-;7+C8cHHN;n;lyYI`i7^I zGZ&h{NiJHoKJr~Xc31D%mDcUpo$h|;`>{W{2lzd>+(W#r1jk2l3>Pd}N-xXA=mnfQ zn_3LtO(ikfNka&f;k9B4z~V z#sB03#PbIJ>-}qJYMHM0lLLtV*8A_Mqt3Sm{O8NyHDvU z+g0C)@4G&{U&ce`5yhJ5i-KNYEM%_09Ko^`XamIj&UANg72o~b)`s~Ti2qxvsM+N? z?IR!fPt3YdoTtb9O1vCm%3J9EVvX3pcH@TlU!Pa~)w=98V3hO9UFra?sFMdb)y+fy zC)PIRZYAC~4tHjvJ$a4KV}>G^nFD0J_wt+Zf5v_<6aK3Qq}e|ML-Yb9FDm}`5c?+% zkopUDa-Ig~0ROH1Q+tR$f0+Xq^ArC^%^%n01Ny8Q+R*>Se{veB*PmQqCjW1pLp@rL z`u}d0v6{XIJ>JftHMWnQ|9sbh|KOCD_QbOGH1`BB|8EaKFP-sZKc*c2+jC#+)LXZF zxwRe4e5D7V9zS_OKBtWNmg4{*8`Ab5at0!n!R z_JODiP!nWd&;wxaU-N3#1IPt(4WP&H$&rb`_Kh2v4b69F9Aqt%bvo@`eQ~~;6W_HL zosk~x>iDVu4>JJ4|MlocUT#1u*i?@HFP1Ss9Ducj75Bjtrez-~IqO{@3fL z2GENB--h|@zxl5N|D6q7yLVUA`wbGm z4p2vUipx{f#GO2Ggq}XfspC5Z_LINHLwKG(Lg&bBUmU+ke_j0Q&mPkU@T=k{KmL2n z_4!Hh$A9{}#h?D{4~oD1Yx47W{r=J4(7WfK{FCB8{ilCZ{L}yBKQ8|9-&h;)kBdM1 z%fBxE!GHMY)HVJY^8o%h)*t-+e}E70kD{jFcYgW@;raUjAK!EIglEsmzdw0eJbX+p zfWE|cZ-f6=>9Naa9YG5ppO~Z$V5}G)y+EzsDBgc^@L+3WGqsK6L>lQ=G1L*AUrym0v3>@ItNpu*$XE@tYzSjZ03CE658*moSz!`c1 zT#dY?y-s}YXJ3B5_<&>LU;N$w61VNA;>;*>QS!>ooSW;|E1biU>glMT<9umjulN6# zgKzTVw?F@0#C_iPl>Ou^_^;nj4ZysA2N+^6fOMUFNFR8Dj@-b$-=NmbO1}S&nD*hzJ=N-zWliQUcH9~)NlPjSDOM^0z`pBx+*AJ{McmsZO8>)m1Y&v9daV}9ogrG9_r z7p&9Nrzr<;R%4TX4K5q>_?MQoexd*KTOQ#1_j+SzZ{%B(29SFEM}C7GN9uK`*ReTt z4|4$evz+x*QB?=V;Hw00#3nJ{*i5c!UO+6gXT@UjD)K6404-xVk5c_V>H)wjb%E5s zA3w(%#Qm%MU5uNl_blZ*bNnwRdtBSUNiSy{8^Hle@jtJbwE+M22FFy~{?51M{j>g` z`~?a76W8$drfUs(z1Lq$dVkUY>?dr_e}2UNq5tz3j~PF+@6Gt%W6aoJZRxE=@`2>t z@^PEcy2Mk@g;(Ie@~5p}p?#T&SRGxAo~2F2lyV}CLXdEP^uqH{ePVwEcPe- zPxF8>{zo5x@b@K;f7SrJKi3AVI$JLgEq0qv`^ z7+$3Yu#4I|@n8La^A_TNdH`7e?hIhL!$$afXaVKc{)zuwiv3`I(g;$WK-2+%^;!S7 z?~k#*`hdK^zdHvg>;E-%CH;Rl`G4Yd{eRZ~??SuZ2mb2;Q2#g1HwUmEy!F2QJSNow zB>g{m{;fH)4?wB~s6TkHxcP|O_j}Z@lW%?v{m8yp9zWmx?stnRX2(1t#`d=H|MM5` zq5adh4LmWQpsqZ1_fB#3-d%Fr9r!5*igxPVJMo`&gEs?c(CQO+-g&q9%m4D97q_3k zQ=Aw%hZlP%`TujpAdfjh{C|>obP!BBehe;f3NApbYOet=&kmmn{GS*fFYbWyT#2r_sID_DQ@3=P~7IeVdD8;W{%(o=>HEM+#?5|uize<|4s1!T5;{_M4@kS zl;%d$&fPD(Ai)?PivwiRYn)!KZFo|=({KGA1G+_Piy}RhiL>`yx z`>7S&2M5>*N3c)X#P!=?UR#{gx1YUJ+>C;X^?Y`NnpH*E*VwshFUKY46#C%04P~MK8@t$VH2iR@QyzTjQs(CpS6TCC?YGCy`wecQ+QN8$X+Nl4FIe^5hUboi2vCTM<`Myo9(;Pq_fb)L$6BkC#pYzwgKVrY} zzdRt~f6sT$qw-Rmpyx;|(g)~!&;zvqo#M^;`tsAv6*b{GuM>B<*RqVi(!PsV>UH;E z`vI^A^S$_g)_Kb%e2jT#^-}xwS-0nYE^l+soHI|XSNl(1Lv;gt{)+$0h)=~M--9_^ zAEyVbD_@=eGTS>p8CV0Gb2HJ%6Ic-+aGb2k<}7{7F85L&UGtZ0NlJyNprI&8Yi}%dYgh z%;#9-m|M0KZoq6H@ZbGAdjGMf>s9giOtX3H`}<~iGUlQG&wop9M!XE>`CRt1kpFpp zneS1{aRmq9?_zIS>3ZP*+%!|r+8K|5udf-bpT6J6u{MfxJkY@VsgJts{S6I)`-eHdtOeW${>uUM2p(!mKEP)5fi|?&r~%}9ss$vk+SFVO z6IWk<$PBxWKII(wh3HY@ac1AUt5a8*ZTl>aJMsU;`!DH_17?HU2b-FhaeITFwfyg= zAM@JyDUaiMKZ>u5zxRMSeQ47A4jqpEKY#vT{O83@JaZ?&{VMzxBV+Wg<8eoO2Z}-X z!g2cJ9~oc{0GNN0SoYK@=ED)IIva5K%$ed6vG&E$3&pLQ*XW;j6#mO>POwLv&hsdG zWVx4f-lz$_MQpWzb7PU`279u)ju>ms#$3xTFl0Z+gn5!iG-v1A|MCy%`A^-$-Rqa} z3f`ut&wcR!ehL4Xtw(+TrAuPJJ$31)1HX_1oW;{{fzLJ0nw*@Vo)m5WAm2Z^5BvY` z+RN-oevbnU%&Xh8GwL!99d?d0Ty(EKj~(R9*HOoJ4eV5$FB4 z;D2XtKee53rZeo>XaPr0fd5?Y=<0}mLr16a-}#VuE${&Jquq4%4NwQjUVjvRFmyKd zAH99XBlkc0tauNP#J~D?|7X1JCeF<+ux7L8B%0plimJkVs`-E8U}IOcfbvaSW1o~i z8e={C;s@*@eeoO*KlqGZP?O>J6aRa_6?6Sw?;@5I|GjOG-~GgW;{O3OZ#84_zn)lF z{LlS$N#zr5dg$Gyb8M;zK%p6U|piL#75|J*l|zePPY_I9+`@KJM) z`#rn=>$MgS^78)B0Qetug#4Jst|JjQ*>f$`qC1af5izA6f3TiD4*swHFl+wR0G#_P zPjF8+rx1HN$EH50T4I!lf8_z-;y&{J`u@bu+4$c|uYK`8a{qzL;6Iq0J$z~aM}7|f z6CV)k2jm3&J@Wwd0CNP+1PuHiwD!N$_XmDvpCMQ3|Euo6d2a3>jJJ3HL1O*DeE3$z zfB)w7w9qj4ZKLNuziFDomb`ya?@!J@=KfH3E(g&6;M!V4UY6rc?_|{ctz;ep$DQAq zoXJ?#T>Y92)?KFW)?QS({?B?9H30W?YxI4*{mtG2_r-oa+uo-i)O|zzx5h)R;EZUG z3$atKHiP|NkN=&y8yeE9--iEib+C9E`@J6cpS(O#_xBC#7yspp=8U}VapJM+9vAxn z_%H7JnOq*ja!6~2Hg4Grwxf⁣AybFZVw2*ymb@-^J%pN6{y%e?NNwt*=ny_n3do ztW|S2a#?i&SNJf310=0L?~0stH5?-1e{{C2?|VL|?PtyZYnMDOu%Gi%4kG@4b9w$I z9+33^vI@2TZ|MJ-2Y~%*0JCcWy=^`~AAt3_Rm3jF|C`w#^aI#KL=CYC{2v;<6dJx> ze7|!wm9p~9;S;r%#F;IAXL}FSgB$ews7yV8L*GXS@E8j3AA6#HK`~w~pw{nYVE&fG z3Cj2#LJNQc*c+gNbKahRJJ2mRSEks%d{cSk1FQ$AuB)5w1+a5BaU$>C+9&(=IvYR^ zApYy;vk%~5)*f`5Jq>(59)B2IYh>>T&p (g5f?+tow-ZVcLrM|`}vdY4@K2Oo3H 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

    r>y}aY`IF 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

    uHm` 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 360 ) { + ang_x -= 360; + } + while( ang_y < 0 ) { + ang_y += 360; + } + while( ang_y >= 360 ) { + ang_y -= 360; + } + while( ang_z < 0 ) { + ang_z += 360; + } + while( ang_z >= 360 ) { + ang_z -= 360; + } + + return ang; +} + +/* +================== +anglemod180 + +Puts angles into the range of -180 to 180 +================== +*/ +vector anglemod180( vector ang ) { + while( ang_x < -180 ) { + ang_x += 360; + } + while( ang_x >= 180 ) { + ang_x -= 360; + } + while( ang_y < -180 ) { + ang_y += 360; + } + while( ang_y >= 180 ) { + ang_y -= 360; + } + while( ang_z < -180 ) { + ang_z += 360; + } + while( ang_z >= 180 ) { + ang_z -= 360; + } + + return ang; +} + +/* +================== +delayRemoveThread + +Service thread for delayRemove. +================== +*/ +void delayRemoveThread( entity ent, float mytime ) { + sys.wait( mytime ); + ent.remove(); +} + +/* +================== +delayRemove + +Causes an entity to be removed after a specified amount of time. +================== +*/ +void delayRemove( entity ent, float mytime ) { + thread delayRemoveThread( ent, mytime ); +} + + +/* +================== +fadeOutEnt + +Causes a entity to fade to black +================== +*/ +void fadeOutEnt( entity ent, vector color, float totalTime ) { + float i; + vector c; + float frac; + float numTics; + + // convert to the total number of game tics + numTics = totalTime * sys.getTicsPerSecond(); + + for( i = 0; i < numTics; i++ ) { + frac = ( numTics - i ) / numTics; + c = color * frac; + ent.setColor( c_x, c_y, c_z ); + + // wait one game frame + sys.waitFrame(); + } + + // make sure we are set to exactly black + ent.setColor( 0, 0, 0 ); +} + +/* +================== +fadeInEnt + +Causes a entity to from black to color +================== +*/ +void fadeInEnt( entity ent, vector color, float totalTime ) { + float i; + vector c; + float frac; + float numTics; + + // convert to the total number of game tics + numTics = totalTime * sys.getTicsPerSecond(); + + for( i = 0; i < numTics; i++ ) { + frac = i / numTics; + c = color * frac; + ent.setColor( c_x, c_y, c_z ); + + // wait one game frame + sys.waitFrame(); + } + + // make sure we are set to exactly the color + ent.setColor( color_x, color_y, color_z ); +} + +/* +================== +crossFadeEnt + +Causes a entity to from one color to another +================== +*/ +void crossFadeEnt( entity ent, vector source, vector dest, float totalTime ) { + float i; + vector c; + float frac; + float numTics; + + // convert to the total number of game tics + numTics = totalTime * sys.getTicsPerSecond(); + + for( i = 0; i < numTics; i++ ) { + frac = i / numTics; + c = dest * frac + source * ( 1 - frac ); + ent.setColor( c_x, c_y, c_z ); + + // wait one game frame + sys.waitFrame(); + } + + // make sure we are set to exactly the destination color + ent.setColor( dest_x, dest_y, dest_z ); +} + +/* +================== +interpolateShaderParm + +Interpolates a single shader parm on an entity over a specified amount of time +================== +*/ +void interpolateShaderParm( entity ent, float parm, float fromValue, float toValue, float totalTime ) { + float i; + float value; + float frac; + float numTics; + + // convert to the total number of game tics + numTics = totalTime * sys.getTicsPerSecond(); + + for( i = 0; i < numTics; i++ ) { + frac = i / numTics; + value = toValue * frac + fromValue * ( 1 - frac ); + ent.setShaderParm( parm, value ); + ent.setLightParm( parm, value ); + + // wait one game frame + sys.waitFrame(); + } + + // make sure we are set to exactly the destination value + ent.setShaderParm( parm, toValue ); + ent.setLightParm( parm, toValue ); +} + +/* +================== +CalcTimeForRotationAroundEntity + +Calculates the time to perform a rotation of an entity around an entity it is bound to given +the angles to rotate and the desired speed. +================== +*/ +float CalcTimeForRotationAroundEntity( float distanceFromCenter, float angles, float desiredSpeed ) { + float distance; + + if ( desiredSpeed <= 0 ) { + return 0; + } + + distance = DEG2RAD( angles ) * distanceFromCenter; + + return distance / desiredSpeed; +} + +/* +================== +func_clipmodel spawn function +================== +*/ +void func_clipmodel() { + // do nothing +} + +/* +================== +RandomDelay +================== +*/ +float RandomDelay( float min, float max ) { + float t; + + t = sys.getTime(); + t += min + sys.random( max - min ); + + return t; +} + +/* +================== +RandomTime +================== +*/ +float RandomTime( float delay ) { + float t; + + t = sys.getTime(); + t += sys.random( delay ); + + return t; +} + +/* +================== +DelayTime +================== +*/ +float DelayTime( float delay ) { + float t; + + t = sys.getTime(); + t += delay; + t += sys.random( 2 ) - 1; + + return t; +} diff --git a/base/script/map_admin1.script b/base/script/map_admin1.script new file mode 100644 index 00000000..44b4fb7e --- /dev/null +++ b/base/script/map_admin1.script @@ -0,0 +1,449 @@ +namespace map_admin1 +{ + void archiver2_cycle( entity capsule ) + { + capsule.time( 1.0 ); + capsule.decelTime( 0.25 ); + capsule.moveTo( $capsule_staging ); + //staging speaker - 1sec + //capsule slides out to loading position + sys.trigger ($speaker_archiver_staging); + sys.waitFor( capsule ); + + // receive a new capsule + $archiver2_joint.time( 0.5 ); + $archiver2_joint.move( FORWARD, 24 ); + //loading speaker #1 - .5sec + //carrier moves a bit to accept capsule + sys.trigger ($speaker_archiver_loading1); + sys.waitFor( $archiver2_joint ); + + capsule.accelTime( 0.1 ); + capsule.time( 0.5 ); + capsule.decelTime( 0.1 ); + capsule.moveTo( $archiver2_carrier ); + //loading speaker #2 - .5sec + //capsule moves into carrier + sys.trigger ($speaker_archiver_loading2); + sys.waitFor( capsule ); + + capsule.bind( $archiver2_carrier ); + sys.wait( 0.5 ); + + $archiver2_joint.time( 0.5 ); + $archiver2_joint.move( BACK, 24 ); + //loading speaker #1 - .5sec + //carrier moves back after accepting capsule + sys.trigger ($speaker_archiver_loading1); + sys.waitFor( $archiver2_joint ); + +// 3.0s + // rotate over to depository2 + $archiver2_arm.accelTime( 0.25 ); + $archiver2_arm.time( 0.5 ); + $archiver2_arm.decelTime( 0.25 ); + $archiver2_arm.rotateDownTo( Y_AXIS, 315 ); + //Arm2 short speaker - .5sec + //Arm2 moves + sys.trigger ($speaker_archiver_arm2_short); + sys.waitFor( $archiver2_arm ); + + // place the capsule into the archiver + $archiver2_carrier.time( 0.5 ); + $archiver2_carrier.rotateUpTo( X_AXIS, 75 ); + //depository2 speaker #1 - .5sec + //carrier turns + sys.trigger ($speaker_archiver_depository2_1); + sys.waitFor( $archiver2_carrier ); + + $archiver2_carrier.time( 0.5 ); + $archiver2_carrier.move( REL_FORWARD, 16 ); + //depository2 speaker #2 - .5sec + //carrier moves a bit + sys.trigger ($speaker_archiver_depository2_2); + sys.waitFor( $archiver2_carrier ); + + // time = 0.5 + capsule.move( LEFT, 44 ); + //depository2 speaker #3 - .5sec + //capsule moves into/outof depository + sys.trigger ($speaker_archiver_depository2_3); + sys.waitFor( capsule ); + + // trigger GUI to animate + $func_static_2764.setGuiParm( "gui_parm1", 1 ); + sys.wait( 2.5 ); + + $func_static_2764.setGuiParm( "gui_parm1", 0 ); + + // time = 0.5 + capsule.move( RIGHT, 44 ); + //depository2 speaker #3 - .5sec + //capsule moves into/outof depository + sys.trigger ($speaker_archiver_depository2_3); + sys.waitFor( capsule ); + +// 8.0s + $archiver2_carrier.time( 0.5 ); + $archiver2_carrier.move( REL_BACK, 16 ); + //depository2 speaker #2 - .5sec + //carrier moves a bit + sys.trigger ($speaker_archiver_depository2_2); + sys.waitFor( $archiver2_carrier ); + + $archiver2_carrier.time( 0.5 ); + $archiver2_carrier.rotateDownTo( X_AXIS, 0 ); + //depository2 speaker #1 - .5sec + //carrier turns + sys.trigger ($speaker_archiver_depository2_1); + sys.waitFor( $archiver2_carrier ); + + // rotate over to dump2 + $archiver2_arm.time( 1.5 ); + $archiver2_arm.rotateDownTo( Y_AXIS, 180 ); + //Arm2 long speaker - 1.5sec + //Arm2 moves + sys.trigger ($speaker_archiver_arm2_long); + sys.waitFor( $archiver2_arm ); + + // dispose of the capsule + $archiver2_carrier.time( 0.5 ); + $archiver2_carrier.rotateUpTo( X_AXIS, 30 ); + //dump2 speaker #1 - .5sec + //carrier turns + sys.trigger ($speaker_archiver_dump2_1); + sys.waitFor( $archiver2_carrier ); + + $archiver2_carrier.time( 0.5 ); + $archiver2_carrier.move( REL_FORWARD, 16 ); + //dump2 speaker #2 - .5sec + //carrier moves a bit + sys.trigger ($speaker_archiver_dump2_2); + sys.waitFor( $archiver2_carrier ); + +// 11.5s + capsule.unbind(); + + capsule.accelTime( 0.1 ); + capsule.time( 0.5 ); + capsule.decelTime( 0.1 ); + capsule.move( REL_LEFT, 128 ); + //dump1 speaker #3 - .5sec + //capsule moves into dump + sys.trigger ($speaker_archiver_dump2_3); + sys.waitFor( capsule ); + + $archiver2_carrier.time( 0.5 ); + $archiver2_carrier.move( REL_BACK, 16 ); + //dump2 speaker #2 - .5sec + //carrier moves a bit + sys.trigger ($speaker_archiver_dump2_2); + sys.waitFor( $archiver2_carrier ); + + $archiver2_carrier.time( 0.5 ); + $archiver2_carrier.rotateDownTo( X_AXIS, 0 ); + //dump2 speaker #1 - .5sec + //carrier turns + sys.trigger ($speaker_archiver_dump2_1); + sys.waitFor( $archiver2_carrier ); + + // rotate over to incomming capsules + $archiver2_arm.time( 2.0 ); + $archiver2_arm.rotateDownTo( Y_AXIS, 0 ); + //Arm2 longer speaker - 2sec + //Arm2 moves + sys.trigger ($speaker_archiver_arm2_longer); + sys.waitFor( $archiver2_arm ); + +// 15.0s + // reset the capsule + capsule.restorePosition(); + } + + void archiver1_cycle( entity capsule ) + { + while( true ) + { + capsule.time( 1.0 ); + capsule.decelTime( 0.25 ); + capsule.moveTo( $capsule_staging ); + //staging speaker - 1sec + //capsule slides out to loading position + sys.trigger ($speaker_archiver_staging); + sys.waitFor( capsule ); + + // receive a new capsule + $archiver1_joint.time( 0.5 ); + $archiver1_joint.move( FORWARD, 24 ); + //loading speaker #1 - .5sec + //carrier moves a bit to accept capsule + sys.trigger ($speaker_archiver_loading1); + sys.waitFor( $archiver1_joint ); + + capsule.accelTime( 0.1 ); + capsule.time( 0.5 ); + capsule.decelTime( 0.1 ); + capsule.moveTo( $archiver1_carrier ); + //loading speaker #2 - .5sec + //capsule moves into carrier + sys.trigger ($speaker_archiver_loading2); + sys.waitFor( capsule ); + + capsule.bind( $archiver1_carrier ); + sys.wait( 0.5 ); + + $archiver1_joint.time( 0.5 ); + $archiver1_joint.move( BACK, 24 ); + //loading speaker #1 - .5sec + //carrier moves back after accepting capsule + sys.trigger ($speaker_archiver_loading1); + sys.waitFor( $archiver1_joint ); + +// 3.0s + // rotate over to depository1 + $archiver1_arm.accelTime( 0.25 ); + $archiver1_arm.time( 1.5 ); + $archiver1_arm.decelTime( 0.25 ); + $archiver1_arm.rotateDownTo( Y_AXIS, 45 ); + //Arm1 long speaker - 1.5sec + //Arm1 moves + sys.trigger ($speaker_archiver_arm1_long); + sys.waitFor( $archiver1_arm ); + + // place the capsule into the archiver + $archiver1_carrier.time( 0.5 ); + $archiver1_carrier.rotateUpTo( X_AXIS, 75 ); + //depository1 speaker #1 - .5sec + //carrier turns + sys.trigger ($speaker_archiver_depository1_1); + sys.waitFor( $archiver1_carrier ); + + $archiver1_carrier.time( 0.5 ); + $archiver1_carrier.move( REL_FORWARD, 16 ); + //depository1 speaker #2 - .5sec + //carrier moves a bit + sys.trigger ($speaker_archiver_depository1_2); + sys.waitFor( $archiver1_carrier ); + + // time = 0.5 + capsule.move( LEFT, 40 ); + //depository1 speaker #3 - .5sec + //capsule moves into/outof depository + sys.trigger ($speaker_archiver_depository1_3); + sys.waitFor( capsule ); + + //start the second arm mechanism + thread archiver2_cycle( $capsule2 ); + + // trigger GUI to animate + $func_static_2767.setGuiParm( "gui_parm1", 1 ); + sys.wait( 2.5 ); + + $func_static_2767.setGuiParm( "gui_parm1", 0 ); + + // time = 0.5 + capsule.move( RIGHT, 40 ); + //depository1 speaker #3 - .5sec + //capsule moves into/outof depository + sys.trigger ($speaker_archiver_depository1_3); + sys.waitFor( capsule ); +// 9.0s + $archiver1_carrier.time( 0.5 ); + $archiver1_carrier.move( REL_BACK, 16 ); + //depository1 speaker #2 - .5sec + //carrier moves a bit + sys.trigger ($speaker_archiver_depository1_2); + sys.waitFor( $archiver1_carrier ); + + $archiver1_carrier.time( 0.5 ); + $archiver1_carrier.rotateDownTo( X_AXIS, 0 ); + //depository1 speaker #1 - .5sec + //carrier turns + sys.trigger ($speaker_archiver_depository1_1); + sys.waitFor( $archiver1_carrier ); + + // rotate over to dump1 + $archiver1_arm.time( 1.5 ); + $archiver1_arm.rotateDownTo( Y_AXIS, 270 ); + //Arm1 long speaker - 1.5sec + //Arm1 moves + sys.trigger ($speaker_archiver_arm1_long); + sys.waitFor( $archiver1_arm ); + + // dispose of the capsule + $archiver1_carrier.time( 0.5 ); + $archiver1_carrier.rotateUpTo( X_AXIS, 30 ); + //dump1 speaker #1 - .5sec + //carrier turns + sys.trigger ($speaker_archiver_dump1_1); + sys.waitFor( $archiver1_carrier ); + + $archiver1_carrier.time( 0.5 ); + $archiver1_carrier.move( REL_FORWARD, 16 ); + //dump1 speaker #2 - .5sec + //carrier moves a bit + sys.trigger ($speaker_archiver_dump1_2); + sys.waitFor( $archiver1_carrier ); + +// 12.5s + capsule.unbind(); + + capsule.accelTime( 0.1 ); + capsule.time( 0.5 ); + capsule.decelTime( 0.1 ); + capsule.move( REL_LEFT, 128 ); + //dump1 speaker #3 - .5sec + //capsule moves into dump + sys.trigger ($speaker_archiver_dump1_3); + sys.waitFor( capsule ); + + $archiver1_carrier.time( 0.5 ); + $archiver1_carrier.move( REL_BACK, 16 ); + //dump1 speaker #2 - .5sec + //carrier moves a bit + sys.trigger ($speaker_archiver_dump1_2); + sys.waitFor( $archiver1_carrier ); + + $archiver1_carrier.time( 0.5 ); + $archiver1_carrier.rotateDownTo( X_AXIS, 0 ); + //dump1 speaker #1 - .5sec + //carrier turns + sys.trigger ($speaker_archiver_dump1_1); + sys.waitFor( $archiver1_carrier ); + + // rotate over to incomming capsules + $archiver1_arm.time( 1.0 ); + $archiver1_arm.rotateDownTo( Y_AXIS, 180 ); + //Arm1 short speaker - 1sec + //Arm1 moves + sys.trigger ($speaker_archiver_arm1_short); + sys.waitFor( $archiver1_arm ); + +// 15.0s + // reset the capsule + capsule.restorePosition(); + } + } + + + void archivers_setup() + { + // setup archiving unit 1 + $archiver1_carrier.bind( $archiver1_joint ); + + $archiver1_joint.time( 0.1 ); + $archiver1_joint.rotateUpTo( Y_AXIS, 90 ); + sys.waitFor( $archiver1_joint ); + + $archiver1_arm.time( 0.1 ); + $archiver1_arm.rotateUpTo( Y_AXIS, 180 ); + sys.waitFor( $archiver1_arm ); + + $archiver1_joint.bind( $archiver1_arm ); + + // bind the arm so that both arms stop when one is blocked + $archiver1_arm.bind( $func_static_2683 ); + + // setup archiving unit 2 + $archiver2_carrier.bind( $archiver2_joint ); + + $archiver2_joint.time( 0.1 ); + $archiver2_joint.rotateUpTo( Y_AXIS, 90 ); + sys.waitFor( $archiver2_joint ); + + $archiver2_arm.time( 0.1 ); + $archiver2_arm.rotateUpTo( Y_AXIS, 0 ); + sys.waitFor( $archiver2_arm ); + + $archiver2_joint.bind( $archiver2_arm ); + + // bind the arm so that both arms stop when one is blocked + $archiver2_arm.bind( $func_static_2683 ); + + // setup reader tube 1 + $archiver1_reader.bind( $archiver_reader_parent ); + + $archiver_reader_parent.time( 0.1 ); + $archiver_reader_parent.rotateUpTo( Y_AXIS, 45 ); + sys.waitFor( $archiver_reader_parent ); + + $archiver1_reader.time( 0.1 ); + $archiver1_reader.rotateUpTo( X_AXIS, 75 ); + sys.waitFor( $archiver1_reader ); + + $archiver1_reader.move( REL_FORWARD, 64 ); + sys.waitFor( $archiver1_reader ); + + $archiver1_reader.unbind(); + $archiver_reader_parent.restorePosition(); + + // setup reader tube 2 + $archiver2_reader.bind( $archiver_reader_parent ); + + $archiver_reader_parent.time( 0.1 ); + $archiver_reader_parent.rotateDownTo( Y_AXIS, 315 ); + sys.waitFor( $archiver_reader_parent ); + + $archiver2_reader.time( 0.1 ); + $archiver2_reader.rotateUpTo( X_AXIS, 75 ); + sys.waitFor( $archiver2_reader ); + + $archiver2_reader.move( REL_FORWARD, 64 ); + sys.waitFor( $archiver2_reader ); + + $archiver2_reader.unbind(); + $archiver_reader_parent.restorePosition(); + + // setup dump tube 1 + $archiver1_dump.bind( $archiver_reader_parent ); + + $archiver_reader_parent.time( 0.1 ); + $archiver_reader_parent.rotateUpTo( Y_AXIS, 180 ); + sys.waitFor( $archiver_reader_parent ); + + $archiver1_dump.time( 0.1 ); + $archiver1_dump.rotateUpTo( X_AXIS, 30 ); + sys.waitFor( $archiver1_dump ); + + $archiver1_dump.move( REL_FORWARD, 64 ); + sys.waitFor( $archiver1_dump ); + + $archiver1_dump.unbind(); + $archiver_reader_parent.restorePosition(); + + // setup dump tube 2 + $archiver2_dump.bind( $archiver_reader_parent ); + + $archiver_reader_parent.time( 0.1 ); + $archiver_reader_parent.rotateUpTo( Y_AXIS, 270 ); + sys.waitFor( $archiver_reader_parent ); + + $archiver2_dump.time( 0.1 ); + $archiver2_dump.rotateUpTo( X_AXIS, 30 ); + sys.waitFor( $archiver2_dump ); + + $archiver2_dump.move( REL_FORWARD, 64 ); + sys.waitFor( $archiver2_dump ); + + $archiver2_dump.unbind(); + $archiver_reader_parent.remove(); + + // run the loops + thread archiver1_cycle( $capsule1 ); + } + + void kill_wounded_marine() + { + $tim_admin_wounded_marine_1.kill(); + } + + void main() + { + //$swinglight_mover.sway( 2, 0, '40 15 0' ); + $swinglight_mover.sway( 50, 0, '20 0 0' ); + $library_lamp1_swing_anchor.sway( 3, 0, '15 10 0' ); + $library_lamp1_swing_anchor2.sway( 3.5, 0, '7 5 5' ); + + archivers_setup(); + } +} diff --git a/base/script/map_alphalabs1.script b/base/script/map_alphalabs1.script new file mode 100644 index 00000000..7d34b017 --- /dev/null +++ b/base/script/map_alphalabs1.script @@ -0,0 +1,480 @@ +namespace map_alphalabs1 { + +float PLAYMUSIC = TRUE; +float monsterstatus = 1; +float GATE_OPEN = 0; + +void init_world() +{ + $epd_emlight.rotate ('0 -360 0'); + //$epd_light1.setColor (0,0,0); + //$epd_light2.setColor (0,0,0); + //$epd_light3.setColor (0,0,0); + //$epd_light4.setColor (0,0,0); + //$epd_emlight.setColor (0,0,0); +} + +void epd_phantasm_fadeout() { + $speaker_4.fadeSound ( SND_CHANNEL_ANY, -60, 1.5 ); + $speaker_6.fadeSound ( SND_CHANNEL_ANY, -60, 1.5 ); + $epd_alarm.fadeSound ( SND_CHANNEL_ANY, -60, 1.5 ); + $epd_speaker_blast.fadeSound ( SND_CHANNEL_ANY, -60, 1.5 ); + $epd_speaker_warmup.fadeSound ( SND_CHANNEL_ANY, -60, 1.5 ); + + sys.wait (10); + + $speaker_4.fadeSound ( SND_CHANNEL_ANY, -5, 1.5 ); + $speaker_6.fadeSound ( SND_CHANNEL_ANY, -6, 1.5 ); + $epd_alarm.fadeSound ( SND_CHANNEL_ANY, 3, 1.5 ); + $epd_speaker_blast.fadeSound ( SND_CHANNEL_ANY, 0, 1.5 ); + $epd_speaker_warmup.fadeSound ( SND_CHANNEL_ANY, 0, 1.5 ); +} + + + + +void seq_2() { + monsterstatus = 2; +} + +void seq_3() { + monsterstatus = 3; +} + +void seq_end() { + monsterstatus = 4; +} + + +void music_engine() { + return; +} + +void fan_init () +{ + $fan_01.bind ($fan_01_anchor); + $fan_02.bind ($fan_02_anchor); + $fan_03.bind ($fan_03_anchor); + $fan_04.bind ($fan_04_anchor); + + $fan_01_anchor.rotateOnce ('0 0 25'); + $fan_02_anchor.rotateOnce ('0 0 25'); + $fan_03_anchor.rotateOnce ('0 0 25'); + $fan_04_anchor.rotateOnce ('0 0 25'); + + sys.waitFor ($fan_04_anchor); + + $fan_01.rotate ('540 0 0'); + $fan_02.rotate ('360 0 0'); + $fan_03.rotate ('180 0 0'); + $fan_04.rotate ('552 0 0'); +} + +void laser_ambience() +{ + float numRandomWait; + + numRandomWait = sys.random(2) + 1; + sys.wait (numRandomWait); + + while (1) + { + sys.trigger ($e33_laser_rnd); + numRandomWait = sys.random(2) + 1; + sys.wait (numRandomWait); + } +} + + void pumplight1_move() + + { + $pumplight1.time(1.5); + $pumplight1.accelTime(.1); + $pumplight1.decelTime(.1); + while (1){ + $pumplight1.move(DOWN,96); + sys.trigger ($pumplight1_speaker); + sys.waitFor ($pumplight1); + $pumplight1.move(UP,96); + sys.waitFor ($pumplight1); + } + } + + void pumplight2_move() + + { + $pumplight2.time(1.45); + $pumplight2.accelTime(.1); + $pumplight2.decelTime(.1); + while (1){ + $pumplight2.move(DOWN,96); + sys.trigger ($pumplight2_speaker); + sys.waitFor ($pumplight2); + $pumplight2.move(UP,96); + sys.waitFor ($pumplight2); + } + } + +void turkey_klax_on() +{ + thread crossFadeEnt ($epd_light1, '0 0 0', '1 0.2 0', 2); + thread crossFadeEnt ($epd_light2, '0 0 0', '1 0.2 0', 2); + thread crossFadeEnt ($epd_light3, '0 0 0', '1 0.2 0', 2); + thread crossFadeEnt ($epd_light4, '0 0 0', '1 0.2 0', 2); + thread crossFadeEnt ($epd_emlight, '0 0 0', '1 0.2 0', 2); +} + +void turkey_klax_off() +{ + thread crossFadeEnt ($epd_light1, '1 0.2 0', '0 0 0', 2); + thread crossFadeEnt ($epd_light2, '1 0.2 0', '0 0 0', 2); + thread crossFadeEnt ($epd_light3, '1 0.2 0', '0 0 0', 2); + thread crossFadeEnt ($epd_light4, '1 0.2 0', '0 0 0', 2); + thread crossFadeEnt ($epd_emlight, '1 0.2 0', '0 0 0', 2); +} + + // *** + // New and improved UAC Turkey Baster v2.0 + // *** + + void turkey_baster() { + while (1) { + + sys.wait (5); + turkey_klax_on(); + sys.trigger ($epd_alarm); // 8 seconds long + sys.wait (2); + + sys.trigger ($epd_speaker_warmup); + sys.wait (1); + + // Machine is on at this point... + sys.trigger ($epd_speaker_blast); + sys.trigger ($func_beam_1); + sys.trigger ( $ep_endEmitter ); + sys.trigger ( $ep_emitter1 ); + sys.trigger ($turkey_hurt_1); + sys.trigger ($tbbeam); + $tbbeamlight.fadeInLight(.5); + $ep_beam_source.fadeInLight( 0.2 ); + $ep_endlight.fadeInLight(.5); + + sys.wait (4); + + // ... and toggle stuff off.. + + thread map_alphalabs1::turkey_klax_off(); + sys.trigger ($func_beam_1); + sys.trigger ( $ep_endEmitter ); + sys.trigger ( $ep_emitter1 ); + sys.trigger ($turkey_hurt_1); + sys.trigger ($tbbeam); + $tbbeamlight.fadeOutLight(.5); + $ep_beam_source.fadeOutLight( 0.5 ); + $ep_endlight.fadeOutLight(.5); + } + } + +void toggle_gate() { + if (GATE_OPEN == 0) { + $gatedoor_left.open(); + $gatedoor_right.open(); + sys.waitFor ($gatedoor_right); + GATE_OPEN = 1; + } + else { + $gatedoor_left.close(); + $gatedoor_right.close(); + sys.waitFor ($gatedoor_right); + GATE_OPEN = 0; + } +} + +void hc_loop() +{ + //times for the can mover + $hc_can.time (1); + $hc_can.accelTime (.25); + $hc_can.decelTime (.25); + + while (1) { + //can move from start hole into door 176 + $hc_can.move ( NORTH, 176 ); + //sys.trigger ($speaker_hc_bolt); + + sys.waitFor ($hc_can); + sys.wait (.25); + + //door move to down position 128 + $hc_door.time (.5); + $hc_door.accelTime (.5); + $hc_door.decelTime (0); + + $hc_can.bind ($hc_door); + // + sys.trigger ($speaker_hc_down); + + $hc_door.move ( DOWN, 128 ); + sys.waitFor ($hc_door); + sys.wait (.25); + + //can move into final hole 176 + $hc_can.move ( NORTH, 176 ); + sys.trigger ($speaker_hc_bolt); + sys.waitFor ($hc_can); + sys.wait (.25); + + //door move to up position 128 + $hc_door.time (1); + $hc_door.accelTime (.25); + $hc_door.decelTime (.25); + + $hc_door.move ( UP, 128 ); + sys.trigger ($speaker_hc_up); + sys.waitFor ($hc_door); + sys.wait (.25); + + //restore can position + $hc_can.unbind(); + $hc_can.restorePosition(); + sys.wait (.25); + }//end while +} + +//////////////////////////////////////////////////// +// +// Hydrocon1 move +// +//////////////////////////////////////////////////// +void hydrocon1_move() +{ + //bind ring + $hydrocon1_ring.bind ($hydrocon1_main); + + //move hydrocon_main with ring up to top positioin + $hydrocon1_main.time (1.5); + $hydrocon1_main.accelTime (1); + $hydrocon1_main.decelTime (.5); + + $hydrocon1_main.move ( UP, 216 ); + sys.trigger ($hydrocon1_main_speaker_up); + sys.waitFor ($hydrocon1_main); + + + //wait at top for the whole thing to start again + sys.wait (1); + + //move hydrocon_ring down 64 + $hydrocon1_ring.move ( DOWN, 64 ); + sys.trigger ($hydrocon1_ring_speaker_down); + sys.waitFor ($hydrocon1_ring); + sys.wait (.25); + + //move hydrocon_main down with ring extended + $hydrocon1_main.time (1.5); + $hydrocon1_main.accelTime (1.5); + $hydrocon1_main.decelTime (0); + + $hydrocon1_main.move ( DOWN, 216 ); + sys.trigger ($hydrocon1_main_speaker_down); + sys.waitFor ($hydrocon1_main); + + //unbind ring + $hydrocon1_ring.unbind(); + + //move hydrocon_main with ring down the remaining distance to nipple + $hydrocon1_main.time (1.5); + $hydrocon1_main.accelTime (0); + $hydrocon1_main.decelTime (1.5); + + $hydrocon1_main.move ( DOWN, 64 ); + sys.trigger ($hydrocon1_nipplemain_speaker_down); + sys.waitFor ($hydrocon1_main); + sys.wait (.25); + + //bind nipple to hydrocon_main + $hydrocon1_nipple.bind ($hydrocon1_main); + + //move hydrocon_main with nipple up to ring extended position + $hydrocon1_main.move ( UP, 64 ); + sys.trigger ($hydrocon1_nipplemain_speaker_up); + sys.waitFor ($hydrocon1_main); + sys.wait (.25); + + //activate effect + sys.trigger ($hydrocon1_emitter); + sys.trigger ($hydrocon1_emitter_speaker); + sys.trigger ($hydrocon1_light); + sys.wait (1); + + //unbind nipple + $hydrocon1_nipple.unbind(); + + //move nipple back down + $hydrocon1_nipple.time (1); + $hydrocon1_nipple.accelTime (.8); + $hydrocon1_nipple.decelTime (.2); + + $hydrocon1_nipple.move ( DOWN, 64 ); + sys.trigger ($hydrocon1_nipple_speaker_down); + sys.waitFor ($hydrocon1_nipple); + //turn off effect + sys.trigger ($hydrocon1_emitter); + sys.trigger ($hydrocon1_emitter_speaker); + sys.trigger ($hydrocon1_light); + sys.wait (.25); + + //move hydrocon_ring up 64 + $hydrocon1_ring.move ( UP, 64 ); + sys.trigger ($hydrocon1_ring_speaker_up); + sys.waitFor ($hydrocon1_ring); + sys.wait (.25); +} + +//////////////////////////////////////////////////// +// +// Hydrocon2 move +// +//////////////////////////////////////////////////// +void hydrocon2_move() +{ + //bind ring + $hydrocon2_ring.bind ($hydrocon2_main); + + //move hydrocon_main with ring up to top positioin + $hydrocon2_main.time (1.5); + $hydrocon2_main.accelTime (1); + $hydrocon2_main.decelTime (.5); + + $hydrocon2_main.move ( UP, 216 ); + sys.trigger ($hydrocon2_main_speaker_up); + sys.waitFor ($hydrocon2_main); + + + //wait at top for the whole thing to start again + sys.wait (1); + + //move hydrocon_ring down 64 + $hydrocon2_ring.move ( DOWN, 64 ); + sys.trigger ($hydrocon2_ring_speaker_down); + sys.waitFor ($hydrocon2_ring); + sys.wait (.25); + + //move hydrocon_main down with ring extended + $hydrocon2_main.time (1.5); + $hydrocon2_main.accelTime (1.5); + $hydrocon2_main.decelTime (0); + + $hydrocon2_main.move ( DOWN, 216 ); + sys.trigger ($hydrocon2_main_speaker_down); + sys.waitFor ($hydrocon2_main); + + //unbind ring + $hydrocon2_ring.unbind(); + + //move hydrocon_main with ring down the remaining distance to nipple + $hydrocon2_main.time (1.5); + $hydrocon2_main.accelTime (0); + $hydrocon2_main.decelTime (1.5); + + $hydrocon2_main.move ( DOWN, 64 ); + sys.trigger ($hydrocon2_nipplemain_speaker_down); + sys.waitFor ($hydrocon2_main); + sys.wait (.25); + + //bind nipple to hydrocon_main + $hydrocon2_nipple.bind ($hydrocon2_main); + + //move hydrocon_main with nipple up to ring extended position + $hydrocon2_main.move ( UP, 64 ); + sys.trigger ($hydrocon2_nipplemain_speaker_up); + sys.waitFor ($hydrocon2_main); + sys.wait (.25); + + //activate effect + sys.trigger ($hydrocon2_emitter); + sys.trigger ($hydrocon2_emitter_speaker); + sys.trigger ($hydrocon2_light); + sys.wait (1); + + //unbind nipple + $hydrocon2_nipple.unbind(); + + //move nipple back down + $hydrocon2_nipple.time (1); + $hydrocon2_nipple.accelTime (.8); + $hydrocon2_nipple.decelTime (.2); + + $hydrocon2_nipple.move ( DOWN, 64 ); + sys.trigger ($hydrocon2_nipple_speaker_down); + sys.waitFor ($hydrocon2_nipple); + //turn off effect + sys.trigger ($hydrocon2_emitter); + sys.trigger ($hydrocon2_emitter_speaker); + sys.trigger ($hydrocon2_light); + sys.wait (.25); + + //move hydrocon_ring up 64 + $hydrocon2_ring.move ( UP, 64 ); + sys.trigger ($hydrocon2_ring_speaker_up); + sys.waitFor ($hydrocon2_ring); + sys.wait (.25); +} + +//////////////////////////////////////////////////// +// +// Hydrocon Loop +// +//////////////////////////////////////////////////// +void hydrocon_loop() +{ + float hydrocon1_thread, hydrocon2_thread; + + while (1){ + hydrocon1_thread = thread map_alphalabs1::hydrocon1_move(); + hydrocon2_thread = thread map_alphalabs1::hydrocon2_move(); + + sys.waitForThread( hydrocon1_thread ); + sys.waitForThread( hydrocon2_thread ); + }//end while +} + +//////////////////////////////////////////////////// +// +// Kill Hydrocon Loop +// +//////////////////////////////////////////////////// +void kill_hydrocon_loop() +{ + sys.killthread ("map_alphalabs1::hydrocon_loop"); + sys.killthread ("map_alphalabs1::hydrocon1_move"); + sys.killthread ("map_alphalabs1::hydrocon2_move"); +} + +//--- +// Fade out the creepy sounds after the maggots all die +//--- + +void fade_maggot_sounds() { + $maggot_speaker_1.fadeSound (SND_CHANNEL_ANY, -60, 4); + $maggot_speaker_2.fadeSound (SND_CHANNEL_ANY, -60, 4); + $maggot_speaker_3.fadeSound (SND_CHANNEL_ANY, -60, 4); + $maggot_speaker_4.fadeSound (SND_CHANNEL_ANY, -60, 4); +} + +void main () +{ + init_world(); + fan_init(); + //bathroom_init(); + //thread laser_ambience(); + thread pumplight1_move(); + thread pumplight2_move(); + thread hc_loop(); + thread hydrocon_loop(); + thread turkey_baster(); +} + + + +} \ No newline at end of file diff --git a/base/script/map_alphalabs2.script b/base/script/map_alphalabs2.script new file mode 100644 index 00000000..fc977afe --- /dev/null +++ b/base/script/map_alphalabs2.script @@ -0,0 +1,587 @@ +namespace map_alphalabs2 { + #define XMACH_BASE_SPEED 2 + #define XMACH_JOINT_SPEED 2 + //#define DEBUG 1 + //#define VERBOSE 1 + //#define ENABLE_BEAM 1 + + float spawn_start_imp = 0; // Is it ok to spawn in the first imp ? + float surprise_pinky_spawn = 0; // Did we kill the imp, to spawn in the surprise pinky at the CP ? + float surprise_pinky_dead = 0; // Did we kill the surprise pinky ? (Used to prevent retriggers) + float xmach_current = 0; // Current rotation angle it's at + float xmach_value = 0; // What is the current location of the machine ? (1-12) + + void bathroom_init() + { + $bathroom_swinglamp_anchor.sway( 2.5, 1, '0 0 15' ); + } + + void entrance_door() + { + $start_light1.Off(); + $start_light2.Off(); + sys.trigger ($start_light3); + sys.trigger ($start_particle); + sys.wait (1); + $start_light2.On(); + } + + //////////////////////////////////////////////////// + // Setup binds and times and initial movements etc... + //////////////////////////////////////////////////// + void setup_objects() + { + vector beam_dst; + + $mazelight_red_1.fadeOutLight (0.1); + $mazelight_red_2.fadeOutLight (0.1); + $mazelight_red_3.fadeOutLight (0.1); + + //$mfs_redlight1.fadeOutLight (0.1); + //$mfs_redlight2.fadeOutLight (0.1); + //$mfs_redlight3.fadeOutLight (0.1); + + + $claw_arm_lower.time (0.75); + $claw_arm_lower.accelTime (0.25); + $claw_arm_lower.decelTime (0.25); + $claw_arm_upper.time (0.75); + $claw_arm_upper.accelTime (0.25); + $claw_arm_upper.decelTime (0.25); + $claw_arm_wrist.time (0.75); + $claw_arm_wrist.accelTime (0.25); + $claw_arm_wrist.decelTime (0.25); + $claw_revolver.time (2); + $claw_tooth_1.time (0.5); + $claw_tooth_2.time (0.5); + + $claw_arm_upper.rotateOnce ('-40 0 0'); + $claw_arm_lower.rotateOnce ('50 0 0'); + $claw_arm_wrist.rotateOnce ('180 0 0'); + + $ddoor_1_anchor.time (1); + $ddoor_2_anchor.time (1); + $ddoor_1_anchor.accelTime (0.25); + $ddoor_2_anchor.accelTime (0.25); + $ddoor_1_anchor.decelTime (0.25); + $ddoor_2_anchor.decelTime (0.25); + + $lobby1left.disable(); + $lobby1right.disable(); + $mal_func_door_55.disable(); + $mal_func_door_56.disable(); + + sys.wait( 1 ); + + thread entrance_door(); + + //$br_secretdoor.speed (96); + $secret_door2.time (1.5); + $secret_ladder.time (3); + $secret_ladder.move (DOWN, 106); + $exit_ladder.move(DOWN, 126); + + $elight.rotate ('0 -400 0'); + + $deadmarine_mover.speed (128); + $deadmarine_mover.moveTo ($deadmarine_path1); + + //break lights in machine room + sys.trigger($light_4678); + sys.trigger($light_4679); + sys.trigger($light_4683); + sys.trigger($light_4684); + } + + void br_move_secret_door() + { + $br_secretdoor.time(.5); + $br_secretdoor.accelTime(.25); + $br_secretdoor.decelTime(.25); + $br_secretdoor.moveTo ($br_secretdoor_path1); + sys.waitFor ($br_secretdoor); + sys.wait (0.5); + $br_secretdoor.time(1.0); + $br_secretdoor.accelTime(.5); + $br_secretdoor.decelTime(.5); + $br_secretdoor.moveTo ($br_secretdoor_path2); + sys.waitFor ($br_secretdoor); + } + + void emp_blast() + { + float i; + entity emplight, empspeaker; + + for (i=1; i<=10; i++) + { + emplight = sys.getEntity ("emplight_" + i); + emplight.On(); + empspeaker = sys.getEntity ("empspeaker_" + i); + sys.trigger (empspeaker); + sys.wait (0.1); + emplight.Off(); + } + } + + void open_secrethatch() + { + sys.trigger ($mfs_secretdoor_open); + $secret_door2.moveTo ($secret2_path1); + sys.waitFor ($secret_door2); + $secret_door2.moveTo ($secret2_path2); + sys.waitFor ($secret_door2); + $secret_ladder_door.open(); + sys.waitFor ($secret_ladder_door); + sys.trigger ($mfs_speaker_secretladder); + $secret_ladder.move (UP, 106); + } + + /////////////////////// + // Mal's machine + /////////////////////// + void spinner() + { + while (1) + { + $slidearm.bind ($slidearm_anchor); + $can1.bind ($slidearm); + $can2.bind ($maindrum); + $slidearm_anchor.time (2); + $slidearm.time (2); + $can1.time (1); + $can2.time (1); + $maindrum.time (1); + $plunger.time (1); + + //canister1 feed from main drum + sys.trigger ($mfs_roller_speaker_in); + $slidearm_anchor.moveTo ($slidearm_p2); + sys.wait (.1); + $slidearm.rotateOnce (' 0 0 -90 '); + sys.waitFor ($slidearm_anchor); + + //canister1 feed into machine + sys.wait (1.5); + $can1.unbind(); + $can1.bind ($plunger); + sys.trigger ($mfs_plunger_in); + $plunger.move (FORWARD,96); + sys.waitFor ($plunger); // was $can1 + $can1.unbind(); + sys.trigger ($mfs_can1_speaker); + $can1.moveTo ($can_target); + sys.waitFor ($can1); + + //canister1 teleport + $can1.time (.01); + $can1.moveTo ($canspawn); + sys.waitFor ($can1); + $can1.bind ($maindrum); + + //slidearm reset + sys.trigger ($mfs_roller_speaker_out); + $slidearm_anchor.moveTo ($slidearm_p1); + $slidearm.rotateOnce (' 0 0 90 '); + sys.trigger ($mfs_plunger_out); + $plunger.move (BACK,96); + sys.waitFor ($slidearm_anchor); + + //main drum rotation + sys.trigger ($mfs_drum_speaker); + $maindrum.rotateOnce (' 0 0 -90 '); + sys.waitFor ($maindrum); + $can2.unbind(); + sys.wait (.1); + + //canister2 feed from main drum + $can2.bind ($slidearm); + sys.trigger ($mfs_roller_speaker_in); + sys.trigger ($mfs_can2_speaker); + $slidearm_anchor.moveTo ($slidearm_p2); + sys.wait (.1); + $slidearm.rotateOnce (' 0 0 -90 '); + sys.waitFor ($slidearm_anchor); + + //canister2 feed into machine + sys.wait (1.5); + $can2.unbind(); + $can2.bind ($plunger); + //$can2.move (FORWARD,232); + sys.trigger ($mfs_plunger_in); + $plunger.move (FORWARD,96); + sys.waitFor ($plunger); + $can2.unbind(); + sys.trigger ($mfs_can2_speaker); + $can2.moveTo ($can_target); + sys.waitFor ($can2); + + //canister2 teleport + $can2.time (.01); + $can2.moveTo ($canspawn); + sys.waitFor ($can2); + $can2.bind ($maindrum); + + //slidearm reset + sys.trigger ($mfs_roller_speaker_out); + $slidearm_anchor.moveTo ($slidearm_p1); + $slidearm.rotateOnce (' 0 0 90 '); + sys.trigger ($mfs_plunger_out); + $plunger.move (BACK,96); + sys.waitFor ($slidearm_anchor); + + //main drum rotation + sys.trigger ($mfs_drum_speaker); + $maindrum.rotateOnce (' 0 0 -90 '); + sys.waitFor ($maindrum); + $can1.unbind(); + sys.wait (.1); + } + } + + // The other half of the rotating tube-thingy machine... + void mach2() + { + entity ent, ent2; + vector bm_origin, bm_origin2; + bm_origin = $mach2_path1.getOrigin(); + + while (1) + { + $mach2_tube.time (2); + $mach2_tube.setOrigin (bm_origin); + sys.trigger ($mfs_speaker_tube); + $mach2_tube.moveTo ($mach2_path2); + sys.waitFor ($mach2_tube); + sys.wait (1); + + $mach2_flap_left_anchor.time (1); + $mach2_flap_right_anchor.time (1); + + sys.trigger ($mfs_speaker_flap_close); + + $mach2_flap_left_anchor.rotateOnce ('0 0 -90'); + $mach2_flap_right_anchor.rotateOnce ('0 0 90'); + sys.waitFor ($mach2_flap_right_anchor); + sys.trigger ($mfs_speaker_decent); + + $mach2_tube.moveTo ($mach2_path3); + sys.waitFor ($mach2_tube); + sys.trigger ($mfs_speaker_flap_open); + + $mach2_flap_left_anchor.rotateOnce ('0 0 90'); + $mach2_flap_right_anchor.rotateOnce ('0 0 -90'); + sys.waitFor ($mach2_flap_right_anchor); + sys.wait (0.2); + } + } + + /////////////////////// + // Jerry's machine + /////////////////////// + void spawn_canister() + { + vector startlocation; + startlocation = $canister1.getWorldOrigin(); + + $spinner1.time (1.5); + $spinner1.accelTime (.75); + $spinner1.decelTime (.75); + $spinner2.time (1.5); + $spinner2.accelTime (.75); + $spinner2.decelTime (.75); + $pivot_point.time (1.75); + $pivot_point.accelTime (.75); + $pivot_point.decelTime (.75); + $body.time (1); + $body.accelTime (.75); + $body.decelTime (.25); + $middle_arm.time (1.5); + $middle_arm.accelTime (.75); + $middle_arm.decelTime (.75); + $clamp_arm.time (1.5); + $clamp_arm.accelTime (.75); + $clamp_arm.decelTime (.75); + $can_door1.time (1); + $can_door1.accelTime (.75); + $can_door1.decelTime (.25); + $can_door2.time (1); + $can_door2.accelTime (.75); + $can_door2.decelTime (.25); + + while (1) + { + //NOTE - machine starts in lowered position + $canister1.bind ($clamp_arm); + //move arms up + $spinner1.rotateOnce ('0 720 0'); + $spinner2.rotateOnce ('0 720 0'); + $clamp_arm.move (UP, 40 ); + $middle_arm.move (UP, 60); + $pivot_point.moveTo ($p2); + sys.waitFor ($pivot_point); + //close doors + $can_door1.rotateOnce ('0 0 90'); + $can_door2.rotateOnce ('0 0 90'); + //rotate machine + $body.rotateOnce (' 0 0 90 '); + sys.waitFor ($body); + //move arms in + $spinner1.rotateOnce ('0 -720 0'); + $spinner2.rotateOnce ('0 -720 0'); + $middle_arm.move (-90, 60); + $clamp_arm.move (-90, 40 ); + sys.waitFor ($clamp_arm); + //release canister + $canister1.unbind(); + //move arms out + $spinner1.rotateOnce ('0 720 0'); + $spinner2.rotateOnce ('0 720 0'); + $middle_arm.move (90, 60); + $clamp_arm.move (90, 40 ); + sys.waitFor ($clamp_arm); + $body.rotateOnce (' 0 0 -90 '); + sys.waitFor ($body); + //move canister back to start position + $canister1.setWorldOrigin (startlocation); + //move arms down + $can_door1.rotateOnce ('0 0 -90'); + $can_door2.rotateOnce ('0 0 -90'); + $spinner1.rotateOnce ('0 -720 0'); + $spinner2.rotateOnce ('0 -720 0'); + $pivot_point.moveTo ($p1); + $middle_arm.move (DOWN, 60); + $clamp_arm.move (DOWN, 40 ); + sys.waitFor ($clamp_arm); + } + } + + void xmachroom() + { + while (1) + { + thread spawn_canister(); + sys.wait (2); + } + } + + void sci_kill_lights() + { + $mazelight_1.Off(); + $mazelight_2.Off(); + sys.wait (.75); + //sys.trigger ($mazeimp_1); + //sys.trigger ($mazeimp_2); + //sys.trigger ($mazeimp_3); + sys.trigger ($open_impdoors); + sys.trigger ($imp_maze_wakeup); + + //simulate lantern flash + sys.wait ( .40 ); + $lantern_flash.On(); + sys.wait (.15); + $lantern_flash.Off(); + + sys.trigger ($maze_bloodpool); + sys.trigger ($maze_bloodpool_1); + sys.trigger ($maze_bloodpool_2); + sys.trigger ($maze_bloodpool_3); + sys.trigger ($maze_bloodpool_4); + $mazelight_red_1.fadeInLight (4); + $mazelight_red_2.fadeInLight (4); + $mazelight_red_3.fadeInLight (4); + sys.wait (4); + $mazelight_1.fadeInLight (4); + $mazelight_2.fadeInLight (4); + } +/* + void mfs_redlights() + { + $mfs_redlight1.fadeInLight (4); + $mfs_redlight2.fadeInLight (4); + $mfs_redlight3.fadeInLight (4); + } +*/ + // First posessed guy... + void move_soldier() + { + float i; + entity ent; + $wrist_mover.speed (128); + + sys.trigger ($start_fadeout_blue); + sys.trigger ($start_fadeout_white); + //sys.trigger ($start_fadeout_sky); + + for (i=1; i<=7; i++) + { + ent = sys.getEntity ("soldier_path" + i); + $wrist_mover.moveTo (ent); + sys.waitFor ($wrist_mover); + if (i == 1) + { + sys.trigger ($explodinglight_trigger_1); + sys.trigger ($explodinglight_trigger_1a); + sys.trigger ($explodinglight_trigger_1b); + sys.trigger ($explodinglight_trigger_1c); + //$body_spinner.rotate ('-10 20 -25'); + sys.wait (1); + $wrist_mover.speed (200); + } + if (i == 2) + { + sys.trigger ($explodinglight_trigger_2); + sys.trigger ($explodinglight_trigger_2a); + sys.trigger ($explodinglight_trigger_2b); + sys.trigger ($explodinglight_trigger_2c); + } + if (i == 3) + { + sys.trigger ($explodinglight_trigger_3); + sys.trigger ($explodinglight_trigger_3a); + sys.trigger ($explodinglight_trigger_3b); + sys.trigger ($explodinglight_trigger_3c); + $tim_func_door_202.open(); + $tim_func_door_203.open(); + } + if ( i == 4) + { + $tim_func_door_202.close(); + $tim_func_door_203.close(); + $tim_func_door_203.lock(1); + $tim_func_door_202.lock(1); + + //disable player forcefield + $trigger_once_56.disable(); + + $env_ragdoll_marine1_1.unbind(); + sys.trigger ($start_fadein_blue); + sys.trigger ($start_fadein_white); + //sys.trigger ($start_fadein_sky); + spawn_start_imp = 1; + } + } + $wrist_mover.remove(); + $env_ragdoll_marine1_1.remove(); + } + + void spawn_imp_entrance() + { + while (1) + { + if (spawn_start_imp == 1) + { + sys.trigger ($entrance_relay); + sys.trigger ($trigger_relay_45); + sys.trigger ($trigger_relay_47); + sys.trigger ($impstart_influence); + sys.wait (1); + sys.trigger ($start_imp_forcefield); + sys.trigger ($blowout_window); + sys.wait (1); + //sys.trigger ($surprise_imp_1); + return; + } + sys.wait (1); + } + } + + // Called when the first imp dies + void unlock_start_door() + { + $tim_func_door_202.lock(0); + $tim_func_door_203.lock(0); + } + + // Guy getting pulled into the ceiling @ start of the map + void gank_deadsoldier() + { + sys.trigger ($impscream); + sys.wait (1); + $deadmarine_mover.moveTo ($deadmarine_path2); + sys.trigger ($impscream_crunch_speaker); + sys.wait (1.5); + $deadmarine_mover.moveTo ($deadmarine_path3); + sys.wait (1.75); + $xenv_ragdoll_marine1_0.remove(); + //sys.trigger ($imp_scream); + //sys.wait (1); + sys.trigger ($bodypart_1); + sys.wait (1); + sys.trigger ($bodypart_2); + sys.wait (1.25); + sys.trigger ($bodypart_3); + sys.wait (0.75); + sys.trigger ($bodypart_4); + sys.wait (1); + sys.trigger ($bodypart_5); + sys.wait (1.5); + sys.trigger ($bodypart_6); + sys.wait (5); + sys.trigger ($bodypart_7); + } + + // Trap door in ceiling that a dead scientist drops out of + void open_cp_trapdoor() + { + $trapdoor_1_anchor.time (0.5); + $trapdoor_1_anchor.rotateOnce ('0 0 45'); + } + + void exit_ladder_move() + { + $exit_ladder.time(2); + $exit_ladder.accelTime(.5); + $exit_ladder.decelTime(1.5); + sys.trigger ($speaker_up_2seconds); + $exit_ladder.move(UP, 48); + sys.waitFor($exit_ladder); + sys.wait(4); + $exit_ladder.time(2); + $exit_ladder.accelTime(.5); + $exit_ladder.decelTime(1.5); + sys.trigger ($speaker_down_2seconds); + $exit_ladder.move(DOWN, 48); + sys.waitFor($exit_ladder); + sys.wait(5); + $exit_ladder.time(3); + $exit_ladder.accelTime(1); + $exit_ladder.decelTime(2); + sys.trigger ($speaker_up_3seconds); + $exit_ladder.move(UP, 64); + sys.waitFor($exit_ladder); + sys.wait(4); + $exit_ladder.time(2); + $exit_ladder.accelTime(.5); + $exit_ladder.decelTime(1.5); + sys.trigger ($speaker_down_2seconds); + $exit_ladder.move(DOWN, 64); + sys.waitFor($exit_ladder); + sys.wait(20); + $exit_ladder.time(4); + $exit_ladder.accelTime(1); + $exit_ladder.decelTime(3); + sys.trigger ($speaker_up_4seconds); + $exit_ladder.move(UP, 126); + sys.waitFor($exit_ladder); + $exit_ladder_clip.remove(); + //trigger gui + sys.trigger( $func_static_5089); + $func_static_5089.setShaderParm (7, 1); + //turn on ladder lights + sys.trigger( $ladder_lights_relay); + + } + + //////////////////////////////////////////////////// + // Main + //////////////////////////////////////////////////// + void main() + { + setup_objects(); + thread bathroom_init(); + thread spinner(); + thread mach2(); + thread spawn_canister(); + } +} \ No newline at end of file diff --git a/base/script/map_alphalabs3.script b/base/script/map_alphalabs3.script new file mode 100644 index 00000000..65d1c1c8 --- /dev/null +++ b/base/script/map_alphalabs3.script @@ -0,0 +1,119 @@ +#include "script/map_alphalabs3_crane.script" + +namespace map_alphalabs3 { + + + void fade_combat_speaker() { + $xspeaker_1.fadeSound ( SND_CHANNEL_ANY, -60, 10 ); + $speaker_8.fadeSound ( SND_CHANNEL_ANY, -60, 10 ); + + } + + //////////////////////////////////////////////////// + // + // activate waste lift + // + //////////////////////////////////////////////////// + void waste_lift_up() + { + //spawner + sys.trigger ($deathsquad_spawn); + + //raises waste lift + $waste_lift.time (3); + $waste_lift.accelTime (.1); + $waste_lift.decelTime (.1); + $waste_lift.move (UP, 256); + + //opens waste lift doors + sys.wait (1); + sys.trigger ($waste_lift_door_l); + } + + + //////////////////////////////////////////////////// + // + // break the little al3_platform + // + //////////////////////////////////////////////////// + void al3_platform_break() + { + //set the bottom call gui to malfunction + //so it can't be called twice + $func_static_4685.setGuiParm("gui_parm5" , 2); + $func_static_3921.setGuiParm("gui_parm5" , 2); + $func_static_4685.setShaderParm(7 , 0); + $func_static_3921.setShaderParm(7 , 0); + + + //first move down + $al3_platform_break.time ( 2.5 ); + $al3_platform_break.accelTime ( .5 ); + $al3_platform_break.decelTime ( 0 ); + sys.trigger ($lspeaker_1); + + $al3_platform.startSoundShader ("broken_plat_2_5s", SND_CHANNEL_VOICE2 ); + + $al3_platform_break.move ( DOWN, 190 ); + + sys.waitFor ($al3_platform_break); + + //bounce a bit or something + sys.trigger ($broke_spark); + $al3_platform_break.time ( .2 ); + $al3_platform_break.accelTime ( .2 ); + $al3_platform_break.decelTime ( 0 ); + $al3_platform_break.move ( UP, 6 ); + + sys.waitFor ($al3_platform_break); + + $al3_platform_break.time ( .2 ); + $al3_platform_break.accelTime ( 0 ); + $al3_platform_break.decelTime ( .2 ); + $al3_platform_break.move ( DOWN, 8 ); + + //rotate a about 24 degrees + $al3_platform_break.time ( .6 ); + $al3_platform_break.accelTime ( .6 ); + $al3_platform_break.decelTime ( 0 ); + + $al3_platform_break.startSoundShader ("platbreak_01", SND_CHANNEL_VOICE ); + + $al3_platform_break.rotateOnce ( '-24 5 0' ); + + sys.waitFor ($al3_platform_break); + + $al3_platform_break.time ( .1 ); + $al3_platform_break.accelTime ( .1 ); + $al3_platform_break.decelTime ( 0 ); + + $al3_platform_break.startSoundShader ("platbreak_02", SND_CHANNEL_BODY ); + + $al3_platform_break.rotateOnce ( '1 0 0' ); + + sys.waitFor ($al3_platform_break); + + $al3_platform_break.rotateOnce ( '-1 0 0' ); + } + + void cache_sounds() { + sys.cacheSoundShader ("broken_plat_2_5s"); + sys.cacheSoundShader ("platbreak_01"); + sys.cacheSoundShader ("platbreak_02"); + } + + + ////////////////////////////////////////////////////////// + // + // Vent cover opener + // + ////////////////////////////////////////////////////////// + void open_vent_cover() { + $ventcover1.rotateOnce('0 0 -120'); + } + + void main() { + cache_sounds(); + init_crane(); + } +} \ No newline at end of file diff --git a/base/script/map_alphalabs3_crane.script b/base/script/map_alphalabs3_crane.script new file mode 100644 index 00000000..d216c8bc --- /dev/null +++ b/base/script/map_alphalabs3_crane.script @@ -0,0 +1,510 @@ +namespace map_alphalabs3 { + +#define CRANE_NONE 0 +#define CRANE_FORWARD 1 +#define CRANE_BACK 2 +#define CRANE_LEFT 3 +#define CRANE_RIGHT 4 +#define CRANE_UP 5 +#define CRANE_DOWN 6 +#define CRANE_DROP 7 +#define CRANE_PICKUP 8 +#define CRANE_TRANSFER 9 + +vector crane_mins = '2072 -56 -184'; +vector crane_maxs = '2352 296 -48'; +vector crane_pos; + +float command = CRANE_NONE; +float bad_object_count = 0; // How many bad objects have we disposed of so far ? +float crane_have_object = false; // Is the crane currently holding an object ? +float crane_light_state = false; + +entity bindEntity; +entity laserEntity; +entity tracestopEntity; + +/*********************************************************************** + + Sounds + +***********************************************************************/ + +void cache_crane_sounds() { + sys.cacheSoundShader( "al3_crane_fingers_open" ); + sys.cacheSoundShader( "al3_crane_fingers_close" ); + sys.cacheSoundShader( "al3_crane_loop" ); + sys.cacheSoundShader( "al3_crane_end" ); + sys.cacheSoundShader( "al3_crane_updown_loop" ); + sys.cacheSoundShader( "al3_crane_updown_end" ); +} + +void sound_crane_fingers_open() { + $crane.startSoundShader ("al3_crane_fingers_open", SND_CHANNEL_VOICE2 ); +} + +void sound_crane_fingers_close() { + $crane.startSoundShader ("al3_crane_fingers_close", SND_CHANNEL_VOICE2 ); +} + +void sound_crane_loop() { + $crane_carrier.startSoundShader ("al3_crane_loop", SND_CHANNEL_VOICE2 ); +} + +void sound_crane_stop() { + $crane_carrier.startSoundShader ("al3_crane_end", SND_CHANNEL_VOICE2 ); +} + +void sound_crane_updown_loop() { + $crane_carrier.startSoundShader ("al3_crane_updown_loop", SND_CHANNEL_VOICE2 ); +} + +void sound_crane_updown_end() { + $crane_carrier.startSoundShader ("al3_crane_updown_end", SND_CHANNEL_VOICE2 ); +} + +/*********************************************************************** + + Crane + +***********************************************************************/ + +/* +============ +update_laser + +updates laser color and checks if we can pick up an object +============ +*/ +void update_laser() { + vector begin = $crane_trace_start.getWorldOrigin(); + vector send = $crane_stoptrace_end.getWorldOrigin(); + vector lend = $laser_trace_end.getWorldOrigin(); + + sys.trace( begin, send, '0 0 0', '0 0 0', MASK_SOLID|CONTENTS_RENDERMODEL, $crane_hang ); + tracestopEntity = sys.getTraceEntity(); + + sys.trace( begin, lend, '0 0 0', '0 0 0', MASK_SOLID|CONTENTS_RENDERMODEL, $crane_hang ); + laserEntity = sys.getTraceEntity(); + if ( !( !laserEntity ) && ( laserEntity != $world ) ) { + // can't move down further once the laser detects an object + if ( !( !tracestopEntity ) && ( tracestopEntity != $world ) && ( command == CRANE_DOWN ) ) { + command = CRANE_NONE; + } + + if ( !crane_light_state ) { + $crane_light.setColor( .9, .25, .25 ); + $cg_right.setGuiParm ( "gui_parm1" , 1); + $cg_left.setGuiParm ( "gui_parm1" , 1); + + sys.trigger( $crane_speaker ); + crane_light_state = true; + } + + } else if ( crane_light_state ) { + $crane_light.setColor( .2, .8, .9 ); + $cg_right.setGuiParm ( "gui_parm1" , 0); + $cg_left.setGuiParm ( "gui_parm1" , 0); + + sys.trigger( $crane_speaker ); + crane_light_state = false; + } +} + +/* +============ +crane_move +============ +*/ +void crane_move( entity part, float dir, float amount, float stopOnCommand ) { + float cmd; + + if ( amount < 0.01 ) { + return; + } + + if ( ( dir == UP ) || ( dir == DOWN ) ) { + sound_crane_updown_loop(); + } else { + sound_crane_loop(); + } + + part.move( dir, amount ); + + if ( !stopOnCommand ) { + sys.waitFor( part ); + } else { + cmd = command; + while( command == cmd ) { + sys.waitFrame(); + update_laser(); + if ( !part.isMoving() ) { + break; + } + } + part.stopMoving(); + } + + if ( ( dir == UP ) || ( dir == DOWN ) ) { + sound_crane_updown_end(); + } else { + sound_crane_stop(); + } + + crane_pos = $crane_position.getWorldOrigin(); +} + +/* +============ +crane_cmd_drop + +unbind and open the claw +============ +*/ +void crane_cmd_drop() { + sound_crane_fingers_open(); + + $crane.setFingerAngle( -60 ); + + bindEntity.unbind(); + bindEntity = $null_entity; + crane_have_object = false; + + update_laser(); + + $main_control_gui.setGuiParm ( "gui_parm1" , 0); +} + +/* +============ +crane_pickup + +close the claw and bind +============ +*/ +void crane_cmd_pickup() { + vector begin, end; + string bindJoint, bindBody; + + if ( !( !bindEntity ) ) { + return; + } + + crane_have_object = false; + bindJoint = bindBody = ""; + + sound_crane_fingers_close(); + + $crane.setFingerAngle( 20 ); + sys.wait( 2.0f ); + $crane.stopFingers(); + + begin = $crane_trace_start.getWorldOrigin(); + end = $crane_trace_end.getWorldOrigin(); + + sys.trace( begin, end, '0 0 0', '0 0 0', MASK_SOLID|CONTENTS_RENDERMODEL, $crane_hang ); + bindEntity = sys.getTraceEntity(); + if ( !( !bindEntity ) && ( bindEntity != $world ) ) { + bindJoint = sys.getTraceJoint(); + + if ( bindJoint ) { + bindBody = sys.getTraceBody(); + if ( bindBody ) { + bindEntity.setKey( "bindConstraint bind1", "fixed " + bindBody + " " + bindJoint ); + bindEntity.bindToJoint( $crane, "crane", 1 ); + crane_have_object = true; + } + } else { + bindEntity.bindToJoint( $crane, "crane", 1 ); + crane_have_object = true; + } + } + + // automatically move up + crane_move( $crane_hang, UP, crane_maxs_z - crane_pos_z, false ); + + if ( !crane_have_object ) { + sound_crane_fingers_open(); + $crane.setFingerAngle( -60 ); + bindEntity = $null_entity; + } else { + $main_control_gui.setGuiParm ( "gui_parm1" , 1); + } +} + +/* +============ +kill_lastobject +============ +*/ +void kill_lastobject( entity lastobject ) { + $main_control_gui.setGuiParm( "gui_parm1" , 1 ); + + //sys.print( "kill_lastobject: " + lastobject.getName() + "\n" ); + + if ( ( lastobject != $bad_object_1 ) && ( lastobject != $bad_object_2 ) ) { + // deleting the player != smart + if ( lastobject.getKey( "spawnclass" ) != "idPlayer" ) { + lastobject.remove(); + } + return; + } + + lastobject.remove(); + bad_object_count++; + + if ( bad_object_count == 1 ) { + + thread crossFadeEnt ($puke_light, '0 0.52 0.07', '0 0.26 0.035', 5.0); + sys.wait (5); + sys.trigger ($cranewarning_2); + + } else if ( bad_object_count == 2 ) { + + sys.trigger ($crane_fog); + thread crossFadeEnt ($puke_light, '0 0.26 0.035', '0 0 0', 5.0); + sys.wait (5); + sys.trigger ($cranewarning_3); + + // Get rid of the trigger_once for the computer voice, if they + // haven't triggered it yet. + $toxin_trigger.remove(); + + sys.trigger ($disposal_door); + sys.trigger ($disposal_setshaderparm); + sys.trigger ($cgdoors_setshaderparm); + sys.trigger ($clear_colorchange); + + $disposal_outer_gui.setGuiParm( "gui_parm1", 1 ); + $disposal_inner_gui.setGuiParm( "gui_parm1", 1 ); + + $dd_light1.setColor (0.0, 0.5, 0.0); + $dd_light2.setColor (0.0, 0.5, 0.0); + + $dd_green_dec.show (); + $dd_red_dec.hide (); + + sys.trigger ($trigger_relay_262); + sys.wait (5); + sys.trigger ($alpha3_sarge1); + sys.wait (7); + sys.trigger ($trigger_relay_264); + } +} + +/* +============ +crane_cmd_transfer + +move crane to the drop off point +only if it has an object bound +drop the bound object + +eventually this will send the object to the new area +============ +*/ +void crane_cmd_transfer() { + float move_x, move_y, move_z; + float xdir, ydir, zdir; + float xrdir, yrdir, zrdir; + vector drop_point; + + if ( !crane_have_object ) { + return; + } + + $crane_carrier.speed( 40 ); + $crane_top.speed( 40 ); + + // + // How are we going to get to the receptible ? + // + drop_point = $crane_drop.getWorldOrigin(); + + // Calculate X movement + if ( crane_pos_x >= drop_point_x ) { + move_x = crane_pos_x - drop_point_x; + xdir = WEST; + xrdir = EAST; + } else { + move_x = drop_point_x - crane_pos_x; + xdir = EAST; + xrdir = WEST; + } + + // Calculate Y movement + if ( crane_pos_y >= drop_point_y ) { + move_y = crane_pos_y - drop_point_y; + ydir = SOUTH; + yrdir = NORTH; + } else { + move_y = drop_point_y - crane_pos_y; + ydir = NORTH; + yrdir = SOUTH; + } + + sound_crane_loop(); + $crane_carrier.move( ydir, move_y ); + sys.waitFor( $crane_carrier ); + sound_crane_stop(); + + sound_crane_loop(); + $crane_top.move( xdir, move_x ); + sys.waitFor( $crane_top ); + sound_crane_stop(); + + sys.wait( 1 ); + crane_cmd_drop(); + + sys.wait( 0.5 ); + + sound_crane_loop(); + $crane_top.move( xrdir, move_x ); + sys.waitFor( $crane_top ); + sound_crane_stop(); + + sound_crane_loop(); + $crane_carrier.move( yrdir, move_y ); + sys.waitFor( $crane_carrier ); + sound_crane_stop(); + + $crane_top.speed( 30 ); + $crane_carrier.speed( 30 ); +} + +/* +============ +crane_update_loop +============ +*/ +void crane_update_loop() { + while( 1 ) { + command = CRANE_NONE; + while( command == CRANE_NONE ) { + update_laser(); + sys.waitFrame(); + } + + if ( command == CRANE_FORWARD ) { + if ( crane_pos_x > crane_mins_x ) { + crane_move( $crane_top, WEST, crane_pos_x - crane_mins_x, true ); + } + + } else if ( command == CRANE_BACK ) { + if ( crane_pos_x < crane_maxs_x ) { + crane_move( $crane_top, EAST, crane_maxs_x - crane_pos_x, true ); + } + + } else if ( command == CRANE_LEFT ) { + if ( crane_pos_y > crane_mins_y ) { + crane_move( $crane_carrier, SOUTH, crane_pos_y - crane_mins_y, true ); + } + + } else if ( command == CRANE_RIGHT ) { + if ( crane_pos_y < crane_maxs_y ) { + crane_move( $crane_carrier, NORTH, crane_maxs_y - crane_pos_y, true ); + } + } else if ( command == CRANE_UP ) { + if ( crane_pos_z < crane_maxs_y ) { + crane_move( $crane_hang, UP, crane_maxs_z - crane_pos_z, true ); + } + + } else if ( command == CRANE_DOWN ) { + if ( ( crane_pos_z > crane_mins_z ) && !bindEntity && ( !tracestopEntity || ( tracestopEntity == $world ) ) ) { + crane_move( $crane_hang, DOWN, crane_pos_z - crane_mins_z, true ); + } + } else if ( command == CRANE_DROP ) { + crane_cmd_drop(); + + } else if ( command == CRANE_PICKUP ) { + crane_cmd_pickup(); + + } else if ( command == CRANE_TRANSFER ) { + crane_cmd_transfer(); + } + } +} + +/*********************************************************************** + + User interface + +***********************************************************************/ + +void crane_forward() { + command = CRANE_FORWARD; +} + +void crane_back() { + command = CRANE_BACK; +} + +void crane_left() { + command = CRANE_LEFT; +} + +void crane_right() { + command = CRANE_RIGHT; +} + +void crane_up() { + command = CRANE_UP; +} + +void crane_down() { + command = CRANE_DOWN; +} + +void crane_stop() { + command = CRANE_NONE; +} + +void crane_drop() { + command = CRANE_DROP; +} + +void crane_pickup() { + command = CRANE_PICKUP; +} + +void crane_transfer() { + command = CRANE_TRANSFER; +} + +/*********************************************************************** + + initialization + +***********************************************************************/ + +/* +============ +init_crane +============ +*/ +void init_crane() { + cache_crane_sounds(); + + crane_pos = $crane_position.getWorldOrigin(); + + $crane_light.bindToJoint( $crane, "crane", 1 ); + + // crane_position + $crane_trace_start.bindToJoint( $crane, "crane", 1 ); + $crane_trace_end.bindToJoint( $crane, "crane", 1 ); + $crane_stoptrace_end.bindToJoint( $crane, "crane", 1 ); + $laser_trace_end.bindToJoint( $crane, "crane", 1 ); + + $crane_carrier.speed( 30 ); + $crane_top.speed( 30 ); + $crane_hang.speed( 45 ); + $crane_top.bind( $crane_carrier ); + $crane_hang.bind( $crane_top ); + + $crane.bind( $crane_hang ); + $crane.setFingerAngle( -60 ); + + thread crane_update_loop(); +} + +/* namespace map_alphalabs3 */ } diff --git a/base/script/map_alphalabs4.script b/base/script/map_alphalabs4.script new file mode 100644 index 00000000..0b5d75af --- /dev/null +++ b/base/script/map_alphalabs4.script @@ -0,0 +1,2450 @@ +namespace map_alphalabs4 { + + // Start Globals + + // Alphapuzzle + float g_fConveyDoorRefCount = 0.0; + float g_fWeldDoorRefCount = 0.0; + + // End Globals + + /////////////////////////////////////////////// + // blinky eyes + /////////////////////////////////////////////// + + void cache_sounds() { + sys.cacheSoundShader ("al4_openslats_2s"); + sys.cacheSoundShader ("al4_support_05s"); + sys.cacheSoundShader ("small_mover_impact"); + sys.cacheSoundShader ("al4_plat_movement"); + sys.cacheSoundShader ("al4_slide_3s"); + sys.cacheSoundShader ("jacob"); + sys.cacheSoundShader ("al4_plat_start"); + sys.cacheSoundShader ("al4_plat_loop"); + sys.cacheSoundShader ("al4_plat_stop"); + } + + void eKillSound (entity ent, float eTime) { + sys.wait (eTime); + ent.stopSound( SND_CHANNEL_ANY, false ); + } + + void end_vagscene() { + $speaker_vagfight.fadeSound (SND_CHANNEL_ANY, -60, 5); // Fade out after the fight + } + + void start_vagscene() { + sys.wait (22.5); + sys.trigger ($speaker_vagfight); + + } + + /////////////////////////////////////////////// + // blinky eyes + /////////////////////////////////////////////// + + void eyesbegone() + { + $eyes1.time(.5); + $eyes1.accelTime(0.1); + $eyes1.decelTime(0.1); + $eyes1.move(DOWN, 32); + sys.waitFor($eyes1); + sys.trigger($eye1_light); + } + + void bind_objects() { + + $frontroom_door2.bind($frontroom_door1); + $frontroom_door3.bind($frontroom_door2); + $frontroom_door4.bind($frontroom_door3); + + $ambush_door_2.bind($ambush_door_1); + $ambush_door_3.bind($ambush_door_2); + $ambush_door_4.bind($ambush_door_3); + + $scissor_door_2.bind($scissor_door_1); + $scissor_door_3.bind($scissor_door_2); + $scissor_door_4.bind($scissor_door_3); + + $back_scissor_door_2.bind($back_scissor_door_1); + $back_scissor_door_3.bind($back_scissor_door_2); + $back_scissor_door_4.bind($back_scissor_door_3); + + } + + void frontroom_door_open() + { + + $frontroom_door1.startSoundShader ("al4_openslats_2s", SND_CHANNEL_VOICE ); + $frontroom_door1.time(2); + $frontroom_door1.accelTime(.5); + $frontroom_door1.decelTime(.5); + $frontroom_door1.rotateOnce('-90 0 0'); + $frontroom_door2.time(2); + $frontroom_door2.accelTime(.5); + $frontroom_door2.decelTime(.5); + $frontroom_door2.rotateOnce('180 0 0'); + $frontroom_door3.time(2); + $frontroom_door3.accelTime(.5); + $frontroom_door3.decelTime(.5); + $frontroom_door3.rotateOnce('-180 0 0'); + $frontroom_door4.time(2); + $frontroom_door4.accelTime(.5); + $frontroom_door4.decelTime(.5); + $frontroom_door4.rotateOnce('180 0 0'); + } + + void ambush_door_open() + { + + $ambush_door_1.startSoundShader ("al4_openslats_2s", SND_CHANNEL_VOICE ); + $ambush_door_1.time(2); + $ambush_door_1.accelTime(.5); + $ambush_door_1.decelTime(.5); + $ambush_door_1.rotateOnce('0 0 -90'); + $ambush_door_2.time(2); + $ambush_door_2.accelTime(.5); + $ambush_door_2.decelTime(.5); + $ambush_door_2.rotateOnce('0 0 180'); + $ambush_door_3.time(2); + $ambush_door_3.accelTime(.5); + $ambush_door_3.decelTime(.5); + $ambush_door_3.rotateOnce('0 0 -180'); + $ambush_door_4.time(2); + $ambush_door_4.accelTime(.5); + $ambush_door_4.decelTime(.5); + $ambush_door_4.rotateOnce('0 0 180'); + } + + void scissor_door_open() + { + $scissor_door_1.startSoundShader ("al4_openslats_2s", SND_CHANNEL_VOICE ); + $scissor_door_1.time(2); + $scissor_door_1.accelTime(.5); + $scissor_door_1.decelTime(.5); + $scissor_door_1.rotateOnce('0 0 90'); + $scissor_door_2.time(2); + $scissor_door_2.accelTime(.5); + $scissor_door_2.decelTime(.5); + $scissor_door_2.rotateOnce('0 0 -180'); + $scissor_door_3.time(2); + $scissor_door_3.accelTime(.5); + $scissor_door_3.decelTime(.5); + $scissor_door_3.rotateOnce('0 0 180'); + $scissor_door_4.time(2); + $scissor_door_4.accelTime(.5); + $scissor_door_4.decelTime(.5); + $scissor_door_4.rotateOnce('0 0 -180'); + } + + void back_scissor_door1_open() + { + + $back_scissor_door_1.startSoundShader ("al4_openslats_2s", SND_CHANNEL_VOICE ); + $back_scissor_door_1.time(2); + $back_scissor_door_1.accelTime(.5); + $back_scissor_door_1.decelTime(.5); + $back_scissor_door_1.rotateOnce('-90 0 0'); + $back_scissor_door_2.time(2); + $back_scissor_door_2.accelTime(.5); + $back_scissor_door_2.decelTime(.5); + $back_scissor_door_2.rotateOnce('180 0 0'); + $back_scissor_door_3.time(2); + $back_scissor_door_3.accelTime(.5); + $back_scissor_door_3.decelTime(.5); + $back_scissor_door_3.rotateOnce('-180 0 0'); + $back_scissor_door_4.time(2); + $back_scissor_door_4.accelTime(.5); + $back_scissor_door_4.decelTime(.5); + $back_scissor_door_4.rotateOnce('180 0 0'); + } + /* + + A l p h a p u z z l e c o d e s t a r t s h e r e + + */ + + + void ExtendPlatform1() + { + $jump_platform1.time(3); + sys.trigger ($speaker_jump_platform); + $jump_platform1.move( NORTH, 232 ); + sys.waitFor( $jump_platform1 ); + } + + + void SetupRotatingBridge() + { + $rotating_bridge.bind( $rotating_bridge_joint ); + + $bridge_right_bottom_joint.bind( $rotating_bridge ); + $bridge_left_bottom_joint.bind( $rotating_bridge ); + +// $rotating_bridge_railing_right.bind( $rotating_bridge ); +// $rotating_bridge_railing_left.bind( $rotating_bridge ); + + $bridge_right_top_hydro_machine.bind( $rotating_bridge_spinner ); + $bridge_left_top_hydro_machine.bind( $rotating_bridge_spinner ); + + $bridge_right_top_hydro.bind( $bridge_right_top_hydro_machine ); + $bridge_left_top_hydro.bind( $bridge_left_top_hydro_machine ); + + $bridge_right_bottom_hydro.bind( $bridge_right_top_hydro ); + $bridge_left_bottom_hydro.bind( $bridge_left_top_hydro ); + + $rotating_bridge.time( 0.1 ); + $rotating_bridge.rotateOnce( '-60 0 0' ); + sys.waitFor( $rotating_bridge ); + + $bridge_right_top_hydro.time( 0.1 ); + $bridge_left_top_hydro.time( 0.1 ); + $bridge_right_top_hydro.rotateOnce( '-30 0 0' ); + $bridge_left_top_hydro.rotateOnce( '-30 0 0' ); + sys.waitFor( $bridge_left_top_hydro ); + + $bridge_right_bottom_hydro.time( 0.1 ); + $bridge_left_bottom_hydro.time( 0.1 ); + $bridge_right_bottom_hydro.move( REL_UP, 272 ); + $bridge_left_bottom_hydro.move( REL_UP, 272 ); + sys.waitFor( $bridge_left_bottom_hydro ); + + $bridge_right_bottom_joint.time( 0.1 ); + $bridge_left_bottom_joint.time( 0.1 ); + $bridge_right_bottom_joint.move( REL_FORWARD, 16 ); + $bridge_left_bottom_joint.move( REL_FORWARD, 16 ); + sys.waitFor( $bridge_left_bottom_hydro ); + } + + + void RotatingBridgeStart() + { + $bridge_right_bottom_hydro.time( 5.0 ); + $bridge_left_bottom_hydro.time( 5.0 ); + $bridge_right_bottom_joint.time( 5.0 ); + $bridge_left_bottom_joint.time( 5.0 ); + $rotating_bridge.time( 5.0 ); + $bridge_right_bottom_hydro.move( REL_DOWN, 272 ); + $bridge_left_bottom_hydro.move( REL_DOWN, 272 ); + $bridge_right_bottom_joint.move( REL_BACK, 16 ); + $bridge_left_bottom_joint.move( REL_BACK, 16 ); + sys.trigger ($speaker_rotating_bridge); + $rotating_bridge.rotateOnce( '60 0 0' ); + sys.waitFor( $rotating_bridge ); + } + + + void RotatingBridgeLoop() + { + while( true ) + { + $rotating_bridge_spinner.accelTime( 1.0 ); + $rotating_bridge_spinner.time( 5.0 ); + $rotating_bridge_spinner.decelTime( 1.0 ); + $rotating_bridge_joint.accelTime( 1.0 ); + $rotating_bridge_joint.time( 5.0 ); + $rotating_bridge_joint.decelTime( 1.0 ); + sys.trigger ($speaker_rotating_bridge); + $rotating_bridge_spinner.rotateOnce( '0 90 0' ); + sys.trigger ($speaker_rotbridge_tech); + $rotating_bridge_joint.rotateOnce( '0 90 0' ); + sys.waitFor( $rotating_bridge_joint ); + + sys.wait( 2.0 ); + } + } + + + void SectionBridgeGuardSequence( entity eLeftGuard, entity eRightGuard, float nOrient ) + { + if( nOrient == NORTH ) + { + eLeftGuard.time( 0.5 ); + eLeftGuard.decelTime( 0.25 ); + + eRightGuard.time( 0.5 ); + eRightGuard.decelTime( 0.25 ); + + eLeftGuard.startSoundShader ("al4_support_05s", SND_CHANNEL_ANY); + + eLeftGuard.rotateOnce( '-90 0 0' ); + eRightGuard.rotateOnce( '90 0 0' ); + sys.wait( 0.5 ); + return; + } + + if( nOrient == SOUTH ) + { + eLeftGuard.time( 0.5 ); + eLeftGuard.decelTime( 0.25 ); + + eRightGuard.time( 0.5 ); + eRightGuard.decelTime( 0.25 ); + + eLeftGuard.startSoundShader ("al4_support_05s", SND_CHANNEL_ANY); + eLeftGuard.rotateOnce( '-90 0 0' ); + eRightGuard.rotateOnce( '90 0 0' ); + sys.wait( 0.5 ); + return; + } + + if( nOrient == EAST ) + { + eLeftGuard.time( 0.5 ); + eLeftGuard.decelTime( 0.25 ); + + eRightGuard.time( 0.5 ); + eRightGuard.decelTime( 0.25 ); + + eLeftGuard.startSoundShader ("al4_support_05s", SND_CHANNEL_ANY); + eLeftGuard.rotateOnce( '0 0 -90' ); + eRightGuard.rotateOnce( '0 0 90' ); + sys.wait( 0.5 ); + return; + } + + if( nOrient == WEST ) + { + eLeftGuard.time( 0.5 ); + eLeftGuard.decelTime( 0.25 ); + + eRightGuard.time( 0.5 ); + eRightGuard.decelTime( 0.25 ); + + eLeftGuard.startSoundShader ("al4_support_05s", SND_CHANNEL_ANY); + eLeftGuard.rotateOnce( '0 0 90' ); + eRightGuard.rotateOnce( '0 0 -90' ); + sys.wait( 0.5 ); + return; + } + } + + void stop_platsound (entity ent, float fTime) { + sys.wait (fTime); + ent.startSoundShader ("small_mover_impact", SND_CHANNEL_ANY); + } + + void SectionBridgePartsSequence( string strBaseName, float nOrient, float nCount ) + { + string strTemp; + + entity eSection; + entity eLight; + entity eLeftGuard; + entity eRightGuard; + float fTime; + string sTemp; + + float ii; + + for( ii = nCount ; ii > 0; ii-- ) + { + strTemp = strBaseName + "_part" + ii; + eSection = sys.getEntity( strTemp ); + sTemp = strTemp; + + //strTemp = strBaseName + "_guard_left" + ii; + //eLeftGuard = sys.getEntity( strTemp ); + + //strTemp = strBaseName + "_guard_right" + ii; + //eRightGuard = sys.getEntity( strTemp ); + + //eLeftGuard.bind( eSection ); + //eRightGuard.bind( eSection ); + + eSection.accelTime( 0.25 ); + fTime = ( 1.0 + ((ii - 1) / 2) ); + eSection.time( fTime ); + eSection.decelTime( 0.25 ); + + + +// void eKillSound (entity ent, float eTime) { + +// This sounds crappy. Killing the mover sound is enough... +// thread stop_platsound (eSection, fTime); + + eSection.move( nOrient, (128 + ((ii - 1) * 64) ) ); + thread eKillSound (eSection, fTime); + eSection.startSoundShader ("al4_plat_movement", SND_CHANNEL_ANY); + sys.wait( 0.9 ); + + //thread SectionBridgeGuardSequence( eLeftGuard, eRightGuard, nOrient); + + strTemp = strBaseName + "_light" + ii + "_left"; + eLight = sys.getEntity( strTemp ); + + if( eLight ) + { + eLight.On(); + } + + strTemp = strBaseName + "_light" + ii + "_right"; + eLight = sys.getEntity( strTemp ); + + if( eLight ) + { + eLight.On(); + } + } + } + + void SectionBridgeRailsSequence( string strBaseName, float nDirection, float nCount ) + { + string strRightRail; + string strLeftRail; + + entity eRightRail; + entity eLeftRail; + + strRightRail = strBaseName + "_rail_right"; + eRightRail = sys.getEntity( strRightRail ); + + strLeftRail = strBaseName + "_rail_left"; + eLeftRail = sys.getEntity( strLeftRail ); + + eRightRail.time( 3.0 ); + eRightRail.accelTime( 0.5 ); + eRightRail.decelTime( 0.5 ); + eLeftRail.time( 3.0 ); + eLeftRail.accelTime( 0.5 ); + eLeftRail.decelTime( 0.5 ); + + eRightRail.move( nDirection, ((nCount + 1) * 64) ); + + eRightRail.startSoundShader ("al4_slide_3s", SND_CHANNEL_ANY); + + eLeftRail.move( nDirection, ((nCount + 1) * 64) ); + sys.waitFor( eLeftRail ); + } + + + void ExtendSectionBridges() + { + SectionBridgeRailsSequence( "sectionbridge1", WEST, 6 ); + SectionBridgePartsSequence( "sectionbridge1", WEST, 6 ); + sys.trigger($bridge1_aas_block); + + SectionBridgeRailsSequence( "sectionbridge2", NORTH, 6 ); + SectionBridgePartsSequence( "sectionbridge2", NORTH, 6 ); + sys.trigger($bridge2_aas_block); + + SectionBridgeRailsSequence( "sectionbridge3", SOUTH, 6 ); + SectionBridgePartsSequence( "sectionbridge3", SOUTH, 6 ); + sys.trigger($bridge3_aas_block); + + SectionBridgeRailsSequence( "sectionbridge4", SOUTH, 8 ); + SectionBridgePartsSequence( "sectionbridge4", SOUTH, 8 ); + sys.trigger($bridge4_aas_block); + + SectionBridgeRailsSequence( "sectionbridge5", SOUTH, 8 ); + SectionBridgePartsSequence( "sectionbridge5", SOUTH, 8 ); + sys.trigger($bridge5_aas_block); + + SectionBridgeRailsSequence( "sectionbridge6", SOUTH, 6 ); + SectionBridgePartsSequence( "sectionbridge6", SOUTH, 6 ); + sys.trigger($bridge6_aas_block); + } + + + void SectionBridgeRemoveOne( float nBridge ) + { + string strRemove; + entity eRemove; + float ii; + + strRemove = "sectionbridge" + nBridge + "_rail_right"; + eRemove = sys.getEntity( strRemove ); + eRemove.remove(); + + strRemove = "sectionbridge" + nBridge + "_rail_left"; + eRemove = sys.getEntity( strRemove ); + eRemove.remove(); + + for( ii = 1; ii > 0; ii++ ) + { + strRemove = "sectionbridge" + nBridge + "_part" + ii; + eRemove = sys.getEntity( strRemove ); + + if( !eRemove ) + break; + + eRemove.remove(); + + //strRemove = "sectionbridge" + nBridge + "_guard_right" + ii; + //eRemove = sys.getEntity( strRemove ); + //eRemove.remove(); + + //strRemove = "sectionbridge" + nBridge + "_guard_left" + ii; + //eRemove = sys.getEntity( strRemove ); + //eRemove.remove(); + } + } + + + void SectionBridgeRemoveAll() + { + float ii; + + for( ii = 1; ii <= 6; ii++ ) + { + SectionBridgeRemoveOne( ii ); + } + } + + + void SetupRideOfDeathObjects() + { + entity eParent; + entity eChild; + + float ii; + + for( ii = 1; ii < 7; ii++ ) + { + eParent = sys.getEntity( "ride_of_death" + ii + "_parent" ); + eChild = sys.getEntity( "ride_of_death" + ii ); + eChild.bind( eParent ); + + eParent = eChild; + eChild = sys.getEntity( "ride_of_death" + ii + "_front_support" ); + eChild.bind( eParent ); + + eChild = sys.getEntity( "ride_of_death" + ii + "_rear_support" ); + eChild.bind( eParent ); + + eChild.time( 0.1 ); + eChild.move( SOUTH, 64 ); + sys.waitFor( eChild ); + + eChild = sys.getEntity( "ride_of_death" + ii + "_light1" ); + eChild.bind( eParent ); + eChild.Off(); + + eChild = sys.getEntity( "ride_of_death" + ii + "_light2" ); + eChild.bind( eParent ); + eChild.Off(); + } + } + + void ROD_startSound (entity ent) { + ent.startSoundShader ("al4_plat_start", SND_CHANNEL_VOICE); + sys.wait (0.55); + ent.startSoundShader ("al4_plat_loop", SND_CHANNEL_VOICE2); + } + + void ROD_stopSound (entity ent) { + ent.startSoundShader ("al4_plat_stop", SND_CHANNEL_VOICE2); + } + + void ROD_stopSound_time (entity ent, float fTime) { + sys.wait (fTime); + ent.startSoundShader ("al4_plat_stop", SND_CHANNEL_VOICE2); + } + + + void RideOfDeathPath( string strRideName ) + { + entity eRide; + entity eRideBase; + entity eFrontSupport; + entity eRearSupport; + entity eLight1; + entity eLight2; + + eRide = sys.getEntity( strRideName + "_parent" ); + eRideBase = sys.getEntity (strRideName); + + eFrontSupport = sys.getEntity( strRideName + "_front_support" ); + eRearSupport = sys.getEntity( strRideName + "_rear_support" ); + eLight1 = sys.getEntity( strRideName + "_light1" ); + eLight2 = sys.getEntity( strRideName + "_light2" ); + + eLight1.fadeInLight( 2.0 ); + eLight2.fadeInLight( 2.0 ); + + // west 2112 + thread ROD_startSound (eRideBase); + eRide.time( 33.0 ); // 64u/sec + eRide.accelTime( 0.0 ); + eRide.decelTime( 0.5 ); + eRide.move( WEST, 2112 ); + + sys.waitFor( eRide ); + + eRearSupport.time( 1.0 ); + eRearSupport.move( NORTH, 64 ); + + sys.waitFor( eRearSupport ); + + ROD_stopSound (eRideBase); + + sys.wait( 1.0 ); + + eFrontSupport.time( 1.0 ); + eFrontSupport.move( NORTH, 64 ); + sys.waitFor( eFrontSupport ); + + thread ROD_startSound (eRideBase); + + // west 64 + eRide.time( 1.0 ); // 64u/sec + eRide.accelTime( 0.5 ); + eRide.decelTime( 0.0 ); + eRide.move( WEST, 64 ); + sys.waitFor( eRide ); + + // turn C 90deg + eRide.time( 4.0 ); // 22.5deg/sec + eRide.accelTime( 0.0 ); + eRide.decelTime( 0.0 ); + eRide.rotateOnce( '0 -90 0' ); + sys.waitFor( eRide ); + + // 41s + + // north 64 + eRide.time( 1.0 ); + eRide.accelTime( 0.0 ); + eRide.decelTime( 0.5 ); + eRide.move( NORTH, 64 ); + + sys.waitFor( eRide ); + + ROD_stopSound (eRideBase); + + eFrontSupport.time( 1.0 ); + eFrontSupport.move( EAST, 64 ); + + sys.waitFor( eFrontSupport ); + sys.wait( 1.0 ); + + eRearSupport.time( 1.0 ); + eRearSupport.move( EAST, 64 ); + + sys.waitFor( eRearSupport ); + + thread ROD_startSound (eRideBase); + + // north 352 + eRide.time( 5.5 ); + eRide.accelTime( 0.5 ); + eRide.decelTime( 0.5 ); + eRide.move( NORTH, 352 ); + + sys.waitFor( eRide ); + + // down 320 + eRide.time( 5.0 ); + eRide.accelTime( 0.5 ); + eRide.decelTime( 0.5 ); + eRide.move( DOWN, 320 ); + + sys.waitFor( eRide ); + + // north 480 + eRide.time( 7.5 ); + eRide.accelTime( 0.5 ); + eRide.decelTime( 0.0 ); + eRide.move( NORTH, 480 ); + + sys.waitFor( eRide ); + + // 22s + + // bind to origin 1 + eRide.bind( $ride_of_death_origin1 ); + + // turn CC 90deg + $ride_of_death_origin1.time( 4.0 ); + $ride_of_death_origin1.accelTime( 0.0 ); + $ride_of_death_origin1.decelTime( 0.0 ); + $ride_of_death_origin1.rotateOnce( '0 90 0' ); + + sys.waitFor( $ride_of_death_origin1 ); + + // unbind from origin 1 + eRide.unbind(); + $ride_of_death_origin1.restorePosition(); + + // 896 + eRide.time( 14.0 ); + eRide.accelTime( 0.0 ); + eRide.decelTime( 0.0 ); + eRide.move( WEST, 896 ); + + sys.waitFor( eRide ); + + // bind to origin 2 + eRide.bind( $ride_of_death_origin2 ); + + // turn CC 90deg + $ride_of_death_origin2.time( 4.0 ); + $ride_of_death_origin2.accelTime( 0.0 ); + $ride_of_death_origin2.decelTime( 0.0 ); + $ride_of_death_origin2.rotateOnce( '0 90 0' ); + + sys.waitFor( $ride_of_death_origin2 ); + + // unbind from origin 2 + eRide.unbind(); + + $ride_of_death_origin2.restorePosition(); + + // 22s + + // south 480 + eRide.time( 7.5 ); + eRide.accelTime( 0.0 ); + eRide.decelTime( 0.5 ); + eRide.move( SOUTH, 480 ); + + sys.waitFor( eRide ); + + // up 320 + eRide.time( 5.0 ); + eRide.accelTime( 0.5 ); + eRide.decelTime( 0.5 ); + eRide.move( UP, 320 ); + + sys.waitFor( eRide ); + + // south 1182 + thread ROD_stopSound_time (eRideBase, 17); + eRide.time( 18.5 ); + eRide.accelTime( 0.5 ); + eRide.decelTime( 0.0 ); + eRide.move( SOUTH, 1182 ); + + sys.waitFor( eRide ); + //ROD_stopSound (eRideBase); + eRide.restorePosition(); + + // 31s + } + // 116s + + + void RideOfDeathLoop() + { + while( true ) + { + thread RideOfDeathPath( "ride_of_death1" ); + sys.wait( 20.0 ); + + thread RideOfDeathPath( "ride_of_death2" ); + sys.wait( 20.0 ); + + thread RideOfDeathPath( "ride_of_death3" ); + sys.wait( 20.0 ); + + thread RideOfDeathPath( "ride_of_death4" ); + sys.wait( 20.0 ); + + thread RideOfDeathPath( "ride_of_death5" ); + sys.wait( 20.0 ); + + thread RideOfDeathPath( "ride_of_death6" ); + sys.wait( 20.0 ); + } + } + + + void RemoveRideOfDeathObjects() + { + entity eObject; + float ii; + + for( ii = 1; ii < 7; ii++ ) + { + eObject = sys.getEntity( "ride_of_death" + ii + "_parent" ); + eObject.remove(); + + eObject = sys.getEntity( "ride_of_death" + ii ); + eObject.remove(); + + eObject = sys.getEntity( "ride_of_death" + ii + "_front_support" ); + eObject.remove(); + + eObject = sys.getEntity( "ride_of_death" + ii + "_rear_support" ); + eObject.remove(); + + eObject = sys.getEntity( "ride_of_death" + ii + "_light1" ); + eObject.remove(); + + eObject = sys.getEntity( "ride_of_death" + ii + "_light2" ); + eObject.remove(); + } + } + + + void SetupWeldingMachine( string strBaseName ) + { + // the cover object is not bound in this function + entity eParent; + entity eChild; + + eParent = sys.getEntity( strBaseName + "_support" ); + eChild = sys.getEntity( strBaseName + "_right_grip" ); + eChild.bind( eParent ); + + eChild = sys.getEntity( strBaseName + "_left_grip" ); + eChild.bind( eParent ); + + eChild = sys.getEntity( strBaseName + "_base" ); + eChild.bind( eParent ); + + eParent = eChild; + eChild = sys.getEntity( strBaseName + "_arm" ); + eChild.bind( eParent ); + + eParent = eChild; + eChild = sys.getEntity( strBaseName + "_light" ); + eChild.bind( eParent ); + eChild.Off(); + + eChild = sys.getEntity( strBaseName + "_arm" ); + eChild.time( 0.1 ); + eChild.rotateOnce( '135 0 0' ); + sys.waitFor( eChild ); + } + + + void SetupRideOfDeathTrap1() + { + SetupWeldingMachine( "weld1_front" ); + SetupWeldingMachine( "weld1_rear" ); + SetupWeldingMachine( "weld2_front" ); + SetupWeldingMachine( "weld2_rear" ); + + $weld1_rear_support.time( 0.1 ); + $weld2_rear_support.time( 0.1 ); + $weld1_rear_support.rotateOnce( '0 180 0' ); + $weld2_rear_support.rotateOnce( '0 180 0' ); + sys.waitFor( $weld2_rear_support ); + } + + + void WeldingMachineSequence( string strBaseName, string strConveyName ) + { + entity eSupport; + entity eSupport_speaker; + entity eSupport_05s_speaker; + + entity eCover; + entity eLeftGrip; + entity eRightGrip; + + entity eBase; + entity eBase_speaker; + + entity eArm; + entity eArm_speaker; + entity eArm_weld_speaker; + + entity eLight; + entity eSpark; + + eSupport = sys.getEntity( strBaseName + "_support" ); + eSupport_speaker = sys.getEntity( strBaseName + "_support_speaker" ); + eSupport_05s_speaker = sys.getEntity( strBaseName + "_support_05s_speaker" ); + eCover = sys.getEntity( strBaseName + "_cover" ); + + eLeftGrip = sys.getEntity( strBaseName + "_left_grip" ); + + eRightGrip = sys.getEntity( strBaseName + "_right_grip" ); + + eBase = sys.getEntity( strBaseName + "_base" ); + + eArm = sys.getEntity( strBaseName + "_arm" ); + eArm_weld_speaker = sys.getEntity ( strBaseName + "_arm_speaker" ); + eArm_speaker = sys.getEntity ( strBaseName + "_arm_rot_speaker" ); + + eLight = sys.getEntity( strBaseName + "_light" ); + eSpark = sys.getEntity( strBaseName + "_sparks" ); + + eCover.bind( eSupport ); + + eSupport.time( 2.0 ); + eSupport.accelTime( 0.25 ); + eSupport.decelTime( 0.25 ); + sys.trigger (eSupport_speaker); + eSupport.move( DOWN, 192 ); + sys.waitFor( eSupport ); + + eSupport.time( 0.5 ); + eSupport.accelTime( 0.0 ); + eSupport.decelTime( 0.0 ); + sys.trigger (eSupport_05s_speaker); + eSupport.move( REL_BACK, 12 ); + sys.waitFor( eSupport ); + + eBase.time( 1.0 ); + eArm.time( 1.0 ); + eBase.move( UP, 48 ); + sys.trigger (eArm_speaker); + eArm.rotateOnce( '-135 0 0' ); + sys.waitFor( eArm ); + + // turn on sparks + eLight.On(); + sys.trigger (eSpark); + + + eBase.time( 2.0 ); + sys.trigger ( eArm_weld_speaker ); + eBase.move( DOWN, 48 ); + sys.waitFor( eBase ); + + // turn off sparks + eLight.Off(); + sys.trigger (eSpark); + + eCover.unbind(); + eCover.bind( sys.getEntity( strConveyName ) ); + + eArm.time( 1.0 ); + sys.trigger (eArm_speaker); + eArm.rotateOnce( '135 0 0' ); + sys.waitFor( eArm ); + + eLeftGrip.time( 0.25 ); + eRightGrip.time( 0.25 ); + eLeftGrip.rotateOnce( '0 15 0' ); + eRightGrip.rotateOnce( '0 -15 0' ); + sys.waitFor( eRightGrip ); + + eSupport.time( 1.0 ); + eSupport.accelTime( 0.0 ); + eSupport.decelTime( 0.0 ); + sys.trigger (eSupport_05s_speaker); + eSupport.move( REL_FORWARD, 12 ); + sys.waitFor( eSupport ); + + eSupport.time( 2.0 ); + eSupport.accelTime( 0.25 ); + eSupport.decelTime( 0.25 ); + sys.trigger (eSupport_speaker); + eSupport.move( UP, 192 ); + sys.waitFor( eSupport ); + + eLeftGrip.time( 0.25 ); + eRightGrip.time( 0.25 ); + eLeftGrip.rotateOnce( '0 -15 0' ); + eRightGrip.rotateOnce( '0 15 0' ); + sys.waitFor( eRightGrip ); + } + // 10s TOTAL + + + void ConveyDoorsOpen() + { + if( g_fConveyDoorRefCount < 1 ) + { + $convey_left_door.open(); + $convey_right_door.open(); + } + + g_fConveyDoorRefCount++; + } + + + void ConveyDoorsClose() + { + g_fConveyDoorRefCount--; + + if( g_fConveyDoorRefCount < 1 ) + { + $convey_left_door.close(); + $convey_right_door.close(); + } + } + + + void WeldDoorsOpen() + { + if( g_fWeldDoorRefCount < 1 ) + { + $weld_left_door.open(); + $weld_right_door.open(); + } + + g_fWeldDoorRefCount++; + } + + + void WeldDoorsClose() + { + g_fWeldDoorRefCount--; + + if( g_fWeldDoorRefCount < 1 ) + { + $weld_left_door.close(); + $weld_right_door.close(); + } + } + + + void Convey1ShortPathSequence() + { + thread ConveyDoorsOpen(); + + $convey1_base.time( 2.0 ); + $convey1_base.accelTime( 0.25 ); + $convey1_base.decelTime( 0.25 ); + sys.trigger ($speaker_convey_1_2s); + $convey1_base.move( SOUTH, 520 ); + sys.waitFor( $convey1_base ); + + thread ConveyDoorsClose(); + thread WeldDoorsOpen(); + + thread WeldingMachineSequence( "weld1_front", "convey1_base" ); + thread WeldingMachineSequence( "weld1_rear", "convey1_base" ); + sys.wait( 11.0 ); + + thread WeldDoorsClose(); + thread ConveyDoorsOpen(); + + $convey1_base.time( 2.0 ); + $convey1_base.accelTime( 0.25 ); + $convey1_base.decelTime( 0.25 ); + sys.trigger ($speaker_convey_1_2s); + $convey1_base.move( NORTH, 520 ); + sys.waitFor( $convey1_base ); + + thread ConveyDoorsClose(); + } + // 15s + + + void Convey1LongPathSequence() + { + thread ConveyDoorsOpen(); + + $convey1_base.time( 2.5 ); + $convey1_base.accelTime( 0.25 ); + $convey1_base.decelTime( 0.25 ); + sys.trigger ($speaker_convey_1_2p5s); + $convey1_base.move( SOUTH, 632 ); + sys.waitFor( $convey1_base ); + + thread ConveyDoorsClose(); + thread WeldDoorsOpen(); + + thread WeldingMachineSequence( "weld1_front", "convey1_base" ); + thread WeldingMachineSequence( "weld1_rear", "convey1_base" ); + sys.wait( 11.0 ); + + thread WeldDoorsClose(); + thread ConveyDoorsOpen(); + + $convey1_base.time( 2.5 ); + $convey1_base.accelTime( 0.25 ); + $convey1_base.decelTime( 0.25 ); + sys.trigger ($speaker_convey_1_2p5s); + $convey1_base.move( NORTH, 632 ); + sys.waitFor( $convey1_base ); + + thread ConveyDoorsClose(); + } + // 16s + + + void Convey2ShortPathSequence() + { + thread ConveyDoorsOpen(); + + $convey2_base.time( 2.0 ); + $convey2_base.accelTime( 0.25 ); + $convey2_base.decelTime( 0.25 ); + sys.trigger ($speaker_convey_2_2s); + $convey2_base.move( SOUTH, 520 ); + sys.waitFor( $convey2_base ); + + thread ConveyDoorsClose(); + thread WeldDoorsOpen(); + + thread WeldingMachineSequence( "weld2_front", "convey2_base" ); + thread WeldingMachineSequence( "weld2_rear", "convey2_base" ); + sys.wait( 11.0 ); + + thread WeldDoorsClose(); + thread ConveyDoorsOpen(); + + $convey2_base.time( 1.5 ); + $convey2_base.accelTime( 0.25 ); + sys.trigger ($speaker_convey_2_1p5s); + $convey2_base.move( NORTH, 520 ); + sys.waitFor( $convey2_base ); + + thread ConveyDoorsClose(); + } + // 15s + + + void Convey2LongPathSequence() + { + thread ConveyDoorsOpen(); + + $convey2_base.time( 2.5 ); + $convey2_base.accelTime( 0.25 ); + $convey2_base.decelTime( 0.25 ); + sys.trigger ($speaker_convey_2_2p5s); + $convey2_base.move( SOUTH, 632 ); + sys.waitFor( $convey2_base ); + + thread ConveyDoorsClose(); + thread WeldDoorsOpen(); + + thread WeldingMachineSequence( "weld2_front", "convey2_base" ); + thread WeldingMachineSequence( "weld2_rear", "convey2_base" ); + sys.wait( 11.0 ); + + thread WeldDoorsClose(); + thread ConveyDoorsOpen(); + + $convey2_base.time( 2.5 ); + $convey2_base.accelTime( 0.25 ); + $convey2_base.decelTime( 0.25 ); + sys.trigger ($speaker_convey_2_2p5s); + $convey2_base.move( NORTH, 632 ); + sys.waitFor( $convey2_base ); + + thread ConveyDoorsClose(); + } + // 16s + + + void RideOfDeathTrap1Loop() + { + float fTemp; + + sys.wait( 4.0 ); + + while( true ) + { + $weld1_front_cover.unbind(); + $weld1_rear_cover.unbind(); + $weld2_front_cover.unbind(); + $weld2_rear_cover.unbind(); + $weld1_front_cover.restorePosition(); + $weld1_rear_cover.restorePosition(); + $weld2_front_cover.restorePosition(); + $weld2_rear_cover.restorePosition(); + + fTemp = sys.random( 3.0 ); + + if( fTemp < 1 ) + { + // 1 goes long, 2 goes short + $weld1_front_support.time( 0.1 ); + $weld1_front_cover.time( 0.1 ); + $weld1_rear_support.time( 0.1 ); + $weld1_rear_cover.time( 0.1 ); + $weld2_front_support.time( 0.1 ); + $weld2_front_cover.time( 0.1 ); + $weld2_rear_support.time( 0.1 ); + $weld2_rear_cover.time( 0.1 ); + $weld1_front_support.moveTo( $weld1_front_long_origin ); + $weld1_front_cover.moveTo( $weld1_front_long_origin ); + $weld1_rear_support.moveTo( $weld1_rear_long_origin ); + $weld1_rear_cover.moveTo( $weld1_rear_long_origin ); + $weld2_front_support.moveTo( $weld2_front_short_origin ); + $weld2_front_cover.moveTo( $weld2_front_short_origin ); + $weld2_rear_support.moveTo( $weld2_rear_short_origin ); + $weld2_rear_cover.moveTo( $weld2_rear_short_origin ); + sys.waitFor( $weld2_rear_cover ); + + fTemp = sys.random( 3.0 ); + if( fTemp < 1 ) + { + // early/early + thread Convey1LongPathSequence(); + thread Convey2ShortPathSequence(); + sys.wait( 30.0 ); + } + else if( fTemp < 2 ) + { + // late/early + sys.wait( 2.0 ); + + thread Convey2ShortPathSequence(); + sys.wait( 8.0 ); + + thread Convey1LongPathSequence(); + sys.wait( 20.0 ); + } + else + { + // early/late + sys.wait( 10.0 ); + + thread Convey1LongPathSequence(); + sys.wait( 2.0 ); + + thread Convey2ShortPathSequence(); + sys.wait( 18.0 ); + } + } + else if( fTemp < 2 ) + { + // 1 goes short, 2 goes long + $weld1_front_support.time( 0.1 ); + $weld1_front_cover.time( 0.1 ); + $weld1_rear_support.time( 0.1 ); + $weld1_rear_cover.time( 0.1 ); + $weld2_front_support.time( 0.1 ); + $weld2_front_cover.time( 0.1 ); + $weld2_rear_support.time( 0.1 ); + $weld2_rear_cover.time( 0.1 ); + $weld1_front_support.moveTo( $weld1_front_short_origin ); + $weld1_front_cover.moveTo( $weld1_front_short_origin ); + $weld1_rear_support.moveTo( $weld1_rear_short_origin ); + $weld1_rear_cover.moveTo( $weld1_rear_short_origin ); + $weld2_front_support.moveTo( $weld2_front_long_origin ); + $weld2_front_cover.moveTo( $weld2_front_long_origin ); + $weld2_rear_support.moveTo( $weld2_rear_long_origin ); + $weld2_rear_cover.moveTo( $weld2_rear_long_origin ); + sys.waitFor( $weld2_rear_cover ); + + fTemp = sys.random( 3.0 ); + if( fTemp < 1 ) + { + // early/early + thread Convey1ShortPathSequence(); + thread Convey2LongPathSequence(); + sys.wait( 30.0 ); + } + else if( fTemp < 2 ) + { + // late/early + sys.wait( 2.0 ); + + thread Convey2LongPathSequence(); + sys.wait( 8.0 ); + + thread Convey1ShortPathSequence(); + sys.wait( 20.0 ); + } + else + { + // early/late + sys.wait( 10.0 ); + + thread Convey1ShortPathSequence(); + sys.wait( 2.0 ); + + thread Convey2LongPathSequence(); + sys.wait( 18.0 ); + } + } + else + { + $weld1_front_support.time( 0.1 ); + $weld1_front_cover.time( 0.1 ); + $weld1_rear_support.time( 0.1 ); + $weld1_rear_cover.time( 0.1 ); + $weld2_front_support.time( 0.1 ); + $weld2_front_cover.time( 0.1 ); + $weld2_rear_support.time( 0.1 ); + $weld2_rear_cover.time( 0.1 ); + $weld1_front_support.moveTo( $weld1_front_long_origin ); + $weld1_front_cover.moveTo( $weld1_front_long_origin ); + $weld1_rear_support.moveTo( $weld1_rear_long_origin ); + $weld1_rear_cover.moveTo( $weld1_rear_long_origin ); + $weld2_front_support.moveTo( $weld2_front_long_origin ); + $weld2_front_cover.moveTo( $weld2_front_long_origin ); + $weld2_rear_support.moveTo( $weld2_rear_long_origin ); + $weld2_rear_cover.moveTo( $weld2_rear_long_origin ); + sys.waitFor( $weld2_rear_cover ); + + // 1 goes long, 2 goes long + fTemp = sys.random( 3.0 ); + if( fTemp < 1 ) + { + // early/early + thread Convey1LongPathSequence(); + sys.wait( 2.0 ); + + thread Convey2LongPathSequence(); + sys.wait( 28.0 ); + } + else if( fTemp < 2 ) + { + // late/early + sys.wait( 2.0 ); + + thread Convey2LongPathSequence(); + sys.wait( 8.0 ); + + thread Convey1LongPathSequence(); + sys.wait( 20.0 ); + } + else + { + // late/late + sys.wait( 10.0 ); + + thread Convey1LongPathSequence(); + sys.wait( 2.0 ); + + thread Convey2LongPathSequence(); + sys.wait( 18.0 ); + } + } + } + } + + + void SetupRideOfDeathTrap2() + { + $spinner_top.time( 0.1 ); + $spinner_bottom.time( 0.1 ); + $spinner_top.rotateOnce( '0 -45 0' ); + $spinner_bottom.rotateOnce( '0 -45 0' ); + sys.waitFor( $spinner_bottom ); + } + + + void TopSpinnerRotate() + { + $spinner_top.time( 2.0 ); + $spinner_top.accelTime( 0.25 ); + $spinner_top.decelTime( 0.25 ); + sys.trigger ($speaker_spinner_top); + $spinner_top.rotateOnce( '0 -90 0' ); + sys.waitFor( $spinner_top ); + + // do some effects stuff + sys.wait( 3.0 ); + } + + + void BottomSpinnerRotate() + { + $spinner_bottom.time( 2.0 ); + $spinner_bottom.accelTime( 0.25 ); + $spinner_bottom.decelTime( 0.25 ); + $spinner_bottom.rotateOnce( '0 -90 0' ); + sys.trigger ($speaker_spinner_bottom); + sys.waitFor( $spinner_bottom ); + + // do some effects stuff + sys.wait( 3.0 ); + } + + + void RideOfDeathTrap2Loop() + { + while( true ) + { + thread BottomSpinnerRotate(); + sys.wait( 0.5 ); + + thread TopSpinnerRotate(); + sys.wait( 4.5 ); + } + } + + + void SetupRideOfDeathTrap3() + { + } + + + void RideOfDeathTrap3Loop() + { + sys.trigger($trap3_impspawn); + + //bring everything else out 160 + $discharge_arm_1.bind ($discharge_stack_1); + $discharge_arm_2.bind ($discharge_stack_2); + + $spin_pooperplat1.move (WEST, 24); + $spin_pooperplat2.move (EAST, 24); + + sys.trigger ($discharge_stack_1_speaker); + $discharge_stack_1.move (NORTH, 160); + sys.wait (1); + sys.trigger ($discharge_stack_2_speaker); + $discharge_stack_2.move (NORTH, 160); + sys.waitFor ($discharge_stack_2); + + $discharge_arm_1.unbind (); + $discharge_arm_2.unbind (); + + sys.trigger ($discharge_arm_1_speaker); + $discharge_arm_1.move (NORTH, 112); + sys.wait (0.5); + sys.trigger ($discharge_arm_2_speaker); + $discharge_arm_2.move (NORTH, 112); + sys.waitFor ($discharge_arm_2); + + sys.trigger ($discharge_lens_1_speaker); + $discharge_lens_1.rotateOnce ('0 0 90'); + sys.wait (0.33); + sys.trigger ($discharge_lens_2_speaker); + $discharge_lens_2.rotateOnce ('0 0 90'); + //sys.wait(.5); + + //bring to ready position + sys.trigger ($speaker_pooper1); // Who the hell named this "pooper" anyway ? + $spin_pooper1.move (DOWN, 96); // Ahh.. the scatological humor runs rampant... -Xian + sys.wait (1.5); + sys.trigger ($speaker_pooper2); + $spin_pooper2.move (DOWN, 96); + + //bring the nipples up + $discharge_nipple_1.time (2); + $discharge_nipple_2.time (2); + + sys.trigger ($discharge_nipple_1_speaker); + $discharge_nipple_1.move (UP, 176); + sys.wait (0.48); + $discharge_nipple_2.move (UP, 176); + sys.trigger ($discharge_nipple_2_speaker); + sys.waitFor($discharge_nipple_2); + + //initial movement to make sure the particles are on correctly + $spin_paddle1.time( 1.2 ); + $spin_paddle1.accelTime( 0.25 ); + $spin_paddle1.decelTime( 0.25 ); + sys.trigger ($speaker_paddle1); + $spin_paddle1.rotateOnce( '0 180 0' ); + sys.waitFor( $spin_paddle1 ); + + + //trigger the lightning on + + $dbuzz1.startSoundShader ("jacob", SND_CHANNEL_VOICE ); + + sys.trigger ($dbuzz1); + sys.trigger ($dbuzz1_light); + sys.wait( 1.0 ); + + $spin_paddle2.time( 1.2 ); + $spin_paddle2.accelTime( 0.25 ); + $spin_paddle2.decelTime( 0.25 ); + sys.trigger ($speaker_paddle2); + $spin_paddle2.rotateOnce( '0 -180 0' ); + sys.waitFor( $spin_paddle2 ); + + //trigger the lightning on + $dbuzz2.startSoundShader ("jacob", SND_CHANNEL_VOICE ); + sys.trigger ($dbuzz2); + sys.trigger ($dbuzz2_light); + + sys.wait( 1.0 ); + + while( true ) { + //trigger the lightning off + sys.trigger ($dbuzz1); + sys.trigger ($dbuzz1_light); + $spin_paddle1.time( 1.2 ); + $spin_paddle1.accelTime( 0.25 ); + $spin_paddle1.decelTime( 0.25 ); + sys.trigger ($speaker_paddle1); + $spin_paddle1.rotateOnce( '0 180 0' ); + sys.waitFor( $spin_paddle1 ); + //trigger the lightning on + $dbuzz1.startSoundShader ("jacob", SND_CHANNEL_VOICE ); + sys.trigger ($dbuzz1); + sys.trigger ($dbuzz1_light); + sys.wait( 1.0 ); + + //trigger the lightning off + sys.trigger ($dbuzz2); + sys.trigger ($dbuzz2_light); + $spin_paddle2.time( 1.2 ); + $spin_paddle2.accelTime( 0.25 ); + $spin_paddle2.decelTime( 0.25 ); + sys.trigger ($speaker_paddle2); + $spin_paddle2.rotateOnce( '0 -180 0' ); + sys.waitFor( $spin_paddle2 ); + //trigger the lightning on + $dbuzz2.startSoundShader ("jacob", SND_CHANNEL_VOICE ); + sys.trigger ($dbuzz2); + sys.trigger ($dbuzz2_light); + sys.wait( 1.0 ); + } + } + + + + void SetupRideOfDeathTrap5() + { + $pounder1_left_base.time( 0.1 ); + $pounder1_left_cushion.time( 0.1 ); + $pounder1_left_inside.time( 0.1 ); + $pounder1_left_outside.time( 0.1 ); + $pounder2_left_base.time( 0.1 ); + $pounder2_left_cushion.time( 0.1 ); + $pounder2_left_inside.time( 0.1 ); + $pounder2_left_outside.time( 0.1 ); + $pounder1_right_base.time( 0.1 ); + $pounder1_right_cushion.time( 0.1 ); + $pounder1_right_inside.time( 0.1 ); + $pounder1_right_outside.time( 0.1 ); + $pounder2_right_base.time( 0.1 ); + $pounder2_right_cushion.time( 0.1 ); + $pounder2_right_inside.time( 0.1 ); + $pounder2_right_outside.time( 0.1 ); + $pounder1_left_base.rotateOnce( '-30 0 0' ); + $pounder1_left_cushion.rotateOnce( '-30 0 0' ); + $pounder1_left_inside.rotateOnce( '-30 0 0' ); + $pounder1_left_outside.rotateOnce( '-30 0 0' ); + $pounder2_left_base.rotateOnce( '-30 0 0' ); + $pounder2_left_cushion.rotateOnce( '-30 0 0' ); + $pounder2_left_inside.rotateOnce( '-30 0 0' ); + $pounder2_left_outside.rotateOnce( '-30 0 0' ); + $pounder1_right_base.rotateOnce( '30 0 0' ); + $pounder1_right_cushion.rotateOnce( '30 0 0' ); + $pounder1_right_inside.rotateOnce( '30 0 0' ); + $pounder1_right_outside.rotateOnce( '30 0 0' ); + $pounder2_right_base.rotateOnce( '30 0 0' ); + $pounder2_right_cushion.rotateOnce( '30 0 0' ); + $pounder2_right_inside.rotateOnce( '30 0 0' ); + $pounder2_right_outside.rotateOnce( '30 0 0' ); + sys.waitFor( $pounder2_right_outside ); + + $pounder1_left_inside.time( 0.1 ); + $pounder1_left_outside.time( 0.1 ); + $pounder2_left_inside.time( 0.1 ); + $pounder2_left_outside.time( 0.1 ); + $pounder1_right_inside.time( 0.1 ); + $pounder1_right_outside.time( 0.1 ); + $pounder2_right_inside.time( 0.1 ); + $pounder2_right_outside.time( 0.1 ); + $pounder1_left_inside.move( REL_FORWARD, 288 ); + $pounder1_left_outside.move( REL_FORWARD, 256 ); + $pounder2_left_inside.move( REL_FORWARD, 288 ); + $pounder2_left_outside.move( REL_FORWARD, 256 ); + $pounder1_right_inside.move( REL_BACK, 288 ); + $pounder1_right_outside.move( REL_BACK, 256 ); + $pounder2_right_inside.move( REL_BACK, 288 ); + $pounder2_right_outside.move( REL_BACK, 256 ); + sys.waitFor( $pounder2_right_outside ); + } + + + void Pounder1Sequence() + { + float fRandom; + + fRandom = sys.random( 2.0 ); + + if( fRandom < 1.0 ) + { + // extending out + + $pounder1_left_inside.time( 0.5 ); + $pounder1_left_inside.accelTime( 0.0 ); + $pounder1_left_inside.decelTime( 0.0 ); + sys.trigger ($speaker_pounder1_halfsecond); + $pounder1_left_inside.move( REL_BACK, 288 ); + sys.waitFor( $pounder1_left_inside ); + sys.wait( 0.25 ); + + $pounder1_left_outside.time( 0.2 ); + $pounder1_left_outside.accelTime( 0.0 ); + $pounder1_left_outside.decelTime( 0.0 ); + sys.trigger ($speaker_pounder1_left_outside_p2); + $pounder1_left_outside.move( REL_BACK, 256 ); + sys.waitFor( $pounder1_left_outside ); + + $pounder1_left_outside.time( 0.1 ); + $pounder1_left_outside.accelTime( 0.0 ); + $pounder1_left_outside.decelTime( 0.1 ); + $pounder1_left_cushion.time( 0.1 ); + $pounder1_left_cushion.accelTime( 0.0 ); + $pounder1_left_cushion.decelTime( 0.1 ); + $pounder1_left_outside.move( REL_BACK, 16 ); + sys.trigger ($speaker_pounder1_left_cushion); + $pounder1_left_cushion.move( REL_BACK, 16 ); + sys.waitFor( $pounder1_left_cushion ); + + $pounder1_left_outside.time( 0.2 ); + $pounder1_left_outside.accelTime( 0.0 ); + $pounder1_left_outside.decelTime( 0.0 ); + $pounder1_left_cushion.time( 0.2 ); + $pounder1_left_cushion.accelTime( 0.0 ); + $pounder1_left_cushion.decelTime( 0.0 ); + $pounder1_left_outside.move( REL_FORWARD, 16 ); + $pounder1_left_cushion.move( REL_FORWARD, 16 ); + sys.waitFor( $pounder1_left_cushion ); + + sys.wait( 2.0 ); + + // Sucking back in + + $pounder1_left_outside.time( 1.0 ); + $pounder1_left_outside.accelTime( 0.25 ); + $pounder1_left_outside.decelTime( 0.25 ); + $pounder1_left_inside.time( 2.0 ); + $pounder1_left_inside.accelTime( 0.5 ); + $pounder1_left_inside.decelTime( 0.5 ); + sys.trigger ($speaker_pounder1_left_outside_1s); + $pounder1_left_outside.move( REL_FORWARD, 256 ); + sys.trigger ($speaker_pounder1_left_inside); + $pounder1_left_inside.move( REL_FORWARD, 288 ); + sys.waitFor( $pounder1_left_inside ); + } + else + { + $pounder1_right_inside.time( 0.5 ); + $pounder1_right_inside.accelTime( 0.0 ); + $pounder1_right_inside.decelTime( 0.0 ); + sys.trigger ($speaker_pounder1_halfsecond); + $pounder1_right_inside.move( REL_FORWARD, 288 ); + sys.waitFor( $pounder1_right_inside ); + sys.wait( 0.25 ); + + $pounder1_right_outside.time( 0.2 ); + $pounder1_right_outside.accelTime( 0.0 ); + $pounder1_right_outside.decelTime( 0.0 ); + sys.trigger ($speaker_pounder1_right_outside_p2); + $pounder1_right_outside.move( REL_FORWARD, 256 ); + sys.waitFor( $pounder1_right_outside ); + + $pounder1_right_outside.time( 0.1 ); + $pounder1_right_outside.accelTime( 0.0 ); + $pounder1_right_outside.decelTime( 0.1 ); + $pounder1_right_cushion.time( 0.1 ); + $pounder1_right_cushion.accelTime( 0.0 ); + $pounder1_right_cushion.decelTime( 0.1 ); + $pounder1_right_outside.move( REL_FORWARD, 16 ); + sys.trigger ($speaker_pounder1_right_cushion); + $pounder1_right_cushion.move( REL_FORWARD, 16 ); + sys.waitFor( $pounder1_right_cushion ); + + $pounder1_right_outside.time( 0.2 ); + $pounder1_right_outside.accelTime( 0.0 ); + $pounder1_right_outside.decelTime( 0.0 ); + $pounder1_right_cushion.time( 0.2 ); + $pounder1_right_cushion.accelTime( 0.0 ); + $pounder1_right_cushion.decelTime( 0.0 ); + $pounder1_right_outside.move( REL_BACK, 16 ); + $pounder1_right_cushion.move( REL_BACK, 16 ); + sys.waitFor( $pounder1_right_cushion ); + + sys.wait( 2.0 ); + + $pounder1_right_outside.time( 1.0 ); + $pounder1_right_outside.accelTime( 0.25 ); + $pounder1_right_outside.decelTime( 0.25 ); + $pounder1_right_inside.time( 2.0 ); + $pounder1_right_inside.accelTime( 0.5 ); + $pounder1_right_inside.decelTime( 0.5 ); + sys.trigger ($speaker_pounder1_right_outside_1s); + $pounder1_right_outside.move( REL_BACK, 256 ); + sys.trigger ($speaker_pounder1_right_inside); + $pounder1_right_inside.move( REL_BACK, 288 ); + sys.waitFor( $pounder1_left_inside ); + } + } + + + void Pounder2Sequence() + { + float fRandom; + + fRandom = sys.random( 2.0 ); + + if( fRandom < 1.0 ) + { + $pounder2_left_inside.time( 0.5 ); + $pounder2_left_inside.accelTime( 0.0 ); + $pounder2_left_inside.decelTime( 0.0 ); + sys.trigger ($speaker_pounder2_halfsecond); + $pounder2_left_inside.move( REL_BACK, 288 ); + sys.waitFor( $pounder2_left_inside ); + sys.wait( 0.25 ); + + $pounder2_left_outside.time( 0.2 ); + $pounder2_left_outside.accelTime( 0.0 ); + $pounder2_left_outside.decelTime( 0.0 ); + sys.trigger ($speaker_pounder2_left_outside_p2); + $pounder2_left_outside.move( REL_BACK, 256 ); + sys.waitFor( $pounder2_left_outside ); + + $pounder2_left_outside.time( 0.1 ); + $pounder2_left_outside.accelTime( 0.0 ); + $pounder2_left_outside.decelTime( 0.1 ); + $pounder2_left_cushion.time( 0.1 ); + $pounder2_left_cushion.accelTime( 0.0 ); + $pounder2_left_cushion.decelTime( 0.1 ); + $pounder2_left_outside.move( REL_BACK, 16 ); + $pounder2_left_cushion.move( REL_BACK, 16 ); + sys.waitFor( $pounder2_left_cushion ); + + $pounder2_left_outside.time( 0.2 ); + $pounder2_left_outside.accelTime( 0.0 ); + $pounder2_left_outside.decelTime( 0.0 ); + $pounder2_left_cushion.time( 0.2 ); + $pounder2_left_cushion.accelTime( 0.0 ); + $pounder2_left_cushion.decelTime( 0.0 ); + $pounder2_left_outside.move( REL_FORWARD, 16 ); + sys.trigger ($speaker_pounder2_left_cushion); + $pounder2_left_cushion.move( REL_FORWARD, 16 ); + sys.waitFor( $pounder2_left_cushion ); + + sys.wait( 2.0 ); + + $pounder2_left_outside.time( 1.0 ); + $pounder2_left_outside.accelTime( 0.25 ); + $pounder2_left_outside.decelTime( 0.25 ); + $pounder2_left_inside.time( 2.0 ); + $pounder2_left_inside.accelTime( 0.5 ); + $pounder2_left_inside.decelTime( 0.5 ); + sys.trigger ($speaker_pounder2_left_outside_1s); + $pounder2_left_outside.move( REL_FORWARD, 256 ); + sys.trigger ($speaker_pounder2_left_inside); + $pounder2_left_inside.move( REL_FORWARD, 288 ); + sys.waitFor( $pounder2_left_inside ); + } + else + { + $pounder2_right_inside.time( 0.5 ); + $pounder2_right_inside.accelTime( 0.0 ); + $pounder2_right_inside.decelTime( 0.0 ); + sys.trigger ($speaker_pounder2_halfsecond); + $pounder2_right_inside.move( REL_FORWARD, 288 ); + sys.waitFor( $pounder2_right_inside ); + sys.wait( 0.25 ); + + $pounder2_right_outside.time( 0.2 ); + $pounder2_right_outside.accelTime( 0.0 ); + $pounder2_right_outside.decelTime( 0.0 ); + sys.trigger ($speaker_pounder2_right_outside_p2); + $pounder2_right_outside.move( REL_FORWARD, 256 ); + sys.waitFor( $pounder2_right_outside ); + + $pounder2_right_outside.time( 0.1 ); + $pounder2_right_outside.accelTime( 0.0 ); + $pounder2_right_outside.decelTime( 0.1 ); + $pounder2_right_cushion.time( 0.1 ); + $pounder2_right_cushion.accelTime( 0.0 ); + $pounder2_right_cushion.decelTime( 0.1 ); + $pounder2_right_outside.move( REL_FORWARD, 16 ); + sys.trigger ($speaker_pounder2_right_cushion); + $pounder2_right_cushion.move( REL_FORWARD, 16 ); + sys.waitFor( $pounder2_right_cushion ); + + $pounder2_right_outside.time( 0.2 ); + $pounder2_right_outside.accelTime( 0.0 ); + $pounder2_right_outside.decelTime( 0.0 ); + $pounder2_right_cushion.time( 0.2 ); + $pounder2_right_cushion.accelTime( 0.0 ); + $pounder2_right_cushion.decelTime( 0.0 ); + $pounder2_right_outside.move( REL_BACK, 16 ); + $pounder2_right_cushion.move( REL_BACK, 16 ); + sys.waitFor( $pounder2_right_cushion ); + + sys.wait( 2.0 ); + + $pounder2_right_outside.time( 1.0 ); + $pounder2_right_outside.accelTime( 0.25 ); + $pounder2_right_outside.decelTime( 0.25 ); + $pounder2_right_inside.time( 2.0 ); + $pounder2_right_inside.accelTime( 0.5 ); + $pounder2_right_inside.decelTime( 0.5 ); + sys.trigger ($speaker_pounder2_right_outside_1s); + $pounder2_right_outside.move( REL_BACK, 256 ); + sys.trigger ($speaker_pounder2_right_inside); + $pounder2_right_inside.move( REL_BACK, 288 ); + sys.waitFor( $pounder2_left_inside ); + } + } + + + void RideOfDeathTrap5Loop() + { + // FIXME: add a light cue where the rods come out to let the player + // know which one is about to fire + sys.wait( 7.5 ); + + while( true ) + { + thread Pounder1Sequence(); + sys.wait( 2.0 ); + + thread Pounder2Sequence(); + sys.wait( 8.0 ); + } + } + + + + void SetupRideOfDeathTraps() + { + SetupRideOfDeathObjects(); + + SetupRideOfDeathTrap1(); + SetupRideOfDeathTrap2(); + SetupRideOfDeathTrap3(); + SetupRideOfDeathTrap5(); + + thread RideOfDeathTrap1Loop(); + thread RideOfDeathTrap2Loop(); + thread RideOfDeathTrap5Loop(); + } + + + void LightGroup1Sequence() + { + $lightgroup1_swing_light1.accelTime( 0.25 ); + $lightgroup1_swing_light1.time( 1.0 ); + $lightgroup1_swing_light1.decelTime( 0.25 ); + $lightgroup1_swing_light2.accelTime( 0.25 ); + $lightgroup1_swing_light2.time( 1.0 ); + $lightgroup1_swing_light2.decelTime( 0.25 ); + $lightgroup1_swing_light1.rotateOnce( '0 0 135' ); + $lightgroup1_swing_light2.rotateOnce( '0 0 135' ); + sys.waitFor( $lightgroup1_swing_light2 ); + + $lightgroup1_swing_light1_light.On(); + $lightgroup1_swing_light2_light.On(); + + $lightgroup1_lighta.On(); + $lightgroup1_lightb.On(); + $lightgroup1_lightc.On(); + } + + + void GlideLight1Loop() + { + float fTime; + + while( true ) + { + fTime = sys.random( 2.0 ); + + $glide_light1.time( fTime + 1.0 ); + $glide_light1.accelTime( fTime / 4 ); + $glide_light1.decelTime( fTime / 4 ); + $glide_light1.move( NORTH, 448 ); + sys.waitFor( $glide_light1 ); + + fTime = sys.random( 2.0 ); + sys.wait( fTime + 1.0 ); + + fTime = sys.random( 2.0 ); + + $glide_light1.time( fTime + 1.0 ); + $glide_light1.accelTime( fTime / 4 ); + $glide_light1.decelTime( fTime / 4 ); + $glide_light1.move( SOUTH, 448 ); + sys.waitFor( $glide_light1 ); + + fTime = sys.random( 2.0 ); + sys.wait( fTime + 1.0 ); + } + } + + + void GlideLight2Loop() + { + float fTime; + + while( true ) + { + fTime = sys.random( 1.5 ); + + $glide_light2.time( fTime + 0.5 ); + $glide_light2.accelTime( fTime / 4 ); + $glide_light2.decelTime( fTime / 4 ); + $glide_light2.move( WEST, 256 ); + sys.waitFor( $glide_light2 ); + + fTime = sys.random( 1.25 ); + sys.wait( fTime + 0.5 ); + + fTime = sys.random( 1.5 ); + + $glide_light2.time( fTime + 0.5 ); + $glide_light2.accelTime( fTime / 4 ); + $glide_light2.decelTime( fTime / 4 ); + $glide_light2.move( EAST, 256 ); + sys.waitFor( $glide_light2 ); + + fTime = sys.random( 1.25 ); + sys.wait( fTime + 0.5 ); + } + } + + + void CargoObjectLoop( string strObject ) + { + entity eObject; + entity eLight; + + eObject = sys.getEntity( strObject ); + eLight = sys.getEntity( strObject + "_light" ); + + eObject.time( 3.0 ); + eObject.move( SOUTH, 176 ); + sys.waitFor( eObject ); + + eObject.bind( $cargo_object_origin1 ); + + $cargo_object_origin1.time( 1.75 ); + $cargo_object_origin1.rotateOnce( '0 90 0' ); + sys.waitFor( $cargo_object_origin1 ); + + eObject.unbind(); + $cargo_object_origin1.restorePosition(); + + eObject.time( 0.6 ); + eObject.move( EAST, 48 ); + sys.waitFor( eObject ); + + eLight.On(); + + eObject.bind( $cargo_object_origin2 ); + + $cargo_object_origin2.time( 1.75 ); + $cargo_object_origin2.rotateOnce( '0 90 0' ); + sys.waitFor( $cargo_object_origin2 ); + + eObject.unbind(); + $cargo_object_origin2.restorePosition(); + + eObject.time( 4.25 ); + eObject.move( NORTH, 304 ); + sys.waitFor( eObject ); + + eObject.bind( $cargo_object_origin3 ); + + $cargo_object_origin3.time( 6.0 ); + $cargo_object_origin3.rotateOnce( '0 -90 0' ); + sys.waitFor( $cargo_object_origin3 ); + + eObject.unbind(); + $cargo_object_origin3.restorePosition(); + + eObject.time( 14.0 ); + eObject.move( EAST, 896 ); + sys.waitFor( eObject ); + + eObject.bind( $cargo_object_origin4 ); + + $cargo_object_origin4.time( 6.0 ); + $cargo_object_origin4.rotateOnce( '0 -90 0' ); + sys.waitFor( $cargo_object_origin4 ); + + eObject.unbind(); + $cargo_object_origin4.restorePosition(); + + eObject.time( 1.0 ); + eObject.move( SOUTH, 64 ); + sys.waitFor( eObject ); + + eObject.bind( $cargo_object_origin5 ); + + $cargo_object_origin5.time( 4.0 ); + $cargo_object_origin5.rotateOnce( '0 -90 0' ); + sys.waitFor( $cargo_object_origin5 ); + + eObject.unbind(); + $cargo_object_origin5.restorePosition(); + + eLight.Off(); + + eObject.time( 2.0 ); + eObject.move( WEST, 128 ); + sys.waitFor( eObject ); + + eObject.restorePosition(); + } + // 46s + + + void CargoObjectSequence() + { + string strObject; + float ii; + + while( true ) + { + for( ii = 1; ii < 5; ii++ ) + { + strObject = "cargo_object" + ii; + thread CargoObjectLoop( strObject ); + sys.wait( 15.0 ); + } + } + } + + + + void LightsOffThread() + { + sys.trigger($dark_door_open); + sys.trigger($dark_backstab); + sys.trigger($dark_b2); + sys.trigger($dark_triteclimb); + sys.trigger($rod_doortrig); + sys.trigger($lightsoff_lock); + + thread ExtendSectionBridges(); + + SetupRideOfDeathTraps(); + RemoveRideOfDeathObjects(); + } + + + void LightsOnThread() + { + sys.trigger($lights_on_doortrig); + sys.trigger($lightside_lock_1); + thread SectionBridgeRemoveAll(); + + thread ExtendPlatform1(); + thread RotatingBridgeStart(); + + thread LightGroup1Sequence(); + sys.wait( 5.0 ); + + thread RotatingBridgeLoop(); + } + + + void RideOfDeathThread() + { + sys.trigger($rod_doortrig); + SetupRideOfDeathTraps(); + RideOfDeathLoop(); + } + + /*-------------------------------------------------------------------- + + F r a g c h a m b e r scripting START + + --------------------------------------------------------------------*/ + + + // ------------------------------------------------- + // Chamber Core DOWN + // ------------------------------------------------- + void chamber_core_down() + { + $chamber_core.time(5); + $chamber_core.accelTime(1); + $chamber_core.decelTime(1.5); + $chamber_core.moveTo($chamber_core_down); + + sys.trigger ($chamber_core_down_speaker); + sys.wait (4); + //no turning back... remove cancel option + $guicon1.setGuiParm ( "gui_parm9" , 0); + sys.trigger ($speaker_juicer); + sys.waitFor ($chamber_core); + + } + + // ------------------------------------------------- + // Chamber Core UP + // ------------------------------------------------- + void chamber_core_up() + { + $chamber_core.time(3); + $chamber_core.accelTime(2.5); + $chamber_core.decelTime(.5); + $chamber_core.moveTo($chamber_core_up); + + sys.trigger ($chamber_core_up_speaker); + + sys.waitFor ($chamber_core); + } + + // ------------------------------------------------- + // Chamber Rods DOWN + // ------------------------------------------------- + void chamber_rods_down() + { + $chamber_rods.time(4); + $chamber_rods.accelTime(1); + $chamber_rods.decelTime(.5); + $chamber_rods.moveTo($chamber_rod_down); + + sys.trigger ($chamber_rods_down_speaker); + + sys.waitFor ($chamber_rods); + } + + // ------------------------------------------------- + // Chamber Rods UP + // ------------------------------------------------- + void chamber_rods_up() + { + $chamber_rods.time(3); + $chamber_rods.accelTime(1); + $chamber_rods.decelTime(.5); + $chamber_rods.moveTo($chamber_rod_up); + + sys.trigger ($chamber_rods_up_speaker); + + sys.waitFor ($chamber_rods); + } + + + // ------------------------------------------------- + // Chamber Sockets OUT + // ------------------------------------------------- + void chamber_sockets_out() + { + $chamber_socket1.time(2); + $chamber_socket1.moveTo($chamber_socket1_out); + $chamber_socket2.time(2); + $chamber_socket2.moveTo($chamber_socket2_out); + $chamber_socket3.time(2); + $chamber_socket3.moveTo($chamber_socket3_out); + $chamber_socket4.time(2); + $chamber_socket4.moveTo($chamber_socket4_out); + + sys.trigger ($chamber_sockets_out_speaker); + + sys.waitFor ($chamber_socket4); + } + + // ------------------------------------------------- + // Chamber Sockets IN + // ------------------------------------------------- + void chamber_sockets_in() + { + $chamber_socket1.time(2); + $chamber_socket1.moveTo($chamber_socket1_in); + $chamber_socket2.time(2); + $chamber_socket2.moveTo($chamber_socket2_in); + $chamber_socket3.time(2); + $chamber_socket3.moveTo($chamber_socket3_in); + $chamber_socket4.time(2); + $chamber_socket4.moveTo($chamber_socket4_in); + + sys.trigger ($chamber_sockets_in_speaker); + + sys.waitFor ($chamber_socket4); + } + + // ------------------------------------------------- + // Close the chamber doors + // ------------------------------------------------- + void chamber_closedoors() + { + $chamber_door2a.close(); + $chamber_door2b.close(); + $chamber_door4a.close(); + $chamber_door4b.close(); + + $chamber_door2a.lock(1); + $chamber_door2b.lock(1); + $chamber_door4a.lock(1); + $chamber_door4b.lock(1); + + $fragchamber_door1_gui.setGuiParm ("gui_parm3", 0); + $fragchamber_door2_gui.setGuiParm ("gui_parm3", 0); + + $fragchamber_door1_gui.setShaderParm (7, 0); + $fragchamber_door2_gui.setShaderParm (7, 0); + + $fragchamber_door1_blinky_red.show(); + $fragchamber_door1_blinky_green.hide(); + $fragchamber_door2_blinky_red.show(); + $fragchamber_door2_blinky_green.hide(); + + $fragchamber_door1_bl1.setColor (1, 0, 0); + $fragchamber_door1_bl2.setColor (1, 0, 0); + $fragchamber_door2_bl1.setColor (1, 0, 0); + $fragchamber_door2_bl2.setColor (1, 0, 0); + } + + // ------------------------------------------------- + // Trigger the Chamber into action! + // ------------------------------------------------- + void chamber_trigger() + { + float moverthread; + + $guicon1.setGuiParm ("gui_parm9", 1); + + //bridge times + $chamber_bridge1.time(.5); + $chamber_bridge2.time(.5); + $chamber_bridge3.time(.5); + $chamber_bridge4.time(.5); + + //doors CLOSE and LOCK + thread chamber_closedoors(); + + //bridges up + sys.trigger ($bridge_up_speaker); + $chamber_bridge1.rotateOnce( '0 0 -61' ); + $chamber_bridge2.rotateOnce( '100 0 0' ); + $chamber_bridge3.rotateOnce( '0 0 61' ); + $chamber_bridge4.rotateOnce( '-100 0 0' ); + + //core DOWN + + thread chamber_core_down(); + + //trigger the NPC to panic + sys.trigger ($fragchamber_npc_panic); + + //sockets OUT + sys.waitFor($chamber_bridge1); + + moverthread = thread chamber_sockets_out(); + sys.waitForThread ( moverthread ); + + //rods DOWN + + moverthread = thread chamber_rods_down(); + sys.waitForThread ( moverthread ); + sys.wait(1); + + //kill npc + $fragchamber_npc.kill(); + sys.trigger ($skeleton_spawn); + sys.trigger ($punish_lock); + //thread frontroom_door_open(); + + //kill the 2nd scientist standing at the door + $alphalabs3_fragchamber_scientist2_2.remove(); + + sys.trigger ($speaker_warmup); + sys.wait (2.5); + + //...Dramatic pause and doing stuff sound + sys.trigger ($fragchamber_active); + sys.wait (1); + sys.trigger ($punish_relay); + sys.wait (1); + + //rods up and sockets in + thread chamber_rods_up(); + sys.wait (1); + moverthread = thread chamber_sockets_in(); + sys.waitForThread ( moverthread ); + + //bridges DOWN + sys.trigger ($bridge_down_speaker); + $chamber_bridge1.rotateOnce( '0 0 61' ); + $chamber_bridge2.rotateOnce( '-100 0 0' ); + $chamber_bridge3.rotateOnce( '0 0 -61' ); + $chamber_bridge4.rotateOnce( '100 0 0' ); + + //core up + + moverthread = thread chamber_core_up(); + sys.waitForThread ( moverthread ); + + //doors OPEN and unlock + sys.wait(1); + $chamber_door2a.open(); + $chamber_door2b.open(); + $chamber_door4a.open(); + $chamber_door4b.open(); + + $chamber_door2a.lock(0); + $chamber_door2b.lock(0); + $chamber_door4a.lock(0); + $chamber_door4b.lock(0); + + $fragchamber_door1_gui.setGuiParm ("gui_parm3", 1); + $fragchamber_door2_gui.setGuiParm ("gui_parm3", 1); + + $fragchamber_door1_gui.setShaderParm (7, 1); + $fragchamber_door2_gui.setShaderParm (7, 1); + + $fragchamber_door1_blinky_red.hide(); + $fragchamber_door1_blinky_green.show(); + $fragchamber_door2_blinky_red.hide(); + $fragchamber_door2_blinky_green.show(); + + $fragchamber_door1_bl1.setColor (0, 1, 0); + $fragchamber_door1_bl2.setColor (0, 1, 0); + $fragchamber_door2_bl1.setColor (0, 1, 0); + $fragchamber_door2_bl2.setColor (0, 1, 0); + + //trigger control gui to reset it + $guicon1.setGuiParm ("gui_parm8", 1); + $guicon1.setGuiParm ("gui_parm9", 1); + } + + // ------------------------------------------------- + // Cancel the Chamber + // ------------------------------------------------- + void chamber_cancel() + { + float moverthread; + + sys.print ("chamber_cancel\n"); + sys.killthread ("map_alphalabs4::chamber_trigger"); + sys.killthread ("map_alphalabs4::chamber_core_down"); + sys.trigger($npc_backup); + + //rods up and sockets in + thread chamber_rods_up(); + thread chamber_sockets_in(); + + //core up + moverthread = thread chamber_core_up(); + //sys.waitForThread ( moverthread ); + + //trigger the NPC relief + sys.wait( 1 ); + sys.trigger ($fragchamber_npc_relief ); + + //bridges DOWN + sys.trigger ($bridge_down_speaker); + $chamber_bridge1.rotateOnce( '0 0 61' ); + $chamber_bridge2.rotateOnce( '-100 0 0' ); + $chamber_bridge3.rotateOnce( '0 0 -61' ); + $chamber_bridge4.rotateOnce( '100 0 0' ); + sys.waitFor ($chamber_bridge4); + + //doors OPEN and unlock + sys.wait(1); + $chamber_door2a.open(); + $chamber_door2b.open(); + $chamber_door4a.open(); + $chamber_door4b.open(); + + $chamber_door2a.lock(0); + $chamber_door2b.lock(0); + $chamber_door4a.lock(0); + $chamber_door4b.lock(0); + + $fragchamber_door1_gui.setGuiParm ("gui_parm3", 1); + $fragchamber_door2_gui.setGuiParm ("gui_parm3", 1); + + $fragchamber_door1_gui.setShaderParm (7, 1); + $fragchamber_door2_gui.setShaderParm (7, 1); + + $fragchamber_door1_blinky_red.hide(); + $fragchamber_door1_blinky_green.show(); + $fragchamber_door2_blinky_red.hide(); + $fragchamber_door2_blinky_green.show(); + + $fragchamber_door1_bl1.setColor (0, 1, 0); + $fragchamber_door1_bl2.setColor (0, 1, 0); + $fragchamber_door2_bl1.setColor (0, 1, 0); + $fragchamber_door2_bl2.setColor (0, 1, 0); + + sys.wait (1); + + //trigger control gui to reset it + $guicon1.setGuiParm ("gui_parm8", 3); + $guicon1.setGuiParm ("gui_parm9", 1); + + //trigger the NPC to leave + sys.print ("trigger\n"); + sys.trigger ($fragchamber_npc); + + // keep the doors open for a few seconds + float end_time = sys.getTime() + 7; + while( sys.getTime() < end_time ) { + sys.trigger( $chamber_door2a ); + sys.trigger( $chamber_door2b ); + sys.trigger( $chamber_door4a ); + sys.trigger( $chamber_door4b ); + sys.wait( 0.5 ); + } + } + + // ------------------------------------------------- + // Open the chamber doors + // ------------------------------------------------- + void chamber_opendoors() + { + // doors OPEN and unlock + sys.wait(1); + sys.trigger($npc_backup); + $chamber_door2a.open(); + $chamber_door2b.open(); + $chamber_door4a.open(); + $chamber_door4b.open(); + + $chamber_door2a.lock(0); + $chamber_door2b.lock(0); + $chamber_door4a.lock(0); + $chamber_door4b.lock(0); + + $fragchamber_door1_gui.setGuiParm ("gui_parm3", 1); + $fragchamber_door2_gui.setGuiParm ("gui_parm3", 1); + + $fragchamber_door1_gui.setShaderParm (7, 1); + $fragchamber_door2_gui.setShaderParm (7, 1); + + $fragchamber_door1_blinky_red.hide(); + $fragchamber_door1_blinky_green.show(); + $fragchamber_door2_blinky_red.hide(); + $fragchamber_door2_blinky_green.show(); + + $fragchamber_door1_bl1.setColor (0, 1, 0); + $fragchamber_door1_bl2.setColor (0, 1, 0); + $fragchamber_door2_bl1.setColor (0, 1, 0); + $fragchamber_door2_bl2.setColor (0, 1, 0); + + sys.wait (0.5); + + //trigger the NPC to leave + sys.trigger ($fragchamber_npc_leave); + + //trigger control gui to reset it + $guicon1.setGuiParm ("gui_parm8", 2); + $guicon1.setGuiParm ("gui_parm9", 1); + + // keep the doors open for a few seconds + float end_time = sys.getTime() + 7; + while( sys.getTime() < end_time ) { + sys.trigger( $chamber_door2a ); + sys.trigger( $chamber_door2b ); + sys.trigger( $chamber_door4a ); + sys.trigger( $chamber_door4b ); + sys.wait( 0.5 ); + } + } + + /*-------------------------------------------------------------------- + + F r a g c h a m b e r scripting END + + --------------------------------------------------------------------*/ + + +/* *********************************************************************************** + +Please place non-init code and functions above these init functions + +*********************************************************************************** */ + + /* + Pre-init state. Define starting state of key entities + */ + + void setup_objects() { + g_fConveyDoorRefCount = 0; + g_fWeldDoorRefCount = 0; + } + + + void init_world() { + // -- Start Alphapuzzle + thread SetupRotatingBridge(); + + thread GlideLight1Loop(); + thread GlideLight2Loop(); + thread CargoObjectSequence(); + // -- End Alphapuzzle + } + + void main() { + cache_sounds(); + bind_objects(); + setup_objects(); + init_world(); + } +} \ No newline at end of file diff --git a/base/script/map_caves.script b/base/script/map_caves.script new file mode 100644 index 00000000..8552815e --- /dev/null +++ b/base/script/map_caves.script @@ -0,0 +1,203 @@ +namespace map_caves { + void toggle_light(entity ent, vector srcColor, vector dstColor) { + vector tempVector; + + tempVector = ent.getColor(); + + if ( ( tempVector_x == srcColor_x ) && ( tempVector_y == srcColor_y ) && (tempVector_z == srcColor_z) ) + { + ent.setColor ( dstColor_x, dstColor_y, dstColor_z ); + return; + } + + if ( ( tempVector_x == dstColor_x ) && ( tempVector_y == dstColor_y ) && (tempVector_z == dstColor_z) ) + ent.setColor ( srcColor_x, srcColor_y, srcColor_z ); + + } + + + void room1_toggle() { + vector srcRGB; + vector dstRGB; + + srcRGB_x = 1; + srcRGB_y = 0.83; + srcRGB_z = 0.58; + + dstRGB_x = 1; + dstRGB_y = 0; + dstRGB_z = 0; + + toggle_light ($r1l1, srcRGB, dstRGB); + toggle_light ($r1l2, srcRGB, dstRGB); + toggle_light ($r1l3, srcRGB, dstRGB); + toggle_light ($r1l4, srcRGB, dstRGB); + toggle_light ($r1l5, srcRGB, dstRGB); + toggle_light ($r1l6, srcRGB, dstRGB); + toggle_light ($r1l7, srcRGB, dstRGB); + toggle_light ($r1l8, srcRGB, dstRGB); + } + + void room2_toggle () { + vector srcRGB; + vector dstRGB; + + srcRGB_x = 1; + srcRGB_y = 0.83; + srcRGB_z = 0.58; + + dstRGB_x = 1; + dstRGB_y = 0; + dstRGB_z = 0; + toggle_light ($r2l1, srcRGB, dstRGB); + toggle_light ($r2l2, srcRGB, dstRGB); + toggle_light ($r2l3, srcRGB, dstRGB); + toggle_light ($r2l4, srcRGB, dstRGB); + } + + void room3_toggle() { + vector srcRGB; + vector dstRGB; + + srcRGB_x = 1; + srcRGB_y = 0.83; + srcRGB_z = 0.58; + + dstRGB_x = 1; + dstRGB_y = 0; + dstRGB_z = 0; + + toggle_light ($r3l1, srcRGB, dstRGB); + toggle_light ($r3l2, srcRGB, dstRGB); + toggle_light ($r3l3, srcRGB, dstRGB); + toggle_light ($r3l4, srcRGB, dstRGB); + toggle_light ($r3l5, srcRGB, dstRGB); + toggle_light ($r3l6, srcRGB, dstRGB); + } + + void room4_toggle () { + vector srcRGB; + vector dstRGB; + + srcRGB_x = 1; + srcRGB_y = 0.83; + srcRGB_z = 0.58; + + dstRGB_x = 1; + dstRGB_y = 0; + dstRGB_z = 0; + sys.print ("Processing room4_toggle\n"); + toggle_light ($r4l1, srcRGB, dstRGB); + toggle_light ($r4l2, srcRGB, dstRGB); + } + + void lifter1() { + $endlift1.time (5); + $endlift1.moveTo ($endlift_top); + } + + void lifter2() { + $endlift1.time (5); + $endlift1.moveTo ($endlift_bottom); + } + + //////////////////////////////////////////////////// + // + // Light Group1 on - Group2 & Group3 off + // + //////////////////////////////////////////////////// + void light_group_1() + { + float i; + float rate; + + rate = GAME_FRAMETIME * 0.25; + + // start generator + $gen_rot.rotate ('120 0 0'); + + // force all other group lights to 0,0,0 + sys.setShaderParm(1,0); + sys.setShaderParm(2,0); + + for( i = 0; i <= 1; i += rate ) { + sys.setShaderParm(0,i); + sys.wait ( GAME_FRAMETIME ); + } + } + + //////////////////////////////////////////////////// + // + // Light Group2 on - Group1 & Group3 off + // + //////////////////////////////////////////////////// + void light_group_2() + { + float i; + float rate; + + rate = GAME_FRAMETIME * 0.25; + + // force all other group lights to 0,0,0 + sys.setShaderParm(0,0); + sys.setShaderParm(2,0); + + for( i = 0; i <= 1; i += rate ) { + sys.setShaderParm(1,i); + sys.wait (GAME_FRAMETIME); + } + } + + //////////////////////////////////////////////////// + // + // Light Group3 on - Group1 & Group2 off + // + //////////////////////////////////////////////////// + void light_group_3() + { + float i; + float rate; + + rate = GAME_FRAMETIME * 0.25; + + // force all other group lights to 0,0,0 + sys.setShaderParm(0,0); + sys.setShaderParm(1,0); + + for( i = 0; i <= 1; i += rate ) { + sys.setShaderParm(2,i); + sys.wait (GAME_FRAMETIME); + } + } + + //////////////////////////////////////////////////// + // + // Generator Monitor comes out + // + //////////////////////////////////////////////////// + void gen_mon_out() + { + //rotate door up 60degs + $gen_mon_door.rotateOnce (' 60 0 0 '); + sys.wait(.2); + $gen_mon_light.On(); + sys.waitFor ($gen_mon_door); + + //move monitor up and out + $gen_mon.moveTo ($gen_mon_spot1); + sys.waitFor ($gen_mon); + $gen_mon.moveTo ($gen_mon_spot2); + sys.waitFor ($gen_mon); + + } + + //////////////////////////////////////////////////// + // + // Caverns 1 Main + // + //////////////////////////////////////////////////// + void main() + { + sys.setShaderParm(0,1); + } +} diff --git a/base/script/map_caves2.script b/base/script/map_caves2.script new file mode 100644 index 00000000..a698cf34 --- /dev/null +++ b/base/script/map_caves2.script @@ -0,0 +1,740 @@ +namespace map_caves2 { + + // variable to track the open close state of caves2_shutters + float cave2_shutter_state = 0; + float cave2_ladder_state = 0; + + // variables to track crane movement states + float crane_main_state = 15; + float crane_carrier_state = 210; + float crane_carrier_load_state = 0; + float generator_on = FALSE; + + //////////////////////////////////////////////////// + // + // Setup objects + // + //////////////////////////////////////////////////// + void setup_objects() + { + + //move super_ladder down for keycard puzzle + $super_ladder.time(1); + $super_ladder.move ( DOWN, 632 ); + + $crane_carrier.bind ($crane_main); + $crane_carrier_load.bind ($crane_carrier); + $crane_main.setGuiParm ( "gui_parm3" , (crane_carrier_state / 4)); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + + $crane_main.time (.05); + $crane_carrier.time (.01); + $crane_carrier_load.time (.02); + } + + // Sound stuff for generator startup + void toggle_generator() { + if (generator_on) { + sys.trigger ($speaker_generator_stop); // Play Stop Sound + sys.trigger ($speaker_generator_loop); // Turn the loop off + generator_on = FALSE; + } + else { + sys.trigger ($speaker_generator_start); + sys.wait (1); + sys.trigger ($speaker_generator_loop); + generator_on = TRUE; + } + } + + // This is so that we don't need one long 40 second looping sound for the ride down + void lift_sound_thread() { + sys.trigger ($lift_speaker_start); + sys.wait (4.75); + sys.trigger ($lift_speaker_loop); // Turn on the loop + sys.wait (35); + sys.trigger ($lift_speaker_end); + sys.wait (0.2); + sys.trigger ($lift_speaker_loop); // Turn off the loop + } + //////////////////////////////////////////////////// + // + // Cave2 Small ladder at the lift + // + //////////////////////////////////////////////////// + void lower_smallcave_ladder() + { + sys.wait( .5 ); + sys.trigger( $snd_ladder_move ); + $smallcave_ladder.move( DOWN, 120 ); + } + + void raise_smallcave_ladder() + { + sys.wait( .5 ); + sys.trigger( $snd_ladder_move ); + $smallcave_ladder.move( UP, 120 ); + } + + //////////////////////////////////////////////////// + // + // Cave2 1st Elevator + // + //////////////////////////////////////////////////// + void big_broke_start() + { + // times for big_broke mover + $big_broke.time (40); + $big_broke.accelTime (5); + $big_broke.decelTime (.5); + + $big_broke.setKey ("snd_accel", "cav1_lift_start"); + $big_broke.setKey ("snd_move", "cav1_lift_loop"); + $big_broke.setKey ("snd_decel", "cav1_lift_stop"); + + // move the big_broke + //thread lift_sound_thread(); + $big_broke.moveTo ($big_broke_start); + sys.waitFor ($big_broke); + sys.trigger ($big_broke); + sys.trigger ($func_aas_obstacle_1); + } + +void big_broke_end() + { + // times for big_broke mover + + $big_broke.setKey ("snd_accel", "cav1_lift_start"); + $big_broke.setKey ("snd_move", "cav1_lift_loop"); + $big_broke.setKey ("snd_decel", "cav1_lift_stop"); + + + $big_broke.time (40); + $big_broke.accelTime (5); + $big_broke.decelTime (.2); + + // move the big_broke +// thread lift_sound_thread(); + $big_broke.moveTo ($big_broke_end); + sys.trigger ($func_aas_obstacle_1); + } + + + //////////////////////////////////////////////////// + // Cave2 key card objective call + //////////////////////////////////////////////////// + void callcavekey1() + { + sys.trigger ($caverns2_obj1); + } + + //////////////////////////////////////////////////// + // Caverns2 Piston machine1 sream + //////////////////////////////////////////////////// + + void piston1steam() + { + sys.trigger ($piston_1_steamspeaker); + sys.trigger ($pm1_steam1); + sys.wait (1); + sys.trigger ($pm1_steam1); + } + + //////////////////////////////////////////////////// + // Caverns2 Piston machine2 sream + //////////////////////////////////////////////////// + + void piston2steam() + { + sys.trigger ($piston_2_steamspeaker); + sys.trigger ($pm2_steam1); + sys.wait (1); + sys.trigger ($pm2_steam1); + } + + //////////////////////////////////////////////////// + // Caverns2 Piston machine1 + //////////////////////////////////////////////////// + + void cavepiston1() + { + while(1){ + $cave_piston1.accelTime (.2); + $cave_piston1.decelTime (.2); + + $cave_piston1.time (6); + + sys.trigger ($cave_piston_1_speaker_start); + sys.trigger ($cave_piston_1_speaker_loop); // Turn loop on + + $cave_piston1.move (SOUTH,64); + sys.waitFor ($cave_piston1); + + sys.trigger ($cave_piston_1_speaker_loop); // Turn loop off + sys.trigger ($cave_piston_1_speaker_endclack); + + thread piston1steam(); + + sys.wait (0.75); + + $cave_piston1.time (.5); + sys.trigger ($cave_piston_1_speaker_back); + $cave_piston1.move (NORTH,64); + sys.wait (1.5); + } + } + + //////////////////////////////////////////////////// + // Caverns2 Piston machine2 + //////////////////////////////////////////////////// + + void cavepiston2() + { + while(1){ + $cave_piston2.accelTime (.2); + $cave_piston2.decelTime (.2); + + $cave_piston2.time (5.5); + + sys.trigger ($cave_piston_2_speaker_start); + sys.trigger ($cave_piston_2_speaker_loop); // Turn loop on + + $cave_piston2.move (SOUTH,64); + sys.waitFor ($cave_piston2); + + sys.trigger ($cave_piston_2_speaker_loop); // Turn loop off + sys.trigger ($cave_piston_2_speaker_endclack); + + thread piston2steam(); + + sys.wait (1); + + $cave_piston2.time (.5); + + sys.trigger ($cave_piston_2_speaker_back); + $cave_piston2.move (NORTH,64); + + + sys.wait (1.5); + } + } + //////////////////////////////////////////////////// + // + // Cave2 v81 rumble + // + //////////////////////////////////////////////////// + void cave2_v81_rumble() + { + $c2_v81.time (.1); + + while(1){ + $c2_v81.rotateOnce ( '2 0 0' ); + sys.waitFor ($c2_v81); + $c2_v81.rotateOnce ( '-2 0 0' ); + sys.waitFor ($c2_v81); + + } + } + + //////////////////////////////////////////////////// + // + // Cave2 v82 rumble + // + //////////////////////////////////////////////////// + void cave2_v82_rumble() + { + $c2_v82.time (.1); + + while(1){ + $c2_v82.rotateOnce ( '2 0 0' ); + sys.waitFor ($c2_v82); + $c2_v82.rotateOnce ( '-2 0 0' ); + sys.waitFor ($c2_v82); + + } + } + + //////////////////////////////////////////////////// + // + // Cave2 cave eggs + // + //////////////////////////////////////////////////// +// void cave_egg1_bob() +// { +// $cave_egg1.rotate ( '0 15 0' ); +// +// $cave_egg1.time (.5); +// $cave_egg1.accelTime (.25); +// $cave_egg1.decelTime (.25); +// +// while(1){ +// $cave_egg1.move ( DOWN, 2 ); +// sys.waitFor ($cave_egg1); +// $cave_egg1.move ( UP, 2 ); +// sys.waitFor ($cave_egg1); +// +// } +// } +// +// void cave_egg2_bob() +// { +// $cave_egg2.rotate ( '0 16 0' ); +// +// $cave_egg2.time (.8); +// $cave_egg2.accelTime (.25); +// $cave_egg2.decelTime (.25); +// +// while(1){ +// $cave_egg2.move ( DOWN, 2 ); +// sys.waitFor ($cave_egg2); +// $cave_egg2.move ( UP, 2 ); +// sys.waitFor ($cave_egg2); +// +// } +// } +// +// +// void cave_egg3_bob() +// { +// $cave_egg3.rotate ( '0 15 0' ); +// +// $cave_egg3.time (.6); +// $cave_egg3.accelTime (.25); +// $cave_egg3.decelTime (.25); +// +// while(1){ +// $cave_egg3.move ( DOWN, 2 ); +// sys.waitFor ($cave_egg3); +// $cave_egg3.move ( UP, 2 ); +// sys.waitFor ($cave_egg3); +// +// } +// } + + + + //////////////////////////////////////////////////// + // + // Cave2 shutter open close + // + //////////////////////////////////////////////////// + void cave2_shutter_openclose() + { + if (cave2_shutter_state==0){ + sys.trigger ($shutter_speaker); + sys.trigger ($cave2_shutter_door); + $cave2_shutter1.rotateOnce ( '0 0 -75' ); + $cave2_shutter2.rotateOnce ( '0 0 -75' ); + $cave2_shutter3.rotateOnce ( '0 0 -75' ); + sys.waitFor ($cave2_shutter1); + cave2_shutter_state = 1; + } else { + sys.trigger ($shutter_speaker); + sys.trigger ($cave2_shutter_door); + $cave2_shutter1.rotateOnce ( '0 0 75' ); + $cave2_shutter2.rotateOnce ( '0 0 75' ); + $cave2_shutter3.rotateOnce ( '0 0 75' ); + sys.waitFor ($cave2_shutter1); + cave2_shutter_state = 0; + } + } + + //////////////////////////////////////////////////// + // + // Cave2 ladder open close + // + //////////////////////////////////////////////////// + void cave2_ladder_openclose() + { + if (cave2_ladder_state==0){ + $cave2_dropladder.time (0.5); + sys.trigger ($cave2_ladder_door); + sys.trigger ($ladder_hinge_speaker); + $cave2_dropladder.rotateOnce ( '0 0 -90' ); + sys.waitFor ($cave2_dropladder); + $ladder_rotate_gui.setShaderParm ( 7 , 1 ); + cave2_ladder_state = 1; + } else { + sys.trigger ($cave2_ladder_door); + sys.trigger ($ladder_hinge_speaker); + $cave2_dropladder.time (0.5); + $cave2_dropladder.rotateOnce ( '0 0 90' ); + sys.waitFor ($cave2_dropladder); + $ladder_rotate_gui.setShaderParm ( 7 , 0 ); + cave2_ladder_state = 0; + } + } + + void crane_start_thread() { + sys.trigger ($crane_start_speaker); + sys.wait (1); + $crane_main_speaker.On(); + + } + + //////////////////////////////////////////////////// + // + // Crane Main Move Right + // + //////////////////////////////////////////////////// + void crane_main_right() + { + sys.killthread ( "map_caves2::crane_main_left" ); + sys.killthread ( "map_caves2::crane_carrier_forward" ); + sys.killthread ( "map_caves2::crane_carrier_back" ); + + //start the sound +// sys.trigger ($crane_start_speaker); +// $crane_main_speaker.On(); + + thread crane_start_thread(); + + while ( crane_main_state < 105 ) { + $crane_main.rotateOnce ( '0 -1 0' ); + sys.waitFor ($crane_main); + crane_main_state = crane_main_state + 1; + sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + sys.wait (.01); + } + sys.trigger ($crane_end_speaker); + //stop the sound + $crane_main_speaker.Off(); + } + + //////////////////////////////////////////////////// + // + // Crane Main Move Left + // + //////////////////////////////////////////////////// + void crane_main_left() + { + sys.killthread ( "map_caves2::crane_main_right" ); + sys.killthread ( "map_caves2::crane_carrier_forward" ); + sys.killthread ( "map_caves2::crane_carrier_back" ); + + //start the sound + //sys.trigger ($crane_start_speaker); + //$crane_main_speaker.On(); + + thread crane_start_thread(); + + while ( crane_main_state > 15 ) { + $crane_main.rotateOnce ( '0 1 0' ); + sys.waitFor ($crane_main); + crane_main_state = crane_main_state - 1; + sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + sys.wait (.01); + } + + //stop the sound + $crane_main_speaker.Off(); + sys.trigger ($crane_end_speaker); + } + + //////////////////////////////////////////////////// + // + // Crane Reset + // + //////////////////////////////////////////////////// + void crane_main_reset() + { + sys.killthread ( "map_caves2::crane_main_left" ); + sys.killthread ( "map_caves2::crane_main_right" ); + sys.killthread ( "map_caves2::crane_carrier_forward" ); + sys.killthread ( "map_caves2::crane_carrier_back" ); + + //start the sound + $crane_main_speaker.On(); + + if (crane_main_state > 15) { + while ( crane_main_state > 15 ) { + $crane_main.rotateOnce ( '0 1 0' ); + sys.waitFor ($crane_main); + crane_main_state = crane_main_state - 1; + sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + sys.wait (.01); + } + } else if (crane_main_state < 15) { + while ( crane_main_state < 15 ) { + $crane_main.rotateOnce ( '0 -1 0' ); + sys.waitFor ($crane_main); + crane_main_state = crane_main_state + 1; + sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + sys.wait (.01); + } + } + + //stop the sound + $crane_main_speaker.Off(); + } + + //////////////////////////////////////////////////// + // + // Crane Carrier Move Forward + // + //////////////////////////////////////////////////// + void crane_carrier_forward() + { + sys.killthread ( "map_caves2::crane_main_left" ); + sys.killthread ( "map_caves2::crane_main_right" ); + sys.killthread ( "map_caves2::crane_carrier_back" ); + + //start the sound + $crane_carrier_speaker.On(); + + while ( crane_carrier_state > 0 ) { + $crane_carrier.move ( FORWARD, -1 ); + sys.waitFor ($crane_carrier); + crane_carrier_state = crane_carrier_state - 1; + sys.print ("crane_carrier_state = " + (crane_carrier_state / 4) + " \n"); + $crane_main.setGuiParm ( "gui_parm3" , (crane_carrier_state / 4)); + sys.wait (.01); + } + + //stop the sound + $crane_carrier_speaker.Off(); + } + + //////////////////////////////////////////////////// + // + // Crane Carrier Move Back + // + //////////////////////////////////////////////////// + void crane_carrier_back() + { + sys.killthread ( "map_caves2::crane_main_left" ); + sys.killthread ( "map_caves2::crane_main_right" ); + sys.killthread ( "map_caves2::crane_carrier_foward" ); + + //start the sound + $crane_carrier_speaker.On(); + + while ( crane_carrier_state < 360 ) { + $crane_carrier.move ( FORWARD, 1 ); + sys.waitFor ($crane_carrier); + crane_carrier_state = crane_carrier_state + 1; + sys.print ("crane_carrier_state = " + (crane_carrier_state / 4) + " \n"); + $crane_main.setGuiParm ( "gui_parm3" , (crane_carrier_state / 4)); + sys.wait (.01); + } + + //stop the sound + $crane_carrier_speaker.Off(); + } + + //////////////////////////////////////////////////// + // + // Crane Carrier Load Move UP + // + //////////////////////////////////////////////////// + void crane_carrier_load_up() + { + sys.killthread ( "map_caves2::crane_main_left" ); + sys.killthread ( "map_caves2::crane_main_right" ); + sys.killthread ( "map_caves2::crane_carrier_foward" ); + sys.killthread ( "map_caves2::crane_carrier_back" ); + sys.killthread ( "map_caves2::crane_carrier_load_down" ); + + while ( crane_carrier_load_state < 72 ) { + $crane_carrier_load.move ( UP, 1 ); + sys.waitFor ($crane_carrier_load); + crane_carrier_load_state = crane_carrier_load_state + 1; + sys.print ("crane_carrier_load_state = " + crane_carrier_load_state + " \n"); + sys.wait (.01); + } + } + + //////////////////////////////////////////////////// + // + // Crane Carrier Load Move DOWN + // + //////////////////////////////////////////////////// + void crane_carrier_load_down() + { + sys.killthread ( "map_caves2::crane_main_left" ); + sys.killthread ( "map_caves2::crane_main_right" ); + sys.killthread ( "map_caves2::crane_carrier_foward" ); + sys.killthread ( "map_caves2::crane_carrier_back" ); + sys.killthread ( "map_caves2::crane_carrier_load_up" ); + + while ( crane_carrier_load_state > -176 ) { + $crane_carrier_load.move ( DOWN, 1 ); + sys.waitFor ($crane_carrier_load); + crane_carrier_load_state = crane_carrier_load_state - 1; + sys.print ("crane_carrier_load_state = " + crane_carrier_load_state + " \n"); + sys.wait (.01); + } + } + + //////////////////////////////////////////////////// + // + // stops all crane movement threads + // + //////////////////////////////////////////////////// + void crane_stop() + { + //turn off speakers + $crane_carrier_speaker.Off(); + $crane_main_speaker.Off(); + + sys.killthread ( "map_caves2::crane_main_right" ); + sys.killthread ( "map_caves2::crane_main_left" ); + sys.killthread ( "map_caves2::crane_carrier_forward" ); + sys.killthread ( "map_caves2::crane_carrier_back" ); + sys.killthread ( "map_caves2::crane_carrier_load_up" ); + sys.killthread ( "map_caves2::crane_carrier_load_down" ); + } + + + //////////////////////////////////////////////////// + // + // show crane_carrier_load + // + //////////////////////////////////////////////////// + void crane_load_show() + { + //show crane_load + $crane_carrier_load.show(); + } + + + //////////////////////////////////////////////////// + // + // move super_ladder up + // + //////////////////////////////////////////////////// + void super_ladder_move() + { + //move super_ladder up for keycard puzzle + sys.trigger ($super_ladder_speaker); + $super_ladder.time(6); + $super_ladder.move(UP,632); + } + + void stone_movement (entity ent, float fdirection, float fdistance, float ftime) { + ent.time (ftime); + ent.startSoundShader ("stone_movement_loop", SND_CHANNEL_VOICE); + ent.move (fdirection, fdistance); + + sys.wait (ftime - 0.25); + + ent.startSoundShader ( "stone_movement_end", SND_CHANNEL_VOICE2 ); + ent.stopSound ( SND_CHANNEL_VOICE, false ); + } + + //////////////////////////////////////////////////// + // + // Vag Stairs + // + //////////////////////////////////////////////////// + void raise_vag_stairs() + { + //raises stairs after vag fight + +/* float i; + entity ent; + + for (i=8; i<=128; i+=8) { + ent=sys.getEntity ("step" + i); + + thread stone_movement ( ent, UP, i, (i / 8) ); + } +*/ + thread stone_movement ($step1, UP, 8, 1); + thread stone_movement ($step2, UP, 16, 2); + thread stone_movement ($step3, UP, 24, 3); + thread stone_movement ($step4, UP, 32, 4); + thread stone_movement ($step5, UP, 40, 5); + thread stone_movement ($step6, UP, 48, 6); + thread stone_movement ($step7, UP, 56, 7); + thread stone_movement ($step8, UP, 64, 8); + thread stone_movement ($step9, UP, 72, 9); + thread stone_movement ($step10, UP, 80, 10); + thread stone_movement ($step11, UP, 88, 11); + thread stone_movement ($step12, UP, 96, 12); + thread stone_movement ($step13, UP, 104, 13); + thread stone_movement ($step14, UP, 112, 14); + thread stone_movement ($step15, UP, 120, 15); + thread stone_movement ($step16, UP, 128, 16); + +/* + $step1.time(1); + $step1.move(UP,8); + $step2.time(2); + $step2.move(UP,16); + $step3.time(3); + $step3.move(UP,24); + $step4.time(4); + $step4.move(UP,32); + $step5.time(5); + $step5.move(UP,40); + $step6.time(6); + $step6.move(UP,48); + $step7.time(7); + $step7.move(UP,56); + $step8.time(8); + $step8.move(UP,64); + $step9.time(9); + $step9.move(UP,72); + $step10.time(10); + $step10.move(UP,80); + $step11.time(11); + $step11.move(UP,88); + $step12.time(12); + $step12.move(UP,96); + $step13.time(13); + $step13.move(UP,104); + $step14.time(14); + $step14.move(UP,112); + $step15.time(15); + $step15.move(UP,120); + $step16.time(16); + $step16.move(UP,128); +*/ +} + + void cache_sounds() { + sys.cacheSoundShader ( "stone_movement_loop" ); + sys.cacheSoundShader ( "stone_movement_end" ); + } + + + //////////////////////////////////////////////////// + // + // Caverns 2 Main + // + //////////////////////////////////////////////////// + void main() + { + cache_sounds(); + setup_objects(); + //starts swinging lamp swinging + $swingding.sway( 28, 0, '20 0 0' ); +// thread big_broke(); + thread cavepiston1(); + thread cavepiston2(); + thread cave2_v81_rumble(); + thread cave2_v82_rumble(); +// thread cave_egg1_bob(); +// thread cave_egg2_bob(); +// thread cave_egg3_bob(); + + } + +}// namespace + + +//Fred's Bridge thing +// +//void hk_fireball( entity self ) { +// self.launchMissiles( "projectile_fireball_hellknight", "snd_fire", "rmissile", "target", 1, 0 ); +//} diff --git a/base/script/map_comm1.script b/base/script/map_comm1.script new file mode 100644 index 00000000..40e8596d --- /dev/null +++ b/base/script/map_comm1.script @@ -0,0 +1,1193 @@ +namespace map_comm1 { + float msg_state; + entity pipe1, pipe2, pipe3, pipe4, pipe5, pipe6, pipe0; + vector pipe_origin; + + void mover_startsound (entity ent) { + //ent.startSoundShader ("m1_start", SND_CHANNEL_VOICE); + //sys.wait (0.75); + ent.startSoundShader ("m1_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound (entity ent) { + ent.startSoundShader ("m1_stop", SND_CHANNEL_VOICE2); + ent.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_ITEM ); + } + + void mover_startsound2 (entity ent) { + //ent.startSoundShader ("m2_start", SND_CHANNEL_VOICE); + //sys.wait (0.75); + ent.startSoundShader ("m2_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound2 (entity ent) { + ent.startSoundShader ("m2_stop", SND_CHANNEL_VOICE2); + ent.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_ITEM ); + } + + void mover_startsound3 (entity ent) { + //ent.startSoundShader ("m3_start", SND_CHANNEL_VOICE); + //sys.wait (1); + ent.startSoundShader ("m3_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound3 (entity ent) { + ent.startSoundShader ("m3_stop", SND_CHANNEL_VOICE2); + ent.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_ITEM ); + } + + + + //////////////////////////////////////////////////// + // + // Setup binds and times etc... + // + //////////////////////////////////////////////////// + void setup_objects() + { + //power drill 1 and 2 binds and initial movements + $pwrdrill_1.bind ($pwrdrill_1_anchor); + $pwrdrill_2.bind ($pwrdrill_2_anchor); + + $pwrdrill_1_anchor.rotateOnce ( '0 0 -45' ); + $pwrdrill_2_anchor.rotateOnce ( '0 0 -45' ); + + sys.waitFor ($pwrdrill_1_anchor); + + $pwrdrill_1.time (.20); + $pwrdrill_1.time (.50); + + $pwrdrill_1.rotate ( '360 0 0' ); + $pwrdrill_2.rotate ( '360 0 0' ); + + //oval binds and times/speeds + $oval_spid_1.bind ($oval_main); + $oval_spid_2.bind ($oval_main); + + $oval_main.speed (300); + + $oval_main.decelTime (.5); + $oval_main.accelTime (.25); + + //snail 2 pole 1 binds and initial movements + $snl2_pl1_recep.bind ($snl2_pl1_anc); + $snl2_pl1.bind ($snl2_pl1_anc); + $snl2_pl1_spin_anc.bind ($snl2_pl1_anc); + + $snl2_pl1_spin.bind ($snl2_pl1_spin_anc); + + $snl2_pl1_spin_arm1.bind ($snl2_pl1_spin); + $snl2_pl1_spin_arm2.bind ($snl2_pl1_spin); + $snl2_pl1_spin_arm3.bind ($snl2_pl1_spin); + $snl2_pl1_spin_arm4.bind ($snl2_pl1_spin); + + $snl2_pl1_wire1.bind ($snl2_pl1_spin); + $snl2_pl1_wire2.bind ($snl2_pl1_spin); + $snl2_pl1_wire3.bind ($snl2_pl1_spin); + $snl2_pl1_wire4.bind ($snl2_pl1_spin); + + $snl2_pl1_spin.time (1); + + $snl2_pl1_spin_arm1.time (.6); + $snl2_pl1_spin_arm2.time (.6); + $snl2_pl1_spin_arm3.time (.6); + $snl2_pl1_spin_arm4.time (.6); + + //initial position movements + $snl2_pl1_anc.rotateOnce ( '67.5 0 0'); + sys.waitFor ($snl2_pl1_anc); + + $snl2_pl1.move ( DOWN, 192 ); + + //snail 2 pole 2 binds and initial movements + $snl2_pl2_recep.bind ($snl2_pl2_anc); + $snl2_pl2.bind ($snl2_pl2_anc); + $snl2_pl2_spin_anc.bind ($snl2_pl2_anc); + + $snl2_pl2_spin.bind ($snl2_pl2_spin_anc); + + $snl2_pl2_spin_arm1.bind ($snl2_pl2_spin); + $snl2_pl2_spin_arm2.bind ($snl2_pl2_spin); + $snl2_pl2_spin_arm3.bind ($snl2_pl2_spin); + $snl2_pl2_spin_arm4.bind ($snl2_pl2_spin); + + $snl2_pl2_wire1.bind ($snl2_pl2_spin); + $snl2_pl2_wire2.bind ($snl2_pl2_spin); + $snl2_pl2_wire3.bind ($snl2_pl2_spin); + $snl2_pl2_wire4.bind ($snl2_pl2_spin); + + $snl2_pl2_spin.time (1); + + $snl2_pl2_spin_arm1.time (.6); + $snl2_pl2_spin_arm2.time (.6); + $snl2_pl2_spin_arm3.time (.6); + $snl2_pl2_spin_arm4.time (.6); + + //initial position movements + $snl2_pl2_anc.rotateOnce ( '22.5 0 0'); + sys.waitFor ($snl2_pl2_anc); + + $snl2_pl2.move ( DOWN, 208 ); + + //snail 2 shell times and initial movements + $snl2_shell1.time (.25); + $snl2_shell2.time (.5); + $snl2_shell3.time (.75); + + //misc pipe hall initial movements, rotations etc... + $holder_1.rotateOnce ( '-45 0 0' ); + $holder_2.rotateOnce ( '-45 0 0' ); + $holder_3.rotateOnce ( '-45 0 0' ); + $holder_4.rotateOnce ( '-45 0 0' ); + $holder_5.rotateOnce ( '-45 0 0' ); + $holder_6.rotateOnce ( '-45 0 0' ); + + $mcarrier.rotateOnce ( '-45 0 0' ); + + $lcarrier.rotateOnce ( '-45 0 0' ); + $lcarrier.speed (100); + + //pipe hall pipe initial setups + pipe1 = sys.spawn( "func_mover" ); + pipe1.setModel( "pipe1" ); + pipe_origin = $pipe1pos_1.getOrigin(); + pipe1.setOrigin (pipe_origin); + pipe1.setAngles ( '-45 0 0' ); + + pipe2 = sys.spawn( "func_mover" ); + pipe2.setModel( "pipe2" ); + pipe_origin = $pipe2pos_1.getOrigin(); + pipe2.setOrigin (pipe_origin); + pipe2.setAngles ( '-45 0 0' ); + + pipe3 = sys.spawn( "func_mover" ); + pipe3.setModel( "pipe3" ); + pipe_origin = $pipe3pos_1.getOrigin(); + pipe3.setOrigin (pipe_origin); + pipe3.setAngles ( '-45 0 0' ); + + pipe4 = sys.spawn( "func_mover" ); + pipe4.setModel( "pipe4" ); + pipe_origin = $pipe4pos_1.getOrigin(); + pipe4.setOrigin (pipe_origin); + pipe4.setAngles ( '-45 0 0' ); + + pipe5 = sys.spawn( "func_mover" ); + pipe5.setModel( "pipe5" ); + pipe_origin = $pipe5pos_1.getOrigin(); + pipe5.setOrigin (pipe_origin); + pipe5.setAngles ( '-45 0 0' ); + + pipe6 = sys.spawn( "func_mover" ); + pipe6.setModel( "pipe6" ); + pipe_origin = $pipe6pos_1.getOrigin(); + pipe6.setOrigin (pipe_origin); + pipe6.setAngles ( '-45 0 0' ); + + } + + + + //////////////////////////////////////////////////// + // + // oval movement + // + //////////////////////////////////////////////////// + void oval_movement () + { + float pick, pick_old, oval_dist ; + $oval_main.setKey ("s_minDistance", "5"); + $oval_main.setKey ("s_maxDistance", "30"); + $oval_main.setKey ("s_unclamped", "1"); + $oval_main.setKey ("s_volume", "5"); + $oval_main.setKey ("snd_accel", "m5_start"); + $oval_main.setKey ("snd_move", "m4_loop"); + $oval_main.setKey ("snd_decel", "m4_stop"); + + pick = 1; + pick_old = 1; + + while (1) + { + while ( pick == pick_old ) + { + pick = ( sys.random(4) + 1 ); + + if ( pick < 2 ) + { + pick = 1; + } + else if ( pick < 3 ) + { + pick = 2; + } + else if ( pick < 4 ) + { + pick = 3; + } + else + { + pick = 4; + } + } + + oval_dist = (( pick_old - pick ) * 192 ); + $oval_main.move ( WEST, oval_dist ); + + sys.waitFor ($oval_main); + sys.wait (2); + + pick_old = pick; + } + + } + + void cache_sounds() { + sys.cacheSoundShader ("m1_loop"); + sys.cacheSoundShader ("m1_stop"); + sys.cacheSoundShader ("m2_loop"); + sys.cacheSoundShader ("m2_stop"); + sys.cacheSoundShader ("m3_loop"); + sys.cacheSoundShader ("m3_stop"); + sys.cacheSoundShader ("rec1_pump_endclack_01"); + + sys.cacheSoundShader ("c1_mcarrier"); + sys.cacheSoundShader ("c1_pipeupaway"); + sys.cacheSoundShader ("c1_pipedownbounce"); + sys.cacheSoundShader ("c1_pipeloader"); + sys.cacheSoundShader ("c1_pipeloader2"); + sys.cacheSoundShader ("c1_pipeloader3"); + sys.cacheSoundShader ("c1_mloop1"); + + + } + + //////////////////////////////////////////////////// + // + // move pipe up and away + // + //////////////////////////////////////////////////// + void pipe_upaway (entity pipeupaway) + { + pipeupaway.bind ($mcarrier); + + $mcarrier.startSoundShader ("c1_mcarrier", SND_CHANNEL_VOICE ); + + $mcarrier.moveTo ($mcarrierpos_2); + sys.waitFor ($mcarrier); + + pipeupaway.unbind (); + + $mcarrier.moveTo ($mcarrierpos_1); + pipeupaway.time (2); + pipeupaway.startSoundShader ("c1_pipeupaway", SND_CHANNEL_VOICE2 ); + pipeupaway.move ( UP , 128 ); + sys.waitFor (pipeupaway); + pipeupaway.remove (); + } + + + //////////////////////////////////////////////////// + // + // move pipe to middle + // + //////////////////////////////////////////////////// + void move_pipe (entity pipe, entity holder) + { + holder.speed (100); + + pipe.bind (holder); + holder.startSoundShader ("c1_pipeloader2", SND_CHANNEL_VOICE ); + holder.move ( REL_BACK, 24 ); + sys.waitFor (holder); + + pipe.unbind (); + pipe.bind ($lcarrier); + + holder.move ( REL_FORWARD, 24 ); + holder.startSoundShader ("c1_pipeloader3", SND_CHANNEL_VOICE2 ); + sys.waitFor (holder); + + holder.bind ($holder_rotate); + + $holder_rotate.rotateOnce ( '15 0 0' ); + + $lcarrier.setKey ("snd_move", "c1_mloop1" ); + $lcarrier.moveTo ($lcarrierpos_middle); + sys.waitFor ($lcarrier); + + $lcarrier.startSoundShader ("c1_pipeloader", SND_CHANNEL_VOICE); + $lcarrier.move ( REL_FORWARD, 50 ); + sys.waitFor ($lcarrier); + pipe.unbind (); + sys.wait (.5); + + $lcarrier.startSoundShader ("c1_pipeloader2", SND_CHANNEL_VOICE); + $lcarrier.move ( REL_BACK, 50 ); + sys.waitFor ($lcarrier); + + // thread pipe move up and away + sys.killthread ( "map_comtower::pipe_upaway" ); + thread pipe_upaway ( pipe ); + + } + + + //////////////////////////////////////////////////// + // + // test stuff eventually will be pipe mover loop + // + //////////////////////////////////////////////////// + void move_hallpipes() + { + float rand; + + while (1) + { + sys.killthread ("map_comtower::move_pipe"); + rand = sys.random (5); + + if ( rand < 1 ) + { + $lcarrier.moveTo ($lcarrierpos_1); + sys.waitFor ($lcarrier); + pipe0 = pipe1; + thread move_pipe (pipe0, $holder_1); + + sys.wait (2); + //move new pipe in + pipe1 = sys.spawn( "func_mover" ); + pipe1.setModel( "pipe1" ); + pipe_origin = $pipe1pos_initial.getOrigin(); + pipe1.setOrigin (pipe_origin); + pipe1.setAngles ( '-30 0 0' ); + + pipe1.moveTo ($pipe1pos_1); + sys.waitFor ( pipe1 ); + sys.wait (.5); + $holder_1.bind (pipe1); + $holder_1.startSoundShader ("c1_pipedownbounce", SND_CHANNEL_VOICE2 ); + + + pipe1.time (.5); + pipe1.rotateOnce ( '-15 0 0' ); + sys.waitFor ( pipe1 ); + + //bounce it + pipe1.time( .15 ); + pipe1.accelTime( 0 ); + pipe1.decelTime( .15 ); + pipe1.rotateOnce( '1 0 0' ); + sys.waitFor (pipe1); + + pipe1.time( .15 ); + pipe1.accelTime( .15 ); + pipe1.decelTime( 0 ); + pipe1.rotateOnce( '-1 0 0' ); + sys.waitFor (pipe1); + + $holder_1.unbind (); + + } + else if ( rand < 2 ) + { + $lcarrier.moveTo ($lcarrierpos_2); + sys.waitFor ($lcarrier); + pipe0 = pipe2; + thread move_pipe (pipe0, $holder_2); + + sys.wait (2); + //move new pipe in + pipe2 = sys.spawn( "func_mover" ); + pipe2.setModel( "pipe2" ); + pipe_origin = $pipe2pos_initial.getOrigin(); + pipe2.setOrigin (pipe_origin); + pipe2.setAngles ( '-30 0 0' ); + + pipe2.moveTo ($pipe2pos_1); + sys.waitFor ( pipe2 ); + sys.wait (.5); + $holder_2.bind (pipe2); + $holder_2.startSoundShader ("c1_pipedownbounce", SND_CHANNEL_VOICE2 ); + + pipe2.time (.5); + pipe2.rotateOnce ( '-15 0 0' ); + sys.waitFor ( pipe2 ); + + //bounce it + pipe2.time( .15 ); + pipe2.accelTime( 0 ); + pipe2.decelTime( .15 ); + pipe2.rotateOnce( '1 0 0' ); + sys.waitFor (pipe2); + + pipe2.time( .15 ); + pipe2.accelTime( .15 ); + pipe2.decelTime( 0 ); + pipe2.rotateOnce( '-1 0 0' ); + sys.waitFor (pipe2); + + $holder_2.unbind (); + } + else if ( rand < 3 ) + { + $lcarrier.moveTo ($lcarrierpos_3); + sys.waitFor ($lcarrier); + pipe0 = pipe3; + thread move_pipe (pipe0, $holder_3); + + sys.wait (2); + //move new pipe in + pipe3 = sys.spawn( "func_mover" ); + pipe3.setModel( "pipe3" ); + pipe_origin = $pipe3pos_initial.getOrigin(); + pipe3.setOrigin (pipe_origin); + pipe3.setAngles ( '-30 0 0' ); + + pipe3.moveTo ($pipe3pos_1); + sys.waitFor ( pipe3 ); + sys.wait (.5); + $holder_3.bind (pipe3); + $holder_3.startSoundShader ("c1_pipedownbounce", SND_CHANNEL_VOICE2 ); + + pipe3.time (.5); + pipe3.rotateOnce ( '-15 0 0' ); + sys.waitFor ( pipe3 ); + + //bounce it + pipe3.time( .15 ); + pipe3.accelTime( 0 ); + pipe3.decelTime( .15 ); + pipe3.rotateOnce( '1 0 0' ); + sys.waitFor (pipe3); + + pipe3.time( .15 ); + pipe3.accelTime( .15 ); + pipe3.decelTime( 0 ); + pipe3.rotateOnce( '-1 0 0' ); + sys.waitFor (pipe3); + + $holder_3.unbind (); + } + else if ( rand < 4 ) + { + $lcarrier.moveTo ($lcarrierpos_4); + sys.waitFor ($lcarrier); + pipe0 = pipe4; + thread move_pipe (pipe0, $holder_4); + + sys.wait (2); + //move new pipe in + pipe4 = sys.spawn( "func_mover" ); + pipe4.setModel( "pipe4" ); + pipe_origin = $pipe4pos_initial.getOrigin(); + pipe4.setOrigin (pipe_origin); + pipe4.setAngles ( '-30 0 0' ); + + pipe4.moveTo ($pipe4pos_1); + sys.waitFor ( pipe4 ); + sys.wait (.5); + $holder_4.bind (pipe4); + $holder_4.startSoundShader ("c1_pipedownbounce", SND_CHANNEL_VOICE2 ); + + pipe4.time (.5); + pipe4.rotateOnce ( '-15 0 0' ); + sys.waitFor ( pipe4 ); + + //bounce it + pipe4.time( .15 ); + pipe4.accelTime( 0 ); + pipe4.decelTime( .15 ); + pipe4.rotateOnce( '1 0 0' ); + sys.waitFor (pipe4); + + pipe4.time( .15 ); + pipe4.accelTime( .15 ); + pipe4.decelTime( 0 ); + pipe4.rotateOnce( '-1 0 0' ); + sys.waitFor (pipe4); + + $holder_4.unbind (); + } + else if ( rand < 5 ) + { + $lcarrier.moveTo ($lcarrierpos_5); + sys.waitFor ($lcarrier); + pipe0 = pipe5; + thread move_pipe (pipe0, $holder_5); + + sys.wait (2); + //move new pipe in + pipe5 = sys.spawn( "func_mover" ); + pipe5.setModel( "pipe5" ); + pipe_origin = $pipe5pos_initial.getOrigin(); + pipe5.setOrigin (pipe_origin); + pipe5.setAngles ( '-30 0 0' ); + + pipe5.moveTo ($pipe5pos_1); + sys.waitFor ( pipe5 ); + sys.wait (.5); + $holder_5.bind (pipe5); + $holder_5.startSoundShader ("c1_pipedownbounce", SND_CHANNEL_VOICE2 ); + + pipe5.time (.5); + pipe5.rotateOnce ( '-15 0 0' ); + sys.waitFor ( pipe5 ); + + //bounce it + pipe5.time( .15 ); + pipe5.accelTime( 0 ); + pipe5.decelTime( .15 ); + pipe5.rotateOnce( '1 0 0' ); + sys.waitFor (pipe5); + + pipe5.time( .15 ); + pipe5.accelTime( .15 ); + pipe5.decelTime( 0 ); + pipe5.rotateOnce( '-1 0 0' ); + sys.waitFor (pipe5); + + $holder_5.unbind (); + } + else + { + $lcarrier.moveTo ($lcarrierpos_6); + sys.waitFor ($lcarrier); + pipe0 = pipe6; + thread move_pipe (pipe0, $holder_6); + + sys.wait (2); + //move new pipe in + pipe6 = sys.spawn( "func_mover" ); + pipe6.setModel( "pipe6" ); + pipe_origin = $pipe6pos_initial.getOrigin(); + pipe6.setOrigin (pipe_origin); + pipe6.setAngles ( '-30 0 0' ); + + pipe6.moveTo ($pipe6pos_1); + sys.waitFor ( pipe6 ); + sys.wait (.5); + $holder_6.bind (pipe6); + $holder_6.startSoundShader ("c1_pipedownbounce", SND_CHANNEL_VOICE2 ); + + pipe6.time (.5); + pipe6.rotateOnce ( '-15 0 0' ); + sys.waitFor ( pipe6 ); + + //bounce it + pipe6.time( .15 ); + pipe6.accelTime( 0 ); + pipe6.decelTime( .15 ); + pipe6.rotateOnce( '1 0 0' ); + sys.waitFor (pipe6); + + pipe6.time( .15 ); + pipe6.accelTime( .15 ); + pipe6.decelTime( 0 ); + pipe6.rotateOnce( '-1 0 0' ); + sys.waitFor (pipe6); + + $holder_6.unbind (); + } + }//END WHILE + } + + + //////////////////////////////////////////////////// + // + // move snail 2 pole 1 things up + // + //////////////////////////////////////////////////// + void move_snail2_connect1_up() + { + $snl2_pl1.time (.5); + $snl2_pl1.move ( UP, 192 ); + //pole1 move sound .5sec + sys.trigger ($snail2_pole1_speaker); + sys.waitFor ($snl2_pl1); + + $snl2_pl1_spin_anc.move ( UP, 144 ); + $snl2_pl1_spin.rotateOnce ( '0 540 0' ); + + //pole1 guts moveup sound 1sec + sys.trigger ($snail2_pole1guts_up_speaker); + + sys.wait (.5); + $snl2_pl1_spin_arm1.rotateOnce ( '0 0 -180' ); + $snl2_pl1_spin_arm2.rotateOnce ( '0 0 -180' ); + $snl2_pl1_spin_arm3.rotateOnce ( '0 0 -180' ); + $snl2_pl1_spin_arm4.rotateOnce ( '0 0 -180' ); + + sys.waitFor ($snl2_pl1_spin_arm4); + } + + + //////////////////////////////////////////////////// + // + // move snail 2 pole 1 things down + // + //////////////////////////////////////////////////// + void move_snail2_connect1_down() + { + //pole1 guts movedown sound 1sec + sys.trigger ($snail2_pole1guts_down_speaker); + + $snl2_pl1_spin_anc.move ( DOWN, 144 ); + $snl2_pl1_spin.rotateOnce ( '0 -540 0' ); + + $snl2_pl1_spin_arm1.rotateOnce ( '0 0 180' ); + $snl2_pl1_spin_arm2.rotateOnce ( '0 0 180' ); + $snl2_pl1_spin_arm3.rotateOnce ( '0 0 180' ); + $snl2_pl1_spin_arm4.rotateOnce ( '0 0 180' ); + + sys.waitFor ($snl2_pl1_spin_anc); + + $snl2_pl1.time (.5); + $snl2_pl1.move ( DOWN, 192 ); + //pole1 move sound .5sec + sys.trigger ($snail2_pole1_speaker); + sys.waitFor ($snl2_pl1); + } + + + //////////////////////////////////////////////////// + // + // move snail 2 pole 2 things up + // + //////////////////////////////////////////////////// + void move_snail2_connect2_up() + { + $snl2_pl2.time (.5); + $snl2_pl2.move ( UP, 208 ); + //pole2 move sound .5sec + sys.trigger ($snail2_pole2_speaker); + sys.waitFor ($snl2_pl2); + + $snl2_pl2_spin_anc.move ( UP, 160 ); + $snl2_pl2_spin.rotateOnce ( '0 540 0' ); + + //pole2 guts moveup sound 1sec + sys.trigger ($snail2_pole2guts_up_speaker); + + sys.wait (.5); + $snl2_pl2_spin_arm1.rotateOnce ( '0 0 -180' ); + $snl2_pl2_spin_arm2.rotateOnce ( '0 0 -180' ); + $snl2_pl2_spin_arm3.rotateOnce ( '0 0 -180' ); + $snl2_pl2_spin_arm4.rotateOnce ( '0 0 -180' ); + + sys.waitFor ($snl2_pl2_spin_arm4); + } + + + //////////////////////////////////////////////////// + // + // move snail 2 pole 2 things down + // + //////////////////////////////////////////////////// + void move_snail2_connect2_down() + { + //pole2 guts movedown sound 1sec + sys.trigger ($snail2_pole2guts_down_speaker); + + $snl2_pl2_spin_anc.move ( DOWN, 160 ); + $snl2_pl2_spin.rotateOnce ( '0 -540 0' ); + + $snl2_pl2_spin_arm1.rotateOnce ( '0 0 180' ); + $snl2_pl2_spin_arm2.rotateOnce ( '0 0 180' ); + $snl2_pl2_spin_arm3.rotateOnce ( '0 0 180' ); + $snl2_pl2_spin_arm4.rotateOnce ( '0 0 180' ); + + sys.waitFor ($snl2_pl2_spin_anc); + + $snl2_pl2.time (.5); + $snl2_pl2.move ( DOWN, 208 ); + //pole2 move sound .5sec + sys.trigger ($snail2_pole2_speaker); + sys.waitFor ($snl2_pl2); + } + + + //////////////////////////////////////////////////// + // + // open shells for snail 2 + // + //////////////////////////////////////////////////// + void open_snail2_shells() + { + $snl2_shell3.rotateOnce ( '0 0 -135' ); + + sys.wait (.125); + $snl2_shell2.rotateOnce ( '0 0 -90' ); + + sys.wait (.125); + $snl2_shell1.rotateOnce ( '0 0 -45' ); + + sys.waitFor ($snl2_shell1); + sys.waitFor ($snl2_shell2); + sys.waitFor ($snl2_shell3); + } + + + //////////////////////////////////////////////////// + // + // close shells for snail 2 + // + //////////////////////////////////////////////////// + void close_snail2_shells() + { + $snl2_shell3.rotateOnce ( '0 0 135' ); + + sys.wait (.125); + $snl2_shell2.rotateOnce ( '0 0 90' ); + + sys.wait (.125); + $snl2_shell1.rotateOnce ( '0 0 45' ); + + sys.waitFor ($snl2_shell1); + sys.waitFor ($snl2_shell2); + sys.waitFor ($snl2_shell3); + } + + + + + //////////////////////////////////////////////////// + // + // Snail machine 2 LOOP + // + //////////////////////////////////////////////////// + void go_snail2() + { + float thread3, thread4; + + while (1) + { + thread3 = thread open_snail2_shells (); + //Shells opening sound 1sec + sys.trigger ($snail2_shells_open_speaker); + sys.waitForThread( thread3 ); + + thread3 = thread move_snail2_connect1_up (); + thread4 = thread move_snail2_connect2_up (); + sys.waitForThread( thread3 ); + sys.waitForThread( thread4 ); + + sys.wait(1); + + thread3 = thread move_snail2_connect1_down (); + thread4 = thread move_snail2_connect2_down (); + sys.waitForThread( thread3 ); + sys.waitForThread( thread4 ); + + thread3 = thread close_snail2_shells (); + //Shells closing sound 1sec + sys.trigger ($snail2_shells_close_speaker); + sys.waitForThread( thread3 ); + + sys.wait(1); + } + } + + + //////////////////////////////////////////////////// + // + // send msg + // + //////////////////////////////////////////////////// + void send_message () + { + if (msg_state != 99) + { + sys.trigger ($obj2); + sys.wait (2); + + sys.trigger ($obj3); + sys.wait (2); + + sys.trigger ($obj4); + + } + + else + { + sys.trigger ($obj5); + } + + msg_state = 99; + } + + + + //////////////////////////////////////////////////// + // + // Fluctuate the lobby lights + // + //////////////////////////////////////////////////// + void lobbylights_flux () + { + + } + + + void airlock_door1_close() { + sys.trigger ($speaker_airlock_door1_close); + $airlock_door1_left.rotateOnce ( '0 -45 0' ); + $airlock_door1_right.rotateOnce ( '0 45 0' ); + sys.waitFor ($airlock_door1_left); + + $airlock_door1_top_lock.move ( DOWN, 15 ); + sys.trigger ($speaker_airlock_door1_bottom_lock); + $airlock_door1_bottom_lock.move ( UP, 15 ); + sys.waitFor ($airlock_door1_bottom_lock); + + sys.trigger ($speaker_airlock_door1_left_lock); + $airlock_door1_left_lock.move ( SOUTH, 16 ); + sys.trigger ($speaker_airlock_door1_right_lock); + $airlock_door1_right_lock.move ( SOUTH, 16 ); + sys.waitFor ($airlock_door1_right_lock); + + } + + //////////////////////////////////////////////////// + // + // Open airlock door1 + // + //////////////////////////////////////////////////// + void airlock_door1_open() + { + //airlock door1 times + $airlock_door1_left.time (1.2); + $airlock_door1_right.time (1.2); + $airlock_door1_left.accelTime (.2); + $airlock_door1_left.decelTime (1); + $airlock_door1_right.accelTime (.2); + $airlock_door1_right.decelTime (1); + + $airlock_door1_top_lock.time (.25); + $airlock_door1_bottom_lock.time (.25); + + $airlock_door1_left_lock.time (.75); + $airlock_door1_right_lock.time (.75); + $airlock_door1_left_lock.accelTime (.1); + $airlock_door1_left_lock.decelTime (.65); + $airlock_door1_right_lock.accelTime (.1); + $airlock_door1_right_lock.decelTime (.65); + + //turn door1 and door2 light on + //turn door2 light on + thread crossFadeEnt ($door2_light, '0.37 0.05 0.01', '.84 .84 .9', 1); + + sys.wait(1); + + //move the 4 locks to unlock position + $airlock_door1_top_lock.move ( UP, 15 ); + sys.trigger ($speaker_airlock_door1_bottom_lock); + $airlock_door1_bottom_lock.move ( DOWN, 15 ); + sys.waitFor ($airlock_door1_bottom_lock); + + sys.trigger ($speaker_airlock_door1_left_lock); + $airlock_door1_left_lock.move ( NORTH, -16 ); + sys.trigger ($speaker_airlock_door1_right_lock); + $airlock_door1_right_lock.move ( NORTH, -16 ); + sys.waitFor ($airlock_door1_right_lock); + + //open doors + sys.trigger ($speaker_airlock_door1_open); + $airlock_door1_left.rotateOnce ( '0 45 0' ); + $airlock_door1_right.rotateOnce ( '0 -45 0' ); + + //trigger the portal + //sys.trigger ($airlock_door1_portal); + + sys.waitFor ($airlock_door1_right); + sys.waitFor ($airlock_door1_left); + } + + + //////////////////////////////////////////////////// + // + // rb_tube loop + // + //////////////////////////////////////////////////// + void rb_tube_loop() + { + while (1){ + thread crossFadeEnt ($rb_tube_1_light, '.38 .86 .82', '.85 0 0', 2); + thread crossFadeEnt ($rb_tube_1, '.38 .86 .82', '.85 0 0', 2); + thread crossFadeEnt ($rb_tube_2_light, '.38 .86 .82', '.85 0 0', 2); + thread crossFadeEnt ($rb_tube_2, '.38 .86 .82', '.85 0 0', 2); + + sys.wait (3); + + thread crossFadeEnt ($rb_tube_1_light, '.85 0 0', '.38 .86 .82', 2); + thread crossFadeEnt ($rb_tube_1, '.85 0 0', '.38 .86 .82', 2); + thread crossFadeEnt ($rb_tube_2_light, '.85 0 0', '.38 .86 .82', 2); + thread crossFadeEnt ($rb_tube_2, '.85 0 0', '.38 .86 .82', 2); + + sys.wait (3); + } + } + + + + //////////////////////////////////////////////////// + // + // senpist loops + // + //////////////////////////////////////////////////// + void senpist1_loop() + { + + + while (1){ + $poopist1.time (1.5); + + thread mover_startsound3 ($poopist1); + + $poopist1.move (DOWN, 48); + sys.waitFor ($poopist1); + + mover_stopsound2 ($poopist1); + + $poopist1.time (0.5); + + thread mover_startsound3 ($poopist1); + + $poopist1.move (UP, 48); + sys.waitFor ($poopist1); + + mover_stopsound3 ($poopist1); + } + } + + void senpist2_loop() + { + while (1){ + $peepist.time (1); + + thread mover_startsound ($peepist); + $peepist.move (DOWN, 48); + sys.waitFor ($peepist); + mover_stopsound ($peepist); + + $peepist.time (1.5); + + thread mover_startsound ($peepist); + $peepist.move (UP, 48); + sys.waitFor ($peepist); + mover_stopsound ($peepist); + } + } + + void senpist3_loop() + { + + + while (1){ + + $senpist3.time (1.5); + thread mover_startsound ($senpist3); + + $senpist3.move (DOWN, 48); + sys.waitFor ($senpist3); + + mover_stopsound2 ($senpist3); + + $senpist3.time (1); + + thread mover_startsound2 ($senpist3); + + $senpist3.move (UP, 48); + sys.waitFor ($senpist3); + + mover_stopsound ($senpist3); + } + } + + + + //////////////////////////////////////////////////// + // + // floor2 break + // + //////////////////////////////////////////////////// + void floor2_break() + { + $prebreak_main.hide(); + $prebreak_light1.hide(); + + $postbreak_spark.show(); + $postbreak_main.show(); + $postbreak_light1.show(); + $postbreak_clip.show(); + } + + + //////////////////////////////////////////////////// + // + // Corpse Move - quick move of deadbody + // + //////////////////////////////////////////////////// + void corpse_move() + { + $corpse_mover.time (.5); + $corpse_mover.accelTime (.5); + $corpse_mover.decelTime (0); + + $corpse_mover.move ( UP, 96 ); + sys.waitFor ($corpse_mover); + + $corpse.unbind(); + } + + //////////////////////////////////////////////////// + // + // Corpse Move - quick move of deadbody + // + //////////////////////////////////////////////////// + void corpse_move2() + { + $corpse_mover2.time (.8); + $corpse_mover2.accelTime (.8); + $corpse_mover2.decelTime (0); + + $corpse_mover2.moveTo ( $corpse_mover2_movepoint ); + sys.waitFor ($corpse_mover2); + + $light_5352.fadeOutLight(1.2); + + $corpse2.unbind(); + } + + + //////////////////////////////////////////////////// + // + // make sure the secret panel is open on way back through + // + //////////////////////////////////////////////////// + void open_secretpanel() + { + $skyway_secret_panel.open(); + } + + + //////////////////////////////////////////////////// + // + // door bang + // + //////////////////////////////////////////////////// + void door_bang () + { + $helldoor1_mover.time (.2); + $helldoor2_mover.time (.2); + + $helldoor1_mover.rotateOnce ( '0 2.5 0'); + $helldoor2_mover.rotateOnce ( '0 -2 0'); + sys.waitFor ($helldoor1_mover); + + //trigger speaker + sys.trigger ($helldoor_speaker); + sys.trigger ($door_bang_influence); + + $helldoor1_mover.rotateOnce ( '0 -2.5 0'); + $helldoor2_mover.rotateOnce ( '0 2 0'); + sys.waitFor ($helldoor1_mover); + + //Again + sys.wait (.5); + + $helldoor1_mover.rotateOnce ( '0 2.5 0'); + $helldoor2_mover.rotateOnce ( '0 -2 0'); + sys.waitFor ($helldoor1_mover); + + //trigger speaker + sys.trigger ($helldoor_speaker); + sys.trigger ($door_bang_influence); + + $helldoor1_mover.rotateOnce ( '0 -2.5 0'); + $helldoor2_mover.rotateOnce ( '0 2 0'); + sys.waitFor ($helldoor1_mover); + + //And again + sys.wait (.2); + + $helldoor1_mover.rotateOnce ( '0 2.5 0'); + $helldoor2_mover.rotateOnce ( '0 -2 0'); + sys.waitFor ($helldoor1_mover); + + //trigger speaker + sys.trigger ( $helldoor_speaker ); + sys.trigger ( $door_bang_influence ); + + $helldoor1_mover.rotateOnce ( '0 -2.5 0'); + $helldoor2_mover.rotateOnce ( '0 2 0'); + sys.waitFor ($helldoor1_mover); + + //trigger zsec shield guy + sys.trigger ( $monster_zsec_shield_4 ); + } + + + //////////////////////////////////////////////////// + // + // machine fall over + // + //////////////////////////////////////////////////// + void machine_fall () + { + $machine_fall_mover.time (.8); + $machine_fall_mover.accelTime (.8); + $machine_fall_mover.decelTime (0); + + //trigger sound for falling + sys.trigger ( $speaker_machine_fall_attention ); + //machine falls + $machine_fall_mover.rotateOnce ( '-90 -15 0' ); + sys.waitFor ( $machine_fall_mover ); + + //trigger sound + sys.trigger ( $speaker_machine_fall ); + + //trigger particles + + //wait then trigger sound + sys.wait (.5); + sys.trigger ($speaker_machine_fall_creepy); + sys.trigger ($target_setinfluence_16); + sys.wait (.5); + + //call corpse mover + map_comm1::corpse_move2(); + + } + + + void close_swanncampdoor () + { + $func_door_1670.open (); + } + + + + //////////////////////////////////////////////////// + // + // MAIN + // + //////////////////////////////////////////////////// + void main () + { + + thread cache_sounds(); + + thread rb_tube_loop(); + setup_objects (); + thread oval_movement (); + + sys.wait (2); + thread move_hallpipes (); + thread go_snail2 (); + thread senpist1_loop (); + thread senpist2_loop (); + thread senpist3_loop (); + } +} \ No newline at end of file diff --git a/base/script/map_commoutside.script b/base/script/map_commoutside.script new file mode 100644 index 00000000..3194b25e --- /dev/null +++ b/base/script/map_commoutside.script @@ -0,0 +1,871 @@ +namespace map_commoutside { + + //////////////////////////////////////////////////// + // + // Setup binds and times etc... + // + //////////////////////////////////////////////////// + void setup_objects() + { + //set airlock door guis initial states to 1 + $airlock1_door2_gui.setGuiParm ( "gui_parm1" , 1); + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 1); + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 1); + $airlock3_door1_gui.setGuiParm ( "gui_parm1" , 1); + $airlock3_door2_gui.setGuiParm ( "gui_parm1" , 1); + $airlock4_door1_gui.setGuiParm ( "gui_parm1" , 1); + + //airlock1 times + $airlock1_door1_left.time (1.2); + $airlock1_door1_right.time (1.2); + $airlock1_door1_left.accelTime (.2); + $airlock1_door1_left.decelTime (1); + $airlock1_door1_right.accelTime (.2); + $airlock1_door1_right.decelTime (1); + + $airlock1_door1_top_lock.time (.25); + $airlock1_door1_bottom_lock.time (.25); + + $airlock1_door1_left_lock.time (.75); + $airlock1_door1_right_lock.time (.75); + $airlock1_door1_left_lock.accelTime (.1); + $airlock1_door1_left_lock.decelTime (.65); + $airlock1_door1_right_lock.accelTime (.1); + $airlock1_door1_right_lock.decelTime (.65); + + $airlock1_door2_left.time (1.2); + $airlock1_door2_right.time (1.2); + $airlock1_door2_left.accelTime (.2); + $airlock1_door2_left.decelTime (1); + $airlock1_door2_right.accelTime (.2); + $airlock1_door2_right.decelTime (1); + + $airlock1_door2_top_lock.time (.25); + $airlock1_door2_bottom_lock.time (.25); + + $airlock1_door2_left_lock.time (.75); + $airlock1_door2_right_lock.time (.75); + $airlock1_door2_left_lock.accelTime (.1); + $airlock1_door2_left_lock.decelTime (.65); + $airlock1_door2_right_lock.accelTime (.1); + $airlock1_door2_right_lock.decelTime (.65); + + //airlock2 times + $airlock2_door1_left.time (1.2); + $airlock2_door1_right.time (1.2); + $airlock2_door1_left.accelTime (.2); + $airlock2_door1_left.decelTime (1); + $airlock2_door1_right.accelTime (.2); + $airlock2_door1_right.decelTime (1); + + $airlock2_door1_top_lock.time (.25); + $airlock2_door1_bottom_lock.time (.25); + + $airlock2_door1_left_lock.time (.75); + $airlock2_door1_right_lock.time (.75); + $airlock2_door1_left_lock.accelTime (.1); + $airlock2_door1_left_lock.decelTime (.65); + $airlock2_door1_right_lock.accelTime (.1); + $airlock2_door1_right_lock.decelTime (.65); + + $airlock2_door2_left.time (1.2); + $airlock2_door2_right.time (1.2); + $airlock2_door2_left.accelTime (.2); + $airlock2_door2_left.decelTime (1); + $airlock2_door2_right.accelTime (.2); + $airlock2_door2_right.decelTime (1); + + $airlock2_door2_top_lock.time (.25); + $airlock2_door2_bottom_lock.time (.25); + + $airlock2_door2_left_lock.time (.75); + $airlock2_door2_right_lock.time (.75); + $airlock2_door2_left_lock.accelTime (.1); + $airlock2_door2_left_lock.decelTime (.65); + $airlock2_door2_right_lock.accelTime (.1); + $airlock2_door2_right_lock.decelTime (.65); + + //airlock3 times + $airlock3_door1_left.time (1.2); + $airlock3_door1_right.time (1.2); + $airlock3_door1_left.accelTime (.2); + $airlock3_door1_left.decelTime (1); + $airlock3_door1_right.accelTime (.2); + $airlock3_door1_right.decelTime (1); + + $airlock3_door1_top_lock.time (.25); + $airlock3_door1_bottom_lock.time (.25); + + $airlock3_door1_left_lock.time (.75); + $airlock3_door1_right_lock.time (.75); + $airlock3_door1_left_lock.accelTime (.1); + $airlock3_door1_left_lock.decelTime (.65); + $airlock3_door1_right_lock.accelTime (.1); + $airlock3_door1_right_lock.decelTime (.65); + + $airlock3_door2_left.time (1.2); + $airlock3_door2_right.time (1.2); + $airlock3_door2_left.accelTime (.2); + $airlock3_door2_left.decelTime (1); + $airlock3_door2_right.accelTime (.2); + $airlock3_door2_right.decelTime (1); + + $airlock3_door2_top_lock.time (.25); + $airlock3_door2_bottom_lock.time (.25); + + $airlock3_door2_left_lock.time (.75); + $airlock3_door2_right_lock.time (.75); + $airlock3_door2_left_lock.accelTime (.1); + $airlock3_door2_left_lock.decelTime (.65); + $airlock3_door2_right_lock.accelTime (.1); + $airlock3_door2_right_lock.decelTime (.65); + + //airlock4 times + $airlock4_door1_left.time (1.2); + $airlock4_door1_right.time (1.2); + $airlock4_door1_left.accelTime (.2); + $airlock4_door1_left.decelTime (1); + $airlock4_door1_right.accelTime (.2); + $airlock4_door1_right.decelTime (1); + + $airlock4_door1_top_lock.time (.25); + $airlock4_door1_bottom_lock.time (.25); + + $airlock4_door1_left_lock.time (.75); + $airlock4_door1_right_lock.time (.75); + $airlock4_door1_left_lock.accelTime (.1); + $airlock4_door1_left_lock.decelTime (.65); + $airlock4_door1_right_lock.accelTime (.1); + $airlock4_door1_right_lock.decelTime (.65); + + //goofy arm binds + $goofyarm_4.bind ($goofyarm_3); + $goofyarm_3.bind ($goofyarm_2); + $goofyarm_2.bind ($goofyarm_1); + + $goofyarm_1.time (.5); + $goofyarm_2.time (.5); + $goofyarm_3.time (.5); + $goofyarm_4.time (.5); + + $goofy_light_1.setColor( .62, .62, .72); + $goofy_light_2.setColor( .62, .62, .72); + + $goofy_flare_1.setColor( .62, .62, .72); + $goofy_flare_2.setColor( .62, .62, .72); + } + + //////////////////////////////////////////////////// + // + // goofy arm ambient movement + // + //////////////////////////////////////////////////// + void goofyarm_move () + { + while (1){ + $goofyarm_1.startSoundShader ("co_05s_machinery_01", SND_CHANNEL_VOICE ); + $goofyarm_1.rotateOnce ( '0 -35 0' ); + $goofyarm_2.rotateOnce ( '0 20 0' ); + $goofyarm_3.rotateOnce ( '0 15 0' ); + sys.wait (2); + + $goofyarm_1.startSoundShader ("co_goofy_updown", SND_CHANNEL_VOICE ); + $goofyarm_1.move ( DOWN, 32 ); + sys.waitFor ($goofyarm_1); + + $goofyarm_1.startSoundShader ("co_05s_machinery_01", SND_CHANNEL_VOICE ); + $goofyarm_1.rotateOnce ( '0 35 0' ); + $goofyarm_2.rotateOnce ( '0 -20 0' ); + $goofyarm_3.rotateOnce ( '0 -15 0' ); + sys.waitFor ($goofyarm_1); + + $goofy_light_1.startSoundShader ("al4_welding_2s", SND_CHANNEL_VOICE ); + $goofy_light_1.setColor( .86, .86, 1 ); + $goofy_flare_1.setColor( .86, .86, 1 ); + sys.wait (2); + + thread crossFadeEnt ($goofy_light_1, '.86 .86 1', '.3 .3 .5', 2); + thread crossFadeEnt ($goofy_flare_1, '.86 .86 1', '.3 .3 .5', 2); + + $goofyarm_1.startSoundShader ("co_05s_machinery_01", SND_CHANNEL_VOICE ); + $goofyarm_1.rotateOnce ( '0 -35 0' ); + $goofyarm_2.rotateOnce ( '0 20 0' ); + $goofyarm_3.rotateOnce ( '0 15 0' ); + sys.wait (2); + + $goofyarm_1.startSoundShader ("co_goofy_updown", SND_CHANNEL_VOICE ); + $goofyarm_1.move ( UP, 32 ); + sys.waitFor ($goofyarm_1); + + $goofyarm_1.startSoundShader ("co_05s_machinery_01", SND_CHANNEL_VOICE ); + $goofyarm_1.rotateOnce ( '0 35 0' ); + $goofyarm_2.rotateOnce ( '0 -20 0' ); + $goofyarm_3.rotateOnce ( '0 -15 0' ); + sys.waitFor ($goofyarm_1); + + $goofy_light_2.startSoundShader ("al4_welding_2s", SND_CHANNEL_VOICE ); + $goofy_light_2.setColor( .86, .86, 1 ); + $goofy_flare_2.setColor( .86, .86, 1 ); + sys.wait (2); + + thread crossFadeEnt ($goofy_light_2, '.86 .86 1', '.3 .3 .5', 2); + thread crossFadeEnt ($goofy_flare_2, '.86 .86 1', '.3 .3 .5', 2); + + } + } + + + + //////////////////////////////////////////////////// + // + // grate light mover + // + //////////////////////////////////////////////////// + void gratelight_move () + { + $gratelight_mover.time ( 1 ); + $gratelight_mover.accelTime ( .25 ); + $gratelight_mover.decelTime ( .25 ); + + float ran1; + + while (1) //begin main while + { + ran1=sys.random(3); + + if (ran1<1){ + $gratelight_mover.moveTo ($gratelightpoint_1); + sys.waitFor ($gratelight_mover); + } else if (ran1<2) { + $gratelight_mover.moveTo ($gratelightpoint_2); + sys.waitFor ($gratelight_mover); + } else { + $gratelight_mover.moveTo ($gratelightpoint_3); + sys.waitFor ($gratelight_mover); + } + + } //end main while + } + + + + //////////////////////////////////////////////////// + // + // helldoor random movement + // + //////////////////////////////////////////////////// + void helldoor_movement () + { + float ran1, ran2, ran3; + + $helldoor1_mover.time (.2); + $helldoor2_mover.time (.2); + + //shake the scary_door in a loop - TEMP + while (1) { + ran3 = ( sys.random(2.5) + 2 ); + sys.wait (ran3); + + $helldoor1_mover.rotateOnce ( '0 2.5 0'); + $helldoor2_mover.rotateOnce ( '0 -2 0'); + sys.waitFor ($helldoor1_mover); + + //trigger speaker + sys.trigger ($helldoor_speaker); + sys.trigger ($helldoor1_bang_influence); + + $helldoor1_mover.rotateOnce ( '0 -2.5 0'); + $helldoor2_mover.rotateOnce ( '0 2 0'); + sys.waitFor ($helldoor1_mover); + + ran2=sys.random(.12) + .1; + $helldoor1_mover.time (ran2); + $helldoor2_mover.time (ran2); + } + } + + + //////////////////////////////////////////////////// + // + // stop helldoor + // + //////////////////////////////////////////////////// + void stop_helldoor () + { + sys.killthread ("map_commoutside::helldoor_movement"); + sys.trigger ($func_door_14); + sys.trigger ($helldoor_splat1); + sys.trigger ($helldoor_splat2); + sys.trigger ($helldoor_splat3); + sys.trigger ($helldoor_scream); + + sys.wait (2); + sys.trigger ($func_forcefield_2); + sys.trigger ($func_door_14); + } + + + + //////////////////////////////////////////////////// + // + // underlift movedown + // + //////////////////////////////////////////////////// + void underlift_movedown () + { + //move the lift to underlift_pos_mid + $underlift.time ( 3 ); + $underlift.accelTime ( .5 ); + $underlift.decelTime ( .25 ); + + $underlift.startSoundShader ("co_lift_down_3s", SND_CHANNEL_VOICE ); // SOUND + + $underlift.moveTo ($underlift_pos_mid); + sys.waitFor ($underlift); + + //open underlift_doors_bottom + $underlift_doors_bottom.open(); + sys.waitFor ($underlift_doors_bottom); + + //move the lift to underlift_pos_top + $underlift.startSoundShader ("co_lift_down_3s", SND_CHANNEL_VOICE ); // SOUND + $underlift.moveTo ($underlift_pos_bottom); + sys.waitFor ($underlift); + + //close underlift_doors_bottom + $underlift_doors_bottom.close(); + sys.waitFor ($underlift_doors_bottom); + } + + + + //////////////////////////////////////////////////// + // + // underlift moveup + // + //////////////////////////////////////////////////// + void underlift_moveup () + { + //open underlift_doors_bottom + $underlift_doors_bottom.open(); + sys.waitFor ($underlift_doors_bottom); + + //move the lift to underlift_pos_mid + $underlift.time ( 3 ); + $underlift.accelTime ( .5 ); + $underlift.decelTime ( .25 ); + + $underlift.startSoundShader ("co_lift_up_3s", SND_CHANNEL_VOICE ); // SOUND + $underlift.moveTo ($underlift_pos_mid); + sys.waitFor ($underlift); + + //close underlift_doors_bottom + $underlift_doors_bottom.close(); + sys.waitFor ($underlift_doors_bottom); + + //open underlift_doors_top + $underlift_doors_top.open(); + sys.waitFor ($underlift_doors_top); + + //move the lift to underlift_pos_top + $underlift.startSoundShader ("co_lift_up_3s", SND_CHANNEL_VOICE ); // SOUND + $underlift.moveTo ($underlift_pos_top); + sys.waitFor ($underlift); + + //close the underlift_doors_top + $underlift_doors_top.close(); + sys.waitFor ($underlift_doors_top); + + //trigger the gui button + sys.trigger ($airlock_lift_calldown_button); + } + + + + + //////////////////////////////////////////////////// + // + // Open airlock door + // + //////////////////////////////////////////////////// + + void airlock_door_open( float airlock, float doornum ) + { + entity ent; + entity entdoorr, entdoorl; + entity speaker; + string door1; + string door2; + float portalstate; + float movedist; + + if ( doornum == 2 ) { + door1 = "airlock" + airlock + "_door2"; + door2 = "airlock" + airlock + "_door1"; + portalstate = 2; + movedist = -16; + } else { + door1 = "airlock" + airlock + "_door1"; + door2 = "airlock" + airlock + "_door2"; + portalstate = 1; + movedist = 16; + } + + //turn door1 light on and door2 light off + ent=sys.getEntity ( door2 + "_light" ); + thread crossFadeEnt (ent, '.84 .84 .9', '0.37 0.05 0.01', 1); + + sys.wait(1); + + ent=sys.getEntity ( door1 + "_light" ); + thread crossFadeEnt (ent, '0.37 0.05 0.01', '.84 .84 .9', 1); + + //move the 4 locks to unlock position + ent=sys.getEntity ( door1 + "_top_lock" ); + ent.time (0.25); + ent.move ( UP, 15 ); + + speaker=sys.getEntity ("speaker_" + door1 + "_bottom_lock" ); + sys.trigger (speaker); + + ent=sys.getEntity ( door1 + "_bottom_lock" ); + ent.time (0.25); + ent.move ( DOWN, 15 ); + + sys.waitFor (ent); + + speaker=sys.getEntity ("speaker_" + door1 + "_left_lock" ); + sys.trigger (speaker); + + ent=sys.getEntity ( door1 + "_left_lock" ); + ent.time (0.75); + ent.move ( EAST, movedist ); + + speaker=sys.getEntity ("speaker_" + door1 + "_right_lock" ); + sys.trigger (speaker); + + ent=sys.getEntity ( door1 + "_right_lock" ); + ent.time (0.75); + ent.move ( EAST, movedist ); + + sys.waitFor (ent); + + //open doors + speaker=sys.getEntity ( "speaker_" + door1 + "_open"); + sys.trigger (speaker); + + entdoorl=sys.getEntity ( door1 + "_left" ); + entdoorl.time (1.2); + entdoorl.rotateOnce ( '0 45 0' ); + + entdoorr=sys.getEntity ( door1 + "_right" ); + entdoorr.time (1.2); + entdoorr.rotateOnce ( '0 -45 0' ); + + //trigger the portal + ent=sys.getEntity (door1 + "_portal" ); + sys.trigger (ent); + + sys.waitFor (entdoorr); + sys.waitFor (entdoorl); + + //set airlock state + ent=sys.getEntity ("airlock" + airlock + "_door1_portal" ); + ent.setKey ("state", portalstate ); + + } + + + //////////////////////////////////////////////////// + // + // Close airlock door + // + //////////////////////////////////////////////////// + void airlock_door_close(float airlock, float doornum ) + { + entity ent; + entity entdoorr, entdoorl; + entity speaker; + string door; + float movedist; + + if ( doornum == 2 ) { + door = "airlock" + airlock + "_door2"; + movedist = 16; + } else { + door = "airlock" + airlock + "_door1"; + movedist = -16; + } + + //close doors + + speaker= sys.getEntity ("speaker_" + door + "_close"); + sys.trigger (speaker); + + entdoorl=sys.getEntity ( door + "_left" ); + entdoorl.time (1.2); + entdoorl.rotateOnce ( '0 -45 0' ); + + entdoorr=sys.getEntity ( door + "_right" ); + entdoorr.time (1.2); + entdoorr.rotateOnce ( '0 45 0' ); + + sys.waitFor (entdoorr); + sys.waitFor (entdoorl); + + //trigger the portal + ent=sys.getEntity ( door + "_portal" ); + sys.trigger (ent); + + //move the 4 locks to unlock position + ent=sys.getEntity ( door + "_top_lock" ); + ent.time (0.25); + ent.move ( DOWN, 15 ); + + speaker=sys.getEntity ("speaker_" + door + "_bottom_lock"); + sys.trigger (speaker); + + ent=sys.getEntity ( door + "_bottom_lock" ); + ent.time (0.25); + ent.move ( UP, 15 ); + + speaker=sys.getEntity ("speaker_" + door + "_left_lock" ); + sys.trigger (speaker); + + ent=sys.getEntity ( door + "_left_lock" ); + ent.time (0.75); + ent.move ( EAST, movedist ); + + speaker=sys.getEntity ("speaker_" + door + "_right_lock" ); + sys.trigger (speaker); + + ent=sys.getEntity ( door + "_right_lock" ); + ent.time (0.75); + ent.move ( EAST, movedist ); + + sys.waitFor (ent); + +} + + + //////////////////////////////////////////////////// + // + // Main Activate airlock + // conditionally chooses based on entrance + // + //////////////////////////////////////////////////// + void airlock_main_activate(float airlock) + { + entity ent; + + //check to see which way the palyer entered by checking the airlock_state + //if 1 then close 1 and open 2 + + ent=sys.getEntity ("airlock" + airlock + "_door1_portal" ); + + if (ent.getFloatKey ("state")==1) { + airlock_door_close( airlock, 1 ); + airlock_door_open( airlock, 2 ); + + } else { //else close 2 and open 1 + airlock_door_close( airlock, 2 ); + airlock_door_open( airlock, 1 ); + } + } + + + //////////////////////////////////////////////////// + // + // AIRLOCK main activation + // + //////////////////////////////////////////////////// + void airlock2_activate() + { + //disable the guis on the doors + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 0); + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 0); + $airlock2_innerguiholder.setGuiParm ( "gui_parm11" , 0); + + airlock_main_activate(2); + + //check the airlock state and enable the guis on the closed door + if ($airlock2_door1_portal.getFloatKey ("state")==1) { + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 1); + } else { //else close 2 and open 1 + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 1); + } + + $airlock2_innerguiholder.setGuiParm ( "gui_parm11" , 1); + } + + void airlock3_activate() + { + //disable the guis on the doors + $airlock3_door1_gui.setGuiParm ( "gui_parm1" , 0); + $airlock3_door2_gui.setGuiParm ( "gui_parm1" , 0); + $airlock3_innerguiholder.setGuiParm ( "gui_parm11" , 0); + + airlock_main_activate(3); + + //check the airlock state and enable the guis on the closed door + if ($airlock3_door1_portal.getFloatKey ("state")==1) { + $airlock3_door2_gui.setGuiParm ( "gui_parm1" , 1); + } else { //else close 2 and open 1 + $airlock3_door1_gui.setGuiParm ( "gui_parm1" , 1); + } + + $airlock3_innerguiholder.setGuiParm ( "gui_parm11" , 1); + } + + + //////////////////////////////////////////////////// + // + // AIRLOCK doors opening + // + //////////////////////////////////////////////////// + void airlock2_door1_open() + { + airlock_door_open(2, 1); + } + + void airlock2_door2_open() + { + airlock_door_open(2, 2); + } + + void airlock3_door1_open() + { + airlock_door_open(3, 1); + } + + void airlock3_door2_open() + { + airlock_door_open(3, 2); + } + + void airlock4_door1_open() + { + $airlock4_door1_gui.setGuiParm ( "gui_parm1" , 0); + airlock_door_open(4, 1); + } + + + //exits map + void airlock_exit() + { + sys.trigger ($end_level); + + float thread1; + + thread1 = thread airlock_door_close(4, 1); + sys.waitForThread( thread1 ); + + //turn doora light off + thread crossFadeEnt ($airlock4_door1_light, '.84 .84 .9', '0.37 0.05 0.01', 1); + sys.wait(1); + + sys.trigger ($end_level); + } + + + //////////////////////////////////////////////////// + // + // initial AIRLOCK doors opening + // start of map + // + //////////////////////////////////////////////////// + void initial_airlock_open() + { + //turn door2 light on + thread crossFadeEnt ($airlock1_door2_light, '0.37 0.05 0.01', '.84 .84 .9', 1); + + //move the 4 locks to unlock position + $airlock1_door2_top_lock.move ( UP, 15 ); + $airlock1_door2_bottom_lock.move ( DOWN, 15 ); + + sys.trigger ($speaker_airlock1_door2_bottom_lock); // SOUND + + sys.waitFor ($airlock1_door2_bottom_lock); + + sys.trigger ($speaker_airlock1_door2_left_lock); + $airlock1_door2_left_lock.move ( EAST, -16 ); + + sys.trigger ($speaker_airlock1_door2_right_lock); + $airlock1_door2_right_lock.move ( EAST, -16 ); + sys.waitFor ($airlock1_door2_right_lock); + + //open doors + sys.trigger ($speaker_airlock1_door2_open); // SOUND + + $airlock1_door2_left.rotateOnce ( '0 45 0' ); + $airlock1_door2_right.rotateOnce ( '0 -45 0' ); + + //trigger the portal + sys.trigger ($airlock1_door2_portal); + + sys.waitFor ($airlock1_door2_left); + sys.waitFor ($airlock1_door2_right); + } + + + + //////////////////////////////////////////////////// + // + // co_drop_floor + // + //////////////////////////////////////////////////// + void co_drop_floor_down () + { + $co_drop_floor.time(.5); + $co_drop_floor.accelTime(.5); + //$co_drop_floor.decelTime(0); + + //trigger the weird sound + //sys.trigger($co_drop_floor_weird_speaker); + + sys.trigger ($co_floordrop_01); + sys.trigger ($co_floordrop_02); + + //move drop_floor down + $co_drop_floor.move (DOWN, 128); + } + + void co_drop_floor_end () + { + $co_drop_step_1.time(1); + $co_drop_step_1.accelTime(.2); + $co_drop_step_1.decelTime(.2); + + $co_drop_step_2.time(1); + $co_drop_step_2.accelTime(.2); + $co_drop_step_2.decelTime(.2); + + $co_drop_step_3.time(1); + $co_drop_step_3.accelTime(.2); + $co_drop_step_3.decelTime(.2); + + //move steps out + $co_drop_step_3.startSoundShader ("co_step_out", SND_CHANNEL_VOICE ); + $co_drop_step_3.move (WEST, 112); + sys.waitFor ($co_drop_step_3); + + sys.wait (0.5); + + $co_drop_step_2.startSoundShader ("co_step_out", SND_CHANNEL_VOICE ); + $co_drop_step_2.move (WEST, 80); + sys.waitFor ($co_drop_step_2); + + sys.wait (0.5); + + $co_drop_step_1.startSoundShader ("co_step_out", SND_CHANNEL_VOICE ); + $co_drop_step_1.move (WEST, 48); + } + + + //////////////////////////////////////////////////// + // + // spectrum hallway + // + //////////////////////////////////////////////////// + void spectrum_move() { + sys.wait (2); + while(1){ + $spectrumlight_mover.time( 3 ); + $spectrumlight_mover.accelTime( 0 ); + $spectrumlight_mover.decelTime( 0 ); + $spectrumlight_mover.startSpline( $spectrum_spline ); + + sys.waitFor($spectrumlight_mover); + sys.wait(3); + $spectrumlight_mover.removeInitialSplineAngles(); + } + } + + void spectrum_stop() + { + sys.wait (3); + + sys.trigger ( $trigger_relay_55 ); + sys.killthread( "map_commoutside::spectrum_move" ); + $spectrumlight_mover.remove(); + sys.trigger ( $speaker_136 ); + sys.trigger ( $speaker_137 ); + $speaker_137.remove(); + $light_5229.remove(); + $light_5230.remove(); + } + + void close_func_door_17() + { + $func_door_17.close(); + } + + //close sawyer door + void close_func_door_1675() + { + $func_door_1675.close(); + } + + + //////////////////////////////////////////////////// + // + // Scary Elevator Shake + // + //////////////////////////////////////////////////// + void ele_shake() + { + $ele_mover.time (.25); + $ele_mover.move (DOWN, 8); + sys.waitFor ($ele_mover); + sys.trigger ( $speaker_elebang ); + $ele_mover.move (UP, 8); + } + + //////////////////////////////////////////////////// + // + // sawyer_intro + // + //////////////////////////////////////////////////// + void sawyer_intro () + { + $sawyer_light_1.kill(); + $sawyer_light_2.kill(); + //sys.print ("I just killed those lights\n"); + } + + void cache_sounds() { + sys.cacheSoundShader ("co_step_out"); + sys.cacheSoundShader ("co_lift_up_3s"); + sys.cacheSoundShader ("co_lift_down_3s"); + sys.cacheSoundShader ("al4_welding_2s"); + sys.cacheSoundShader ("co_05s_machinery_01"); + sys.cacheSoundShader ("co_goofy_updown"); + sys.cacheSoundShader ("rec1_steamchuff"); + sys.cacheSoundShader ("co_lift_rotation"); + sys.cacheSoundShader ("co_lift_up_2s"); + sys.cacheSoundShader ("co_lift_down_2s"); + sys.cacheSoundShader ("co_conpanel"); + } + + + //////////////////////////////////////////////////// + // + // MAIN + // + //////////////////////////////////////////////////// + void main () + { + cache_sounds(); + setup_objects (); + thread goofyarm_move (); + thread gratelight_move (); + thread helldoor_movement (); + thread lift_main (); + + //open the airlock doors that need to be open initially + thread airlock3_door2_open(); + thread airlock2_door2_open(); + } + +}// namespace + diff --git a/base/script/map_commoutside_lift.script b/base/script/map_commoutside_lift.script new file mode 100644 index 00000000..1cd95d48 --- /dev/null +++ b/base/script/map_commoutside_lift.script @@ -0,0 +1,875 @@ +namespace map_commoutside { + + #define CMD_LIFT_NONE 0 + #define CMD_LIFT_UP 1 + #define CMD_LIFT_DOWN 2 + #define CMD_LIFT_FORWARD 3 + #define CMD_LIFT_RIGHT 4 + #define CMD_LIFT_LEFT 5 + #define CMD_LIFT_BACK 6 + #define CMD_LIFT_CALL1 7 + #define CMD_LIFT_CALL2 8 + #define CMD_LIFT_CALL3 9 + + #define LIFT_MOVE_SPEED 160 + #define LIFT_TURN_TIME 2 + #define LIFT_UPDOWN_TIME 2 + + // states for the lift + float lift_command; + boolean lift_plat_up; + float lift_dir; + entity lift_station; + + void setup_lift(); + void reset_guis(); + void set_lift_location( entity position ); + float calc_lift_path_r( entity current_pos, entity previous, entity target, float depth ); + float get_lift_turn_dir( entity source, entity target ); + entity check_lift_move_dir( entity current_pos, float dir ); + void turn_lift_to_dir( float dir ); + void move_lift_to( entity target ); + + void cmd_lift_up(); + void cmd_lift_down(); + void cmd_lift_forward(); + void cmd_lift_right(); + void cmd_lift_left(); + void cmd_lift_back(); + void cmd_lift_call_1(); + void cmd_lift_call_2(); + void cmd_lift_call_3(); + void lift_loop(); + + void lift_up(); + void lift_down(); + void lift_forward(); + void lift_right(); + void lift_left(); + void lift_back(); + void lift_call_1(); + void lift_call_2(); + void lift_call_3(); + + void callspot1_panel_up(); + void callspot1_panel_down(); + void callspot2_panel_up(); + void callspot2_panel_down(); + void callspot3_panel_up(); + void callspot3_panel_down(); + + void lift_main(); + + //////////////////////////////////////////////////// + // + // Setup binds and times etc... + // + //////////////////////////////////////////////////// + void setup_lift() { + // initial variable assignments + lift_command = CMD_LIFT_NONE; + lift_plat_up = true; + + lift_station = $lift_bottom.getTarget( 0 ); + if ( !lift_station ) { + sys.warning( "Entity 'lift_bottom' doesn't have a target." ); + } + set_lift_location( lift_station ); + + lift_dir = 2; + + // Lift binds, times, and speeds + $lift_leg_11.bind($lift_bottom); + $lift_light1.bind($lift_bottom); + + $lift_axle1.bind($lift_leg_11); + $lift_axle2.bind($lift_leg_11); + $lift_leg_12.bind($lift_axle2); + $lift_axle4.bind($lift_leg_12); + $lift_axle6.bind($lift_leg_12); + $lift_leg_13.bind($lift_axle6); + $lift_axle7.bind($lift_leg_13); + + $lift_leg_23.bind($lift_axle7); + $lift_axle5.bind($lift_leg_23); + $lift_leg_22.bind($lift_axle5); + $lift_axle3.bind($lift_leg_22); + $lift_leg_21.bind($lift_axle3); + + $lift_connection_top_move.bind($lift_leg_13); + $lift_connection_top_static.bind($lift_leg_23); + $lift_connection_bottom_move.bind($lift_leg_21); + + $lift_cage.bind($lift_connection_top_static); + + $lift_leg_11.time( LIFT_UPDOWN_TIME ); + $lift_leg_12.time( LIFT_UPDOWN_TIME ); + $lift_leg_13.time( LIFT_UPDOWN_TIME ); + $lift_connection_top_move.time( LIFT_UPDOWN_TIME ); + $lift_leg_21.time( LIFT_UPDOWN_TIME ); + $lift_connection_bottom_move.time( LIFT_UPDOWN_TIME ); + $lift_leg_22.time( LIFT_UPDOWN_TIME ); + $lift_leg_23.time( LIFT_UPDOWN_TIME ); + $lift_connection_top_static.time( LIFT_UPDOWN_TIME ); + + $lift_leg_11.accelTime( .25 ); + $lift_leg_12.accelTime( .25 ); + $lift_leg_13.accelTime( .25 ); + $lift_connection_top_move.accelTime( .25 ); + $lift_leg_21.accelTime( .25 ); + $lift_connection_bottom_move.accelTime( .25); + $lift_leg_22.accelTime( .25 ); + $lift_leg_23.accelTime( .25 ); + $lift_connection_top_static.accelTime( .25 ); + + $lift_leg_11.decelTime( .25 ); + $lift_leg_12.decelTime( .25 ); + $lift_leg_13.decelTime( .25 ); + $lift_connection_top_move.decelTime( .25 ); + $lift_leg_21.decelTime( .25 ); + $lift_connection_bottom_move.decelTime( .25 ); + $lift_leg_22.decelTime( .25 ); + $lift_leg_23.decelTime( .25 ); + $lift_connection_top_static.decelTime( .25 ); + + // Call spots panel stuff + $callspot1_conpan_gui.bind($callspot1_conpan); + $callspot1_conpan.time(.25); + $callspot1_conpan.rotateOnce( '63.43 0 0' ); + $callspot1_conpan_trigger_down.disable(); + + $callspot2_conpan_gui.bind($callspot2_conpan); + $callspot2_conpan.time(.25); + $callspot2_conpan.rotateOnce( '0 0 -63.43' ); + $callspot2_conpan_trigger_down.disable(); + + $callspot3_conpan_gui.bind($callspot3_conpan); + $callspot3_conpan.time(.25); + $callspot3_conpan.rotateOnce( '0 0 -63.43' ); + $callspot3_conpan_trigger_down.disable(); + + $lift_light1_mover.rotateOnce( '90 0 0' ); + } + + //////////////////////////////////////////////////// + // + // reset the gui's to an interactive state + // + //////////////////////////////////////////////////// + void reset_guis() { + sys.trigger($callspot1_conpan); + $callspot1_conpan.setGuiParm ( "gui_parm3", 0 ); + sys.trigger($callspot2_conpan); + $callspot2_conpan.setGuiParm ( "gui_parm3", 0 ); + sys.trigger($callspot3_conpan); + $callspot3_conpan.setGuiParm ( "gui_parm3", 0 ); + } + + //////////////////////////////////////////////////// + // + // keep track of the current path entity we're at and update the + // gui's on the call panels with our position. + // + //////////////////////////////////////////////////// + void set_lift_location( entity position ) { + string position_name; + string position_num; + float pos; + + lift_station = position; + position_name = position.getName(); + if ( sys.strLeft( position_name, 10 ) != "lift_spot_" ) { + sys.warning( "Invalid lift target name '" + position_name + "'. Lift targets must be named 'lift_spot_#' (where # is a numeric value)" ); + } + + position_num = sys.strSkip( position_name, 10 ); + pos = sys.strToFloat( position_num ); + + $lift_cage.setGuiParm( "gui_parm2", pos ); + $callspot1_conpan.setGuiParm ( "gui_parm2", pos ); + $callspot2_conpan.setGuiParm ( "gui_parm2", pos ); + $callspot3_conpan.setGuiParm ( "gui_parm2", pos ); + + $callspot1_conpan.setGuiParm ( "gui_parm4", 0 ); + $callspot2_conpan.setGuiParm ( "gui_parm4", 0 ); + $callspot3_conpan.setGuiParm ( "gui_parm4", 0 ); + + //sys.print("position" + pos + "\n"); + + if ( ( pos == 13 ) && ( lift_dir == 0 ) && !lift_plat_up ) { + $callspot1_conpan.setGuiParm ( "gui_parm4", 1 ); + reset_guis(); + } else if ( ( pos == 31 ) && ( lift_dir == 1 ) && !lift_plat_up ) { + $callspot2_conpan.setGuiParm ( "gui_parm4", 1 ); + reset_guis(); + } else if ( ( pos == 83 ) && ( lift_dir == 1 ) && !lift_plat_up ) { + $callspot3_conpan.setGuiParm ( "gui_parm4", 1 ); + reset_guis(); + } + } + + //////////////////////////////////////////////////// + // + // Do a depth-first search of the "track" to find a path to the target entity. + // each path entity targets 1 or more other path entities. Each path entity it + // targets must also target it, so the links are forward and back. There must be + // no circular links and the longest possible path must never be more than the + // script stack can handle (around 62 path entities would be the limit, but possibly + // fewer). This could be modified to handle circular links, and be made non-recursive + // so it's not dependent on the stack size, and possibly with a bit of effort could find + // the shortest path if multiple paths exist, but for our purposes, this does the job. + // + //////////////////////////////////////////////////// + float calc_lift_path_r( entity current_pos, entity previous, entity target, float depth ) { + float num; + float i; + entity next; + float path_length; + + // have we reached the target? + if ( current_pos == target ) { + return depth; + } + + // check each of the targets on this entity + num = current_pos.numTargets(); + for( i = 0; i < num; i++ ) { + next = current_pos.getTarget( i ); + if ( next == previous ) { + // don't go back the way we came + continue; + } + + // check if a path exists through this target + path_length = calc_lift_path_r( next, current_pos, target, depth + 1 ); + if ( path_length ) { + // found the target, so as we recurse backwards, set the name of the next path entity to go to. + // when we're done, going through the "path*" keys in order will give the order of entities + // to follow to get to the target. + $lift_bottom.setKey( "path" + depth, next.getName() ); + return path_length; + } + } + + // no path from this entity + return 0; + } + + //////////////////////////////////////////////////// + // + // calculate the direction to turn to the next target + // + //////////////////////////////////////////////////// + float get_lift_turn_dir( entity source, entity target ) { + float dir; + vector delta; + vector ang; + + delta = target.getOrigin(); + delta = delta - source.getOrigin(); + ang = sys.VecToAngles( delta ); + dir = ( ( ang_y + 45 ) / 90 ) & 3; + + return dir; + } + + //////////////////////////////////////////////////// + // + // movement test + // + //////////////////////////////////////////////////// + entity check_lift_move_dir( entity current_pos, float dir ) { + float num; + float i; + float check_dir; + entity check_ent; + + num = current_pos.numTargets(); + for( i = 0; i < num; i++ ) { + check_ent = current_pos.getTarget( i ); + check_dir = get_lift_turn_dir( current_pos, check_ent ); + if ( check_dir == dir ) { + return check_ent; + } + } + return current_pos; + } + + //////////////////////////////////////////////////// + // + // rotates the lift back into position when blocked + // + //////////////////////////////////////////////////// + void lift_rotate_blocked() { + vector delta; + vector dest_angles; + float rotateTime; + + $lift_bottom.stopRotating(); + sys.wait( 0.1 ); + + // rotate back + dest_angles_y = ( lift_dir & 3 ) * 90 + 180; + if ( dest_angles_y >= 180 ) { + dest_angles_y -= 360; + } + delta = anglemod180( dest_angles - $lift_bottom.getAngles() ); + rotateTime = abs( delta_y / 90 )* LIFT_TURN_TIME + 0.5; + $lift_bottom.time( rotateTime ); + $lift_bottom.accelTime( .5 ); + $lift_bottom.decelTime( .5 ); + $lift_bottom.rotateOnce( delta ); + sys.waitFor( $lift_bottom ); + + reset_guis(); + + // update our location on the guis + set_lift_location( lift_station ); + + lift_loop(); + } + + //////////////////////////////////////////////////// + // + // turns lift + // + //////////////////////////////////////////////////// + void turn_lift_to_dir( float dir ) { + float turn_diff; + vector delta; + vector dest_angles; + float rotateTime; + + turn_diff = ( dir - lift_dir ) & 3; + if ( turn_diff == 0 ) { + return; + } + + dest_angles_y = ( dir & 3 ) * 90 + 180; + if ( dest_angles_y >= 180 ) { + dest_angles_y -= 360; + } + delta = anglemod180( dest_angles - $lift_bottom.getAngles() ); + rotateTime = abs( delta_y / 90 )* LIFT_TURN_TIME + 0.5; + + sys.onSignal( SIG_BLOCKED, $lift_bottom, "map_commoutside::lift_rotate_blocked" ); + $lift_bottom.accelTime( .5 ); + $lift_bottom.decelTime( .5 ); + $lift_bottom.time( rotateTime ); + + $lift_bottom.startSoundShader ("co_lift_rotation", SND_CHANNEL_VOICE ); + + $lift_bottom.rotateOnce( delta ); + sys.waitFor ($lift_bottom); + + sys.clearSignalThread( SIG_BLOCKED, $lift_bottom ); + lift_dir = dir; + + // update our location on the guis + set_lift_location( lift_station ); + } + + //////////////////////////////////////////////////// + // + // move lift to a specific spot + // + //////////////////////////////////////////////////// + void move_lift_to( entity target ) { + float path_length; + float i; + float dir; + float next_dir; + string ent_name; + entity path_ent; + entity next_ent; + + if ( lift_station == target ) { + // lower the platform if necessary + if ( lift_plat_up ) { + cmd_lift_down(); + } + return; + } + + // create a path to the target + path_length = calc_lift_path_r( lift_station, lift_station, target, 0 ); + if ( !path_length ) { + string currentname = lift_station.getName(); + string targetname = target.getName(); + sys.warning( "entity 'lift_bottom' can't find path from '" + currentname + "' to '" + targetname + "'" ); + return; + } + + // lower the platform if necessary + if ( lift_plat_up ) { + cmd_lift_down(); + } + + // get the first point on the path + ent_name = $lift_bottom.getKey( "path0" ); + next_ent = sys.getEntity( ent_name ); + if ( !next_ent ) { + sys.warning( "entity 'lift_bottom' can't find path entity '" + ent_name + "' to get to '" + target.getName() + "'" ); + return; + } + dir = get_lift_turn_dir( lift_station, next_ent ); + + // move to each point on the path + for( i = 0; i < path_length; i++ ) { + path_ent = next_ent; + + // get the next path entity, unless we're at the last one + if ( i < path_length - 1 ) { + ent_name = $lift_bottom.getKey( "path" + ( i + 1 ) ); + next_ent = sys.getEntity( ent_name ); + if ( !next_ent ) { + sys.warning( "entity 'lift_bottom' can't find path entity '" + ent_name + "' to get to '" + target.getName() + "'" ); + return; + } + } + + // turn towards the new direction if it's different and accelerate + if ( dir != lift_dir ) { + turn_lift_to_dir( dir ); + $lift_bottom.accelTime( .5 ); + } else if ( i != 0 ) { + $lift_bottom.accelTime( 0 ); + } else { + // always accelerate on the first path entity + $lift_bottom.accelTime( .5 ); + } + + // decelerate on the last path entity or if we have to turn + if ( i < path_length - 1 ) { + dir = get_lift_turn_dir( path_ent, next_ent ); + if ( dir != lift_dir ) { + $lift_bottom.decelTime( .5 ); + } else { + $lift_bottom.decelTime( 0 ); + } + } else { + $lift_bottom.decelTime( .5 ); + } + + // move to the next path entity + sys.onSignal( SIG_BLOCKED, $lift_bottom, "map_commoutside::lift_move_blocked" ); + $lift_bottom.speed( LIFT_MOVE_SPEED ); + + $lift_bottom.moveTo( path_ent ); + sys.waitFor( $lift_bottom ); + sys.clearSignalThread( SIG_BLOCKED, $lift_bottom ); + + // update our location on the guis + set_lift_location( path_ent ); + } + } + + //////////////////////////////////////////////////// + // + // if blocked when trying to go up, go back down + // + //////////////////////////////////////////////////// + void lift_up_blocked() { + cmd_lift_down(); + lift_loop(); + } + + //////////////////////////////////////////////////// + // + // move lift up + // + //////////////////////////////////////////////////// + void cmd_lift_up() { + if ( lift_plat_up ) { + return; + } + + float rotation = 0; + + // set the amount of movment + // needed for the spots where the lift can't go up fully + if ( lift_station == $lift_spot_31 ) { + rotation = 25; + } else if ( lift_station == $lift_spot_32 ) { + rotation = 20; + } else if ( lift_station == $lift_spot_44 ) { + rotation = 20; + } else if ( lift_station == $lift_spot_73 ) { + rotation = 24; + } + + lift_plat_up = true; + + $lift_leg_11.startSoundShader ("co_lift_up_2s", SND_CHANNEL_VOICE ); + + $lift_leg_11.rotateUpTo ( 0, -rotation ); + $lift_leg_12.rotateDownTo ( 0, 2 * rotation ); + $lift_leg_13.rotateUpTo ( 0, -2 * rotation ); + $lift_connection_top_move.rotateDownTo ( 0, rotation ); + + $lift_leg_21.rotateDownTo ( 0, 2 * rotation ); + $lift_connection_bottom_move.rotateUpTo ( 0, -rotation ); + $lift_leg_22.rotateUpTo ( 0, -2 * rotation ); + $lift_leg_23.rotateDownTo ( 0, 2 * rotation ); + $lift_connection_top_static.rotateUpTo ( 0, -rotation ); + + sys.onSignal( SIG_BLOCKED, $lift_bottom, "map_commoutside::lift_up_blocked" ); + sys.waitFor( $lift_leg_23 ); + sys.clearSignalThread( SIG_BLOCKED, $lift_bottom ); + + // update our location on the guis + set_lift_location( lift_station ); + } + + //////////////////////////////////////////////////// + // + // if blocked when trying to go down, go back up + // + //////////////////////////////////////////////////// + void lift_down_blocked() { + cmd_lift_up(); + reset_guis(); + lift_loop(); + } + + //////////////////////////////////////////////////// + // + // move lift down + // + //////////////////////////////////////////////////// + void cmd_lift_down() { + if ( !lift_plat_up ) { + return; + } + + $lift_cage_control.disable(); + + lift_plat_up = false; + + $lift_leg_11.startSoundShader ("co_lift_down_2s", SND_CHANNEL_VOICE ); + + $lift_leg_11.rotateDownTo ( 0, 320 ); + $lift_leg_12.rotateUpTo ( 0, 80 ); + $lift_leg_13.rotateDownTo ( 0, 280 ); + $lift_connection_top_move.rotateUpTo ( 0, 40 ); + + $lift_leg_21.rotateUpTo ( 0, 80 ); + $lift_connection_bottom_move.rotateDownTo ( 0, 320 ); + $lift_leg_22.rotateDownTo ( 0, 280 ); + $lift_leg_23.rotateUpTo ( 0, 80 ); + $lift_connection_top_static.rotateDownTo ( 0, 320 ); + + sys.onSignal( SIG_BLOCKED, $lift_bottom, "map_commoutside::lift_down_blocked" ); + sys.waitFor ($lift_leg_23); + sys.clearSignalThread( SIG_BLOCKED, $lift_bottom ); + + $lift_cage_control.enable(); + + // update our location on the guis + set_lift_location( lift_station ); + } + + //////////////////////////////////////////////////// + // + // moves the lift back into position when blocked + // + //////////////////////////////////////////////////// + void lift_move_blocked() { + $lift_bottom.stopMoving(); + $lift_bottom.startSound( "snd_decel", SND_CHANNEL_BODY2, false ); + sys.wait( 0.1 ); + + // move back + $lift_bottom.accelTime( .5 ); + $lift_bottom.decelTime( .5 ); + $lift_bottom.speed( LIFT_MOVE_SPEED ); + $lift_bottom.moveTo( lift_station ); + sys.waitFor( $lift_bottom ); + $lift_cage_control.enable(); + + reset_guis(); + + // update our location on the guis + set_lift_location( lift_station ); + + lift_loop(); + } + + //////////////////////////////////////////////////// + // + // move lift forward + // + //////////////////////////////////////////////////// + void cmd_lift_forward() { + entity path_ent; + + path_ent = check_lift_move_dir( lift_station, lift_dir ); + if ( path_ent == lift_station ) { + return; + } + + if ( lift_plat_up ) { + cmd_lift_down(); + } + + $lift_cage_control.disable(); + + sys.onSignal( SIG_BLOCKED, $lift_bottom, "map_commoutside::lift_move_blocked" ); + $lift_bottom.accelTime( .5 ); + $lift_bottom.decelTime( .5 ); + $lift_bottom.speed( LIFT_MOVE_SPEED ); + $lift_bottom.moveTo( path_ent ); + sys.waitFor( $lift_bottom ); + sys.clearSignalThread( SIG_BLOCKED, $lift_bottom ); + set_lift_location( path_ent ); + $lift_cage_control.enable(); + } + + //////////////////////////////////////////////////// + // + // move lift back + // + //////////////////////////////////////////////////// + void cmd_lift_back() { + entity path_ent; + + path_ent = check_lift_move_dir( lift_station, ( lift_dir + 2 ) & 3 ); + if ( path_ent == lift_station ) { + return; + } + + if ( lift_plat_up ) { + cmd_lift_down(); + } + + $lift_cage_control.disable(); + + sys.onSignal( SIG_BLOCKED, $lift_bottom, "map_commoutside::lift_move_blocked" ); + $lift_bottom.accelTime( .5 ); + $lift_bottom.decelTime( .5 ); + $lift_bottom.speed( LIFT_MOVE_SPEED ); + $lift_bottom.moveTo( path_ent ); + sys.waitFor( $lift_bottom ); + set_lift_location( path_ent ); + $lift_cage_control.enable(); + } + + //////////////////////////////////////////////////// + // + // move lift right + // + //////////////////////////////////////////////////// + void cmd_lift_right() { + turn_lift_to_dir( ( lift_dir - 1 ) & 3 ); + } + + //////////////////////////////////////////////////// + // + // move lift left + // + //////////////////////////////////////////////////// + void cmd_lift_left() { + turn_lift_to_dir( ( lift_dir + 1 ) & 3 ); + } + + //////////////////////////////////////////////////// + // + // call lift to call spot #1 + // From anywhere in the grid the lift will find + // it's way to call spot #1 + // + //////////////////////////////////////////////////// + void cmd_lift_call_1() { + move_lift_to( $lift_spot_13 ); + turn_lift_to_dir( 0 ); + } + + //////////////////////////////////////////////////// + // + // call lift to call spot #2 + // From anywhere in the grid the lift will find + // it's way to call spot #2 + // + //////////////////////////////////////////////////// + void cmd_lift_call_2() { + move_lift_to( $lift_spot_31 ); + turn_lift_to_dir( 1 ); + } + + //////////////////////////////////////////////////// + // + // call lift to call spot #3 + // From anywhere in the grid the lift will find + // it's way to call spot #3 + // + //////////////////////////////////////////////////// + void cmd_lift_call_3() { + move_lift_to( $lift_spot_83 ); + turn_lift_to_dir( 1 ); + } + + //////////////////////////////////////////////////// + // + // command processing loop + // + //////////////////////////////////////////////////// + void lift_loop() { + while( 1 ) { + lift_command = CMD_LIFT_NONE; + while( lift_command == CMD_LIFT_NONE ) { + sys.waitFrame(); + } + + if ( lift_command == CMD_LIFT_UP ) { + cmd_lift_up(); + } else if ( lift_command == CMD_LIFT_DOWN ) { + cmd_lift_down(); + } else if ( lift_command == CMD_LIFT_FORWARD ) { + cmd_lift_forward(); + } else if ( lift_command == CMD_LIFT_RIGHT ) { + cmd_lift_right(); + } else if ( lift_command == CMD_LIFT_LEFT ) { + cmd_lift_left(); + } else if ( lift_command == CMD_LIFT_BACK ) { + cmd_lift_back(); + } else if ( lift_command == CMD_LIFT_CALL1 ) { + cmd_lift_call_1(); + } else if ( lift_command == CMD_LIFT_CALL2 ) { + cmd_lift_call_2(); + } else if ( lift_command == CMD_LIFT_CALL3 ) { + cmd_lift_call_3(); + } + } + } + + //////////////////////////////////////////////////// + // + // Gui call back functions + // + //////////////////////////////////////////////////// + void lift_up() { + lift_command = CMD_LIFT_UP; + } + void lift_down() { + lift_command = CMD_LIFT_DOWN; + } + void lift_forward() { + lift_command = CMD_LIFT_FORWARD; + } + void lift_right() { + lift_command = CMD_LIFT_RIGHT; + } + void lift_left() { + lift_command = CMD_LIFT_LEFT; + } + void lift_back() { + lift_command = CMD_LIFT_BACK; + } + void lift_call_1() { + lift_command = CMD_LIFT_CALL1; + } + void lift_call_2() { + lift_command = CMD_LIFT_CALL2; + } + void lift_call_3() { + lift_command = CMD_LIFT_CALL3; + } + + //////////////////////////////////////////////////// + // + // raise panel for call spot #1 + // + //////////////////////////////////////////////////// + void callspot1_panel_up() { + $callspot1_conpan.startSoundShader ("co_conpanel", SND_CHANNEL_VOICE ); + $callspot1_conpan.rotateOnce( '-63.43 0 0' ); + $callspot1_conpan_trigger_up.disable(); + sys.waitFor( $callspot1_conpan ); + + $callspot1_conpan_trigger_down.enable(); + } + + //////////////////////////////////////////////////// + // + // raise panel for call spot #1 + // + //////////////////////////////////////////////////// + void callspot1_panel_down() { + $callspot1_conpan.startSoundShader ("co_conpanel", SND_CHANNEL_VOICE ); + $callspot1_conpan.rotateOnce( '63.43 0 0' ); + $callspot1_conpan_trigger_down.disable(); + sys.waitFor( $callspot1_conpan ); + + $callspot1_conpan_trigger_up.enable(); + } + + //////////////////////////////////////////////////// + // + // raise panel for call spot #2 + // + //////////////////////////////////////////////////// + void callspot2_panel_up() { + $callspot2_conpan.startSoundShader ("co_conpanel", SND_CHANNEL_VOICE ); + $callspot2_conpan.rotateOnce( '0 0 63.43' ); + $callspot2_conpan_trigger_up.disable(); + sys.waitFor( $callspot2_conpan ); + + $callspot2_conpan_trigger_down.enable(); + } + + //////////////////////////////////////////////////// + // + // raise panel for call spot #2 + // + //////////////////////////////////////////////////// + void callspot2_panel_down() { + $callspot2_conpan.startSoundShader ("co_conpanel", SND_CHANNEL_VOICE ); + $callspot2_conpan.rotateOnce( '0 0 -63.43' ); + $callspot2_conpan_trigger_down.disable(); + sys.waitFor( $callspot2_conpan ); + + $callspot2_conpan_trigger_up.enable(); + } + + //////////////////////////////////////////////////// + // + // raise panel for call spot #3 + // + //////////////////////////////////////////////////// + void callspot3_panel_up() { + $callspot3_conpan.startSoundShader ("co_conpanel", SND_CHANNEL_VOICE ); + $callspot3_conpan.rotateOnce( '0 0 63.43' ); + $callspot3_conpan_trigger_up.disable(); + sys.waitFor( $callspot3_conpan ); + + $callspot3_conpan_trigger_down.enable(); + } + + //////////////////////////////////////////////////// + // + // raise panel for call spot #3 + // + //////////////////////////////////////////////////// + void callspot3_panel_down() { + $callspot3_conpan.startSoundShader ("co_conpanel", SND_CHANNEL_VOICE ); + $callspot3_conpan.rotateOnce( '0 0 -63.43' ); + $callspot3_conpan_trigger_down.disable(); + sys.waitFor( $callspot3_conpan ); + + $callspot3_conpan_trigger_up.enable(); + } + + //////////////////////////////////////////////////// + // + // MAIN + // + //////////////////////////////////////////////////// + void lift_main() { + + setup_lift(); + + // turn lift to the left so it can illuminate the 2nd call station area + cmd_lift_left(); + lift_loop(); + } +} // namespace diff --git a/base/script/map_cpu.script b/base/script/map_cpu.script new file mode 100644 index 00000000..ee1c799e --- /dev/null +++ b/base/script/map_cpu.script @@ -0,0 +1,307 @@ +namespace map_cpu { + + float RAISE_HELL_PILLARS = 0; + float PLAYED_TRITE_STINGER = FALSE; + + void init_world() { + $fixed_panel.hide(); + } + + void trite_stinger() { + if ( PLAYED_TRITE_STINGER == FALSE ) { + PLAYED_TRITE_STINGER = TRUE; + sys.trigger ($cpu1_monster_trite_1); + sys.trigger ($trite_stinger_2); + sys.trigger ($trite_stinger_3); + } + } + + void trigger_secmon_exit() { + sys.trigger ($trigger_relay_20); + sys.wait (1.2); + + sys.trigger ($trigger_relay_21); + sys.wait (2); + + sys.trigger ($trigger_relay_22); + sys.wait (0.8); + + sys.trigger ($trigger_relay_23); + } +/* + void haunted_cabinet() { + +// sys.print ("Entering haunted_cabinet...\n"); + + $anchor.time (.3); + $anchor.moveTo ($hcab_p1); + sys.waitFor ($anchor); + + sys.wait (.1); + + $anchor.moveTo ($hcab_p2); + sys.waitFor ($anchor); + + //$fc1.unbind(); + $anchor.moveTo ($hcab_p3); + sys.trigger ($func_forcefield_4); + + sys.wait (0.4); + + //sys.waitFor ($anchor); + $fc1.unbind(); + + } +*/ + + /* + Returns a random vector from 0-maxValue for each axis + */ + + vector getRandomVector(float maxX, float maxY, float maxZ) { + vector vec; + vec_x = int ( sys.random (maxX) ); + vec_y = int ( sys.random (maxY) ); + vec_z = int ( sys.random (maxZ) ); + + return vec; + } + + // Open ceiling hatch area in monitoring room. + void open_cpuhatch() { + $ladder_floor_hatch.time (0.5); + $cpuladder.time (3); + $ladder_ceiling_panel.time (0.5); + + $ladder_floor_hatch.move (DOWN, 8); + $ladder_ceiling_panel.move (UP, 8); + + sys.waitFor ($ladder_floor_hatch); + + $ladder_floor_hatch.move (SOUTH, 72); + $ladder_ceiling_panel.move (SOUTH, 72); + + sys.waitFor ($ladder_floor_hatch); + + $cpuladder.accelTime (1); + $cpuladder.decelTime (2); + $cpuladder.move (UP, 264); + } + + + // HK Lift before Lab A door + void raise_hlift() { + $hlift.speed (32); + $hlift.move (UP, 160); + sys.wait (0.2); + + $mb1.remove(); + $mb2.remove(); + $mb3.remove(); + $mb4.remove(); + + //sys.trigger ($mb1); + //sys.trigger ($mb2); + //sys.trigger ($mb3); + //sys.trigger ($mb4); + + sys.waitFor ($hlift); + sys.print ("stopped moving\n"); + + } + + + void raise_hell_pillars() { + if (RAISE_HELL_PILLARS == 0) { + RAISE_HELL_PILLARS = 1; + $hp_01_anchor.rotateOnce ('0 90 0'); + $hp_01.move (UP, 350); + sys.wait (1.5); + + $hp_02_anchor.rotateOnce ('0 90 0'); + $hp_02.move (UP, 350); + sys.wait (1.5); + + $hp_03_anchor.rotateOnce ('0 90 0'); + $hp_03.move (UP, 350); + sys.wait (1.5); + } + } + + + void fixed_maindoor() { + $fixed_panel.show(); + $broken_panel.hide(); + } + + void sparks_cpubank_01() { + while (1) { + sys.trigger ($cpubank_01_sparks); + sys.wait ( sys.random (4) + 1); + } + } + + void sparks_cpubank_02() { + while (1) { + sys.trigger ($cpubank_02_sparks); + sys.wait ( sys.random (3) + 1); + } + } + + void move_cpubank_01() { + $cpubank_01.speed (64); + thread ( sparks_cpubank_01() ); + $cpubank_01.moveTo ($cpubank_01_target); + } + + void move_cpubank_02() { + $cpubank_02.speed (64); + thread ( sparks_cpubank_02() ); + $cpubank_02.moveTo ($cpubank_02_target); + } + + void cpu_secret_01() { + sys.trigger ($cpu_secret_01_speaker); + sys.print ("You have found a secret area !\n"); + } + + void drop_object(string entityname) { + entity ent, ent_anchor; + vector vec; + + ent = sys.getEntity (entityname); + + ent.time (4); + ent.accelTime (2); + + ent_anchor = sys.getEntity (entityname + "_anchor"); + + //vec = getRandomVector (30, 45, 45); + vec = getRandomVector (10, 10, 10); + + ent_anchor.rotate (vec); + ent.move (DOWN, 356); + + sys.waitFor (ent); + + ent.remove(); + ent_anchor.remove(); + } + + void raise_object(string entityname) { + entity ent, ent_anchor; + vector vec; + + ent = sys.getEntity (entityname); + + ent.time (4); + ent.accelTime (2); + + ent_anchor = sys.getEntity (entityname + "_anchor"); + + ;vec = getRandomVector (30, 45, 45); + vec = getRandomVector (10, 10, 10); + + ent_anchor.rotate (vec); + ent.move (UP, 356); + + sys.waitFor (ent); + + ent.remove(); + ent_anchor.remove(); + } + + void dropscene1() { + float i; + entity ent; + + for (i = 1; i<=2; i++) { + thread drop_object ("hpp_" + i); + sys.wait (0.3); + } + + $hp_3_anchor.time (4); + $hp_5_anchor.time (4); + $hp_8_anchor.time (4); + + + for (i = 1; i<=12; i++) { + if (i == 3) { + //$hp_3_anchor.moveTo ($hp3_dest); + $hp_3.bob (4, 0.2, '0 0 2'); + } + else if (i == 5) { + //$hp_5_anchor.moveTo ($hp5_dest); + $hp_5.bob (4, 0.6, '0 0 4'); + } + else if (i == 8) { + //$hp_8_anchor.moveTo ($hp8_dest); + $hp_8.bob (4, 0.8, '0 0 3'); + } + else { + thread drop_object ("hp_" + i); + } + sys.wait (0.3); + } + $hp_3_anchor.moveTo ($hp3_dest); + $hp_5_anchor.moveTo ($hp5_dest); + $hp_8_anchor.moveTo ($hp8_dest); + } + + void dropscene2() { + float i; + entity ent; + + for (i = 1; i<=10; i++) { + thread raise_object ("hpc_" + i); + sys.wait (0.3); + } + } + + void dropscene3() { + float i; + entity ent; + + for (i = 1; i<=3; i++) { + thread drop_object ("hp_wall_" + i); + sys.wait (0.3); + } + } + + void battle_sounds() { + sys.wait (2); + sys.trigger ($speaker_cherubs); + sys.wait (45); + sys.trigger ($speaker_imps); + } + + void dropscene() { + sys.trigger ($speaker_hallway_fall); + + sys.trigger ($speaker_inf_01); // Shut some stuff off + sys.trigger ($speaker_inf_02); + sys.trigger ($speaker_inf_03); + + thread dropscene1(); + thread dropscene2(); + thread dropscene3(); + sys.wait (7); + + sys.trigger ($speaker_inf_01); // Turn it back on + sys.trigger ($speaker_inf_02); + sys.trigger ($speaker_inf_03); + + + + //$hpillar_01_anchor.rotateOnce ('0 90 0'); + //$hpillar_01.move (UP, 400); + //sys.wait (1.5); + + //$hpillar_02_anchor.rotateOnce ('0 -90 0'); + //$hpillar_02.move (UP, 400); + } + + void main() { + init_world(); + } +} \ No newline at end of file diff --git a/base/script/map_cpuboss.script b/base/script/map_cpuboss.script new file mode 100644 index 00000000..94f7a6ea --- /dev/null +++ b/base/script/map_cpuboss.script @@ -0,0 +1,593 @@ +namespace map_cpuboss { + #define PUMP_DISTANCE 90 + #define EXTEND_MID 64 + #define EXTEND_NUT 64 + #define FLOOR_SPEED 2 // Seconds + + float bridge_down = 0; + float bridge_dir = 0; + float bridge_moving = 0; + float PLAYMUSIC = TRUE; + float monsterstatus = 1; + float started_music = 0; + float bridge_rot_time = 6; // How long will it take the bridge to rotate to it's place ? + + float stop_pumps = FALSE; + float stop_floors = FALSE; + float stop_lights = FALSE; + + float mach1_loc = 2; // Which rung is it on ? starts in middle rung + // 1 == bottom, 2 == middle, 3== top + float mach1_loc_last = 0; // Where were we last ? + + + void mover_startsound3 (entity ent) { + ent.startSoundShader ("cpu_m3_start", SND_CHANNEL_VOICE); + sys.wait (1); + ent.startSoundShader ("cpu_m3_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound3 (entity ent) { + ent.startSoundShader ("cpu_m3_stop", SND_CHANNEL_VOICE2); + } + + void mover_startsound4 (entity ent) { + ent.startSoundShader ("cpu_m4_start", SND_CHANNEL_VOICE); + sys.wait (1); + ent.startSoundShader ("cpu_m4_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound4 (entity ent) { + ent.startSoundShader ("cpu_m4_stop", SND_CHANNEL_VOICE2); + } + + //Sab room -open and close the pillar shields + + void cpillar1_open() + { + $cpillar1_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar1_shield1.moveTo ($cpillar1_shield_s1); + $cpillar1_shield2.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar1_shield2.moveTo ($cpillar1_shield_s2); + } + + void cpillar2_open() + { + $cpillar2_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar2_shield1.moveTo ($cpillar2_shield_s1); + $cpillar2_shield2.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar2_shield2.moveTo ($cpillar2_shield_s2); + } + + void cpillar3_open() + { + $cpillar3_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar3_shield1.moveTo ($cpillar3_shield_s1); + $cpillar3_shield2.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar3_shield2.moveTo ($cpillar3_shield_s2); + } + + void cpillar4_open() + { + $cpillar4_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar4_shield1.moveTo ($cpillar4_shield_s1); + $cpillar4_shield2.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar4_shield2.moveTo ($cpillar4_shield_s2); + } + + void cpillar1_close() + { + $cpillar1_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar1_shield1.moveTo ($cpillar1_shield_s0); + $cpillar1_shield2.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar1_shield2.moveTo ($cpillar1_shield_s0); + } + + void cpillar2_close() + { + $cpillar2_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar2_shield1.moveTo ($cpillar2_shield_s0); + $cpillar2_shield2.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar2_shield2.moveTo ($cpillar2_shield_s0); + } + + void cpillar3_close() + { + $cpillar3_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar3_shield1.moveTo ($cpillar3_shield_s0); + $cpillar3_shield2.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar3_shield2.moveTo ($cpillar3_shield_s0); + } + + void cpillar4_close() + { + $cpillar4_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar4_shield1.moveTo ($cpillar4_shield_s0); + $cpillar4_shield1.startSoundShader ("cpu_shields", SND_CHANNEL_VOICE2 ); + $cpillar4_shield2.moveTo ($cpillar4_shield_s0); + } + + + // + + // --- + // Init base-state of world entities here + // --- + + void init_world() { + + // Sabaoth room electrical pillar shield times + + $cpillar1_shield1.accelTime (.2); + $cpillar1_shield2.accelTime (.2); + $cpillar2_shield1.accelTime (.2); + $cpillar2_shield2.accelTime (.2); + $cpillar3_shield1.accelTime (.2); + $cpillar3_shield2.accelTime (.2); + $cpillar4_shield1.accelTime (.2); + $cpillar4_shield2.accelTime (.2); + $cpillar1_shield1.time (.5); + $cpillar1_shield2.time (.5); + $cpillar2_shield1.time (.5); + $cpillar2_shield2.time (.5); + $cpillar3_shield1.time (.5); + $cpillar3_shield2.time (.5); + $cpillar4_shield1.time (.5); + $cpillar4_shield2.time (.5); + + // old boss room + + $tooth_1.sway (8, 0.2, '0 5 -4'); + $tooth_2.sway (7, 0.4, '0 -4 4'); + $tooth_3.sway (8, 0.6, '0 6 2'); + $tooth_4.sway (6, 0.32, '0 5 3'); + $tooth_5.sway (7, 0.9, '0 -3 2'); + $tooth_6.sway (7, 0.78, '0 2 5'); + $tooth_7.sway (5, 0.5, '0 4 -5'); + $tooth_8.sway (6, 0.6, '0 3 -2'); + + $bm_arm1_anchor.time (3); + $bm_arm1_anchor.accelTime (0.5); + $bm_arm1_anchor.decelTime (1.5); + + $bm_mach1_wheel1_anchor.bind ($bm_mach1_support); + $bm_mach1_wheel2_anchor.bind ($bm_mach1_support); + $bm_mach1_wheel3_anchor.bind ($bm_mach1_support); + $bm_mach1_wheel4_anchor.bind ($bm_mach1_support); + + $mach1_support_anchor.time (3); + + float i; + entity ent, ent2, ent3; + + $pentagram.rotate ('0 20 0'); + + for (i=1; i<=4; i++) { + + // Top pumps + ent = sys.getEntity ("bm_pump" + i + "a"); + ent.time (5); + ent.accelTime (0.75); + ent.decelTime (1.5); + + ent = sys.getEntity ("bm_pump" + i + "a_anchor"); + ent.time (5); + ent.accelTime (0.75); + ent.decelTime (1.5); + + // Bottom pump + + ent = sys.getEntity ("bm_pump" + i + "b"); + ent.time (5); + ent.accelTime (0.75); + ent.decelTime (1.5); + + ent = sys.getEntity ("bm_pump" + i + "b_anchor"); + ent.time (5); + ent.accelTime (0.75); + ent.decelTime (1.5); + } + + // bind sector 1 + for ( i = 1; i <= 3; i++ ) { + ent=sys.getEntity ("s1_" + i); + ent2=sys.getEntity ("s1_" + i + "_anchor"); + ent.time (FLOOR_SPEED); + ent2.time (FLOOR_SPEED); + ent.bind (ent2); + ent2.bind ($sector_1); + } + + // bind sector 2 + for ( i = 1; i <= 3; i++ ) { + ent=sys.getEntity ("s2_" + i); + ent2=sys.getEntity ("s2_" + i + "_anchor"); + ent.time (FLOOR_SPEED); + ent2.time (FLOOR_SPEED); + ent.bind (ent2); + ent2.bind ($sector_2); + } + + // bind sector 3 + for ( i = 1; i <= 9; i++ ) { + ent=sys.getEntity ("s3_" + i); + ent2=sys.getEntity ("s3_" + i + "_anchor"); + ent.time (FLOOR_SPEED); + ent2.time (FLOOR_SPEED); + ent.bind (ent2); + ent2.bind ($sector_3); + } + + $bm_arm1_bolt.time (2); + $bm_arm1_bolt.accelTime (0.25); + $bm_arm1_bolt.decelTime (0.75); + + $bm_arm1_mid.move (RIGHT, 40); + $bm_arm1_nut.move (RIGHT, 40); + + sys.wait (1); + + } + + // --- + // Init base position for the central bridge + // --- + + void init_bridge() { + $bridge_support.time (6); + $bridge_support.accelTime (0.75); + $bridge_support.decelTime (1); + + $cpubridge_anchor.time (6); + $cpubridge_anchor.accelTime (2); + $cpubridge_anchor.decelTime (3); + + $bridge_ramp_right.time (2); + $bridge_ramp_left.time (2); + + $bridge_arm_anchor.time (2); + + $bridge_base.bind ($bridge_support); + $bridge_arm_anchor.bind ($bridge_base); + + $bridge_rail_right.bind ($bridge_ramp_right); + $bridge_rail_left.bind ($bridge_ramp_left); + + $bridge_ramp_right.bind ($bridge_arm_anchor); + $bridge_ramp_left.bind ($bridge_arm_anchor); + $bridge_gui.bind ($bridge_arm_anchor); + + $bridge_ramp_right.time (1); + $bridge_ramp_left.time (1); + + $bridge_ramp_right.rotateOnce ('0 0 -90'); + $bridge_ramp_left.rotateOnce ('0 0 90'); + $bridge_arm_anchor.rotateOnce ('-90 0 0'); + + $bridge_support.move (UP, 1024); + + } + + void test_bridge() { + float i; + + if (bridge_down == 0) { + sys.trigger ($bridge_vo_1); + // Sound of bridge coming down + $speaker_bridge_1.startSoundShader ("cpu_bridge_down_6s", SND_CHANNEL_BODY ); + + $bridge_support.move (DOWN, 1024); + $bridge_support.rotateOnce ('0 -450 0'); + sys.waitFor ($bridge_support); + + + + $bridge_arm_anchor.time (5); + // Sound of Arm rotating down + $speaker_bridge_3.startSoundShader ("cpu_arm_down_5s", SND_CHANNEL_ITEM ); + $bridge_arm_anchor.rotateOnce ('90 0 0'); // Down + sys.waitFor ($bridge_arm_anchor); + + $bridge_arm_anchor.time (2); + + // Bounce the bridge as it comes down + + $bridge_arm_anchor.time (0.3); + $bridge_arm_anchor.rotateOnce ('-2 0 0'); // Up + sys.waitFor ($bridge_arm_anchor); + + $bridge_arm_anchor.time (0.2); + $bridge_arm_anchor.rotateOnce ('2 0 0'); // Down + sys.waitFor ($bridge_arm_anchor); + + $bridge_ramp_right.startSoundShader ("cpu_bridge_rails", SND_CHANNEL_VOICE ); + $bridge_ramp_right.rotateOnce ('0 0 90'); + + $bridge_ramp_left.startSoundShader ("cpu_bridge_rails", SND_CHANNEL_VOICE ); + $bridge_ramp_left.rotateOnce ('0 0 -90'); + sys.waitFor ($bridge_ramp_left); + + // $bridge_support.rotateOnce ('0 -90 0'); + //$bridge_ramp_right.rotateOnce ('-90 0 0'); + //$bridge_ramp_left.rotateOnce ('90 0 0'); + + bridge_down = 1; + bridge_dir = 3; + } + } + + vector bridge_getRotationAngles (float target_dir) + { + vector vec; + + if ( (bridge_dir != 1) && (target_dir == 1) ) { + $cpubridge_anchor.move (DOWN, 256); + } + + else if ( (bridge_dir == 1) && (target_dir != 1) ) { + $cpubridge_anchor.move (UP, 256); + } + + //else { + // sys.print ("not moving up or down\n"); + //} + + if ( (bridge_dir - target_dir) == -3 ) + return '0 90 0'; + if ( (bridge_dir - target_dir) == 3 ) + return '0 -90 0'; + + vec_x = 0; + vec_z = 0; + vec_y = (bridge_dir - target_dir) * 90; + + + if ( ( vec_y == 90 ) || ( vec_y == -90 ) ) { + $bridge_support.time (6); + $cpubridge_anchor.time (6); + bridge_rot_time = 6; + } + if ( ( vec_y == 180 ) || (vec_y == -180) ) { + $bridge_support.time (10); + $cpubridge_anchor.time (10); + bridge_rot_time = 10; + } + if ( ( vec_y == 270 ) || (vec_y == -270) ) { + $bridge_support.time (10); + $cpubridge_anchor.time (10); + bridge_rot_time = 10; + } + return vec; + } + + void bridge_rotation_sound() { + + if (bridge_rot_time == 6) { + $speaker_bridge_2.startSoundShader ("bridge_rotation_6s", SND_CHANNEL_BODY ); + return; + } + else { + $speaker_bridge_2.startSoundShader ("bridge_rotation_10s", SND_CHANNEL_BODY ); + return; + } + + } + + void bridge_rotate_south() + { + + vector vec; + + if ( bridge_dir == 3 ) + return; // Bridge is already at this location + + if (bridge_moving == 0) { + bridge_moving = 1; + $bridge_gui.disable(); + + if (bridge_down == 0) + test_bridge(); + else + { + vec = bridge_getRotationAngles (3); + + thread bridge_rotation_sound(); + + $bridge_support.rotateOnce (vec); + sys.waitFor ($bridge_support); + + bridge_dir = 3; + } + $bridge_gui.enable(); + bridge_moving = 0; + } + } + + void bridge_rotate_east() + { + vector vec; + + if (bridge_dir == 2) + return; // Bridge is already at this location + + if (bridge_moving == 0) { + bridge_moving = 1; + $bridge_gui.disable(); + vec = bridge_getRotationAngles (2); + + thread bridge_rotation_sound(); + + sys.print ("rot time ==" + bridge_rot_time + "\n"); + $bridge_support.rotateOnce (vec); + sys.waitFor ($bridge_support); + + bridge_dir = 2; + $bridge_gui.enable(); + bridge_moving = 0; + } + } + + void bridge_rotate_west() + { + vector vec; + + if (bridge_dir == 4) + return; // Bridge is already at this location + + if (bridge_moving == 0) { + bridge_moving = 1; + $bridge_gui.disable(); + vec = bridge_getRotationAngles (4); + + thread bridge_rotation_sound(); + + sys.print ("rot time ==" + bridge_rot_time + "\n"); + $bridge_support.rotateOnce (vec); + sys.waitFor ($bridge_support); + + bridge_dir = 4; + $bridge_gui.enable(); + bridge_moving = 0; + } + } + + void bridge_rotate_north() + { + vector vec; + + if (bridge_dir == 1) + return; // Bridge is already at this location + + if (bridge_moving == 0) { + bridge_moving = 1; + $bridge_gui.disable(); + vec = bridge_getRotationAngles (1); + + thread bridge_rotation_sound(); + + sys.trigger ($trigger_objectivecomplete); + + sys.print ("rot time ==" + bridge_rot_time + "\n"); + $bridge_support.rotateOnce (vec); + sys.waitFor ($bridge_support); + + + + bridge_dir = 1; + $bridge_gui.enable(); + bridge_moving = 0; + } + } + + void init_running_lights() { + entity l1, l2, l3, l4; + float i; + + for ( i=1; i<=13; i++ ) { + l1 = sys.getEntity ("rrun_" + i); + l2 = sys.getEntity ("lrun_" + i); + l3 = sys.getEntity ("trrun_" + i); + l4 = sys.getEntity ("tlrun_" + i); + + l1.Off(); + l2.Off(); + l3.Off(); + l4.Off(); + } + } + + void running_lights() { + entity l1, l2, l3, l4; + float i; + + for ( i=1; i<=13; i++ ) { + l1 = sys.getEntity ("rrun_" + i); + l2 = sys.getEntity ("lrun_" + i); + l3 = sys.getEntity ("trrun_" + i); + l4 = sys.getEntity ("tlrun_" + i); + + l1.On(); + l1.startSoundShader ("cpu_light_sounds", SND_CHANNEL_VOICE ); + l2.On(); + l2.startSoundShader ("cpu_light_sounds", SND_CHANNEL_VOICE ); + l3.On(); + l3.startSoundShader ("cpu_light_sounds", SND_CHANNEL_VOICE ); + l4.On(); + l4.startSoundShader ("cpu_light_sounds", SND_CHANNEL_VOICE ); + + sys.wait (0.15); + + l1.Off(); + l2.Off(); + l3.Off(); + l4.Off(); + + sys.wait (0.15); + } + + } + + void running_lights_thread() { + while (1) { + thread running_lights(); + sys.wait (2); + } + } + + void cache_sounds() { + sys.cacheSoundShader ("cpu_bridge_down_6s"); + sys.cacheSoundShader ("cpu_arm_down_5s"); + sys.cacheSoundShader ("cpu_bridge_rails"); + sys.cacheSoundShader ("bridge_rotation_6s"); + sys.cacheSoundShader ("bridge_rotation_10s"); + sys.cacheSoundShader ("cpu_light_sounds"); + sys.cacheSoundShader ("cpu_shields"); + sys.cacheSoundShader ("cpu_m3_start"); + sys.cacheSoundShader ("cpu_m3_stop"); + sys.cacheSoundShader ("cpu_m3_loop"); + sys.cacheSoundShader ("cpu_m4_start"); + sys.cacheSoundShader ("cpu_m4_stop"); + sys.cacheSoundShader ("cpu_m4_loop"); + + } + + void fadeout_endroom() { + + $cspeaker_1.remove(); + $cspeaker_2.remove(); + $cspeaker_3.remove(); + $cspeaker_4.remove(); + + $trigger_multiple_1.remove(); + $trigger_multiple_2.remove(); + $trigger_multiple_3.remove(); + $trigger_multiple_4.remove(); + + $ctrigger_hurt_1.remove(); + $ctrigger_hurt_2.remove(); + $ctrigger_hurt_3.remove(); + $ctrigger_hurt_4.remove(); + + //$cspeaker_1.fadeSound ( SND_CHANNEL_ANY, -60, 1 ); + //$cspeaker_2.fadeSound ( SND_CHANNEL_ANY, -60, 1 ); + //$cspeaker_3.fadeSound ( SND_CHANNEL_ANY, -60, 1 ); + //$cspeaker_4.fadeSound ( SND_CHANNEL_ANY, -60, 1 ); + } + + void main() + { + cache_sounds(); + init_world(); + + // Exec all other required threads here + +// thread move_pumps(); +// thread move_arm1(); + + init_bridge(); + init_running_lights(); + thread running_lights_thread(); + } +} + + diff --git a/base/script/map_delta1.script b/base/script/map_delta1.script new file mode 100644 index 00000000..27d49069 --- /dev/null +++ b/base/script/map_delta1.script @@ -0,0 +1,1519 @@ +namespace map_delta1 { + float power = 0 ; + float rgb_modifier = 0; + + // number of security lights(sl) and doors(dl) + float sl_count = 5; + float dl_count = 8; + + + //////////////////////////////////////////////////// + // + // Initial movements etc... + // + //////////////////////////////////////////////////// + void init_world() + { + //////////////////////////////////////////////////// + //SENECA's HOLOGRAM INITS + $hologram.hide(); + $hologram.setColor (.3, .35, .45); //inital medium blue + $hologram.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram.setShaderParm(5,0); //the delta 1 ring's RGB defaults to 0 + $hologram.setShaderParm(6,100); //the plane beneath the hologram starts infinitely small + $hologram.setShaderParm(7,0); //rgb of tops of rooms + + //the important rooms + $hologram1.hide(); + $hologram1.bind ($hologram1_1_anchor); + $hologram1.setColor (.6, .7, .9); //inital light blue + $hologram1.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram1.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram1.setShaderParm(7,0); //rgb of tops of rooms + + $hologram2.hide(); + $hologram2.bind ($hologram2_1_anchor); + $hologram2.setColor (.6, .7, .9); + $hologram2.setShaderParm(3,-0.6); + $hologram2.setShaderParm(4,100); + $hologram2.setShaderParm(7,0); + + $hologram3.hide(); + $hologram3.bind ($hologram3_1_anchor); + $hologram3.setColor (.6, .7, .9); + $hologram3.setShaderParm(3,-0.6); + $hologram3.setShaderParm(4,100); + $hologram3.setShaderParm(7,0); + + $hologram4.hide(); + $hologram4.bind ($hologram4_1_anchor); + $hologram4.setColor (.6, .7, .9); + $hologram4.setShaderParm(3,-0.6); + $hologram4.setShaderParm(4,100); + $hologram4.setShaderParm(7,0); + + $hologram5.hide(); + $hologram5.bind ($hologram5_1_anchor); + $hologram5.setColor (.6, .7, .9); + $hologram5.setShaderParm(3,-0.6); + $hologram5.setShaderParm(4,100); + $hologram5.setShaderParm(7,0); + + //the important rooms' glows + $hologram1_1.hide(); + $hologram1_1.bind ($hologram1); + $hologram1_1.setShaderParm(3,0); //RGB of the red boxes outside each hologram. starts at 100% transparent. + $hologram1_1.setShaderParm(4,10); //height of the red boxes outside each hologram. starts real small + $hologram1_1.setShaderParm(5,0); //scale of the round disc + $hologram1_1.setShaderParm(6,0); //RGB of the round plate that grows when you select an important area. + $hologram1_1.setShaderParm(7,0); //RGB of the sprite round plate + + $hologram2_1.hide(); + $hologram2_1.bind ($hologram2); + $hologram2_1.setColor (.6, .7, .9); + $hologram2_1.setShaderParm(3,0); + $hologram2_1.setShaderParm(4,10); + $hologram2_1.setShaderParm(5,0); + $hologram2_1.setShaderParm(6,0); + + $hologram3_1.hide(); + $hologram3_1.bind ($hologram3); + $hologram3_1.setColor (.6, .7, .9); + $hologram3_1.setShaderParm(3,0); + $hologram3_1.setShaderParm(4,10); + $hologram3_1.setShaderParm(5,0); + $hologram3_1.setShaderParm(6,0); + + $hologram4_1.hide(); + $hologram4_1.bind ($hologram4); + $hologram4_1.setColor (.6, .7, .9); + $hologram4_1.setShaderParm(3,0); + $hologram4_1.setShaderParm(4,10); + $hologram4_1.setShaderParm(5,0); + $hologram4_1.setShaderParm(6,0); + + $hologram5_1.hide(); + $hologram5_1.bind ($hologram5); + $hologram5_1.setColor (.6, .7, .9); + $hologram5_1.setShaderParm(3,0); + $hologram5_1.setShaderParm(4,10); + $hologram5_1.setShaderParm(5,0); + $hologram5_1.setShaderParm(6,0); + + + //END SENECA's HOLOGRAM INITS + //////////////////////////////////////////////////// + + $lobby_spawn_trigger.disable(); + $lobby_spawn_trigger2.disable(); + + // scipull stuff + $delta1_scipull_1.hide(); + $scipull_panel_end.hide(); + + // sizzor lift binds + $siz_axle_low.bind ($siz_lowlegr); + $siz_axle_left.bind ($siz_lowlegr); + $siz_toplegl.bind ($siz_axle_left); + $siz_axle_top.bind ($siz_toplegl); + $siz_toplegr.bind ($siz_axle_top); + $siz_axle_right.bind ($siz_toplegr); + $siz_lowlegl.bind ($siz_axle_right); + + $siz_topcr.bindPosition ($siz_toplegl); + $siz_topcl.bindPosition ($siz_toplegr); + + $siz_lowcl.bindPosition ($siz_lowlegl); + + $siz_top.bind ($siz_topcr); + $siz_control.bind ($siz_top); + + // sizzor accel and decel times + $siz_toplegl.time ( 1.5 ); + $siz_toplegr.time ( 1.5 ); + $siz_lowlegl.time ( 1.5 ); + $siz_lowlegr.time ( 1.5 ); + + $siz_toplegl.accelTime ( .5 ); + $siz_toplegl.decelTime ( .5 ); + $siz_toplegr.accelTime ( .5 ); + $siz_toplegr.decelTime ( .5 ); + + $siz_lowlegl.accelTime ( .5 ); + $siz_lowlegl.decelTime ( .5 ); + $siz_lowlegr.accelTime ( .5 ); + $siz_lowlegr.decelTime ( .5 ); + + // reactor setup + $outerring_anchor.rotateOnce ('-45 0 0'); + $innerring_anchor.rotateOnce ('-30 0 0'); + } + + + //////////////////////////////////////////////////// + // + // Global parm ramp up or down + // + //////////////////////////////////////////////////// + void light_ramp( float rgb_start, float rgb_end, float time_val ) + { + float i, t, v; + + t = time_val * GAME_FPS; + for ( i = 0; i < t; i++ ) { + v = rgb_start + ( rgb_end - rgb_start ) * ( i / t ); + sys.setShaderParm( 0, v ); + sys.setShaderParm( 1, v ); + sys.setShaderParm( 2, v ); + sys.wait( GAME_FRAMETIME ); + } + sys.setShaderParm( 0, rgb_end ); + sys.setShaderParm( 1, rgb_end ); + sys.setShaderParm( 2, rgb_end ); + } + + + + //////////////////////////////////////////////////// + // + // Power flux + // + //////////////////////////////////////////////////// + void power_flux() + { + float i; + float ran_loop, ran_new, ran_time; + float old; + + old = .2; + ran_loop = (sys.random(10) + 5); + + for (i=1; i<=ran_loop; i++){ + ran_new = sys.random(1.5); + ran_time = sys.random(1); + light_ramp( old, ran_new, ran_time ); + + old = ran_new; + } + + light_ramp( old, .15, .3 ); + } + + + + //////////////////////////////////////////////////// + // + // Low Power Loop + // random power flucuations + // + //////////////////////////////////////////////////// + void low_power_loop() + { + //sys.print ("begin low_power_loop\n"); + //sys.print ("power level =" + power + "\n"); + float ran; + ran = sys.random (3); + sys.wait (ran); + + while (power == 1){ + ran = (sys.random(4) + 12); + //sys.print ("next power surge in " + ran + " seconds\n"); + sys.wait (ran); + + power_flux(); + } + + //sys.print ("made it to the end of low power loop\n"); + if (power==2){ + float ii; + float rate; + + rate = GAME_FRAMETIME * 0.25; + for( ii = rgb_modifier; ii <= 1; ii += rate ) { + sys.setShaderParm(0,(ii*.65)); + sys.setShaderParm(1,(ii*.65)); + sys.setShaderParm(2,(ii*.75)); + + sys.wait (GAME_FRAMETIME); + } + } + } + + + + //////////////////////////////////////////////////// + // + // security lights on + // + //////////////////////////////////////////////////// + void seclights_on() + { + entity sl_ent, ssl_ent1, bsl_ent1, ssl_ent2, bsl_ent2; + float i; + + for (i=1; i<=sl_count; i++){ + sl_ent=sys.getEntity ("sl_" + i); + + ssl_ent1=sys.getEntity ("ssl_" + i + "_a"); + ssl_ent2=sys.getEntity ("ssl_" + i + "_b"); + + bsl_ent1=sys.getEntity ("bsl_" + i + "_a"); + bsl_ent2=sys.getEntity ("bsl_" + i + "_b"); + + sl_ent.setColor( .627, .1, 0 ); + ssl_ent1.On(); + ssl_ent2.On(); + bsl_ent1.On(); + bsl_ent2.On(); + } + } + + + //////////////////////////////////////////////////// + // + // security lights off + // + //////////////////////////////////////////////////// + void seclights_off() + { + entity sl_ent, ssl_ent1, bsl_ent1, ssl_ent2, bsl_ent2; + float i; + + for (i=1; i<=sl_count; i++){ + sl_ent=sys.getEntity ("sl_" + i); + + ssl_ent1=sys.getEntity ("ssl_" + i + "_a"); + ssl_ent2=sys.getEntity ("ssl_" + i + "_b"); + + bsl_ent1=sys.getEntity ("bsl_" + i + "_a"); + bsl_ent2=sys.getEntity ("bsl_" + i + "_b"); + + sl_ent.setColor( 0,0,0 ); + ssl_ent1.Off(); + ssl_ent2.Off(); + bsl_ent1.Off(); + bsl_ent2.Off(); + } + } + + + //////////////////////////////////////////////////// + // + // hologram on + // + //////////////////////////////////////////////////// + void hologram_on() + { + $hologram_light_big.setColor( .75, .8, .85 ); + + // trigger the initial power up sound in control room + // sys.trigger ($warning_speaker_initial); + + // sci stuff + $delta1_scipull_1.show(); + $scipull_panel_end.show(); + + $scidead.remove(); + $scipull_panel_start.remove(); + + $lobby_spawn_trigger.enable(); + $lobby_spawn_trigger2.enable(); + + // data linker show and move down + $datalinker.startSoundShader ("hologram_datalinker", SND_CHANNEL_VOICE ); + $datalinker.time(.75); + $datalinker.show(); + $datalinker.move ( DOWN, 8 ); + } + + + //////////////////////////////////////////////////// + // + // hologram off + // + //////////////////////////////////////////////////// + void hologram_off() + { + $hologram_light_big.setColor( .75, .8, .85 ); + } + + //////////////////////////////////////////////////// + // + // door lights on + // + //////////////////////////////////////////////////// + void doorlights_on() + { + entity dl_ent1, dl_ent2, dl_ent3 ; + float i; + + for (i=1; i<=dl_count; i++){ + dl_ent1=sys.getEntity ("dl_" + i); + dl_ent2=sys.getEntity ("dl_" + i + "_a"); + dl_ent3=sys.getEntity ("dl_" + i + "_b"); + + dl_ent1.setColor( .627, .1, 0 ); + dl_ent2.setColor( .627, .1, 0 ); + dl_ent3.setColor( .627, .1, 0 ); + } + } + + + /////////////////////////////////////////////////// + // + // door lights off + // + //////////////////////////////////////////////////// + void doorlights_off() + { + entity dl_ent1, dl_ent2, dl_ent3 ; + float i; + + for (i=1; i<=dl_count; i++){ + dl_ent1=sys.getEntity ("dl_" + i); + dl_ent2=sys.getEntity ("dl_" + i + "_a"); + dl_ent3=sys.getEntity ("dl_" + i + "_b"); + + dl_ent1.setColor( 1, 1, 1 ); + dl_ent2.setColor( 1, 1, 1 ); + dl_ent3.setColor( 1, 1, 1 ); + } + } + + + //////////////////////////////////////////////////// + // + // Power is offline + // level 0 + // + //////////////////////////////////////////////////// + void power_level_0() + { + float i; + float rate; + + rate = GAME_FRAMETIME * 0.25; + for( i = rgb_modifier; i >= 0; i -= rate ) { + + sys.setShaderParm(0,i); + sys.setShaderParm(1,i); + sys.setShaderParm(2,i); + + sys.wait (GAME_FRAMETIME); + } + + // force all to 0,0,0 just incase there is a fraction left over... + // to make sure the shadows are off + sys.setShaderParm(0,0); + sys.setShaderParm(1,0); + sys.setShaderParm(2,0); + + // turn on the security lights + // turn on door lights to red + // turn the hologram light off + thread seclights_on(); + thread doorlights_on(); + thread hologram_off(); + + // set the rgb modifier tracking variable + rgb_modifier = 0; + + // sys.print ( "power offline\n" ); + power = 0; + } + + + //////////////////////////////////////////////////// + // + // Power to level 1 + // + //////////////////////////////////////////////////// + void power_level_1() + { + // turn security lights off + // doorlights back to white if red + thread seclights_off(); + thread doorlights_off(); + sys.wait (1); + + float i; + float rate; + + if ( power >= 1 ){ + rate = GAME_FRAMETIME * 0.25; + for( i = rgb_modifier; i >= .25; i -= rate ) { + + sys.setShaderParm(0,i); + sys.setShaderParm(1,i); + sys.setShaderParm(2,i); + + sys.wait (GAME_FRAMETIME); + } + } else { + rate = GAME_FRAMETIME * 0.25; + for( i = rgb_modifier; i <= .25; i += rate ) { + + sys.setShaderParm(0,i); + sys.setShaderParm(1,i); + sys.setShaderParm(2,i); + + sys.wait (GAME_FRAMETIME); + } + } + + // set the rgb modifier tracking variable + rgb_modifier = .25; + + // sys.print ( "power 10%\n" ); + power = 1; + + low_power_loop(); + } + + + //////////////////////////////////////////////////// + // + // Power to level 2 + // + //////////////////////////////////////////////////// + void power_level_2() + { + // turn security lights off + // doorlights back to white if red + // turn the hologram on if off + power = 2; + seclights_off(); + doorlights_off(); + hologram_on(); + + float i; + float rate; + + rate = GAME_FRAMETIME * 0.25; + for( i = rgb_modifier; i <= 1; i += rate ) { + + sys.setShaderParm(0,(i*.65)); + sys.setShaderParm(1,(i*.65)); + sys.setShaderParm(2,(i*.75)); + + sys.wait (GAME_FRAMETIME); + } + + // set the rgb modifier tracking variable + rgb_modifier = 1; + + } + + + //////////////////////////////////////////////////// + // + // Computer Voice Loop + // + //////////////////////////////////////////////////// + void computer_voice_loop() + { + sys.killthread ( "map_delta1::pre_computer_voice_loop" ); + + sys.wait (35); + + while (1){ + sys.trigger($speaker_reactor_offline); // 3.110 + sys.wait (3.4); + sys.trigger($speaker_follow_procedure_orage); // 3.165 + sys.wait (3.165); + + sys.wait (35); + } + } + + + //////////////////////////////////////////////////// + // + // Computer Voice Loop + // This is the initial voice loop + // + //////////////////////////////////////////////////// + void pre_computer_voice_loop() + { + while (power==0){ + sys.trigger($speaker_emr_pwr_only); // 2.219 seconds + sys.wait (2.4); + sys.trigger($speaker_operations_suspended); // 2.816 seconds + sys.wait (2.816); + + sys.wait (35); + } + } + + + //////////////////////////////////////////////////// + // + // Zombie falls out of panel and stuff + // + //////////////////////////////////////////////////// + void zombie_fallout() + { + // make the panel bounce back down + + sys.trigger ($zombie_fallout_speaker); + + $rot_panel_1.time (.25); + $rot_panel_1.decelTime (.01); + $rot_panel_1.rotateOnce ( '-10 0 0' ); + sys.waitFor ( $rot_panel_1 ); + + $rot_panel_1.time (.2); + $rot_panel_1.decelTime (.2); + $rot_panel_1.rotateOnce ( '10 0 0' ); + sys.waitFor ( $rot_panel_1 ); + + $rot_panel_1.time (.2); + $rot_panel_1.decelTime (.01); + $rot_panel_1.rotateOnce ( '-5 0 0' ); + sys.waitFor ( $rot_panel_1 ); + + $rot_panel_1.time (.15); + $rot_panel_1.decelTime (.15); + $rot_panel_1.rotateOnce ( '5 0 0' ); + sys.waitFor ( $rot_panel_1 ); + + $rot_panel_1.time (.1); + $rot_panel_1.decelTime (.1); + $rot_panel_1.rotateOnce ( '-2 0 0' ); + sys.waitFor ( $rot_panel_1 ); + + $rot_panel_1.time (.1); + $rot_panel_1.decelTime (.1); + $rot_panel_1.rotateOnce ( '1 0 0' ); + sys.waitFor ( $rot_panel_1 ); + + } + + + //////////////////////////////////////////////////// + // + // reactor move + // + //////////////////////////////////////////////////// + void reactor_move () + { + float i,v,t,blendtime,velmult; + vector rotvector; + + blendtime = 7; + velmult = .5; + + t = blendtime * GAME_FPS; + + for ( i = 10; i < t; i++ ) { + v = (i * velmult); + + rotvector_x=v ;rotvector_y=0 ; rotvector_z=0; + $reactor_innerring.rotate ( rotvector ); + + rotvector_x=-v ;rotvector_y=0 ; rotvector_z=0; + $reactor_outerring.rotate ( rotvector ); + + sys.wait( GAME_FRAMETIME ); + } + } + + //////////////////////////////////////////////////// + // + // reactor startup sequence + // + //////////////////////////////////////////////////// + void reactor_startup () + { + // this will eventually have things like: + // reactor ramping up + // lights doing something + + sys.trigger ($reactor_speaker_startup); + sys.trigger ($speaker_driver); + + $end_control.setGuiParm( "gui_parm5" , 0 ); + + //call reactor start function + thread reactor_move(); + + sys.killthread ( "map_delta1::computer_voice_loop" ); + sys.killthread ( "map_delta1::low_power_loop" ); + sys.killthread ( "map_delta1::power_flux" ); + thread power_level_2(); + + sys.wait(2); + sys.trigger ($reactor_comp_reactoronline); + //sys.print ( "trigger objective complete\n" ); + sys.trigger($reactor_objective_complete_trigger); + sys.wait(4); + //sys.print ( "trigger last objective\n" ); + sys.trigger($elevator_objective_trigger); + + + sys.wait(4); + sys.trigger ($reactor_speaker_loop); + + // trigger the door sign guis and kiosk guis + sys.trigger($doorsigns_gui_relay); + } + + + //////////////////////////////////////////////////// + // + // Sound moving #1 + // Plays a sound on a moving speaker + // + //////////////////////////////////////////////////// + void spooky_sound_1 () + { + $ms1_speaker.bind ($ms1_mover); + $ms1_mover.time (7.2); + + sys.trigger ($ms1_speaker); + $ms1_mover.moveTo ($ms1_movepoint); + + sys.waitFor ($ms1_mover); + $ms1_speaker.Off(); + } + + + //////////////////////////////////////////////////// + // + // Random Spooky sounds #2 + // + //////////////////////////////////////////////////// + void spooky_sound_2 () + { + sys.trigger ($ran_speaker_1_1); + sys.wait (1); + sys.trigger ($ran_speaker_1_2); + } + + + //////////////////////////////////////////////////// + // + // Random Spooky sounds #3 + // + //////////////////////////////////////////////////// + void spooky_sound_3 () + { + float numran; + numran = sys.random(3); + + if (numran>=2){ + sys.trigger ($ran_speaker_2_1); + sys.wait (.5); + sys.trigger ($ran_speaker_2_2); + } else if (numran>=1){ + sys.trigger ($ran_speaker_2_2); + sys.wait (.5); + sys.trigger ($ran_speaker_2_3); + } else { + sys.trigger ($ran_speaker_2_3); + sys.wait (.5); + sys.trigger ($ran_speaker_2_2); + sys.trigger ($ran_speaker_2_1); + } + } + + + //////////////////////////////////////////////////// + // + // Random Spooky sounds #4 + // + //////////////////////////////////////////////////// + void spooky_sound_4 () + { + float numran; + numran = sys.random(3); + + if (numran>=2){ + sys.trigger ($ran_speaker_3_1); + sys.wait (.5); + sys.trigger ($ran_speaker_3_4); + } else if (numran>=1){ + sys.trigger ($ran_speaker_3_2); + sys.wait (.5); + sys.trigger ($ran_speaker_3_3); + } else { + sys.trigger ($ran_speaker_3_3); + sys.wait (.5); + sys.trigger ($ran_speaker_3_2); + sys.trigger ($ran_speaker_3_1); + } + } + + + + //////////////////////////////////////////////////// + // + // Seneca's hologram initial activation (unhiding) + // + //////////////////////////////////////////////////// + + void hologram_start () + { + //temp + $hologram1.setColor (.6, .7, .9); //inital light blue + $hologram1.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram1.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram1.setShaderParm(7,0); //rgb of tops of rooms + //temp + //temp + $hologram2.setColor (.6, .7, .9); //inital light blue + $hologram2.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram2.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram2.setShaderParm(7,0); //rgb of tops of rooms + //temp + //temp + $hologram3.setColor (.6, .7, .9); //inital light blue + $hologram3.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram3.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram3.setShaderParm(7,0); //rgb of tops of rooms + //temp + //temp + $hologram4.setColor (.6, .7, .9); //inital light blue + $hologram4.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram4.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram4.setShaderParm(7,0); //rgb of tops of rooms + //temp + //temp + $hologram5.setColor (.6, .7, .9); //inital light blue + $hologram5.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram5.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram5.setShaderParm(7,0); //rgb of tops of rooms + //temp + //temp + $hologram.setColor (.3, .45, .45); //inital medium blue + $hologram.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram.setShaderParm(5,0); //the delta 1 ring's RGB defaults to 0 + $hologram.setShaderParm(6,100); //the plane beneath the hologram starts infinitely small + $hologram.setShaderParm(7,0); //rgb of tops of rooms + //temp + $hologram.show(); + thread interpolateShaderParm( $hologram, 6, 100, 1, 1 ); //scale in bottom grid + sys.wait (1); + thread interpolateShaderParm( $hologram, 4, 100, 5, .2 ); //bring in bottoms of rooms + sys.wait (0.2); + thread interpolateShaderParm( $hologram, 4, 5, 0.85, 1 ); //scale up bottoms of rooms + thread interpolateShaderParm( $hologram, 5, 0, 1, 5 ); //RGB in delta cylinder + sys.wait (1); + thread interpolateShaderParm( $hologram, 3, -0.6, 0, 1 ); //bring up sides of rooms and cap off. + sys.wait (1); + thread interpolateShaderParm( $hologram, 7, 0, 1, 0.05 ); //RGB of room tops + } + + void hologram1_start () + { + //temp + $hologram1.setColor (.6, .7, .9); //inital light blue + $hologram1.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram1.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram1.setShaderParm(7,0); //rgb of tops of rooms + //temp + $hologram1.show(); + thread interpolateShaderParm( $hologram1, 6, 100, 1, 1 ); //scale in bottom grid + sys.wait (1); + thread interpolateShaderParm( $hologram1, 4, 100, 5, .2 ); //bring in bottoms of rooms + sys.wait (0.2); + thread interpolateShaderParm( $hologram1, 4, 5, 0.85, 1 ); //scale up bottoms of rooms + sys.wait (1); + thread interpolateShaderParm( $hologram1, 3, -0.6, 0, 1 ); //bring up sides of rooms and cap off. + sys.wait (1); + thread interpolateShaderParm( $hologram1, 7, 0, 1, 0.05 ); //RGB of room tops + } + + void hologram2_start () + { + //temp + $hologram2.setColor (.6, .7, .9); //inital light blue + $hologram2.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram2.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram2.setShaderParm(7,0); //rgb of tops of rooms + //temp + $hologram2.show(); + thread interpolateShaderParm( $hologram2, 6, 100, 1, 1 ); //scale in bottom grid + sys.wait (1); + thread interpolateShaderParm( $hologram2, 4, 100, 5, .2 ); //bring in bottoms of rooms + sys.wait (0.2); + thread interpolateShaderParm( $hologram2, 4, 5, 0.85, 1 ); //scale up bottoms of rooms + sys.wait (1); + thread interpolateShaderParm( $hologram2, 3, -0.6, 0, 1 ); //bring up sides of rooms and cap off. + sys.wait (1); + thread interpolateShaderParm( $hologram2, 7, 0, 1, 0.05 ); //RGB of room tops + } + + void hologram3_start () + { + //temp + $hologram3.setColor (.6, .7, .9); //inital light blue + $hologram3.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram3.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram3.setShaderParm(7,0); //rgb of tops of rooms + //temp + $hologram3.show(); + thread interpolateShaderParm( $hologram3, 6, 100, 1, 1 ); //scale in bottom grid + sys.wait (1); + thread interpolateShaderParm( $hologram3, 4, 100, 5, .2 ); //bring in bottoms of rooms + sys.wait (0.2); + thread interpolateShaderParm( $hologram3, 4, 5, 0.85, 1 ); //scale up bottoms of rooms + sys.wait (1); + thread interpolateShaderParm( $hologram3, 3, -0.6, 0, 1 ); //bring up sides of rooms and cap off. + sys.wait (1); + thread interpolateShaderParm( $hologram3, 7, 0, 1, 0.05 ); //RGB of room tops + } + + void hologram4_start () + { + //temp + $hologram4.setColor (.6, .7, .9); //inital light blue + $hologram4.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram4.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram4.setShaderParm(7,0); //rgb of tops of rooms + //temp + $hologram4.show(); + thread interpolateShaderParm( $hologram4, 6, 100, 1, 1 ); //scale in bottom grid + sys.wait (1); + thread interpolateShaderParm( $hologram4, 4, 100, 5, .2 ); //bring in bottoms of rooms + sys.wait (0.2); + thread interpolateShaderParm( $hologram4, 4, 5, 0.85, 1 ); //scale up bottoms of rooms + sys.wait (1); + thread interpolateShaderParm( $hologram4, 3, -0.6, 0, 1 ); //bring up sides of rooms and cap off. + sys.wait (1); + thread interpolateShaderParm( $hologram4, 7, 0, 1, 0.05 ); //RGB of room tops + } + + void hologram5_start () + { + //temp + $hologram5.setColor (.6, .7, .9); //inital light blue + $hologram5.setShaderParm(3,-0.6); //the side textures scroll from bottom to top. + $hologram5.setShaderParm(4,100); //the bottom textures scale from the center of the faces out to the edges. + $hologram5.setShaderParm(7,0); //rgb of tops of rooms + //temp + $hologram5.show(); + thread interpolateShaderParm( $hologram5, 6, 100, 1, 1 ); //scale in bottom grid + sys.wait (1); + thread interpolateShaderParm( $hologram5, 4, 100, 5, .2 ); //bring in bottoms of rooms + sys.wait (0.2); + thread interpolateShaderParm( $hologram5, 4, 5, 0.85, 1 ); //scale up bottoms of rooms + sys.wait (1); + thread interpolateShaderParm( $hologram5, 3, -0.6, 0, 1 ); //bring up sides of rooms and cap off. + sys.wait (1); + thread interpolateShaderParm( $hologram5, 7, 0, 1, 0.05 ); //RGB of room tops + } + + void hologram1_1 () //this is the animation that gets played when player clicks on Control Center + { + if ($hologram1_1.getFloatKey ("state")==1){ + + $hologram1_1.startSoundShader ("hologram_spawnout", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram1_1, 7, 1, 0, .2 ); //fade out round spinny plane + thread crossFadeEnt( $hologram1, $hologram1.getColor(), '.15 .175 .22', 1); //make the unselected room go back to default colors + + $hologram1_1_anchor.time(.15); + $hologram1_1_anchor.rotateOnce ( '0 0 -30'); + $hologram1_1_anchor.move(WEST,30); + sys.waitFor( $hologram1_1_anchor ); + $hologram1_1_anchor.move(NORTH,16); + sys.waitFor( $hologram1_1_anchor ); + $hologram1_1_anchor.move(DOWN,40); + sys.waitFor( $hologram1_1_anchor ); + $hologram1_1.hide(); + $hologram1_1.setKey ("state", "0"); + } else { + $hologram1_1.show(); + $hologram1_1.setKey ("state", "1"); //sets it so that next time you run the script, it puts the objects back where it was. + $hologram1_1.setShaderParm(7,0); + $hologram1_1.setColor (1, .1, 0); //make little line red + thread crossFadeEnt( $hologram, $hologram.getColor(), '.1 .2 .2', .5); //make the base hologram darken a little. + thread interpolateShaderParm( $hologram, 5, 1, .35, .5 ); //make the base hologram's matrix effect go darker. + thread crossFadeEnt( $hologram1, $hologram1.getColor(), '1 .1 0', .5); //make selected room go red. + thread crossFadeEnt( $hologram2, $hologram2.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram3, $hologram3.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram4, $hologram4.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram5, $hologram5.getColor(), '.15 .175 .22', .5); //make unselected room darken. + + $hologram1_1.startSoundShader ("hologram_spawn", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram1_1, 3, 0, 100, .1 ); //RGB in red boxes + thread interpolateShaderParm( $hologram1_1, 4, 10, 1, 1 ); //scale up the sides of red boxes + thread interpolateShaderParm( $hologram1_1, 5, 10, 1, 1 ); //scale up round plane + sys.wait (.7); + thread interpolateShaderParm( $hologram1_1, 6, 1, 0, 2 ); //RGB out round spinny plane + thread interpolateShaderParm( $hologram1_1, 3, 1, 0, 1 ); //RGB out red boxes + sys.wait(1); + + $hologram1_1_anchor.time(1); + $hologram1_1_anchor.accelTime(.4); + $hologram1_1_anchor.decelTime(.4); + + $hologram1_1_anchor.move(UP,40); + $hologram1_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + + sys.waitFor( $hologram1_1_anchor ); + + $hologram1_1_anchor.move(SOUTH,16); + $hologram1_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + + sys.waitFor( $hologram1_1_anchor ); + + $hologram1_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE2 ); + + $hologram1_1_anchor.move(EAST,30); + thread crossFadeEnt( $hologram1, $hologram1.getColor(), '.5 .05 0', .5); + thread interpolateShaderParm( $hologram1_1, 7, 0, 1, 1 ); //RGB in the red sprite round plate + + $hologram1_1.startSoundShader ("hologram_loop", SND_CHANNEL_VOICE ); + + $hologram1_1_anchor.rotateOnce ( '0 0 30'); + } + } + + void hologram2_1 () //this is the animation that gets played when player clicks on lobby/elevators + { + if ($hologram2_1.getFloatKey ("state")==1){ + + $hologram2_1.startSoundShader ("hologram_spawnout", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram2_1, 7, 1, 0, .2 ); //fade out round spinny plane + thread crossFadeEnt( $hologram2, $hologram2.getColor(), '.15 .175 .22', 1); //make the unselected room go back to default colors + + $hologram2_1_anchor.time(.15); + $hologram2_1_anchor.rotateOnce ( '0 0 -30'); + $hologram2_1_anchor.move(NORTH,64); + sys.wait(.15); + $hologram2_1_anchor.move(WEST,40); + sys.wait(.15); + $hologram2_1_anchor.move(DOWN,44); + sys.wait(.15); + $hologram2_1.hide(); + $hologram2_1.setKey ("state", "0"); + } else { + $hologram2_1.show(); + $hologram2_1.setKey ("state", "1"); + $hologram2_1.setShaderParm(7,0); + $hologram2_1.setColor (1, .1, 0); //make little line red + thread crossFadeEnt( $hologram, $hologram.getColor(), '.1 .2 .2', .5); //make the base hologram darken a little. + thread interpolateShaderParm( $hologram, 5, 1, .35, .5 ); //make the base hologram's matrix effect go darker. + thread crossFadeEnt( $hologram1, $hologram1.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram2, $hologram2.getColor(), '1 .1 0', .5); //make selected room go red. + thread crossFadeEnt( $hologram3, $hologram3.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram4, $hologram4.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram5, $hologram5.getColor(), '.15 .175 .22', .5); //make unselected room darken. + + $hologram2_1.startSoundShader ("hologram_spawn", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram2_1, 3, 0, 100, .1 ); //RGB in red boxes + thread interpolateShaderParm( $hologram2_1, 4, 10, 1, 1 ); //scale up the sides of red boxes + thread interpolateShaderParm( $hologram2_1, 5, 10, 1, 1 ); //scale up round plane + sys.wait (.7); + thread interpolateShaderParm( $hologram2_1, 6, 1, 0, 2 ); //RGB out round spinny plane + thread interpolateShaderParm( $hologram2_1, 3, 1, 0, 1 ); //RGB out red boxes + sys.wait(1); + + $hologram2_1_anchor.time(1); + $hologram2_1_anchor.accelTime(.4); + $hologram2_1_anchor.decelTime(.4); + $hologram2_1_anchor.move(UP,44); + $hologram2_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + + sys.wait(1); + $hologram2_1_anchor.move(EAST,40); + $hologram2_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + sys.wait(1); + $hologram2_1_anchor.move(SOUTH,64); + $hologram2_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE2 ); + thread crossFadeEnt( $hologram2, $hologram2.getColor(), '.5 .05 0', .5); + thread interpolateShaderParm( $hologram2_1, 7, 0, 1, 1 ); //RGB in the red sprite round plate + + $hologram2_1.startSoundShader ("hologram_loop", SND_CHANNEL_VOICE ); + $hologram2_1_anchor.rotateOnce ( '0 0 30'); + } + } + + + void hologram3_1 () //this is the animation that gets played when player clicks on Control Center + { + if ($hologram3_1.getFloatKey ("state")==1){ + + $hologram3_1.startSoundShader ("hologram_spawnout", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram3_1, 7, 1, 0, .2 ); //fade out round spinny plane + thread crossFadeEnt( $hologram3, $hologram3.getColor(), '.15 .175 .22', 1); //make the unselected room go back to default colors + + $hologram3_1_anchor.time(.15); + $hologram3_1_anchor.rotateOnce ( '0 0 -30'); + $hologram3_1_anchor.move(NORTH,108); + sys.wait(.15); + $hologram3_1_anchor.move(WEST,36); + sys.wait(.15); + $hologram3_1_anchor.move(DOWN,36); + sys.wait(.15); + $hologram3_1.hide(); + $hologram3_1.setKey ("state", "0"); + } else { + $hologram3_1.show(); + $hologram3_1.setKey ("state", "1"); + $hologram3_1.setShaderParm(7,0); + $hologram3_1.setColor (1, .1, 0); //make little line red + thread crossFadeEnt( $hologram, $hologram.getColor(), '.1 .2 .2', .5); //make the base hologram darken a little. + thread interpolateShaderParm( $hologram, 5, 1, .35, .5 ); //make the base hologram's matrix effect go darker. + thread crossFadeEnt( $hologram1, $hologram1.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram2, $hologram2.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram3, $hologram3.getColor(), '1 .1 0', .5); //make selected room go red. + thread crossFadeEnt( $hologram4, $hologram4.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram5, $hologram5.getColor(), '.15 .175 .22', .5); //make unselected room darken. + + $hologram3_1.startSoundShader ("hologram_spawn", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram3_1, 3, 0, 100, .1 ); //RGB in red boxes + thread interpolateShaderParm( $hologram3_1, 4, 10, 1, 1 ); //scale up the sides of red boxes + thread interpolateShaderParm( $hologram3_1, 5, 10, 1, 1 ); //scale up round plane + sys.wait (.7); + thread interpolateShaderParm( $hologram3_1, 6, 1, 0, 2 ); //RGB out round spinny plane + thread interpolateShaderParm( $hologram3_1, 3, 1, 0, 1 ); //RGB out red boxes + sys.wait(1); + + $hologram3_1_anchor.time(1); + $hologram3_1_anchor.accelTime(.4); + $hologram3_1_anchor.decelTime(.4); + $hologram3_1_anchor.move(UP,36); + $hologram3_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + sys.wait(1); + $hologram3_1_anchor.move(EAST,36); + $hologram3_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + sys.wait(1); + $hologram3_1_anchor.move(SOUTH,108); + $hologram3_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE2 ); + thread crossFadeEnt( $hologram3, $hologram3.getColor(), '.5 .05 0', .5); + thread interpolateShaderParm( $hologram3_1, 7, 0, 1, 1 ); //RGB in the red sprite round plate + $hologram3_1.startSoundShader ("hologram_loop", SND_CHANNEL_VOICE ); + $hologram3_1_anchor.rotateOnce ( '0 0 30'); + } + } + + void hologram4_1 () //this is the animation that gets played when player clicks on Control Center + { + if ($hologram4_1.getFloatKey ("state")==1){ + + $hologram4_1.startSoundShader ("hologram_spawnout", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram4_1, 7, 1, 0, .2 ); //fade out round spinny plane + thread crossFadeEnt( $hologram4, $hologram4.getColor(), '.15 .175 .22', 1); //make the unselected room go back to default colors + + $hologram4_1_anchor.time(.15); + $hologram4_1_anchor.rotateOnce ( '0 0 -30'); + $hologram4_1_anchor.move(NORTH,200); + sys.wait(.15); + $hologram4_1_anchor.move(WEST,40); + sys.wait(.15); + $hologram4_1_anchor.move(DOWN,40); + sys.wait(.15); + $hologram4_1.hide(); + $hologram4_1.setKey ("state", "0"); + } else { + $hologram4_1.show(); + $hologram4_1.setKey ("state", "1"); + $hologram4_1.setShaderParm(7,0); + $hologram4_1.setColor (1, .1, 0); //make little line red + thread crossFadeEnt( $hologram, $hologram.getColor(), '.1 .2 .2', .5); //make the base hologram darken a little. + thread interpolateShaderParm( $hologram, 5, 1, .35, .5 ); //make the base hologram's matrix effect go darker. + thread crossFadeEnt( $hologram1, $hologram1.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram2, $hologram2.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram3, $hologram3.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram4, $hologram4.getColor(), '1 .1 0', .5); //make selected room go red. + thread crossFadeEnt( $hologram5, $hologram5.getColor(), '.15 .175 .22', .5); //make unselected room darken. + + $hologram4_1.startSoundShader ("hologram_spawn", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram4_1, 3, 0, 100, .1 ); //RGB in red boxes + thread interpolateShaderParm( $hologram4_1, 4, 10, 1, 1 ); //scale up the sides of red boxes + thread interpolateShaderParm( $hologram4_1, 5, 10, 1, 1 ); //scale up round plane + sys.wait (.7); + thread interpolateShaderParm( $hologram4_1, 6, 1, 0, 2 ); //RGB out round spinny plane + thread interpolateShaderParm( $hologram4_1, 3, 1, 0, 1 ); //RGB out red boxes + + + sys.wait(1); + + $hologram4_1_anchor.time(1); + $hologram4_1_anchor.accelTime(.4); + $hologram4_1_anchor.decelTime(.4); + $hologram4_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + $hologram4_1_anchor.move(UP,40); + sys.wait(1); + $hologram4_1_anchor.move(EAST,40); + $hologram4_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + sys.wait(1); + $hologram4_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE2 ); + $hologram4_1_anchor.move(SOUTH,200); + thread crossFadeEnt( $hologram4, $hologram4.getColor(), '.5 .05 0', .5); + thread interpolateShaderParm( $hologram4_1, 7, 0, 1, 1 ); //RGB in the red sprite round plate + $hologram4_1.startSoundShader ("hologram_loop", SND_CHANNEL_VOICE ); + $hologram4_1_anchor.rotateOnce ( '0 0 30'); + } + } + + void hologram5_1 () //this is the animation that gets played when player clicks on Control Center + { + if ($hologram5_1.getFloatKey ("state")==1){ + $hologram5_1.startSoundShader ("hologram_spawnout", SND_CHANNEL_VOICE ); + thread interpolateShaderParm( $hologram5_1, 7, 1, 0, .2 ); //fade out round spinny plane + thread crossFadeEnt( $hologram5, $hologram5.getColor(), '.15 .175 .22', 1); //make the unselected room go back to default colors + + $hologram5_1_anchor.time(.15); + $hologram5_1_anchor.rotateOnce ( '0 0 -30'); + $hologram5_1_anchor.move(NORTH,96); + sys.wait(.15); + $hologram5_1_anchor.move(EAST,88); + sys.wait(.15); + $hologram5_1_anchor.move(DOWN,36); + sys.wait(.15); + $hologram5_1.hide(); + $hologram5_1.setKey ("state", "0"); + } else { + $hologram5_1.show(); + $hologram5_1.setKey ("state", "1"); + $hologram5_1.setShaderParm(7,0); + $hologram5_1.setColor (1, .1, 0); //make little line red + thread crossFadeEnt( $hologram, $hologram.getColor(), '.1 .2 .2', .5); //make the base hologram darken a little. + thread interpolateShaderParm( $hologram, 5, 1, .35, .5 ); //make the base hologram's matrix effect go darker. + thread crossFadeEnt( $hologram1, $hologram1.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram2, $hologram2.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram3, $hologram3.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram4, $hologram4.getColor(), '.15 .175 .22', .5); //make unselected room darken. + thread crossFadeEnt( $hologram5, $hologram5.getColor(), '1 .1 0', .5); //make selected room go red. + + $hologram5_1.startSoundShader ("hologram_spawn", SND_CHANNEL_VOICE ); + + thread interpolateShaderParm( $hologram5_1, 3, 0, 100, .1 ); //RGB in red boxes + thread interpolateShaderParm( $hologram5_1, 4, 10, 1, 1 ); //scale up the sides of red boxes + thread interpolateShaderParm( $hologram5_1, 5, 10, 1, 1 ); //scale up round plane + sys.wait (.7); + thread interpolateShaderParm( $hologram5_1, 6, 1, 0, 2 ); //RGB out round spinny plane + thread interpolateShaderParm( $hologram5_1, 3, 1, 0, 1 ); //RGB out red boxes + sys.wait(1); + + $hologram5_1_anchor.time(1); + $hologram5_1_anchor.accelTime(.4); + $hologram5_1_anchor.decelTime(.4); + $hologram4_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + $hologram5_1_anchor.move(UP,36); + sys.wait(1); + $hologram5_1_anchor.move(WEST,88); + $hologram4_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE ); + sys.wait(1); + $hologram5_1_anchor.move(SOUTH,96); + $hologram4_1.startSoundShader ("hologram_movement", SND_CHANNEL_VOICE2 ); + thread crossFadeEnt( $hologram5, $hologram5.getColor(), '.5 .05 0', .5); + thread interpolateShaderParm( $hologram5_1, 7, 0, 1, 1 ); //RGB in the red sprite round plate + $hologram5_1.startSoundShader ("hologram_loop", SND_CHANNEL_VOICE ); + $hologram5_1_anchor.rotateOnce ( '0 0 30'); + } + } + + void hologram_turnon ()//this is what's called when the hologram projector's turned on, and brings all the rooms in. + { + thread hologram_start (); + sys.wait(1.5); + thread hologram1_start (); + sys.wait(.5); + thread hologram2_start (); + sys.wait(.5); + thread hologram3_start (); + thread hologram4_start (); + thread hologram5_start (); + } + + void hologram_selection_1() + { + if ($hologram1_1.getFloatKey ("state")==1){ + thread hologram1_1(); + } + if ($hologram2_1.getFloatKey ("state")==1){ + thread hologram2_1(); + } + if ($hologram3_1.getFloatKey ("state")==1){ + thread hologram3_1(); + } + if ($hologram4_1.getFloatKey ("state")==1){ + thread hologram4_1(); + } + if ($hologram5_1.getFloatKey ("state")==1){ + thread hologram5_1(); + } + { + thread hologram1_1(); + } + } + + void hologram_selection_2() + { + if ($hologram1_1.getFloatKey ("state")==1){ + thread hologram1_1(); + } + if ($hologram2_1.getFloatKey ("state")==1){ + thread hologram2_1(); + } + if ($hologram3_1.getFloatKey ("state")==1){ + thread hologram3_1(); + } + if ($hologram4_1.getFloatKey ("state")==1){ + thread hologram4_1(); + } + if ($hologram5_1.getFloatKey ("state")==1){ + thread hologram5_1(); + } + { + thread hologram2_1(); + } + } + + void hologram_selection_3() + { + if ($hologram1_1.getFloatKey ("state")==1){ + thread hologram1_1(); + } + if ($hologram2_1.getFloatKey ("state")==1){ + thread hologram2_1(); + } + if ($hologram3_1.getFloatKey ("state")==1){ + thread hologram3_1(); + } + if ($hologram4_1.getFloatKey ("state")==1){ + thread hologram4_1(); + } + if ($hologram5_1.getFloatKey ("state")==1){ + thread hologram5_1(); + } + { + thread hologram3_1(); + } + } + + void hologram_selection_4() + { + if ($hologram1_1.getFloatKey ("state")==1){ + thread hologram1_1(); + } + if ($hologram2_1.getFloatKey ("state")==1){ + thread hologram2_1(); + } + if ($hologram3_1.getFloatKey ("state")==1){ + thread hologram3_1(); + } + if ($hologram4_1.getFloatKey ("state")==1){ + thread hologram4_1(); + } + if ($hologram5_1.getFloatKey ("state")==1){ + thread hologram5_1(); + } + { + thread hologram4_1(); + } + } + + void hologram_selection_5() + { + if ($hologram1_1.getFloatKey ("state")==1){ + thread hologram1_1(); + } + if ($hologram2_1.getFloatKey ("state")==1){ + thread hologram2_1(); + } + if ($hologram3_1.getFloatKey ("state")==1){ + thread hologram3_1(); + } + if ($hologram4_1.getFloatKey ("state")==1){ + thread hologram4_1(); + } + if ($hologram5_1.getFloatKey ("state")==1){ + thread hologram5_1(); + } + { + thread hologram5_1(); + } + } + + + //////////////////////////////////////////////////// + // + // break the platform leading to the reactor + // + //////////////////////////////////////////////////// + void rplatform_break() + { + //first move down + $rplatform.time ( 2.5 ); + $rplatform.accelTime ( .5 ); + $rplatform.decelTime ( 0 ); + sys.trigger ($lspeaker_1); + $rplatform.move ( DOWN, 126 ); + + sys.waitFor ($rplatform); + + //bounce a bit or something + sys.trigger ($broke_spark); + $al3_platform_break.time ( .2 ); + $al3_platform_break.accelTime ( .2 ); + $al3_platform_break.decelTime ( 0 ); + $al3_platform_break.move ( UP, 6 ); + + sys.waitFor ($rplatform); + + $rplatform.time ( .2 ); + $rplatform.accelTime ( 0 ); + $rplatform.decelTime ( .2 ); + $rplatform.move ( DOWN, 8 ); + + //rotate a about 24 degrees + $rplatform.time ( .5 ); + $rplatform.accelTime ( .5 ); + $rplatform.decelTime ( 0 ); + $rplatform.rotateOnce ( '5 5 24' ); + sys.trigger ($broke_spark); + + sys.waitFor ($rplatform); + + $rplatform.time ( .1 ); + $rplatform.accelTime ( .1 ); + $rplatform.decelTime ( 0 ); + $rplatform.rotateOnce ( '1 0 0' ); + sys.trigger ($broke_spark); + + sys.waitFor ($rplatform); + + $rplatform.rotateOnce ( '-1 0 0' ); + } + + + //////////////////////////////////////////////////// + // + // Corpse Move - quick move of deadbody + // + //////////////////////////////////////////////////// + void corpse_move() + { + spooky_sound_3(); + + $corpse_mover2.time (.4); + $corpse_mover2.accelTime (0); + $corpse_mover2.decelTime (0); + + $corpse_mover2.moveTo ( $corpse_mover2_movepoint ); + $corpse_mover2.rotateOnce ( '0 45 0' ); + sys.waitFor ($corpse_mover2); + $corpse2.unbind(); + + sys.trigger ( $breakglass ); + sys.trigger ( $func_fracture_2 ); + + sys.wait (.5); + sys.trigger ( $speaker_glassbreak ); + + sys.wait (2); + sys.trigger ( $speaker_tilefall2 ); + sys.trigger ($spooky_tilefall2); + + } + + + //////////////////////////////////////////////////// + // + // spectrum hallway + // + //////////////////////////////////////////////////// + void spectrum_move() { + sys.trigger ( $spectrum_speaker1 ); + $spectrumlight_mover.time( 3 ); + $spectrumlight_mover.accelTime( 0 ); + $spectrumlight_mover.decelTime( 0 ); + $spectrumlight_mover.startSpline( $spectrum_spline ); + + sys.waitFor($spectrumlight_mover); + //sys.wait(3); + //$spectrumlight_mover.removeInitialSplineAngles(); + + $spectrumlight_mover.remove(); + sys.trigger ( $spectrum_speaker1 ); + $spectrum_speaker1.remove(); + $speclight1.remove(); + $speclight2.remove(); + } + + + //////////////////////////////////////////////////// + // + // bang tile moves + // + // moves the two tiles when the big bang happens + // in the crawlspace before datalinker + // + //////////////////////////////////////////////////// + void bang_tiles() + { + //set moves times for the two tiles + $bang_tile1.time (.5); + $bang_tile1.accelTime (.5); + $bang_tile1.decelTime (0); + + $bang_tile2.time (.5); + $bang_tile2.accelTime (.5); + $bang_tile2.decelTime (0); + + $bang_tile1.rotateOnce ( '1 0 -2' ); + $bang_tile2.rotateOnce ( '2 0 3' ); + } + + + //////////////////////////////////////////////////// + // + // Corpse pullunder + // + //////////////////////////////////////////////////// + void corpse_pullunder() + { + $corpse_mover3.time (1.25); + $corpse_mover3.accelTime (.5); + $corpse_mover3.decelTime (0); + + $corpse_mover3.moveTo ( $corpse_mover3_movepoint ); + sys.waitFor ($corpse_mover3); + + $corpse3.unbind(); + $corpse_mover3.remove (); + $corpse3.remove (); + } + + + void fade_clop_sound () + { + $clop_speaker.fadeSound ( SND_CHANNEL_ANY, -60, 30 ); + } + + + void cache_sounds() { + sys.cacheSoundShader ("hologram_datalinker"); + sys.cacheSoundShader ("hologram_spawnout"); + sys.cacheSoundShader ("hologram_spawn"); + sys.cacheSoundShader ("hologram_movement"); + sys.cacheSoundShader ("hologram_loop"); + } + + //////////////////////////////////////////////////// + // + // Main + // + //////////////////////////////////////////////////// + void main() + { + thread cache_sounds(); + init_world(); + power_level_0(); + } +} diff --git a/base/script/map_delta2a.script b/base/script/map_delta2a.script new file mode 100644 index 00000000..6b3cedea --- /dev/null +++ b/base/script/map_delta2a.script @@ -0,0 +1,1133 @@ +namespace map_delta2a { + #define NEG_ROT '0 -120 0' + #define POS_ROT '0 120 0' + #define HEAD_TIME 3 + #define LIFT_TIME 3 + #define JET_VENT_TIME 1.5 // How long do we want the lock vents to fire ? + + float rotmult; // Matt's lift + float lift_state_updown; + float crate_number; // Stored from identify_crate(slot); + float deconPosition = 0; + //*** + // Given the cranes position in front of a cage slot, find out which crate is in that space + // Returns the cage number. bind "cage_" + value to the hand + //*** + + void set_crate_in_slot( float slot, float crate ) { + $world.setKey( "slot_" + slot, crate ); + } + + float identify_crate (float slot) { + float value; + + value = $world.getFloatKey( "slot_" + slot ); + //sys.print ("IDENTIFY_CRATE:: Found crate #" + value + " @ slot # " + slot + "\n"); + + return value; + } + + void setup_objects() + { + sys.trigger ($speaker_131); // Turn this speaker in the tube off + // Was screwing up the fadeout for teleport_end + + $mister1.bind ($mister1_anchor); + $mister2.bind ($mister2_anchor); + + $tp_leftarm.bind ($tp_shoulder); + $tp_rightarm.bind ($tp_shoulder); + + // name of array, index number, data + set_crate_in_slot( 1, 1 ); // Cage 1 is occupied + set_crate_in_slot( 2, 2 ); + set_crate_in_slot( 3, 3 ); + set_crate_in_slot( 4, 4 ); + set_crate_in_slot( 5, 5 ); + set_crate_in_slot( 6, 0 ); // Cage 6 is empty + set_crate_in_slot( 7, 7 ); + set_crate_in_slot( 8, 0 ); // Cage 8 is empty + set_crate_in_slot( 9, 9 ); + + $crane_control.setGuiParm ("gui_parm11", 1 ); + $crane_control.setGuiParm ("gui_parm12", 1 ); + $crane_control.setGuiParm ("gui_parm13", 1 ); + $crane_control.setGuiParm ("gui_parm14", 1 ); + $crane_control.setGuiParm ("gui_parm15", 1 ); + $crane_control.setGuiParm ("gui_parm16", 0 ); + $crane_control.setGuiParm ("gui_parm17", 1 ); + $crane_control.setGuiParm ("gui_parm18", 0 ); + $crane_control.setGuiParm ("gui_parm19", 1 ); + + $cagecrane_base.time (1); + $crane_base.time (1); + $teeth_anchor.time (1); + $cagecrane_rod.time (1); + $cagecrane_teeth_teeth.time (0.5); + + $teeth_anchor.rotateOnce ('0 0 -90'); + $cagecrane_teeth_teeth.move (LEFT, 64); + + $cagecrane_armsupport.time (1); + } + + void open_fingers() { + sys.trigger ($finger_speaker_1); + $finger_1b_anchor.rotateOnce (POS_ROT); + $finger_1a_anchor.rotateOnce (NEG_ROT); + sys.wait (0.75); + //sys.waitFor ($finger_1a_anchor); + + sys.trigger ($finger_speaker_2); + $finger_2a_anchor.rotateOnce (POS_ROT); + $finger_2b_anchor.rotateOnce (NEG_ROT); + sys.waitFor ($finger_2b_anchor); + } + + void close_fingers() { + sys.trigger ($finger_speaker_2); + $finger_2a_anchor.rotateOnce (NEG_ROT); + $finger_2b_anchor.rotateOnce (POS_ROT); + sys.wait (0.75); + //sys.waitFor ($finger_2b_anchor); + + sys.trigger ($finger_speaker_1); + $finger_1b_anchor.rotateOnce (NEG_ROT); + $finger_1a_anchor.rotateOnce (POS_ROT); + sys.waitFor ($finger_1a_anchor); + } + + void unlock_cage (float cage) { + entity ent; + ent = sys.getEntity ("cagelock_" + cage); + ent.time (0.5); + ent.move (RIGHT, 16); + sys.waitFor (ent); + } + + void lock_cage (float cage) { + entity ent; + ent = sys.getEntity ("cagelock_" + cage); + ent.time (0.5); + ent.move (LEFT, 16); + sys.waitFor (ent); + } + + void disable_crane_control() { + $crane_control.setGuiParm ("gui_parm10", 1); + } + + void enable_crane_control() { + $crane_control.setGuiParm ("gui_parm10", 0); + } + + void crane_alarm_on() { + sys.trigger ($clight_1); + sys.trigger ($clight_2); + $crane_alarm_anchor.rotate ('0 270 0'); + } + + void crane_alarm_off() { + sys.trigger ($clight_1); + sys.trigger ($clight_2); + $crane_alarm_anchor.stopRotating(); + } + + + void init_claw() { + + disable_crane_control(); + + $body.time (3); + $shoulder_anchor.time (1); + // Compress fingers + + $finger_1a_anchor.time (1.5); + $finger_1b_anchor.time (1.5); + $finger_2a_anchor.time (1.5); + $finger_2b_anchor.time (1.5); + + + $finger_1b_anchor.rotateOnce ('0 -180 0'); + $finger_2b_anchor.rotateOnce ('0 180 0'); + + $finger_1a_anchor.rotateOnce ('0 180 0'); + $finger_2a_anchor.rotateOnce ('0 -180 0'); + + // rotate hand up + $hand_anchor.time (1); + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('-80 0 0'); + + // rotate arm in + $arm_anchor.time (1); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('30 0 0'); + + // Face the proper direction + + $body.rotateOnce ('0 -90 0'); + sys.waitFor ($body); + $head.time (HEAD_TIME); + $head.accelTime (0.5); + $head.decelTime (0.5); + + $body.rotateOnce ('0 180 0'); + sys.trigger ($head_speaker); + $head.move (LEFT, 100); + + crate_number = 0; + + enable_crane_control(); + + } + +/* + + M a t t ' s L i f t f r o m C o m m O u t s i d e + +*/ + + //////////////////////////////////////////////////// + // + // move lift down + // + //////////////////////////////////////////////////// + void lift_down () + { + vector rot11, rot12; + vector rot21, rot22; + + rot11_x = 0; + rot11_y = 0; + rot11_z = rotmult; + + rot12_x = 0; + rot12_y = 0; + rot12_z = (-1 * rotmult); + + rot21_x = 0; + rot21_y = 0; + rot21_z = (2 * rotmult); + + rot22_x = 0; + rot22_y = 0; + rot22_z = (-2 * rotmult); + + if ( lift_state_updown == 0 ){ + sys.trigger ($lift_speaker_down); + $lift_leg_11.rotateOnce ( rot11 ); + $lift_leg_12.rotateOnce ( rot22 ); + $lift_leg_13.rotateOnce ( rot21 ); + $lift_connection_top_move.rotateOnce ( rot12 ); + + $lift_leg_21.rotateOnce ( rot22 ); + $lift_connection_bottom_move.rotateOnce ( rot11 ); + $lift_leg_22.rotateOnce ( rot21 ); + $lift_leg_23.rotateOnce ( rot22 ); + $lift_connection_top_static.rotateOnce ( rot11 ); + + sys.waitFor ($lift_leg_23); + lift_state_updown = 1; + } + // else sys.print ( "lift is already up\n" ); + } + + + //////////////////////////////////////////////////// + // + // move lift up + // + //////////////////////////////////////////////////// + void lift_up () + { + vector rot11, rot12; + vector rot21, rot22; + + rot11_x = 0; + rot11_y = 0; + rot11_z = rotmult; + + rot12_x = 0; + rot12_y = 0; + rot12_z = (-1 * rotmult); + + rot21_x = 0; + rot21_y = 0; + rot21_z = (2 * rotmult); + + rot22_x = 0; + rot22_y = 0; + rot22_z = (-2 * rotmult); + + if ( lift_state_updown == 1 ){ + sys.trigger ($lift_speaker_up); + $lift_leg_11.rotateOnce ( rot12 ); + $lift_leg_12.rotateOnce ( rot21 ); + $lift_leg_13.rotateOnce ( rot22 ); + $lift_connection_top_move.rotateOnce ( rot11 ); + + $lift_leg_21.rotateOnce ( rot21 ); + $lift_connection_bottom_move.rotateOnce ( rot12 ); + $lift_leg_22.rotateOnce ( rot22 ); + $lift_leg_23.rotateOnce ( rot21 ); + $lift_connection_top_static.rotateOnce ( rot12 ); + + sys.waitFor ($lift_leg_23); + lift_state_updown = 0; + } + //else sys.print ( "lift is already down\n" ); + } + + void init_lift() { + lift_state_updown = 0; + rotmult = 40; + + //Lift binds, times, and speeds + //$lift_leg_11.bind ($lift_bottom); + //$lift_light1.bind ($lift_bottom); + + $lift_axle1.bind ($lift_leg_11); + $lift_axle2.bind ($lift_leg_11); + $lift_leg_12.bind ($lift_axle2); + $lift_axle4.bind ($lift_leg_12); + $lift_axle6.bind ($lift_leg_12); + $lift_leg_13.bind ($lift_axle6); + $lift_axle7.bind ($lift_leg_13); + + $lift_leg_23.bind ($lift_axle7); + $lift_axle5.bind ($lift_leg_23); + $lift_leg_22.bind ($lift_axle5); + $lift_axle3.bind ($lift_leg_22); + $lift_leg_21.bind ($lift_axle3); + + $lift_connection_top_move.bind ($lift_leg_13); + $lift_connection_top_static.bind ($lift_leg_23); + $lift_connection_bottom_move.bind ($lift_leg_21); + + $lift_cage.bind ($lift_connection_top_static); + + $lift_bottom.accelTime ( .5 ); + $lift_bottom.decelTime ( .5 ); + + $lift_leg_11.time ( LIFT_TIME ); + $lift_leg_12.time ( LIFT_TIME ); + $lift_leg_13.time ( LIFT_TIME ); + $lift_connection_top_move.time ( LIFT_TIME ); + $lift_leg_21.time ( LIFT_TIME ); + $lift_connection_bottom_move.time ( LIFT_TIME ); + $lift_leg_22.time ( LIFT_TIME ); + $lift_leg_23.time ( LIFT_TIME ); + $lift_connection_top_static.time ( LIFT_TIME ); + + $lift_leg_11.accelTime ( .25 ); + $lift_leg_12.accelTime ( .25 ); + $lift_leg_13.accelTime ( .25 ); + $lift_connection_top_move.accelTime ( .25 ); + $lift_leg_21.accelTime ( .25 ); + $lift_connection_bottom_move.accelTime ( .25); + $lift_leg_22.accelTime ( .25 ); + $lift_leg_23.accelTime ( .25 ); + $lift_connection_top_static.accelTime ( .25 ); + + $lift_leg_11.decelTime ( .25 ); + $lift_leg_12.decelTime ( .25 ); + $lift_leg_13.decelTime ( .25 ); + $lift_connection_top_move.decelTime ( .25 ); + $lift_leg_21.decelTime ( .25 ); + $lift_connection_bottom_move.decelTime ( .25 ); + $lift_leg_22.decelTime ( .25 ); + $lift_leg_23.decelTime ( .25 ); + $lift_connection_top_static.decelTime ( .25 ); + } + +/* + + End CommOutside code. + +*/ + + //*** + // Kinda ugly, need to find the proper jet pair for the accompanying slot + // I'd give my left nut for switch(value) functionality... + //*** + + float trigger_steamjets(float slot) { + entity ent1, ent2; + entity speaker1, speaker2; + float jet1, jet2; + + if ( slot == 1) { + jet1 = 1; + jet2 = 2; + } + if ( slot == 2) { + jet1 = 2; + jet2 = 3; + } + if ( slot == 3) { + jet1 = 3; + jet2 = 4; + } + if ( slot == 4) { + jet1 = 5; + jet2 = 6; + } + if ( slot == 5) { + jet1 = 6; + jet2 = 7; + } + if ( slot == 6) { + jet1 = 7; + jet2 = 8; + } + if ( slot == 7) { + jet1 = 9; + jet2 = 10; + } + if ( slot == 8) { + jet1 = 10; + jet2 = 11; + } + if ( slot == 9) { + jet1 = 11; + jet2 = 12; + } + ent1 = sys.getEntity ("steamjet_" + jet1); + ent2 = sys.getEntity ("steamjet_" + jet2); + speaker1 = sys.getEntity ("steamspeaker_" + jet1); + speaker2 = sys.getEntity ("steamspeaker_" + jet2); + + // Turn 'em on + sys.trigger (ent1); + sys.trigger (ent2); + + sys.trigger (speaker1); + sys.trigger (speaker2); + + sys.wait (JET_VENT_TIME); + + // Turn 'em off + sys.trigger (ent1); + sys.trigger (ent2); + } + + void update_control_gui (float slot, float status) { + //sys.print ("Enterint update_control_gui :: Setting slot " + slot + " to " + status + "\n"); + + if ( slot == 1 ) + $crane_control.setGuiParm ( "gui_parm11", status ); + if ( slot == 2 ) + $crane_control.setGuiParm ( "gui_parm12", status ); + if ( slot == 3 ) + $crane_control.setGuiParm ( "gui_parm13", status ); + if ( slot == 4 ) + $crane_control.setGuiParm ( "gui_parm14", status ); + if ( slot == 5 ) + $crane_control.setGuiParm ( "gui_parm15", status ); + if ( slot == 6 ) + $crane_control.setGuiParm ( "gui_parm16", status ); + if ( slot == 7 ) + $crane_control.setGuiParm ( "gui_parm17", status ); + if ( slot == 8 ) + $crane_control.setGuiParm ( "gui_parm18", status ); + if ( slot == 9 ) + $crane_control.setGuiParm ( "gui_parm19", status ); + + + } + + + //*** + // Find the target vertical rung given a slot position. + // Need for moving the crane vertically + //*** + + float find_rung (float slot) { + if ( slot <= 3 ) + return 1; + if ( slot <= 6 ) + return 2; + if ( slot <= 9 ) + return 3; + } + + //*** + // Workhorse #2 + // Pick up the crate off the platform and move it back into a slot + //*** + + void insert_crate (float slot) { + entity ent; + entity crate; + float thread1, thread2; + vector vec, vec2, diff; + float target_rung; +// sys.print ("*** ENTERING insert_crate (" + slot + ")\n"); + + crane_alarm_on(); + + sys.trigger ($movement_alarm); + sys.wait (2); + + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (DOWN, 64); + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('110 0 0'); + sys.waitFor ($hand_anchor); + + // Gameplay stuff here... delays so that the player can jump onto the crate + // in time... + + sys.wait (0.5); + + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('-60 0 0'); + sys.waitFor ($arm_anchor); + + sys.wait (0.5); + + lift_up(); + + open_fingers(); + + // **** + // Get the cage on the platform + // Remember, that crate_number is stored as a global still from the removal function... + // **** + +// sys.print ("Trying to bind cage_" + crate_number + " to $hand\n"); + ent = sys.getEntity ( "cage_" + crate_number ); + crate = ent; + ent.bind ($hand); // Bind crate to hand + + thread map_delta2a::lift_down(); + sys.waitFor ($shoulder_anchor); + + // Break here and sync up original rotation values. + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('-50 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('50 0 0'); + + sys.waitFor ($arm_anchor); + + + sys.trigger ($head_speaker); + $head.move (RIGHT, 100); + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (UP, 64); + $body.time (5); + sys.trigger ($body_speaker_5); + $body.rotateOnce ('0 180 0'); + sys.waitFor ($body); + $body.time (3); + + // Need to find vertical here... + + target_rung = find_rung (slot); + if ( target_rung == 3 ) { + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (DOWN, 64); + sys.trigger ($body_vert_speaker); + $body.move (DOWN, 128); + sys.waitFor ($body); + } + if ( target_rung == 2) { + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (DOWN, 64); + sys.trigger ($body_vert_speaker); + $body.move (DOWN, 32); + sys.waitFor ($body); + } + + // Need lateral movement here. + + ent = sys.getEntity ("pos" + slot); + vec = ent.getWorldOrigin (); + + vec2 = $crane_guide.getWorldOrigin (); + + // --- + // Calculate movement vectors and move accordingly + // --- + + diff_x = ( vec2_x - vec_x ); + if ( diff_x < 0 ) { + diff_x = abs ( diff_x ); + sys.trigger ($head_speaker); + $head.move (FORWARD, diff_x); + } + else { + sys.trigger ($head_speaker); + $head.move (BACK, diff_x); + } + + sys.waitFor ($head); + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('60 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('-60 0 0'); + + trigger_steamjets(slot); + thread1 = thread map_delta2a::unlock_cage(slot); + sys.waitFor ($arm_anchor); + + trigger_steamjets(slot); + + sys.waitForThread (thread1); + + //thread map_delta2a::lock_cage(slot); + + lock_cage(slot); + + crate.unbind(); // Unbind the crate + + // *** + // Paranoia case to ensure that the crate gets bound to it's absolute starting position + // after it has been manipulated + // *** + + crate.setOrigin (ent.getWorldOrigin () ); +// sys.print ("fixed the crate\n"); + + close_fingers(); + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('-60 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('60 0 0'); + sys.waitFor ($hand_anchor); + + // *** + // Lateral movement to center + // *** + + ent = sys.getEntity ("pos5"); + vec = ent.getWorldOrigin (); + vec2 = $crane_guide.getWorldOrigin (); + diff_x = ( vec2_x - vec_x ); + if ( diff_x < 0 ) { + diff_x = abs ( diff_x ); + sys.trigger ($head_speaker); + $head.move (FORWARD, diff_x); + } + else { + sys.trigger ($head_speaker); + $head.move (BACK, diff_x); + } + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('50 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('-50 0 0'); + sys.waitFor ($arm_anchor); + + sys.waitFor ($head); + + // Reset rungs + + if ( target_rung == 3 ) { + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (UP, 64); + sys.trigger ($body_vert_speaker); + $body.move (UP, 128); + sys.waitFor ($body); + } + if ( target_rung == 2) { + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (UP, 64); + sys.trigger ($body_vert_speaker); + $body.move (UP, 32); + sys.waitFor ($body); + } + + // Rotate around + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('-110 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('60 0 0'); + sys.trigger ($head_speaker); + $head.move (LEFT, 100); + sys.trigger ($body_speaker_3); + $body.rotateOnce ('0 180 0'); + sys.waitFor ($arm_anchor); + sys.waitFor ($head); + + crane_alarm_off(); + + // Ok, find my way back to the reset point... + + set_crate_in_slot( slot, crate_number ); + crate_number = 0; // All crates accounted for +// sys.print ("*** EXITING insert_crate (" + slot + ")\n"); + update_control_gui (slot, 1); + } + + //*** + // (In his best Ian Astbury voice... Xian bellows...) + // "Talking 'bout crates ! CRATE REMOVAL MACHINE !!!" + // + // Workhorse #1 + // Grabs a crate from the desired slot, and moves it onto the platform. + //*** + + void remove_crate (float slot) { + entity ent; + entity crate; + float thread1, thread2; + vector vec, vec2, diff; + float target_rung; +// sys.print ("*** ENTERING insert_crate (" + slot + ")\n"); + + crane_alarm_on(); + + sys.trigger ($movement_alarm); + sys.wait (2); + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('110 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('-60 0 0'); + + sys.trigger ($head_speaker); + $head.move (RIGHT, 100); + sys.trigger ($body_speaker_3); + $body.rotateOnce ('0 180 0'); + sys.waitFor ($head); + sys.waitFor ($body); + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('-50 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('50 0 0'); + + sys.waitFor ($hand_anchor); + + // Need to find vertical here... + + target_rung = find_rung (slot); + if ( target_rung == 3 ) { + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (DOWN, 64); + sys.trigger ($body_vert_speaker); + $body.move (DOWN, 128); + sys.waitFor ($body); + } + if ( target_rung == 2) { + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (DOWN, 64); + sys.trigger ($body_vert_speaker); + $body.move (DOWN, 32); + sys.waitFor ($body); + } + + // Need lateral movement here. + + ent = sys.getEntity ("pos" + slot); + vec = ent.getWorldOrigin (); + + vec2 = $crane_guide.getWorldOrigin (); + + // --- + // Calculate movement vectors and move accordingly + // --- + + diff_x = ( vec2_x - vec_x ); + if ( diff_x < 0 ) { + diff_x = abs ( diff_x ); + sys.trigger ($head_speaker); + $head.move (FORWARD, diff_x); + } + else { + sys.trigger ($head_speaker); + $head.move (BACK, diff_x); + } + + sys.waitFor ($head); + + // This should put us in front of the crate we want to snag + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('60 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('-60 0 0'); + sys.waitFor ($arm_anchor); + open_fingers(); + + thread1 = thread map_delta2a::unlock_cage (slot); + trigger_steamjets(slot); + + // Get the cage on the platform + + crate_number = identify_crate(slot); + +// sys.print ("Trying to bind cage_" + crate_number + " to $hand\n"); + crate = sys.getEntity ( "cage_" + crate_number ); + crate.bind ($hand); // Bind crate to hand + + sys.waitForThread (thread1); + thread map_delta2a::lock_cage(slot); + + // Ok, the crate is now bound to the crane + + sys.wait (0.5); + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('-60 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('60 0 0'); + + sys.waitFor ($arm_anchor); + + // *** + // Lateral movement to center + // *** + + ent = sys.getEntity ("pos5"); + vec = ent.getWorldOrigin (); + vec2 = $crane_guide.getWorldOrigin (); + diff_x = ( vec2_x - vec_x ); + if ( diff_x < 0 ) { + diff_x = abs ( diff_x ); + sys.trigger ($head_speaker); + $head.move (FORWARD, diff_x); + } + else { + sys.trigger ($head_speaker); + $head.move (BACK, diff_x); + } + + sys.waitFor ($head); + + // Crane should be centered and ready to move toward the platform. + + if ( target_rung == 3 ) { + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (UP, 64); + sys.trigger ($body_vert_speaker); + $body.move (UP, 128); + } + if ( target_rung == 2) { + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (UP, 64); + sys.trigger ($body_vert_speaker); + $body.move (UP, 32); + } + sys.waitFor ($body); + + // Ok, now it's centered and on the top rung... + // Move toward the platform... for real this time... + + thread lift_up(); + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('50 0 0'); + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (DOWN, 64); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('-50 0 0'); + sys.trigger ($head_speaker); + $head.move (LEFT, 100); + sys.trigger ($body_speaker_3); + $body.rotateOnce ('0 180 0'); + sys.waitFor ($head); + + // woop ! It's on the platform now... + + thread map_delta2a::close_fingers(); + + crate.unbind(); + crate.bind ($lift_cage); + sys.wait (0.5); + + thread map_delta2a::lift_down(); + + sys.trigger ($hand_speaker); + $hand_anchor.rotateOnce ('-110 0 0'); + sys.trigger ($arm_speaker); + $arm_anchor.rotateOnce ('60 0 0'); + sys.trigger ($shoulder_speaker); + $shoulder_anchor.move (UP, 64); + sys.waitFor ($shoulder_anchor); + + crane_alarm_off(); + // + set_crate_in_slot( slot, 0 ); // Set the cage as empty + update_control_gui (slot, 0); + } + + void process_cage (float slot) { + float value; + entity ent, ent2; + vector deb; + vector vec, vec2, diff; + float rod_rotation; + float shoulder_diff; + float body_diff; + float desired_rung; + float rung_thread; + + rotmult = 41; + + disable_crane_control(); + + deb = $hand_anchor.getWorldOrigin (); +// sys.print ("ENTER: process_cage: $hand_anchor @ (" + deb_x + ", " + deb_y + ", "+ deb_z + ")\n"); + + // Load the state of the slot into value + value = identify_crate(slot); + +// sys.print ("Target Slot Value :: " + value + "\n"); + + // --- + // First, check to see if there is anything on the platform. If there is, + // we are going to move it to a slot instead of extracting a slot + // --- + + if ( ( crate_number != 0) ) { // No crate on the platform ? +// sys.print ("Crate #" + crate_number + " is currently on the platform\n"); + if ( value == 0 ) { +// sys.print ("It wants to go to position " + slot + ", which is free\n"); + insert_crate (slot); + } +// else { +// sys.print ("It wants to go to position " + slot + ", which is *NOT* free\n"); +// } + } + // Nope, nothing on the platform, lets go get it... + else { +// sys.print ("Nothing on the platform. lets proceed with possible movement...\n"); + // Is there anything at the slot we are interested in ? + if ( value > 0 ) { + remove_crate (slot); + } +// else if ( value == -1 ) { +// sys.print ("That slot is broken\n"); +// } +// else +// sys.print ("There is nothing at that location to move...\n"); + } + + deb = $hand_anchor.getWorldOrigin (); +// sys.print ("BEFORE: $hand_anchor @ (" + deb_x + ", " + deb_y + ", "+ deb_z + ")\n"); + enable_crane_control(); +// sys.print ("Leaving process_cage()\n"); + + } + + // --- + // Bumper functions for map gui calls + // --- + + void proc_cage1() { + process_cage (1); + } + + void proc_cage2() { + process_cage (2); + } + + void proc_cage3() { + process_cage (3); + } + + void proc_cage4() { + process_cage (4); + } + + void proc_cage5() { + process_cage (5); + } + + void proc_cage6() { + process_cage (6); + } + + void proc_cage7() { + process_cage (7); + } + + void proc_cage8() { + process_cage (8); + } + + void proc_cage9() { + process_cage (9); + } + + // --- + // **** End bumper functions + // --- + + //************************ + // Decon Chamber + //************************ + + void decon_cycle1() + { + $decon_trigger1.enable (); + deconPosition = 1; + } + + void decon_cycle2() + { + $decon_trigger1.enable (); + deconPosition = 0; + } + + void mister_move () + { + $decondoor1.lock (1); + $decondoor2.lock (1); + + //start decon1 computer voice + sys.trigger ($decon1_start_speaker); + sys.wait (1.5); + + thread crossFadeEnt ($misterlight_white, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decontop_fade, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decon_toplight_red, '0 0 0', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe1, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe1_light, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe2, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe2_light, '1 1 1', '1 0 0', 1.0); + + + sys.trigger ($decon1_mister1start_spkr); + sys.trigger ($decon1_mister2start_spkr); + sys.wait (.15); + sys.trigger ($decon1_mister1loop_spkr); + sys.trigger ($decon1_mister2loop_spkr); + + $mister1_anchor.moveTo ($mister1_spot2); + $mister2_anchor.moveTo ($mister2_spot2); + sys.waitFor ($mister1_anchor); + + $mister1_anchor.rotateOnce ('60 0 0'); + $mister2_anchor.rotateOnce ('-60 0 0'); + sys.waitFor ($mister1_anchor); + + $mister1_anchor.rotateOnce ('-60 0 0'); + $mister2_anchor.rotateOnce ('60 0 0'); + sys.waitFor ($mister1_anchor); + + $mister1_anchor.moveTo ($mister1_spot1); + $mister2_anchor.moveTo ($mister2_spot1); + sys.waitFor ($mister1_anchor); + + sys.trigger ($decon1_mister1stop_spkr); + sys.trigger ($decon1_mister2stop_spkr); + //trigger looping speaker again to turn off + sys.trigger ($decon1_mister1loop_spkr); + sys.trigger ($decon1_mister2loop_spkr); + + //turn off emitter + sys.trigger($mister1_emitter); + sys.trigger($mister2_emitter); + + sys.wait (.5); + thread crossFadeEnt ($misterlight_white, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decontop_fade, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decon_toplight_red, '1 0 0', '0 0 0', 1.0); + thread crossFadeEnt ($decondoorframe1, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe1_light, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe2, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe2_light, '1 0 0', '1 1 1', 1.0); + } + + void mister1() + { + $decondoor1.close (); + $decondoor2.close (); + $decon_trigger1.disable (); + + $decondoorframe1.setShaderParm (7, 0); + $decondoorframe2.setShaderParm (7, 0); + + //turn on emitter + sys.trigger($mister1_emitter); + sys.trigger($mister2_emitter); + + float i; + i = thread mister_move(); + sys.waitForThread (i); + + //complete decon1 computer voice + sys.trigger ($decon1_complete_speaker); + + sys.wait (.25); + if (deconPosition == 0) + { + $decondoorframe1.setShaderParm (7, 1); + $decondoor1.lock (0); + } + if (deconPosition == 1) + { + $decondoorframe2.setShaderParm (7, 1); + $decondoor2.lock (0); + } + } + + + void tp_1 () + { + $tp_guard.time (2); + $tp_guard.decelTime (1); + $tp_guard.rotateOnce ('0 0 -67'); + sys.waitFor ($tp_guard); + + $tp_shoulder.time (1.5); + $tp_shoulder.rotateOnce ('0 0 -30'); + sys.waitFor ($tp_shoulder); + + $tp_leftarm.rotateOnce ('0 35 0'); + $tp_rightarm.rotateOnce ('0 -35 0'); + sys.wait(5); + + $tp_shoulder.rotateOnce ('0 0 30'); + $tp_leftarm.rotateOnce ('0 -35 0'); + $tp_rightarm.rotateOnce ('0 35 0'); + sys.waitFor ($tp_shoulder); + + $tp_guard.rotateOnce ('0 0 67'); + } + + void show_chair () + { + $delta2a_chair_2.show(); + $char_scientist_old_sitting_1.setBoneMod( false ); + } + + void set_scientist_skin () + { + $char_scientist_old_sitting_1.setSkin( "skins/models/chars/labcoat/labcoat3nochair.skin"); + } + + void drag_corpse () + { + $corpse_mover.time (6); + $corpse_mover.move (WEST,352); + sys.waitFor ($corpse_mover); + $env_ragdoll_lab1_1.remove (); + } + + void tproom_fadeout() { + $speaker_79.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $speaker_130.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $speaker_77.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $speaker_116.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $speaker_115.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $speaker_1.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + } + + void main () + { + setup_objects (); + thread map_delta2a::init_claw(); + init_lift(); + lift_down(); + $delta2a_chair_2.hide(); + } +} diff --git a/base/script/map_delta2b.script b/base/script/map_delta2b.script new file mode 100644 index 00000000..b2d71913 --- /dev/null +++ b/base/script/map_delta2b.script @@ -0,0 +1,785 @@ +namespace map_delta2b +{ + float container2_position = 0; + void monster_container2_run( entity container2 ); + void monster_conveyor_run( entity container ); + + + //****************** + // Telepad Rotating Doors + //****************** + void teleporter_exit_open() + { + $round_door_left.time( 1.5 ); + $round_door_left.accelTime( .1 ); + $round_door_left.decelTime( 1 ); + $round_door_right.time( 1.5 ); + $round_door_right.accelTime( .1 ); + $round_door_right.decelTime( 1 ); + sys.trigger ($rot_left_door); + $round_door_left.rotateOnce( '0 90 0' ); + sys.trigger ($rot_right_door); + $round_door_right.rotateOnce( '0 -90 0' ); + sys.waitFor( $round_door_left ); + } + + void start_conveyor_loop() + { + sys.trigger ($container_speaker_start); + sys.wait (1.8); + sys.trigger ($container_speaker_loop); + } + + void start_conveyor_loop2() + { + sys.trigger ($container2_speaker_start); + sys.wait (1.8); + sys.trigger ($container2_speaker_loop); + } + + void stop_conveyor_loop() + { + sys.trigger ($container_speaker_stop); + sys.trigger ($container_speaker_loop); + } + + void stop_conveyor_loop2() + { + sys.trigger ($container2_speaker_stop); + sys.trigger ($container2_speaker_loop); + } + + //************************************ + // Monster Conveyor System + //************************************ + +/* void turn_beam_on_off() + { + sys.trigger( $top_flare_fx); + sys.trigger( $bottom_flare_fx); + sys.trigger( $top_beam_fxr ); + sys.trigger( $top_beam_fxl ); + sys.trigger( $bottom_beam_fxr ); + sys.trigger( $bottom_beam_fxl ); + sys.trigger( $beam_kill_trigger ); + } + + void start_beam() + { + while ( 1 ) + { + $top_beam_mover.move( DOWN, 92 ); + $bottom_beam_mover.move ( UP, 92 ); + sys.waitFor ($bottom_beam_mover); + $top_beam_mover.move( UP, 92 ); + $bottom_beam_mover.move ( DOWN, 92 ); + sys.waitFor ($bottom_beam_mover); + } + } +*/ + void monster_container2_run( entity container2 ) + { + $container_clamp2.bind( $container2_clamphandle1 ); + $container2_clamphandle1.moveTo( $clamp_position_start ); + sys.waitFor( $container2_clamphandle1); + + $container_clamp2.unbind(); + $container_clamp2.bind($container_clamphandle1); + $container2_clamphandle1.restorePosition(); + + $monster_container2_contactpoint.move( UP, 164 ); + sys.waitFor( $monster_container2_contactpoint ); + //container2_position = 1; + + $container_clamphandle1.speed( 65 ); + $container_clamphandle2.speed( 65 ); + $container_clamphandle3.speed( 65 ); + $container_clamphandle_middle.speed( 65 ); + + //small door operate open + sys.trigger ($smalldoor_open); + $monster_machinedoorsmall_left.move( WEST, 32 ); + $monster_machinedoorsmall_right.move( EAST, 32 ); + sys.waitFor( $monster_machinedoorsmall_right ); + + //move container2 clamp into position while container moves up + $container_clamphandle1.moveTo( $clamp_position_stop1 ); + + //move container up and arms down for pickup + container2.move( UP, 52 ); + sys.trigger ($speaker_liftarms1_down); // SOUND + $monster_container_liftarms1.move( DOWN, 152 ); + sys.waitFor( $monster_container_liftarms1 ); + sys.wait( .5 ); + + //bind container to liftarms and move up + container2.bind( $monster_container_liftarms1 ); + sys.trigger ($speaker_liftarms1_up); // SOUND + $monster_container_liftarms1.move( UP, 120 ); + sys.waitFor( $container_clamphandle1 ); + sys.waitFor( $monster_container_liftarms1 ); + + //small door operate close + sys.trigger ($smalldoor_close); + $monster_machinedoorsmall_left.move( EAST, 32 ); + $monster_machinedoorsmall_right.move( WEST, 32 ); + + //bind container to the clamp + sys.wait( 1 ); //temp wait for clamp to engage + container2.bind( $container_clamp2 ); + sys.trigger ($speaker_liftarms1_up); // SOUND + $monster_container_liftarms1.move( UP, 32 ); + sys.waitFor( $monster_container_liftarms1 ); + + //move container along path + thread start_conveyor_loop2(); // SOUND + + $container_clamphandle1.moveTo( $clamp_position_rotateright1 ); + sys.waitFor( $container_clamphandle1 ); + + $container_clamphandle1.time( 2.5 );//set to time var for corner + $container_clamphandle1.rotateOnce( '0 -90 0' ); + sys.waitFor( $container_clamphandle1 ); + + $container_clamp2.unbind(); + $container_clamp2.bind( $container_clamphandle2 ); + $container_clamphandle1.restorePosition();//reset handle1 to starting position + + $container_clamphandle2.speed( 65 );//reset to speed var + $container_clamphandle2.moveTo( $clamp_position_rotateleft1 ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamphandle2.time( 2.5 ); + $container_clamphandle2.rotateOnce( '0 90 0' ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamphandle2.speed( 65 );//reset to speed var + $container_clamphandle2.moveTo( $clamp_position_rotateleft2 ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamphandle2.time( 2.5 ); + $container_clamphandle2.rotateOnce( '0 90 0' ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamphandle2.speed( 65 );//reset to speed var + $container_clamphandle2.moveTo( $clamp_position_stop2 ); + sys.waitFor( $container_clamphandle2 ); + + thread stop_conveyor_loop2(); // SOUND + + sys.trigger ($speaker_machinedoor1); + $monster_machinedoor1_left.rotateOnce( '0 90 0' ); + $monster_machinedoor1_right.rotateOnce( '0 -90 0' ); + sys.waitFor( $monster_machinedoor1_left ); + + sys.wait( 1 );//container wait to move into position + + thread start_conveyor_loop2(); // SOUND + + $container_clamphandle2.moveTo( $clamp_position_stop3 ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamp2.unbind(); + $container_clamp2.bind( $container_clamphandle_middle ); + $container_clamphandle2.restorePosition();//reset handle2 to starting position + + thread stop_conveyor_loop2(); // SOUND + + sys.trigger ($speaker_machinedoor1); + $monster_machinedoor1_left.rotateOnce( '0 -90 0' ); + $monster_machinedoor1_right.rotateOnce( '0 90 0' ); + sys.waitFor( $monster_machinedoor1_left ); + + //fade container 2 lights OUT, red lights IN + thread crossFadeEnt ($container2_light1, '0.756863 0.976471 1', '0 0 0', 1.0); + thread crossFadeEnt ($container2_light2, '0.756863 0.976471 1', '0 0 0', 1.0); + thread crossFadeEnt ($chamber_redlight1, '0 0 0', '1 0 0', 1.0); + thread crossFadeEnt ($chamber_redlight2, '0 0 0', '1 0 0', 1.0); + + sys.trigger ($chamber_fx1); + sys.trigger ($chamber_fx2); + sys.trigger ($chamber_fx_sound); + sys.wait( 4 );//container wait inside chamber + sys.trigger ($chamber_fx1); + sys.trigger ($chamber_fx2); + + //fade container 2 lights IN, red lights OUT + thread crossFadeEnt ($container2_light1, '0 0 0', '0.756863 0.976471 1', 1.0); + thread crossFadeEnt ($container2_light2, '0 0 0', '0.756863 0.976471 1', 1.0); + thread crossFadeEnt ($chamber_redlight1, '1 0 0', '0 0 0', 1.0); + thread crossFadeEnt ($chamber_redlight2, '1 0 0', '0 0 0', 1.0); + + thread monster_conveyor_run( $monster_container1_contactpoint ); + + thread start_conveyor_loop2(); // SOUND + + $container_clamphandle_middle.moveTo( $clamp_position_stop4 ); + sys.waitFor( $container_clamphandle_middle ); + + thread stop_conveyor_loop2(); // SOUND + + sys.trigger ($speaker_machinedoor2); + $monster_machinedoor2_left.rotateOnce( '0 90 0' ); + $monster_machinedoor2_right.rotateOnce( '0 -90 0' ); + sys.waitFor( $monster_machinedoor2_left ); + sys.wait( 1 );//container wait outside chamber + + thread start_conveyor_loop2(); // SOUND + + $container_clamphandle_middle.moveTo( $clamp_position_rotateleft3 ); + sys.wait( 1.75 ); + sys.trigger ($speaker_machinedoor2); + $monster_machinedoor2_left.rotateOnce( '0 -90 0' ); + $monster_machinedoor2_right.rotateOnce( '0 90 0' ); + sys.waitFor( $container_clamphandle_middle ); + $container_clamphandle_middle.time( 2.5 ); + $container_clamphandle_middle.rotateOnce( '0 90 0' ); + sys.waitFor( $container_clamphandle_middle ); + + $container_clamphandle_middle.speed( 65 );//reset to speed var + + $container_clamphandle_middle.moveTo( $clamp_position_rotateright2 ); + sys.waitFor( $container_clamphandle_middle ); + $container_clamp2.unbind(); + $container_clamp2.bind( $container_clamphandle3 ); + $container_clamphandle_middle.restorePosition();//reset handle_middle to starting position + + $container_clamphandle3.time( 2.5 ); + $container_clamphandle3.rotateOnce( '0 -90 0' ); + sys.waitFor( $container_clamphandle3 ); + + $container_clamphandle3.speed( 65 );//reset to speed var + + $container_clamphandle3.moveTo( $clamp_position_end ); + sys.waitFor( $container_clamphandle3 ); + + thread stop_conveyor_loop2(); // SOUND + + sys.trigger ($speaker_machinedoor3); + + $monster_machinedoor3_left.rotateOnce( '0 90 0' ); + $monster_machinedoor3_right.rotateOnce( '0 -90 0' ); + sys.waitFor( $monster_machinedoor3_right ); + sys.wait( .25 ); + container2.unbind(); + $container_clamp2.unbind(); + $container_clamp2.restorePosition(); + $container_clamphandle3.restorePosition(); + + $monster_container2.hide();//Bug - hide container before restorePos to avoid contact with player + sys.wait(.25); + container2.restorePosition(); + sys.wait(.25); + $monster_container2.show(); + + sys.wait( 1.5 ); + $monster_machinedoor3_left.rotateOnce( '0 -90 0' ); + $monster_machinedoor3_right.rotateOnce( '0 90 0' ); + sys.waitFor( $monster_machinedoor3_right ); + sys.wait( .25 ); + } + + void monster_conveyor_run( entity container ) + { + $container_clamphandle1.speed( 65 ); + $container_clamphandle2.speed( 65 ); + $container_clamphandle3.speed( 65 ); + $container_clamphandle_middle.speed( 65 ); + + //small door operate open + sys.trigger ($smalldoor_open); + $monster_machinedoorsmall_left.move( WEST, 32 ); + $monster_machinedoorsmall_right.move( EAST, 32 ); + sys.waitFor( $monster_machinedoorsmall_right ); + + //move container clamp into position while container moves up + $container_clamphandle1.moveTo( $clamp_position_stop1 ); + + //move container up and arms down for pickup + container.move( UP, 52 ); + sys.trigger ($speaker_liftarms1_down); // SOUND + $monster_container_liftarms1.move( DOWN, 152 ); + sys.waitFor( $monster_container_liftarms1 ); + sys.wait( .5 ); + //bind container to liftarms and move up + container.bind( $monster_container_liftarms1 ); + sys.trigger ($speaker_liftarms1_up); // SOUND + $monster_container_liftarms1.move( UP, 120 ); + sys.waitFor( $container_clamphandle1 ); + sys.waitFor( $monster_container_liftarms1 ); + + //small door close + sys.trigger ($smalldoor_close); + $monster_machinedoorsmall_left.move( EAST, 32 ); + $monster_machinedoorsmall_right.move( WEST, 32 ); + + //bind container to the clamp + sys.wait( 1 ); //temp wait for clamp to engage + container.bind( $container_clamp1 ); + sys.trigger ($speaker_liftarms1_up); // SOUND + $monster_container_liftarms1.move( UP, 32 ); + sys.waitFor( $monster_container_liftarms1 ); + + //move container along path + thread start_conveyor_loop(); // SOUND + + $container_clamphandle1.moveTo( $clamp_position_rotateright1 ); + sys.waitFor( $container_clamphandle1 ); + + $container_clamphandle1.time( 2.5 );//set to time var for corner + $container_clamphandle1.rotateOnce( '0 -90 0' ); + sys.waitFor( $container_clamphandle1 ); + + $container_clamp1.unbind(); + $container_clamp1.bind( $container_clamphandle2 ); + $container_clamphandle1.restorePosition();//reset handle1 to starting position + + $container_clamphandle2.speed( 65 );//reset to speed var + $container_clamphandle2.moveTo( $clamp_position_rotateleft1 ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamphandle2.time( 2.5 ); + $container_clamphandle2.rotateOnce( '0 90 0' ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamphandle2.speed( 65 );//reset to speed var + $container_clamphandle2.moveTo( $clamp_position_rotateleft2 ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamphandle2.time( 2.5 ); + $container_clamphandle2.rotateOnce( '0 90 0' ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamphandle2.speed( 65 );//reset to speed var + $container_clamphandle2.moveTo( $clamp_position_stop2 ); + sys.waitFor( $container_clamphandle2 ); + + stop_conveyor_loop(); // SOUND + + sys.trigger ($speaker_machinedoor1); + $monster_machinedoor1_left.rotateOnce( '0 90 0' ); + $monster_machinedoor1_right.rotateOnce( '0 -90 0' ); + sys.waitFor( $monster_machinedoor1_left ); + + sys.wait( 1 );//container wait to move into position + + thread start_conveyor_loop(); // SOUND + + $container_clamphandle2.moveTo( $clamp_position_stop3 ); + sys.waitFor( $container_clamphandle2 ); + + $container_clamp1.unbind(); + $container_clamp1.bind( $container_clamphandle_middle ); + $container_clamphandle2.restorePosition();//reset handle2 to starting position + + stop_conveyor_loop(); // SOUND + + sys.trigger ($speaker_machinedoor1); + $monster_machinedoor1_left.rotateOnce( '0 -90 0' ); + $monster_machinedoor1_right.rotateOnce( '0 90 0' ); + sys.waitFor( $monster_machinedoor1_left ); + + //fade container 1 lights OUT, red lights IN + thread crossFadeEnt ($container1_light1, '0.756863 0.976471 1', '0 0 0', 1.0); + thread crossFadeEnt ($container1_light2, '0.756863 0.976471 1', '0 0 0', 1.0); + thread crossFadeEnt ($chamber_redlight1, '0 0 0', '1 0 0', 1.0); + thread crossFadeEnt ($chamber_redlight2, '0 0 0', '1 0 0', 1.0); + + sys.trigger ($chamber_fx1); + sys.trigger ($chamber_fx2); + sys.trigger ($chamber_fx_sound); + sys.wait( 4 );//container wait inside chamber + sys.trigger ($chamber_fx1); + sys.trigger ($chamber_fx2); + + //fade container 1 lights IN, red lights OUT + thread crossFadeEnt ($container1_light1, '0 0 0', '0.756863 0.976471 1', 1.0); + thread crossFadeEnt ($container1_light2, '0 0 0', '0.756863 0.976471 1', 1.0); + thread crossFadeEnt ($chamber_redlight1, '1 0 0', '0 0 0', 1.0); + thread crossFadeEnt ($chamber_redlight2, '1 0 0', '0 0 0', 1.0); + + //********************************* + //start second container + // ******************************** + thread monster_container2_run( $monster_container2_contactpoint ); + thread start_conveyor_loop(); // SOUND + + $container_clamphandle_middle.moveTo( $clamp_position_stop4 ); + sys.waitFor( $container_clamphandle_middle ); + thread stop_conveyor_loop(); // SOUND + sys.trigger ($speaker_machinedoor2); + $monster_machinedoor2_left.rotateOnce( '0 90 0' ); + $monster_machinedoor2_right.rotateOnce( '0 -90 0' ); + sys.waitFor( $monster_machinedoor2_left ); + + sys.wait( 1 );//container wait outside chamber + thread start_conveyor_loop(); // SOUND + $container_clamphandle_middle.moveTo( $clamp_position_rotateleft3 ); + sys.wait( 1.75 ); + + sys.trigger ($speaker_machinedoor2); + $monster_machinedoor2_left.rotateOnce( '0 -90 0' ); + $monster_machinedoor2_right.rotateOnce( '0 90 0' ); + sys.waitFor( $container_clamphandle_middle ); + + $container_clamphandle_middle.time( 2.5 ); + $container_clamphandle_middle.rotateOnce( '0 90 0' ); + sys.waitFor( $container_clamphandle_middle ); + + $container_clamphandle_middle.speed( 65 );//reset to speed var + + $container_clamphandle_middle.moveTo( $clamp_position_rotateright2 ); + sys.waitFor( $container_clamphandle_middle ); + $container_clamp1.unbind(); + $container_clamp1.bind( $container_clamphandle3 ); + $container_clamphandle_middle.restorePosition();//reset handle_middle to starting position + + $container_clamphandle3.time( 2.5 ); + $container_clamphandle3.rotateOnce( '0 -90 0' ); + sys.waitFor( $container_clamphandle3 ); + + $container_clamphandle3.speed( 65 );//reset to speed var + + $container_clamphandle3.moveTo( $clamp_position_end ); + sys.waitFor( $container_clamphandle3 ); + stop_conveyor_loop(); // SOUND + + sys.trigger ($speaker_machinedoor3); + + $monster_machinedoor3_left.rotateOnce( '0 90 0' ); + $monster_machinedoor3_right.rotateOnce( '0 -90 0' ); + sys.waitFor( $monster_machinedoor3_right ); + sys.wait( .25 ); + container.unbind(); + $container_clamp1.unbind(); + $container_clamphandle3.restorePosition(); + $container_clamp1.restorePosition(); + + $monster_container1.hide();//Bug - hide container before restorePos to avoid contact with player + sys.wait(.25); + container.restorePosition(); + sys.wait(.25); + $monster_container1.show(); + + sys.wait( 1.5 ); + $monster_machinedoor3_left.rotateOnce( '0 -90 0' ); + $monster_machinedoor3_right.rotateOnce( '0 90 0' ); + sys.waitFor( $monster_machinedoor3_right ); + $container_clamp1.bind( $container_clamphandle1 ); + sys.wait( .25 ); + } + + void monster_conveyor_start() + { + thread monster_conveyor_run( $monster_container1_contactpoint ); + //turn_beam_on_off(); + //start_beam(); + } + +// ---------------------------- +// Analyzer machine starts here +// ---------------------------- + + void analyzer_fwdarms_operate() + { + $speaker_sc_piston_leftfront.startSoundShader ("rec2_pump_1s_01", SND_CHANNEL_VOICE2 ); + + $sc_piston_leftfront.move( DOWN, 84 ); + + $speaker_sc_piston_rightfront.startSoundShader ("rec2_pump_1s_01", SND_CHANNEL_VOICE2 ); + + $sc_piston_rightfront.move( DOWN, 84 ); + sys.waitFor( $sc_piston_rightfront ); + + $speaker_sc_rotater_leftfront.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE2 ); + + $sc_rotater_leftfront.rotateOnce( '0 -45 0' ); + + $speaker_sc_rotater_rightfront.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE2 ); + + $sc_rotater_rightfront.rotateOnce( '0 45 0' ); + sys.wait( .25 ); + + $speaker_sc_largearm_leftfront.startSoundShader ("mach_1s", SND_CHANNEL_VOICE2 ); + $sc_largearm_leftfront.rotateOnce( '-80 0 0' ); + + $speaker_sc_largearm_rightfront.startSoundShader ("mach_1s", SND_CHANNEL_VOICE2 ); + $sc_largearm_rightfront.rotateOnce( '-80 0 0' ); + sys.wait( .25 ); + + $speaker_sc_smallarm_leftfront.startSoundShader ("mach_1_5s", SND_CHANNEL_VOICE2 ); + $sc_smallarm_leftfront.rotateOnce( '-31.5 0 0' ); + $speaker_sc_rightarm_leftfront.startSoundShader ("mach_1_5s", SND_CHANNEL_VOICE2 ); + $sc_smallarm_rightfront.rotateOnce( '-31.5 0 0' ); + sys.wait( .5 ); + + $sc_4head_leftfront.rotateOnce( '-12 0 0' ); + $sc_4head_rightfront.rotateOnce( '-12 0 0' ); + sys.waitFor( $sc_4head_rightfront ); + + //start analyzer fx + $anal_main_fx.startSoundShader ("u1mach_on", SND_CHANNEL_VOICE ); + sys.trigger( $anal_head_fx1 ); + sys.trigger( $anal_head_fx2 ); + sys.trigger( $anal_head_fx3 ); + sys.trigger( $anal_head_fx4 ); + sys.trigger( $anal_head_fx5 ); + sys.trigger( $anal_head_fx6 ); + sys.wait( 1.4 ); + $anal_main_fx.startSoundShader ("u1mach_loop", SND_CHANNEL_VOICE2 ); + sys.trigger( $anal_main_fx ); + //turn on kill brush + sys.trigger( $analyzeToDeath ); + + sys.trigger( $analyzer_controlpanel); + } + + void analyzer_operate() + { + $speaker_sc_piston_leftrear.startSoundShader ("mach_1_5s", SND_CHANNEL_VOICE2 ); + $sc_piston_leftrear.move( DOWN, 80 ); + $speaker_sc_piston_rightrear.startSoundShader ("mach_1_5s", SND_CHANNEL_VOICE2 ); + $sc_piston_rightrear.move( DOWN, 80 ); + + sys.waitFor( $sc_piston_rightrear ); + thread analyzer_fwdarms_operate(); + + $speaker_sc_rotater_leftrear.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE2 ); + $sc_rotater_leftrear.rotateOnce( '0 30 0' ); + $speaker_sc_rotater_rightrear.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE2 ); + $sc_rotater_rightrear.rotateOnce( '0 -30 0' ); + sys.wait( .25 ); + + $speaker_sc_largearm_leftrear.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + + $sc_largearm_leftrear.rotateOnce( '-90 0 0' ); + + $speaker_sc_largearm_righttrear.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_largearm_rightrear.rotateOnce( '-90 0 0' ); + sys.wait( .325 ); + + $speaker_sc_smallarm_leftrear.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_smallarm_leftrear.rotateOnce( '-50 0 0' ); + $speaker_sc_smallarm_rightrear.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_smallarm_rightrear.rotateOnce( '-50 0 0' ); + sys.wait( 1.25 ); + + $sc_3head_leftrear.rotateOnce( '-21.5 0 0' ); + $sc_3head_rightrear.rotateOnce( '-21.5 0 0' ); + } + + void analyzer_reararms_operate_off() + { + $sc_3head_leftrear.rotateOnce( '21.5 0 0' ); + $sc_3head_rightrear.rotateOnce( '21.5 0 0' ); + sys.wait( 1.25 ); + + $speaker_sc_smallarm_leftrear.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_smallarm_leftrear.rotateOnce( '50 0 0' ); + $speaker_sc_smallarm_rightrear.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_smallarm_rightrear.rotateOnce( '50 0 0' ); + //sys.wait( .325 ); + + $speaker_sc_largearm_leftrear.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_largearm_leftrear.rotateOnce( '90 0 0' ); + $speaker_sc_largearm_rightrear.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_largearm_rightrear.rotateOnce( '90 0 0' ); + sys.wait( 1.25 ); + + $speaker_sc_rotater_leftrear.startSoundShader ("mach_1s", SND_CHANNEL_VOICE2 ); + $sc_rotater_leftrear.rotateOnce( '0 -30 0' ); + $speaker_sc_rotater_rightrear.startSoundShader ("mach_1s", SND_CHANNEL_VOICE2 ); + $sc_rotater_rightrear.rotateOnce( '0 30 0' ); + sys.waitFor( $sc_rotater_rightrear ); + + $speaker_sc_piston_leftrear.startSoundShader ("rec2_pump_1s_01", SND_CHANNEL_VOICE2 ); + $sc_piston_leftrear.move( UP, 80 ); + + $speaker_sc_piston_rightrear.startSoundShader ("rec2_pump_1s_01", SND_CHANNEL_VOICE2 ); + $sc_piston_rightrear.move( UP, 80 ); + sys.waitFor( $sc_piston_rightrear ); + + sys.trigger( $analyzer_controlpanel); + } + + void analyzer_operate_off() + { + + //stop analyzer fx + $anal_main_fx.startSoundShader ("u1mach_off", SND_CHANNEL_VOICE2 ); + sys.trigger( $anal_main_fx ); + sys.wait( .5 ); + sys.trigger( $anal_head_fx1 ); + sys.trigger( $anal_head_fx2 ); + sys.trigger( $anal_head_fx3 ); + sys.trigger( $anal_head_fx4 ); + sys.trigger( $anal_head_fx5 ); + sys.trigger( $anal_head_fx6 ); + //turn off kill brush + sys.trigger( $analyzeToDeath ); + sys.wait( .5 ); + + + $speaker_sc4head_leftfront.startSoundShader ("al4_conveyor_1_point5s", SND_CHANNEL_VOICE2 ); + $sc_4head_leftfront.rotateOnce( '12 0 0' ); + $speaker_sc4head_rightfront.startSoundShader ("al4_conveyor_1_point5s", SND_CHANNEL_VOICE2 ); + $sc_4head_rightfront.rotateOnce( '12 0 0' ); + sys.wait( .15 ); + + $speaker_sc_largearm_leftfront.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_largearm_leftfront.rotateOnce( '80 0 0' ); + $speaker_sc_largearm_rightfront.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2 ); + $sc_largearm_rightfront.rotateOnce( '80 0 0' ); + + $sc_smallarm_leftfront.rotateOnce( '31.5 0 0' ); + $sc_smallarm_rightfront.rotateOnce( '31.5 0 0' ); + sys.wait( .5 ); + + thread analyzer_reararms_operate_off(); + + $speaker_sc_rotater_leftfront.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE2 ); + + $sc_rotater_leftfront.rotateOnce( '0 45 0' ); + + $speaker_sc_rotater_rightfront.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE2 ); + + $sc_rotater_rightfront.rotateOnce( '0 -45 0' ); + + sys.waitFor( $sc_rotater_rightfront ); + + $speaker_sc_piston_leftfront.startSoundShader ("rec2_pump_1s_01", SND_CHANNEL_VOICE2 ); + $sc_piston_leftfront.move( UP, 84 ); + $speaker_sc_piston_rightfront.startSoundShader ("rec2_pump_1s_01", SND_CHANNEL_VOICE2 ); + $sc_piston_rightfront.move( UP, 84 ); + } + + void cache_sounds() + { + sys.cacheSoundShader ("rec2_pump_1s_01"); + sys.cacheSoundShader ("dc3_gui_panel_1"); + sys.cacheSoundShader ("mach_1s"); + sys.cacheSoundShader ("mach_1_5s"); + sys.cacheSoundShader ("mcu_support_2s"); + sys.cacheSoundShader ("al4_conveyor_1_point5s"); + sys.cacheSoundShader ("u1mach_on"); + sys.cacheSoundShader ("u1mach_off"); + sys.cacheSoundShader ("u1mach_loop"); + } + + void falling_floor_secret() + { + $drop_floor.time( 1 ); + $drop_floor.accelTime( .25 ); + $drop_floor.decelTime( .25 ); + $drop_floor.move( DOWN, 128 ); + } + + void main() + { + cache_sounds(); + //init + $top_beam_mover.hide(); + $bottom_beam_mover.hide(); + + $monster_container_liftarms1.time( 2 ); + $monster_container_liftarms1.accelTime( 0 ); + $monster_container_liftarms1.decelTime( 1 ); + + $monster_machinedoorsmall_left.time( 1.5 ); + $monster_machinedoorsmall_left.accelTime( .5 ); + $monster_machinedoorsmall_left.decelTime( 1 ); + $monster_machinedoorsmall_right.time( 1.5 ); + $monster_machinedoorsmall_right.accelTime( .5 ); + $monster_machinedoorsmall_right.decelTime( 1 ); + + $monster_container1_contactpoint.time( 1.5 ); + $monster_container1_contactpoint.accelTime( .5 ); + $monster_container1_contactpoint.decelTime( 1 ); + $monster_container2_contactpoint.time( 1.5 ); + $monster_container2_contactpoint.accelTime( .5 ); + $monster_container2_contactpoint.decelTime( 1 ); + + $monster_machinedoor1_left.time( 2 ); + $monster_machinedoor1_left.accelTime( .5 ); + $monster_machinedoor1_left.decelTime( 1 ); + $monster_machinedoor1_right.time( 2 ); + $monster_machinedoor1_right.accelTime( .5 ); + $monster_machinedoor1_right.decelTime( 1 ); + $monster_machinedoor2_left.time( 2 ); + $monster_machinedoor2_left.accelTime( .5 ); + $monster_machinedoor2_left.decelTime( 1 ); + $monster_machinedoor2_right.time( 2 ); + $monster_machinedoor2_right.accelTime( .5 ); + $monster_machinedoor2_right.decelTime( 1 ); + + $sc_piston_leftrear.time( 1.5 ); + $sc_piston_leftrear.accelTime( .5 ); + $sc_piston_leftrear.decelTime( 1 ); + $sc_piston_rightrear.time( 1.5 ); + $sc_piston_rightrear.accelTime( .5 ); + $sc_piston_rightrear.decelTime( 1 ); + + $sc_rotater_leftrear.time( 1 ); + $sc_rotater_leftrear.accelTime( .25 ); + $sc_rotater_leftrear.decelTime( .75 ); + $sc_rotater_rightrear.time( 1 ); + $sc_rotater_rightrear.accelTime( .25 ); + $sc_rotater_rightrear.decelTime( .75 ); + + $sc_largearm_leftrear.time( 2 ); + $sc_largearm_leftrear.accelTime( .75 ); + $sc_largearm_leftrear.decelTime( 1 ); + $sc_largearm_rightrear.time( 2 ); + $sc_largearm_rightrear.accelTime( .75 ); + $sc_largearm_rightrear.decelTime( 1 ); + + $sc_smallarm_leftrear.time( 2 ); + $sc_smallarm_leftrear.accelTime( .5 ); + $sc_smallarm_leftrear.decelTime( 1.25 ); + $sc_smallarm_rightrear.time( 2 ); + $sc_smallarm_rightrear.accelTime( .5 ); + $sc_smallarm_rightrear.decelTime( 1.25 ); + + $sc_3head_leftrear.time( 1.5 ); + $sc_3head_leftrear.accelTime( .5 ); + $sc_3head_leftrear.decelTime( 1 ); + $sc_3head_rightrear.time( 1.5 ); + $sc_3head_rightrear.accelTime( .5 ); + $sc_3head_rightrear.decelTime( 1 ); + + $sc_piston_leftfront.time( 1.5 ); + $sc_piston_leftfront.accelTime( .5 ); + $sc_piston_leftfront.decelTime( 1 ); + $sc_piston_rightfront.time( 1.5 ); + $sc_piston_rightfront.accelTime( .5 ); + $sc_piston_rightfront.decelTime( 1 ); + + $sc_rotater_leftfront.time( 1 ); + $sc_rotater_leftfront.accelTime( .25 ); + $sc_rotater_leftfront.decelTime( .75 ); + $sc_rotater_rightfront.time( 1 ); + $sc_rotater_rightfront.accelTime( .25 ); + $sc_rotater_rightfront.decelTime( .75 ); + + $sc_largearm_leftfront.time( 2 ); + $sc_largearm_leftfront.accelTime( .75 ); + $sc_largearm_leftfront.decelTime( 1 ); + $sc_largearm_rightfront.time( 2 ); + $sc_largearm_rightfront.accelTime( .75 ); + $sc_largearm_rightfront.decelTime( 1 ); + + $sc_smallarm_leftfront.time( 1.5 ); + $sc_smallarm_leftfront.accelTime( .5 ); + $sc_smallarm_leftfront.decelTime( 1 ); + $sc_smallarm_rightfront.time( 1.5 ); + $sc_smallarm_rightfront.accelTime( .5 ); + $sc_smallarm_rightfront.decelTime( 1 ); + + $sc_4head_leftfront.time( 1.25 ); + $sc_4head_leftfront.accelTime( .5 ); + $sc_4head_leftfront.decelTime( .75 ); + $sc_4head_rightfront.time( 1.25 ); + $sc_4head_rightfront.accelTime( .5 ); + $sc_4head_rightfront.decelTime( .75 ); + } +} diff --git a/base/script/map_delta3.script b/base/script/map_delta3.script new file mode 100644 index 00000000..bb8353d8 --- /dev/null +++ b/base/script/map_delta3.script @@ -0,0 +1,1095 @@ +namespace map_delta3 +{ + + // Sound precache stuff for script calls. + + void precache() { + //sys.cacheSoundShader ("m5_start"); + //sys.cacheSoundShader ("m5_loop"); + //sys.cacheSoundShader ("m5_stop"); + sys.cacheSoundShader ("dc3_gui_panel_1"); + sys.cacheSoundShader ("dc3_gui_panel_2"); + } + + + void bind_objects() + { + $mister1.bind ($mister1_anchor); + $mister2.bind ($mister2_anchor); + $mister3.bind ($mister3_anchor); + $mister4.bind ($mister4_anchor); + $mister5.bind ($mister5_anchor); + $mister6.bind ($mister6_anchor); +/* + $mister1_anchor.accelTime (0.25); + $mister1_anchor.decelTime (0.25); + $mister2_anchor.accelTime (0.25); + $mister2_anchor.decelTime (0.25); + $mister3_anchor.accelTime (0.25); + $mister3_anchor.decelTime (0.25); + $mister4_anchor.accelTime (0.25); + $mister4_anchor.decelTime (0.25); + $mister5_anchor.accelTime (0.25); + $mister5_anchor.decelTime (0.25); + $mister6_anchor.accelTime (0.25); + $mister6_anchor.decelTime (0.25); +*/ + } + + + void init_world() + { + float i; + entity ent1, ent2; + + for ( i = 1; i <= 9; i++ ) + { + ent1 = sys.getEntity ("lred_0" + i); + ent1.Off(); + } + + for ( i = 1; i <= 6; i++ ) + { + ent1 = sys.getEntity ("lleft_0" + i); + ent2 = sys.getEntity ("lright_0" + i); + ent1.Off(); + ent2.Off(); + } + + $teleporter1_controlpanel_gui.hide(); + $teleporter2_controlpanel_gui.hide(); + + $teleport1_controlpanelarms.time (1.0); + $teleport1_controlpanelarms.accelTime (.5 ); + $teleport1_controlpanelarms.decelTime (.5 ); + $teleport1_controlpanel.time (.75); + $teleport1_controlpanel.accelTime (.25 ); + $teleport1_controlpanel.decelTime (.5 ); + $teleport1_shoulder.time (2.0); + $teleport1_shoulder.accelTime (1.0 ); + $teleport1_shoulder.decelTime (1.0 ); + $teleport1_arm1.time (2.0); + $teleport1_arm1.accelTime (1.25 ); + $teleport1_arm1.decelTime (.75 ); + $teleport1_arm2.time (2.0); + $teleport1_arm2.accelTime (1.25 ); + $teleport1_arm2.decelTime (.75 ); + + $teleport2_controlpanelarms.time (1.0); + $teleport2_controlpanelarms.accelTime (.5 ); + $teleport2_controlpanelarms.decelTime (.5 ); + $teleport2_controlpanel.time (.75); + $teleport2_controlpanel.accelTime (.25 ); + $teleport2_controlpanel.decelTime (.5 ); + $teleport2_shoulder.time (2.0); + $teleport2_shoulder.accelTime (1.0 ); + $teleport2_shoulder.decelTime (1.0 ); + $teleport2_arm1.time (2.0); + $teleport2_arm1.accelTime (1.25 ); + $teleport2_arm1.decelTime (.75 ); + $teleport2_arm2.time (2.0); + $teleport2_arm2.accelTime (1.25 ); + $teleport2_arm2.decelTime (.75 ); + + $teleport3_controlpanelarms.time (1.0); + $teleport3_controlpanelarms.accelTime (.5 ); + $teleport3_controlpanelarms.decelTime (.5 ); + $teleport3_controlpanel.time (.75); + $teleport3_controlpanel.accelTime (.25 ); + $teleport3_controlpanel.decelTime (.5 ); + $teleport3_shoulder.time (2.0); + $teleport3_shoulder.accelTime (1.0 ); + $teleport3_shoulder.decelTime (1.0 ); + $teleport3_arm1.time (2.0); + $teleport3_arm1.accelTime (1.25 ); + $teleport3_arm1.decelTime (.75 ); + $teleport3_arm2.time (2.0); + $teleport3_arm2.accelTime (1.25 ); + $teleport3_arm2.decelTime (.75 ); + + } + + //************************* + // Teleporter 1 + //************************* + void teleport1_machine_ready() + { + sys.wait (.5); + //trigger tp sounds + sys.trigger ($teleport1_machine_poweron); + sys.trigger ($teleport1_machine_idle_delay); + //turn on electrical lightning effect + sys.trigger ($teleport1_lightningfx); + sys.wait (1.95); + $teleport1_shoulder.rotateOnce ('0 0 -35'); + //trigger sound for arms + sys.trigger ($teleport1_shoulder_operate); + sys.wait(.75); + $teleport1_arm1.rotateOnce ('0 -30 0'); + $teleport1_arm2.rotateOnce ('0 30 0'); + sys.waitFor ($teleport1_arm2); + sys.wait (.5); + sys.trigger ($select_speaker); + $klaxxon_speaker1.setKey ("klaxxon1_status", "0"); + } + + void teleport1_klaxxon_on() + { + if ($klaxxon_speaker1.getFloatKey ("klaxxon1_status") == 0) + { + sys.wait (.25); + $klaxxon1_light1.setColor(0.77,0.49,0.00); + $klaxxon1_light2.setColor(0.77,0.49,0.00); + $klaxxon1_light_base.setColor(0.77,0.49,0.00); + $klaxxon1_light_base.rotate ('0 360 0'); + sys.wait ( .5 ); + sys.trigger ($klaxxon_speaker1); + $klaxxon_speaker1.setKey ("klaxxon1_status", "1"); + + //trigger sounds for fx + sys.trigger ($t1_teleporterfx_startup); + sys.wait ( 1.5 ); + sys.trigger ($t1_teleporterfx_loop); + + //turn on blinking blue tp light + sys.trigger ($teleport1_blightblink); + sys.wait (.25 ); + //turn on floor and arm fx + sys.trigger ($teleport1_arm1_fx); + sys.trigger ($teleport1_arm2_fx); + sys.wait ( .5 ); + sys.trigger ($teleport1_warpfx); + sys.trigger ($teleport1_floorfx); + } + } + + void teleport1_klaxxon_off() + { + if ($klaxxon_speaker1.getFloatKey ("klaxxon1_status") == 1) + { + //reset teleport trigger + $teleport_trigger1.setGuiParm ( "gui_parm1" , 0); + //turn off blinking blue tp light + sys.trigger ($teleport1_blightblink); + + //trigger off loop sound for fx + sys.trigger ($t1_teleporterfx_loop); + + //turn off floor and arm fx + sys.trigger ($teleport1_arm1_fx); + sys.trigger ($teleport1_arm2_fx); + sys.trigger ($teleport1_warpfx); + sys.trigger ($teleport1_floorfx); + //turn of klaxxon speaker + sys.trigger ($klaxxon_speaker1); + //fade klaxxon light off; player can see it winding down after tp + thread crossFadeEnt ($klaxxon1_light1, $klaxxon1_light1.getColor(), '0 0 0', 6.0); + thread crossFadeEnt ($klaxxon1_light2, $klaxxon1_light2.getColor(), '0 0 0', 6.0); + thread crossFadeEnt ($klaxxon1_light_base, $klaxxon1_light_base.getColor(), '0 0 0', 6.0); + sys.wait ( 6 ); + //stop klaxxon rotation + $klaxxon1_light_base.rotate ('0 0 0'); + //reset klaxxon1 light and speaker + $klaxxon_speaker1.setKey ("klaxxon1_status", "0"); + //trigger gui to make useable after teleportation + sys.trigger ($teleporter1_controlpanel_gui); + } + } + + // NOTE: All teleport destinations work via a specifically named trigger_relay entity in the gui + void teleport1_destination1() + { + sys.wait (.25); + sys.trigger ($pad1select_speaker); + + thread crossFadeEnt ($destination1_floorlight1, $destination1_floorlight1.getColor(), '1 1 1', 2.0); + thread crossFadeEnt ($destination1_floorlight2, $destination1_floorlight2.getColor(), '1 1 1', 2.0); + sys.trigger ($dest1_fadein_1); + sys.trigger($dest1_redlight_on); + + // turn off pad 2 + $teleport1_pad2_rotate.rotateOnce ('0 0 0'); + thread crossFadeEnt ($teleport1_pad1_light1a, $teleport1_pad1_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport1_pad1_light1b, $teleport1_pad1_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport1_pad1_light2a, $teleport1_pad1_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport1_pad1_light2b, $teleport1_pad1_light2b.getColor(), '0 0 0', 2.0); + + //$destination2_redlight_base.rotateOnce ('0 0 0'); + //$destination2_redlight_flare.setColor (0,0,0); + //$destination2_redlight.setColor (0,0,0); + } + + void teleport1_destination2() + { + sys.wait (.25); + sys.trigger ($pad2select_speaker); + $teleport1_pad2_rotate.rotate ('0 -320 0'); + thread crossFadeEnt ($teleport1_pad1_light1a, $teleport1_pad1_light1a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport1_pad1_light1b, $teleport1_pad1_light1b.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport1_pad1_light2a, $teleport1_pad1_light2a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport1_pad1_light2b, $teleport1_pad1_light2b.getColor(), '1 0 0', 2.0); + + //$destination2_redlight_base.rotate ('0 360 0'); + //$destination2_redlight_flare.setColor (1,0,0); + //$destination2_redlight.setColor (1,0,0); + + // turn off pad 1 + sys.trigger($dest1_redlight_off); + sys.trigger ($dest1_fadeout_1); + thread crossFadeEnt ($destination1_floorlight1, $destination1_floorlight1.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($destination1_floorlight2, $destination1_floorlight2.getColor(), '0 0 0', 2.0); + + } + + //************************* + // Teleporter 2 + //************************* + void teleport2_machine_ready() + { + sys.wait (.25); + sys.trigger ($teleport2_machine_poweron); + sys.trigger ($teleport2_machine_idle_delay); + //turn on electrical lightning effect + sys.trigger ($teleport2_lightningfx); + sys.wait (1.95); + $teleport2_shoulder.rotateOnce ('0 0 -35'); + //trigger sound for arms + sys.trigger($teleport2_shoulder_operate); + sys.wait(.75); + $teleport2_arm1.rotateOnce ('0 -30 0'); + $teleport2_arm2.rotateOnce ('0 30 0'); + sys.waitFor ($teleport2_arm2); + sys.wait (.5); + sys.trigger ($select_speaker2); + $klaxxon_speaker2.setKey ("klaxxon2_status", "0"); + } + + void teleport2_klaxxon_on() + { + if ($klaxxon_speaker2.getFloatKey ("klaxxon2_status") == 0) + { + sys.wait (.25); + $klaxxon2_light1.setColor(0.77,0.49,0.00); + $klaxxon2_light2.setColor(0.77,0.49,0.00); + $klaxxon2_light_base.setColor(0.77,0.49,0.00); + $klaxxon2_light_base.rotate ('0 360 0'); + sys.wait ( .5 ); + sys.trigger ($klaxxon_speaker2); + $klaxxon_speaker2.setKey ("klaxxon2_status", "1"); + + //trigger sounds for fx + sys.trigger ($t2_teleporterfx_startup); + sys.wait ( 1.5 ); + sys.trigger ($t2_teleporterfx_loop); + + //turn on blinking blue tp light + sys.trigger ($teleport2_blightblink); + sys.wait ( .25 ); + //turn on floor and arm fx + sys.trigger ($teleport2_arm1_fx); + sys.trigger ($teleport2_arm2_fx); + sys.wait ( .5 ); + sys.trigger ($teleport2_warpfx); + sys.trigger ($teleport2_floorfx); + } + } + + void teleport2_klaxxon_off() + { + if ($klaxxon_speaker2.getFloatKey ("klaxxon2_status") == 1) + { + //reset teleport trigger + $teleport_trigger2.setGuiParm ( "gui_parm1" , 0); + //turn off blinking blue tp light + sys.trigger ($teleport2_blightblink); + + //trigger off loop sound for fx + sys.trigger ($t2_teleporterfx_loop); + + //turn off floor and arm fx + sys.trigger ($teleport2_arm1_fx); + sys.trigger ($teleport2_arm2_fx); + sys.trigger ($teleport2_warpfx); + sys.trigger ($teleport2_floorfx); + + sys.trigger ($klaxxon_speaker2); + //fade klaxxon off; player can see it winding down after tp + thread crossFadeEnt ($klaxxon2_light1, $klaxxon2_light1.getColor(), '0 0 0', 6.0); + thread crossFadeEnt ($klaxxon2_light2, $klaxxon2_light2.getColor(), '0 0 0', 6.0); + thread crossFadeEnt ($klaxxon2_light_base, $klaxxon2_light_base.getColor(), '0 0 0', 6.0); + sys.wait ( 6 ); + //stop klaxxon rotation + $klaxxon2_light_base.rotate ('0 0 0'); + //reset klaxxon light and speaker + $klaxxon_speaker2.setKey ("klaxxon2_status", "0"); + //trigger gui to make useable after teleportation + sys.trigger ($teleporter2_controlpanel_gui); + } + } + + void teleport2_destination1() + { + sys.wait (.25); + sys.trigger ($pad1select_speaker2); + thread crossFadeEnt ($tp2_dest1_floorlight1, $tp2_dest1_floorlight1.getColor(), '1 1 1', 2.0); + thread crossFadeEnt ($tp2_dest1_floorlight2, $tp2_dest1_floorlight2.getColor(), '1 1 1', 2.0); + thread crossFadeEnt ($tp2_dest1_roomlight1, $tp2_dest1_roomlight1.getColor(), '1 1 1', 2.0); + sys.trigger ($tp2_dest1_fadein_1); + sys.trigger($tp2_dest1_redlight_on); + //turn off ambient room light while main light is on; for performance + thread crossFadeEnt ($tp2_dest1_roomlightambient, $tp2_dest1_roomlightambient.getColor(), '0 0 0', 2.0); + + // turn off pad 2 + $teleport2_pad2_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport2_pad2_light1a, $teleport2_pad2_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light1b, $teleport2_pad2_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light2a, $teleport2_pad2_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light2b, $teleport2_pad2_light2b.getColor(), '0 0 0', 2.0); + + // turn off pad 3 + $teleport2_pad3_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport2_pad3_light1a, $teleport2_pad3_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light1b, $teleport2_pad3_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light2a, $teleport2_pad3_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light2b, $teleport2_pad3_light2b.getColor(), '0 0 0', 2.0); + } + + void teleport2_destination2() + { + sys.wait (.25); + sys.trigger ($pad2select_speaker2); + + $teleport2_pad2_rotate.rotate ('0 -320 0'); + thread crossFadeEnt ($teleport2_pad2_light1a, $teleport2_pad2_light1a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light1b, $teleport2_pad2_light1b.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light2a, $teleport2_pad2_light2a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light2b, $teleport2_pad2_light2b.getColor(), '1 0 0', 2.0); + + // turn off pad 3 + $teleport2_pad3_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport2_pad3_light1a, $teleport2_pad3_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light1b, $teleport2_pad3_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light2a, $teleport2_pad3_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light2b, $teleport2_pad3_light2b.getColor(), '0 0 0', 2.0); + + // turn off pad 1 + sys.trigger($tp2_dest1_redlight_off); + sys.trigger ($tp2_dest1_fadeout_1); + thread crossFadeEnt ($tp2_dest1_floorlight1, $tp2_dest1_floorlight1.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($tp2_dest1_floorlight2, $tp2_dest1_floorlight2.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($tp2_dest1_roomlight1, $tp2_dest1_roomlight1.getColor(), '0 0 0', 2.0); + // turn on room ambient light + thread crossFadeEnt ($tp2_dest1_roomlightambient, $tp2_dest1_roomlightambient.getColor(), '.39 .39 .39', 2.0); + } + + void teleport2_destination3() + { + sys.wait (.25); + sys.trigger ($pad3select_speaker2); + + $teleport2_pad3_rotate.rotate ('0 -320 0'); + thread crossFadeEnt ($teleport2_pad3_light1a, $teleport2_pad3_light1a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light1b, $teleport2_pad3_light1b.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light2a, $teleport2_pad3_light2a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad3_light2b, $teleport2_pad3_light2b.getColor(), '1 0 0', 2.0); + + // turn off pad 1 + sys.trigger($tp2_dest1_redlight_off); + sys.trigger ($tp2_dest1_fadeout_1); + thread crossFadeEnt ($tp2_dest1_floorlight1, $tp2_dest1_floorlight1.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($tp2_dest1_floorlight2, $tp2_dest1_floorlight2.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($tp2_dest1_roomlight1, $tp2_dest1_roomlight1.getColor(), '0 0 0', 2.0); + // turn on room ambient light + thread crossFadeEnt ($tp2_dest1_roomlightambient, $tp2_dest1_roomlightambient.getColor(), '.39 .39 .39', 2.0); + + // turn off pad 2 + $teleport2_pad2_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport2_pad2_light1a, $teleport2_pad2_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light1b, $teleport2_pad2_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light2a, $teleport2_pad2_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport2_pad2_light2b, $teleport2_pad2_light2b.getColor(), '0 0 0', 2.0); + } + + //************************* + // Teleporter 3 + //************************* + void teleport3_machine_ready() + { + sys.wait (.25); + //trigger tp sounds + sys.trigger ($teleport3_machine_poweron); + sys.trigger ($teleport3_machine_idle_delay); + //turn on electrical lightning effect + sys.trigger ($teleport3_lightningfx); + sys.wait (1.95); + $teleport3_shoulder.rotateOnce ('0 0 -35'); + //trigger sound for arms + sys.trigger($teleport3_shoulder_operate); + sys.wait(.75); + $teleport3_arm1.rotateOnce ('0 -30 0'); + $teleport3_arm2.rotateOnce ('0 30 0'); + sys.waitFor ($teleport3_arm2); + sys.wait (.5); + sys.trigger ($select_speaker3); + $klaxxon_speaker3.setKey ("klaxxon3_status", "0"); + } + + void teleport3_klaxxon_on() + { + if ($klaxxon_speaker3.getFloatKey ("klaxxon3_status") == 0) + { + sys.wait (.25); + $klaxxon3_light1.setColor(0.77,0.49,0.00); + $klaxxon3_light2.setColor(0.77,0.49,0.00); + $klaxxon3_light_base.setColor(0.77,0.49,0.00); + $klaxxon3_light_base.rotate ('0 360 0'); + sys.wait ( .5 ); + sys.trigger ($klaxxon_speaker3); + $klaxxon_speaker3.setKey ("klaxxon3_status", "1"); + //turn on blinking blue tp light + sys.trigger ($teleport3_blightblink); + sys.wait ( .25 ); + + //trigger sounds for fx + sys.trigger ($t3_teleporterfx_startup); + sys.wait ( 1.5 ); + sys.trigger ($t3_teleporterfx_loop); + + //turn on floor and arm fx + sys.trigger ($teleport3_arm1_fx); + sys.trigger ($teleport3_arm2_fx); + sys.wait ( .5 ); + sys.trigger ($teleport3_warpfx); + sys.trigger ($teleport3_floorfx); + } + } + + void teleport3_klaxxon_off() + { + if ($klaxxon_speaker3.getFloatKey ("klaxxon3_status") == 1) + { + //reset teleport trigger + $teleport_trigger3.setGuiParm ( "gui_parm1" , 0); + + //turn off blinking blue tp light + sys.trigger ($teleport3_blightblink); + + //trigger off loop sound for fx + sys.trigger ($t3_teleporterfx_loop); + + //turn off floor and arm fx + sys.trigger ($teleport3_arm1_fx); + sys.trigger ($teleport3_arm2_fx); + sys.trigger ($teleport3_warpfx); + sys.trigger ($teleport3_floorfx); + //turn off klaxxon speaker + sys.trigger ($klaxxon_speaker3); + //fade klaxxon off; player can see it winding down after tp + thread crossFadeEnt ($klaxxon3_light1, $klaxxon3_light1.getColor(), '0 0 0', 6.0); + thread crossFadeEnt ($klaxxon3_light2, $klaxxon3_light2.getColor(), '0 0 0', 6.0); + thread crossFadeEnt ($klaxxon3_light_base, $klaxxon3_light_base.getColor(), '0 0 0', 6.0); + sys.wait ( 6 ); + //stop klaxxon rotation + $klaxxon3_light_base.rotate ('0 0 0'); + //reset klaxxon light and speaker + $klaxxon_speaker3.setKey ("klaxxon3_status", "0"); + //trigger gui to make useable after teleportation + sys.trigger ($teleporter3_controlpanel_gui); + } + } + + void betruger_teleport_init() + { + teleport3_machine_ready(); + teleport3_klaxxon_on(); + } + + void betruger_teleport() + { + //trigger engulf warp fx and remove betruger + sys.wait (.75); + sys.trigger ($teleport3_blackholefx); + sys.wait (.75); + sys.trigger ($teleport_betrugar_out); + sys.wait (.5); + sys.trigger ($teleport3_blackholefx); + sys.wait (.25); + + thread teleport3_klaxxon_off(); + } + + void teleport3_destination1() + { + sys.wait (.25); + sys.trigger ($pad1select_speaker3); + $teleport3_pad1_rotate.rotate ('0 -320 0'); + thread crossFadeEnt ($teleport3_pad1_light1a, $teleport3_pad1_light1a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light1b, $teleport3_pad1_light1b.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light2a, $teleport3_pad1_light2a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light2b, $teleport3_pad1_light2b.getColor(), '1 0 0', 2.0); + // turn off pad 2 + $teleport3_pad2_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad2_light1a, $teleport3_pad2_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light1b, $teleport3_pad2_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light2a, $teleport3_pad2_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light2b, $teleport3_pad2_light2b.getColor(), '0 0 0', 2.0); + // turn off pad 3 + $teleport3_pad3_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad3_light1a, $teleport3_pad3_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light1b, $teleport3_pad3_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light2a, $teleport3_pad3_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light2b, $teleport3_pad3_light2b.getColor(), '0 0 0', 2.0); + // turn off pad 4 + $teleport3_pad4_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad4_light1a, $teleport3_pad4_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light1b, $teleport3_pad4_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light2a, $teleport3_pad4_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light2b, $teleport3_pad4_light2b.getColor(), '0 0 0', 2.0); + } + + void teleport3_destination2() + { + sys.wait (.25); + sys.trigger ($pad2select_speaker3); + $teleport3_pad2_rotate.rotate ('0 -320 0'); + thread crossFadeEnt ($teleport3_pad2_light1a, $teleport3_pad2_light1a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light1b, $teleport3_pad2_light1b.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light2a, $teleport3_pad2_light2a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light2b, $teleport3_pad2_light2b.getColor(), '1 0 0', 2.0); + // turn off pad 1 + $teleport3_pad1_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad1_light1a, $teleport3_pad1_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light1b, $teleport3_pad1_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light2a, $teleport3_pad1_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light2b, $teleport3_pad1_light2b.getColor(), '0 0 0', 2.0); + // turn off pad 3 + $teleport3_pad3_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad3_light1a, $teleport3_pad3_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light1b, $teleport3_pad3_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light2a, $teleport3_pad3_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light2b, $teleport3_pad3_light2b.getColor(), '0 0 0', 2.0); + // turn off pad 4 + $teleport3_pad4_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad4_light1a, $teleport3_pad4_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light1b, $teleport3_pad4_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light2a, $teleport3_pad4_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light2b, $teleport3_pad4_light2b.getColor(), '0 0 0', 2.0); + } + + void teleport3_destination3() + { + sys.wait (.25); + sys.trigger ($pad3select_speaker3); + sys.trigger ($tele3_pad3_swapdoortrigger); + $teleport3_pad3_rotate.rotate ('0 -320 0'); + thread crossFadeEnt ($teleport3_pad3_light1a, $teleport3_pad3_light1a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light1b, $teleport3_pad3_light1b.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light2a, $teleport3_pad3_light2a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light2b, $teleport3_pad3_light2b.getColor(), '1 0 0', 2.0); + // turn off pad 1 + $teleport3_pad1_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad1_light1a, $teleport3_pad1_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light1b, $teleport3_pad1_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light2a, $teleport3_pad1_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light2b, $teleport3_pad1_light2b.getColor(), '0 0 0', 2.0); + // turn off pad 2 + $teleport3_pad2_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad2_light1a, $teleport3_pad2_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light1b, $teleport3_pad2_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light2a, $teleport3_pad2_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light2b, $teleport3_pad2_light2b.getColor(), '0 0 0', 2.0); + // turn off pad 4 + $teleport3_pad4_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad4_light1a, $teleport3_pad4_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light1b, $teleport3_pad4_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light2a, $teleport3_pad4_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light2b, $teleport3_pad4_light2b.getColor(), '0 0 0', 2.0); + } + + void teleport3_destination4() + { + sys.wait (.25); + sys.trigger ($pad4select_speaker3); + sys.trigger ($tele3_pad4_swapdoortrigger); + $teleport3_pad4_rotate.rotate ('0 -320 0'); + thread crossFadeEnt ($teleport3_pad4_light1a, $teleport3_pad4_light1a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light1b, $teleport3_pad4_light1b.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light2a, $teleport3_pad4_light2a.getColor(), '1 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad4_light2b, $teleport3_pad4_light2b.getColor(), '1 0 0', 2.0); + // turn off pad 1 + $teleport3_pad1_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad1_light1a, $teleport3_pad1_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light1b, $teleport3_pad1_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light2a, $teleport3_pad1_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad1_light2b, $teleport3_pad1_light2b.getColor(), '0 0 0', 2.0); + // turn off pad 2 + $teleport3_pad2_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad2_light1a, $teleport3_pad2_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light1b, $teleport3_pad2_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light2a, $teleport3_pad2_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad2_light2b, $teleport3_pad2_light2b.getColor(), '0 0 0', 2.0); + // turn off pad 3 + $teleport3_pad3_rotate.rotate ('0 0 0'); + thread crossFadeEnt ($teleport3_pad3_light1a, $teleport3_pad3_light1a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light1b, $teleport3_pad3_light1b.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light2a, $teleport3_pad3_light2a.getColor(), '0 0 0', 2.0); + thread crossFadeEnt ($teleport3_pad3_light2b, $teleport3_pad3_light2b.getColor(), '0 0 0', 2.0); + } + + //********************* + // Teleport Control panels + //********************* + void teleport1_control_up() + { + $teleporter1_controlpanel_gui.show(); + $teleport1_controlpanelarms.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE ); + $teleporter1_controlpanel_gui.show(); + $teleport1_controlpanelarms.move (UP, 33); + sys.waitFor ($teleport1_controlpanelarms); + $teleport1_controlpanelarms.startSoundShader ("dc3_gui_panel_2", SND_CHANNEL_VOICE2 ); + $teleport1_controlpanel.rotateOnce ('-20 0 0'); + sys.waitFor ($teleport1_controlpanel); + } + + void teleport2_control_up() + { + $teleporter2_controlpanel_gui.show(); + $teleporter2_controlpanel_gui.show(); + $teleport2_controlpanelarms.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE ); + $teleport2_controlpanelarms.move (UP, 33); + sys.waitFor ($teleport2_controlpanelarms); + $teleport2_controlpanelarms.startSoundShader ("dc3_gui_panel_2", SND_CHANNEL_VOICE2 ); + $teleport2_controlpanel.rotateOnce ('0 0 -20'); + sys.waitFor ($teleport2_controlpanel); + } + + void teleport3_control_up() + { + //$teleport3_controlpanelarms.move (UP, 33); + //sys.waitFor ($teleport3_controlpanelarms); + //$teleport3_controlpanel.rotateOnce ('20 0 0'); + //sys.waitFor ($teleport3_controlpanel); + sys.wait (.05); + } + + //******************** + // Lock and unlock doors in area after second decon chamber + //******************** + void lock_door1() + { + $func_door_214.close (); + $func_door_214.lock (1); + $func_static_2576.setShaderParm (7, 0); + $func_door_216.lock (1); + $func_static_2577.setShaderParm (7, 0); + } + + void unlock_door1() + { + $func_door_214.lock (0); + $func_static_2576.setShaderParm (7, 1); + $func_door_216.lock (0); + $func_static_2577.setShaderParm (7, 1); + } + + void lock_door2() + { + $door_lock2_playerclip.show(); + $func_door_220.close (); + $func_door_220.lock (1); + $func_static_2604.setShaderParm (7, 0); + } + + void unlock_door2() + { + $door_lock2_playerclip.remove(); + $func_door_220.lock (0); + $func_static_2604.setShaderParm (7, 1); + $func_static_2604.setColor (1.0,1.0,1.0); + $light_1768.setColor (1.0,1.0,1.0); + $light_1752.setColor (1.0,1.0,1.0); + } + + //************************ + // Decon Chamber #1 + //************************ + void decon_cycle_door1() + { + //initiate decon chamber computer voice + sys.trigger ($decon_initiate_speaker); + $decondoor1.lock (0); + $decondoorframe1.setShaderParm (7, 1); + $decondoorframe2.setShaderParm (7, 1); + $decondoorframe4.setShaderParm (7, 1); + sys.trigger($decon1_setcolor_green); + + //reset decon chamber stuff + $decondoor3.lock (0); + $decondoorframe3.setShaderParm (7, 1); + $decondoor2_trigger.enable(); + $decondoor4_trigger.enable(); + } + + void decon_cycle() + { + $decon_trigger1.enable (); + } + + void mister_move () + { + $decondoor1.lock (1); + $decondoor2.lock (1); + + //start decon1 computer voice + sys.trigger ($decon1_start_speaker); + sys.wait (1.5); + + thread crossFadeEnt ($misterlight_white, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decontop_fade, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decon_toplight_red, '0 0 0', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe1, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe1_light, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe2, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe2_light, '1 1 1', '1 0 0', 1.0); + + sys.trigger ($decon1_mister1start_spkr); + sys.trigger ($decon1_mister2start_spkr); + sys.wait (.15); + sys.trigger ($decon1_mister1loop_spkr); + sys.trigger ($decon1_mister2loop_spkr); + + $mister1_anchor.moveTo ($mister1_spot2); + $mister2_anchor.moveTo ($mister2_spot2); + sys.waitFor ($mister1_anchor); + + $mister1_anchor.rotateOnce ('60 0 0'); + $mister2_anchor.rotateOnce ('-60 0 0'); + sys.waitFor ($mister1_anchor); + + $mister1_anchor.rotateOnce ('-60 0 0'); + $mister2_anchor.rotateOnce ('60 0 0'); + sys.waitFor ($mister1_anchor); + + $mister1_anchor.moveTo ($mister1_spot1); + $mister2_anchor.moveTo ($mister2_spot1); + sys.waitFor ($mister1_anchor); + + sys.trigger ($decon1_mister1stop_spkr); + sys.trigger ($decon1_mister2stop_spkr); + //trigger looping speaker again to turn off + sys.trigger ($decon1_mister1loop_spkr); + sys.trigger ($decon1_mister2loop_spkr); + + //turn off emitter + sys.trigger($mister1_emitter); + sys.trigger($mister2_emitter); + + sys.wait (.5); + thread crossFadeEnt ($misterlight_white, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decontop_fade, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decon_toplight_red, '1 0 0', '0 0 0', 1.0); + thread crossFadeEnt ($decondoorframe1, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe1_light, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe2, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe2_light, '1 0 0', '1 1 1', 1.0); + } + + void mister1() + { + $decondoor1.close (); + $decondoor2.close (); + $decon_trigger1.disable (); + + //turn on emitter + sys.trigger($mister1_emitter); + sys.trigger($mister2_emitter); + + $decondoorframe1.setShaderParm (7, 0); + $decondoorframe2.setShaderParm (7, 0); + float i; + i = thread mister_move(); + sys.waitForThread (i); + + //complete decon1 computer voice + sys.trigger ($decon1_complete_speaker); + + sys.wait (.25); + $decondoorframe2.setShaderParm (7, 1); + $decondoor2.lock (0); + + //turn off emitter + //sys.trigger($mister1_emitter); + //sys.trigger($mister2_emitter); + } + + void decon_cycle_door2() + { + $decondoor2_trigger.disable(); + $decondoor2.close(); + $decondoor2.lock(1); + $decondoorframe2.setShaderParm (7, 0); + sys.trigger($decon1_setcolor_red); + + //reset decon chamber trigger + sys.trigger ($func_static_2885); + } + + //*********************** + // Decon Chamber #2 //2nd chamber - not actual chamber # + //*********************** + void decon_cycle2 () + { + $decon_trigger2.enable (); + } + + void mister_move2() + { + $decondoor3.lock (1); + $decondoor4.lock (1); + + //start decon2 computer voice + sys.trigger ($decon2_start_speaker); + sys.wait (1.5); + + thread crossFadeEnt ($misterlight_white2, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decontop_fade2, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decon_toplight_red2, '0 0 0', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe3, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe3_light, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe4, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe4_light, '1 1 1', '1 0 0', 1.0); + + sys.trigger ($decon2_mister3start_spkr); + sys.trigger ($decon2_mister4start_spkr); + sys.wait (.15); + sys.trigger ($decon2_mister3loop_spkr); + sys.trigger ($decon2_mister4loop_spkr); + + $mister3_anchor.moveTo ($mister3_spot2); + $mister4_anchor.moveTo ($mister4_spot2); + sys.waitFor ($mister4_anchor); + + $mister3_anchor.rotateOnce ('60 0 0'); + $mister4_anchor.rotateOnce ('-60 0 0'); + sys.waitFor ($mister4_anchor); + + $mister3_anchor.rotateOnce ('-60 0 0'); + $mister4_anchor.rotateOnce ('60 0 0'); + sys.waitFor ($mister4_anchor); + + $mister3_anchor.moveTo ($mister3_spot1); + $mister4_anchor.moveTo ($mister4_spot1); + sys.waitFor ($mister4_anchor); + + sys.trigger ($decon2_mister3stop_spkr); + sys.trigger ($decon2_mister4stop_spkr); + //trigger looping speaker again to turn off + sys.trigger ($decon2_mister3loop_spkr); + sys.trigger ($decon2_mister4loop_spkr); + + //turn off emitter + sys.trigger($mister3_emitter); + sys.trigger($mister4_emitter); + + sys.wait (.5); + thread crossFadeEnt ($misterlight_white2, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decontop_fade2, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decon_toplight_red2, '1 0 0', '0 0 0', 1.0); + thread crossFadeEnt ($decondoorframe3, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe3_light, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe4, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe4_light, '1 0 0', '1 1 1', 1.0); + } + + void mister2() + { + $decondoor3.close (); + $decondoor4.close (); + $decon_trigger2.disable (); + + //turn on emitter + sys.trigger($mister3_emitter); + sys.trigger($mister4_emitter); + + $decondoorframe3.setShaderParm (7, 0); + $decondoorframe4.setShaderParm (7, 0); + float i; + i = thread mister_move2(); + sys.waitForThread (i); + + //complete decon2 computer voice + sys.trigger ($decon2_complete_speaker); + + sys.wait (.25); + $decondoorframe4.setShaderParm (7, 1); + $decondoor4.lock (0); + } + + void decon_cycle_door4() + { + $decondoor4.close(); + $decondoor4.lock (1); + $decondoorframe4.setShaderParm (7, 0); + $decondoor4_trigger.disable(); + } + + //*********************** + // Decon Chamber #3 + //*********************** + + void decon_cycle_door5() + { + //initiate decon chamber #3 computer voice + sys.trigger ($decon_initiate_speaker3); + $decondoor5.lock (0); + $decondoorframe5.setShaderParm (7, 1); + } + + void mister_move3() + { + //start decon1 computer voice + $decon_trigger3.disable (); + sys.trigger ($decon3_start_speaker); + $decondoor5.lock (1); + $decondoor6.lock (1); + sys.wait (1.5); + + thread crossFadeEnt ($misterlight_white3, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decontop_fade3, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decon_toplight_red3, '0 0 0', '1 0 0', 1.0); + + thread crossFadeEnt ($decondoorframe5, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe5_light, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe6, '1 1 1', '1 0 0', 1.0); + thread crossFadeEnt ($decondoorframe6_light, '1 1 1', '1 0 0', 1.0); + + $mister5_anchor.time (1); + $mister5_anchor.accelTime (.5 ); + $mister5_anchor.decelTime (.5); + sys.trigger ($decon3_cycle_speaker); + $mister5_anchor.moveTo ($mister5_spot1_broke); + $mister6_anchor.moveTo ($mister6_spot1_broke); + sys.waitFor ($mister6_anchor); + sys.trigger($mister5_emitter); + sys.trigger($mister6_emitter); + sys.wait (1.5); + sys.trigger ($decon3_malfunction_speaker); + sys.wait (1.85); + sys.trigger ($decon3_shutdown_speaker); + sys.wait (1.75); + sys.trigger ($decon3_backup_speaker); +/* + $mister5_anchor.moveTo ($mister5_spot2); + $mister6_anchor.moveTo ($mister6_spot2); + sys.waitFor ($mister6_anchor); + + $mister5_anchor.rotateOnce ('-60 0 0'); + $mister6_anchor.rotateOnce ('60 0 0'); + sys.waitFor ($mister6_anchor); + + $mister5_anchor.rotateOnce ('60 0 0'); + $mister6_anchor.rotateOnce ('-60 0 0'); + sys.waitFor ($mister6_anchor); + + $mister5_anchor.moveTo ($mister5_spot1); + $mister6_anchor.moveTo ($mister6_spot1); + sys.waitFor ($mister6_anchor); +*/ + sys.wait (1.5); + + thread crossFadeEnt ($misterlight_white3, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decontop_fade3, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decon_toplight_red3, '1 0 0', '0 0 0', 1.0); + + thread crossFadeEnt ($decondoorframe5, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe5_light, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe6, '1 0 0', '1 1 1', 1.0); + thread crossFadeEnt ($decondoorframe6_light, '1 0 0', '1 1 1', 1.0); + } + + void mister3() + { + $decondoor5.close (); + $decondoor6.close (); + $decon_trigger3.disable (); + $decondoorframe5.setShaderParm (7, 0); + $decondoorframe6.setShaderParm (7, 0); + float i; + i = thread mister_move3(); + sys.waitForThread (i); + + // complete decon computer voice + //sys.trigger ($decon3_complete_speaker); + sys.wait (.5); + $decondoorframe5.setShaderParm (7, 1); + $decondoor5.lock (0); + $decondoorframe6.setShaderParm (7, 1); + $decondoor6.lock (0); + //sys.trigger($mister5_emitter); + //sys.trigger($mister6_emitter); + } + + void decon_cycle_door6() + { + //$decondoor6.close(); + //$decondoor6.lock(1); + //$decondoorframe6.setShaderParm (7, 0); + //sys.trigger($decon3_setcolor_red); + //thread decon_cycle3(); //trigger enabled; inside chamber + $decondoor6_trigger.disable(); + sys.wait (3); + sys.trigger ($decon3_maint_need_speaker); + } + + void scroll_red_lights() + { + float i; + entity ent; + while (1) + { + for ( i = 1; i <= 9; i++ ) + { + ent = sys.getEntity ("lred_0" + i); + ent.On(); + sys.wait ( 0.10 ); + ent.Off(); + sys.wait ( 0.10 ); + } + } + } + + void scroll_blue_lights() + { + float i; + entity ent1, ent2; + while (1) + { + for ( i = 1; i <= 6; i++ ) + { + ent1 = sys.getEntity ("lleft_0" + i); + ent2 = sys.getEntity ("lright_0" + i); + ent1.On(); + ent2.On(); + sys.wait ( 0.2 ); + ent1.Off(); + ent2.Off(); + sys.wait ( 0.2 ); + } + } + } + + void start_world() + { + thread scroll_red_lights(); + thread scroll_blue_lights(); + thread betruger_teleport_init(); + } + + void main() + { + precache(); + bind_objects(); + init_world(); + start_world(); + } +} diff --git a/base/script/map_delta5.script b/base/script/map_delta5.script new file mode 100644 index 00000000..328b245d --- /dev/null +++ b/base/script/map_delta5.script @@ -0,0 +1,130 @@ +namespace map_delta5 +{ + void init_world() + { + float i; + entity ent1, ent2; + + for ( i = 1; i <= 9; i++ ) + { + ent1 = sys.getEntity ("lred_0" + i); + ent1.Off(); + } + + for ( i = 1; i <= 6; i++ ) + { + ent1 = sys.getEntity ("lleft_0" + i); + ent2 = sys.getEntity ("lright_0" + i); + ent1.Off(); + ent2.Off(); + } + } + + void scroll_red_lights() + { + float i; + entity ent; + while (1) + { + for ( i = 1; i <= 9; i++ ) + { + ent = sys.getEntity ("lred_0" + i); + ent.On(); + sys.wait ( 0.10 ); + ent.Off(); + sys.wait ( 0.10 ); + } + } + } + + void scroll_blue_lights() + { + float i; + entity ent1, ent2; + while (1) + { + for ( i = 1; i <= 6; i++ ) + { + ent1 = sys.getEntity ("lleft_0" + i); + ent2 = sys.getEntity ("lright_0" + i); + ent1.On(); + ent2.On(); + sys.wait ( 0.2 ); + ent1.Off(); + ent2.Off(); + + sys.wait ( 0.2 ); + } + } + } + + void open_vent_ladder() + { + $vent_panel.time (1); + $vent_panel.accelTime (.5); + $vent_panel.decelTime (.5); + $vent_panel.startSoundShader ("dc5_panel_1s", SND_CHANNEL_VOICE); + $vent_panel.moveTo ($vent_panel_pos1); + sys.waitFor ($vent_panel); + sys.wait (.5); + $vent_panel.time (1.5); + $vent_panel.accelTime (.75); + $vent_panel.decelTime (.75); + $vent_panel.startSoundShader ("dc5_panel_1_5s", SND_CHANNEL_VOICE2); + $vent_panel.moveTo ($vent_panel_pos2); + sys.waitFor ($vent_panel); + sys.wait (.5); + $vent_ladder.time (4); + $vent_ladder.accelTime (1.25); + $vent_ladder.decelTime (2.75); + $vent_ladder.startSoundShader ("ladder_4s", SND_CHANNEL_VOICE ); + $vent_ladder.moveTo ($ladder_extended_pos); + } + + void close_vent_ladder() + { + $vent_ladder_brush.remove(); + $vent_ladder.time (2); + $vent_ladder.accelTime (1.25); + $vent_ladder.decelTime (.75); + $vent_ladder.startSoundShader ("ladder_4s", SND_CHANNEL_VOICE ); + $vent_ladder.moveTo ($ladder_retracted_pos); + sys.waitFor ($vent_ladder); + + $vent_panel.time (1); + $vent_panel.accelTime (.5); + $vent_panel.decelTime (.5); + $vent_panel.startSoundShader ("dc5_panel_1_5s", SND_CHANNEL_VOICE); + $vent_panel.moveTo ($vent_panel_pos1); + sys.waitFor ($vent_panel); + + sys.wait (.5); + $vent_panel.time (1.5); + $vent_panel.accelTime (.75); + $vent_panel.decelTime (.75); + $vent_panel.startSoundShader ("dc5_panel_1s", SND_CHANNEL_VOICE2); + $vent_panel.moveTo ($vent_panel_startpos); + sys.waitFor ($vent_panel); + sys.wait (.5); + } + + void start_world() + { + thread scroll_red_lights(); + thread scroll_blue_lights(); + } + + void cache_sounds() { + sys.cacheSoundShader ("dc5_panel_1s"); + sys.cacheSoundShader ("dc5_panel_1_5s"); + sys.cacheSoundShader ("ladder_4s"); + } + + + void main() + { + cache_sounds(); + init_world(); + start_world(); + } +} diff --git a/base/script/map_enpro.script b/base/script/map_enpro.script new file mode 100644 index 00000000..6c68fca3 --- /dev/null +++ b/base/script/map_enpro.script @@ -0,0 +1,995 @@ +namespace map_enpro { + + // Set up exit room sounds for after the battle sequence. Trigger all this stuff when the player + // swaps out the rod. + + void xianstuff() { + sys.trigger ($speaker_burn_1); // flame1 in exit room + sys.trigger ($speaker_burn_2); // flame2 in exit room + sys.trigger ($speaker_alarm_1); // alarm sound in exit room + sys.trigger ($speaker_badgen_1); // Red sound for damaged core :: Turns it off + sys.trigger ($speaker_goodgen_1); // Blue sound for fixed core :: Turns it on + sys.trigger ($rflames); // Turns off flame sounds for fixed rod 2 + sys.trigger ($speaker_fixed_rod); // Turns on good sound for fixed rod 2 + } + + + void setup_objects() + { + // ceiling room + $ceiling_cover.bind ($ceiling_cover_anchor); + $ceilingroom_pipe.bind ($ceilingroom_pipe_anchor); + + $ceiling_cover_anchor.accelTime (.5); + $ceiling_cover_anchor.time (.5); + $ceilingroom_pipe_anchor.accelTime (.3); + $ceilingroom_pipe_anchor.time (.6); + + $ceiling_cover_anchor.rotateOnce ('120 0 0'); + + // bridge setup + $bridge_toprailing_left.bind ($bridge_toprailing_left_anchor); + $bridge_toprailing_left_anchor.bind ($bridge_floor); + $bridge_toprailing_right.bind ($bridge_toprailing_right_anchor); + $bridge_toprailing_right_anchor.bind ($bridge_floor); + $bridge_btmrailing_left.bind ($bridge_btmrailing_left_anchor); + $bridge_btmrailing_left_anchor.bind ($bridge_floor); + $bridge_btmrailing_right.bind ($bridge_btmrailing_right_anchor); + $bridge_btmrailing_right_anchor.bind ($bridge_floor); + + $bridge_toprailing_left_anchor.accelTime (.4); + $bridge_toprailing_left_anchor.decelTime (.4); + $bridge_toprailing_left_anchor.time (1); + $bridge_toprailing_right_anchor.accelTime (.4); + $bridge_toprailing_right_anchor.decelTime (.4); + $bridge_toprailing_right_anchor.time (1); + $bridge_btmrailing_left_anchor.accelTime (.4); + $bridge_btmrailing_left_anchor.decelTime (.4); + $bridge_btmrailing_left_anchor.time (1); + $bridge_btmrailing_right_anchor.accelTime (.4); + $bridge_btmrailing_right_anchor.decelTime (.4); + $bridge_btmrailing_right_anchor.time (1); + + $bridge_toprailing_left_anchor.rotateOnce ('0 0 -88'); + $bridge_btmrailing_left_anchor.rotateOnce ('0 0 -45'); + $bridge_toprailing_right_anchor.rotateOnce ('0 0 88'); + $bridge_btmrailing_right_anchor.rotateOnce ('0 0 45'); + $bridge_floor.moveTo ($bridge_spot1); + + // hall 1 emergency light + $light_tunnel_1.bind ($tunnel_anchor_1); + $light_tunnel_1_spin.bind ($tunnel_anchor_1); + $tunnel_anchor_1.rotate ('0 -300 0'); + + // chamber 2: spinny things + $accelswayL.rotate ('0 -20 0'); + $accelspinL.rotate ('0 45 0'); + $accelspinM.rotate ('0 -35 0'); + $accelspinR.rotate ('0 50 0'); + $c2_spin_2.rotate ('0 -40 0'); + $c2_spin_3.rotate ('0 20 0'); + + // rod replacement setup + $rod_door.bind ($rod_replacer); + $rod_door.time (1); + $rod_door.accelTime (.3); + $rod_door.decelTime (.5); + + $rod_fire_emitter1.bind ($rod); + $rod_fire_emitter2.bind ($rod); + $rod_redlight1.bind ($rod); + $rod_emitter3.bind ($rod); + $rod_emitter4.bind ($rod); + + $rod_emitter1.bind ($rod_2); + $rod_emitter2.bind ($rod_2); + $rod_2_bluelight1.bind ($rod_2); + $rod_2_bluelight2.bind ($rod_2); + $rod_2.hide (); + + $rod_replacer.time (1); + $rod_replacer.decelTime (.5); + $rod.time (.5); + $rod.decelTime (.3); + $rod_2.time (.5); + $rod_2.decelTime (.3); + + // machineroom binds + $machineclaw1_carrier.bind ($machineclaw1_carrier_anchor); + $machineclaw1_upperarm.bind ($machineclaw1_carrier); + $machineclaw1_forearm.bind ($machineclaw1_upperarm); + $machineclaw1_hand.bind ($machineclaw1_forearm); + $machineclaw1_revolver.bind ($machineclaw1_hand); + $machineclaw1_steam1.bind ($machineclaw1_hand); + $machineclaw1_steam2.bind ($machineclaw1_hand); + + $reloader_light.bind ($reloader); + + $chamberpivot2.bind ($chamberpivot1); + $filterchamber.bind ($chamberpivot1); + + $canspot1.bind ($machineclaw1_revolver); + $canspot2.bind ($machineclaw1_revolver); + $canspot3.bind ($machineclaw1_revolver); + $canspot4.bind ($machineclaw1_revolver); + + $can_dirty1.bind ($filterchamber); + $can_dirty2.bind ($filterchamber); + $chamber_filterspot1.bind ($filterchamber); + $chamber_filterspot2.bind ($filterchamber); + + $can_dirty4.bind ($cradle4); + $can_dirty5.bind ($cradle5); + $can_dirty6.bind ($cradle6); + + $cradle4_x.bind ($cradle4); + $cradle5_x.bind ($cradle5); + $cradle6_x.bind ($cradle6); + + // setup mover times for machineroom + + + $machineclaw1_carrier.time (2); + $machineclaw1_upperarm.time (1); + $machineclaw1_forearm.time (1); + $machineclaw1_hand.time (1); + $machineclaw1_revolver.time (1); + + $machineclaw1_carrier.accelTime (.50); + $machineclaw1_upperarm.accelTime (.1); + $machineclaw1_forearm.accelTime (.1); + $machineclaw1_hand.accelTime (.1); + $machineclaw1_revolver.accelTime (.1); + + $machineclaw1_carrier.decelTime (.50); + $machineclaw1_upperarm.decelTime (.1); + $machineclaw1_forearm.decelTime (.1); + $machineclaw1_hand.decelTime (.1); + $machineclaw1_revolver.decelTime (.1); + + $reloader.time (.25); + + //airlock door2 times + $airlock_door2_left.time (1.2); + $airlock_door2_right.time (1.2); + $airlock_door2_left.accelTime (.2); + $airlock_door2_left.decelTime (1); + $airlock_door2_right.accelTime (.2); + $airlock_door2_right.decelTime (1); + + $airlock_door2_top_lock.time (.25); + $airlock_door2_bottom_lock.time (.25); + + $airlock_door2_left_lock.time (.75); + $airlock_door2_right_lock.time (.75); + $airlock_door2_left_lock.accelTime (.1); + $airlock_door2_left_lock.decelTime (.65); + $airlock_door2_right_lock.accelTime (.1); + $airlock_door2_right_lock.decelTime (.65); + + + } + + /////////////////////////////////////////////// + // + // ceilingroom + // + ////////////////////////////////////////////// + + void ceilingroom_start () + { + sys.trigger ($explosion_1); + $ceilingroom_pipe_anchor.rotateOnce ('-15 0 0'); + $ceilingroom_pipe_anchor.move (DOWN ,28); + $ceilingroom_pipe_anchor.startSoundShader ("metalcrash_01", SND_CHANNEL_VOICE); + + sys.waitFor ($ceilingroom_pipe_anchor); + + $ceilingroom_pipe_anchor.accelTime (.1); + $ceilingroom_pipe_anchor.decelTime (.1); + $ceilingroom_pipe_anchor.time (.2); + + $ceilingroom_pipe_anchor.move (UP ,4); + $ceilingroom_pipe_anchor.rotateOnce ('3 0 0'); + + sys.waitFor ($ceilingroom_pipe_anchor); + + $ceilingroom_pipe_anchor.move (DOWN ,2); + $ceilingroom_pipe_anchor.rotateOnce ('-3 0 0'); + + $bloodsplat1.show (); + sys.wait (.1); + $bloodsplat2.show (); + sys.wait (.1); + $bloodsplat3.show (); + sys.wait (.1); + $bloodsplat4.show (); + sys.wait (.05); + $bloodsplat5.show (); + sys.wait (.1); + $bloodsplat6.show (); + sys.wait (.05); + + $ceiling_cover_anchor.rotateOnce ('-120 0 0'); + sys.wait (.3); + + sys.trigger ($func_fracture_6); + sys.trigger ($func_forcefield_6); + $func_forcefield_6.startSoundShader ("glasscrash_01", SND_CHANNEL_VOICE); + sys.wait (.3); + sys.trigger ($func_fracture_9); + sys.trigger ($func_forcefield_12); + $func_forcefield_6.startSoundShader ("glasscrash_01", SND_CHANNEL_VOICE); + sys.wait (.1); + sys.trigger ($breakglass_again); + } + + + /////////////////////////////////////////////// + // + // bridge + // + ////////////////////////////////////////////// + + void bridge_open () + { + $bridge_floor.time (2); + + $bridge_floor.startSoundShader ("enpro_bridge_2s", SND_CHANNEL_VOICE); + + $bridge_floor.moveTo ($bridge_spot2); + sys.waitFor ($bridge_floor); + $bridge_toprailing_left_anchor.rotateOnce ('0 0 88'); + $bridge_toprailing_right_anchor.startSoundShader ("enpro_bridge_rails_1s", SND_CHANNEL_VOICE); + $bridge_toprailing_right_anchor.rotateOnce ('0 0 -88'); + sys.waitFor ($bridge_toprailing_right_anchor); + + $bridge_btmrailing_left_anchor.startSoundShader ("enpro_bridge_rails_2_1s", SND_CHANNEL_VOICE); + $bridge_btmrailing_left_anchor.rotateOnce ('0 0 45'); + $bridge_btmrailing_right_anchor.rotateOnce ('0 0 -45'); + + } + + /////////////////////////////////////////////// + // + // zombie drop + // + ////////////////////////////////////////////// + + void zombie_drop () + { sys.trigger ($zombie_explosion_1); + sys.wait (.5); + sys.trigger ($zombie_explosion_2); + sys.wait (.2); + $zombie1.unbind (); + sys.wait (1); + $zombie_splat.show (); + } + + + ///////////////////////////////////////////////// + // + // coolant rod replacement stuff + // + ///////////////////////////////////////////////// + + void rod_replace () + { + thread xianstuff(); // Swap out sounds during this sequence + + // grab red rod + sys.wait (1); + $rod_replacer.moveTo ($rod_replacer_spot2); + sys.waitFor ($rod_replacer); + sys.wait (1); + $rod.bind ($rod_replacer); + $rod_replacer.moveTo ($rod_replacer_spot1); + sys.waitFor ($rod_replacer); + $rod.unbind (); + + $rod_door.rotateOnce ('0 180 0'); + + sys.wait (.5); + $rod_shimmer.hide (); + $rod_fire_emitter1.hide (); + $rod_fire_emitter2.hide (); + $rod_emitter3.hide (); + $rod_emitter4.hide (); + sys.trigger ($cyl_smoke); + + sys.waitFor ($rod_door); + sys.wait (1); + + $rod.moveTo ($rod_spot1); + sys.waitFor ($rod); + + // switch + $rod.hide (); + $rod_2.show (); + + $rod_fire_emitter1.hide (); + $rod_fire_emitter2.hide (); + $rod_emitter3.hide (); + $rod_emitter4.hide (); + $cyl_smoke.hide (); + + sys.trigger ($rod_redlight1); + sys.trigger ($rod_2_bluelight1); + sys.trigger ($rod_2_bluelight2); + + // blue rod + + $rod_2.moveTo ($rod_spot2); + sys.waitFor ($rod_2); + + $rod_2.bind ($rod_replacer); + $rod_replacer.moveTo ($rod_replacer_spot2); + sys.waitFor ($rod_replacer); + $rod_door.rotateOnce ('0 -180 0'); + sys.waitFor ($rod_door); + $rod_2.unbind (); + sys.wait (1); + + $rod_replacer.moveTo ($rod_replacer_spot1); + sys.waitFor ($rod_replacer); + + // switch out colors by hazarddoor up on level 2 + + sys.trigger ($hazard_redlight); + sys.trigger ($hazard_bluelight); + + $hazard_redemitter1.hide (); + $hazard_redemitter2.hide (); + $hazard_redemitter3.hide (); + $hazard_redemitter4.hide (); + + $hazard_redtube1.hide (); + $hazard_redtube2.hide (); + + $hazard_blueemitter1.show (); + $hazard_blueemitter2.show (); + $hazard_blueemitter3.show (); + $hazard_blueemitter4.show (); + + $hazard_bluetube1.show (); + $hazard_bluetube2.show (); + + sys.trigger ($cyl_lightrelay); + sys.trigger ($cyltop_on); + sys.trigger ($cyltop_off); + sys.trigger ($cylbottom_on); + sys.trigger ($cylbottom_off); + sys.trigger ($func_emitter_68); + sys.trigger ($func_emitter_69); + + sys.trigger ($hazdoortrigger); + + sys.trigger ($obj1complete); + sys.trigger ($obj1complete_trigger); + + } + + //////////////////////////////////////////////////// + // + // Rotate a cradle (machine room thing that - + // accepts dirty filters) around the ends + // + //////////////////////////////////////////////////// + void cradle_rotate( entity ent ) + { + //whole thing (up, around, and down + //takes 1 second like almost all the moves + ent.time ( .33 ); + ent.move ( UP, 16 ); + sys.waitFor (ent); + + ent.rotateOnce ( '0 0 180'); + sys.waitFor (ent); + + ent.move ( DOWN, 16 ); + ent.time (1); + } + + + void cache_sounds() { + sys.cacheSoundShader ("rec1_steamchuff"); + sys.cacheSoundShader ("metalcrash_01"); + sys.cacheSoundShader ("glasscrash_01"); + sys.cacheSoundShader ("enpro_bridge_2s"); + sys.cacheSoundShader ("enpro_bridge_rails_1s"); + sys.cacheSoundShader ("enpro_bridge_rails_2_1s"); + sys.cacheSoundShader ("dc3_gui_panel_1"); + sys.cacheSoundShader ("tb_m3_loop"); + sys.cacheSoundShader ("tb_m4_stop"); + sys.cacheSoundShader ("mach_1s"); + sys.cacheSoundShader ("rotor_1s"); + sys.cacheSoundShader ("tb_m4_stop"); + sys.cacheSoundShader ("tb_arm1"); + sys.cacheSoundShader ("tb_arm2"); + sys.cacheSoundShader ("tb_arm3"); + sys.cacheSoundShader ("tb_whomp"); + sys.cacheSoundShader ("tb_whompout"); + sys.cacheSoundShader ("tb_reloader1"); + sys.cacheSoundShader ("tb_reloader2"); + sys.cacheSoundShader ("al4_welder_armrot_1s"); + } + + //////////////////////////////////////////////////// + // + // Machineclaw movement + // + //////////////////////////////////////////////////// + void machineclaw1_move() + { + + // move machineclaw1 from initial position down and around track to filter pick up spot + //1 + + $sp_m2_carrier.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE2 ); + + $sp_m2_carrier.startSoundShader ("tb_m3_loop", SND_CHANNEL_VOICE ); // Start mover + + $machineclaw1_carrier_anchor.rotateOnce ( '0 -90 0' ); + sys.waitFor ($machineclaw1_carrier_anchor); + + //2 + + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_movepoint2 ); + sys.waitFor ($machineclaw1_carrier_anchor); + + //3 + + $sp_m2_carrier.startSoundShader ("dc3_gui_panel_1", SND_CHANNEL_VOICE2 ); + $machineclaw1_carrier_anchor.rotateOnce ( '0 -90 0' ); + sys.waitFor ($machineclaw1_carrier_anchor); + + //4 + + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_movepoint1 ); + sys.waitFor ($machineclaw1_carrier_anchor); + + // position machineclaw1 to receive filters + //5 + + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_movepoint12 ); + + $sp_m2_arm.startSoundShader ("mach_1s", SND_CHANNEL_VOICE2 ); + $machineclaw1_upperarm.rotateOnce ( '-30 0 35' ); + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE2 ); + $machineclaw1_forearm.rotateOnce ( '80 0 0' ); + sys.waitFor ($machineclaw1_forearm); + + + $sp_m2_carrier.startSoundShader ("tb_m4_stop", SND_CHANNEL_VOICE ); // Stop Mover + + + //6 + + $sp_m2_rev.startSoundShader ("tb_arm3", SND_CHANNEL_BODY ); + + $machineclaw1_hand.rotateOnce ( '142.5 10 -90' ); + sys.waitFor ($machineclaw1_hand); + sys.waitFor ($machineclaw1_upperarm); + + //7 + + $sp_m2_arm.startSoundShader ("tb_arm2", SND_CHANNEL_VOICE2 ); + + $machineclaw1_upperarm.rotateOnce ( '-10 0 -43' ); + sys.wait (1); + + // get 1st new filter + + //8 + + $can_clean1.startSoundShader ("tb_whomp", SND_CHANNEL_VOICE ); + + $can_clean1.moveTo ($canspot1); + sys.waitFor ($can_clean1); + $can_clean1.bind ($machineclaw1_revolver); + + //steam + //9 + + $machineclaw1_steam1.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + sys.trigger ( $machineclaw1_steam1 ); + sys.trigger ( $machineclaw1_steam2 ); + + // swing machineclaw1 away from receive position + + //10 + + $sp_m2_arm.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + + $machineclaw1_upperarm.rotateOnce ( '0 0 48' ); + + $sp_m2_rev.startSoundShader ("tb_arm2", SND_CHANNEL_VOICE2 ); + + $machineclaw1_forearm.rotateOnce ( '10 0 0' ); + sys.waitFor ($machineclaw1_upperarm); + + // reload 2 + //11 + + $sp_m2_reloader.startSoundShader ("tb_reloader1", SND_CHANNEL_VOICE ); + $reloader.move ( DOWN, 32 ); + sys.waitFor ($reloader); + + //12 + + $sp_m2_reloader.startSoundShader ("tb_reloader2", SND_CHANNEL_VOICE2 ); + $reloader.move ( UP, 32 ); + + $can_clean2.time (.25); + $can_clean3.time (.25); + + //13 + + $can_clean2.move ( UP, 32 ); + $can_clean3.move ( UP, 32 ); + + //14 + $can_clean2.time (1); + $can_clean3.time (1); + + // swing machineclaw1 back into receive position + + $sp_m2_arm.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + + $machineclaw1_upperarm.rotateOnce ( '0 0 -48' ); + + $sp_m2_rev.startSoundShader ("tb_arm2", SND_CHANNEL_VOICE2 ); + + $machineclaw1_forearm.rotateOnce ( '-10 0 0' ); + sys.wait (.5); + + // get 2nd new filter + //15 + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_BODY ); + + $machineclaw1_revolver.rotateOnce ( '0 -450 0'); + sys.waitFor ($machineclaw1_revolver); + + //steam + //16 + + $machineclaw1_steam2.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + sys.trigger ( $machineclaw1_steam1 ); + sys.trigger ( $machineclaw1_steam2 ); + + $can_clean2.startSoundShader ("tb_whomp", SND_CHANNEL_VOICE ); + + $can_clean2.moveTo ($canspot2); + sys.waitFor ($can_clean2); + + $can_clean2.bind ($machineclaw1_revolver); + + // machineclaw1 movement out of receive position + + //17 + + $sp_m2_arm.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + $machineclaw1_upperarm.rotateOnce ( '0 0 38' ); + sys.waitFor ($machineclaw1_upperarm); + + + //18 + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE ); + $machineclaw1_hand.rotateOnce ( '-142.5 -10 90' ); + sys.waitFor ($machineclaw1_hand); + + //19 + + $sp_m2_arm.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + $machineclaw1_upperarm.rotateOnce ( '0 0 -20' ); + + $sp_m2_carrier.startSoundShader ("tb_m3_loop", SND_CHANNEL_VOICE ); // Start mover + + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_movepoint1 ); + sys.waitFor ($machineclaw1_upperarm); + + $sp_m2_carrier.startSoundShader ("tb_m4_stop", SND_CHANNEL_VOICE ); // Stop Mover + + //20 + + $sp_m2_arm.startSoundShader ("tb_arm2", SND_CHANNEL_VOICE ); + $machineclaw1_forearm.rotateOnce ( '25 0 0' ); + sys.wait (.5); + + //21 + + $sp_m2_arm.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + $machineclaw1_upperarm.rotateOnce ( '0 0 -10' ); + + // sys.waitFor ($machineclaw1_upperarm); + + // reload 3 + $sp_m2_reloader.startSoundShader ("tb_reloader1", SND_CHANNEL_VOICE ); + $reloader.move ( DOWN, 32 ); + sys.waitFor ($reloader); + + //22 + $sp_m2_reloader.startSoundShader ("tb_reloader2", SND_CHANNEL_VOICE2 ); + $reloader.move ( UP, 32 ); + $can_clean3.time (.25); + $can_clean3.move ( UP, 32 ); + $can_clean3.time (1); + + // move machineclaw1 from filter pick up spot to filterpoint1 + //23 + + $sp_m2_carrier.startSoundShader ("tb_m3_loop", SND_CHANNEL_VOICE ); // Start mover + + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_movepoint2 ); + sys.waitFor ($machineclaw1_carrier_anchor); + + //24 + + $machineclaw1_carrier_anchor.rotateOnce ( '0 90 0' ); + + $sp_m2_arm.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + + $machineclaw1_upperarm.rotateOnce ( '0 -45 0' ); + sys.waitFor ($machineclaw1_carrier_anchor); + + //25 + + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_filterpoint1 ); + + $sp_m2_arm.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + + $machineclaw1_upperarm.rotateOnce ( '-5 -45 -15' ); + + $sp_m2_rev.startSoundShader ("tb_arm2", SND_CHANNEL_VOICE2 ); + + $machineclaw1_forearm.rotateOnce ( '-15 0 0' ); + + sys.waitFor ($machineclaw1_carrier_anchor); + + $sp_m2_carrier.startSoundShader ("tb_m4_stop", SND_CHANNEL_VOICE ); // Stop Mover + + // filterchamber movement up and rotate 45 degrees for filter removal + //26 + + $chamberpivot1.startSoundShader ("tb_arm3", SND_CHANNEL_VOICE2 ); + $chamberpivot1.move ( UP, 42 ); + sys.waitFor ($chamberpivot1); + + //26a + + $filterchamber.startSoundShader ("tb_arm3", SND_CHANNEL_VOICE2 ); + $filterchamber.rotateOnce ( '45 0 0'); + sys.waitFor ($filterchamber); + + // exchange filter 1 + + //27 + + $sp_m2_arm.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + + $machineclaw1_upperarm.rotateOnce ( '30 0 0' ); + + $sp_m2_rev.startSoundShader ("tb_arm2", SND_CHANNEL_VOICE2 ); + + $machineclaw1_forearm.rotateOnce ( '-20 0 0' ); + + // $machineclaw1_hand.rotateOnce ( '-5 0 0' ); + $machineclaw1_hand.rotateOnce ( '-12 0 0' ); + + sys.waitFor ($machineclaw1_upperarm); + + //28 + + $sp_m2_arm.startSoundShader ("tb_arm3", SND_CHANNEL_VOICE2 ); + + $machineclaw1_upperarm.rotateOnce ( '0 0 15' ); + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE ); + + $machineclaw1_revolver.rotateOnce ( '0 90 0'); + + sys.waitFor ($machineclaw1_upperarm); + + //get old filter + //29 + + $can_dirty1.startSoundShader ("tb_whomp", SND_CHANNEL_VOICE ); + $can_dirty1.moveTo ( $canspot3 ); + + $machineclaw1_steam1.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + + sys.trigger ( $machineclaw1_steam1 ); + sys.trigger ( $machineclaw1_steam2 ); + + sys.waitFor ($can_dirty1); + $can_dirty1.unbind (); + $can_dirty1.bind ( $machineclaw1_revolver ); + + + sys.wait (.5); + + //30 + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE ); + $machineclaw1_revolver.rotateOnce ( '0 180 0'); + sys.waitFor ($machineclaw1_revolver); + + //steam + sys.trigger ( $machineclaw1_steam1 ); + sys.trigger ( $machineclaw1_steam2 ); + $machineclaw1_steam2.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + + + //insert new filter + //31 + + $can_clean1.startSoundShader ("tb_whompout", SND_CHANNEL_VOICE2 ); + + $can_clean1.moveTo ( $chamber_filterspot1 ); + sys.waitFor ($can_clean1); + $can_clean1.unbind (); + + $can_clean1.bind ( $chamber_filterspot1 ); + + // move machineclaw1 from filterpoint1 to filterpoint2 + + //32 + $sp_m2_carrier.startSoundShader ("tb_m3_loop", SND_CHANNEL_VOICE ); // Start mover + + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_filterpoint2 ); + sys.waitFor ($machineclaw1_carrier_anchor); + + $sp_m2_carrier.startSoundShader ("tb_m4_stop", SND_CHANNEL_VOICE ); // Stop Mover + + // exchange filter 2 + //33 + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE2 ); + $machineclaw1_revolver.rotateOnce ( '0 -270 0'); + sys.waitFor ($machineclaw1_revolver); + + //steam + + //34 + + $machineclaw1_steam1.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + sys.trigger ( $machineclaw1_steam1 ); + sys.trigger ( $machineclaw1_steam2 ); + + //get old filter + $can_ditry2.startSoundShader ("tb_whomp", SND_CHANNEL_VOICE ); + $can_dirty2.moveTo ( $canspot4 ); + sys.waitFor ($can_dirty2); + $can_dirty2.unbind (); + $can_dirty2.bind ( $machineclaw1_revolver ); + + sys.wait (.5); + + //35 + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE ); + $machineclaw1_revolver.rotateOnce ( '0 180 0'); + sys.waitFor ($machineclaw1_revolver); + + //steam + $machineclaw1_steam2.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + sys.trigger ( $machineclaw1_steam1 ); + sys.trigger ( $machineclaw1_steam2 ); + + //insert new filter + //36 + + $can_clean2.startSoundShader ("tb_whompout", SND_CHANNEL_VOICE2 ); + + $can_clean2.moveTo ( $chamber_filterspot2 ); + sys.waitFor ($can_clean2); + $can_clean2.unbind (); + $can_clean2.bind ( $chamber_filterspot2 ); + + + sys.wait (1); + + // move machineclaw1 from filterpoint2 to dump spot + //37 + + $sp_m2_carrier.startSoundShader ("tb_m3_loop", SND_CHANNEL_VOICE ); // Start mover + + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_movepoint3 ); + + $sp_m2_arm.startSoundShader ("tb_arm2", SND_CHANNEL_VOICE ); + + $machineclaw1_forearm.rotateOnce ( '40 0 0' ); + sys.waitFor ($machineclaw1_carrier_anchor); + + //38 + + $machineclaw1_carrier_anchor.rotateOnce ( '0 90 0' ); + sys.waitFor ($machineclaw1_carrier_anchor); + + //39 + + $machineclaw1_carrier.rotateOnce ( '0 -90 0' ); + $machineclaw1_carrier_anchor.moveTo ( $machineclaw1_movepoint4 ); + + $sp_m2_rev.startSoundShader ("tb_arm1", SND_CHANNEL_VOICE2 ); + + $machineclaw1_forearm.rotateOnce ( '-17 0 0' ); + + $sp_m2_arm.startSoundShader ("tb_arm2", SND_CHANNEL_VOICE2 ); + + $machineclaw1_upperarm.rotateOnce ( '-15 0 -18' ); + sys.waitFor ($machineclaw1_carrier_anchor); + + $sp_m2_carrier.startSoundShader ("tb_m4_stop", SND_CHANNEL_VOICE ); // Stop Mover + + //40 + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE ); + + $machineclaw1_hand.rotateOnce ( '39 16 0' ); + sys.waitFor ($machineclaw1_hand); + + // dump old filters + //move cradles up,down and around + + //41 + + $cradle4.startSoundShader ("al4_welder_armrot_1s", SND_CHANNEL_VOICE ); + + $cradle4.rotateOnce ( '0 0 180' ); + $cradle5.move ( DOWN, 32 ); + $cradle6.move ( DOWN, 32 ); + thread cradle_rotate ( $cradle1 ); + $cradle2.move ( UP, 32 ); + $cradle3.move ( UP, 32 ); + sys.waitFor ($cradle2); + sys.killthread ( "map_enpro::cradle_rotate" ); + + $can_dirty4.unbind (); + $can_dirty4.remove (); + + //put dirty1 on cradle1 + //42 + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE ); + $machineclaw1_revolver.rotateOnce ( '0 -90 0' ); + sys.waitFor ($machineclaw1_revolver); + + //steam + //42a + + $machineclaw1_steam1.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + sys.trigger ( $machineclaw1_steam1 ); + sys.trigger ( $machineclaw1_steam2 ); + + $can_dirty1.startSoundShader ("tb_whomp", SND_CHANNEL_VOICE ); + $can_dirty1.moveTo ( $cradlespot ); + + sys.waitFor ($can_dirty1); + $can_dirty1.unbind (); + $can_dirty1.bind ( $cradle1 ); + + + //move cradles around again + //43 + + $cradle5.startSoundShader ("al4_welder_armrot_1s", SND_CHANNEL_VOICE ); + + $cradle5.rotateOnce ( '0 0 180' ); + $cradle6.move ( DOWN, 32 ); + $cradle1.move ( DOWN, 32 ); + thread cradle_rotate ( $cradle2 ); + $cradle3.move ( UP, 32 ); + $cradle4.move ( UP, 32 ); + sys.waitFor ($cradle3); + sys.killthread ( "map_enpro::cradle_rotate" ); + + $can_dirty5.unbind (); + $can_dirty5.remove (); + + //put dirty2 on cradle2 + //44 + + $sp_m2_rev.startSoundShader ("rotor_1s", SND_CHANNEL_VOICE ); + $machineclaw1_revolver.rotateOnce ( '0 630 0' ); + sys.waitFor ($machineclaw1_revolver); + + //steam + //44a + + $machineclaw1_steam2.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + sys.trigger ( $machineclaw1_steam1 ); + sys.trigger ( $machineclaw1_steam2 ); + + $can_dirty.startSoundShader ("tb_whomp", SND_CHANNEL_VOICE ); + $can_dirty2.moveTo ( $cradlespot ); + + sys.waitFor ($can_dirty2); + $can_dirty2.unbind (); + $can_dirty2.bind ( $cradle2 ); + + //move cradles around again - last time + + //45 + + $cradle6.startSoundShader ("al4_welder_armrot_1s", SND_CHANNEL_VOICE ); + + $cradle6.rotateOnce ( '0 0 180' ); + $cradle1.move ( DOWN, 32 ); + $cradle2.move ( DOWN, 32 ); + thread cradle_rotate ( $cradle3 ); + $cradle4.move ( UP, 32 ); + $cradle5.move ( UP, 32 ); + sys.waitFor ($cradle4); + sys.killthread ( "map_enpro::cradle_rotate" ); + + $can_dirty6.unbind (); + $can_dirty6.remove (); + + + // filterchamber rotate 45 degrees and movement down back to original position + //46 + + $filterchamber.startSoundShader ("tb_arm3", SND_CHANNEL_VOICE ); + + $filterchamber.rotateOnce ( '-45 0 0'); + sys.waitFor ($filterchamber); + + //47 + + $chamberpivot1.startSoundShader ("tb_arm3", SND_CHANNEL_VOICE ); + + $chamberpivot1.move ( DOWN, 42 ); + sys.waitFor ($chamberpivot1); + + sys.trigger ($tube_particle_3); + sys.trigger ($tube_particle_4); + sys.trigger ($tube_particle_5); + sys.trigger ($tube_particle_6); + sys.trigger ($plasmacontrol_light2); + sys.trigger ($plasmacontrol_light3); + } + +///////////////////////////////////// +/////////// exit airlock door +///////////////////////////////////// + + void exit_open() + + { //disable the gui on door2 + $airlock_door2_gui.setGuiParm ( "gui_parm1" , 0); + + //move the 4 locks to unlock position + $airlock_door2_top_lock.move ( UP, 15 ); + + sys.trigger ($speaker_airlock_door2_bottom_lock); // sound + + $airlock_door2_bottom_lock.move ( DOWN, 15 ); + sys.waitFor ($airlock_door2_bottom_lock); + + sys.trigger ($speaker_airlock_door2_left_lock); + $airlock_door2_left_lock.move ( NORTH, 16 ); + sys.trigger ($speaker_airlock_door2_right_lock); + $airlock_door2_right_lock.move ( NORTH, 16 ); + sys.waitFor ($airlock_door2_right_lock); + + //open doors + sys.trigger ($speaker_airlock_door2_open); + + $airlock_door2_left.rotateOnce ( '0 45 0' ); + $airlock_door2_right.rotateOnce ( '0 -45 0' ); + + sys.waitFor ($airlock_door2_right); + sys.waitFor ($airlock_door2_left); + } + + void main() + { + cache_sounds(); + setup_objects(); + + + } +} diff --git a/base/script/map_hell1.script b/base/script/map_hell1.script new file mode 100644 index 00000000..53bd7150 --- /dev/null +++ b/base/script/map_hell1.script @@ -0,0 +1,1212 @@ +namespace map_hell1 { + + float cage_instance = 0; + + void setup_objects () + { + $brickdoor1.accelTime (.2); + $brickdoor1.decelTime (.3); + $brickdoor1.time (1); + + $alcove1_leftwall.accelTime (.5); + $alcove1_leftwall.decelTime (.5); + $alcove1_leftwall.time (4); + $alcove1_rightwall.accelTime (.5); + $alcove1_rightwall.decelTime (.5); + $alcove1_rightwall.time (4); + $alcove1_backwall.accelTime (.5); + $alcove1_backwall.decelTime (.5); + $alcove1_backwall.time (4); + + $alcove2_leftwall.accelTime (.5); + $alcove2_leftwall.decelTime (.5); + $alcove2_leftwall.time (4); + $alcove2_rightwall.accelTime (.5); + $alcove2_rightwall.decelTime (.5); + $alcove2_rightwall.time (4); + $alcove2_backwall.accelTime (.5); + $alcove2_backwall.decelTime (.5); + $alcove2_backwall.time (4); + + $brick1.time (1.5); + $brick2.time (1); + $brick3.time (1.2); + $brick4.time (1); + $brick5.time (1.5); + $brick6.time (1.3); + $brick7.time (1.4); + $brick8.time (1); + $brick9.time (1.5); + $brick10.time (1); + $brick11.time (1.5); + $bricksleft_anchor.time (1.3); + $bricksright_anchor.time (1.3); + + $bricksleft.bind ($bricksleft_anchor); + $bricksright.bind ($bricksright_anchor); + + $rock1.bind ($rock_rotating1); + $rock2.bind ($rock_rotating2); + $rock3.bind ($rock_rotating3); + $rock4.bind ($rock_rotating4); + $rock5.bind ($rock_rotating5); + $rock6.bind ($rock_rotating6); + $rock7.bind ($rock_rotating7); + $rock8.bind ($rock_rotating8); + $rock9.bind ($rock_rotating9); + $rock10.bind ($rock_rotating10); + $rock11.bind ($rock_rotating11); + $rock12.bind ($rock_rotating12); + + $cageside1.bind ($cageside1_rotate); + $cageside2.bind ($cageside2_rotate); + $cageside3.bind ($cageside3_rotate); + $cageside4.bind ($cageside4_rotate); + $cagebottom.bind ($cagebottom_rotate); + + $cage2side1.bind ($cage2side1_anchor); + $cage2side2.bind ($cage2side2_anchor); + $cage2side3.bind ($cage2side3_anchor); + $cage2side4.bind ($cage2side4_anchor); + + $cageroom_mover.accelTime (.5); + $cageroom_mover.decelTime (.5); + $cageroom_mover.time (9); + + $wall1.bind ($wall1_anchor); + $wall2.bind ($wall2_anchor); + + $step1.time (.5); + $step2.time (.5); + $step3.time (.5); + $step4.time (.5); + $step5.time (.5); + $step6.time (.5); + + $doorblock1.time (.4); + $doorblock1.decelTime (.1); + + } + + void telering_move () + { + while (1) + { + $telering_anchor.accelTime (.4); + $telering_anchor.decelTime (.4); + $telering_anchor.time (1); + $telering_anchor.rotateOnce ('-10 15 5'); + sys.waitFor ($telering_anchor); + $telering_anchor.rotateOnce ('10 -15 -5'); + sys.waitFor ($telering_anchor); + + $telering_anchor.accelTime (.5); + $telering_anchor.decelTime (.5); + $telering_anchor.time (2); + $telering_anchor.rotateOnce ('20 10 0'); + sys.waitFor ($telering_anchor); + $telering_anchor.rotateOnce ('-20 -10 0'); + sys.waitFor ($telering_anchor); + + sys.wait (1); + } + } + + void telering_bob () + { + while (1) + { + $telering_bobbing.accelTime (.5); + $telering_bobbing.decelTime (.5); + $telering_bobbing.time (4); + $telering_bobbing.move (UP,32); + sys.waitFor ($telering_bobbing); + $telering_bobbing.move (DOWN,32); + sys.waitFor ($telering_bobbing); + sys.trigger ($telering_spark); + + $telering_spark.startSoundShader ("tp_electro", SND_CHANNEL_VOICE2 ); + + sys.trigger ($telering_light1); + sys.trigger ($telering_light2); + sys.wait (1); + sys.trigger ($telering_spark); + sys.trigger ($telering_light1); + sys.trigger ($telering_light2); + } + } + + void cage_mover (entity ent, vector vec, float ftime, entity etarget) { + cage_instance++; + ent.time (ftime); + ent.rotateOnce (vec); + ent.moveTo (etarget); + sys.waitFor (ent); + + if (cage_instance == 1 ) + ent.startSoundShader ("gateimpact_01", SND_CHANNEL_VOICE2 ); + if (cage_instance == 2 ) + ent.startSoundShader ("gateimpact_02", SND_CHANNEL_VOICE2 ); + if (cage_instance == 3 ) + ent.startSoundShader ("gateimpact_03", SND_CHANNEL_VOICE2 ); + if (cage_instance == 4 ) + ent.startSoundShader ("gateimpact_04", SND_CHANNEL_VOICE2 ); + if (cage_instance == 5 ) + ent.startSoundShader ("gateimpact_05", SND_CHANNEL_VOICE2 ); + } + + + ////////////////////////// + // fly hazmat + ////////////////////////// + + void StartSplineMover() { + $hazmat_mover.time( 10 ); + $hazmat_mover.accelTime( 2 ); + + sys.trigger ($speaker_corpsemover); // On + + $hazmat_mover.startSpline( $func_splinemover_1 ); + $hazmat_mover.removeInitialSplineAngles(); + + sys.waitFor ($hazmat_mover); + + sys.trigger ($speaker_corpsemover); // Off + + sys.trigger ($hazmat_remove); + sys.trigger ($hazmat_splash); + sys.wait (2); + sys.trigger ($hazmat_splash); + } + + + ////////////////////////// + // cage + ////////////////////////// + + //trap player in cage + + void cage_close () + { + $cageroom_mover.move (UP ,300); + + + $cageside1_rotate.time (4); + $cageside2_rotate.time (4); + $cageside3_rotate.time (4); + $cageside4_rotate.time (4); + $cagebottom_rotate.time (4); + + $cageside1_rotate.rotateOnce ('0 360 0'); + $cageside2_rotate.rotateOnce ('0 360 0'); + $cageside3_rotate.rotateOnce ('0 360 0'); + $cageside4_rotate.rotateOnce ('0 360 0'); + $cagebottom_rotate.rotateOnce ('360 720 360'); + + + sys.waitFor ($cageside1_rotate); + + $cageside1.unbind (); + $cageside2.unbind (); + $cageside3.unbind (); + $cageside4.unbind (); + $cagebottom.unbind (); + + sys.waitFor ($cageside1); + + + thread cage_mover ($cageside1, '0 -360 0', 3, $cageside1_spot1); + sys.wait (1); + thread cage_mover ($cageside2, '0 -360 0', 3, $cageside1_spot1); + sys.wait (1); + thread cage_mover ($cageside3, '0 -360 0', 3, $cageside1_spot1); + sys.wait (1); + thread cage_mover ($cageside4, '0 -360 0', 3, $cageside1_spot1); + sys.wait (1); + cage_mover ($cagebottom, '0 0 0', 3, $cagebottom_spot1); + + sys.wait (0.5); + + +/* + $cageside1.time (3); + $cageside2.time (3); + $cageside3.time (3); + $cageside4.time (3); + $cagebottom.time (3); + + $cageside1.rotateOnce ('0 -360 0'); + $cageside2.rotateOnce ('0 -360 0'); + $cageside3.rotateOnce ('0 -360 0'); + $cageside4.rotateOnce ('0 -360 0'); + + $cageside1.moveTo ($cageside1_spot1); + $cageside2.moveTo ($cageside1_spot1); + $cageside3.moveTo ($cageside1_spot1); + $cageside4.moveTo ($cageside1_spot1); + $cagebottom.moveTo ($cagebottom_spot1); +*/ + + //sys.waitFor ($cageside1); + + sys.trigger ($soul_emitter_1); + + sys.wait (2); + + sys.trigger ($light_trigger1); + + //move room and rocks up fast + + $rock1.unbind (); + $rock2.unbind (); + $rock3.unbind (); + $rock4.unbind (); + $rock5.unbind (); + $rock6.unbind (); + $rock7.unbind (); + $rock8.unbind (); + $rock9.unbind (); + $rock10.unbind (); + $rock11.unbind (); + $rock12.unbind (); + + $rock1.bind ($cageroom_mover); + $rock2.bind ($cageroom_mover); + $rock3.bind ($cageroom_mover); + $rock4.bind ($cageroom_mover); + $rock5.bind ($cageroom_mover); + $rock6.bind ($cageroom_mover); + $rock7.bind ($cageroom_mover); + $rock8.bind ($cageroom_mover); + $rock9.bind ($cageroom_mover); + $rock10.bind ($cageroom_mover); + $rock11.bind ($cageroom_mover); + $rock12.bind ($cageroom_mover); + $rock13.bind ($cageroom_mover); + $rock14.bind ($cageroom_mover); + $rock15.bind ($cageroom_mover); + $rock16.bind ($cageroom_mover); + $rock17.bind ($cageroom_mover); + $rock18.bind ($cageroom_mover); + $rock19.bind ($cageroom_mover); + $rock20.bind ($cageroom_mover); + + $cageroom_tube.bind ($cageroom_mover); + $cageroom_mover.accelTime (2); + $cageroom_mover.time (4); + + $cageroom_mover.startSoundShader ("cage_decent", SND_CHANNEL_VOICE ); + + $cageroom_mover.move (UP ,5000); + + sys.wait (4); + + sys.trigger ($cage_teleport); + $cage2side1_anchor.startSoundShader ("gates_land", SND_CHANNEL_VOICE ); + + } + +void cage_open () + + { + //release player in new area + + $cage2side1_anchor.startSoundShader ("hell_revgate", SND_CHANNEL_VOICE2 ); + + $cage2side1_anchor.time (.2); + $cage2side2_anchor.time (.2); + $cage2side3_anchor.time (.2); + $cage2side4_anchor.time (.2); + + $cage2side1_anchor.rotateOnce ('3 0 0'); + $cage2side2_anchor.rotateOnce ('0 0 2'); + $cage2side3_anchor.rotateOnce ('-3 0 0'); + $cage2side4_anchor.rotateOnce ('0 0 -2'); + + sys.waitFor ($cage2side1_anchor); + + $cage2side1_anchor.decelTime (.5); + $cage2side2_anchor.decelTime (.5); + $cage2side3_anchor.decelTime (.5); + $cage2side4_anchor.decelTime (.5); + + $cage2side1_anchor.time (.6); + $cage2side2_anchor.time (.8); + $cage2side3_anchor.time (.6); + $cage2side4_anchor.time (.8); + + $cage2side1_anchor.rotateOnce ('-40 0 0'); + $cage2side2_anchor.rotateOnce ('0 0 -40'); + $cage2side3_anchor.rotateOnce ('40 0 0'); + $cage2side4_anchor.rotateOnce ('0 0 40'); + + sys.waitFor ($cage2side1_anchor); + + $cage2side1_anchor.accelTime (1); + $cage2side2_anchor.accelTime (1); + $cage2side3_anchor.accelTime (1); + $cage2side4_anchor.accelTime (1); + + $cage2side1_anchor.time (1); + $cage2side2_anchor.time (1); + $cage2side3_anchor.time (1); + $cage2side4_anchor.time (1); + + sys.waitFor ($cage2side1_anchor); + + $cage2side1_anchor.moveTo ($cage2side1_spot1); + $cage2side2_anchor.moveTo ($cage2side2_spot1); + $cage2side3_anchor.moveTo ($cage2side3_spot1); + $cage2side4_anchor.moveTo ($cage2side4_spot1); + + sys.waitFor ($cage2side1_anchor); + + + $cage2side1_anchor.rotateOnce ('-300 0 0'); + $cage2side2_anchor.rotateOnce ('0 0 -300'); + $cage2side3_anchor.rotateOnce ('300 0 0'); + $cage2side4_anchor.rotateOnce ('0 0 300'); + + $cage2side1_anchor.moveTo ($cage2side1_spot2); + $cage2side2_anchor.moveTo ($cage2side2_spot2); + $cage2side3_anchor.moveTo ($cage2side3_spot2); + $cage2side4_anchor.moveTo ($cage2side4_spot2); + + sys.waitFor ($cage2side1_anchor); + + $cage2side1_anchor.time (.8); + $cage2side2_anchor.time (.8); + $cage2side3_anchor.time (.8); + $cage2side4_anchor.time (.8); + + $cage2side1_anchor.rotateOnce ('-800 0 0'); + $cage2side2_anchor.rotateOnce ('0 0 -800'); + $cage2side3_anchor.rotateOnce ('800 0 0'); + $cage2side4_anchor.rotateOnce ('0 0 800'); + + $cage2side1_anchor.moveTo ($cage2side1_spot3); + $cage2side2_anchor.moveTo ($cage2side2_spot3); + $cage2side3_anchor.moveTo ($cage2side3_spot3); + $cage2side4_anchor.moveTo ($cage2side4_spot3); + + + } + + ////////////////////////// + // wall open + ////////////////////////// + + //rearrange blocks + + void wall_open () + { + $wall4_corner.time (.5); + $wall4_corner.accelTime (.5); + $wall1_1.time (.5); + $wall1_1.decelTime (.5); + $wall1_2.time (.5); + $wall1_2.decelTime (.5); + $wall1_3.time (.5); + $wall1_3.decelTime (.5); + $wall1_4.time (.5); + $wall1_4.decelTime (.5); + $wall1_5.time (.5); + $wall1_5.decelTime (.5); + $wall1_6.time (.6); + $wall1_6.decelTime (.5); + + $wall2_1.time (1); + $wall2_1.decelTime (.5); + $wall2_2.time (.5); + $wall2_2.decelTime (.5); + $wall2_3.time (.5); + $wall2_3.decelTime (.5); + $wall2_4.time (.5); + $wall2_4.decelTime (.5); + $wall2_5.time (.6); + $wall2_5.decelTime (.5); + $wall2_6.time (.5); + $wall2_6.decelTime (.5); + + $wall3_1.time (.6); + $wall3_1.decelTime (.5); + $wall3_2.time (.6); + $wall3_2.decelTime (.5); + $wall3_3.time (.6); + $wall3_3.decelTime (.5); + $wall3_4.time (.6); + $wall3_4.decelTime (.5); + $wall3_5.time (.6); + $wall3_5.decelTime (.5); + $wall3_6.time (.6); + $wall3_6.decelTime (.5); + + $wall4_1.time (.8); + $wall4_1.decelTime (.5); + $wall4_2.time (.6); + $wall4_2.decelTime (.5); + $wall4_3.time (2); + $wall4_3.decelTime (.5); + $wall4_4.time (.5); + $wall4_4.decelTime (.5); + $wall4_5.time (1); + $wall4_5.decelTime (.5); + + $wall1_anchor.rotateOnce ('0 -80 0'); + $wall2_anchor.rotateOnce ('0 80 0'); + + $wall1_1.move (SOUTH ,320); + $wall1_1.rotateOnce ('0 -90 0'); + + $wall1_corner.moveTo ($wall1_corner_spot1); + $wall1_2.moveTo ($wall1_2_spot1); + $wall1_3.moveTo ($wall1_3_spot1); + $wall1_4.moveTo ($wall1_4_spot1); + $wall1_5.moveTo ($wall1_5_spot1); + $wall1_6.moveTo ($wall1_6_spot1); + + $wall2_2.moveTo ($wall2_2_spot1); + $wall2_3.moveTo ($wall2_3_spot1); + $wall2_4.moveTo ($wall2_4_spot1); + $wall2_5.moveTo ($wall2_5_spot1); + $wall2_6.moveTo ($wall2_6_spot1); + + sys.waitFor ($wall1_anchor); + + $wall1_corner.move (UP ,128); + + $wall1_2.rotateOnce ('0 180 0'); + $wall1_3.rotateOnce ('0 180 0'); + $wall1_4.rotateOnce ('0 180 0'); + $wall1_5.rotateOnce ('0 180 0'); + $wall1_6.rotateOnce ('0 270 0'); + + $wall2_2.rotateOnce ('0 -180 0'); + $wall2_3.rotateOnce ('0 -90 0'); + $wall2_4.rotateOnce ('0 -180 0'); + $wall2_5.rotateOnce ('0 90 0'); + $wall2_6.rotateOnce ('0 -180 0'); + + $wall1_2.moveTo ($wall1_2_spot2); + $wall1_3.moveTo ($wall1_3_spot2); + $wall1_4.moveTo ($wall1_4_spot2); + $wall1_5.moveTo ($wall1_5_spot2); + $wall1_6.moveTo ($wall1_6_spot2); + + $wall2_2.moveTo ($wall2_2_spot2); + $wall2_3.moveTo ($wall2_3_spot2); + $wall2_4.moveTo ($wall2_4_spot2); + $wall2_5.moveTo ($wall2_5_spot2); + $wall2_6.moveTo ($wall2_6_spot2); + + $wall3_1.move (WEST ,320); + + sys.waitFor ($wall3_1); + + $wall3_2.moveTo ($wall3_2_spot1); + $wall3_2.moveTo ($wall3_2_spot2); + + $wall3_3.moveTo ($wall3_2_spot1); + $wall3_3.moveTo ($wall3_3_spot2); + + $wall3_4.moveTo ($wall3_4_spot1); + $wall3_4.moveTo ($wall3_4_spot2); + + $wall3_5.moveTo ($wall3_5_spot1); + $wall3_5.moveTo ($wall3_5_spot2); + + $wall3_6.moveTo ($wall3_6_spot1); + $wall3_6.rotateOnce ('0 180 0'); + $wall3_6.moveTo ($wall3_6_spot2); + + $wall2_1.moveTo ($wall2_1_spot1); + sys.waitFor ($wall2_1); + $wall2_1.rotateOnce ('0 270 0'); + $wall2_1.moveTo ($wall2_1_spot2); + + $wall4_corner.moveTo ($wall4_corner_spot1); + sys.waitFor ($wall4_corner); + $wall4_corner.move (UP ,128); + + $wall4_1.move (EAST ,256); + + $wall4_2.moveTo ($wall4_2_spot1); + sys.waitFor ($wall4_2); + $wall4_2.moveTo ($wall4_2_spot2); + + $wall4_3.moveTo ($wall4_3_spot1); + sys.waitFor ($wall4_3); + $wall4_3.moveTo ($wall4_3_spot2); + + $wall4_4.moveTo ($wall4_4_spot1); + sys.waitFor ($wall4_4); + $wall4_4.moveTo ($wall4_4_spot2); + + $wall4_5.moveTo ($wall4_5_spot1); + sys.waitFor ($wall4_5); + $wall4_5.rotateOnce ('0 0 360'); + $wall4_5.moveTo ($wall4_5_spot2); + + } + + ////////////////////////// + // form bridge + ////////////////////////// + + //rearrange blocks to make bridge + + void bridge_form () + { + sys.trigger ($bridgequake); + + $wall1_corner.rotateOnce ('0 180 0'); + $wall4_corner.rotateOnce ('0 -180 0'); + $wall1_corner.moveTo ($wall1_corner_spot2); + $wall4_corner.moveTo ($wall4_corner_spot2); + + sys.waitFor ($wall4_corner); + + $wall1_corner.moveTo ($wall1_corner_spot3); + $wall4_corner.moveTo ($wall4_corner_spot3); + + sys.waitFor ($wall4_corner); + + $wall1_1.time (2); + $wall1_1.decelTime (.5); + $wall1_2.time (2.5); + $wall1_2.decelTime (.5); + $wall1_3.time (1.7); + $wall1_3.decelTime (.5); + $wall1_4.time (2.4); + $wall1_4.decelTime (.5); + $wall1_5.time (2.2); + $wall1_5.decelTime (.5); + $wall1_6.time (2.6); + $wall1_6.decelTime (.5); + + $wall2_1.time (2.1); + $wall2_1.decelTime (.5); + $wall2_2.time (2); + $wall2_2.decelTime (.5); + $wall2_3.time (1.8); + $wall2_3.decelTime (.5); + $wall2_4.time (2.3); + $wall2_4.decelTime (.5); + $wall2_5.time (2.6); + $wall2_5.decelTime (.5); + $wall2_6.time (2.1); + $wall2_6.decelTime (.5); + + $wall3_1.time (2.1); + $wall3_1.decelTime (.5); + $wall3_2.time (2.4); + $wall3_2.decelTime (.5); + $wall3_3.time (2.5); + $wall3_3.decelTime (.5); + $wall3_4.time (1.7); + $wall3_4.decelTime (.5); + $wall3_5.time (1.8); + $wall3_5.decelTime (.5); + $wall3_6.time (2); + $wall3_6.decelTime (.5); + + $wall4_1.time (2); + $wall4_1.decelTime (.5); + $wall4_2.time (2.2); + $wall4_2.decelTime (.5); + $wall4_3.time (2.5); + $wall4_3.decelTime (.5); + $wall4_4.time (2.1); + $wall4_4.decelTime (.5); + $wall4_5.time (1.9); + $wall4_5.decelTime (.5); + + $wall1_1.moveTo ($bridge1_1_spot1); + $wall1_2.moveTo ($bridge1_2_spot1); + $wall1_3.moveTo ($bridge1_3_spot1); + $wall1_4.moveTo ($bridge1_4_spot1); + $wall1_5.moveTo ($bridge1_5_spot1); + $wall1_6.moveTo ($bridge1_6_spot1); + + $wall2_1.moveTo ($bridge2_1_spot1); + $wall2_2.moveTo ($bridge2_2_spot1); + $wall2_3.moveTo ($bridge2_3_spot1); + $wall2_4.moveTo ($bridge2_4_spot1); + $wall2_5.moveTo ($bridge2_5_spot1); + $wall2_6.moveTo ($bridge2_6_spot1); + + $wall3_1.moveTo ($bridge3_1_spot1); + $wall3_2.moveTo ($bridge3_2_spot1); + $wall3_3.moveTo ($bridge3_3_spot1); + $wall3_4.moveTo ($bridge3_4_spot1); + $wall3_5.moveTo ($bridge3_5_spot1); + $wall3_6.moveTo ($bridge3_6_spot1); + + $wall4_1.moveTo ($bridge4_1_spot1); + $wall4_2.moveTo ($bridge4_2_spot1); + $wall4_3.moveTo ($bridge4_3_spot1); + $wall4_4.moveTo ($bridge4_4_spot1); + $wall4_5.moveTo ($bridge4_5_spot1); + + sys.waitFor ($wall4_5); + + $wall1_1.moveTo ($bridge1_1_spot2); + $wall1_1.rotateOnce ('0 -180 360'); + $wall1_2.moveTo ($bridge1_2_spot2); + $wall1_2.rotateOnce ('0 180 -360'); + $wall1_3.moveTo ($bridge1_3_spot2); + $wall1_3.rotateOnce ('0 180 360'); + $wall1_4.moveTo ($bridge1_4_spot2); + $wall1_4.rotateOnce ('0 180 -360'); + $wall1_5.moveTo ($bridge1_5_spot2); + $wall1_5.rotateOnce ('0 180 360'); + $wall1_6.moveTo ($bridge1_6_spot2); + $wall1_6.rotateOnce ('0 -180 360'); + + $wall2_1.moveTo ($bridge2_1_spot2); + $wall2_1.rotateOnce ('0 -180 360'); + $wall2_2.moveTo ($bridge2_2_spot2); + $wall2_2.rotateOnce ('0 180 -360'); + $wall2_3.moveTo ($bridge2_3_spot2); + $wall2_3.rotateOnce ('0 180 360'); + $wall2_4.moveTo ($bridge2_4_spot2); + $wall2_4.rotateOnce ('0 -180 360'); + $wall2_5.moveTo ($bridge2_5_spot2); + $wall2_5.rotateOnce ('0 180 -360'); + $wall2_6.moveTo ($bridge2_6_spot2); + $wall2_6.rotateOnce ('0 -180 360'); + + $wall3_1.moveTo ($bridge3_1_spot2); + $wall3_1.rotateOnce ('0 -180 360'); + $wall3_2.moveTo ($bridge3_2_spot2); + $wall3_2.rotateOnce ('0 -180 360'); + $wall3_3.moveTo ($bridge3_3_spot2); + $wall3_3.rotateOnce ('0 180 -360'); + $wall3_4.moveTo ($bridge3_4_spot2); + $wall3_4.rotateOnce ('0 180 360'); + $wall3_5.moveTo ($bridge3_5_spot2); + $wall3_5.rotateOnce ('0 -180 360'); + $wall3_6.moveTo ($bridge3_6_spot2); + $wall3_6.rotateOnce ('0 180 -360'); + + $wall4_1.moveTo ($bridge4_1_spot2); + $wall4_1.rotateOnce ('0 -180 360'); + $wall4_2.moveTo ($bridge4_2_spot2); + $wall4_2.rotateOnce ('0 180 -360'); + $wall4_3.moveTo ($bridge4_3_spot2); + $wall4_3.rotateOnce ('0 -180 360'); + $wall4_4.moveTo ($bridge4_4_spot2); + $wall4_4.rotateOnce ('0 -180 360'); + $wall4_5.moveTo ($bridge4_5_spot2); + $wall4_5.rotateOnce ('0 -180 360'); + + sys.waitFor ($wall4_5); + sys.trigger ($bridgequake); + + } + + ////////////////////////// + // first hall with dust particles + ////////////////////////// + + // turn dust particles on and off + + void start_firstdust () + { + while (1) + { + sys.trigger ($pillardust1); + sys.wait (1); + sys.trigger ($pillardust2); + sys.wait (.8); + sys.trigger ($pillardust3); + sys.wait (3); + sys.trigger ($pillardust1); + sys.wait (1); + sys.trigger ($pillardust2); + sys.wait (.8); + sys.trigger ($pillardust3); + sys.wait (2); + } + } + void firstdust_off () + { + + sys.killthread ( "map_hell1::start_firstdust" ); + + } + + ////////////////////////// + // steps + ////////////////////////// + + //lower steps in first hall + + void step_lower () + { + + $step1.move ( DOWN , 7 ); + sys.waitFor ($step1); + $step2.move ( DOWN , 15 ); + sys.waitFor ($step2); + $step3.move ( DOWN , 23 ); + sys.waitFor ($step3); + $step4.move ( DOWN , 31 ); + sys.waitFor ($step4); + $step5.move ( DOWN , 39 ); + sys.waitFor ($step5); + $step6.move ( DOWN , 47 ); + sys.waitFor ($step6); + $step7.move ( DOWN , 55 ); + sys.waitFor ($step7); + } + + ////////////////////////// + // first room + ////////////////////////// + + //wall in first room opens to let monster through + + void door_open () + { + + sys.trigger ($hk_wallbust_01); + + $bricksleft_anchor.rotateOnce ('0 30 0'); + $bricksright_anchor.rotateOnce ('0 -30 0'); + + $bricksleft_anchor.moveTo ($bricksleft_spot2); + $bricksright_anchor.moveTo ($bricksright_spot2); + + $brick1.moveTo ($brick1_spot2); + $brick2.moveTo ($brick2_spot2); + $brick2.rotateOnce ('0 180 0'); + $brick3.moveTo ($brick3_spot2); + $brick3.rotateOnce ('0 -180 0'); + $brick4.moveTo ($brick4_spot2); + $brick4.rotateOnce ('0 180 0'); + $brick5.moveTo ($brick5_spot2); + $brick6.moveTo ($brick6_spot2); + $brick7.moveTo ($brick7_spot2); + $brick8.moveTo ($brick8_spot2); + $brick8.rotateOnce ('0 0 180'); + $brick9.moveTo ($brick9_spot2); + $brick10.moveTo ($brick10_spot2); + $brick10.rotateOnce ('0 180 0'); + $brick11.moveTo ($brick11_spot2); + + + $brick1.moveTo ($brick1_spot3); + $brick2.moveTo ($brick2_spot3); + $brick3.moveTo ($brick3_spot3); + $brick4.moveTo ($brick4_spot3); + $brick5.moveTo ($brick5_spot3); + $brick6.moveTo ($brick6_spot3); + $brick7.moveTo ($brick7_spot3); + $brick8.moveTo ($brick8_spot3); + $brick9.moveTo ($brick9_spot3); + $brick10.moveTo ($brick10_spot3); + $brick11.moveTo ($brick11_spot3); + + sys.waitFor ($brick11); + } + + //wall in first room closes behind monster + + void door_close () + { + + $hk_wallbust_01.startSoundShader ("hk_revwallbust", SND_CHANNEL_VOICE2 ); + + $brick1.moveTo ($brick1_spot2); + $brick2.moveTo ($brick2_spot2); + $brick2.rotateOnce ('0 180 0'); + $brick3.moveTo ($brick3_spot2); + $brick3.rotateOnce ('0 -180 0'); + $brick4.moveTo ($brick4_spot2); + $brick4.rotateOnce ('0 180 0'); + $brick5.moveTo ($brick5_spot2); + $brick6.moveTo ($brick6_spot2); + $brick7.moveTo ($brick7_spot2); + $brick8.moveTo ($brick8_spot2); + $brick8.rotateOnce ('0 0 180'); + $brick9.moveTo ($brick9_spot2); + $brick10.moveTo ($brick10_spot2); + $brick10.rotateOnce ('0 180 0'); + $brick11.moveTo ($brick11_spot2); + + $brick1.moveTo ($brick1_spot1); + $brick2.moveTo ($brick2_spot1); + $brick3.moveTo ($brick3_spot1); + $brick4.moveTo ($brick4_spot1); + $brick5.moveTo ($brick5_spot1); + $brick6.moveTo ($brick6_spot1); + $brick7.moveTo ($brick7_spot1); + $brick8.moveTo ($brick8_spot1); + $brick9.moveTo ($brick9_spot1); + $brick10.moveTo ($brick10_spot1); + $brick11.moveTo ($brick11_spot1); + + $bricksleft_anchor.moveTo ($bricksleft_spot1); + $bricksright_anchor.moveTo ($bricksright_spot1); + $bricksleft_anchor.rotateOnce ('0 -30 0'); + $bricksright_anchor.rotateOnce ('0 30 0'); + + sys.waitFor ($bricksright_anchor); + + } + + ////////////////////////// + // alcoves + ////////////////////////// + + void alcove1_open () + { + + $alcove1_leftwall.startSoundShader ("wallmover_01", SND_CHANNEL_VOICE2 ); + $alcove1_leftwall.moveTo ($alcove1_leftwall_2); + $alcove1_rightwall.startSoundShader ("wallmover_01", SND_CHANNEL_VOICE2 ); + $alcove1_rightwall.moveTo ($alcove1_rightwall_2); + $alcove1_backwall.startSoundShader ("wallmover_02", SND_CHANNEL_VOICE2 ); + $alcove1_backwall.moveTo ($alcove1_backwall_2); + + sys.waitFor ($alcove1_leftwall); + } + + void alcove1_close () + { + + $alcove1_leftwall.moveTo ($alcove1_leftwall_1); + $alcove1_rightwall.moveTo ($alcove1_rightwall_1); + $alcove1_backwall.moveTo ($alcove1_backwall_1); + + sys.waitFor ($alcove1_leftwall); + } + + void alcove2_open () + { + $alcove2_leftwall.startSoundShader ("wallmover_01", SND_CHANNEL_VOICE2 ); + $alcove2_leftwall.moveTo ($alcove2_leftwall_2); + $alcove2_rightwall.startSoundShader ("wallmover_01", SND_CHANNEL_VOICE2 ); + $alcove2_rightwall.moveTo ($alcove2_rightwall_2); + $alcove2_backwall.startSoundShader ("wallmover_02", SND_CHANNEL_VOICE2 ); + $alcove2_backwall.moveTo ($alcove2_backwall_2); + + sys.waitFor ($alcove2_leftwall); + } + + void alcove2_close () + { + + $alcove2_leftwall.moveTo ($alcove2_leftwall_1); + $alcove2_rightwall.moveTo ($alcove2_rightwall_1); + $alcove2_backwall.moveTo ($alcove2_backwall_1); + + sys.waitFor ($alcove2_leftwall); + } + + ////////////////////////// + // pit + ////////////////////////// + + void pit_descent () + { + sys.wait (1); + $pit_plat1.accelTime (.1); + $pit_plat1.decelTime (.5); + $pit_plat1.time (2); + + $pit_plat1.startSoundShader ("hellride_lower_2s", SND_CHANNEL_VOICE ); + + $pit_plat1.moveTo ( $pit1_spot1); + $pit_plat1.rotateOnce ('0 40 0'); + sys.waitFor ($pit_plat1); + + $pit_plat1.time (7.5); + + $pit_plat1.startSoundShader ("hell_rockride_8s", SND_CHANNEL_VOICE2 ); + + $pit_plat1.moveTo ( $pit1_spot2); + $pit_plat1.rotateOnce ('0 -40 0'); + sys.waitFor ($pit_plat1); + + $pit_plat1.time (2); + + $pit_plat1.startSoundShader ("hellride_lower_2s", SND_CHANNEL_VOICE ); + + $pit_plat1.move ( DOWN , 32 ); + sys.waitFor ($pit_plat1); + + sys.wait (6); + + $pit_plat1.decelTime (.1); + $pit_plat1.time (.8); + + $pit_plat1.startSoundShader ("hellride_platrot", SND_CHANNEL_VOICE2 ); + + $pit_plat1.move ( DOWN , 192 ); + $pit_plat1.rotateOnce ('0 0 -43'); + sys.waitFor ($pit_plat1); + $pit_plat1.time (.2); + $pit_plat1.move ( UP , 4 ); + sys.waitFor ($pit_plat1); + $pit_plat1.move ( DOWN , 4 ); + sys.waitFor ($pit_plat1); + sys.wait (.5); + $pit_plat1.decelTime (.5); + $pit_plat1.time (1.2); + $pit_plat1.move ( DOWN , 32 ); + } + + ////////////////////////// + // basement pillar room + ////////////////////////// + + void bbrick1 () + { + $bbrick1_mover1.time (.1); + $bbrick1_mover2.time (.1); + $bbrick1_mover3.time (.2); + $bbrick1_mover4.time (.1); + $bbrick1_mover5.time (.2); + $bbrick1_mover6.time (.2); + $bbrick1_mover1.rotateOnce ('-30 0 0'); + $bbrick1_mover2.rotateOnce ('0 -75 0'); + $bbrick1_mover3.rotateOnce ('0 -95 0'); + $bbrick1_mover4.rotateOnce ('0 85 0'); + $bbrick1_mover5.rotateOnce ('0 60 0'); + $bbrick1_mover5.move (NORTH , 32); + $bbrick1_mover6.rotateOnce ('0 85 0'); + } + + void bbrick1_down () + { + $bbrick1_moveable1.bind ($bbrick1_lower); + $bbrick1_moveable2.bind ($bbrick1_lower); + $bbrick1_moveable3.bind ($bbrick1_lower); + $bbrick1_moveable4.bind ($bbrick1_lower); + $bbrick1_moveable8.bind ($bbrick1_lower); + + sys.wait (.5); + $bbrick1_lower.accelTime (.5); + $bbrick1_lower.time (2); + $bbrick1_lower.move (DOWN , 64); + $bbrick1_lower.rotateOnce ('0 5 0'); + } + + void bbrick2 () + { + $bbrick2_mover1.time (.1); + $bbrick2_mover2.time (.1); + $bbrick2_mover3.time (.1); + $bbrick2_mover4.time (.1); + $bbrick2_mover5.time (.1); + $bbrick2_mover6.time (.1); + $bbrick2_mover1.rotateOnce ('-35 0 0'); + $bbrick2_mover2.rotateOnce ('0 70 0'); + $bbrick2_mover3.rotateOnce ('0 85 0'); + $bbrick2_mover4.rotateOnce ('0 80 0'); + $bbrick2_mover5.rotateOnce ('0 -80 0'); + $bbrick2_mover6.rotateOnce ('0 -75 0'); + } + + void bbrick3 () + { + $bbrick3_mover1.time (.5); + $bbrick3_mover2.time (.5); + + $bbrick3_mover1.rotateOnce ('0 -70 0'); + $bbrick3_mover2.rotateOnce ('0 75 0'); + } + + ////////////////////////// + // mancubus plat room crusher + ////////////////////////// + + void stomp1 () + { + $stomp1.time (.6); + $stomp1.accelTime (.5); + $stomp1.decelTime (.05); + $stomp1.move (DOWN ,256); + sys.waitFor ($stomp1); + + sys.trigger ($stomp1_particle); + sys.trigger ($stomp1_speaker); + + $stomp1.time (.08); + $stomp1.accelTime (.05); + $stomp1.decelTime (.02); + $stomp1.move (UP ,4); + sys.waitFor ($stomp1); + $stomp1.move (DOWN ,4); + sys.waitFor ($stomp1); + + sys.wait (3); + + $stomp1.time (2); + $stomp1.accelTime (.5); + $stomp1.decelTime (.2); + $stomp1.move (UP ,256); + sys.waitFor ($stomp1); + } + + void start_stomp1 () + { + while(1) { + $stomp1.time (.6); + $stomp1.accelTime (.5); + $stomp1.decelTime (.05); + $stomp1.move (DOWN ,256); + sys.waitFor ($stomp1); + + sys.trigger ($stomp1_particle); + sys.trigger ($stomp1_speaker); + + $stomp1.time (.08); + $stomp1.accelTime (.05); + $stomp1.decelTime (.02); + $stomp1.move (UP ,4); + sys.waitFor ($stomp1); + $stomp1.move (DOWN ,4); + sys.waitFor ($stomp1); + + sys.wait (.8); + + $stomp1.time (2); + $stomp1.accelTime (.5); + $stomp1.decelTime (.2); + $stomp1.move (UP ,256); + sys.waitFor ($stomp1); + sys.wait (1); + } + } + + ////////////////////////// + // misc + ////////////////////////// + + + void close_doorblock1 () + { + sys.trigger ($doorblock1_dust); + sys.trigger ($doorblock1_speaker); + $doorblock1.rotateOnce ('0 90 0'); + sys.waitFor ($doorblock1); + $doorblock1.move ( SOUTH ,224); + sys.waitFor ($doorblock1); + sys.trigger ($doorblock1_obstacle); + sys.wait (1); + sys.trigger ($doorblock1_dust); + } + + void brickdoor1_open () + { + $brickdoor1.rotateOnce ('0 80 0'); + sys.waitFor ($brickdoor1); + } + + void drop_corpse1 () + { + $corpse1.unbind (); + } + + void drop_corpse2 () + { + $corpsedrop2.accelTime (.3); + $corpsedrop2.time (.5); + $corpsedrop2.move ( DOWN,80); + sys.waitFor ($corpsedrop2); + $corpsedrop2.move ( DOWN,8); + } + + void drop_corpse3 () + { + $corpse3.unbind (); + } + void drop_corpse5 () + { + $corpse5.unbind (); + } + + void drop_corpse6 () + { + $corpse6.unbind (); + } + + void cache_sounds() { + sys.cacheSoundShader ("tp_electro"); + sys.cacheSoundShader ("gateimpact_01"); + sys.cacheSoundShader ("gateimpact_02"); + sys.cacheSoundShader ("gateimpact_03"); + sys.cacheSoundShader ("gateimpact_04"); + sys.cacheSoundShader ("gateimpact_05"); + sys.cacheSoundShader ("wallmover_01"); + sys.cacheSoundShader ("wallmover_02"); + sys.cacheSoundShader ("hell_rockride_8s"); + sys.cacheSoundShader ("hellride_lower_2s"); + sys.cacheSoundShader ("hellride_platrot"); + sys.cacheSoundShader ("hk_revwallbust"); + sys.cacheSoundShader ("hell_revgate"); + sys.cacheSoundShader ("cage_decent"); + sys.cacheSoundShader ("gates_land"); + sys.cacheSoundShader ("hell_corpsemover"); + } + + void guardian_room_fadeout() { + $hs_1.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_2.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_3.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_4.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_5.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_6.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_7.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_8.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_9.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_10.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_11.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + $hs_12.fadeSound ( SND_CHANNEL_ANY, -60, 5 ); + } + + void guardian_room_fadein() { + $hs_1.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_2.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_3.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_4.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_5.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_6.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_7.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_8.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_9.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_10.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_11.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + $hs_12.fadeSound ( SND_CHANNEL_ANY, -2, 5 ); + } + + + // They are on by default... + void toggle_guardianroom_sounds() { + sys.trigger ($hs_1); + sys.trigger ($hs_2); + sys.trigger ($hs_3); + sys.trigger ($hs_4); + sys.trigger ($hs_5); + sys.trigger ($hs_6); + sys.trigger ($hs_7); + sys.trigger ($hs_8); + sys.trigger ($hs_9); + sys.trigger ($hs_10); + sys.trigger ($hs_11); + sys.trigger ($hs_12); + } + + + void main () + { + cache_sounds(); + setup_objects(); + guardian_room_fadeout(); // Fade guardian sounds out + thread ( telering_move() ); + thread ( telering_bob() ); + } +} \ No newline at end of file diff --git a/base/script/map_hellhole.script b/base/script/map_hellhole.script new file mode 100644 index 00000000..fb40e9f5 --- /dev/null +++ b/base/script/map_hellhole.script @@ -0,0 +1,369 @@ +namespace map_hellhole { + + void move_entrance_lift() + { + //level load lift + $hellhole_start_lift.time(10); + $hellhole_start_lift.accelTime(.5); + $hellhole_start_lift.decelTime(.5); + + $hellhole_start_lift.move(DOWN, 1280); + } + + void move_first_doors() + { + sys.trigger($hhbrickdoors1_portal); + $hhbrickdoor_1.accelTime(.5); + $hhbrickdoor_1.decelTime(.5); + + $hhbrickdoor_2.accelTime(.5); + $hhbrickdoor_2.decelTime(.5); + + $hhbrickdoor_1.time(1); + + $hhbrickdoor_1.startSoundShader ("hh_door_movement_1", SND_CHANNEL_VOICE2 ); + + $hhbrickdoor_1.move(WEST, 32); + $hhbrickdoor_2.time (1); + $hhbrickdoor_2.move(WEST, 32); + sys.waitFor($hhbrickdoor_1); + + $hhbrickdoor_1.time(2); + $hhbrickdoor_1.startSoundShader ("hh_door_movement_2", SND_CHANNEL_VOICE ); + $hhbrickdoor_1.move(SOUTH, 64); + $hhbrickdoor_2.time (2); + $hhbrickdoor_2.move(NORTH, 64); + sys.waitFor($hhbrickdoor_1); + } + + void move_first_doors_close() + + { + $hhbrickdoor_1.accelTime(.5); + $hhbrickdoor_1.decelTime(.5); + + $hhbrickdoor_2.accelTime(.5); + $hhbrickdoor_2.decelTime(.5); + + $hhbrickdoor_1.time(2); + $hhbrickdoor_1.startSoundShader ("hh_door_movement_2", SND_CHANNEL_VOICE2 ); + $hhbrickdoor_1.move(NORTH, 64); + $hhbrickdoor_2.time (2); + $hhbrickdoor_2.move(SOUTH, 64); + sys.waitFor($hhbrickdoor_1); + + $hhbrickdoor_1.time(1); + $hhbrickdoor_1.startSoundShader ("hh_door_movement_1", SND_CHANNEL_VOICE ); + $hhbrickdoor_1.move(EAST, 32); + $hhbrickdoor_2.time (1); + $hhbrickdoor_2.move(EAST, 32); + sys.waitFor($hhbrickdoor_1); + sys.trigger($hhbrickdoors1_portal); + } + + void hellevator_down() + { + $hellevator.startSoundShader ("hh_rockride_8s", SND_CHANNEL_VOICE ); + + $hellevator.time(8); + $hellevator.accelTime(5); + $hellevator.decelTime(.5); + + $hellevator.move(DOWN, 2020); + } + + void move_next_doors_open() + { + sys.trigger($hhbrickdoors2_portal); + $hhbrickdoor_3.accelTime(.5); + $hhbrickdoor_3.decelTime(.5); + + $hhbrickdoor_4.accelTime(.5); + $hhbrickdoor_4.decelTime(.5); + + $hhbrickdoor_3.startSoundShader ("hh_door_movement_3s", SND_CHANNEL_VOICE); + $hhbrickdoor_3.time(3); + $hhbrickdoor_3.move(NORTH, 32); + $hhbrickdoor_4.time (3); + $hhbrickdoor_4.move(NORTH, 32); + sys.waitFor($hhbrickdoor_3); + + $hhbrickdoor_3.time(5); + $hhbrickdoor_3.startSoundShader ("hh_door_movement_5s", SND_CHANNEL_VOICE2); + $hhbrickdoor_3.move(WEST, 64); + $hhbrickdoor_4.time (5); + $hhbrickdoor_4.move(EAST, 64); + sys.waitFor($hhbrickdoor_3); + + } + + void move_next_doors_close() + { + $hhbrickdoor_3.accelTime(.5); + $hhbrickdoor_3.decelTime(.5); + + $hhbrickdoor_4.accelTime(.5); + $hhbrickdoor_4.decelTime(.5); + + $hhbrickdoor_3.time(5); + $hhbrickdoor_3.startSoundShader ("hh_door_movement_5s", SND_CHANNEL_VOICE); + $hhbrickdoor_3.move(EAST, 64); + $hhbrickdoor_4.time (5); + $hhbrickdoor_4.move(WEST, 64); + sys.waitFor($hhbrickdoor_3); + + $hhbrickdoor_3.time(3); + $hhbrickdoor_3.startSoundShader ("hh_door_movement_3s", SND_CHANNEL_VOICE2); + $hhbrickdoor_3.move(SOUTH, 32); + $hhbrickdoor_4.time (3); + $hhbrickdoor_4.move(SOUTH, 32); + sys.waitFor($hhbrickdoor_3); + sys.trigger($hhbrickdoors2_portal); + + } + + void move_last_doors_open() + { + sys.trigger($hhbrickdoors3_portal); + $hhbrickdoor_5.accelTime(.5); + $hhbrickdoor_5.decelTime(.5); + + $hhbrickdoor_6.accelTime(.5); + $hhbrickdoor_6.decelTime(.5); + + $hhbrickdoor_5.time(3); + + $hhbrickdoor_5.startSoundShader ("hh_door_movement_3s", SND_CHANNEL_VOICE2); + + $hhbrickdoor_5.move(NORTH, 32); + $hhbrickdoor_6.time (3); + $hhbrickdoor_6.move(NORTH, 32); + sys.waitFor($hhbrickdoor_5); + + $hhbrickdoor_5.time(5); + + $hhbrickdoor_5.startSoundShader ("hh_door_movement_5s", SND_CHANNEL_VOICE); + + $hhbrickdoor_5.move(WEST, 64); + $hhbrickdoor_6.time (5); + $hhbrickdoor_6.move(EAST, 64); + sys.waitFor($hhbrickdoor_5); + + } + + void move_last_doors_close() + { + $hhbrickdoor_5.accelTime(.5); + $hhbrickdoor_5.decelTime(.5); + + $hhbrickdoor_6.accelTime(.5); + $hhbrickdoor_6.decelTime(.5); + + $hhbrickdoor_5.time(5); + $hhbrickdoor_5.startSoundShader ("hh_door_movement_5s", SND_CHANNEL_VOICE2); + $hhbrickdoor_5.move(EAST, 64); + $hhbrickdoor_6.time (5); + $hhbrickdoor_6.move(WEST, 64); + sys.waitFor($hhbrickdoor_5); + + $hhbrickdoor_5.time(3); + $hhbrickdoor_5.startSoundShader ("hh_door_movement_3s", SND_CHANNEL_VOICE); + $hhbrickdoor_5.move(SOUTH, 32); + $hhbrickdoor_6.time (3); + $hhbrickdoor_6.move(SOUTH, 32); + sys.waitFor($hhbrickdoor_5); + sys.trigger($hhbrickdoors3_portal); + + } + + void move_id_brick() + { + $id_brick.accelTime(.2); + $id_brick.decelTime(.2); + + $id_brick.time(1.5); + + $id_brick.startSoundShader ("hh_door_movement_3s", SND_CHANNEL_VOICE2); + + $id_brick.move(NORTH, 16); + $id_brick.time (1.5); + sys.waitFor($id_brick); + + } + + void move_id_door() + { + $id_door.accelTime(.5); + $id_door.decelTime(.5); + + $id_door.time(3); + + $id_door.startSoundShader ("hh_door_movement_3s", SND_CHANNEL_VOICE2); + + $id_door.move(WEST, 32); + $id_door.time (3); + sys.waitFor($id_door); + + $id_door.time(5); + + $id_door.startSoundShader ("hh_door_movement_5s", SND_CHANNEL_VOICE); + + $id_door.move(UP, 128); + $id_door.time (5); + sys.waitFor($id_door); + + } + + void spark_mover () + { + //turn on the sparks + sys.trigger ($doorsparks); + + //move the sparkmover down and wait for it to finish + $sparkmover.move (DOWN, 116); + sys.waitFor ($sparkmover); + + //turn off the sparks + sys.trigger ($doorsparks); + } + + void harden_lava( entity ent, float parm, float fromValue, float toValue, float totalTime ) { + float i; + float frac; + float numTics; + + // customized for the shader "textures/hell/hellhole_lavascroll_fade" + + // convert to the total number of game tics + numTics = totalTime * sys.getTicsPerSecond(); + + float parm3 = fromValue; + float parm5 = sys.getTime()*-0.2; + float parm6 = sys.getTime()*-0.1; + float parm7 = -sys.getTime(); + + for( i = 0; i < numTics; i++ ) { + parm5 = (sys.getTime()+parm7)*(-0.2*parm3)+parm5; + parm6 = (sys.getTime()+parm7)*(-0.1*parm3)+parm6; + parm7 = -sys.getTime(); + + frac = i / numTics; + parm3 = toValue * frac + fromValue * ( 1 - frac ); + + ent.setShaderParm( 3, parm3 ); + ent.setShaderParm( 5, parm5 ); + ent.setShaderParm( 6, parm6 ); + ent.setShaderParm( 7, parm7 ); + + // wait one game frame + sys.waitFrame(); + } + + // make sure we are set to exactly the destination value + parm3 = toValue; + parm5 = (sys.getTime()+parm7)*(-0.2*parm3)+parm5; + parm6 = (sys.getTime()+parm7)*(-0.1*parm3)+parm6; + parm7 = -sys.getTime(); + + ent.setShaderParm( 3, parm3 ); + ent.setShaderParm( 5, parm5 ); + ent.setShaderParm( 6, parm6 ); + ent.setShaderParm( 7, parm7 ); + } + + void interpolateRocksShader( entity ent, float parm, float fromValue, float toValue, float totalTime ) { + float i; + float value; + float frac; + float numTics; + + // convert to the total number of game tics + numTics = totalTime * sys.getTicsPerSecond(); + + for( i = 0; i < numTics; i++ ) { + frac = i / numTics; + value = toValue * frac + fromValue * ( 1 - frac ); + ent.setShaderParm( parm, value ); + + // wait one game frame + sys.waitFrame(); + } + + // make sure we are set to exactly the destination value + ent.setShaderParm( parm, toValue ); + } + + void fade_lava_thread() { + harden_lava( $hellhole_cyberdeathrocks_2, 3, 1, 0, 3 ); + thread fadeOutEnt( $func_static_808, '1 1 1', 1 ); + interpolateRocksShader( $hellhole_cyberdeathrocks_2, 0, 1, 0, 1 ); + } + + void fade_lava() { + thread fade_lava_thread(); + } + + void cache_sounds() { + sys.cacheSoundShader ("hh_rockride_8s"); + sys.cacheSoundShader ("hh_door_movement_3s"); + sys.cacheSoundShader ("hh_door_movement_5s"); + sys.cacheSoundShader ("hh_door_movement_1"); + sys.cacheSoundShader ("hh_door_movement_2"); + } + + void fade_final_room_down() { + $hhs_1.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_2.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_3.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_4.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_5.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_6.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_7.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_8.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_9.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_10.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_11.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_12.fadeSound (SND_CHANNEL_ANY, -60, 5); + $hhs_13.fadeSound (SND_CHANNEL_ANY, -60, 5); + $speaker_60.fadeSound (SND_CHANNEL_ANY, -60, 5); + $speaker_64.fadeSound (SND_CHANNEL_ANY, -60, 5); + $speaker_67.fadeSound (SND_CHANNEL_ANY, -60, 5); + $speaker_70.fadeSound (SND_CHANNEL_ANY, -60, 5); + } + + void fade_final_room_up() { + $hhs_1.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_2.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_3.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_4.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_5.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_6.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_7.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_8.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_9.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_10.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_11.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_12.fadeSound (SND_CHANNEL_ANY, -1, 5); + $hhs_13.fadeSound (SND_CHANNEL_ANY, -1, 5); + $speaker_60.fadeSound (SND_CHANNEL_ANY, -1, 5); + $speaker_64.fadeSound (SND_CHANNEL_ANY, -1, 5); + $speaker_67.fadeSound (SND_CHANNEL_ANY, -1, 5); + $speaker_70.fadeSound (SND_CHANNEL_ANY, -1, 5); + } + + void fadeup_thread() { + $speaker_29.fadeSound (SND_CHANNEL_ANY, -60, 5); // Fade this speaker down first... + sys.wait (10); + thread fade_final_room_up(); + } + + void main () + { + //bind_objects(); + //init_world(); + sys.setcvar( "g_nightmare", "1" ); + cache_sounds(); + thread move_entrance_lift(); + thread fade_final_room_down(); + } +} diff --git a/base/script/map_marscity1.script b/base/script/map_marscity1.script new file mode 100644 index 00000000..49cbcd48 --- /dev/null +++ b/base/script/map_marscity1.script @@ -0,0 +1,341 @@ +namespace map_marscity1 { + + void cache_sounds() { + sys.cacheSoundShader ("mc1_scanner_rot1s"); + sys.cacheSoundShader ("mc1_scanner_3s_movement"); + sys.cacheSoundShader ("entrance_scanner_loop"); + sys.trigger ($speaker_mouse); // Turn it off... + } + + void toggle_intro_sounds() { + sys.print ("Toggling speakers\n"); + sys.trigger ($speaker_83); + sys.trigger ($speaker_84); + sys.trigger ($speaker_85); + sys.trigger ($speaker_86); + sys.trigger ($speaker_87); + sys.trigger ($speaker_88); + sys.trigger ($speaker_89); + sys.trigger ($speaker_90); + sys.trigger ($speaker_91); + sys.trigger ($speaker_92); + } + + //turret gun movement + void turret_loop() { + while(1) + { + $security_cannon.time( 3 ); + $security_cannon.accelTime( 0 ); + $security_cannon.decelTime( .25 ); + + $security_cannon.rotateOnce( '0 -30 0' ); + sys.waitFor($security_cannon); + + sys.wait(.5); + + $security_cannon.rotateOnce( '0 30 0' ); + sys.waitFor($security_cannon); + + sys.wait(.5); + } + } + + // mars city mice movers + void Startmouse1() { + while(1) + { + $mc_mouse1.time( 15 ); + $mc_mouse1.accelTime( 0 ); + $mc_mouse1.decelTime( 0 ); + sys.trigger ($speaker_mouse); // Turn it on... + $mc_mouse1.startSpline( $func_splinemover_3 ); + + sys.waitFor($mc_mouse1); + + sys.trigger ($speaker_mouse); // Turn it off... + + sys.wait(60); + $mc_mouse1.removeInitialSplineAngles(); + } + } + + // function for starting shutters1 sound + void sound_shutter1_start() + { + sys.trigger ($speaker_shutters); + } + + // function for stopping shutters1 sound + void sound_shutter1_stop() + { + //sys.trigger ($speaker_shutters); + } + + + void kitchenlightsoff() + { + sys.wait(1); + $kitchen_swinglight_1.fadeOutLight(2); + $kitchen_swinglight_2.fadeOutLight(2); + $kitchen_swinglight_3.fadeOutLight(2); + $kitchen_swinglight_4.fadeOutLight(2); + $kitchen_swinglight_5.fadeOutLight(2); + $kitchen_swinglight_6.fadeOutLight(2); + + } + + void windshutter1_open() + { + //start the kitchen lights fading + thread kitchenlightsoff(); + + /// starting shutter sound + thread sound_shutter1_start(); + + //might need this later + //$windshutter1_gui.setGuiParm( "gui_parm1" , windstatus1); + + //fade in the bounce lightlight + $shutter_bounce_light.fadeInLight(1.5); + + //times for shutters opening + $windshutter1_1.time(1.5); + $windshutter1_1.accelTime(1); + $windshutter1_1.decelTime(.5); + + $windshutter1_2.time(1.5); + $windshutter1_2.accelTime(1); + $windshutter1_2.decelTime(.5); + + // Going up + $windshutter1_1.rotateOnce( '180 0 0' ); + sys.wait(0.5); + $windshutter1_2.rotateOnce( '180 0 0' ); + sys.waitFor($windshutter1_2); + + + // stopping shutter sound + thread sound_shutter1_stop(); + } + + void kitchenlightson() + { + sys.wait(3); + $kitchen_swinglight_1.fadeInLight(2); + $kitchen_swinglight_2.fadeInLight(2); + $kitchen_swinglight_3.fadeInLight(2); + $kitchen_swinglight_4.fadeInLight(2); + $kitchen_swinglight_5.fadeInLight(2); + $kitchen_swinglight_6.fadeInLight(2); + + } + + void windshutter1_close() + { + + //start the kitchen lights fading + thread kitchenlightson(); + + // starting shutter sound + thread sound_shutter1_start(); + + // Fade bounce light + $shutter_bounce_light.fadeOutLight(3); + + + //times for shutters closing + $windshutter1_1.time(3); + $windshutter1_1.accelTime(2); + $windshutter1_1.decelTime(1); + + $windshutter1_2.time(3); + $windshutter1_2.accelTime(2); + $windshutter1_2.decelTime(1); + + // Going down + $windshutter1_1.rotateOnce( '-180 0 0' ); + sys.wait(0.25); + $windshutter1_2.rotateOnce( '-180 0 0' ); + sys.waitFor($windshutter1_2); + + // stopping shutter sound + thread sound_shutter1_stop(); + } + + //////////////////////////////////////////////////// + // + // Mars City Bio Scanners + // + //////////////////////////////////////////////////// + void bioscan_lockdoors () + { + //close both doors + $func_door_1.close(); + $func_door_9.close(); + + //lock both doors + $func_door_1.lock(2); + $func_door_9.lock(2); + + //trigger the relay to remove things in the Hangar + sys.trigger ( $trigger_remove_floods ); + + //change gui and shader parms on doors + $func_static_4456.setShaderParm (7, 0); + $func_static_929.setShaderParm (7, 0); + $func_door_1.setGuiParm ( "gui_parm3" , 0); + $func_door_1.setShaderParm (7, 0); + $func_door_9.setGuiParm ( "gui_parm3" , 0); + $func_door_9.setShaderParm (7, 0); + } + + void bioscan_opendoor () + { + //trigger the lights to fade + sys.trigger($bioscan_fadein); + + //slight delay to make sure the sentry is in motion + //before the doors open + sys.wait(.85); + + //unlock door + $func_door_9.lock(0); + + //open door + $func_door_9.open(); + + //lock the little room door + $func_door_11.lock(2); + + //change gui parms on doors + $func_door_9.setGuiParm ( "gui_parm3" , 1); + $func_door_9.setShaderParm (7, 1); + $func_static_4456.setShaderParm (7, 1); + + toggle_intro_sounds(); // Trigger the start sounds on when the player gets to this point + turret_loop(); // Start the turret looping here... + } + + void bioscan_go () + { + //trigger the particles + $scan_lazmodel_1.startSoundShader ("entrance_scanner_loop", SND_CHANNEL_VOICE ); + $scan_lazmodel_2.startSoundShader ("entrance_scanner_loop", SND_CHANNEL_VOICE ); + sys.trigger($scan_particle_1); + sys.trigger($scan_particle_2); + + //change the gui on bioscanner + sys.trigger($bio_scanner); + + //trigger the lights to fade + sys.trigger($bioscan_fadeout); + + sys.wait(.4); + + //trigger the laser models to unhide them + + sys.trigger($scan_lazmodel_1); + sys.trigger($scan_lazmodel_2); + + //set times + //up 64 scan_anchor + + $scan_anchor.time (1); + $scan_anchor.startSoundShader ("mc1_scanner_3s_movement", SND_CHANNEL_VOICE); + + $scan_anchor.move ( UP, 64 ); + sys.waitFor ($scan_anchor); + + //rotate 90 scan_anchor + $scan_anchor.rotateOnce ( '0 0 -90' ); + sys.waitFor ($scan_anchor); + + //move 24 scan_anchor + $scan_anchor.move ( SOUTH, -24 ); + sys.waitFor ($scan_anchor); + + //rotate 720 scan_thing_1 + $scan_thing_1.startSoundShader ("mc1_scanner_rot1s", SND_CHANNEL_VOICE); + $scan_thing_1.rotateOnce ( '360 0 0' ); + + + //rotate 720 scan_thing_2 + $scan_thing_2.startSoundShader ("mc1_scanner_rot1s", SND_CHANNEL_VOICE); + $scan_thing_2.rotateOnce ( '360 0 0' ); + + //wait for rotating to stop and a bit extra + sys.waitFor ($scan_thing_1); + sys.wait (1); + + //move 24 scan_anchor + $scan_anchor.startSoundShader ("mc1_scanner_3s_movement", SND_CHANNEL_VOICE); + $scan_anchor.move ( SOUTH, 24 ); + sys.waitFor ($scan_anchor); + + //rotate 90 scan_anchor + $scan_anchor.rotateOnce ( '0 0 90' ); + sys.waitFor ($scan_anchor); + + //down 64 scan_anchor + $scan_anchor.move ( DOWN, 64 ); + sys.waitFor ($scan_anchor); + + //trigger the particles + + sys.trigger($scan_particle_1); + + sys.trigger($scan_particle_2); + + sys.wait(2); + + //trigger the laser models to hide them + $scan_lazmodel_1.stopSound (SND_CHANNEL_VOICE, false); + sys.trigger($scan_lazmodel_1); + $scan_lazmodel_2.stopSound (SND_CHANNEL_VOICE, false); + sys.trigger($scan_lazmodel_2); + + } + + void bioscan_noreturn () + { + //close both doors + $func_door_9.close(); + + //lock both doors + $func_door_9.lock(2); + + //change gui parms on doors + $func_door_9.setGuiParm ( "gui_parm3" , 0); + $func_door_9.setShaderParm (7, 0); + $func_static_4456.setShaderParm (7, 0); + } + + void show_pda () + { + $player_pda.show(); + } + + //move fog brush in the hanger + void move_hangar_fog () + { + $hanger_fog_mover.time( 5 ); + $hanger_fog_mover.move( UP, 320 ); + } + + + + + //////////////////////////////////////////////////// + // + // MAIN + // + //////////////////////////////////////////////////// + void main () { + cache_sounds(); + + //setup_objects (); + //init_world(); + + } +} \ No newline at end of file diff --git a/base/script/map_marscity2.script b/base/script/map_marscity2.script new file mode 100644 index 00000000..4ded4cd7 --- /dev/null +++ b/base/script/map_marscity2.script @@ -0,0 +1,61 @@ +namespace map_marscity2 +{ + + float request_speaker = 1; + + + void lower_airlock_ladder() + { + sys.wait( 2 ); + sys.trigger( $snd_ladder_move ); + $airlock_ladder.move( DOWN, 102 ); + } + + void video_request_speaker() + { + float sound_length; + + while (request_speaker == 1) + { + sound_length = $speaker_280.startSoundShader ("marscity2_comp_vidconnect_req", SND_CHANNEL_VOICE2 ); + sys.wait (sound_length); + sys.wait( 1 ); + } + } + + void connect_sarge_speaker() + { + request_speaker = 0; + $speaker_280.stopSound ( SND_CHANNEL_VOICE2, false ); + sys.trigger( $sarge_monitor ); + //sys.wait( 1.5 ); + sys.trigger( $speaker_281 ); + sys.wait( .25); + sys.trigger( $speaker_282 ); + sys.trigger( $sarge_monitor ); + sys.trigger( $trigger_relay_111 ); + } + + void loop_steamblast1() + { + while (1) + { + sys.trigger( $steamblast_1 ); + sys.trigger( $steamblast_1_snd ); + sys.wait( 2 ); + sys.trigger( $steamblast_1 ); + sys.trigger( $steamblast_1_snd ); + sys.wait( 7 ); + } + } + + //********************************* + // MAIN + //********************************* + void main() + { + thread video_request_speaker(); + //setup_objects (); + //init_world(); + } +} diff --git a/base/script/map_mc_underground.script b/base/script/map_mc_underground.script new file mode 100644 index 00000000..53103286 --- /dev/null +++ b/base/script/map_mc_underground.script @@ -0,0 +1,2693 @@ +namespace map_mc_underground { + + // global state variables + float saftey_bridge_state = 1; + float underarm_work_state = 1; + float underarm_fingers_state = -64; + + // variable to track crane movement state + float crane_main_state = 0; + float crane_dir = 0; + + // Start Xian Stuff + + void cache_sounds() { + sys.cacheSoundShader ("mset1_movement"); + sys.cacheSoundShader ("mset1_stop"); + sys.cacheSoundShader ("mset2_movement"); + sys.cacheSoundShader ("mset2_stop"); + + sys.cacheSoundShader ("m1_start"); + sys.cacheSoundShader ("m1_loop"); + sys.cacheSoundShader ("m1_stop"); + + sys.cacheSoundShader ("mcu_support_2s"); + sys.cacheSoundShader ("mcu_safteybridge_02"); + sys.cacheSoundShader ("mcu_safteybridge_01"); + sys.cacheSoundShader ("msmall_pounder"); + sys.cacheSoundShader ("servo_1s_01"); + sys.cacheSoundShader ("servo_1s_02"); + sys.cacheSoundShader ("mech_fingers_1_5s"); + sys.cacheSoundShader ("airwhomp"); + sys.cacheSoundShader ("something_interesting"); + sys.cacheSoundShader ("something_interesting_2"); + sys.cacheSoundShader ("metalbounce_1"); + sys.cacheSoundShader ("metalbounce_2"); + sys.cacheSoundShader ("guisounds_pingup"); + + sys.cacheSoundShader ("steelswing_01"); + sys.cacheSoundShader ("steelswing_02"); + sys.cacheSoundShader ("steelswing_03"); + sys.cacheSoundShader ("steelswing_04"); + sys.cacheSoundShader ("steelswing_05"); + sys.cacheSoundShader ("wiresnap"); + sys.cacheSoundShader ("mc_hellblast_explosion"); + sys.cacheSoundShader ("mc_leatherface"); + sys.cacheSoundShader ("mc_invasion_stuff"); + sys.cacheSoundShader ("mc_substing_01"); + sys.cacheSoundShader ("mc_substing_02"); + } + + // This function triggers sounds to alter the soundscape after the invasion + void post_invasion_sounds() { + sys.trigger ($hspeaker_1); + sys.trigger ($hspeaker_2); + sys.trigger ($hspeaker_3); + sys.trigger ($hspeaker_4); + sys.trigger ($hspeaker_5); + sys.trigger ($hspeaker_6); + sys.trigger ($hspeaker_7); + sys.trigger ($hspeaker_8); + } + + void mover_startsound (entity ent) { + ent.startSoundShader ("m1_start", SND_CHANNEL_VOICE); + sys.wait (0.75); + ent.startSoundShader ("m1_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound (entity ent) { + ent.startSoundShader ("m1_stop", SND_CHANNEL_VOICE2); + } + + // End Xian Stuff + + + //////////////////////////////////////////////////// + // + // Setup binds and times etc... + // + //////////////////////////////////////////////////// + void setup_objects() + { + //rotate crane initially + $crane_main.rotateOnce('0 80 0'); + + //set initial crane times + $crane_main.time (6); + $crane_main.accelTime (3); + $crane_main.decelTime (2); + + $crane_carrier.bind ($crane_main); + $crane_carrier_load.bind ($crane_carrier); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_remote_panel.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + + //rotate the two klaxon lights + $emrredlight1_mover.rotateOnce('0 0 45'); + $emrredlight2_mover.rotateOnce('0 0 45'); + + //set airlock door guis initial states to 1 + $airlock1_door1_gui.setGuiParm ( "gui_parm1" , 1); + $airlock1_door2_gui.setGuiParm ( "gui_parm1" , 1); + + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 1); + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 1); + + //underarm setup + $underarm_top.bind ($underarm_carrier); + $underarm_upper.bind ($underarm_top); + $underarm_lower.bind ($underarm_upper); + $underarm_fingers.bind ($underarm_lower); + $underarm_tube.bind ($underarm_lower); + $underarm_tube_light.bind ($underarm_tube); + + $underarm_upper.accelTime (.2); + $underarm_lower.accelTime (.2); + $underarm_upper.decelTime (.2); + $underarm_lower.decelTime (.2); + + $underarm_carrier.speed (150); + $underarm_carrier.accelTime (.25); + $underarm_carrier.decelTime (.25); + + $underarm_fingers.time (.01); + + $underarm_tube.setColor ( 1, 0, 0 ); + $underarm_tube_light.setColor ( 1, 0, 0 ); + $underarm_can_1.setColor ( 1, 0, 0 ); + $underarm_can_1_light.setColor ( 1, 0, 0 ); + $underarm_can_2.setColor ( 1, 0, 0 ); + $underarm_can_2_light.setColor ( 1, 0, 0 ); + + //fingers to up pose + while ( underarm_fingers_state < 0 ){ + $underarm_fingers.move ( UP, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state += 1; + } + + //arm to storage pose + $underarm_upper.rotateOnce ( '0 0 90' ); + $underarm_lower.rotateOnce ( '0 0 -90' ); + sys.waitFor ($underarm_lower); + + + //howitzer setup + $how1_barrel.bind ($how1_base); + $how1_recep.bind ($how1_base); + $how1_catcher.bind ($how1_base); + $how1_base.rotateOnce ( '0 0 45' ); + + $how2_barrel.bind ($how2_base); + $how2_recep.bind ($how2_base); + $how2_catcher.bind ($how2_base); + $how2_base.rotateOnce ( '0 0 45' ); + + $how3_barrel.bind ($how3_base); + $how3_recep.bind ($how3_base); + $how3_catcher.bind ($how3_base); + $how3_base.rotateOnce ( '0 0 45' ); + + sys.waitFor($how1_base); + + //crankshaft initial bind and rotate + $mc_pistrod1.bind ($mc_assembly_midpoint); + $mc_pistrod2.bind ($mc_assembly_midpoint); + $mc_pistrod3.bind ($mc_assembly_midpoint); + + $mc_piston1.bind ($mc_assembly_midpoint); + $mc_piston2.bind ($mc_assembly_midpoint); + $mc_piston3.bind ($mc_assembly_midpoint); + + $mc_crankshaft.bind ($mc_assembly_midpoint); + + $mc_assembly_midpoint.rotateOnce ( '-135 0 0' ); + sys.waitFor ($mc_assembly_midpoint); + + //crankshaft binds and times + $mc_pistrod1.bind ($mc_piston1); + $mc_pistrod2.bind ($mc_piston2); + $mc_pistrod3.bind ($mc_piston3); + + $mc_piston1.time (.125); + $mc_pistrod1.time (.125); + $mc_piston2.time (.125); + $mc_pistrod2.time (.125); + $mc_piston3.time (.125); + $mc_pistrod3.time (.125); + $mc_crankshaft.time (.125); + + //little piston machine binds and times + $pistrod1.bind ($piston1); + $pistrod2.bind ($piston2); + $pistrod3.bind ($piston3); + + $piston1.time (.125); + $pistrod1.time (.125); + $piston2.time (.125); + $pistrod2.time (.125); + $piston3.time (.125); + $pistrod3.time (.125); + $crankshaft.time (.125); + } + + + void safety_rails_down () + { + //set rail 1 times + $safety_rail_1.time( 1 ); + $safety_rail_1.accelTime( .25 ); + $safety_rail_1.decelTime( .25 ); + + //rails down + $safety_rail_1.move( DOWN, 40 ); + } + + void safety_rails_up () + { + //set rail 1 times + $safety_rail_1.time( 1 ); + $safety_rail_1.accelTime( .25 ); + $safety_rail_1.decelTime( .25 ); + + //rails up + $safety_rail_1.move( UP, 40 ); + } + + + + //////////////////////////////////////////////////// + // + // Saftey Bridge AWAY PAIR + // this will put the bridge piece and it's partner + // in the away position + // + //////////////////////////////////////////////////// + void saftey_bridge_away_pair(float bridge_number) + { + entity bh1, bh2, bf1, bf2; + + bh1=sys.getEntity ("saftey_bridge_holder_" + bridge_number ); + bh2=sys.getEntity ("saftey_bridge_holder_" + (bridge_number+1) ); + + bf1=sys.getEntity ("saftey_bridge_floorpiece_" + bridge_number ); + bf2=sys.getEntity ("saftey_bridge_floorpiece_" + (bridge_number+1) ); + + bf1.bind (bh1); + bf2.bind (bh2); + + bh1.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2); + + bh1.rotateOnce ( '45 0 0' ); + bh2.rotateOnce ( '-45 0 0' ); + sys.waitFor (bh1); + + bf1.unbind (); + bf2.unbind (); + + bf1.startSoundShader ("mcu_safteybridge_02", SND_CHANNEL_VOICE2 ); + + bf1.move ( REL_FORWARD, 256 ); + bf2.move ( REL_BACK, 256 ); + sys.waitFor (bf1); + + bh1.startSoundShader ("mcu_safteybridge_01", SND_CHANNEL_VOICE ); + bh1.rotateOnce ( '-135 0 0' ); + bh2.rotateOnce ( '135 0 0' ); + sys.waitFor (bh1); + + if (bridge_number==7){ + //sys.print( "\nlast bridge is done\n" ); + saftey_bridge_state = 0; + $saftey_bridge_gui.setGuiParm ( "gui_parm1" , 1); + //sys.print( "setting bridge gui parm \n" ); + $underarm_centralight2.fadeInLight (1); + $underarm_centralight1.fadeInLight (1); + } + + } + + + //////////////////////////////////////////////////// + // + // Saftey Bridge FORTH_PAIR + // this will put the bridge piece and it's partner + // in the traversable position + // + //////////////////////////////////////////////////// + void saftey_bridge_forth_pair(float bridge_number) + { + entity bh1, bh2, bf1, bf2; + + bh1=sys.getEntity ("saftey_bridge_holder_" + bridge_number ); + bh2=sys.getEntity ("saftey_bridge_holder_" + (bridge_number+1) ); + + bf1=sys.getEntity ("saftey_bridge_floorpiece_" + bridge_number ); + bf2=sys.getEntity ("saftey_bridge_floorpiece_" + (bridge_number+1) ); + + + + bh1.startSoundShader ("mcu_safteybridge_01", SND_CHANNEL_VOICE ); + bh1.rotateOnce ( '135 0 0' ); + bh2.rotateOnce ( '-135 0 0' ); + sys.waitFor (bh1); + + bf1.unbind (); + bf2.unbind (); + + bf1.startSoundShader ("mcu_safteybridge_02", SND_CHANNEL_VOICE2 ); + bf1.move ( REL_BACK, 256 ); + bf2.move ( REL_FORWARD, 256 ); + + sys.waitFor (bf1); + + bf1.bind (bh1); + bf2.bind (bh2); + bh1.time ( 2 ); + bh2.time ( 2 ); + bh1.accelTime ( 1 ); + bh2.accelTime ( 1 ); + bh1.decelTime ( 0 ); + bh2.decelTime ( 0 ); + + bh1.startSoundShader ("mcu_support_2s", SND_CHANNEL_VOICE2); + + bh1.rotateOnce ( '-45 0 0' ); + bh2.rotateOnce ( '45 0 0' ); + sys.waitFor (bh1); + + //bounce it + bh1.time( .15 ); + bh2.time( .15 ); + bh1.accelTime( 0 ); + bh2.accelTime( 0 ); + bh1.decelTime( .15 ); + bh2.decelTime( .15 ); + bh1.startSoundShader ("metalbounce_1", SND_CHANNEL_VOICE ); + bh1.rotateOnce( '.75 0 0' ); + bh2.rotateOnce( '-.75 0 0' ); + sys.waitFor (bh1); + + bh1.time( .15 ); + bh2.time( .15 ); + bh1.accelTime( .15 ); + bh2.accelTime( .15 ); + bh1.decelTime( 0 ); + bh2.decelTime( 0 ); + //bh1.startSoundShader ("metalbounce_2", SND_CHANNEL_VOICE2 ); + bh1.rotateOnce( '-.75 0 0' ); + bh2.rotateOnce( '.75 0 0' ); + sys.waitFor (bh1); + + bh1.time ( 2 ); + bh2.time ( 2 ); + bh1.accelTime ( .5 ); + bh2.accelTime ( .5 ); + bh1.decelTime ( .5 ); + bh2.decelTime ( .5 ); + bf1.unbind (); + bf2.unbind (); + + if (bridge_number==1){ + saftey_bridge_state = 1; + $saftey_bridge_gui.setGuiParm ( "gui_parm1" , 2); + $underarm_centralight2.fadeOutLight (1); + $underarm_centralight1.fadeOutLight (1); + } + } + + //////////////////////////////////////////////////// + // + // Saftey Bridge AWAY + // this will put the bridge in the away position + // + //////////////////////////////////////////////////// + void saftey_bridge_away() + { + float thread1; + + if (saftey_bridge_state == 1){ + //set the bridge state to prevent reuse + $saftey_bridge_gui.setGuiParm ( "gui_parm1" , 0); + saftey_bridge_state = 9; + + thread saftey_bridge_away_pair(1); + sys.wait (1); + + thread saftey_bridge_away_pair(3); + sys.wait (1); + + thread saftey_bridge_away_pair(5); + sys.wait (1); + + thread1 = thread saftey_bridge_away_pair(7); + sys.waitForThread( thread1); + + //trigger the aas + sys.trigger ($bridge_aas); + + //rails up + safety_rails_up (); + + } else { + //sys.print ("bridge already away\n"); + ; + } + } + + + + //////////////////////////////////////////////////// + // + // Saftey Bridge FORTH + // this will put the bridge in the traversalbe position + // + //////////////////////////////////////////////////// + void saftey_bridge_forth() + { + float thread1; + //sys.print( "saftey_bridge_state = " + saftey_bridge_state + "\n" ); + if (saftey_bridge_state == 0){ + + //rails down + safety_rails_down (); + + //set the bridge state to prevent reuse + $saftey_bridge_gui.setGuiParm ( "gui_parm1" , 0); + saftey_bridge_state = 9; + + thread saftey_bridge_forth_pair(7); + sys.wait (1); + + thread saftey_bridge_forth_pair(5); + sys.wait (1); + + thread saftey_bridge_forth_pair(3); + sys.wait (1); + + thread1 = thread saftey_bridge_forth_pair(1); + sys.waitForThread( thread1); + + //trigger the aas + sys.trigger ($bridge_aas); + //sys.print ("bridge aas should be on\n"); + + } else { + //sys.print ("bridge already out\n"); + ; + } + } + + + //////////////////////////////////////////////////// + // + // Rotary movement - the two big rotating + // light chambers + // + //////////////////////////////////////////////////// + void rotary() + { + $fly_around_light.bind ($fly_around_main); + $fly_around_speaker.bind ($fly_around_main); + $fly_around_end.bind ($fly_around_main); + + $fly_around_main.rotate ( '0 100 0' ); + $fly_around_middle.rotate ( '0 100 0' ); + + $fly_around2_light.bind ($fly_around2_main); + $fly_around2_speaker.bind ($fly_around2_main); + $fly_around2_end.bind ($fly_around2_main); + + $fly_around2_main.rotate ( '0 -100 0' ); + $fly_around2_middle.rotate ( '0 -100 0' ); + } + + + + //////////////////////////////////////////////////// + // + // howitzer #1 movement ... this is the 1st of + // the big piston like rods + // + //////////////////////////////////////////////////// + void howitzer_1() + { + //random numbers to keep howitzers unsynced + float ran1,ran2; + ran1=sys.random(1); + ran2=sys.random(1); + + while (1){ + //move the catcher up 8 for the recoil action + $how1_catcher.time (.4); + $how1_catcher.accelTime (.2); + $how1_catcher.decelTime (.2); + + $how1_barrel.time (.4); + $how1_barrel.accelTime (.2); + $how1_barrel.decelTime (.2); + + $how1_barrel.move ( UP, 10 ); + $how1_catcher.move ( UP, 10 ); + sys.waitFor ($how1_barrel); + sys.wait (ran1+1); + + //move the barrel upwards slowly + $how1_barrel.time (3+ran2); + $how1_barrel.accelTime (0); + $how1_barrel.decelTime (2); + + $how1_barrel.startSoundShader ("mset2_movement", SND_CHANNEL_VOICE); + $how1_barrel.move ( UP, 128 ); + sys.waitFor ($how1_barrel); + $how1_barrel.stopSound ( SND_CHANNEL_VOICE, false ); + $how1_barrel.startSoundShader ("mset2_stop", SND_CHANNEL_VOICE2); + + //fire the barrel backwards quickly + $how1_barrel.time (.25); + $how1_barrel.accelTime (.2); + $how1_barrel.decelTime (0); + + + $how1_barrel.move ( DOWN, 128 ); + sys.waitFor ($how1_barrel); + + $how1_barrel.startSoundShader ("msmall_pounder", SND_CHANNEL_ANY); + + + //catch the barrel in the catcher... down 8 + $how1_catcher.time (.1); + $how1_catcher.accelTime (0); + $how1_catcher.decelTime (.1); + + $how1_barrel.time (.1); + $how1_barrel.accelTime (0); + $how1_barrel.decelTime (.1); + + $how1_barrel.move ( DOWN, 10 ); + $how1_catcher.move ( DOWN, 10 ); + //sys.trigger ($how1_steam_1); + sys.waitFor ($how1_barrel); + } + } + + + //////////////////////////////////////////////////// + // + // howitzer #2 movement ... this is the 2nd of + // the big piston like rods + // + //////////////////////////////////////////////////// + void howitzer_2() + { + //random numbers to keep howitzers unsynced + float ran1,ran2; + ran1=sys.random(1); + ran2=sys.random(1); + + while (1){ + //move the catcher up 8 for the recoil action + $how2_catcher.time (.4); + $how2_catcher.accelTime (.2); + $how2_catcher.decelTime (.2); + + $how2_barrel.time (.4); + $how2_barrel.accelTime (.2); + $how2_barrel.decelTime (.2); + + $how2_barrel.move ( UP, 10 ); + $how2_catcher.move ( UP, 10 ); + sys.waitFor ($how2_barrel); + sys.wait (ran1+1); + + //move the barrel upwards slowly + $how2_barrel.time (3+ran2); + $how2_barrel.accelTime (0); + $how2_barrel.decelTime (2); + + $how2_barrel.startSoundShader ("mset1_movement", SND_CHANNEL_VOICE); + $how2_barrel.move ( UP, 128 ); + sys.waitFor ($how2_barrel); + $how2_barrel.stopSound ( SND_CHANNEL_VOICE, false ); + $how2_barrel.startSoundShader ("mset1_stop", SND_CHANNEL_VOICE2); + + //fire the barrel backwards quickly + $how2_barrel.time (.25); + $how2_barrel.accelTime (.2); + $how2_barrel.decelTime (0); + + $how2_barrel.startSoundShader ("msmall_pounder", SND_CHANNEL_ANY); + $how2_barrel.move ( DOWN, 128 ); + sys.waitFor ($how2_barrel); + + //catch the barrel in the catcher... down 8 + $how2_catcher.time (.1); + $how2_catcher.accelTime (0); + $how2_catcher.decelTime (.1); + + $how2_barrel.time (.1); + $how2_barrel.accelTime (0); + $how2_barrel.decelTime (.1); + + $how2_barrel.move ( DOWN, 10 ); + $how2_catcher.move ( DOWN, 10 ); + //sys.trigger ($how2_steam_1); + sys.waitFor ($how2_barrel); + } + } + + + //////////////////////////////////////////////////// + // + // howitzer #3 movement ... this is the 3rd of + // the big piston like rods + // + //////////////////////////////////////////////////// + void howitzer_3() + { + //random numbers to keep howitzers unsynced + float ran1,ran2; + ran1=sys.random(.5); + ran2=sys.random(.35); + + while (1){ + //move the catcher up 8 for the recoil action + $how3_catcher.time (.4); + $how3_catcher.accelTime (.2); + $how3_catcher.decelTime (.2); + + $how3_barrel.time (.4); + $how3_barrel.accelTime (.2); + $how3_barrel.decelTime (.2); + + $how3_barrel.move ( UP, 10 ); + $how3_catcher.move ( UP, 10 ); + sys.waitFor ($how3_barrel); + sys.wait (ran1+1); + + //move the barrel upwards slowly + $how3_barrel.time (3+ran2); + $how3_barrel.accelTime (0); + $how3_barrel.decelTime (2); + + $how3_barrel.startSoundShader ("mset2_movement", SND_CHANNEL_VOICE); + $how3_barrel.move ( UP, 128 ); + sys.waitFor ($how3_barrel); + $how3_barrel.stopSound ( SND_CHANNEL_VOICE, false ); + $how3_barrel.startSoundShader ("mset2_stop", SND_CHANNEL_VOICE2); + + //fire the barrel backwards quickly + $how3_barrel.time (.25); + $how3_barrel.accelTime (.2); + $how3_barrel.decelTime (0); + + $how3_barrel.startSoundShader ("msmall_pounder", SND_CHANNEL_ANY); + $how3_barrel.move ( DOWN, 128 ); + sys.waitFor ($how3_barrel); + + //catch the barrel in the catcher... down 8 + $how3_catcher.time (.1); + $how3_catcher.accelTime (0); + $how3_catcher.decelTime (.1); + + $how3_barrel.time (.1); + $how3_barrel.accelTime (0); + $how3_barrel.decelTime (.1); + + $how3_barrel.move ( DOWN, 10 ); + $how3_catcher.move ( DOWN, 10 ); + //sys.trigger ($how3_steam_1); + sys.waitFor ($how3_barrel); + } + } + + + + //////////////////////////////////////////////////// + // + // point to point pipe piston movement + // + //////////////////////////////////////////////////// + void pipe_piston_move() + { + //setup + $pipe_piston_p2p.time (.4); + $pipe_piston_p2p.accelTime (.1); + $pipe_piston_p2p.decelTime (.15); + $pipe_piston_p1p.time (.7); + $pipe_piston_p1p.accelTime (.1); + $pipe_piston_p1p.decelTime (.15); + $pipe_piston_p3p.time (.35); + $pipe_piston_p3p.accelTime (.1); + $pipe_piston_p3p.decelTime (.15); + + while (1){ + $pipe_piston_p1p.moveTo ( $p1p1 ); + $pipe_piston_p2p.moveTo ( $p2p2 ); + $pipe_piston_p3p.moveTo ( $p3p1 ); + sys.waitFor($pipe_piston_p2p); + + $pipe_piston_p1p.moveTo ( $p1p2 ); + $pipe_piston_p2p.moveTo ( $p2p1 ); + $pipe_piston_p3p.moveTo ( $p3p2 ); + sys.waitFor($pipe_piston_p2p); + } + } + + + + //////////////////////////////////////////////////// + // + // piston movement + // + //////////////////////////////////////////////////// + void crankshaft_move () + { + while (1) //begin while + { + $mc_piston1.move ( REL_UP, 30 ); + $mc_pistrod1.rotateOnce ( '26.56 0 0' ); + $mc_piston2.move ( REL_DOWN, 30 ); + $mc_pistrod2.rotateOnce ( '-26.56 0 0' ); + $mc_piston3.move ( REL_UP, 30 ); + $mc_pistrod3.rotateOnce ( '26.56 0 0' ); + $mc_crankshaft.rotateOnce ( '90 0 0' ); + sys.waitFor ($mc_piston1); + + $mc_piston1.move ( REL_UP, 30 ); + $mc_pistrod1.rotateOnce ( '-26.56 0 0' ); + $mc_piston2.move ( REL_DOWN, 30 ); + $mc_pistrod2.rotateOnce ( '26.56 0 0' ); + $mc_piston3.move ( REL_UP, 30 ); + $mc_pistrod3.rotateOnce ( '-26.56 0 0' ); + $mc_crankshaft.rotateOnce ( '90 0 0' ); + sys.waitFor ($mc_piston1); + + $mc_piston1.move ( REL_DOWN, 30 ); + $mc_pistrod1.rotateOnce ( '-26.56 0 0' ); + $mc_piston2.move ( REL_UP, 30 ); + $mc_pistrod2.rotateOnce ( '26.56 0 0' ); + $mc_piston3.move ( REL_DOWN, 30 ); + $mc_pistrod3.rotateOnce ( '-26.56 0 0' ); + $mc_crankshaft.rotateOnce ( '90 0 0' ); + sys.waitFor ($mc_piston1); + + $mc_piston1.move ( REL_DOWN, 30 ); + $mc_pistrod1.rotateOnce ( '26.56 0 0' ); + $mc_piston2.move ( REL_UP, 30 ); + $mc_pistrod2.rotateOnce ( '-26.56 0 0' ); + $mc_piston3.move ( REL_DOWN, 30 ); + $mc_pistrod3.rotateOnce ( '26.56 0 0' ); + $mc_crankshaft.rotateOnce ( '90 0 0' ); + sys.waitFor ($mc_pistrod1); + } //end while + } + + + + //////////////////////////////////////////////////// + // + // little first room machine + // + //////////////////////////////////////////////////// + void lilfrm_move () + { + $lilfrm_part1.time (.25); + $lilfrm_part2.time (.4); + $lilfrm_part3.time (.3); + $lilfrm_part4.time (.35); + $lilfrm_part5.time (.4); + + while (1) //begin main while + { + $lilfrm_part1.rotateOnce ( '0 0 2' ); + $lilfrm_part2.rotateOnce ( '0 0 2' ); + $lilfrm_part3.rotateOnce ( '0 0 -2' ); + $lilfrm_part4.rotateOnce ( '0 0 -2' ); + $lilfrm_part5.rotateOnce ( '0 0 -2' ); + sys.waitFor ($lilfrm_part1); + $lilfrm_part1.rotateOnce ( '0 0 -2' ); + $lilfrm_part2.rotateOnce ( '0 0 -2' ); + $lilfrm_part3.rotateOnce ( '0 0 2' ); + $lilfrm_part4.rotateOnce ( '0 0 2' ); + $lilfrm_part5.rotateOnce ( '0 0 2' ); + sys.waitFor ($lilfrm_part1); + } //end main while + } + + + + //////////////////////////////////////////////////// + // + // red light thing + // + //////////////////////////////////////////////////// + void redthing_move () + { + $redthing_mover.time ( 1 ); + $redthing_mover.accelTime ( .25 ); + $redthing_mover.decelTime ( .25 ); + + float ran1; + + while (1) //begin main while + { + ran1=sys.random(3); + + if (ran1<1){ + $redthing_mover.moveTo ($redlightpoint_1); + sys.waitFor ($redthing_mover); + } else if (ran1<2) { + $redthing_mover.moveTo ($redlightpoint_2); + sys.waitFor ($redthing_mover); + } else { + $redthing_mover.moveTo ($redlightpoint_3); + sys.waitFor ($redthing_mover); + } + + } //end main while + } + + + //////////////////////////////////////////////////// + // + // underarm_can_1_manip + // + //////////////////////////////////////////////////// + void underarm_can_1_manip() + { + if (underarm_work_state == 0){ + return; + } + + //move to sopt can 1 + + thread mover_startsound ($underarm_carrier); + + $underarm_carrier.moveTo ($underarm_spot_can1); + sys.waitFor ($underarm_carrier); + mover_stopsound ($underarm_carrier); + + + if (underarm_work_state == 0){ + return; + } + + //arm down + $underarm_upper.startSoundShader ("servo_1s_01", SND_CHANNEL_VOICE ); + $underarm_upper.rotateOnce ( '0 0 -90' ); + $underarm_lower.startSoundShader ("servo_1s_02", SND_CHANNEL_VOICE ); + $underarm_lower.rotateOnce ( '0 0 90' ); + sys.waitFor ($underarm_lower); + + //fingers to down pose + $underarm_fingers.startSoundShader ("mech_fingers_1_5s", SND_CHANNEL_VOICE ); + while ( underarm_fingers_state > -64 ){ + $underarm_fingers.move ( DOWN, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state -= 1; + } + + //bind can 1 to fingers + $underarm_can_1.bind ($underarm_fingers); + + //fingers to up pose + $underarm_tube.startSoundShader ("airwhomp", SND_CHANNEL_VOICE2 ); + $underarm_fingers.startSoundShader ("mech_fingers_1_5s", SND_CHANNEL_VOICE ); + while ( underarm_fingers_state < 0 ){ + $underarm_fingers.move ( UP, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state += 1; + } + + //do something interesting + $underarm_tube.startSoundShader ("something_interesting", SND_CHANNEL_VOICE ); + thread crossFadeEnt ($underarm_tube, '1 0 0', '.5 1 1', 1.75); + thread crossFadeEnt ($underarm_tube_light, '1 0 0', '.5 1 1', 1.75); + thread crossFadeEnt ($underarm_can_1, '1 0 0', '.5 1 1', 1.75); + thread crossFadeEnt ($underarm_can_1_light, '1 0 0', '.5 1 1', 1.75); + + sys.wait (2); + + //fingers to down pose + $underarm_fingers.startSoundShader ("mech_fingers_1_5s", SND_CHANNEL_VOICE ); + $underarm_tube.startSoundShader ("something_interesting_2", SND_CHANNEL_VOICE ); + while ( underarm_fingers_state > -64 ){ + $underarm_fingers.move ( DOWN, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state -= 1; + } + + //unbind can 1 from fingers + $underarm_can_1.unbind (); + + + //fingers to up pose + + + $underarm_fingers.startSoundShader ("mech_fingers_1_5s", SND_CHANNEL_VOICE ); + while ( underarm_fingers_state < 0 ){ + $underarm_fingers.move ( UP, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state += 1; + } + + //turn tube back to red + + thread crossFadeEnt ($underarm_tube, '.5 1 1', '1 0 0', 1.75); + thread crossFadeEnt ($underarm_tube_light, '.5 1 1', '1 0 0', 1.75); + thread crossFadeEnt ($underarm_can_1, '.5 1 1', '1 0 0', 2); + thread crossFadeEnt ($underarm_can_1_light, '.5 1 1', '1 0 0', 2); + + //arm up + $underarm_upper.startSoundShader ("servo_1s_01", SND_CHANNEL_VOICE ); + $underarm_upper.rotateOnce ( '0 0 90' ); + $underarm_lower.startSoundShader ("servo_1s_02", SND_CHANNEL_VOICE ); + $underarm_lower.rotateOnce ( '0 0 -90' ); + sys.waitFor ($underarm_lower); + } + + + + //////////////////////////////////////////////////// + // + // underarm_can_2_manip + // + //////////////////////////////////////////////////// + void underarm_can_2_manip() + { + if (underarm_work_state == 0){ + return; + } + + //move to sopt can 2 + + thread mover_startsound ($underarm_carrier); + + $underarm_carrier.moveTo ($underarm_spot_can2); + sys.waitFor ($underarm_carrier); + mover_stopsound ($underarm_carrier); + + if (underarm_work_state == 0){ + return; + } + + //arm down + $underarm_upper.startSoundShader ("servo_1s_01", SND_CHANNEL_VOICE ); + $underarm_upper.rotateOnce ( '0 0 -90' ); + $underarm_lower.startSoundShader ("servo_1s_02", SND_CHANNEL_VOICE ); + $underarm_lower.rotateOnce ( '0 0 90' ); + sys.waitFor ($underarm_lower); + + //fingers to down pose + while ( underarm_fingers_state > -64 ){ + $underarm_fingers.move ( DOWN, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state -= 1; + } + + //bind can 2 to fingers + $underarm_can_2.bind ($underarm_fingers); + + //fingers to up pose + $underarm_tube.startSoundShader ("airwhomp", SND_CHANNEL_VOICE2 ); + $underarm_fingers.startSoundShader ("mech_fingers_1_5s", SND_CHANNEL_VOICE ); + while ( underarm_fingers_state < 0 ){ + $underarm_fingers.move ( UP, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state += 1; + } + + //do something interesting + $underarm_tube.startSoundShader ("something_interesting", SND_CHANNEL_VOICE ); + thread crossFadeEnt ($underarm_tube, '1 0 0', '.5 1 1', 1.75); + thread crossFadeEnt ($underarm_tube_light, '1 0 0', '.5 1 1', 1.75); + thread crossFadeEnt ($underarm_can_2, '1 0 0', '.5 1 1', 1.75); + thread crossFadeEnt ($underarm_can_2_light, '1 0 0', '.5 1 1', 1.75); + + sys.wait (2); + + //fingers to down pose + $underarm_fingers.startSoundShader ( "mech_fingers_1_5s", SND_CHANNEL_VOICE ); + $underarm_tube.startSoundShader ( "something_interesting_2", SND_CHANNEL_VOICE ); + while ( underarm_fingers_state > -64 ){ + $underarm_fingers.move ( DOWN, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state -= 1; + } + + //unbind can 2 from fingers + $underarm_can_2.unbind (); + + //fingers to up pose + + + $underarm_fingers.startSoundShader ("mech_fingers_1_5s", SND_CHANNEL_VOICE ); + while ( underarm_fingers_state < 0 ){ + $underarm_fingers.move ( UP, 1 ); + sys.waitFor ($underarm_fingers); + underarm_fingers_state += 1; + } + + //turn tube back to red + + thread crossFadeEnt ($underarm_tube, '.5 1 1', '1 0 0', 1.75); + thread crossFadeEnt ($underarm_tube_light, '.5 1 1', '1 0 0', 1.75); + thread crossFadeEnt ($underarm_can_2, '.5 1 1', '1 0 0', 2); + thread crossFadeEnt ($underarm_can_2_light, '.5 1 1', '1 0 0', 2); + + //arm up + $underarm_upper.startSoundShader ("servo_1s_01", SND_CHANNEL_VOICE ); + $underarm_upper.rotateOnce ( '0 0 90' ); + $underarm_lower.startSoundShader ("servo_1s_02", SND_CHANNEL_VOICE ); + $underarm_lower.rotateOnce ( '0 0 -90' ); + sys.waitFor ($underarm_lower); + } + + //////////////////////////////////////////////////// + // + // underarm_store + // stops underarm from doing it's thing and + // then moves it away to it's store spot + // + //////////////////////////////////////////////////// + void underarm_store () + { + //move to corner spot + $underarm_carrier.moveTo ($underarm_spot_corner); + sys.waitFor ($underarm_carrier); + + //rotate around corner + $underarm_carrier.rotateOnce ( '0 90 0' ); + sys.waitFor ($underarm_carrier); + + //move to storage spot + $underarm_carrier.moveTo ($underarm_spot_store); + sys.waitFor ($underarm_carrier); + } + + + + //////////////////////////////////////////////////// + // + // underarm_work + // arm moves from spot to spot and does it's thing + // + //////////////////////////////////////////////////// + void underarm_work () + { + while ( underarm_work_state == 1 ){ + map_mc_underground::underarm_can_1_manip(); + sys.wait(.1); + map_mc_underground::underarm_can_2_manip(); + sys.wait(.1); + } + //sys.print ("Underarm finishing it's work before storage...\n"); + + map_mc_underground::underarm_store (); + map_mc_underground::saftey_bridge_forth(); + } + + + + //////////////////////////////////////////////////// + // + // underarm_work_state_off + // state that tells underarm to stop working + // + //////////////////////////////////////////////////// + void underarm_work_state_off () + { + sys.wait( 1 ); + underarm_work_state = 0; + + sys.wait( 2 ); + sys.trigger( $computer_bridgeext7sec_speaker ); + } + + //////////////////////////////////////////////////// + // + // underarm_work_state_on + // state that tells underarm to stop working + // + //////////////////////////////////////////////////// + void underarm_work_state_on () + { + //bridge away + map_mc_underground::saftey_bridge_away (); + + //bring arm back around the bend + //move to corner spot + $underarm_carrier.moveTo ($underarm_spot_corner); + sys.waitFor ($underarm_carrier); + + //rotate around corner + $underarm_carrier.rotateOnce ( '0 -90 0' ); + sys.waitFor ($underarm_carrier); + + //underarm back to work + underarm_work_state = 1; + map_mc_underground::underarm_work(); + } + + + //////////////////////////////////////////////////// + // + // Crane load damage off + // + //////////////////////////////////////////////////// + void crane_load_damage_off () + { + //turn the damage off the movers + $crane_box1.enableDamage( 0 ); + $crane_box2.enableDamage( 0 ); + $crane_box3.enableDamage( 0 ); + $crane_box4.enableDamage( 0 ); + $crane_beam1.enableDamage( 0 ); + $crane_beam2.enableDamage( 0 ); + $crane_beam3.enableDamage( 0 ); + $crane_beam4.enableDamage( 0 ); + $crane_beam5.enableDamage( 0 ); + } + + + //////////////////////////////////////////////////// + // + // Crane drop the load + // + //////////////////////////////////////////////////// + void crane_drop () + { + $platform.startSoundShader ("wiresnap", SND_CHANNEL_BODY ); + $breaking_wires.remove(); + + sys.trigger ($speaker_crane_fall); + + $platform.time( 1.0 ); + $platform.accelTime( 0.1 ); + $platform.decelTime( 0.5 ); + + $platform.startSoundShader ("steelswing_01", SND_CHANNEL_VOICE ); + + $platform.rotateOnce( '-150 0 0' ); // Swing Sound + sys.waitFor( $platform ); + + //trigger the rail to break + sys.trigger($pi_cave_rail); + + $wires.time( 1.5 ); + $wires.accelTime( 0.25 ); + $wires.decelTime( 0.25 ); + $platform.time( 1.5 ); + $platform.accelTime( 0.25 ); + $platform.decelTime( 0.25 ); + $wires.rotateOnce( '50 0 0' ); + + $platform.startSoundShader ("steelswing_02", SND_CHANNEL_VOICE2 ); + + $platform.rotateOnce( '105 0 0' ); // Swing Sound + sys.waitFor( $platform ); + + $wires.time( 1.1 ); + $wires.accelTime( 0.2 ); + $wires.decelTime( 0.2 ); + $platform.time( 1.1 ); + $platform.accelTime( 0.2 ); + $platform.decelTime( 0.2 ); + $wires.rotateOnce( '-30 0 0' ); + + $platform.startSoundShader ("steelswing_03", SND_CHANNEL_BODY2 ); + + $platform.rotateOnce( '-75 0 0' ); // Swing sound + + sys.waitFor( $platform ); + + $wires.time( 0.8 ); + $wires.accelTime( 0.15 ); + $wires.decelTime( 0.15 ); + $platform.time( 0.6 ); + $platform.accelTime( 0.1 ); + $platform.decelTime( 0.1 ); + $wires.rotateOnce( '10 0 0' ); + + $platform.startSoundShader ("steelswing_04", SND_CHANNEL_VOICE ); + + $platform.rotateOnce( '30 0 0' ); // Swing sound + sys.waitFor( $platform ); + + //turn the damage off the movers + thread map_mc_underground::crane_load_damage_off(); + + $platform.time( 1.0 ); + $platform.accelTime( 0.2 ); + $platform.decelTime( 0.2 ); + + $platform.startSoundShader ("steelswing_05", SND_CHANNEL_VOICE ); + + $platform.rotateOnce( '-30 0 0' ); // Swing sound + sys.waitFor( $platform ); + + } + + + //////////////////////////////////////////////////// + // + // Open airlock door + // + //////////////////////////////////////////////////// + void airlock_door_open( float airlock, float doornum ) + { + entity ent; + entity entdoorr, entdoorl; + entity speaker; + string door1; + string door2; + float portalstate; + float movedist; + + if ( doornum == 2 ) { + door1 = "airlock" + airlock + "_door2"; + door2 = "airlock" + airlock + "_door1"; + portalstate = 2; + movedist = -16; + } else { + door1 = "airlock" + airlock + "_door1"; + door2 = "airlock" + airlock + "_door2"; + portalstate = 1; + movedist = 16; + } + + //turn door1 light on and door2 light off + ent=sys.getEntity( door2 + "_light" ); + thread crossFadeEnt( ent, '.84 .84 .9', '0.37 0.05 0.01', 1 ); + + sys.wait(1); + + ent=sys.getEntity( door1 + "_light" ); + thread crossFadeEnt( ent, '0.37 0.05 0.01', '.84 .84 .9', 1 ); + + //move the 4 locks to unlock position + ent=sys.getEntity( door1 + "_top_lock" ); + ent.time( 0.25 ); + ent.move( UP, 15 ); + + speaker=sys.getEntity( "speaker_" + door1 + "_bottom_lock" ); + sys.trigger( speaker ); + + ent=sys.getEntity( door1 + "_bottom_lock" ); + ent.time( 0.25 ); + ent.move( DOWN, 15 ); + + sys.waitFor( ent ); + + speaker=sys.getEntity( "speaker_" + door1 + "_left_lock" ); + sys.trigger( speaker ); + + ent=sys.getEntity( door1 + "_left_lock" ); + ent.time( 0.75 ); + ent.move( SOUTH, movedist ); + + speaker=sys.getEntity( "speaker_" + door1 + "_right_lock" ); + sys.trigger( speaker ); + + ent=sys.getEntity( door1 + "_right_lock" ); + ent.time( 0.75 ); + ent.move( SOUTH, movedist ); + + sys.waitFor( ent ); + + //open doors + speaker=sys.getEntity( "speaker_" + door1 + "_open" ); + sys.trigger( speaker ); + + entdoorl=sys.getEntity( door1 + "_left" ); + entdoorl.time( 1.2 ); + entdoorl.rotateOnce( '0 45 0' ); + + entdoorr=sys.getEntity( door1 + "_right" ); + entdoorr.time( 1.2 ); + entdoorr.rotateOnce( '0 -45 0' ); + + //trigger the portal + ent=sys.getEntity( door1 + "_portal" ); + sys.trigger( ent ); + + sys.waitFor( entdoorr ); + sys.waitFor( entdoorl ); + + //set airlock state + ent=sys.getEntity( "airlock" + airlock + "_door1_portal" ); + ent.setKey( "state", portalstate ); + + } + + + //////////////////////////////////////////////////// + // + // Close airlock door + // + //////////////////////////////////////////////////// + void airlock_door_close(float airlock, float doornum ) + { + entity ent; + entity entdoorr, entdoorl; + entity speaker; + string door; + float movedist; + + if ( doornum == 2 ) { + door = "airlock" + airlock + "_door2"; + movedist = 16; + } else { + door = "airlock" + airlock + "_door1"; + movedist = -16; + } + + //close doors + + speaker= sys.getEntity( "speaker_" + door + "_close" ); + sys.trigger (speaker); + + entdoorl=sys.getEntity ( door + "_left" ); + entdoorl.time (1.2); + entdoorl.rotateOnce ( '0 -45 0' ); + + entdoorr=sys.getEntity ( door + "_right" ); + entdoorr.time (1.2); + entdoorr.rotateOnce ( '0 45 0' ); + + sys.waitFor (entdoorr); + sys.waitFor (entdoorl); + + //trigger the portal + ent=sys.getEntity ( door + "_portal" ); + sys.trigger (ent); + + //move the 4 locks to unlock position + ent=sys.getEntity ( door + "_top_lock" ); + ent.time (0.25); + ent.move ( DOWN, 15 ); + + speaker=sys.getEntity ("speaker_" + door + "_bottom_lock"); + sys.trigger (speaker); + + ent=sys.getEntity ( door + "_bottom_lock" ); + ent.time (0.25); + ent.move ( UP, 15 ); + + speaker=sys.getEntity ("speaker_" + door + "_left_lock" ); + sys.trigger (speaker); + + ent=sys.getEntity ( door + "_left_lock" ); + ent.time (0.75); + ent.move ( SOUTH, movedist ); + + speaker=sys.getEntity ("speaker_" + door + "_right_lock" ); + sys.trigger (speaker); + + ent=sys.getEntity ( door + "_right_lock" ); + ent.time (0.75); + ent.move ( SOUTH, movedist ); + + sys.waitFor (ent); + +} + + + //////////////////////////////////////////////////// + // + // Main Activate airlock + // conditionally chooses based on entrance + // + //////////////////////////////////////////////////// + void airlock_main_activate(float airlock) + { + entity ent; + + //check to see which way the palyer entered by checking the airlock_state + //if 1 then close 1 and open 2 + + ent=sys.getEntity ("airlock" + airlock + "_door1_portal" ); + + if (ent.getFloatKey ("state")==1) { + airlock_door_close( airlock, 1 ); + airlock_door_open( airlock, 2 ); + + } else { //else close 2 and open 1 + airlock_door_close( airlock, 2 ); + airlock_door_open( airlock, 1 ); + } + } + + + + //////////////////////////////////////////////////// + // + // AIRLOCK main activation + // + //////////////////////////////////////////////////// + void airlock1_activate() + { + //disable the guis on the doors + $airlock1_door1_gui.setGuiParm ( "gui_parm1" , 0); + $airlock1_door2_gui.setGuiParm ( "gui_parm1" , 0); + $airlock1_innerguiholder.setGuiParm ( "gui_parm11" , 0); + + airlock_main_activate(1); + + //check the airlock state and enable the guis on the closed door + if ($airlock1_door1_portal.getFloatKey ("state")==1) { + $airlock1_door2_gui.setGuiParm ( "gui_parm1" , 1); + } else { //else close 2 and open 1 + $airlock1_door1_gui.setGuiParm ( "gui_parm1" , 1); + } + + $airlock1_innerguiholder.setGuiParm ( "gui_parm11" , 1); + } + + void airlock2_activate() + { + //disable the guis on the doors + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 0); + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 0); + $airlock2_innerguiholder.setGuiParm ( "gui_parm11" , 0); + + airlock_main_activate(2); + + //check the airlock state and enable the guis on the closed door + if ($airlock2_door1_portal.getFloatKey ("state")==1) { + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 1); + } else { //else close 2 and open 1 + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 1); + } + + $airlock2_innerguiholder.setGuiParm ( "gui_parm11" , 1); + } + + + //////////////////////////////////////////////////// + // + // AIRLOCK doors opening + // + //////////////////////////////////////////////////// + void airlock1_door1_open() + { + airlock_door_open(1, 1); + } + + void airlock1_door2_open() + { + airlock_door_open(1, 2); + } + + void airlock2_door1_open() + { + airlock_door_open(2, 1); + } + + void airlock2_door2_open() + { + airlock_door_open(2, 2); + } + + + + //////////////////////////////////////////////////// + // + // Break Zombie airlock door + // + //////////////////////////////////////////////////// + void airlock1_break() + { + //unhide the clip that will prevent the player from getting outside + //once the gui is pressed + sys.trigger( $airlock_break_clip ); + + airlock_door_close( 1, 2 ); + + //disable the gui on door1 + $airlock1_door1_gui.setGuiParm ( "gui_parm1" , 0); + + //turn door1 light on and door2 light off + thread crossFadeEnt ($airlock1_door2_light, '.84 .84 .9', '0.37 0.05 0.01', 1); + sys.wait(1); + thread crossFadeEnt ($airlock1_door1_light, '0.37 0.05 0.01', '.84 .84 .9', 1); + + //move the 4 locks to unlock position + $airlock1_door1_top_lock.time (0.25); + $airlock1_door1_top_lock.move ( UP, 15 ); + + $airlock1_door1_bottom_lock.time (0.25); + sys.trigger ($speaker_airlock1_door1_bottom_lock); + $airlock1_door1_bottom_lock.move ( DOWN, 15 ); + sys.waitFor ($airlock1_door1_bottom_lock); + + $airlock1_door1_left_lock.time (0.75); + sys.trigger ($speaker_airlock1_door1_left_lock); + + $airlock1_door1_left_lock.move ( SOUTH, 16 ); + $airlock1_door1_right_lock.time (0.75); + + sys.trigger ($speaker_airlock1_door1_right_lock); + $airlock1_door1_right_lock.move ( SOUTH, 16 ); + + sys.waitFor ($airlock1_door1_right_lock); + + //trigger the portal + sys.trigger ($airlock1_door1_portal); + + //lightswitch to sound flicker light + sys.trigger ($airlock1_door1_light); + //sys.trigger ($airlockzombielight); + + //trigger anim shit + sys.trigger ($airlockzombietrigger); + + //spark + sys.trigger ($airlockzombiespark1); + + //doors open a bit then stutter a bit leaving the crack in the door + $airlock1_door1_left.time(.4); + $airlock1_door1_right.time(.4); + sys.trigger ($speaker_malfunction_1); + $airlock1_door1_left.rotateOnce ( '0 4 0' ); + $airlock1_door1_right.rotateOnce ( '0 -4 0' ); + sys.waitFor ($airlock1_door1_right); + + $airlock1_door1_left.time(.3); + $airlock1_door1_right.time(.3); + sys.trigger ($speaker_malfunction_2); + $airlock1_door1_left.rotateOnce ( '0 -3 0' ); + $airlock1_door1_right.rotateOnce ( '0 3 0' ); + sys.waitFor ($airlock1_door1_right); + + $airlock1_door1_left.time(.3); + $airlock1_door1_right.time(.3); + sys.trigger ($speaker_malfunction_2a); + $airlock1_door1_left.rotateOnce ( '0 10 0' ); + $airlock1_door1_right.rotateOnce ( '0 -3 0' ); + sys.waitFor ($airlock1_door1_right); + + $airlock1_door1_left.time(.25); + $airlock1_door1_right.time(.25); + sys.trigger ($speaker_malfunction_3); + $airlock1_door1_left.rotateOnce ( '0 -5 0' ); + $airlock1_door1_right.rotateOnce ( '0 -3 0' ); + sys.waitFor ($airlock1_door1_right); + + //spark + sys.trigger ($airlockzombiespark2); + sys.trigger ($airlockzombiespark1); + + //trigger light to go off completely + //sys.trigger ($airlockzombielight); + + sys.wait( 2 ); + + //trigger garage skull fly through + sys.trigger( $garagelight_break_relay ); + sys.trigger( $garageskulltrigger ); + + //wait + sys.wait( 4 ); + + //spark + sys.trigger( $airlockzombiespark2 ); + sys.trigger( $airlockzombiespark1 ); + + //wait + sys.wait(1); + + //open one door fully to allow the player to exit the airlock + $airlock1_door1_right.time(1.2); + sys.trigger ($speaker_airlock1_door1_open); + + $airlock1_door1_right.rotateOnce ( '0 -38 0' ); + + } + + + //////////////////////////////////////////////////// + // + // piston movement + // + //////////////////////////////////////////////////// + void piston_move () + { + while (1) //begin while + { + + $piston1.move ( DOWN, 6 ); + $pistrod1.rotateOnce ( '0 0 -26.56' ); + $piston2.move ( UP, 6 ); + $pistrod2.rotateOnce ( '0 0 26.56' ); + $piston3.move ( DOWN, 6 ); + $pistrod3.rotateOnce ( '0 0 -26.56' ); + $crankshaft.rotateOnce ( '0 0 90' ); + sys.waitFor ($piston1); + + $piston1.move ( DOWN, 6 ); + $pistrod1.rotateOnce ( '0 0 26.56' ); + $piston2.move ( UP, 6 ); + $pistrod2.rotateOnce ( '0 0 -26.56' ); + $piston3.move ( DOWN, 6 ); + $pistrod3.rotateOnce ( '0 0 26.56' ); + $crankshaft.rotateOnce ( '0 0 90' ); + sys.waitFor ($piston1); + + $piston1.move ( UP, 6 ); + $pistrod1.rotateOnce ( '0 0 26.56' ); + $piston2.move ( DOWN, 6 ); + $pistrod2.rotateOnce ( '0 0 -26.56' ); + $piston3.move ( UP, 6 ); + $pistrod3.rotateOnce ( '0 0 26.56' ); + $crankshaft.rotateOnce ( '0 0 90' ); + sys.waitFor ($piston1); + + $piston1.move ( UP, 6 ); + $pistrod1.rotateOnce ( '0 0 -26.56' ); + $piston2.move ( DOWN, 6 ); + $pistrod2.rotateOnce ( '0 0 26.56' ); + $piston3.move ( UP, 6 ); + $pistrod3.rotateOnce ( '0 0 -26.56' ); + $crankshaft.rotateOnce ( '0 0 90' ); + sys.waitFor ($piston1); + + } //end while + + } + + + + //////////////////////////////////////////////////// + // + // canister mover + // + //////////////////////////////////////////////////// + void canister_mover () + { + sys.wait (2); + $canismover_rdoor.time (1); + $canismover_ldoor.time (1); + + while (1) //begin while + { + //back into recess 192 + sys.trigger ($speaker_can1_move); // SOUND + $canismover_anchor.time (2); + $canismover_anchor.accelTime (2); + $canismover_anchor.decelTime (0); + + $canismover_anchor.move ( WEST, 192 ); + sys.waitFor ($canismover_anchor); + + //close doors (move 24) + sys.trigger ($speaker_candoor1_close); // SOUND + $canismover_rdoor.move (NORTH, -24); + $canismover_ldoor.move (NORTH, 24); + sys.waitFor ($canismover_ldoor); + + //hide it all + $canismover.hide (); + $func_static_5240.hide (); + $func_static_5239.hide (); + $light_5120.Off (); + $func_static_5252.hide (); + $light_5121.Off (); + $func_static_5233.hide (); + $light_5118.Off (); + $light_5116.Off (); + $func_static_5248.hide (); + + //wait after it goes behind the closed doors + sys.wait (3); + + //bring it forward 192 + $canismover_anchor.time (.1); + $canismover_anchor.accelTime (0); + $canismover_anchor.decelTime (0); + + $canismover_anchor.move ( WEST, -192 ); + sys.waitFor ($canismover_anchor); + + //rotate it quickly 90 degs to down position + $canismover_anchor.time (.1); + $canismover_anchor.accelTime (0); + $canismover_anchor.decelTime (0); + + + $canismover_anchor.rotateOnce ( '90 0 0' ); + sys.waitFor ($canismover_anchor); + + //unhide it all + $canismover.show (); + $func_static_5240.show (); + $func_static_5239.show (); + $light_5120.On (); + $func_static_5252.show (); + $light_5121.On (); + $func_static_5233.show (); + $light_5118.On (); + $light_5116.On (); + $func_static_5248.show (); + + //open doors (move 24) + sys.trigger ($speaker_candoor2_open); // SOUND + + $canismover_rdoor.move (NORTH, 24); + $canismover_ldoor.move (NORTH, -24); + sys.waitFor ($canismover_ldoor); + + //rotate it up -90 degs + $canismover_anchor.time (2); + $canismover_anchor.accelTime (2); + $canismover_anchor.decelTime (0); + + sys.trigger ($speaker_can1_updown); // SOUND + + $canismover_anchor.rotateOnce ( '-90 0 0' ); + sys.waitFor ($canismover_anchor); + + //bounce + $canismover_anchor.time (.15); + $canismover_anchor.accelTime (.15); + $canismover_anchor.decelTime (0); + $canismover_anchor.rotateOnce ( '1.5 0 0' ); + sys.waitFor ($canismover_anchor); + + $canismover_anchor.time (.15); + $canismover_anchor.accelTime (0); + $canismover_anchor.decelTime (.15); + $canismover_anchor.rotateOnce ( '-1.5 0 0' ); + sys.waitFor ($canismover_anchor); + + $canismover_anchor.time (.10); + $canismover_anchor.accelTime (.10); + $canismover_anchor.decelTime (0); + $canismover_anchor.rotateOnce ( '.5 0 0' ); + sys.waitFor ($canismover_anchor); + + $canismover_anchor.time (.10); + $canismover_anchor.accelTime (0); + $canismover_anchor.decelTime (.10); + $canismover_anchor.rotateOnce ( '-.5 0 0' ); + sys.waitFor ($canismover_anchor); + + //twist it up + $canismover_anchor.time (4.5); + $canismover_anchor.accelTime (1.5); + $canismover_anchor.decelTime (1); + + sys.trigger ($speaker_can1_rot); // SOUND + $canismover_anchor.rotateOnce ( '0 0 540' ); + sys.waitFor ($canismover_anchor); + + sys.wait (0.5); + + sys.trigger ($speaker_can1_rot); // SOUND + $canismover_anchor.rotateOnce ( '0 0 -540' ); + sys.waitFor ($canismover_anchor); + + } //end while + + } + + + //////////////////////////////////////////////////// + // + // canister2 mover + // + //////////////////////////////////////////////////// + void canister2_mover () + { + sys.wait (6); + $canismover2_rdoor.time (1); + $canismover2_ldoor.time (1); + while (1) //begin while + { + //back into recess 192 + $canismover2_anchor.time (2); + $canismover2_anchor.accelTime (2); + $canismover2_anchor.decelTime (0); + + sys.trigger ($speaker_can2_move); // SOUND + $canismover2_anchor.move ( WEST, 192 ); + sys.waitFor ($canismover2_anchor); + + //close doors (move 24) + sys.trigger ($speaker_candoor2_close); // SOUND + $canismover2_rdoor.move (NORTH, -24); + $canismover2_ldoor.move (NORTH, 24); + sys.waitFor ($canismover2_ldoor); + + //hide it all + $canismover2.hide (); + $func_static_52402.hide (); + $func_static_52392.hide (); + $light_51202.Off (); + $func_static_52522.hide (); + $light_51212.Off (); + $func_static_52332.hide (); + $light_51182.Off (); + $light_51162.Off (); + $func_static_52482.hide (); + + //wait after it goes behind the closed doors + sys.wait (3); + + //bring it forward 192 + $canismover2_anchor.time (.1); + $canismover2_anchor.accelTime (0); + $canismover2_anchor.decelTime (0); + + $canismover2_anchor.move ( WEST, -192 ); + sys.waitFor ($canismover2_anchor); + + //rotate it quickly 90 degs to down position + $canismover2_anchor.time (.1); + $canismover2_anchor.accelTime (0); + $canismover2_anchor.decelTime (0); + + $canismover2_anchor.rotateOnce ( '90 0 0' ); + sys.waitFor ($canismover2_anchor); + + //unhide it all + $canismover2.show (); + $func_static_52402.show (); + $func_static_52392.show (); + $light_51202.On (); + $func_static_52522.show (); + $light_51212.On (); + $func_static_52332.show (); + $light_51182.On (); + $light_51162.On (); + $func_static_52482.show (); + + //open doors (move 24) + $canismover2_rdoor.move (NORTH, 24); + $canismover2_ldoor.move (NORTH, -24); + sys.trigger ($speaker_candoor2_open); // SOUND + + sys.waitFor ($canismover2_ldoor); + + //rotate it up -90 degs + $canismover2_anchor.time (2); + $canismover2_anchor.accelTime (2); + $canismover2_anchor.decelTime (0); + + sys.trigger ($speaker_can2_updown); // SOUND + $canismover2_anchor.rotateOnce ( '-90 0 0' ); + sys.waitFor ($canismover2_anchor); + + //bounce + $canismover2_anchor.time (.15); + $canismover2_anchor.accelTime (.15); + $canismover2_anchor.decelTime (0); + $canismover2_anchor.rotateOnce ( '1.5 0 0' ); + sys.waitFor ($canismover2_anchor); + + $canismover2_anchor.time (.15); + $canismover2_anchor.accelTime (0); + $canismover2_anchor.decelTime (.15); + $canismover2_anchor.rotateOnce ( '-1.5 0 0' ); + sys.waitFor ($canismover2_anchor); + + $canismover2_anchor.time (.10); + $canismover2_anchor.accelTime (.10); + $canismover2_anchor.decelTime (0); + $canismover2_anchor.rotateOnce ( '.5 0 0' ); + sys.waitFor ($canismover2_anchor); + + $canismover2_anchor.time (.10); + $canismover2_anchor.accelTime (0); + $canismover2_anchor.decelTime (.10); + $canismover2_anchor.rotateOnce ( '-.5 0 0' ); + sys.waitFor ($canismover2_anchor); + + //twist it up + + $canismover2_anchor.time (4.5); + $canismover2_anchor.accelTime (1.5); + $canismover2_anchor.decelTime (.3); + + sys.trigger ($speaker_can2_rot); + $canismover2_anchor.rotateOnce ( '0 0 540' ); + sys.waitFor ($canismover2_anchor); + + sys.wait (0.5); + + sys.trigger ($speaker_can2_rot); + $canismover2_anchor.rotateOnce ( '0 0 -540' ); + sys.waitFor ($canismover2_anchor); + + } //end while + } + + + + //////////////////////////////////////////////////// + // + // After invasion + // Things that are triggered after the invasion + // + //////////////////////////////////////////////////// + void after_invasion () + { + //unhide the exit elevator + $light_51518.show(); + + //steps busted by steam + $preinvasion_steps.hide(); + $postinvasion_steps.show(); + + $pi_steps_steamlight1.On(); + $pi_steps_steamlight2.On(); + + sys.trigger ($pi_steps_steam1); + sys.trigger ($pi_steps_steam2); + + sys.trigger($pi_stepsteamsound); + + //turn on the hazard lights + $pi_hazlight_proj1.On(); + $pi_hazlight_proj2.On(); + $pi_hazlight_sml1.On(); + $pi_hazlight_sml2.On(); + + $func_rotating_5.show(); + $func_rotating_6.show(); + + sys.trigger($pi_hazspeaker); + + //impclawdoors + $impclawdoor1.open(); + $impclawdoor2.open(); + $impclawdoor1.remove(); + $impclawdoor2.remove(); + + $underground_impcrawl_door_3.show(); + $impclawdoorclip.show(); + + //restore position of crane + $crane_main.restorePosition(); + + //crane load unbind so it can fall + $crane_box1.unbind(); + $crane_box2.unbind(); + $crane_box3.unbind(); + $crane_box4.unbind(); + $crane_beam1.unbind(); + $crane_beam2.unbind(); + $crane_beam3.unbind(); + $crane_beam4.unbind(); + $crane_beam5.unbind(); + + //unhide the cave railing + $pi_cave_rail.show(); + + //enable the bridge gui + $saftey_bridge_gui.setGuiParm ( "gui_parm1" , 1); + + } + + + + //////////////////////////////////////////////////// + // + // Fred stuff + // + //////////////////////////////////////////////////// + void guard_switch_head_to_zombie( entity self ) { + self.setModel( "underground_invasion_zsechead" ); + //sys.print( "Swapping Head\n"); + } + + void sci_switch_head_to_stump( entity self ) { + self.setModel( "underground_crazy_stump" ); + //sys.print( "Swapping Head\n"); + } + + void killzombie() + { + $monster_zombie_maint_1.kill(); + } + + //////////////////////////////////////////////////// + // + // swing the swinglight + // + //////////////////////////////////////////////////// + void swinglight_move () + { + $swinglight_mover.sway( 120, 0, '0 0 60' ); + } + + //////////////////////////////////////////////////// + // + // drop_floor + // + //////////////////////////////////////////////////// + void drop_floor_down () + { + //trigger the initial speaker + sys.trigger ($speaker_drop_floor); + + $drop_floor.time(1); + $drop_floor.accelTime(1); + $drop_floor.decelTime(.2); + + //move drop_floor down + $drop_floor.move (DOWN, 176); + + //trigger the weird sound + sys.trigger($drop_floor_weird_speaker); + } + + + + //////////////////////////////////////////////////// + // + // close security door + // + //////////////////////////////////////////////////// + void close_secdoor () + { + $func_door_46.close (); + } + + //////////////////////////////////////////////////// + // + // spooky_postinvasion1 + // + // Scenario that happens immediately after invasion + // cinematic. + // + //////////////////////////////////////////////////// + void postinvasion_spooky01_speakers_off () + { + float j; + entity ent; + for (j=1; j<=11; j++) + { + ent = sys.getEntity ( "comm_speaker_" + j ); + ent.fadeSound ( SND_CHANNEL_ANY, -60, 2.5 ); + } + } + + void postinvasion_spooky01_speakers_on () + { + float j; + entity ent; + for (j=1; j<=11; j++) + { + ent = sys.getEntity ( "comm_speaker_" + j ); + ent.fadeSound ( SND_CHANNEL_ANY, 0, 2.5 ); + } + } + + void postinvasion_spooky01_lights_off () + { + float j; + entity ent; + for (j=1; j<=7; j++) + { + ent = sys.getEntity ( "comm_light_" + j ); + ent.fadeOutLight ( 2.5 ); + } + } + + void postinvasion_spooky01_lights_on () + { + float j; + entity ent; + for (j=1; j<=7; j++) + { + ent = sys.getEntity ( "comm_light_" + j ); + ent.fadeInLight ( 2.5 ); + } + } + + void postinvasion_spooky01 () + { + /* stuff I gotta trigger + invasion_spectrum_relay + invasion_floorskull_relay + underground_crazy_zombie + */ + + // XIAN: Inserted speaker function here... + thread post_invasion_sounds(); + + //close and lock the door + $func_door_74.close (); + sys.trigger ($invasion_door_lock_relay); + + //power out + sys.trigger ($comm_speaker_powerout); + thread postinvasion_spooky01_speakers_off(); + thread postinvasion_spooky01_lights_off(); + + //wait for fades + sys.wait (2.5); + + //trigger the suspense trigger + + sys.trigger ($comm_speaker_suspense); + + sys.wait (1); + + sys.trigger ($speaker_airush2); + + sys.wait (0.5); + + sys.trigger ($speaker_substing1); + sys.trigger ($speaker_seq_invasion); // comm chatter stuff from other people + // on the base + sys.wait (1); + + sys.trigger ($speaker_invasion_buildup); // Trigger the 5 second buildup speaker + sys.wait (4.8); + + // 5 second buildup here + + //trigger the skull from the floor + sys.trigger ($invasion_floorskull_relay); + + sys.trigger ($speaker_appear); // White column appearing in middle of room stinger + sys.trigger ($speaker_hellblast_stinger); + + sys.wait (0.5); + + $speaker_appear.startSoundShader ("mc_hellblast_explosion", SND_CHANNEL_VOICE2); + + sys.wait (0.5); + + sys.trigger ($speaker_hellwind); + + //trigger spectrum bang + sys.trigger ($invasion_spectrum_relay); + + sys.wait (2); // Was 18 -Xian + + sys.trigger ($speaker_spookything); + + sys.wait (3); + + sys.trigger ($speaker_betruger_laugh); + + sys.wait (5); + + //trigger transformation + //skull from wall transforms asian guy into zombie + sys.trigger ($crazysci_relay_nextthing); + + sys.trigger ($speaker_leatherface); + + sys.wait (2); + + sys.trigger ($speaker_substing2); + + sys.wait (1); + + sys.trigger ($speaker_stereothing); + + sys.wait (1); + + //trigger the spooky looping sound that remains in the room after the invasion + sys.trigger ($invasionspookyremain_speaker); + + //power back on + sys.trigger ($comm_speaker_poweron); + sys.wait (1); + thread postinvasion_spooky01_lights_on(); + thread postinvasion_spooky01_speakers_on(); + + + //trigger the gui that can be triggered on the middle desk + sys.trigger ($func_static_4730); + + //trigger zombie security banging + sys.trigger ($zsec_bang); + + //trigger first radio chatter + sys.trigger ($rchat_1); + + sys.wait (2); + + $speaker_spookything.startSoundShader ("mc_substing_02", SND_CHANNEL_VOICE2 ); + + sys.wait(2); + sys.trigger ($rchat_7); + sys.wait(3); + + //unlock and open door + sys.trigger ($invasion_door_unlock_relay); + + //trigger zombie to come on in + sys.trigger ($comm_zombie); + + //break light near guis + sys.wait(3); + sys.trigger ($comm_light_6); + } + + void init_howitzer() { + //howitzer setup + $how1_barrel.bind ($how1_base); + $how1_recep.bind ($how1_base); + $how1_catcher.bind ($how1_base); + $how1_base.rotateOnce ( '0 0 45' ); + + $how2_barrel.bind ($how2_base); + $how2_recep.bind ($how2_base); + $how2_catcher.bind ($how2_base); + $how2_base.rotateOnce ( '0 0 45' ); + + $how3_barrel.bind ($how3_base); + $how3_recep.bind ($how3_base); + $how3_catcher.bind ($how3_base); + $how3_base.rotateOnce ( '0 0 45' ); + + sys.waitFor($how1_base); + + thread howitzer_1 (); + thread howitzer_2 (); + thread howitzer_3 (); + + } + + + //////////////////////////////////////////////////// + // + // brooks gui triggers + // + //////////////////////////////////////////////////// + void brooks_guitouch () + { + sys.trigger ($secpanel1); + } + + void brooks_guiopen () + { + $secpanel1.setGuiParm ( "gui_parm1" , 2); + } + + + //////////////////////////////////////////////////// + // + // Crane start sound + // + //////////////////////////////////////////////////// + void crane_start_thread() { + sys.trigger ($crane_start_speaker); + sys.wait (1); + $crane_main_speaker.On(); + } + + //////////////////////////////////////////////////// + // + // Crane Main Move Right + // + //////////////////////////////////////////////////// + void crane_main_right() + { + vector delta,deltatest; + vector deltadif; + + sys.killthread ( "map_mc_underground::crane_main_left" ); + + //set the dir state for correct stopping + crane_dir = 1; + + //set crane times back to normal + $crane_main.time (6); + $crane_main.accelTime (3); + $crane_main.decelTime (2); + + if ( crane_main_state < 90 ) { + //start sound + thread crane_start_thread(); + + //start movement + $crane_main.rotateOnce ( '0 -90 0' ); + + while ( 1 ) { + delta = anglemod360( $crane_main.getAngles() ); + deltatest = $crane_main.getAngles(); + crane_main_state = (270 - (int( delta_y ))); + //sys.print ("crane_main_state = " + crane_main_state + " " + deltatest +" \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_remote_panel.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + if (crane_main_state >= 89) { + break; + } + sys.waitFrame(); + } + + //***** + //stop movement + //***** + + //stop sound + $crane_main_speaker.Off(); + sys.trigger ($crane_end_speaker); + + //set crane times to accomodate stopping + $crane_main.time (.5); + $crane_main.accelTime (0); + $crane_main.decelTime (.5); + + //the final move + $crane_main.rotateOnce ( '0 -1 0' ); + sys.waitFor ($crane_main); + + //set crane times back to normal + $crane_main.time (6); + $crane_main.accelTime (3); + $crane_main.decelTime (2); + + //set crane status and update guis + crane_main_state = 90; + //sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_remote_panel.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + + } + } + + //////////////////////////////////////////////////// + // + // Crane Main Move Left + // this should be redone for smoother movement + // especially since the player can remotely opperate + // the crane and see the jerky movement easily + // + //////////////////////////////////////////////////// + void crane_main_left() + { + vector delta; + vector deltadif; + + sys.killthread ( "map_mc_underground::crane_main_right" ); + + //set the dir state for correct stopping + crane_dir = -1; + + //set crane times back to normal + $crane_main.time (6); + $crane_main.accelTime (3); + $crane_main.decelTime (2); + + if ( crane_main_state > 0 ) { + //start sound + thread crane_start_thread(); + + //start movement + $crane_main.rotateOnce ( '0 90 0' ); + + while ( 1 ) { + delta = anglemod360( $crane_main.getAngles() ); + crane_main_state = (270 - (int( delta_y ))); + //sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_remote_panel.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + if (crane_main_state <= 1) { + break; + } + sys.waitFrame(); + } + + //***** + //stop movement + //***** + + //stop sound + $crane_main_speaker.Off(); + sys.trigger ($crane_end_speaker); + + //set crane times to accomodate stopping + $crane_main.time (.5); + $crane_main.accelTime (0); + $crane_main.decelTime (.5); + + //the final move + $crane_main.rotateOnce ( '0 1 0' ); + sys.waitFor ($crane_main); + + //set crane times back to normal + $crane_main.time (6); + $crane_main.accelTime (3); + $crane_main.decelTime (2); + + //update guis + crane_main_state = 0; + //sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_remote_panel.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + } + } + + + //////////////////////////////////////////////////// + // + // Crane stop + // + //////////////////////////////////////////////////// + void crane_main_stop() + { + //sys.print ("enter crane_main_stop \n"); + vector delta; + + sys.killthread ( "map_caves2::crane_main_left" ); + sys.killthread ( "map_caves2::crane_main_right" ); + + //set crane times to accomodate stopping + $crane_main.time (.3); + $crane_main.accelTime (0); + $crane_main.decelTime (.3); + + //stop movement + if ( (crane_dir < 0) && (crane_main_state > 0) && (crane_main_state < 90) ) { + $crane_main.rotateOnce ( '0 1 0' ); + sys.waitFor ($crane_main); + delta = anglemod360( $crane_main.getAngles() ); + crane_main_state = (270 - (int( delta_y ))); + //sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_remote_panel.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + } else if ( (crane_main_state > 0) && (crane_main_state < 90) ){ + $crane_main.rotateOnce ( '0 -1 0' ); + sys.waitFor ($crane_main); + delta = anglemod360( $crane_main.getAngles() ); + crane_main_state = (270 - (int( delta_y ))); + //sys.print ("crane_main_state = " + crane_main_state + " \n"); + $crane_main.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_remote_panel.setGuiParm ( "gui_parm2" , crane_main_state); + $crane_reset_button.setGuiParm ( "gui_parm2" , crane_main_state); + } + + //stop sound + $crane_main_speaker.Off(); + sys.trigger ($crane_end_speaker); + + //set crane times back to normal + $crane_main.time (6); + $crane_main.accelTime (3); + $crane_main.decelTime (2); + } + + + //////////////////////////////////////////////////// + // + // return radio chatter 1 + // + //////////////////////////////////////////////////// + void radio_chat_1() + { + float ran1; + + ran1 = (3 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_8); + ran1 = (3 + sys.random(5)); + sys.wait (ran1); + + sys.trigger ($rchat_2); + ran1 = (8 + sys.random(6)); + sys.wait (ran1); + + sys.trigger ($rchat_3); + ran1 = (15 + sys.random(6)); + sys.wait (ran1); + + sys.trigger ($rchat_4); + ran1 = (8 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_5); + ran1 = (12 + sys.random(6)); + sys.wait (ran1); + + sys.trigger ($rchat_6); + ran1 = (8 + sys.random(8)); + sys.wait (ran1); + + sys.trigger ($rchat_7); + ran1 = (15 + sys.random(3)); + sys.wait (ran1); + } + + void radio_chat_2() + { + float ran1; + + ran1 = (8 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_9); + ran1 = (8 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_10); + ran1 = (8 + sys.random(6)); + sys.wait (ran1); + + sys.trigger ($rchat_11); + ran1 = (8 + sys.random(8)); + sys.wait (ran1); + + sys.trigger ($rchat_12); + ran1 = (8 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_13); + ran1 = (8 + sys.random(5)); + sys.wait (ran1); + } + + void radio_chat_3() + { + float ran1; + + ran1 = (0 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_14); + ran1 = (8 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_15); + ran1 = (8 + sys.random(5)); + sys.wait (ran1); + + sys.trigger ($rchat_2); + ran1 = (8 + sys.random(8)); + sys.wait (ran1); + } + + void radio_chat_4() + { + float ran1; + + ran1 = (4 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_1); + ran1 = (8 + sys.random(9)); + sys.wait (ran1); + + sys.trigger ($rchat_3); + ran1 = (8 + sys.random(9)); + sys.wait (ran1); + + sys.trigger ($rchat_4); + ran1 = (12 + sys.random(9)); + sys.wait (ran1); + + sys.trigger ($rchat_5); + ran1 = (15 + sys.random(9)); + sys.wait (ran1); + + sys.trigger ($rchat_6); + ran1 = (8 + sys.random(9)); + sys.wait (ran1); + } + + void radio_chat_5() + { + float ran1; + + ran1 = (4 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_7); + ran1 = (4 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_8); + ran1 = (4 + sys.random(4)); + sys.wait (ran1); + + sys.trigger ($rchat_9); + ran1 = (8 + sys.random(5)); + sys.wait (ran1); + + sys.trigger ($rchat_10); + ran1 = (3 + sys.random(9)); + sys.wait (ran1); + + sys.trigger ($rchat_11); + ran1 = (8 + sys.random(3)); + sys.wait (ran1); + + sys.trigger ($rchat_12); + ran1 = (12 + sys.random(5)); + sys.wait (ran1); + + sys.trigger ($rchat_13); + ran1 = (8 + sys.random(9)); + sys.wait (ran1); + + sys.trigger ($rchat_14); + ran1 = (2 + sys.random(9)); + sys.wait (ran1); + + sys.trigger ($rchat_15); + ran1 = (12 + sys.random(5)); + sys.wait (ran1); + + sys.trigger ($rchat_1); + ran1 = (4 + sys.random(9)); + sys.wait (ran1); + + sys.trigger ($rchat_3); + ran1 = (8 + sys.random(4)); + sys.wait (ran1); + + sys.trigger ($rchat_4); + ran1 = (4 + sys.random(9)); + sys.wait (ran1); + } + + void radio_chat_stop() + { + sys.killthread ("map_mc_underground::radio_chat_1"); + sys.killthread ("map_mc_underground::radio_chat_2"); + sys.killthread ("map_mc_underground::radio_chat_3"); + sys.killthread ("map_mc_underground::radio_chat_4"); + sys.killthread ("map_mc_underground::radio_chat_5"); + } + + void fade_blinkypre_sound () + { + $speaker_101.fadeSound ( SND_CHANNEL_ANY, -60, 3 ); + } + + void fade_scotty_sound () + { + $scotty1.fadeSound ( SND_CHANNEL_ANY, -60, .1 ); + } + + void crazy_sci_becomeZombie( entity self ) { + self.setTalkState( TALK_NEVER ); + self.setHealth( self.getFloatKey( "normal_health" ) ); + self.setKey( "snd_chatter_combat", self.getKey( "snd_chatter_combat_precache" ) ); + + // causes the monster to reset his chatter sound. hacky, but it does the job. + self.show(); + } + + //////////////////////////////////////////////////// + // + // MAIN + // + //////////////////////////////////////////////////// + void main () + { + thread cache_sounds(); + thread canister_mover (); + thread canister2_mover (); + + setup_objects (); + thread saftey_bridge_away (); + thread lilfrm_move (); + thread rotary (); + thread howitzer_1 (); + thread howitzer_2 (); + thread howitzer_3 (); + thread pipe_piston_move (); + thread crankshaft_move (); + thread redthing_move (); + thread underarm_work (); + thread piston_move (); + thread swinglight_move(); + + //setup the airlocks in the correct states + thread airlock1_door2_open(); + thread airlock2_door2_open(); + + sys.wait(20); + //disable the bridge gui + $saftey_bridge_gui.setGuiParm ( "gui_parm1" , 0); + + } + +}// namespace \ No newline at end of file diff --git a/base/script/map_monorail.script b/base/script/map_monorail.script new file mode 100644 index 00000000..35ac7e20 --- /dev/null +++ b/base/script/map_monorail.script @@ -0,0 +1,946 @@ +namespace map_monorail +{ + #define TRAIN_SPEED 300 + #define CAGE_SPEED 150 + #define TRAIN_FINAL_SPEED 800 + #define TRAIN_ANCHOR monorail_anchor + #define TRAIN_BLINK 0.1 + #define TRAIN_BLINK2 0.1 + + float TURRETS_ACTIVE = 0; + float TRAIN_MOVING = 0; + float TRAIN_PHASE = 1; // 1 = 1st stretch, 2 = 2nd stretch + float LLIGHT_STATE = 1; // 1 = ON, 2 = OFF + float LIGHT_FADEIN_TIME = 8; + float LIGHT_FADEOUT_TIME = 0.05; + float GO_PATTERN_1 = TRUE; + float GO_PATTERN_3 = TRUE; + float gf_Site2_Warning = TRUE; + float warning_speaker = 1; + + void loop_site2_warning() + { + while (gf_Site2_Warning) + { + sys.wait (60); + if (gf_Site2_Warning == FALSE) + return; + sys.trigger ($speaker_site2_warning); + } + } + + void turret_active_speaker() + { + float sound_length; + + while (warning_speaker == 1) + { + sound_length = $speaker_165.startSoundShader ("monorail_computer_turrets_on", SND_CHANNEL_VOICE2 ); + sys.wait (sound_length); + if ( warning_speaker == 0) + //thread turret_deactivate_speaker(); + return; + sys.wait( 10 ); + } + } + + void turret_deactivate_speaker() + { + $speaker_165.stopSound ( SND_CHANNEL_VOICE2, false ); + sys.wait (0.75); + $speaker_165.startSoundShader("monorail_computer_turrets_off", SND_CHANNEL_VOICE2); + } + + void activate_turret() + { + if (TURRETS_ACTIVE == 1) + return; + + //sys.print (" !!!!! ENTERING ACTIVATE_TURRETS() !!!!!\n"); + $tunnel_anchor_1.rotate ('0 360 0'); + $light_tunnel_1.On(); + $light_tunnel_1_spin.On(); + sys.trigger ($monster_turret_1); + sys.trigger ($turret_speaker); + TURRETS_ACTIVE = 1; + } + + void deactivate_turret() + { + if ( TURRETS_ACTIVE == 1 ) + { + //sys.print (" !!!!! DEACTIVATING TURRETS !!!!!\n"); + GO_PATTERN_1 = FALSE; + GO_PATTERN_3 = FALSE; + $security_light.setColor (0.5,0.5,0.5); + + $tunnel_anchor_1.rotate ('0 0 0'); + $light_tunnel_1.Off(); + $light_tunnel_1_spin.Off(); + sys.trigger ($monster_turret_1); + sys.trigger ($turret_speaker); + sys.trigger ($target_entity_setcolor_1); + warning_speaker = 0; + thread turret_deactivate_speaker(); + //will this remove the scanner beam??? + $bs1_start.remove (); + $bs1_end.remove (); + $bs2_start.remove (); + $bs2_end.remove (); + + } + } + + void pattern1() + { + float x, y, i, tmp; + entity px, py; + entity ox, oy; + vector vec_ox, vec_oy; + + while (GO_PATTERN_1) + { + for (i=1; i<=16; i++) + { + tmp = ( i + 4 ); + y=tmp; + if ( (i+4) > 16 ) + y = (i+4) - 16; + + x=i; + //sys.print ("x=" + x + " :: y=" + y + "\n"); + + ox = sys.getEntity ("fp" + i); + oy = sys.getEntity ("fp" + y); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs1_start); // Turn off + + $bs1_start.setOrigin (vec_ox); + $bs1_end.setOrigin (vec_oy); + + sys.trigger ($bs1_start); // Turn on + sys.wait (TRAIN_BLINK); + sys.trigger ($bs1_start); // Make sure we turn off the last beam + } + } + } + + void pattern3() + { + float x, y, i, tmp; + entity px, py; + entity ox, oy; + vector vec_ox, vec_oy; + + while (GO_PATTERN_3) + { + // -- Horizontal Movement + ox = sys.getEntity ("fp1"); + oy = sys.getEntity ("fp12"); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs2_start); // Turn off + + $bs2_start.setOrigin (vec_ox); + $bs2_end.setOrigin (vec_oy); + + sys.trigger ($bs2_start); // Turn On + + sys.wait (TRAIN_BLINK2); + + ox = sys.getEntity ("fp2"); + oy = sys.getEntity ("fp11"); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs2_start); // Turn off + + $bs2_start.setOrigin (vec_ox); + $bs2_end.setOrigin (vec_oy); + + sys.trigger ($bs2_start); // Turn On + + sys.wait (TRAIN_BLINK2); + + ox = sys.getEntity ("fp3"); + oy = sys.getEntity ("fp10"); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs2_start); // Turn off + + $bs2_start.setOrigin (vec_ox); + $bs2_end.setOrigin (vec_oy); + + sys.trigger ($bs2_start); // Turn On + + sys.wait (TRAIN_BLINK2); + + ox = sys.getEntity ("fp4"); + oy = sys.getEntity ("fp9"); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs2_start); // Turn off + + $bs2_start.setOrigin (vec_ox); + $bs2_end.setOrigin (vec_oy); + + sys.trigger ($bs2_start); // Turn On + + sys.wait (TRAIN_BLINK2); + + // -- Vertical Movement + + ox = sys.getEntity ("fp16"); + oy = sys.getEntity ("fp5"); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs2_start); // Turn off + + $bs2_start.setOrigin (vec_ox); + $bs2_end.setOrigin (vec_oy); + + sys.trigger ($bs2_start); // Turn On + + sys.wait (TRAIN_BLINK2); + + ox = sys.getEntity ("fp15"); + oy = sys.getEntity ("fp6"); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs2_start); // Turn off + + $bs2_start.setOrigin (vec_ox); + $bs2_end.setOrigin (vec_oy); + + sys.trigger ($bs2_start); // Turn On + + sys.wait (TRAIN_BLINK2); + + ox = sys.getEntity ("fp14"); + oy = sys.getEntity ("fp7"); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs2_start); // Turn off + + $bs2_start.setOrigin (vec_ox); + $bs2_end.setOrigin (vec_oy); + + sys.trigger ($bs2_start); // Turn On + + sys.wait (TRAIN_BLINK2); + + ox = sys.getEntity ("fp13"); + oy = sys.getEntity ("fp8"); + + vec_ox = ox.getOrigin(); + vec_oy = oy.getOrigin(); + + sys.trigger ($bs2_start); // Turn off + + $bs2_start.setOrigin (vec_ox); + $bs2_end.setOrigin (vec_oy); + + sys.trigger ($bs2_start); // Turn On + + sys.wait (TRAIN_BLINK2); + } + sys.trigger ($bs2_start); // Turn the last one off + } + + void train_proceed() + { + TRAIN_MOVING = 3; +/* + $TRAIN_ANCHOR.speed (TRAIN_FINAL_SPEED); + $TRAIN_ANCHOR.accelTime (8); + $TRAIN_ANCHOR.decelTime (0); +*/ + $rd_1_1.close(); + $rd_3_1.close(); + + $TRAIN_ANCHOR.time (20); + $TRAIN_ANCHOR.accelTime( 10 ); + $TRAIN_ANCHOR.decelTime( 0 ); + + //$player1.disableWeapon(); + + $TRAIN_ANCHOR.startSpline( $spline2 ); + + sys.trigger ($movement_speaker); // Turn movement speaker on + sys.trigger ($squeal_speaker); + + sys.waitFor ($TRAIN_ANCHOR); + + //$player1.enableWeapon(); + + sys.trigger ($squeal_speaker); + sys.trigger ($movement_speaker); // Turn movement speaker off + + TRAIN_MOVING = 4; + } + + // FIXME: This does not work at all. Cannot hide the monorail rider... + void swap_trainzombie() + { + $monorail_rider.hide(); + $monorail_rider.remove(); + sys.trigger ($monorail_zombie); + } + + void bind_objects() + { + + } + + void init_world() + { + float i; + float j; + entity ent; + + float ftemp; + // Disable all the airlock doors for the monorail tracks + for (i=1; i<=12; i++) + { + for (j=1; j<=3; j++) + { + ent = sys.getEntity ( "d" + i + "_" + j ); + ent.disable(); + } + } + + $d11a_1.disable(); + $d11a_2.disable(); + $d11a_3.disable(); + + $d12a_1.disable(); + $d12a_2.disable(); + $d12a_3.disable(); + + $TRAIN_ANCHOR.speed (TRAIN_SPEED); + + //$rot1.time ( CalcTimeForRotationAroundEntity( 1576, 90, TRAIN_SPEED) ); + //$rot2.time ( CalcTimeForRotationAroundEntity( 1576, 90, TRAIN_SPEED) ); + + $ld_1_1.disable(); + $ld_1_2.disable(); + $ld_2_1.disable(); + $ld_2_2.disable(); + $ld_3_1.disable(); + $ld_3_2.disable(); + $ld_4_1.disable(); + $ld_4_2.disable(); + + $rd_1_1.disable(); + $rd_1_2.disable(); + $rd_2_1.disable(); + $rd_2_2.disable(); + $rd_3_1.disable(); + $rd_3_2.disable(); + $rd_4_1.disable(); + $rd_4_2.disable(); + + $indoor_3.disable(); //Opened up by a script later on... + $indoor_4.disable(); //^---- Yeah, what he said... + + $ld_1_1.open(); + //$ld_3_1.open(); //As per discussion with Tim, lets leave the back doors locked. + + //$light1_green.Off(); + $boomlight.Off(); + $boomlight2.Off(); + $boomlight3.Off(); + + $light_tunnel_1.Off(); + $light_tunnel_1_spin.Off(); + + //hide door clips at start of map + $doorclip_rightFront.hide(); + $doorclip_leftFront.hide(); + $doorclip_rightRear.hide(); + $doorclip_leftRear.hide(); + } + + void fadein_lights() + { + entity ent; + float i; + + for (i=1; i<=10; i++) + { + ent=sys.getEntity ("llight_" + i); + ent.fadeInLight (LIGHT_FADEIN_TIME); + + ent=sys.getEntity ("rlight_" + i); + ent.fadeInLight (LIGHT_FADEIN_TIME); + + ent=sys.getEntity ("alight_" + i); + ent.fadeInLight (LIGHT_FADEIN_TIME); + + ent=sys.getEntity ("tlight_" + i); + ent.fadeInLight (LIGHT_FADEIN_TIME); + } + + $last_extralight.fadeInLight (LIGHT_FADEIN_TIME); + + } + + void toggle_llights() + { + entity ent; + float i; + + for (i=1; i<=10; i++) + { + ent=sys.getEntity ("llight_" + i); + if (LLIGHT_STATE == 1) + ent.Off(); + else + ent.On(); + + ent=sys.getEntity ("rlight_" + i); + if (LLIGHT_STATE == 1 ) + ent.Off(); + else + ent.On(); + + ent=sys.getEntity ("alight_" + i); + if (LLIGHT_STATE == 1) + ent.Off(); + else + ent.On(); + + ent=sys.getEntity ("tlight_" + i); + if (LLIGHT_STATE == 1) + ent.Off(); + else + ent.On(); + } + + if (LLIGHT_STATE == 1) + { + $TRAIN_ANCHOR_flare_0.hide(); + $TRAIN_ANCHOR_flare_2.hide(); + $TRAIN_ANCHOR_flare_3.hide(); + $TRAIN_ANCHOR_flare_4.hide(); + } + else + { + $TRAIN_ANCHOR_flare_0.show(); + $TRAIN_ANCHOR_flare_2.show(); + $TRAIN_ANCHOR_flare_3.show(); + $TRAIN_ANCHOR_flare_4.show(); + } + + if ( LLIGHT_STATE == 1) + { + LLIGHT_STATE = 0; + } + else + LLIGHT_STATE = 1; + } + + void thud_1() + { + sys.trigger ($tspeaker); + //toggle_llights(); + sys.fadeOut ('0 0 0', LIGHT_FADEOUT_TIME); + sys.wait (0.5); + sys.fadeIn ('0 0 0', LIGHT_FADEOUT_TIME); + //toggle_llights(); + } + + void thud_2() + { + sys.trigger ($tspeaker_1); + //toggle_llights(); + sys.fadeOut ('0 0 0', LIGHT_FADEOUT_TIME); + sys.wait (0.5); + sys.fadeIn ('0 0 0', LIGHT_FADEOUT_TIME); + //toggle_llights(); + } + + //After the train crashes, we need to hide stuff and pop in alternate models + void hide_train() + { + sys.trigger ($inside_ambience); // Turn it off + sys.trigger ($xian_speaker_2); // This one too... + + $movement_speaker.remove(); + $squeal_speaker.remove(); + + //sys.trigger ($movement_speaker); // Can't forget this one either... + + sys.trigger ($train_burning); // Turn on flame sounds + sys.trigger ($train_burning2); // Turn on flame sounds + + $bm_monorail.remove(); + + $ld_1_1.hide(); + $ld_1_2.hide(); + $ld_2_1.hide(); + $ld_2_2.hide(); + $ld_3_1.hide(); + $ld_3_2.hide(); + $ld_4_1.hide(); + $ld_4_2.hide(); + + sys.wait (0.05); + + $rd_1_1.hide(); + $rd_1_2.hide(); + $rd_2_1.hide(); + $rd_2_2.hide(); + $rd_3_1.hide(); + $rd_3_2.hide(); + $rd_4_1.hide(); + $rd_4_2.hide(); + + sys.wait (0.05); + + $xtlight_1.remove(); + sys.wait (0.05); + $xtlight_2.remove(); + sys.wait (0.05); + $xtlight_3.remove(); + sys.wait (0.05); + $xtlight_4.remove(); + + sys.wait (0.05); + + $ilight_1.remove(); + sys.wait (0.05); + $ilight_2.remove(); + sys.wait (0.05); + $ilight_3.remove(); + sys.wait (0.05); + $ilight_4.remove(); + + sys.wait (0.05); + + $intlight_1.remove(); + sys.wait (0.05); + $intlight_2.remove(); + sys.wait (0.05); + $intlight_3.remove(); + + sys.wait (0.05); + + $indoor_3.hide(); + sys.wait (0.05); + $indoor_4.hide(); + + $monobox_1.hide(); + $monobox_2.hide(); + $monobox_3.hide(); + + $fire_particle_1.show(); + $fire_particle_2.show(); + $fire_particle_3.show(); + $monorail_debris_1.show(); + $monorail_debris_2.show(); + sys.trigger ($fire1_paintrigger); + } + + void thud_crash() + { + sys.trigger ($crash_speaker); + sys.fadeOut ('0 0 0', 0.05); + //toggle_llights(); + //$last_extralight.Off(); + //$last_extralight_1.Off(); + sys.wait (2); + + //swap out broken airlock door and overhead light + $crashdoor_broken.show(); + $crashdoor_left.hide(); + $crashdoor_middle.hide(); + $crashdoor_right.hide(); + $crashsite_light_on.hide(); + $crashsite_light_damaged.show(); + + sys.trigger ($door_spark1); + sys.trigger ($door_spark2); + sys.trigger ($door_spark3); + sys.trigger ($door_spark4); + sys.trigger ($door_spark5); + + + $track.hide(); + sys.wait (0.1); + $broke_1.show(); + sys.wait (0.1); + //$broke_2.show(); + //sys.wait (0.1); + + sys.trigger ($crash_destination); // Lets get the player out of the train. + + hide_train(); + + $boomtrain.show(); + $boomlight.On(); + $boomlight2.On(); + $boomlight3.On(); + sys.wait(2); + //fadein_lights(); + sys.fadeIn ('0 0 0', LIGHT_FADEIN_TIME); + sys.wait (9); + sys.trigger ($speaker_track_malfunction); + } + + + void open_d1() + { $d1_1.open(); } + + void close_d1() + { $d1_1.close(); } + + void open_d2() + { $d2_1.open(); } + + void close_d2() + { $d2_1.close(); } + + void open_d3() + { $d3_1.open(); } + + void close_d3() + { $d3_1.close(); } + + void open_d4() + { $d4_1.open(); } + + void close_d4() + { $d4_1.close(); } + + void open_d5() + { $d5_1.open(); } + + void close_d5() + { $d5_1.close(); } + + void open_d6() + { $d6_1.open(); } + + void close_d6() + { $d6_1.close(); } + + void open_d7() + { $d7_1.open(); } + + void close_d7() + { $d7_1.close(); } + + void open_d8() + { $d8_1.open(); } + + void close_d8() + { $d8_1.close(); } + + void open_d9() + { $d9_1.open(); } + + void close_d9() + { $d9_1.close(); } + + void open_d10() + { $d10_1.open(); } + + void close_d10() + { $d10_1.close(); } + + void open_d11() + { $d11_1.open(); } + + void close_d11() + { $d11_1.close(); } + + void open_d11a() + { $d11a_1.open(); } + + void close_d11a() + { $d11a_1.close(); } + + void open_d12() + { $d12_1.open(); } + + void close_d12() + { $d12_1.close(); } + + void open_d12a() + { + $d12a_1.open(); + sys.trigger ($speaker_brakesqueal); + } + + void close_d12a() { + $d12a_1.close(); } + + void open_d105() { + $d105_1.open(); + } + + void close_d105() { + $d105_1.close(); + } + + void open_d106() { + $d106_1.open(); + } + + void close_d106() { + $d106_1.close(); + } + + + void reset_door() + { + //$light1_green.setColor (); + //$light1_yellow.setColor () + //$light1_red.setColor(); + + $light1_red.setColor (0.168627, 0.000000, 0.000000); + $light1_yellow.setColor (0.819608, 0.792157, 0.070588); + sys.wait (0.5); + + $light1_yellow.setColor (0.160784, 0.152941, 0.011765); + $light1_green.setColor (0.105882, 0.898039, 0.184314); + + sys.wait (0.5); + + sys.trigger ($speaker_overide); + + sys.trigger ($unlock_objective); + gf_Site2_Warning = FALSE; // Stop playing the warning loop if they have + // been in the area for longer than 60 seconds + sys.trigger ($monorail_gui); // Trigger the gui to resume operation + TRAIN_MOVING = 2; + + $rd_1_1.open(); + $rd_3_1.open(); + + //turn on trigger for tram rider swap with gibs + sys.trigger ($trigger_once_28); + } + + void move_train() + { + /* + State is 0 upon loading the level + State is 1 when it's travelling along the first stretch + State is 2 after the button is pressed to open the two blocked doors + State is 3 after the train resumes the last leg of it's trip + */ + + if (TRAIN_MOVING == 1) return; + + if (TRAIN_MOVING == 2) + { + train_proceed(); + return; + } + + $ld_1_1.close(); + //$ld_3_1.close();//already closed + $rd_3_1.close(); + //turn on door player clips + $doorclip_rightFront.show(); + $doorclip_leftFront.show(); + $doorclip_rightRear.show(); + $doorclip_leftRear.show(); + sys.waitFor ($ld_1_1);//changed from 3_1 to 1_1 + + sys.wait (1); + + $TRAIN_ANCHOR.time (70); + + $TRAIN_ANCHOR.accelTime( 3 ); + $TRAIN_ANCHOR.decelTime( 3 ); + + //$player1.disableWeapon(); //changed to target_enableweapons in radiant + + $TRAIN_ANCHOR.startSpline ( $spline1 ); + $TRAIN_ANCHOR.removeInitialSplineAngles(); + TRAIN_MOVING = 1; + + //trigger sounds + sys.trigger ($movement_speaker); + sys.trigger ($squeal_speaker); + sys.waitFor ($TRAIN_ANCHOR); + //trigger sounds + sys.trigger ($steamchuff); + sys.trigger ($squeal_speaker); + sys.trigger ($movement_speaker); + + //hide door clips after train reaches site2 dock + $doorclip_rightFront.hide(); + $doorclip_leftFront.hide(); + $doorclip_rightRear.hide(); + $doorclip_leftRear.hide(); + + //$player1.enableWeapon(); //changed to target_enableweapons in radiant + $rd_1_1.open(); + sys.wait (3); + sys.trigger ($item_objective_5); // Trigger the objective after the train stops. + } + + void close_tram_doors() + { + $rd_1_1.close(); + $rd_3_1.close(); + } + + //void open_tram_doors() + //{ + // $rd_1_1.open(); + // $rd_3_1.open(); + //} + + void squeal_monorail() + { + sys.trigger ($squeal_stop_speaker); + } + void voc_1() + { + sys.trigger ($speaker_voc1); + } + void voc_2() + { + sys.trigger ($speaker_voc2); + } + void voc_3() + { + sys.trigger ($speaker_voc3); + } + void voc_4() + { + sys.trigger ($speaker_voc4); + } + void voc_5() + { + sys.trigger ($speaker_voc5); + } + void voc_6() + { + sys.trigger ($speaker_voc6); + } + void voc_7() + { + sys.trigger ($speaker_voc7); + } + void voc_8() + { + sys.trigger ($speaker_voc8); + } + void voc_evil() + { + sys.trigger ($speaker_chant); + } + // Simplified version of Matt's E3_2 Machine + void spawn_exit() + { + if ( TRAIN_MOVING == 2 ) + { + sys.trigger ($monster_demon_trite_1); + sys.trigger ($monster_demon_trite_2); + } + } + + void matt_mover() + { + $arm.time (1); + $top.time (0.75); + $bottom.time (0.5); + + while (1) + { + // Should be centered here - Moving right next... + $arm.rotateOnce ('0 90 0'); + $top.rotateOnce ('0 0 90'); + sys.waitFor ($arm); + + $rotator.rotateOnce ('0 360 0'); + $bottom.move (UP, 24); + + sys.waitFor ($bottom); + + sys.wait (0.5); + + $rotator.rotateOnce ('0 -360 0'); + $bottom.move (DOWN, 24); + sys.waitFor ($bottom); + + $arm.rotateOnce ('0 -90 0'); + $top.rotateOnce ('0 0 -90'); + sys.waitFor ($arm); + + // Should be centered here ... about to move left. + + $arm.rotateOnce ('0 -90 0'); + $top.rotateOnce ('0 0 -90'); + sys.waitFor ($arm); + + $rotator.rotateOnce ('0 360 0'); + $bottom.move (UP, 24); + + sys.waitFor ($bottom); + + sys.wait (0.5); + + $rotator.rotateOnce ('0 -360 0'); + $bottom.move (DOWN, 24); + sys.waitFor ($bottom); + + $arm.rotateOnce ('0 90 0'); + $top.rotateOnce ('0 0 90'); + sys.waitFor ($arm); + } + } + + void cage_movement(entity ent) + { + //$rot1.time ( CalcTimeForRotationAroundEntity( 1576, 90, TRAIN_SPEED) ); + vector vec; + entity cagepath; + ent.time (CAGE_SPEED); + } + + void activate_rider() + { + sys.trigger ($monorail_rider_1); + sys.wait(.1); + $indoor_3.open(); // Open the door so we can see the monorail rider. + $indoor_4.open(); + } + + void cache_sounds() { + $speaker_165.cacheSoundShader ("monorail_computer_turrets_on"); + $speaker_165.cacheSoundShader ("monorail_computer_turrets_off"); + } + + void main() + { + cache_sounds(); + bind_objects(); + init_world(); + thread pattern1(); + thread pattern3(); + thread matt_mover(); + } +} diff --git a/base/script/map_recycling1.script b/base/script/map_recycling1.script new file mode 100644 index 00000000..c82d0a72 --- /dev/null +++ b/base/script/map_recycling1.script @@ -0,0 +1,1077 @@ +namespace map_recycling1 { + + //this variable tracks which door is the entrance + float airlock_state = 0; + float airlock2_state = 0; + + void mover_startsound (entity ent) { + ent.startSoundShader ("m1_start", SND_CHANNEL_VOICE); + sys.wait (0.75); + ent.startSoundShader ("m1_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound (entity ent) { + ent.startSoundShader ("m1_stop", SND_CHANNEL_VOICE2); + ent.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_ITEM ); + } + + void setup_objects () + { + + //set airlock door guis initial states to 1 + $airlock_door1_gui.setGuiParm ( "gui_parm1" , 1); + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 1); + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 1); + + //airlock door1 times + $airlock_door1_left.time (1.2); + $airlock_door1_right.time (1.2); + $airlock_door1_left.accelTime (.2); + $airlock_door1_left.decelTime (1); + $airlock_door1_right.accelTime (.2); + $airlock_door1_right.decelTime (1); + + $airlock_door1_top_lock.time (.25); + $airlock_door1_bottom_lock.time (.25); + + $airlock_door1_left_lock.time (.75); + $airlock_door1_right_lock.time (.75); + $airlock_door1_left_lock.accelTime (.1); + $airlock_door1_left_lock.decelTime (.65); + $airlock_door1_right_lock.accelTime (.1); + $airlock_door1_right_lock.decelTime (.65); + + //airlock door2 times + $airlock_door2_left.time (1.2); + $airlock_door2_right.time (1.2); + $airlock_door2_left.accelTime (.2); + $airlock_door2_left.decelTime (1); + $airlock_door2_right.accelTime (.2); + $airlock_door2_right.decelTime (1); + + $airlock_door2_top_lock.time (.25); + $airlock_door2_bottom_lock.time (.25); + + $airlock_door2_left_lock.time (.75); + $airlock_door2_right_lock.time (.75); + $airlock_door2_left_lock.accelTime (.1); + $airlock_door2_left_lock.decelTime (.65); + $airlock_door2_right_lock.accelTime (.1); + $airlock_door2_right_lock.decelTime (.65); + + //airlock2 door1 times + $airlock2_door1_left.time (1.2); + $airlock2_door1_right.time (1.2); + $airlock2_door1_left.accelTime (.2); + $airlock2_door1_left.decelTime (1); + $airlock2_door1_right.accelTime (.2); + $airlock2_door1_right.decelTime (1); + + $airlock2_door1_top_lock.time (.25); + $airlock2_door1_bottom_lock.time (.25); + + $airlock2_door1_left_lock.time (.75); + $airlock2_door1_right_lock.time (.75); + $airlock2_door1_left_lock.accelTime (.1); + $airlock2_door1_left_lock.decelTime (.65); + $airlock2_door1_right_lock.accelTime (.1); + $airlock2_door1_right_lock.decelTime (.65); + + //airlock2 door2 times + $airlock2_door2_left.time (1.2); + $airlock2_door2_right.time (1.2); + $airlock2_door2_left.accelTime (.2); + $airlock2_door2_left.decelTime (1); + $airlock2_door2_right.accelTime (.2); + $airlock2_door2_right.decelTime (1); + + $airlock2_door2_top_lock.time (.25); + $airlock2_door2_bottom_lock.time (.25); + + $airlock2_door2_left_lock.time (.75); + $airlock2_door2_right_lock.time (.75); + $airlock2_door2_left_lock.accelTime (.1); + $airlock2_door2_left_lock.decelTime (.65); + $airlock2_door2_right_lock.accelTime (.1); + $airlock2_door2_right_lock.decelTime (.65); + + //leaking pump room + $bpipes.bind ($bpipes_anchor); + $arm_pivot.bind ($arm_pivot_anchor); + $arm_top.bind ($arm_top_anchor); + $arm_bottom.bind ($arm_bottom_anchor); + $arm_bottom_anchor.bind ($arm_top_anchor); + $arm_top_anchor.bind ($arm_pivot_anchor); + + //revenant room + $walkway1.bind ($walkway1_anchor); + $walkway2.bind ($walkway2_anchor); + $walkway3.bind ($walkway3_anchor); + + $walkway1_anchor.accelTime (1); + //$walkway2_anchor.accelTime (.5); + $walkway3_anchor.accelTime (.5); + + $walkway1_anchor.time (1); + $walkway2_anchor.time (.5); + $walkway3_anchor.time (.8); + + + } + + //////////////// + //misc + //////////////// + + + void walkway2_fall () + { + sys.wait (7.8); + + $walkway1_anchor.rotateOnce ('-80 0 0'); + sys.waitFor ($walkway1_anchor); + + $walkway3_anchor.rotateOnce ('0 0 -45'); + sys.waitFor ($walkway3_anchor); + + sys.wait (4.7); + + //sys.trigger ($walkway2_explosion); + + $walkway2_anchor.rotateOnce ('-56 0 0'); + sys.waitFor ($walkway2_anchor); + + } + + void skcube_fall () + { + $skcube_mover.accelTime (.4); + $skcube_mover.time (.5); + $skcube_mover.rotateOnce ('0 0 90'); + sys.waitFor ($skcube_mover); + + sys.trigger ($skcube_dust); + + $skcube_mover.accelTime (.05); + $skcube_mover.time (.05); + $skcube_mover.rotateOnce ('0 0 -4'); + sys.waitFor ($skcube_mover); + $skcube_mover.rotateOnce ('0 0 4'); + sys.waitFor ($skcube_mover); + + $skcube_mover.time (.05); + $skcube_mover.rotateOnce ('0 0 -2'); + sys.waitFor ($skcube_mover); + $skcube_mover.rotateOnce ('0 0 2'); + + } + + void skcube2_fall () + { + $skcube2_mover.accelTime (.4); + $skcube2_mover.time (.5); + $skcube2_mover.rotateOnce ('0 0 90'); + sys.waitFor ($skcube2_mover); + + sys.trigger ($skcube2_dust); + + $skcube2_mover.accelTime (.05); + $skcube2_mover.time (.05); + $skcube2_mover.rotateOnce ('0 0 -4'); + sys.waitFor ($skcube2_mover); + $skcube2_mover.rotateOnce ('0 0 4'); + sys.waitFor ($skcube2_mover); + + $skcube2_mover.time (.05); + $skcube2_mover.rotateOnce ('0 0 -2'); + sys.waitFor ($skcube2_mover); + $skcube2_mover.rotateOnce ('0 0 2'); + + } + void skcube3_fall () + { + $skcube3_mover.accelTime (.4); + $skcube3_mover.time (.5); + $skcube3_mover.rotateOnce ('0 0 90'); + sys.waitFor ($skcube3_mover); + + sys.trigger ($skcube3_dust); + + $skcube3_mover.accelTime (.05); + $skcube3_mover.time (.05); + $skcube3_mover.rotateOnce ('0 0 -4'); + sys.waitFor ($skcube3_mover); + $skcube3_mover.rotateOnce ('0 0 4'); + sys.waitFor ($skcube3_mover); + + $skcube3_mover.time (.05); + $skcube3_mover.rotateOnce ('0 0 -2'); + sys.waitFor ($skcube3_mover); + $skcube3_mover.rotateOnce ('0 0 2'); + + } + + void ceilingpipe_mover1_rumble() + { + $ceilingpipe_mover1.time (.1); + + while(1){ + $ceilingpipe_mover1.rotateOnce ( '0.5 1 0' ); + sys.waitFor ($ceilingpipe_mover1); + $ceilingpipe_mover1.rotateOnce ( '-0.5 -1 0' ); + sys.waitFor ($ceilingpipe_mover1); + + } + } + + void ladder1_lower() + { + $ladder1.time(2); + sys.trigger ($speaker_ladder1); + $ladder1.moveTo ($ladder_down); + } + + void pipesteam1_cycle () + { + while (1) + { + sys.trigger ($pipesteam1); + sys.trigger ($pipesteam1_speaker); + sys.wait (2); + sys.trigger ($pipesteam1); + sys.wait (3); + } + } + + //////////////// + //break skywalk + //////////////// + + void skywalk_fall () + { + sys.trigger ($recycling1_skybridge); + } + + + + //////////////// + //big tank pump room + //////////////// + + void bigtank_pumps_on1 () + { + while (1) + { + $piston_left.accelTime (.4); + $piston_left.time (1.2); + thread mover_startsound ($piston_left); + $piston_left.move (DOWN,128); + $piston_left.rotateOnce ('0 20 0'); + sys.waitFor ($piston_left); + mover_stopsound ($piston_left); + + sys.wait (0.5); + + $piston_left.time (1.6); + thread mover_startsound ($piston_left); + $piston_left.move (UP,128); + $piston_left.rotateOnce ('0 -20 0'); + sys.waitFor ($piston_left); + mover_stopsound ($piston_left); + + sys.wait (0.5); + + } + } + + void bigtank_pumps_on2 () + { + while (1) + { + $piston_right.accelTime (.4); + thread mover_startsound ($piston_right); + $piston_right.time (1); + $piston_right.move (DOWN,128); + $piston_right.rotateOnce ('0 -20 0'); + sys.waitFor ($piston_right); + mover_stopsound ($piston_right); + + sys.wait (0.5); + + $piston_right.time (1.5); + thread mover_startsound ($piston_right); + $piston_right.move (UP,128); + $piston_right.rotateOnce ('0 20 0'); + sys.waitFor ($piston_right); + mover_stopsound ($piston_right); + + sys.wait (0.5); + } + } + + void bigtank_pumps_on3 () + { + while (1) + { + $piston_center.time (3); + $piston_center.startSoundShader ("rec1_3s_piston", SND_CHANNEL_VOICE ); + $piston_center.move (EAST,96); + $piston_center.rotateOnce ('0 0 360'); + sys.waitFor ($piston_center); + + $bigtank_smoke.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE ); + sys.trigger ($bigtank_smoke); + sys.wait (2); + $bigtank_smoke.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE2 ); + sys.trigger ($bigtank_smoke); + + $piston_center.time (3); + $piston_center.startSoundShader ("rec1_3s_piston", SND_CHANNEL_VOICE ); + $piston_center.move (WEST,96); + $piston_center.rotateOnce ('0 0 -360'); + sys.waitFor ($piston_center); + + $piston_center.startSoundShader ("rec1_2s_rotation", SND_CHANNEL_VOICE2 ); + $piston_center.time (2); + $piston_center.rotateOnce ('0 0 360'); + sys.waitFor ($piston_center); + } + } + + void bigtank_pumps_off () + { + + sys.killthread ( "map_recycling1::bigtank_pumps_on1" ); + sys.killthread ( "map_recycling1::bigtank_pumps_on2" ); + sys.killthread ( "map_recycling1::bigtank_pumps_on3" ); + + } + + //////////////// + //pump1 room + //////////////// + + void pump1apiston_start () + { + while (1) + { + $pump1apiston.accelTime (.3); + $pump1apiston.decelTime (.3); + $pump1apiston.startSoundShader ("rec1_pump_movement_1_5s", SND_CHANNEL_VOICE ); + $pump1apiston.time (1); + $pump1apiston.moveTo ($pump1aspot1); + $pump1apiston.rotateOnce ('0 20 0'); + sys.waitFor ($pump1apiston); + $pump1apiston.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_VOICE2 ); + + $pump1apiston_steam.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE ); + sys.trigger ($pump1apiston_steam); + + $pump1apiston.time (.5); + $pump1apiston.startSoundShader ("rec1_pump_movement_0_5s", SND_CHANNEL_VOICE ); + $pump1apiston.moveTo ($pump1aspot2); + $pump1apiston.rotateOnce ('0 -20 0'); + sys.waitFor ($pump1apiston); + $pump1apiston.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_VOICE2 ); + + sys.trigger ($pump1apiston_steam); + } + } + + void pump1bpiston_start () + { + while (1) + { + $pump1bpiston.accelTime (.3); + $pump1bpiston.decelTime (.3); + $pump1bpiston.startSoundShader ("rec1_pump_movement_1_5s", SND_CHANNEL_VOICE ); + $pump1bpiston.time (1.2); + $pump1bpiston.moveTo ($pump1bspot1); + $pump1bpiston.rotateOnce ('0 -15 0'); + $pump1bpiston.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_VOICE2 ); + sys.waitFor ($pump1bpiston); + + $pump1bpiston_steam.startSoundShader ("rec1_steamchuff", SND_CHANNEL_VOICE ); + sys.trigger ($pump1bpiston_steam); + + $pump1bpiston.time (.4); + $pump1bpiston.startSoundShader ("rec1_pump_movement_0_4s", SND_CHANNEL_VOICE ); + $pump1bpiston.moveTo ($pump1bspot2); + + $pump1bpiston.rotateOnce ('0 15 0'); + sys.waitFor ($pump1bpiston); + $pump1bpiston.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_VOICE2 ); + + sys.trigger ($pump1bpiston_steam); + } + } + + /////////////////// + //leaking pump room + /////////////////// + + void bpump_on () + { + while (1) + { + + + $bpipes_anchor.time (.5); + $bpipes_anchor.startSoundShader ("rec1_1_rotation", SND_CHANNEL_VOICE ); + $bpipes_anchor.rotateOnce ('0 0 -120'); + + sys.waitFor ($bpipes_anchor); + + $arm_pivot_anchor.time (1.2); + $arm_pivot_anchor.startSoundShader ("rec1_1_2s_movement", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.moveTo ($arm_spot2); + + $arm_top_anchor.time (.3); + $arm_top_anchor.startSoundShader ("rec1_pivot_0_3s", SND_CHANNEL_VOICE ); + $arm_top_anchor.rotateOnce ('-30 0 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_pivot_anchor.time (.7); + $arm_pivot_anchor.startSoundShader ("rec1_pivot_0_7s", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.rotateOnce ('0 -180 0'); + $arm_top_anchor.startSoundShader ("rec1_pivot_0_3s", SND_CHANNEL_VOICE ); + $arm_top_anchor.time (.3); + $arm_top_anchor.rotateOnce ('30 0 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_bottom_anchor.time (.8); + $arm_bottom_anchor.startSoundShader ("rec1_pivot_0_8s", SND_CHANNEL_VOICE ); + $arm_bottom_anchor.rotateOnce ('90 0 0'); + sys.waitFor ($arm_bottom_anchor); + + sys.trigger ($pipefill); + sys.trigger ($speaker_pipefill); + sys.wait (3.5); + + sys.trigger ($pipefill); + + $arm_bottom_anchor.time (.4); + $arm_bottom_anchor.startSoundShader ("rec1_pivot_0_4s", SND_CHANNEL_VOICE ); + $arm_bottom_anchor.rotateOnce ('-90 0 0'); + sys.waitFor ($arm_bottom_anchor); + + $arm_pivot_anchor.time (.7); + $arm_pivot_anchor.startSoundShader ("rec1_pivot_0_7s", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.rotateOnce ('0 180 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_pivot_anchor.time (1.5); + $arm_pivot_anchor.startSoundShader ("rec1_1_5s_movement", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.moveTo ($arm_spot1); + sys.waitFor ($arm_pivot_anchor); + + sys.wait (.5); + + $bpipes_anchor.time (1); + $bpipes_anchor.startSoundShader ("rec1_2_rotation", SND_CHANNEL_VOICE ); + $bpipes_anchor.rotateOnce ('0 0 240'); + + sys.waitFor ($bpipes_anchor); + + $arm_pivot_anchor.time (1.2); + $arm_pivot_anchor.startSoundShader ("rec1_1_2s_movement", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.moveTo ($arm_spot2); + $arm_top_anchor.time (.3); + $arm_top_anchor.startSoundShader ("rec1_pivot_0_3s", SND_CHANNEL_VOICE ); + $arm_top_anchor.rotateOnce ('-30 0 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_pivot_anchor.time (.7); + $arm_pivot_anchor.startSoundShader ("rec1_pivot_0_7s", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.rotateOnce ('0 -180 0'); + $arm_top_anchor.startSoundShader ("rec1_pivot_0_3s", SND_CHANNEL_VOICE ); + $arm_top_anchor.time (.3); + $arm_top_anchor.rotateOnce ('30 0 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_bottom_anchor.time (.8); + $arm_bottom_anchor.startSoundShader ("rec1_pivot_0_8s", SND_CHANNEL_VOICE ); + $arm_bottom_anchor.rotateOnce ('90 0 0'); + sys.waitFor ($arm_bottom_anchor); + + sys.trigger ($speaker_pipefill); + sys.trigger ($pipefill); + + sys.wait (3.5); + + sys.trigger ($pipefill); + + $arm_bottom_anchor.time (.4); + $arm_bottom_anchor.startSoundShader ("rec1_pivot_0_4s", SND_CHANNEL_VOICE ); + $arm_bottom_anchor.rotateOnce ('-90 0 0'); + sys.waitFor ($arm_bottom_anchor); + + $arm_pivot_anchor.time (.7); + $arm_pivot_anchor.startSoundShader ("rec1_pivot_0_7s", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.rotateOnce ('0 180 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_pivot_anchor.time (1.5); + $arm_pivot_anchor.startSoundShader ("rec1_1_5s_movement", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.moveTo ($arm_spot1); + sys.waitFor ($arm_pivot_anchor); + + sys.wait (.5); + + $bpipes_anchor.time (2); + $bpipes_anchor.startSoundShader ("rec1_3_rotation", SND_CHANNEL_VOICE ); + $bpipes_anchor.rotateOnce ('0 0 -480'); + + sys.waitFor ($bpipes_anchor); + + $arm_pivot_anchor.time (1.2); + $arm_pivot_anchor.startSoundShader ("rec1_1_2s_movement", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.moveTo ($arm_spot2); + $arm_top_anchor.startSoundShader ("rec1_pivot_0_3s", SND_CHANNEL_VOICE ); + $arm_top_anchor.time (.3); + $arm_top_anchor.rotateOnce ('-30 0 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_pivot_anchor.time (.7); + $arm_pivot_anchor.startSoundShader ("rec1_pivot_0_7s", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.rotateOnce ('0 -180 0'); + $arm_top_anchor.startSoundShader ("rec1_pivot_0_3s", SND_CHANNEL_VOICE ); + $arm_top_anchor.time (.3); + $arm_top_anchor.rotateOnce ('30 0 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_bottom_anchor.time (.8); + $arm_bottom_anchor.startSoundShader ("rec1_pivot_0_8s", SND_CHANNEL_VOICE ); + $arm_bottom_anchor.rotateOnce ('90 0 0'); + sys.waitFor ($arm_bottom_anchor); + + sys.trigger ($speaker_pipefill); + sys.trigger ($pipefill); + + sys.wait (3.5); + + sys.trigger ($pipefill); + + $arm_bottom_anchor.time (.4); + $arm_bottom_anchor.startSoundShader ("rec1_pivot_0_4s", SND_CHANNEL_VOICE ); + $arm_bottom_anchor.rotateOnce ('-90 0 0'); + sys.waitFor ($arm_bottom_anchor); + + $arm_pivot_anchor.time (.7); + $arm_pivot_anchor.startSoundShader ("rec1_pivot_0_7s", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.rotateOnce ('0 180 0'); + sys.waitFor ($arm_pivot_anchor); + + $arm_pivot_anchor.time (1.5); + $arm_pivot_anchor.startSoundShader ("rec1_1_5s_movement", SND_CHANNEL_VOICE ); + $arm_pivot_anchor.moveTo ($arm_spot1); + sys.waitFor ($arm_pivot_anchor); + + sys.wait (.5); + } + } + + void bpump_off () + { + sys.killthread ( "map_recycling1::bpump_on" ); + sys.trigger ($func_remove_2); + } + + //////////////////////////////////////////////////// + // + // Open airlock door1 + // + //////////////////////////////////////////////////// + void airlock_door1_open() + { + entity ent; + + //disable the gui on door1 + $airlock_door1_gui.setGuiParm ( "gui_parm1" , 0); + + //turn door1 light on and door2 light off + thread crossFadeEnt ($door2_light, '.82 .76 .56', '0.4 0 0', 1); + sys.wait(1); + thread crossFadeEnt ($door1_light, '0.4 0 0', '.82 .76 .56', 1); + + //move the 4 locks to unlock position + + sys.trigger ($speaker_airlock_door1_bottom_lock); // SOUND + + $airlock_door1_top_lock.move ( UP, 15 ); + $airlock_door1_bottom_lock.move ( DOWN, 15 ); + sys.waitFor ($airlock_door1_bottom_lock); + + sys.trigger ($speaker_airlock_door1_right_lock); // SOUND + sys.trigger ($speaker_airlock_door1_left_lock); // SOUND + + $airlock_door1_left_lock.move ( NORTH, -16 ); + $airlock_door1_right_lock.move ( NORTH, -16 ); + sys.waitFor ($airlock_door1_right_lock); + + //open doors + + sys.trigger ($speaker_airlock_door1_open); // SOUND + + $airlock_door1_left.rotateOnce ( '0 45 0' ); + $airlock_door1_right.rotateOnce ( '0 -45 0' ); + + //trigger the portal + sys.trigger ($airlock_door1_portal); + + sys.waitFor ($airlock_door1_right); + sys.waitFor ($airlock_door1_left); + + //set airlock state to door 1 + ent=sys.getEntity( "airlock_door1_portal" ); + ent.setKey( "state", 1 ); + } + + + //////////////////////////////////////////////////// + // + // Open airlock door2 + // + //////////////////////////////////////////////////// + void airlock_door2_open() + { + entity ent; + + //turn door2 light on and door1 light off + thread crossFadeEnt ($door1_light, '.82 .76 .56', '0.4 0 0', 1); + sys.wait(1); + thread crossFadeEnt ($door2_light, '0.4 0 0', '.82 .76 .56', 1); + + //move the 4 locks to unlock position + + sys.trigger ($speaker_airlock_door2_bottom_lock); // SOUND + + $airlock_door2_top_lock.move ( UP, 15 ); + $airlock_door2_bottom_lock.move ( DOWN, 15 ); + sys.waitFor ($airlock_door2_bottom_lock); + + sys.trigger ($speaker_airlock_door2_right_lock); // SOUND + sys.trigger ($speaker_airlock_door2_left_lock); // SOUND + + $airlock_door2_left_lock.move ( NORTH, 16 ); + $airlock_door2_right_lock.move ( NORTH, 16 ); + sys.waitFor ($airlock_door2_right_lock); + + //open doors + + sys.trigger ($speaker_airlock_door2_open); // SOUND + + $airlock_door2_left.rotateOnce ( '0 45 0' ); + $airlock_door2_right.rotateOnce ( '0 -45 0' ); + + //trigger the portal + sys.trigger ($airlock_door2_portal); + + sys.waitFor ($airlock_door2_right); + sys.waitFor ($airlock_door2_left); + + //set airlock state + ent=sys.getEntity( "airlock_door1_portal" ); + ent.setKey( "state", 2 ); + + } + + + //////////////////////////////////////////////////// + // + // Close airlock door1 + // + //////////////////////////////////////////////////// + void airlock_door1_close() + { + //close doors + + sys.trigger ($speaker_airlock_door1_close); // SOUND + + $airlock_door1_left.rotateOnce ( '0 -45 0' ); + $airlock_door1_right.rotateOnce ( '0 45 0' ); + sys.waitFor ($airlock_door1_right); + + //trigger the portal + sys.trigger ($airlock_door1_portal); + + //fire sound trigger + sys.trigger ($airlock_speaker); + + //move the 4 locks to lock position + sys.trigger ($speaker_airlock_door1_right_lock); // SOUND + sys.trigger ($speaker_airlock_door1_left_lock); // SOUND + + $airlock_door1_left_lock.move ( NORTH, 16 ); + $airlock_door1_right_lock.move ( NORTH, 16 ); + sys.waitFor ($airlock_door1_right_lock); + + sys.trigger ($speaker_airlock_door1_bottom_lock); // SOUND + + $airlock_door1_top_lock.move ( DOWN, 15 ); + $airlock_door1_bottom_lock.move ( UP, 15 ); + sys.waitFor ($airlock_door1_top_lock); + } + + + //////////////////////////////////////////////////// + // + // Close airlock door2 + // + //////////////////////////////////////////////////// + void airlock_door2_close() + { + //close doors + + sys.trigger ($speaker_airlock_door2_close); // SOUND + + $airlock_door2_left.rotateOnce ( '0 -45 0' ); + $airlock_door2_right.rotateOnce ( '0 45 0' ); + sys.waitFor ($airlock_door2_right); + + //trigger the portal + sys.trigger ($airlock_door2_portal); + + //fire sound trigger + sys.trigger ($airlock_speaker); + + //move the 4 locks to lock position + sys.trigger ($speaker_airlock_door2_right_lock); // SOUND + sys.trigger ($speaker_airlock_door2_left_lock); // SOUND + + $airlock_door2_left_lock.move ( NORTH, -16 ); + $airlock_door2_right_lock.move ( NORTH, -16 ); + sys.waitFor ($airlock_door2_right_lock); + + sys.trigger ($speaker_airlock_door2_bottom_lock); // SOUND + + $airlock_door2_top_lock.move ( DOWN, 15 ); + $airlock_door2_bottom_lock.move ( UP, 15 ); + sys.waitFor ($airlock_door2_top_lock); + + } + + //////////////////////////////////////////////////// + // + // Main Activate airlock + // conditionally chooses based on entrance + // + //////////////////////////////////////////////////// + void airlock_main_activate() + { + entity ent; + + //check to see which way the player entered by checking the airlock_state + //if 1 then close 1 and open 2 + + ent=sys.getEntity ("airlock_door1_portal" ); + + if (ent.getFloatKey ("state")==1) { + airlock_door1_close(); + airlock_door2_open(); + + } else { //else close 2 and open 1 + airlock_door2_close(); + airlock_door1_open(); + } + } + + + //////////////////////////////////////////////////// + // + // AIRLOCK main activation + // + //////////////////////////////////////////////////// + void airlock1_activate() + { + //disable the guis on the doors + $airlock_door1_gui.setGuiParm ( "gui_parm1" , 0); + $airlock_innerguiholder.setGuiParm ( "gui_parm11" , 0); + + airlock_main_activate(); + + //check the airlock state and enable the guis on the closed door + if ($airlock_door1_portal.getFloatKey ("state")==1) { + $airlock_door2_gui.setGuiParm ( "gui_parm1" , 1); + } else { //else close 2 and open 1 + $airlock_door1_gui.setGuiParm ( "gui_parm1" , 1); + } + + $airlock_innerguiholder.setGuiParm ( "gui_parm11" , 1); + } + + +////////////////////////// +////////////airlock2 +////////////////////////// + + //////////////////////////////////////////////////// + // + // Open airlock2 door1 + // + //////////////////////////////////////////////////// + void airlock2_door1_open() + { + entity ent; + + //disable the gui on door1 + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 0); + + //turn door1 light on and door2 light off + thread crossFadeEnt ($airlock2_door2_light, '.82 .76 .56', '0.4 0 0', 1); + sys.wait(1); + thread crossFadeEnt ($airlock2_door1_light, '0.4 0 0', '.82 .76 .56', 1); + + //move the 4 locks to unlock position + sys.trigger ($speaker_airlock2_door1_bottom_lock); // SOUND + $airlock2_door1_top_lock.move ( UP, 15 ); + $airlock2_door1_bottom_lock.move ( DOWN, 15 ); + sys.waitFor ($airlock2_door1_bottom_lock); + + sys.trigger ($speaker_airlock2_door1_left_lock); // SOUND + sys.trigger ($speaker_airlock2_door1_right_lock); // SOUND + $airlock2_door1_left_lock.move ( WEST, -16 ); + $airlock2_door1_right_lock.move ( WEST, -16 ); + sys.waitFor ($airlock2_door1_right_lock); + + //open doors + + sys.trigger ($speaker_airlock2_door1_open); + + $airlock2_door1_left.rotateOnce ( '0 45 0' ); + $airlock2_door1_right.rotateOnce ( '0 -45 0' ); + + //trigger the portal + sys.trigger ($airlock2_door1_portal); + + sys.waitFor ($airlock2_door1_right); + sys.waitFor ($airlock2_door1_left); + + //set airlock state + ent=sys.getEntity( "airlock2_door1_portal" ); + ent.setKey( "state", 1 ); + } + + + //////////////////////////////////////////////////// + // + // Open airlock2 door2 + // + //////////////////////////////////////////////////// + void airlock2_door2_open() + { + entity ent; + + //disable the gui on door2 + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 0); + + //turn door2 light on and door1 light off + thread crossFadeEnt ($airlock2_door1_light, '.82 .76 .56', '0.4 0 0', 1); + sys.wait(1); + thread crossFadeEnt ($airlock2_door2_light, '0.4 0 0', '.82 .76 .56', 1); + + //move the 4 locks to unlock position + + sys.trigger ($speaker_airlock2_door2_bottom_lock); + + $airlock2_door2_top_lock.move ( UP, 15 ); + $airlock2_door2_bottom_lock.move ( DOWN, 15 ); + sys.waitFor ($airlock2_door2_bottom_lock); + + sys.trigger ($speaker_airlock2_door2_left_lock); // SOUND + sys.trigger ($speaker_airlock2_door2_right_lock); // SOUND + + $airlock2_door2_left_lock.move ( WEST, 16 ); + $airlock2_door2_right_lock.move ( WEST, 16 ); + sys.waitFor ($airlock2_door2_right_lock); + + //open doors + + sys.trigger ($speaker_airlock2_door2_open); + + $airlock2_door2_left.rotateOnce ( '0 45 0' ); + $airlock2_door2_right.rotateOnce ( '0 -45 0' ); + + //trigger the portal + sys.trigger ($airlock2_door2_portal); + + sys.waitFor ($airlock2_door2_right); + sys.waitFor ($airlock2_door2_left); + + //set airlock state + ent=sys.getEntity( "airlock2_door1_portal" ); + ent.setKey( "state", 2 ); + + } + + + //////////////////////////////////////////////////// + // + // Close airlock2 door1 + // + //////////////////////////////////////////////////// + void airlock2_door1_close() + { + //close doors + + sys.trigger ($speaker_airlock2_door1_close); // SOUND + + $airlock2_door1_left.rotateOnce ( '0 -45 0' ); + $airlock2_door1_right.rotateOnce ( '0 45 0' ); + sys.waitFor ($airlock2_door1_right); + + //trigger the portal + sys.trigger ($airlock2_door1_portal); + + //fire sound trigger + sys.trigger ($airlock2_speaker); + + sys.trigger ($speaker_airlock2_door1_left_lock); // SOUND + sys.trigger ($speaker_airlock2_door1_right_lock); // SOUND + + //move the 4 locks to lock position + $airlock2_door1_left_lock.move ( WEST, 16 ); + $airlock2_door1_right_lock.move ( WEST, 16 ); + sys.waitFor ($airlock2_door1_right_lock); + + sys.trigger ($speaker_airlock2_door1_bottom_lock); // SOUND + + $airlock2_door1_top_lock.move ( DOWN, 15 ); + $airlock2_door1_bottom_lock.move ( UP, 15 ); + sys.waitFor ($airlock2_door1_top_lock); + } + + + //////////////////////////////////////////////////// + // + // Close airlock2 door2 + // + //////////////////////////////////////////////////// + void airlock2_door2_close() + { + //close doors + + sys.trigger ($speaker_airlock2_door2_close); + + $airlock2_door2_left.rotateOnce ( '0 -45 0' ); + $airlock2_door2_right.rotateOnce ( '0 45 0' ); + sys.waitFor ($airlock2_door2_right); + + //trigger the portal + sys.trigger ($airlock2_door2_portal); + + //fire sound trigger + sys.trigger ($airlock2_speaker); + + //move the 4 locks to lock position + + sys.trigger ($speaker_airlock2_door2_left_lock); + sys.trigger ($speaker_airlock2_door2_right_lock); + + $airlock2_door2_left_lock.move ( WEST, -16 ); + $airlock2_door2_right_lock.move ( WEST, -16 ); + sys.waitFor ($airlock2_door2_right_lock); + + sys.trigger ($speaker_airlock2_door2_bottom_lock); + + $airlock2_door2_top_lock.move ( DOWN, 15 ); + $airlock2_door2_bottom_lock.move ( UP, 15 ); + sys.waitFor ($airlock2_door2_top_lock); + } + + + //////////////////////////////////////////////////// + // + // Main Activate airlock + // conditionally chooses based on entrance + // + //////////////////////////////////////////////////// + void airlock2_main_activate() + { + entity ent; + + //check to see which way the player entered by checking the airlock_state + //if 1 then close 1 and open 2 + + ent=sys.getEntity ("airlock2_door1_portal" ); + + if (ent.getFloatKey ("state")==1) { + airlock2_door1_close(); + airlock2_door2_open(); + + } else { //else close 2 and open 1 + airlock2_door2_close(); + airlock2_door1_open(); + } + } + + + //////////////////////////////////////////////////// + // + // AIRLOCK main activation + // + //////////////////////////////////////////////////// + void airlock2_activate() + { + //disable the guis on the doors + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 0); + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 0); + $airlock2_innerguiholder.setGuiParm ( "gui_parm11" , 0); + + airlock2_main_activate(); + + //check the airlock state and enable the guis on the closed door + if ($airlock2_door1_portal.getFloatKey ("state")==1) { + $airlock2_door2_gui.setGuiParm ( "gui_parm1" , 1); + } else { //else close 2 and open 1 + $airlock2_door1_gui.setGuiParm ( "gui_parm1" , 1); + } + + $airlock2_innerguiholder.setGuiParm ( "gui_parm11" , 1); + } + + void cache_sounds() { + sys.cacheSoundShader ("rec1_1_2s_movement"); + sys.cacheSoundShader ("rec1_1_5s_movement"); + sys.cacheSoundShader ("rec1_pivot_0_8s"); + sys.cacheSoundShader ("rec1_pivot_0_7s"); + sys.cacheSoundShader ("rec1_pivot_0_4s"); + sys.cacheSoundShader ("rec1_pivot_0_3s"); + sys.cacheSoundShader ("rec1_3_rotation"); + sys.cacheSoundShader ("rec1_2_rotation"); + sys.cacheSoundShader ("rec1_1_rotation"); + sys.cacheSoundShader ("rec1_pump_endclack_01"); + sys.cacheSoundShader ("rec1_pump_movement_0_4s"); + sys.cacheSoundShader ("rec1_pump_movement_1_5s"); + sys.cacheSoundShader ("rec1_2s_rotation"); + sys.cacheSoundShader ("rec1_steamchuff"); + sys.cacheSoundShader ("rec1_3s_piston"); + sys.cacheSoundShader ("m1_start"); + sys.cacheSoundShader ("m1_stop"); + sys.cacheSoundShader ("m1_loop"); + } + + void main () + { + cache_sounds(); + setup_objects(); + thread map_recycling1::pump1apiston_start(); + thread map_recycling1::pump1bpiston_start(); + + //setup the airlocks in the correct states + thread map_recycling1::airlock_door2_open(); + thread map_recycling1::airlock2_door1_open(); + } +} + + + +//James's Rev Rockets + +void rev_rocketa( entity self ) { + self.launchMissiles( "projectile_rev_rocket_cinematic", "snd_fire", "Lmissile", "target1", 1, 0 ); +} + +void rev_rocketb( entity self ) { + self.launchMissiles( "projectile_rev_rocket_cinematic", "snd_fire", "Rmissile", "target2", 1, 0 ); +} diff --git a/base/script/map_recycling2.script b/base/script/map_recycling2.script new file mode 100644 index 00000000..628bf60b --- /dev/null +++ b/base/script/map_recycling2.script @@ -0,0 +1,452 @@ +void make_player_cough() { + + $player1.startSoundShader ("player_cough", SND_CHANNEL_VOICE); +} + +namespace map_recycling2 { + + void mover_startsound (entity ent) { + ent.startSoundShader ("m1_start", SND_CHANNEL_VOICE); + sys.wait (0.75); + ent.startSoundShader ("m1_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound (entity ent) { + ent.startSoundShader ("m1_stop", SND_CHANNEL_VOICE2); + ent.startSoundShader ("rec1_pump_endclack_01", SND_CHANNEL_ITEM ); + } + + void mover_startsound2 (entity ent) { + ent.startSoundShader ("m2_start", SND_CHANNEL_VOICE); + sys.wait (0.75); + ent.startSoundShader ("m2_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound2 (entity ent) { + ent.startSoundShader ("m2_stop", SND_CHANNEL_VOICE2); + } + + void mover_startsound3 (entity ent) { + ent.startSoundShader ("m3_start", SND_CHANNEL_VOICE); + sys.wait (1); + ent.startSoundShader ("m3_loop", SND_CHANNEL_VOICE2); + } + + void mover_stopsound3 (entity ent) { + ent.startSoundShader ("m3_stop", SND_CHANNEL_VOICE2); + } + + + void setup_objects () + { + $pump1nozzle1.bind ($pump1axis); + $pump1_tubecap.bind ($pump1_tube); + $pump1_tube.bind ($pump1_tube_anchor); + $cyl_1.bind ($cyl_1_anchor); + $elev2_light.bind ($elev1); + //$elev2_speaker.bind ($elev1); + $walkway.bind ($walkway_anchor); + $light_warning_spin.bind ($light_warning_anchor); + $light_warning_2.bind ($light_warning_anchor); + $light_warning_flare.bind ($light_warning_anchor); + $light_warning_off.bind ($light_warning_anchor); + $light_warning_on.bind ($light_warning_anchor); + + } + + /////////////////// + // first pump room + ////////////////// + + void pump1piston1_start () + { + while (1) + { + $pump1piston1.accelTime (.5); + $pump1piston1.decelTime (.2); + $pump1piston1.time (1); + thread mover_startsound ($pump1piston1); + $pump1piston1.moveTo ($pump1piston1_btm); + sys.waitFor ($pump1piston1); + mover_stopsound ($pump1piston1); + + sys.wait (1); + + $pump1piston1.accelTime (.5); + $pump1piston1.decelTime (.8); + + thread mover_startsound ($pump1piston1); + + $pump1piston1.time (1.6); + $pump1piston1.moveTo ($pump1piston1_top); + sys.waitFor ($pump1piston1); + + mover_stopsound ($pump1piston1); + } + } + + void pump1piston2_start () + { + while (1) + { + $pump1piston2.time (1.5); + thread mover_startsound3 ($pump1piston2); + $pump1piston2.move (DOWN ,96); + sys.waitFor ($pump1piston2); + mover_stopsound2 ($pump1piston2); + + sys.wait (.5); + + $pump1piston2.time (2); + thread mover_startsound3 ($pump1piston2); + $pump1piston2.move (UP ,96); + sys.waitFor ($pump1piston2); + mover_stopsound3 ($pump1piston2); + sys.wait (.5); + } + } + + void pump1machine_start () + { + while (1) + { + $pump1axis.decelTime (.5); + $pump1axis.time (1); + $pump1axis.rotateOnce ('0 180 0'); + sys.waitFor ($pump1axis); + + sys.trigger ($pump1_bubbles); + + $pump1_tube_anchor.time (.5); + $pump1_tube_anchor.rotateOnce ('0 0 90'); + sys.waitFor ($pump1_tube_anchor); + + $pump1_tubecap.unbind (); + $pump1_tubecap.time (.5); + $pump1_tubecap.moveTo ($pump1_tubecap_spot2); + sys.waitFor ($pump1_tubecap); + $pump1_tubecap.bind ($pump1nozzle1); + + $pump1speaker.startSoundShader("sact1_vent_1s", SND_CHANNEL_ANY ); + + $pump1nozzle1.time (.5); + $pump1nozzle1.rotateOnce ('0 0 360'); + sys.waitFor ($pump1nozzle1); + $pump1_tubecap.unbind (); + + sys.trigger ($pump1_bubbles); + + sys.wait (1.5); + + $pump1_tubecap.time (.5); + $pump1_tubecap.moveTo ($pump1_tubecap_spot1); + sys.waitFor ($pump1_tubecap); + $pump1_tubecap.bind ($pump1_tube); + + $pump1_tube_anchor.time (.5); + $pump1_tube_anchor.rotateOnce ('0 0 -90'); + sys.waitFor ($pump1_tube_anchor); + + $pump1axis.decelTime (.5); + $pump1axis.time (1); + $pump1axis.rotateOnce ('0 180 0'); + sys.waitFor ($pump1axis); + + sys.trigger ($pump1_bubbles); + + $pump1_tube_anchor.time (.5); + $pump1_tube_anchor.rotateOnce ('0 0 90'); + sys.waitFor ($pump1_tube_anchor); + + $pump1_tubecap.unbind (); + $pump1_tubecap.time (.5); + $pump1_tubecap.moveTo ($pump1_tubecap_spot2); + sys.waitFor ($pump1_tubecap); + $pump1_tubecap.bind ($pump1nozzle1); + + $pump1speaker.startSoundShader("sact1_vent_1s", SND_CHANNEL_ANY ); + + $pump1nozzle1.time (.5); + $pump1nozzle1.rotateOnce ('0 0 360'); + sys.waitFor ($pump1nozzle1); + $pump1_tubecap.unbind (); + + sys.trigger ($pump1_bubbles); + + sys.wait (1.5); + + $pump1_tubecap.time (.5); + $pump1_tubecap.moveTo ($pump1_tubecap_spot1); + sys.waitFor ($pump1_tubecap); + $pump1_tubecap.bind ($pump1_tube); + + + + $pump1_tube_anchor.time (.5); + $pump1_tube_anchor.rotateOnce ('0 0 -90'); + sys.waitFor ($pump1_tube_anchor); + + } + } + + void block_door () + { + + sys.trigger ($block_door); + + } + + void bust_window () + { + + sys.trigger ($imp_1); + sys.wait (1); + sys.trigger ($bustfield1); + sys.trigger ($bustout1); + + sys.wait (4); + sys.trigger ($imp_2); + sys.wait (1); + sys.trigger ($bustfield2); + sys.trigger ($bustout2); + } + + void light_warning_on () + { + + $light_warning_off.hide (); + $light_warning_on.show (); + $light_warning_flare.show (); + $light_warning_anchor.rotate ('0 200 0'); + sys.trigger ($speaker_alarm1); + } + + void change1 () + { + $btrigger2.remove (); + $firstroom_on2.remove (); + $speaker_290.remove(); + } + void change2 () + { + $btrigger1.remove (); + $firstroom_on1.remove (); + $mainscreen.setGuiParm ( "gui_parm1" , 2); + $screen2.setGuiParm ( "gui_parm1" , 2); + $screen4.setGuiParm ( "gui_parm1" , 2); + $speaker_291.remove(); + } + + + /////////////////// + // first gas room + ////////////////// + + void ventgas_off () + { + sys.trigger ($ventgas1); + sys.trigger ($ventgas2); + sys.wait (.5); + sys.trigger ($ventgas1_in); + sys.trigger ($ventgas2_in); + sys.wait (4); + sys.trigger ($ventgas1_in); + sys.trigger ($ventgas2_in); + } + + /////////////////// + // exit gas room + ////////////////// + + void exitgas1_off () + { + sys.trigger ($exitgas1); + sys.wait (.5); + sys.trigger ($exitgas1_in); + + } + void exitgas2_off () + { + sys.trigger ($exitgas2); + sys.wait (.5); + sys.trigger ($exitgas2_in); + + } + void exitgas3_off () + { + sys.trigger ($exitgas3); + sys.wait (.5); + sys.trigger ($exitgas3_in); + + } + + void exitgas_in () + { + sys.wait (4); + sys.trigger ($exitgas1_in); + sys.trigger ($exitgas2_in); + sys.trigger ($exitgas3_in); + + } + + + ///////////////// + // misc + //////////////// + + + void pump2piston_start () + { + while (1) + { + $pump2piston.startSoundShader ("rec2_pump_1s_01", SND_CHANNEL_VOICE ); + $pump2piston.time (1); + $pump2piston.moveTo ($pump2piston_spot1); + sys.waitFor ($pump2piston); + + $pump2piston.startSoundShader ("rec2_pump_05s_01", SND_CHANNEL_VOICE2 ); + $pump2piston.time (0.5); + $pump2piston.moveTo ($pump2piston_spot2); + sys.waitFor ($pump2piston); + + } + } + + void cyl1_start () + { + while (1) + { + sys.trigger ($cyl1_gas); + + $vent1.time (.5); + $vent1.rotateOnce ('0 -100 0'); + $vent2.time (.5); + $vent2.rotateOnce ('0 -70 0'); + $vent3.time (.5); + $vent3.rotateOnce ('0 -70 0'); + $thingspeaker.startSoundShader("sact1_vent_05s_close", SND_CHANNEL_ANY ); + sys.wait (.5); + + $cyl_1_anchor.time (1); + $cyl_1_anchor.rotateOnce ('0 -150 0'); + $thingspeaker.startSoundShader("sact1_vent_1s", SND_CHANNEL_ANY ); + sys.waitFor ($cyl_1_anchor); + + sys.wait (2); + + $cyl_1_anchor.time (1); + $cyl_1_anchor.rotateOnce ('0 150 0'); + $thingspeaker.startSoundShader("sact1_vent_1s", SND_CHANNEL_ANY ); + sys.waitFor ($cyl_1_anchor); + + sys.wait (.5); + + $vent1.time (.5); + $vent1.rotateOnce ('0 100 0'); + $vent2.time (.5); + $vent2.rotateOnce ('0 70 0'); + $vent3.time (.5); + $vent3.rotateOnce ('0 70 0'); + $thingspeaker.startSoundShader("sact1_vent_05s_open", SND_CHANNEL_ANY ); + + sys.trigger ($cyl1_gas); + + sys.wait (3); + + } + } + + + void lamp_sway1 () + { + + $storageswing_lamp1.sway( 25, 0, '20 10 10' ); + + } + + void wallbox1_turn () + { + + $wallbox1.time (.3); + $wallbox1.rotateOnce ('0 0 -8'); + $wallbox1_speaker.startSoundShader("smallpanel_impact", SND_CHANNEL_ANY ); + + } + + void underhall_lights () + { + while (1) + { + sys.trigger ($underhall_fadein1); + sys.trigger ($underhall_fadein2); + + sys.wait (.7); + + sys.trigger ($underhall_fadeout1); + sys.trigger ($underhall_fadeout2); + + sys.wait (.3); + } + } + + void elev_crash () + { + + $elev1.bind ($elev_mover); + $elev_mover.accelTime (.4); + $elev_mover.time (1.5); + $elev_mover.move (DOWN , 612); + + } + + ///////////////////// + // mancubusroom + //////////////////// + + void walkway_fall () + { + $walkway_anchor.startSoundShader ("rec1_bridge_fall", SND_CHANNEL_VOICE ); + $walkway_anchor.time (.6); + $walkway_anchor.accelTime (.4); + $walkway_anchor.rotateOnce ('18 0 0'); + $walkway_speaker.startSoundShader("smallpanel_impact", SND_CHANNEL_ANY ); + + sys.waitFor ($walkway_anchor); + + $walkway_anchor.time (.2); + $walkway_anchor.decelTime (.1); + $walkway_anchor.rotateOnce ('-5 0 0'); + $walkway_anchor.time (.1); + $walkway_anchor.rotateOnce ('5 0 0'); + + } + + void cache_sounds() { + sys.cacheSoundShader ("player_cough"); + sys.cacheSoundShader ("m1_start"); + sys.cacheSoundShader ("m1_stop"); + sys.cacheSoundShader ("m1_loop"); + sys.cacheSoundShader ("m2_start"); + sys.cacheSoundShader ("m2_stop"); + sys.cacheSoundShader ("m2_loop"); + sys.cacheSoundShader ("m3_start"); + sys.cacheSoundShader ("m3_stop"); + sys.cacheSoundShader ("m3_loop"); + sys.cacheSoundShader ("sact1_vent_1s"); + sys.cacheSoundShader ("sact1_vent_05s_close"); + sys.cacheSoundShader ("sact1_vent_05s_open"); + sys.cacheSoundShader ("rec2_pump_1s_01"); + sys.cacheSoundShader ("rec2_pump_05s_01"); + sys.cacheSoundShader ("smallpanel_impact"); + sys.cacheSoundShader ("rec1_bridge_fall"); + } + + + void main () + { + cache_sounds(); + setup_objects(); + pump2piston_start(); + + } +} diff --git a/base/script/map_site3.script b/base/script/map_site3.script new file mode 100644 index 00000000..b1e35d3c --- /dev/null +++ b/base/script/map_site3.script @@ -0,0 +1,323 @@ +namespace map_site3 { + + void setup_objects () + { + // Cache the sounds... -Xian + + sys.cacheSoundShader ("train_door_close"); + sys.cacheSoundShader ("train_door_open"); + + $transport.accelTime (.5); + $transport.decelTime (.5); + + $transport_door.accelTime (.2); + $transport_door.decelTime (.1); + $transport_door.time (.5); + $transport_door.bind ($transport); + $transport_door_open1.bind ($transport); + $transport_door_close1.bind ($transport); + $transport_door_close2.bind ($transport); + $transport_activator_2.bind ($transport); + + $pistrod1.bind ($piston1); + $pistrod2.bind ($piston2); + $pistrod3.bind ($piston3); + + $piston1.time (.125); + $pistrod1.time (.125); + $piston2.time (.125); + $pistrod2.time (.125); + $piston3.time (.125); + $pistrod3.time (.125); + $crankshaft.time (.125); + + $arm_base.time (1); + $arm_base.accelTime (.5); + $arm_base.decelTime (.1); + + $metaldoor.time (.05); + + $finger1.bind ($hand); + $finger2.bind ($hand); + $hand.bind ($arm); + $arm.bind ($arm_anchor); + $arm_anchor.bind ($arm_base); + + $pipe_crash.bind ($pipe_crash_anchor); + $pipe_crash_anchor.accelTime (.4); + $pipe_crash_anchor.time (1); + $skcube_crash.bind ($skcube_crash_anchor); + $skcube_crash_anchor.accelTime (.4); + $skcube_crash_anchor.time (.8); + + $walkway1_anchor.time (.5); + $walkway1_anchor.accelTime (.5); + $walkway2_anchor.time (.5); + $walkway2_anchor.accelTime (.5); + $walkway1edge_anchor.time (.3); + $walkway1edge_anchor.accelTime (.3); + $walkway2edge_anchor.time (.3); + $walkway2edge_anchor.accelTime (.3); + + $walkway1.bind ($walkway1_anchor); + $walkway1edge.bind ($walkway1edge_anchor); + $walkway1edge_anchor.bind ($walkway1); + $walkway2.bind ($walkway2_anchor); + $walkway2edge.bind ($walkway2edge_anchor); + $walkway2edge_anchor.bind ($walkway2); + } + + //////////////////////////////////////////////////// + // + // transport + // + //////////////////////////////////////////////////// + + void call_transport () + { + sys.trigger ($door_block_trigger); + sys.trigger ($trigger_objectivecomplete_2); + $transport.time (10); + $transport.moveTo ($transport_spot1); + sys.waitFor ($transport); + $transport_activator_2.unbind (); + $transport_activator_1.bind ($transport); + $transport_door.unbind (); + sys.trigger ($trans_trigger); + sys.trigger ($trigger_objective_3); + } + + void move_transport () + { + sys.trigger ($airdoor1_lf); + $transport.time (4); + $transport.moveTo ($transport_spot1a); + sys.waitFor ($transport); + sys.wait (.5); + sys.trigger ($airdoor1_lf); + sys.wait (2); + sys.trigger ($airdoor2_lf); + sys.waitFor ($airdoor2_lf); + sys.trigger ($airdoor2_relay); + sys.trigger ($airdoor3_relay); + $transport.time (7); + $transport.moveTo ($transport_spot2); + sys.waitFor ($transport); + sys.trigger ($airdoor3_lf); + sys.trigger ($trans_trigger2); + } + + void transport_door_close () + { + $transport_door.startSoundShader ("train_door_close", SND_CHANNEL_VOICE); + $transport_door.moveTo ($transport_door_close1); + sys.waitFor ($transport_door); + $transport_door.moveTo ($transport_door_close2); + sys.waitFor ($transport_door); + $transport_door.bind ($transport); + } + + void transport_door_open () + { + $transport_door.unbind (); + $transport_door.startSoundShader ("train_door_open", SND_CHANNEL_VOICE); + $transport_door.moveTo ($transport_door_close1); + sys.waitFor ($transport_door); + $transport_door.moveTo ($transport_door_open1); + sys.waitFor ($transport_door); + } + + void airdoor1_open () + { + sys.trigger ($airdoor1_lf); + } + void airdoor2_open () + { + sys.trigger ($airdoor2_lf); + } + void airdoor3_open () + { + sys.trigger ($airdoor3_lf); + } + void airdoor1_close () + { + sys.trigger ($airdoor1_lf); + } + void airdoor2_close () + { + sys.trigger ($airdoor2_lf); + } + void airdoor3_close () + { + sys.trigger ($airdoor3_lf); + } + + //////////////////////////////////////////////////// + // + // archvile room + // + //////////////////////////////////////////////////// + + + + void archvile_start () + { + sys.trigger ($blight_trigger1); + sys.wait (.7); + sys.trigger ($blight_trigger3); + sys.wait (.2); + sys.trigger ($blight_trigger2); + sys.wait (.6); + sys.trigger ($alight_trigger1); + sys.trigger ($alight_trigger2); + sys.trigger ($alight_trigger3); + sys.trigger ($alight_trigger4); + sys.trigger ($alight_trigger5); + sys.trigger ($alight_trigger6); + + $walkway1_anchor.rotateOnce ('-88 0 0'); + $walkway1edge_anchor.rotateOnce ('84 0 0'); + $walkway2_anchor.rotateOnce ('0 0 -88'); + $walkway2edge_anchor.rotateOnce ('0 0 84'); + sys.waitFor ($walkway1_anchor); + sys.wait (1); + + sys.trigger ($candles_trigger); + sys.wait (.5); + sys.trigger ($archvile_trigger); + sys.wait (.5); + sys.trigger ($fire_trigger); + sys.trigger ($speaker_flames_1); + sys.trigger ($speaker_flames_2); + sys.trigger ($speaker_av_mood); + } + + //////////////////////////////////////////////////// + // + // misc + // + //////////////////////////////////////////////////// + + void pipe_crash_trigger () + { + $pipe_crash_anchor.rotateOnce ('-20 0 25'); + $skcube_crash_anchor.rotateOnce ('0 10 90'); + } + + //////////////////////////////////////////////////// + // + // crane arm movement + // + //////////////////////////////////////////////////// + void crane_move () + { + while (1) { + + $arm_base.startSoundShader ("s3_arm_back", SND_CHANNEL_ANY ); + $arm_base.move ( SOUTH, 256 ); + sys.waitFor ($arm_base); + sys.trigger ($doorbang); + sys.trigger ($doorspark); + $metaldoor.move (SOUTH,1); + + $arm_anchor.time (.1); + $arm_anchor.decelTime (.05); + + $arm_anchor.rotateOnce ('0 0 -4'); + sys.waitFor ($arm_anchor); + $metaldoor.move (NORTH,1); + + $arm_anchor.rotateOnce ('0 0 5'); + sys.waitFor ($arm_anchor); + $arm_anchor.time (.08); + $arm_anchor.rotateOnce ('0 0 -1.5'); + sys.waitFor ($arm_anchor); + $arm_anchor.time (.04); + $arm_anchor.rotateOnce ('0 0 0.5'); + sys.waitFor ($arm_anchor); + + // need sound here + + sys.trigger ($armsound1); + $arm_base.move ( NORTH, 256 ); + sys.waitFor ($arm_base); + + $arm_anchor.time (.2); + $arm_anchor.decelTime (.1); + + $arm_anchor.rotateOnce ('0 0 6'); + sys.waitFor ($arm_anchor); + $arm_anchor.rotateOnce ('0 0 -7'); + sys.waitFor ($arm_anchor); + $arm_anchor.time (.15); + $arm_anchor.rotateOnce ('0 0 2'); + sys.waitFor ($arm_anchor); + $arm_anchor.time (.08); + $arm_anchor.rotateOnce ('0 0 -1'); + sys.waitFor ($arm_anchor); + } + } + + //////////////////////////////////////////////////// + // + // piston movement + // + //////////////////////////////////////////////////// + void piston_move () + { + while (1) + { + + $piston1.move ( DOWN, 6 ); + $pistrod1.rotateOnce ( '0 0 -26.56' ); + $piston2.move ( UP, 6 ); + $pistrod2.rotateOnce ( '0 0 26.56' ); + $piston3.move ( DOWN, 6 ); + $pistrod3.rotateOnce ( '0 0 -26.56' ); + $crankshaft.rotateOnce ( '0 0 90' ); + sys.waitFor ($piston1); + + $piston1.move ( DOWN, 6 ); + $pistrod1.rotateOnce ( '0 0 26.56' ); + $piston2.move ( UP, 6 ); + $pistrod2.rotateOnce ( '0 0 -26.56' ); + $piston3.move ( DOWN, 6 ); + $pistrod3.rotateOnce ( '0 0 26.56' ); + $crankshaft.rotateOnce ( '0 0 90' ); + sys.waitFor ($piston1); + + $piston1.move ( UP, 6 ); + $pistrod1.rotateOnce ( '0 0 26.56' ); + $piston2.move ( DOWN, 6 ); + $pistrod2.rotateOnce ( '0 0 -26.56' ); + $piston3.move ( UP, 6 ); + $pistrod3.rotateOnce ( '0 0 26.56' ); + $crankshaft.rotateOnce ( '0 0 90' ); + sys.waitFor ($piston1); + + $piston1.move ( UP, 6 ); + $pistrod1.rotateOnce ( '0 0 -26.56' ); + $piston2.move ( DOWN, 6 ); + $pistrod2.rotateOnce ( '0 0 26.56' ); + $piston3.move ( UP, 6 ); + $pistrod3.rotateOnce ( '0 0 -26.56' ); + $crankshaft.rotateOnce ( '0 0 90' ); + sys.waitFor ($piston1); + + } + } + + //////////////////////////////////////////////////// + // + // MAIN + // + //////////////////////////////////////////////////// + void main () + { + sys.cacheSoundShader ("s3_arm_back"); + setup_objects (); + piston_move (); + + } +} + diff --git a/neo/doom3/game.vcxproj b/neo/doom3/game.vcxproj index 43ef9308..4cef6a14 100644 --- a/neo/doom3/game.vcxproj +++ b/neo/doom3/game.vcxproj @@ -338,6 +338,40 @@ typeinfo.exe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -396,6 +430,7 @@ typeinfo.exe + @@ -456,6 +491,40 @@ typeinfo.exe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -561,4 +630,4 @@ typeinfo.exe - + \ No newline at end of file diff --git a/neo/doom3/game.vcxproj.filters b/neo/doom3/game.vcxproj.filters index 322d3d02..acaaf209 100644 --- a/neo/doom3/game.vcxproj.filters +++ b/neo/doom3/game.vcxproj.filters @@ -282,6 +282,109 @@ AI + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + @@ -494,8 +597,110 @@ AI + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + + + AI + - + \ No newline at end of file diff --git a/neo/doom3/game/Actor.cpp b/neo/doom3/game/Actor.cpp index 3d4c72aa..c7cd2f70 100644 --- a/neo/doom3/game/Actor.cpp +++ b/neo/doom3/game/Actor.cpp @@ -44,12 +44,11 @@ idAnimState::idAnimState ===================== */ idAnimState::idAnimState() { - self = NULL; - animator = NULL; - thread = NULL; - idleAnim = true; - disabled = true; - channel = ANIMCHANNEL_ALL; + self = NULL; + animator = NULL; + idleAnim = true; + disabled = true; + channel = ANIMCHANNEL_ALL; animBlendFrames = 0; lastAnimBlendFrames = 0; } @@ -60,7 +59,6 @@ idAnimState::~idAnimState ===================== */ idAnimState::~idAnimState() { - delete thread; } /* @@ -68,22 +66,24 @@ idAnimState::~idAnimState() { idAnimState::Save ===================== */ -void idAnimState::Save( idSaveGame *savefile ) const { +void idAnimState::Save(idSaveGame* savefile) const { - savefile->WriteObject( self ); + savefile->WriteBool(idleAnim); + savefile->WriteInt(animBlendFrames); + savefile->WriteInt(lastAnimBlendFrames); + + savefile->WriteObject(self); // Save the entity owner of the animator - savefile->WriteObject( animator->GetEntity() ); + savefile->WriteObject(animator->GetEntity()); - savefile->WriteObject( thread ); + savefile->WriteInt(channel); + savefile->WriteBool(disabled); - savefile->WriteString( state ); - - savefile->WriteInt( animBlendFrames ); - savefile->WriteInt( lastAnimBlendFrames ); - savefile->WriteInt( channel ); - savefile->WriteBool( idleAnim ); - savefile->WriteBool( disabled ); + // RAVEN BEGIN + // abahr: + stateThread.Save(savefile); + // RAVEN END } /* @@ -91,24 +91,27 @@ void idAnimState::Save( idSaveGame *savefile ) const { idAnimState::Restore ===================== */ -void idAnimState::Restore( idRestoreGame *savefile ) { - savefile->ReadObject( reinterpret_cast( self ) ); +void idAnimState::Restore(idRestoreGame* savefile) { - idEntity *animowner; - savefile->ReadObject( reinterpret_cast( animowner ) ); - if ( animowner ) { + savefile->ReadBool(idleAnim); + savefile->ReadInt(animBlendFrames); + savefile->ReadInt(lastAnimBlendFrames); + + savefile->ReadObject(reinterpret_cast(self)); + + idEntity* animowner; + savefile->ReadObject(reinterpret_cast(animowner)); + if (animowner) { animator = animowner->GetAnimator(); } - savefile->ReadObject( reinterpret_cast( thread ) ); + savefile->ReadInt(channel); + savefile->ReadBool(disabled); - savefile->ReadString( state ); - - savefile->ReadInt( animBlendFrames ); - savefile->ReadInt( lastAnimBlendFrames ); - savefile->ReadInt( channel ); - savefile->ReadBool( idleAnim ); - savefile->ReadBool( disabled ); + // RAVEN BEGIN + // abahr: + stateThread.Restore(savefile, self); + // RAVEN END } /* @@ -116,19 +119,18 @@ void idAnimState::Restore( idRestoreGame *savefile ) { idAnimState::Init ===================== */ -void idAnimState::Init( idActor *owner, idAnimator *_animator, int animchannel ) { - assert( owner ); - assert( _animator ); +// RAVEN BEGIN +// bdube: converted self to entity ptr so any entity can use it +void idAnimState::Init(idEntity* owner, idAnimator* _animator, int animchannel) { + // RAVEN BEGIN + assert(owner); + assert(_animator); self = owner; animator = _animator; channel = animchannel; - if ( !thread ) { - thread = new idThread(); - thread->ManualDelete(); - } - thread->EndThread(); - thread->ManualControl(); + stateThread.SetName(va("%s_anim_%d", owner->GetName(), animchannel)); + stateThread.SetOwner(owner); } /* @@ -136,9 +138,20 @@ void idAnimState::Init( idActor *owner, idAnimator *_animator, int animchannel ) idAnimState::Shutdown ===================== */ -void idAnimState::Shutdown( void ) { - delete thread; - thread = NULL; +void idAnimState::Shutdown(void) { + stateThread.Clear(true); +} + +/* +===================== +idAnimState::PostState +===================== +*/ +void idAnimState::PostState(const char* statename, int blendFrames, int delay, int flags) { + if (SRESULT_OK != stateThread.PostState(statename, blendFrames, delay, flags)) { + gameLocal.Error("Could not find state function '%s' for entity '%s'", statename, self->GetName()); + } + disabled = false; } /* @@ -146,29 +159,15 @@ void idAnimState::Shutdown( void ) { idAnimState::SetState ===================== */ -void idAnimState::SetState( const char *statename, int blendFrames ) { - const function_t *func; - - func = self->scriptObject.GetFunction( statename ); - if ( !func ) { - assert( 0 ); - gameLocal.Error( "Can't find function '%s' in object '%s'", statename, self->scriptObject.GetTypeName() ); +void idAnimState::SetState(const char* statename, int blendFrames, int flags) { + if (SRESULT_OK != stateThread.SetState(statename, blendFrames, 0, flags)) { + gameLocal.Error("Could not find state function '%s' for entity '%s'", statename, self->GetName()); } - state = statename; - disabled = false; - animBlendFrames = blendFrames; - lastAnimBlendFrames = blendFrames; - thread->CallFunction( self, func, true ); - animBlendFrames = blendFrames; lastAnimBlendFrames = blendFrames; disabled = false; idleAnim = false; - - if ( ai_debugScript.GetInteger() == self->entityNumber ) { - gameLocal.Printf( "%d: %s: Animstate: %s\n", gameLocal.time, self->name.c_str(), state.c_str() ); - } } /* @@ -176,9 +175,9 @@ void idAnimState::SetState( const char *statename, int blendFrames ) { idAnimState::StopAnim ===================== */ -void idAnimState::StopAnim( int frames ) { +void idAnimState::StopAnim(int frames) { animBlendFrames = 0; - animator->Clear( channel, gameLocal.time, FRAME2MS( frames ) ); + animator->Clear(channel, gameLocal.time, FRAME2MS(frames)); } /* @@ -186,9 +185,9 @@ void idAnimState::StopAnim( int frames ) { idAnimState::PlayAnim ===================== */ -void idAnimState::PlayAnim( int anim ) { - if ( anim ) { - animator->PlayAnim( channel, anim, gameLocal.time, FRAME2MS( animBlendFrames ) ); +void idAnimState::PlayAnim(int anim) { + if (anim) { + animator->PlayAnim(channel, anim, gameLocal.time, FRAME2MS(animBlendFrames)); } animBlendFrames = 0; } @@ -198,9 +197,9 @@ void idAnimState::PlayAnim( int anim ) { idAnimState::CycleAnim ===================== */ -void idAnimState::CycleAnim( int anim ) { - if ( anim ) { - animator->CycleAnim( channel, anim, gameLocal.time, FRAME2MS( animBlendFrames ) ); +void idAnimState::CycleAnim(int anim) { + if (anim) { + animator->CycleAnim(channel, anim, gameLocal.time, FRAME2MS(animBlendFrames)); } animBlendFrames = 0; } @@ -210,7 +209,7 @@ void idAnimState::CycleAnim( int anim ) { idAnimState::BecomeIdle ===================== */ -void idAnimState::BecomeIdle( void ) { +void idAnimState::BecomeIdle(void) { idleAnim = true; } @@ -219,7 +218,7 @@ void idAnimState::BecomeIdle( void ) { idAnimState::Disabled ===================== */ -bool idAnimState::Disabled( void ) const { +bool idAnimState::Disabled(void) const { return disabled; } @@ -228,16 +227,18 @@ bool idAnimState::Disabled( void ) const { idAnimState::AnimDone ===================== */ -bool idAnimState::AnimDone( int blendFrames ) const { +bool idAnimState::AnimDone(int blendFrames) const { int animDoneTime; - - animDoneTime = animator->CurrentAnim( channel )->GetEndTime(); - if ( animDoneTime < 0 ) { + + animDoneTime = animator->CurrentAnim(channel)->GetEndTime(); + if (animDoneTime < 0) { // playing a cycle return false; - } else if ( animDoneTime - FRAME2MS( blendFrames ) <= gameLocal.time ) { + } + else if (animDoneTime - FRAME2MS(blendFrames) <= gameLocal.time) { return true; - } else { + } + else { return false; } } @@ -247,7 +248,7 @@ bool idAnimState::AnimDone( int blendFrames ) const { idAnimState::IsIdle ===================== */ -bool idAnimState::IsIdle( void ) const { +bool idAnimState::IsIdle(void) const { return disabled || idleAnim; } @@ -256,12 +257,12 @@ bool idAnimState::IsIdle( void ) const { idAnimState::GetAnimFlags ===================== */ -animFlags_t idAnimState::GetAnimFlags( void ) const { +animFlags_t idAnimState::GetAnimFlags(void) const { animFlags_t flags; - memset( &flags, 0, sizeof( flags ) ); - if ( !disabled && !AnimDone( 0 ) ) { - flags = animator->GetAnimFlags( animator->CurrentAnim( channel )->AnimNum() ); + memset(&flags, 0, sizeof(flags)); + if (!disabled && !AnimDone(0)) { + flags = animator->GetAnimFlags(animator->CurrentAnim(channel)->AnimNum()); } return flags; @@ -272,14 +273,11 @@ animFlags_t idAnimState::GetAnimFlags( void ) const { idAnimState::Enable ===================== */ -void idAnimState::Enable( int blendFrames ) { - if ( disabled ) { +void idAnimState::Enable(int blendFrames) { + if (disabled) { disabled = false; animBlendFrames = blendFrames; lastAnimBlendFrames = blendFrames; - if ( state.Length() ) { - SetState( state.c_str(), blendFrames ); - } } } @@ -288,7 +286,7 @@ void idAnimState::Enable( int blendFrames ) { idAnimState::Disable ===================== */ -void idAnimState::Disable( void ) { +void idAnimState::Disable(void) { disabled = true; idleAnim = false; } @@ -298,18 +296,12 @@ void idAnimState::Disable( void ) { idAnimState::UpdateState ===================== */ -bool idAnimState::UpdateState( void ) { - if ( disabled ) { +bool idAnimState::UpdateState(void) { + if (disabled) { return false; } - if ( ai_debugScript.GetInteger() == self->entityNumber ) { - thread->EnableDebugInfo(); - } else { - thread->DisableDebugInfo(); - } - - thread->Execute(); + stateThread.Execute(); return true; } @@ -377,8 +369,8 @@ CLASS_DECLARATION( idAFEntity_Gibbable, idActor ) EVENT( AI_GetPainAnim, idActor::Event_GetPainAnim ) EVENT( AI_SetAnimPrefix, idActor::Event_SetAnimPrefix ) EVENT( AI_StopAnim, idActor::Event_StopAnim ) - EVENT( AI_PlayAnim, idActor::Event_PlayAnim ) - EVENT( AI_PlayCycle, idActor::Event_PlayCycle ) + EVENT( AI_PlayAnim, idActor::Event_PlayAnimScript ) + EVENT( AI_PlayCycle, idActor::Event_PlayCycleScript) EVENT( AI_IdleAnim, idActor::Event_IdleAnim ) EVENT( AI_SetSyncedAnimWeight, idActor::Event_SetSyncedAnimWeight ) EVENT( AI_SetBlendFrames, idActor::Event_SetBlendFrames ) @@ -1315,6 +1307,12 @@ idActor::SetState void idActor::SetState( const char *statename ) { const function_t *newState; + if (HasNativeFunction(statename)) { + idStr _stateName = statename; + CallNativeEvent(_stateName); + return; + } + newState = GetScriptFunction( statename ); SetState( newState ); } @@ -1886,64 +1884,70 @@ void idActor::GetNAVLocation( idNAV *aas, idVec3 &pos, int &areaNum ) const { idActor::SetAnimState ===================== */ -void idActor::SetAnimState( int channel, const char *statename, int blendFrames ) { - const function_t *func; - - func = scriptObject.GetFunction( statename ); - if ( !func ) { - assert( 0 ); - gameLocal.Error( "Can't find function '%s' in object '%s'", statename, scriptObject.GetTypeName() ); - } - - switch( channel ) { - case ANIMCHANNEL_HEAD : - headAnim.SetState( statename, blendFrames ); - allowEyeFocus = true; - break; - - case ANIMCHANNEL_TORSO : - torsoAnim.SetState( statename, blendFrames ); - legsAnim.Enable( blendFrames ); - allowPain = true; - allowEyeFocus = true; +void idActor::SetAnimState(int channel, const char* statename, int blendFrames, int flags) { + switch (channel) { + case ANIMCHANNEL_HEAD: + headAnim.GetStateThread().Clear(); break; - case ANIMCHANNEL_LEGS : - legsAnim.SetState( statename, blendFrames ); - torsoAnim.Enable( blendFrames ); - allowPain = true; - allowEyeFocus = true; + case ANIMCHANNEL_TORSO: + torsoAnim.GetStateThread().Clear(); + legsAnim.Enable(blendFrames); break; - default: - gameLocal.Error( "idActor::SetAnimState: Unknown anim group" ); + case ANIMCHANNEL_LEGS: + legsAnim.GetStateThread().Clear(); + torsoAnim.Enable(blendFrames); break; } + + //OnStateChange(channel); + + PostAnimState(channel, statename, blendFrames, 0, flags); } + +/* +===================== +idActor::SetAnimState +===================== +*/ +void idActor::SetAnimState( int channel, const char *statename, int blendFrames ) { + switch (channel) { + case ANIMCHANNEL_HEAD: + headAnim.GetStateThread().Clear(); + break; + + case ANIMCHANNEL_TORSO: + torsoAnim.GetStateThread().Clear(); + legsAnim.Enable(blendFrames); + break; + + case ANIMCHANNEL_LEGS: + legsAnim.GetStateThread().Clear(); + torsoAnim.Enable(blendFrames); + break; + } + + //OnStateChange(channel); + + PostAnimState(channel, statename, blendFrames, 0, 0); +} + + /* ===================== idActor::GetAnimState ===================== */ -const char *idActor::GetAnimState( int channel ) const { - switch( channel ) { - case ANIMCHANNEL_HEAD : - return headAnim.state; - break; - - case ANIMCHANNEL_TORSO : - return torsoAnim.state; - break; - - case ANIMCHANNEL_LEGS : - return legsAnim.state; - break; - +idAnimState& idActor::GetAnimState(int channel) { + switch (channel) { + case ANIMCHANNEL_LEGS: return legsAnim; + case ANIMCHANNEL_TORSO: return torsoAnim; + case ANIMCHANNEL_HEAD: return headAnim; default: - gameLocal.Error( "idActor::GetAnimState: Unknown anim group" ); - return NULL; - break; + gameLocal.Error("idActor::GetAnimState: Unknown anim channel"); + return torsoAnim; } } @@ -1953,27 +1957,36 @@ idActor::InAnimState ===================== */ bool idActor::InAnimState( int channel, const char *statename ) const { - switch( channel ) { - case ANIMCHANNEL_HEAD : - if ( headAnim.state == statename ) { + switch (channel) { + case ANIMCHANNEL_HEAD: + { + rvStateThread& stateThread = ((idActor*)this)->headAnim.GetStateThread(); + if (stateThread.CurrentState() == statename) { return true; } - break; + } + break; - case ANIMCHANNEL_TORSO : - if ( torsoAnim.state == statename ) { + case ANIMCHANNEL_TORSO: + { + rvStateThread& stateThread = ((idActor*)this)->torsoAnim.GetStateThread(); + if (stateThread.CurrentState() == statename) { return true; } - break; + } + break; - case ANIMCHANNEL_LEGS : - if ( legsAnim.state == statename ) { + case ANIMCHANNEL_LEGS: + { + rvStateThread& stateThread = ((idActor*)this)->legsAnim.GetStateThread(); + if (stateThread.CurrentState() == statename) { return true; } - break; + } + break; default: - gameLocal.Error( "idActor::InAnimState: Unknown anim group" ); + gameLocal.Error("idActor::InAnimState: Unknown anim group"); break; } @@ -2574,12 +2587,159 @@ void idActor::Event_StopAnim( int channel, int frames ) { } } +bool idActor::HasAnim(int channel, const char* animname, bool forcePrefix) { + return GetAnim(channel, animname) != NULL; +} + +/* +===================== +idActor::PostAnimState +===================== +*/ +void idActor::PostAnimState(int channel, const char* statename, int blendFrames, int delay, int flags) { + GetAnimState(channel).PostState(statename, blendFrames, delay, flags); +} + + +/* +===================== +idActor::GetAnimStateVar +===================== +*/ +idAnimState& idActor::GetAnimStateVar(int channel) +{ + switch (channel) + { + case ANIMCHANNEL_LEGS: + return legsAnim; + case ANIMCHANNEL_TORSO: + return torsoAnim; + case ANIMCHANNEL_HEAD: + return headAnim; + default: + gameLocal.Error("idActor::GetAnimState: Unknown anim channel"); + return torsoAnim; + } +} + +/* +===================== +idActor::GetAnimStateVar +===================== +*/ +const idAnimState& idActor::GetAnimStateVar(int channel) const +{ + switch (channel) + { + case ANIMCHANNEL_LEGS: + return legsAnim; + case ANIMCHANNEL_TORSO: + return torsoAnim; + case ANIMCHANNEL_HEAD: + return headAnim; + default: + gameLocal.Error("idActor::GetAnimState: Unknown anim channel"); + return torsoAnim; + } +} + +/* +================ +idActor::AnimDone +================ +*/ +bool idActor::AnimDone(int channel, int blendFrames) const +{ + return GetAnimStateVar(channel).AnimDone(blendFrames); +} + /* =============== idActor::Event_PlayAnim =============== */ -void idActor::Event_PlayAnim( int channel, const char *animname ) { +void idActor::Event_PlayAnim(int channel, const char* animname, int blendFrames) { + animFlags_t flags; + idEntity* headEnt; + int anim; + + anim = GetAnim(channel, animname); + if (!anim) { + if ((channel == ANIMCHANNEL_HEAD) && head.GetEntity()) { + gameLocal.DPrintf("missing '%s' animation on '%s' (%s)\n", animname, name.c_str(), spawnArgs.GetString("def_head", "")); + } + else { + gameLocal.DPrintf("missing '%s' animation on '%s' (%s)\n", animname, name.c_str(), GetEntityDefName()); + } + idThread::ReturnInt(0); + return; + } + + switch (channel) { + case ANIMCHANNEL_HEAD: + headEnt = head.GetEntity(); + if (headEnt) { + headAnim.idleAnim = false; + headAnim.PlayAnim(anim); + flags = headAnim.GetAnimFlags(); + if (!flags.prevent_idle_override) { + if (torsoAnim.IsIdle()) { + torsoAnim.animBlendFrames = headAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_TORSO, ANIMCHANNEL_HEAD, headAnim.lastAnimBlendFrames); + if (legsAnim.IsIdle()) { + legsAnim.animBlendFrames = headAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_LEGS, ANIMCHANNEL_HEAD, headAnim.lastAnimBlendFrames); + } + } + } + } + break; + + case ANIMCHANNEL_TORSO: + torsoAnim.idleAnim = false; + torsoAnim.PlayAnim(anim); + flags = torsoAnim.GetAnimFlags(); + if (!flags.prevent_idle_override) { + if (headAnim.IsIdle()) { + headAnim.animBlendFrames = torsoAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_HEAD, ANIMCHANNEL_TORSO, torsoAnim.lastAnimBlendFrames); + } + if (legsAnim.IsIdle()) { + legsAnim.animBlendFrames = torsoAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_LEGS, ANIMCHANNEL_TORSO, torsoAnim.lastAnimBlendFrames); + } + } + break; + + case ANIMCHANNEL_LEGS: + legsAnim.idleAnim = false; + legsAnim.PlayAnim(anim); + flags = legsAnim.GetAnimFlags(); + if (!flags.prevent_idle_override) { + if (torsoAnim.IsIdle()) { + torsoAnim.animBlendFrames = legsAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_TORSO, ANIMCHANNEL_LEGS, legsAnim.lastAnimBlendFrames); + if (headAnim.IsIdle()) { + headAnim.animBlendFrames = legsAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_HEAD, ANIMCHANNEL_LEGS, legsAnim.lastAnimBlendFrames); + } + } + } + break; + + default: + gameLocal.Error("Unknown anim group"); + break; + } + idThread::ReturnInt(1); +} + +/* +=============== +idActor::Event_PlayAnim +=============== +*/ +void idActor::Event_PlayAnimScript( int channel, const char *animname ) { animFlags_t flags; idEntity *headEnt; int anim; @@ -2656,10 +2816,10 @@ void idActor::Event_PlayAnim( int channel, const char *animname ) { /* =============== -idActor::Event_PlayCycle +idActor::Event_PlayCycleScript =============== */ -void idActor::Event_PlayCycle( int channel, const char *animname ) { +void idActor::Event_PlayCycleScript( int channel, const char *animname ) { animFlags_t flags; int anim; @@ -2728,6 +2888,82 @@ void idActor::Event_PlayCycle( int channel, const char *animname ) { idThread::ReturnInt( true ); } + +/* +=============== +idActor::Event_PlayCycle +=============== +*/ +void idActor::Event_PlayCycle(int channel, const char* animname, int blendFrames) { + animFlags_t flags; + int anim; + + anim = GetAnim(channel, animname); + if (!anim) { + if ((channel == ANIMCHANNEL_HEAD) && head.GetEntity()) { + gameLocal.DPrintf("missing '%s' animation on '%s' (%s)\n", animname, name.c_str(), spawnArgs.GetString("def_head", "")); + } + else { + gameLocal.DPrintf("missing '%s' animation on '%s' (%s)\n", animname, name.c_str(), GetEntityDefName()); + } + idThread::ReturnInt(false); + return; + } + + switch (channel) { + case ANIMCHANNEL_HEAD: + headAnim.idleAnim = false; + headAnim.CycleAnim(anim); + flags = headAnim.GetAnimFlags(); + if (!flags.prevent_idle_override) { + if (torsoAnim.IsIdle() && legsAnim.IsIdle()) { + torsoAnim.animBlendFrames = headAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_TORSO, ANIMCHANNEL_HEAD, headAnim.lastAnimBlendFrames); + legsAnim.animBlendFrames = headAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_LEGS, ANIMCHANNEL_HEAD, headAnim.lastAnimBlendFrames); + } + } + break; + + case ANIMCHANNEL_TORSO: + torsoAnim.idleAnim = false; + torsoAnim.CycleAnim(anim); + flags = torsoAnim.GetAnimFlags(); + if (!flags.prevent_idle_override) { + if (headAnim.IsIdle()) { + headAnim.animBlendFrames = torsoAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_HEAD, ANIMCHANNEL_TORSO, torsoAnim.lastAnimBlendFrames); + } + if (legsAnim.IsIdle()) { + legsAnim.animBlendFrames = torsoAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_LEGS, ANIMCHANNEL_TORSO, torsoAnim.lastAnimBlendFrames); + } + } + break; + + case ANIMCHANNEL_LEGS: + legsAnim.idleAnim = false; + legsAnim.CycleAnim(anim); + flags = legsAnim.GetAnimFlags(); + if (!flags.prevent_idle_override) { + if (torsoAnim.IsIdle()) { + torsoAnim.animBlendFrames = legsAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_TORSO, ANIMCHANNEL_LEGS, legsAnim.lastAnimBlendFrames); + if (headAnim.IsIdle()) { + headAnim.animBlendFrames = legsAnim.lastAnimBlendFrames; + SyncAnimChannels(ANIMCHANNEL_HEAD, ANIMCHANNEL_LEGS, legsAnim.lastAnimBlendFrames); + } + } + } + break; + + default: + gameLocal.Error("Unknown anim group"); + } + + idThread::ReturnInt(true); +} + /* =============== idActor::Event_IdleAnim @@ -3014,7 +3250,7 @@ idActor::Event_GetAnimState void idActor::Event_GetAnimState( int channel ) { const char *state; - state = GetAnimState( channel ); + state = GetAnimState(channel).GetStateThread().CurrentState(); idThread::ReturnString( state ); } diff --git a/neo/doom3/game/Actor.h b/neo/doom3/game/Actor.h index d511f2e2..7c824d21 100644 --- a/neo/doom3/game/Actor.h +++ b/neo/doom3/game/Actor.h @@ -57,39 +57,47 @@ class idDeclParticle; class idAnimState { public: + bool idleAnim; - idStr state; int animBlendFrames; int lastAnimBlendFrames; // allows override anims to blend based on the last transition time public: - idAnimState(); - ~idAnimState(); + idAnimState(); + ~idAnimState(); - void Save( idSaveGame *savefile ) const; - void Restore( idRestoreGame *savefile ); + void Save(idSaveGame* savefile) const; + void Restore(idRestoreGame* savefile); - void Init( idActor *owner, idAnimator *_animator, int animchannel ); - void Shutdown( void ); - void SetState( const char *name, int blendFrames ); - void StopAnim( int frames ); - void PlayAnim( int anim ); - void CycleAnim( int anim ); - void BecomeIdle( void ); - bool UpdateState( void ); - bool Disabled( void ) const; - void Enable( int blendFrames ); - void Disable( void ); - bool AnimDone( int blendFrames ) const; - bool IsIdle( void ) const; - animFlags_t GetAnimFlags( void ) const; + void Init(idEntity* owner, idAnimator* _animator, int animchannel); + void Shutdown(void); + void SetState(const char* name, int blendFrames, int flags = 0); + void PostState(const char* name, int blendFrames = 0, int delay = 0, int flags = 0); + void StopAnim(int frames); + void PlayAnim(int anim); + void CycleAnim(int anim); + void BecomeIdle(void); + bool UpdateState(void); + bool Disabled(void) const; + void Enable(int blendFrames); + void Disable(void); + bool AnimDone(int blendFrames) const; + bool IsIdle(void) const; + animFlags_t GetAnimFlags(void) const; + rvStateThread& GetStateThread(void); + + idAnimator* GetAnimator(void) const { return animator; }; private: - idActor * self; - idAnimator * animator; - idThread * thread; + // RAVEN BEGIN + // bdube: converted self to entity ptr so any entity can use it + idEntity* self; + // RAVEN END + idAnimator* animator; int channel; bool disabled; + + rvStateThread stateThread; }; class idAttachInfo { @@ -106,6 +114,8 @@ typedef struct { class idActor : public idAFEntity_Gibbable { public: + friend class rvmAIObject; + CLASS_PROTOTYPE( idActor ); int team; @@ -135,6 +145,10 @@ public: void CheckBlink( void ); + void SetAnimState(int channel, const char* statename, int blendFrames, int flags); + void PostAnimState(int channel, const char* statename, int blendFrames, int delay = 0, int flags = 0); + void StopAnimState(int channel); + virtual bool GetPhysicsToVisualTransform( idVec3 &origin, idMat3 &axis ); virtual bool GetPhysicsToSoundTransform( idVec3 &origin, idMat3 &axis ); @@ -198,7 +212,7 @@ public: int GetAnim( int channel, const char *name ); void UpdateAnimState( void ); void SetAnimState( int channel, const char *name, int blendFrames ); - const char * GetAnimState( int channel ) const; + idAnimState& GetAnimState(int channel); bool InAnimState( int channel, const char *name ) const; const char * WaitState( void ) const; void SetWaitState( const char *_waitstate ); @@ -270,7 +284,10 @@ protected: // copies animation from body to head joints void CopyJointsFromBodyToHead( void ); -private: + void Event_PlayAnim(int channel, const char* animname, int blendFrames); + void Event_PlayCycle(int channel, const char* animname, int blendFrames); + bool HasAnim(int channel, const char* animname, bool forcePrefix); +protected: void SyncAnimChannels( int channel, int syncToChannel, int blendFrames ); void FinishSetup( void ); void SetupHead( void ); @@ -290,8 +307,8 @@ private: void Event_EnablePain( void ); void Event_GetPainAnim( void ); void Event_StopAnim( int channel, int frames ); - void Event_PlayAnim( int channel, const char *name ); - void Event_PlayCycle( int channel, const char *name ); + void Event_PlayAnimScript( int channel, const char *name ); + void Event_PlayCycleScript( int channel, const char *name ); void Event_IdleAnim( int channel, const char *name ); void Event_SetSyncedAnimWeight( int channel, int anim, float weight ); void Event_OverrideAnim( int channel ); @@ -316,6 +333,13 @@ private: void Event_SetState( const char *name ); void Event_GetState( void ); void Event_GetHead( void ); + + idAnimState& GetAnimStateVar(int channel); + const idAnimState& GetAnimStateVar(int channel) const; }; +ID_INLINE rvStateThread& idAnimState::GetStateThread(void) { + return stateThread; +} + #endif /* !__GAME_ACTOR_H__ */ diff --git a/neo/doom3/game/Player.cpp b/neo/doom3/game/Player.cpp index 75166bc1..8bc32c25 100644 --- a/neo/doom3/game/Player.cpp +++ b/neo/doom3/game/Player.cpp @@ -1584,6 +1584,10 @@ void idPlayer::Spawn( void ) { #endif } } + + // Start in idle + SetAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 0); + SetAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", 0); } /* diff --git a/neo/doom3/game/Player.h b/neo/doom3/game/Player.h index 93615e45..fbbf8ebd 100644 --- a/neo/doom3/game/Player.h +++ b/neo/doom3/game/Player.h @@ -695,6 +695,42 @@ public: void Event_LevelTrigger( void ); void Event_Gibbed( void ); void Event_GetIdealWeapon( void ); + + stateResult_t Wait_Alive(stateParms_t* parms); + stateResult_t Wait_ReloadAnim(stateParms_t* parms); + + stateResult_t Torso_Idle(stateParms_t* parms); + stateResult_t Torso_IdleThink(stateParms_t* parms); + stateResult_t Torso_Teleport(stateParms_t* parms); + stateResult_t Torso_RaiseWeapon(stateParms_t* parms); + stateResult_t Torso_LowerWeapon(stateParms_t* parms); + stateResult_t Torso_Fire(stateParms_t* parms); + stateResult_t Torso_Fire_Windup(stateParms_t* parms); + + stateResult_t Torso_Reload(stateParms_t* parms); + stateResult_t Torso_Pain(stateParms_t* parms); + stateResult_t Torso_Dead(stateParms_t* parms); + stateResult_t Torso_Emote(stateParms_t* parms); + + stateResult_t Legs_Idle(stateParms_t* parms); + stateResult_t Legs_Run_Forward(stateParms_t* parms); + stateResult_t Legs_Run_Backward(stateParms_t* parms); + stateResult_t Legs_Run_Left(stateParms_t* parms); + stateResult_t Legs_Run_Right(stateParms_t* parms); + stateResult_t Legs_Walk_Forward(stateParms_t* parms); + stateResult_t Legs_Walk_Backward(stateParms_t* parms); + stateResult_t Legs_Walk_Left(stateParms_t* parms); + stateResult_t Legs_Walk_Right(stateParms_t* parms); + stateResult_t Legs_Crouch(stateParms_t* parms); + stateResult_t Legs_Uncrouch(stateParms_t* parms); + stateResult_t Legs_Crouch_Idle(stateParms_t* parms); + stateResult_t Legs_Crouch_Forward(stateParms_t* parms); + stateResult_t Legs_Crouch_Backward(stateParms_t* parms); + stateResult_t Legs_Jump(stateParms_t* parms); + stateResult_t Legs_Fall(stateParms_t* parms); + stateResult_t Legs_Land(stateParms_t* parms); + stateResult_t Legs_Dead(stateParms_t* parms); + bool IsLegsIdle(bool crouching) const; }; ID_INLINE bool idPlayer::IsReady( void ) { diff --git a/neo/doom3/game/PlayerAnim.cpp b/neo/doom3/game/PlayerAnim.cpp new file mode 100644 index 00000000..d77590bb --- /dev/null +++ b/neo/doom3/game/PlayerAnim.cpp @@ -0,0 +1,913 @@ +// Player_Anim.cpp +// + +#include "precompiled.h" +#pragma hdrstop + +#include "Game_local.h" + +/* +================ +idPlayer::Torso_Idle +================ +*/ +stateResult_t idPlayer::Torso_Idle(stateParms_t* parms) { + if (SRESULT_WAIT == Torso_IdleThink(parms)) { + Event_PlayCycle(ANIMCHANNEL_TORSO, "idle", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_TORSO, "Torso_IdleThink", /* parms->blendFrames */ 0); + } + return SRESULT_DONE; +} + +/* +================ +idPlayer::Torso_IdleThink +================ +*/ +stateResult_t idPlayer::Torso_IdleThink(stateParms_t* parms) { + if (AI_TELEPORT) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Teleport", 0); + return SRESULT_DONE; + } + if (AI_WEAPON_FIRED) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Fire", 0); + return SRESULT_DONE; + } + + //if (AI_ATTACK_HELD && weapon && weapon->wfl.hasWindupAnim) { + // PostAnimState(ANIMCHANNEL_TORSO, "Torso_Fire_Windup", 0); + // return SRESULT_DONE; + //} + + if (AI_ATTACK_HELD && HasAnim(ANIMCHANNEL_TORSO, "startfire", false)) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Fire_StartFire", 2); + return SRESULT_DONE; + } + if (AI_PAIN) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Pain", 0); + return SRESULT_DONE; + } + //if (emote != PE_NONE) { + // PostAnimState(ANIMCHANNEL_TORSO, "Torso_Emote", 5); + // return SRESULT_DONE; + //} + + return SRESULT_WAIT; +} + +/* +================ +idPlayer::Torso_Teleport +================ +*/ +stateResult_t idPlayer::Torso_Teleport(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + AI_TELEPORT = false; + Event_PlayAnim(ANIMCHANNEL_TORSO, "teleport", /* parms->blendFrames */ 0); + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + if (AnimDone(ANIMCHANNEL_TORSO, 4)) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 4); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_ERROR; +} + +/* +================ +idPlayer::Torso_RaiseWeapon +================ +*/ +stateResult_t idPlayer::Torso_RaiseWeapon(stateParms_t* parms) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "raise", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_TORSO, "Wait_TorsoAnim", 3); + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 3); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Torso_LowerWeapon +================ +*/ +stateResult_t idPlayer::Torso_LowerWeapon(stateParms_t* parms) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "lower", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_TORSO, "Wait_TorsoAnim", 3); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Torso_Fire +================ +*/ +stateResult_t idPlayer::Torso_Fire(stateParms_t* parms) { + enum { + TORSO_FIRE_INIT, + TORSO_FIRE_WAIT, + TORSO_FIRE_AIM, + TORSO_FIRE_AIMWAIT + }; + + switch (parms->stage) { + // Start the firing sequence + case TORSO_FIRE_INIT: + Event_PlayAnim(ANIMCHANNEL_TORSO, "fire", /* parms->blendFrames */ 0); + AI_WEAPON_FIRED = false; + SRESULT_STAGE(TORSO_FIRE_WAIT); + + // Wait for the firing animation to be finished + case TORSO_FIRE_WAIT: + if (AI_WEAPON_FIRED) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Fire", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + if (AnimDone(ANIMCHANNEL_TORSO, /* parms->blendFrames */ 0)) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + return SRESULT_WAIT; + + // Keep the gun aimed but dont shoot + case TORSO_FIRE_AIM: + Event_PlayAnim(ANIMCHANNEL_TORSO, "aim", 3); + SRESULT_STAGE(TORSO_FIRE_AIMWAIT); + + // Keep the gun aimed as long as the attack button is held and nothing is firing + case TORSO_FIRE_AIMWAIT: + if (AI_WEAPON_FIRED) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Fire", 3); + return SRESULT_DONE; + } + else if (!AI_ATTACK_HELD) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_DONE; +} + +/* +================ +idPlayer::Torso_Fire_Windup +================ +*/ +stateResult_t idPlayer::Torso_Fire_Windup(stateParms_t* parms) { + enum { + TORSO_FIRE_INIT, + TORSO_WINDUP_WAIT, + TORSO_FIRE_LOOP, + TORSO_FIRE_WAIT, + TORSO_WINDDOWN_START, + TORSO_WINDDOWN_WAIT, + TORSO_FIRE_AIM, + TORSO_FIRE_AIMWAIT + }; + + switch (parms->stage) { + // Start the firing sequence + case TORSO_FIRE_INIT: + //jshepard: HACK for now we're blending here, but we need to support charge up anims here + Event_PlayAnim(ANIMCHANNEL_TORSO, "fire", 4); + AI_WEAPON_FIRED = false; + SRESULT_STAGE(TORSO_WINDUP_WAIT); + + // wait for the windup anim to end, or the attackHeld to be false. + case TORSO_WINDUP_WAIT: + if (!AI_ATTACK_HELD) { + SRESULT_STAGE(TORSO_WINDDOWN_START); + } + if (AnimDone(ANIMCHANNEL_TORSO, /* parms->blendFrames */ 0)) { + SRESULT_STAGE(TORSO_FIRE_LOOP); + } + return SRESULT_WAIT; + + // play the firing loop + case TORSO_FIRE_LOOP: + if (!AI_ATTACK_HELD) { + SRESULT_STAGE(TORSO_WINDDOWN_START); + } + Event_PlayAnim(ANIMCHANNEL_TORSO, "fire", /* parms->blendFrames */ 0); + SRESULT_STAGE(TORSO_FIRE_WAIT); + + // loop the fire anim + case TORSO_FIRE_WAIT: + if (!AI_ATTACK_HELD) { + SRESULT_STAGE(TORSO_WINDDOWN_START); + } + //loop the attack anim + if (AnimDone(ANIMCHANNEL_TORSO, /* parms->blendFrames */ 0)) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "fire", /* parms->blendFrames */ 0); + SRESULT_STAGE(TORSO_FIRE_WAIT); + } + return SRESULT_WAIT; + + //wind down + case TORSO_WINDDOWN_START: + //jshepard: HACK just blend back into idle for now, we could support winddown anims here. + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 4); + AI_WEAPON_FIRED = false; + return SRESULT_DONE; + + } + return SRESULT_DONE; +} +/* +================ +idPlayer::Torso_Reload +================ +*/ +stateResult_t idPlayer::Torso_Reload(stateParms_t* parms) { + enum { + TORSO_RELOAD_START, + TORSO_RELOAD_STARTWAIT, + TORSO_RELOAD_LOOP, + TORSO_RELOAD_LOOPWAIT, + TORSO_RELOAD_WAIT, + TORSO_RELOAD_END + }; + switch (parms->stage) { + // Start the reload by either playing the reload animation or the reload_start animation + case TORSO_RELOAD_START: + if (HasAnim(ANIMCHANNEL_TORSO, "reload_start", false)) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "reload_start", /* parms->blendFrames */ 0); + SRESULT_STAGE(TORSO_RELOAD_STARTWAIT); + } + + Event_PlayAnim(ANIMCHANNEL_TORSO, "reload", /* parms->blendFrames */ 0); + SRESULT_STAGE(TORSO_RELOAD_WAIT); + + // Wait for the reload_start animation to finish and transition to reload_loop + case TORSO_RELOAD_STARTWAIT: + if (AnimDone(ANIMCHANNEL_TORSO, 0)) { + SRESULT_STAGE(TORSO_RELOAD_LOOP); + } + else if (AI_WEAPON_FIRED) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 3); + return SRESULT_DONE; + } + return SRESULT_WAIT; + + // Play a single reload from the reload loop + case TORSO_RELOAD_LOOP: + if (!AI_RELOAD) { + SRESULT_STAGE(TORSO_RELOAD_END); + } + Event_PlayAnim(ANIMCHANNEL_TORSO, "reload_loop", 0); + SRESULT_STAGE(TORSO_RELOAD_LOOPWAIT); + + // Wait for the looping reload to finish and either start a new one or end the reload + case TORSO_RELOAD_LOOPWAIT: + if (AnimDone(ANIMCHANNEL_TORSO, 0)) { + SRESULT_STAGE(TORSO_RELOAD_LOOP); + } + else if (AI_WEAPON_FIRED) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 3); + return SRESULT_DONE; + } + return SRESULT_WAIT; + + // End the reload + case TORSO_RELOAD_END: + if (AI_WEAPON_FIRED) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 3); + return SRESULT_DONE; + } + + Event_PlayAnim(ANIMCHANNEL_TORSO, "reload_end", 3); + SRESULT_STAGE(TORSO_RELOAD_WAIT); + + // Wait for reload to finish (called by both reload_end and reload) + case TORSO_RELOAD_WAIT: + if (AI_WEAPON_FIRED || AnimDone(ANIMCHANNEL_TORSO, 3)) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 3); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + + return SRESULT_DONE; +} + +/* +================ +idPlayer::Torso_Pain +================ +*/ +stateResult_t idPlayer::Torso_Pain(stateParms_t* parms) { + Event_PlayAnim(ANIMCHANNEL_TORSO, painAnim.Length() ? painAnim : "pain", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_TORSO, "Wait_TorsoAnim", 4); + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 4); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Torso_Dead +================ +*/ +stateResult_t idPlayer::Torso_Dead(stateParms_t* parms) { + PostAnimState(ANIMCHANNEL_TORSO, "Wait_Alive", 0); + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Torso_Emote +================ +*/ +stateResult_t idPlayer::Torso_Emote(stateParms_t* parms) { +#if 0 + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + if (emote == PE_GRAB_A) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "grab_a", /* parms->blendFrames */ 0); + } + else if (emote == PE_GRAB_B) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "grab_b", /* parms->blendFrames */ 0); + } + else if (emote == PE_SALUTE) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "salute", /* parms->blendFrames */ 0); + } + else if (emote == PE_CHEER) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "cheer", /* parms->blendFrames */ 0); + } + else if (emote == PE_TAUNT) { + Event_PlayAnim(ANIMCHANNEL_TORSO, "taunt", /* parms->blendFrames */ 0); + } + + emote = PE_NONE; + + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + if (AnimDone(ANIMCHANNEL_TORSO, /* parms->blendFrames */ 0)) { + PostAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_ERROR; +#else + gameLocal.Error("Not implemented!"); + return SRESULT_ERROR; +#endif +} + +/* +=============================================================================== + + AI Leg States + +=============================================================================== +*/ + +/* +================ +idPlayer::IsLegsIdle +================ +*/ +bool idPlayer::IsLegsIdle(bool crouching) const { + return ((AI_CROUCH == crouching) && AI_ONGROUND && (AI_FORWARD == AI_BACKWARD) && (AI_STRAFE_LEFT == AI_STRAFE_RIGHT)); +} + +/* +================ +idPlayer::Legs_Idle +================ +*/ +stateResult_t idPlayer::Legs_Idle(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + if (AI_CROUCH) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Crouch", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + Event_IdleAnim(ANIMCHANNEL_LEGS, "idle"); + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + // If now crouching go back to idle so we can transition to crouch + if (AI_CROUCH) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Crouch", 4); + return SRESULT_DONE; + } + else if (AI_JUMP) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Jump", 4); + return SRESULT_DONE; + } + else if (!AI_ONGROUND) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Fall", 4); + return SRESULT_DONE; + } + else if (AI_FORWARD && !AI_BACKWARD) { + if (usercmd.buttons & BUTTON_RUN) { + Event_PlayCycle(ANIMCHANNEL_LEGS, "run_forward", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Run_Forward", /* parms->blendFrames */ 0); + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "walk", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Walk_Forward", /* parms->blendFrames */ 0); + } + + return SRESULT_DONE; + } + else if (AI_BACKWARD && !AI_FORWARD) { + if (usercmd.buttons & BUTTON_RUN) { + Event_PlayCycle(ANIMCHANNEL_LEGS, "run_backwards", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Run_Backward", /* parms->blendFrames */ 0); + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "walk_backwards", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Walk_Backward", /* parms->blendFrames */ 0); + } + + return SRESULT_DONE; + } + else if (AI_STRAFE_LEFT && !AI_STRAFE_RIGHT) { + if (usercmd.buttons & BUTTON_RUN) { + Event_PlayCycle(ANIMCHANNEL_LEGS, "run_strafe_left", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Run_Left", /* parms->blendFrames */ 0); + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "walk_left", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Walk_Left", /* parms->blendFrames */ 0); + } + + return SRESULT_DONE; + } + else if (AI_STRAFE_RIGHT && !AI_STRAFE_LEFT) { + if (usercmd.buttons & BUTTON_RUN) { + Event_PlayCycle(ANIMCHANNEL_LEGS, "run_strafe_right", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Run_Right", /* parms->blendFrames */ 0); + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "walk_right", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Walk_Right", /* parms->blendFrames */ 0); + } + + return SRESULT_DONE; + } + return SRESULT_WAIT; + + } + return SRESULT_ERROR; +} + +/* +================ +idPlayer::Legs_Crouch_Idle +================ +*/ +stateResult_t idPlayer::Legs_Crouch_Idle(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + if (!AI_CROUCH) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Uncrouch", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + Event_PlayCycle(ANIMCHANNEL_LEGS, "crouch", /* parms->blendFrames */ 0); + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + if (!AI_CROUCH || AI_JUMP) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Uncrouch", 4); + return SRESULT_DONE; + } + else if ((AI_FORWARD && !AI_BACKWARD) || (AI_STRAFE_LEFT != AI_STRAFE_RIGHT)) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Crouch_Forward", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + else if (AI_BACKWARD && !AI_FORWARD) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Crouch_Backward", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_ERROR; +} + +/* +================ +idPlayer::Legs_Crouch +================ +*/ +stateResult_t idPlayer::Legs_Crouch(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + Event_PlayAnim(ANIMCHANNEL_LEGS, "crouch_down", /* parms->blendFrames */ 0); + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + if (!IsLegsIdle(true) || AnimDone(ANIMCHANNEL_LEGS, 4)) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Crouch_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_ERROR; +} + +/* +================ +idPlayer::Legs_Uncrouch +================ +*/ +stateResult_t idPlayer::Legs_Uncrouch(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + Event_PlayAnim(ANIMCHANNEL_LEGS, "crouch_up", /* parms->blendFrames */ 0); + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + if (!IsLegsIdle(false) || AnimDone(ANIMCHANNEL_LEGS, 4)) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", 4); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_ERROR; +} + +/* +================ +idPlayer::Legs_Run_Forward +================ +*/ +stateResult_t idPlayer::Legs_Run_Forward(stateParms_t* parms) { + if (!AI_JUMP && AI_ONGROUND && !AI_CROUCH && !AI_BACKWARD && AI_FORWARD) { + if (usercmd.buttons & BUTTON_RUN) { + return SRESULT_WAIT; + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "walk", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Walk_Forward", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Run_Backward +================ +*/ +stateResult_t idPlayer::Legs_Run_Backward(stateParms_t* parms) { + if (!AI_JUMP && AI_ONGROUND && !AI_CROUCH && !AI_FORWARD && AI_BACKWARD) { + if (usercmd.buttons & BUTTON_RUN) { + return SRESULT_WAIT; + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "walk_backwards", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Walk_Backward", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Run_Left +================ +*/ +stateResult_t idPlayer::Legs_Run_Left(stateParms_t* parms) { + if (!AI_JUMP && AI_ONGROUND && !AI_CROUCH && (AI_FORWARD == AI_BACKWARD) && AI_STRAFE_LEFT && !AI_STRAFE_RIGHT) { + if (usercmd.buttons & BUTTON_RUN) { + return SRESULT_WAIT; + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "walk_left", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Walk_Left", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Run_Right +================ +*/ +stateResult_t idPlayer::Legs_Run_Right(stateParms_t* parms) { + if (!AI_JUMP && AI_ONGROUND && !AI_CROUCH && (AI_FORWARD == AI_BACKWARD) && AI_STRAFE_RIGHT && !AI_STRAFE_LEFT) { + if (usercmd.buttons & BUTTON_RUN) { + return SRESULT_WAIT; + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "walk_right", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Walk_Right", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Walk_Forward +================ +*/ +stateResult_t idPlayer::Legs_Walk_Forward(stateParms_t* parms) { + if (!AI_JUMP && AI_ONGROUND && !AI_CROUCH && !AI_BACKWARD && AI_FORWARD) { + if (!(usercmd.buttons & BUTTON_RUN)) { + return SRESULT_WAIT; + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "run_forward", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Run_Forward", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Walk_Backward +================ +*/ +stateResult_t idPlayer::Legs_Walk_Backward(stateParms_t* parms) { + if (!AI_JUMP && AI_ONGROUND && !AI_CROUCH && !AI_FORWARD && AI_BACKWARD) { + if (!(usercmd.buttons & BUTTON_RUN)) { + return SRESULT_WAIT; + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "run_backwards", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Run_Backward", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Walk_Left +================ +*/ +stateResult_t idPlayer::Legs_Walk_Left(stateParms_t* parms) { + if (!AI_JUMP && AI_ONGROUND && !AI_CROUCH && (AI_FORWARD == AI_BACKWARD) && AI_STRAFE_LEFT && !AI_STRAFE_RIGHT) { + if (!(usercmd.buttons & BUTTON_RUN)) { + return SRESULT_WAIT; + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "run_strafe_left", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Run_Left", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Walk_Right +================ +*/ +stateResult_t idPlayer::Legs_Walk_Right(stateParms_t* parms) { + if (!AI_JUMP && AI_ONGROUND && !AI_CROUCH && (AI_FORWARD == AI_BACKWARD) && AI_STRAFE_RIGHT && !AI_STRAFE_LEFT) { + if (!(usercmd.buttons & BUTTON_RUN)) { + return SRESULT_WAIT; + } + else { + Event_PlayCycle(ANIMCHANNEL_LEGS, "run_strafe_right", /* parms->blendFrames */ 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Run_Right", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Crouch_Forward +================ +*/ +stateResult_t idPlayer::Legs_Crouch_Forward(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + Event_PlayCycle(ANIMCHANNEL_LEGS, "crouch_walk", /* parms->blendFrames */ 0); + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + if (!AI_JUMP && AI_ONGROUND && AI_CROUCH && ((!AI_BACKWARD && AI_FORWARD) || (AI_STRAFE_LEFT != AI_STRAFE_RIGHT))) { + return SRESULT_WAIT; + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Crouch_Idle", 2); + return SRESULT_DONE; + } + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Crouch_Backward +================ +*/ +stateResult_t idPlayer::Legs_Crouch_Backward(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + Event_PlayCycle(ANIMCHANNEL_LEGS, "crouch_walk_backward", /* parms->blendFrames */ 0); + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + if (!AI_JUMP && AI_ONGROUND && AI_CROUCH && !AI_FORWARD && AI_BACKWARD) { + return SRESULT_WAIT; + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Crouch_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + return SRESULT_ERROR; +} + +/* +================ +idPlayer::Legs_Jump +================ +*/ +stateResult_t idPlayer::Legs_Jump(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + // prevent infinite recursion + AI_JUMP = false; + if (AI_RUN) { + Event_PlayAnim(ANIMCHANNEL_LEGS, "run_jump", /* parms->blendFrames */ 0); + } + else { + Event_PlayAnim(ANIMCHANNEL_LEGS, "jump", /* parms->blendFrames */ 0); + } + SRESULT_STAGE(STAGE_WAIT); + + case STAGE_WAIT: + if (AI_ONGROUND) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Land", 4); + return SRESULT_DONE; + } + if (AnimDone(ANIMCHANNEL_LEGS, 4)) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Fall", 4); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_ERROR; +} + +/* +================ +idPlayer::Legs_Fall +================ +*/ +stateResult_t idPlayer::Legs_Fall(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + if (AI_ONGROUND) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Land", 2); + return SRESULT_DONE; + } + Event_PlayCycle(ANIMCHANNEL_LEGS, "fall", /* parms->blendFrames */ 0); + SRESULT_STAGE(STAGE_WAIT); + case STAGE_WAIT: + if (AI_ONGROUND) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Land", 2); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_DONE; +} + +/* +================ +idPlayer::Legs_Land +================ +*/ +stateResult_t idPlayer::Legs_Land(stateParms_t* parms) { + enum { + STAGE_INIT, + STAGE_WAIT + }; + switch (parms->stage) { + case STAGE_INIT: + if (IsLegsIdle(false) && (AI_HARDLANDING || AI_SOFTLANDING)) { + if (AI_HARDLANDING) { + Event_PlayAnim(ANIMCHANNEL_LEGS, "hard_land", /* parms->blendFrames */ 0); + } + else { + Event_PlayAnim(ANIMCHANNEL_LEGS, "soft_land", /* parms->blendFrames */ 0); + } + SRESULT_STAGE(STAGE_WAIT); + } + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", 4); + return SRESULT_DONE; + + case STAGE_WAIT: + if (!IsLegsIdle(false) || AnimDone(ANIMCHANNEL_LEGS, /* parms->blendFrames */ 0)) { + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + return SRESULT_WAIT; + } + return SRESULT_ERROR; +} + +/* +================ +idPlayer::Legs_Dead +================ +*/ +stateResult_t idPlayer::Legs_Dead(stateParms_t* parms) { + PostAnimState(ANIMCHANNEL_LEGS, "Wait_Alive", 0); + PostAnimState(ANIMCHANNEL_LEGS, "Legs_Idle", 0); + return SRESULT_DONE; +} + +/* +================ +idPlayer::Wait_Alive + +Waits until the player is alive again. +================ +*/ +stateResult_t idPlayer::Wait_Alive(stateParms_t* parms) { + if (AI_DEAD) { + return SRESULT_WAIT; + } + return SRESULT_DONE; +} + +/* +================ +idPlayer::Wait_ReloadAnim +================ +*/ +stateResult_t idPlayer::Wait_ReloadAnim(stateParms_t* parms) { + // The gun firing can cancel any of the relod animations + if (AI_WEAPON_FIRED) { + SetAnimState(ANIMCHANNEL_TORSO, "Torso_Idle", /* parms->blendFrames */ 0); + return SRESULT_DONE; + } + + // wait for the animation to finish + if (AnimDone(ANIMCHANNEL_TORSO, /* parms->blendFrames */ 0)) { + return SRESULT_DONE; + } + + return SRESULT_WAIT; +} \ No newline at end of file diff --git a/neo/doom3/game/ai/AI.cpp b/neo/doom3/game/ai/AI.cpp index 01c06799..8c2c6eb5 100644 --- a/neo/doom3/game/ai/AI.cpp +++ b/neo/doom3/game/ai/AI.cpp @@ -138,6 +138,9 @@ idAI::idAI ===================== */ idAI::idAI() { + nativeAIObject = NULL; + nativeAIObjectName.Clear(); + aas = NULL; travelFlags = TFL_WALK | TFL_AIR; @@ -244,6 +247,7 @@ idAI::~idAI ===================== */ idAI::~idAI() { + ShutdownNativeAIObject(); delete projectileClipModel; DeconstructScriptObject(); scriptObject.Free(); @@ -548,6 +552,9 @@ void idAI::Restore(idRestoreGame* savefile) { // Link the script variables back to the scriptobject LinkScriptVariables(); + // Recreate the native state-machine object from the entityDef/spawnArg. + InitNativeAIObject(); + if (restorePhysics) { RestorePhysics(&physicsObj); } @@ -793,6 +800,9 @@ void idAI::Spawn(void) { // init the move variables StopMove(MOVE_STATUS_DONE); + + // create the optional native state-machine object after idAI native fields are ready + InitNativeAIObject(); } /* @@ -1074,12 +1084,165 @@ void idAI::LinkScriptVariables(void) { AI_PUSHED.LinkTo(scriptObject, "AI_PUSHED"); } + +/* +===================== +NativeAIObjectNameMatches +===================== +*/ +static bool NativeAIObjectNameMatches( const char* requestedName, const char* scriptObjectName, const char* cppObjectName ) { + if ( !requestedName || !requestedName[0] ) { + return false; + } + return ( !idStr::Icmp( requestedName, scriptObjectName ) || !idStr::Icmp( requestedName, cppObjectName ) ); +} + +#define CREATE_NATIVE_AI_OBJECT( scriptObjectName, cppObjectType ) \ + if ( NativeAIObjectNameMatches( nativeObjectName, scriptObjectName, #cppObjectType ) ) { return new cppObjectType(); } + +/* +===================== +idAI::CreateNativeAIObject + +Creates the native replacement object named by the entityDef/spawnArg "nativeobject" key. +The key may use either the original DoomScript object name, such as "monster_demon_imp", +or the generated native C++ type name, such as "rvmMonsterDemonImp". +===================== +*/ +rvmAIObject* idAI::CreateNativeAIObject( const char* nativeObjectName ) { + if ( !nativeObjectName || !nativeObjectName[0] ) { + return NULL; + } + + CREATE_NATIVE_AI_OBJECT( "ai", rvmAIObject ); + CREATE_NATIVE_AI_OBJECT( "character", rvmCharacter ); + CREATE_NATIVE_AI_OBJECT( "ai_character_prone", rvmAICharacterProne ); + CREATE_NATIVE_AI_OBJECT( "char_sentry", rvmCharSentry ); + CREATE_NATIVE_AI_OBJECT( "follower", rvmFollower ); + CREATE_NATIVE_AI_OBJECT( "ai_alphalabs2_scientist1", rvmAIAlphaLabs2Scientist1 ); + + CREATE_NATIVE_AI_OBJECT( "monster_base", rvmMonsterBase ); + CREATE_NATIVE_AI_OBJECT( "monster_zombie_base", rvmMonsterZombieBase ); + CREATE_NATIVE_AI_OBJECT( "monster_zombie", rvmMonsterZombie ); + CREATE_NATIVE_AI_OBJECT( "monster_zombie_bernie", rvmMonsterZombieBernie ); + CREATE_NATIVE_AI_OBJECT( "monster_zombie_morgue", rvmMonsterZombieMorgue ); + CREATE_NATIVE_AI_OBJECT( "monster_zombie_sawyer", rvmMonsterZombieSawyer ); + CREATE_NATIVE_AI_OBJECT( "monster_zombie_commando_tentacle", rvmMonsterZombieCommandoTentacle ); + CREATE_NATIVE_AI_OBJECT( "monster_zombie_commando_cgun", rvmMonsterZombieCommandoCGun ); + CREATE_NATIVE_AI_OBJECT( "monster_zombie_security_pistol", rvmMonsterZombieSecurityPistol ); + + CREATE_NATIVE_AI_OBJECT( "monster_demon_pinky", rvmMonsterDemonPinky ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_imp", rvmMonsterDemonImp ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_vulgar", rvmMonsterDemonVulgar ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_revenant", rvmMonsterDemonRevenant ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_hellknight", rvmMonsterDemonHellknight ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_maggot", rvmMonsterDemonMaggot ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_cherub", rvmMonsterDemonCherub ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_trite", rvmMonsterDemonTrite ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_wraith", rvmMonsterDemonWraith ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_mancubus", rvmMonsterDemonMancubus ); + CREATE_NATIVE_AI_OBJECT( "monster_demon_archvile", rvmMonsterDemonArchvile ); + + CREATE_NATIVE_AI_OBJECT( "monster_flying_cacodemon", rvmMonsterFlyingCacodemon ); + CREATE_NATIVE_AI_OBJECT( "monster_flying_lostsoul", rvmMonsterFlyingLostsoul ); + CREATE_NATIVE_AI_OBJECT( "monster_turret", rvmMonsterTurret ); + + CREATE_NATIVE_AI_OBJECT( "monster_boss_cyberdemon", rvmMonsterBossCyberdemon ); + CREATE_NATIVE_AI_OBJECT( "monster_boss_vagary", rvmMonsterBossVagary ); + CREATE_NATIVE_AI_OBJECT( "monster_boss_sabaoth", rvmMonsterBossSabaoth ); + CREATE_NATIVE_AI_OBJECT( "seeker_base", rvmSeekerBase ); + CREATE_NATIVE_AI_OBJECT( "monster_boss_guardian_spawner", rvmMonsterBossGuardianSpawner ); + CREATE_NATIVE_AI_OBJECT( "monster_boss_guardian", rvmMonsterBossGuardian ); + CREATE_NATIVE_AI_OBJECT( "monster_boss_guardian_seeker", rvmMonsterBossGuardianSeeker ); + + return NULL; +} + +#undef CREATE_NATIVE_AI_OBJECT + +/* +===================== +idAI::ShutdownNativeAIObject +===================== +*/ +void idAI::ShutdownNativeAIObject( void ) { + if ( nativeAIObject ) { + nativeAIObject->Destroy(); + delete nativeAIObject; + nativeAIObject = NULL; + } + nativeAIObjectName.Clear(); +} + +/* +===================== +idAI::InitNativeAIObject + +The entityDef owns selection through "nativeobject". Empty, "0", or "false" means +keep the old DoomScript VM path. "1" or "true" means use the existing "scriptobject" +name as the native object selector, which is convenient while converting decls. +===================== +*/ +void idAI::InitNativeAIObject( void ) { + ShutdownNativeAIObject(); + + idStr requestedNativeObject; + spawnArgs.GetString( "nativeobject", "", requestedNativeObject ); + if ( !requestedNativeObject.Length() || !idStr::Icmp( requestedNativeObject.c_str(), "0" ) || !idStr::Icmp( requestedNativeObject.c_str(), "false" ) ) { + return; + } + + if ( !idStr::Icmp( requestedNativeObject.c_str(), "1" ) || !idStr::Icmp( requestedNativeObject.c_str(), "true" ) ) { + spawnArgs.GetString( "scriptobject", "", requestedNativeObject ); + } + + if ( !requestedNativeObject.Length() ) { + gameLocal.Warning( "%s has nativeobject set, but no native object or scriptobject name was provided", name.c_str() ); + return; + } + + nativeAIObject = CreateNativeAIObject( requestedNativeObject.c_str() ); + if ( !nativeAIObject ) { + gameLocal.Warning( "%s has unknown nativeobject '%s'; falling back to DoomScript object '%s'", name.c_str(), requestedNativeObject.c_str(), spawnArgs.GetString( "scriptobject", "" ) ); + return; + } + + nativeAIObjectName = requestedNativeObject; + nativeAIObject->Init( this ); +} + +/* +===================== +idAI::GetNativeAIObject +===================== +*/ +rvmAIObject* idAI::GetNativeAIObject( void ) const { + return nativeAIObject; +} + +/* +===================== +idAI::GetNativeAIObjectName +===================== +*/ +const char* idAI::GetNativeAIObjectName( void ) const { + return nativeAIObjectName.c_str(); +} + /* ===================== idAI::UpdateAIScript ===================== */ void idAI::UpdateAIScript(void) { + if (nativeAIObject) { + nativeAIObject->Update(); + + // clear the hit enemy flag so we catch the next time we hit someone + AI_HIT_ENEMY = false; + return; + } + UpdateScript(); // clear the hit enemy flag so we catch the next time we hit someone @@ -3338,9 +3501,14 @@ void idAI::Killed(idEntity* inflictor, idEntity* attacker, int damage, const idV restartParticles = false; - state = GetScriptFunction("state_Killed"); - SetState(state); - SetWaitState(""); + if (nativeAIObject) { + nativeAIObject->SetState("state_Killed"); + } + else { + state = GetScriptFunction("state_Killed"); + SetState(state); + SetWaitState(""); + } const idKeyValue* kv = spawnArgs.MatchPrefix("def_drops", NULL); while (kv) { diff --git a/neo/doom3/game/ai/AI.h b/neo/doom3/game/ai/AI.h index 47b3aba4..f8f1e7bd 100644 --- a/neo/doom3/game/ai/AI.h +++ b/neo/doom3/game/ai/AI.h @@ -155,6 +155,7 @@ extern const idEventDef AI_TriggerParticles; extern const idEventDef AI_RandomPath; class idPathCorner; +class rvmAIObject; typedef struct particleEmitter_s { particleEmitter_s() { @@ -199,6 +200,8 @@ public: class idAI : public idActor { public: + friend class rvmAIObject; + CLASS_PROTOTYPE(idAI); idAI(); @@ -231,7 +234,7 @@ public: // Finds the best collision free trajectory for a clip model. static bool PredictTrajectory(const idVec3& firePos, const idVec3& target, float projectileSpeed, const idVec3& projGravity, const idClipModel* clip, int clipmask, float max_height, const idEntity* ignore, const idEntity* targetEntity, int drawtime, idVec3& aimDir); -protected: +public: // navigation idNAV* aas; int travelFlags; @@ -374,6 +377,10 @@ protected: idScriptBool AI_HIT_ENEMY; idScriptBool AI_PUSHED; + // native DoomScript replacement object. Created from the entityDef/spawnArg "nativeobject" key. + rvmAIObject* nativeAIObject; + idStr nativeAIObjectName; + // // ai/ai.cpp // @@ -483,6 +490,12 @@ protected: // AI script state management void LinkScriptVariables(void); + + void InitNativeAIObject(void); + void ShutdownNativeAIObject(void); + static rvmAIObject* CreateNativeAIObject(const char* nativeObjectName); + rvmAIObject* GetNativeAIObject(void) const; + const char* GetNativeAIObjectName(void) const; void UpdateAIScript(void); // @@ -770,4 +783,44 @@ private: }; +#include "AI_base.h" +#include "AI_monster_base.h" + +#include "AI_monster_zombie_base.h" +#include "AI_monster_zombie.h" +#include "AI_monster_zombie_bernie.h" +#include "AI_monster_zombie_morgue.h" +#include "AI_monster_zombie_sawyer.h" +#include "AI_monster_zombie_commando_tentacle.h" +#include "AI_monster_zombie_commando_cgun.h" +#include "AI_monster_zombie_security_pistol.h" + +#include "AI_character.h" +#include "AI_character_prone.h" +#include "AI_follower.h" +#include "AI_character_sentry.h" +#include "AI_alphalabs2_scientist1.h" + +#include "AI_monster_demon_pinky.h" +#include "AI_monster_demon_imp.h" +#include "AI_monster_demon_vulgar.h" +#include "AI_monster_demon_revenant.h" +#include "AI_monster_demon_hellknight.h" +#include "AI_monster_demon_maggot.h" +#include "AI_monster_demon_cherub.h" +#include "AI_monster_demon_trite.h" +#include "AI_monster_demon_wraith.h" +#include "AI_monster_demon_mancubus.h" +#include "AI_monster_demon_archvile.h" + +#include "AI_monster_flying_cacodemon.h" +#include "AI_monster_flying_lostsoul.h" +#include "AI_monster_turret.h" + +#include "AI_monster_boss_cyberdemon.h" +#include "AI_monster_boss_vagary.h" +#include "AI_monster_boss_sabaoth.h" +#include "AI_monster_boss_guardian.h" +#include "AI_monster_boss_guardian_seeker.h" + #endif /* !__AI_H__ */ diff --git a/neo/doom3/game/gamesys/GameTypeInfo.cpp b/neo/doom3/game/gamesys/GameTypeInfo.cpp index 6b6c642d..727fd0e7 100644 --- a/neo/doom3/game/gamesys/GameTypeInfo.cpp +++ b/neo/doom3/game/gamesys/GameTypeInfo.cpp @@ -4964,6 +4964,99 @@ intptr_t idPlayer::Invoke(const char *functionName, void *param1) { Event_GetIdealWeapon(); return 0; }; + if(functionNameHash == 123239) { // Wait_Alive + return (intptr_t)Wait_Alive((stateParms_t *)param1); + }; + if(functionNameHash == 187566) { // Wait_ReloadAnim + return (intptr_t)Wait_ReloadAnim((stateParms_t *)param1); + }; + if(functionNameHash == 124942) { // Torso_Idle + return (intptr_t)Torso_Idle((stateParms_t *)param1); + }; + if(functionNameHash == 191804) { // Torso_IdleThink + return (intptr_t)Torso_IdleThink((stateParms_t *)param1); + }; + if(functionNameHash == 185567) { // Torso_Teleport + return (intptr_t)Torso_Teleport((stateParms_t *)param1); + }; + if(functionNameHash == 222094) { // Torso_RaiseWeapon + return (intptr_t)Torso_RaiseWeapon((stateParms_t *)param1); + }; + if(functionNameHash == 224771) { // Torso_LowerWeapon + return (intptr_t)Torso_LowerWeapon((stateParms_t *)param1); + }; + if(functionNameHash == 125959) { // Torso_Fire + return (intptr_t)Torso_Fire((stateParms_t *)param1); + }; + if(functionNameHash == 221897) { // Torso_Fire_Windup + return (intptr_t)Torso_Fire_Windup((stateParms_t *)param1); + }; + if(functionNameHash == 152986) { // Torso_Reload + return (intptr_t)Torso_Reload((stateParms_t *)param1); + }; + if(functionNameHash == 126210) { // Torso_Pain + return (intptr_t)Torso_Pain((stateParms_t *)param1); + }; + if(functionNameHash == 122918) { // Torso_Dead + return (intptr_t)Torso_Dead((stateParms_t *)param1); + }; + if(functionNameHash == 140906) { // Torso_Emote + return (intptr_t)Torso_Emote((stateParms_t *)param1); + }; + if(functionNameHash == 107329) { // Legs_Idle + return (intptr_t)Legs_Idle((stateParms_t *)param1); + }; + if(functionNameHash == 205114) { // Legs_Run_Forward + return (intptr_t)Legs_Run_Forward((stateParms_t *)param1); + }; + if(functionNameHash == 215293) { // Legs_Run_Backward + return (intptr_t)Legs_Run_Backward((stateParms_t *)param1); + }; + if(functionNameHash == 161273) { // Legs_Run_Left + return (intptr_t)Legs_Run_Left((stateParms_t *)param1); + }; + if(functionNameHash == 176427) { // Legs_Run_Right + return (intptr_t)Legs_Run_Right((stateParms_t *)param1); + }; + if(functionNameHash == 217391) { // Legs_Walk_Forward + return (intptr_t)Legs_Walk_Forward((stateParms_t *)param1); + }; + if(functionNameHash == 227644) { // Legs_Walk_Backward + return (intptr_t)Legs_Walk_Backward((stateParms_t *)param1); + }; + if(functionNameHash == 173220) { // Legs_Walk_Left + return (intptr_t)Legs_Walk_Left((stateParms_t *)param1); + }; + if(functionNameHash == 188489) { // Legs_Walk_Right + return (intptr_t)Legs_Walk_Right((stateParms_t *)param1); + }; + if(functionNameHash == 136833) { // Legs_Crouch + return (intptr_t)Legs_Crouch((stateParms_t *)param1); + }; + if(functionNameHash == 166379) { // Legs_Uncrouch + return (intptr_t)Legs_Uncrouch((stateParms_t *)param1); + }; + if(functionNameHash == 199844) { // Legs_Crouch_Idle + return (intptr_t)Legs_Crouch_Idle((stateParms_t *)param1); + }; + if(functionNameHash == 246412) { // Legs_Crouch_Forward + return (intptr_t)Legs_Crouch_Forward((stateParms_t *)param1); + }; + if(functionNameHash == 256813) { // Legs_Crouch_Backward + return (intptr_t)Legs_Crouch_Backward((stateParms_t *)param1); + }; + if(functionNameHash == 111101) { // Legs_Jump + return (intptr_t)Legs_Jump((stateParms_t *)param1); + }; + if(functionNameHash == 107471) { // Legs_Fall + return (intptr_t)Legs_Fall((stateParms_t *)param1); + }; + if(functionNameHash == 107451) { // Legs_Land + return (intptr_t)Legs_Land((stateParms_t *)param1); + }; + if(functionNameHash == 105321) { // Legs_Dead + return (intptr_t)Legs_Dead((stateParms_t *)param1); + }; return __super::Invoke(functionName, param1); }; @@ -5306,6 +5399,99 @@ bool idPlayer::HasNativeFunction(const char *functionName) { if(functionNameHash == 256549) { // Event_GetIdealWeapon return true; }; + if(functionNameHash == 123239) { // Wait_Alive + return true; + }; + if(functionNameHash == 187566) { // Wait_ReloadAnim + return true; + }; + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 191804) { // Torso_IdleThink + return true; + }; + if(functionNameHash == 185567) { // Torso_Teleport + return true; + }; + if(functionNameHash == 222094) { // Torso_RaiseWeapon + return true; + }; + if(functionNameHash == 224771) { // Torso_LowerWeapon + return true; + }; + if(functionNameHash == 125959) { // Torso_Fire + return true; + }; + if(functionNameHash == 221897) { // Torso_Fire_Windup + return true; + }; + if(functionNameHash == 152986) { // Torso_Reload + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 122918) { // Torso_Dead + return true; + }; + if(functionNameHash == 140906) { // Torso_Emote + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 205114) { // Legs_Run_Forward + return true; + }; + if(functionNameHash == 215293) { // Legs_Run_Backward + return true; + }; + if(functionNameHash == 161273) { // Legs_Run_Left + return true; + }; + if(functionNameHash == 176427) { // Legs_Run_Right + return true; + }; + if(functionNameHash == 217391) { // Legs_Walk_Forward + return true; + }; + if(functionNameHash == 227644) { // Legs_Walk_Backward + return true; + }; + if(functionNameHash == 173220) { // Legs_Walk_Left + return true; + }; + if(functionNameHash == 188489) { // Legs_Walk_Right + return true; + }; + if(functionNameHash == 136833) { // Legs_Crouch + return true; + }; + if(functionNameHash == 166379) { // Legs_Uncrouch + return true; + }; + if(functionNameHash == 199844) { // Legs_Crouch_Idle + return true; + }; + if(functionNameHash == 246412) { // Legs_Crouch_Forward + return true; + }; + if(functionNameHash == 256813) { // Legs_Crouch_Backward + return true; + }; + if(functionNameHash == 111101) { // Legs_Jump + return true; + }; + if(functionNameHash == 107471) { // Legs_Fall + return true; + }; + if(functionNameHash == 107451) { // Legs_Land + return true; + }; + if(functionNameHash == 105321) { // Legs_Dead + return true; + }; return __super::HasNativeFunction(functionName); }; @@ -7451,6 +7637,20 @@ intptr_t idAI::Invoke(const char *functionName, void *param1) { LinkScriptVariables(); return 0; }; + if(functionNameHash == 223943) { // InitNativeAIObject + InitNativeAIObject(); + return 0; + }; + if(functionNameHash == 286072) { // ShutdownNativeAIObject + ShutdownNativeAIObject(); + return 0; + }; + if(functionNameHash == 208452) { // GetNativeAIObject + return (intptr_t)GetNativeAIObject(); + }; + if(functionNameHash == 261430) { // GetNativeAIObjectName + return (intptr_t)GetNativeAIObjectName(); + }; if(functionNameHash == 173157) { // UpdateAIScript UpdateAIScript(); return 0; @@ -8026,6 +8226,18 @@ bool idAI::HasNativeFunction(const char *functionName) { if(functionNameHash == 249647) { // LinkScriptVariables return true; }; + if(functionNameHash == 223943) { // InitNativeAIObject + return true; + }; + if(functionNameHash == 286072) { // ShutdownNativeAIObject + return true; + }; + if(functionNameHash == 208452) { // GetNativeAIObject + return true; + }; + if(functionNameHash == 261430) { // GetNativeAIObjectName + return true; + }; if(functionNameHash == 173157) { // UpdateAIScript return true; }; @@ -8410,6 +8622,5495 @@ bool idAI_Vagary::HasNativeFunction(const char *functionName) { }; +intptr_t rvmAIObject::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + Destroy(); + return 0; + }; + if(functionNameHash == 74281) { // Update + Update(); + return 0; + }; + if(functionNameHash == 96853) { // InAction + InAction(); + return 0; + }; + if(functionNameHash == 123982) { // ClearParms + ClearParms(*(stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 48107) { // Time + Time(); + return 0; + }; + if(functionNameHash == 109570) { // FrameTime + FrameTime(); + return 0; + }; + if(functionNameHash == 192306) { // InfluenceActive + InfluenceActive(); + return 0; + }; + if(functionNameHash == 75538) { // Player + return (intptr_t)Player(); + }; + if(functionNameHash == 132727) { // GetPainAnim + return (intptr_t)GetPainAnim(); + }; + if(functionNameHash == 108124) { // FaceEnemy + FaceEnemy(); + return 0; + }; + if(functionNameHash == 131961) { // FacingIdeal + FacingIdeal(); + return 0; + }; + if(functionNameHash == 101603) { // StopMove + StopMove(); + return 0; + }; + if(functionNameHash == 138052) { // MoveToEnemy + MoveToEnemy(); + return 0; + }; + if(functionNameHash == 217798) { // MoveToEnemyHeight + MoveToEnemyHeight(); + return 0; + }; + if(functionNameHash == 138160) { // MoveToCover + MoveToCover(); + return 0; + }; + if(functionNameHash == 74062) { // Wander + Wander(); + return 0; + }; + if(functionNameHash == 97687) { // MoveDone + MoveDone(); + return 0; + }; + if(functionNameHash == 129996) { // MoveStatus + MoveStatus(); + return 0; + }; + if(functionNameHash == 293721) { // DestinationUnreachable + DestinationUnreachable(); + return 0; + }; + if(functionNameHash == 97948) { // GetEnemy + return (intptr_t)GetEnemy(); + }; + if(functionNameHash == 123373) { // ClearEnemy + ClearEnemy(); + return 0; + }; + if(functionNameHash == 153033) { // EnemyVisible + EnemyVisible(); + return 0; + }; + if(functionNameHash == 114476) { // EnemyInFOV + EnemyInFOV(); + return 0; + }; + if(functionNameHash == 107792) { // EnemyDead + EnemyDead(); + return 0; + }; + if(functionNameHash == 123975) { // EnemyRange + EnemyRange(); + return 0; + }; + if(functionNameHash == 157832) { // CheckForMelee + CheckForMelee(); + return 0; + }; + if(functionNameHash == 133879) { // CanHitEnemy + CanHitEnemy(); + return 0; + }; + if(functionNameHash == 158750) { // CanReachEnemy + CanReachEnemy(); + return 0; + }; + if(functionNameHash == 137842) { // LocateEnemy + LocateEnemy(); + return 0; + }; + if(functionNameHash == 159686) { // GetCombatNode + return (intptr_t)GetCombatNode(); + }; + if(functionNameHash == 47285) { // Pain + Pain(); + return 0; + }; + if(functionNameHash == 112929) { // Activated + Activated(); + return 0; + }; + if(functionNameHash == 176524) { // ClearActivated + ClearActivated(); + return 0; + }; + if(functionNameHash == 168752) { // MovingForward + MovingForward(); + return 0; + }; + if(functionNameHash == 84508) { // Blocked + Blocked(); + return 0; + }; + if(functionNameHash == 174866) { // ObstacleInPath + ObstacleInPath(); + return 0; + }; + if(functionNameHash == 149923) { // GetTurnDelta + GetTurnDelta(); + return 0; + }; + if(functionNameHash == 129043) { // CurrentYaw + CurrentYaw(); + return 0; + }; + if(functionNameHash == 111360) { // GetOrigin + GetOrigin(); + return 0; + }; + if(functionNameHash == 137151) { // GetEnemyPos + GetEnemyPos(); + return 0; + }; + if(functionNameHash == 221287) { // GetLinearVelocity + GetLinearVelocity(); + return 0; + }; + if(functionNameHash == 108155) { // AttackEnd + AttackEnd(); + return 0; + }; + if(functionNameHash == 202788) { // TestChargeAttack + TestChargeAttack(); + return 0; + }; + if(functionNameHash == 176176) { // ClearFlyOffset + ClearFlyOffset(); + return 0; + }; + if(functionNameHash == 109164) { // GetHealth + GetHealth(); + return 0; + }; + if(functionNameHash == 134765) { // AllowDamage + AllowDamage(); + return 0; + }; + if(functionNameHash == 147843) { // IgnoreDamage + IgnoreDamage(); + return 0; + }; + if(functionNameHash == 135843) { // BecomeSolid + BecomeSolid(); + return 0; + }; + if(functionNameHash == 175070) { // BecomeNonSolid + BecomeNonSolid(); + return 0; + }; + if(functionNameHash == 85750) { // PreBurn + PreBurn(); + return 0; + }; + if(functionNameHash == 49108) { // Burn + Burn(); + return 0; + }; + if(functionNameHash == 110153) { // ClearBurn + ClearBurn(); + return 0; + }; + if(functionNameHash == 111017) { // HideOwner + HideOwner(); + return 0; + }; + if(functionNameHash == 115733) { // ShowOwner + ShowOwner(); + return 0; + }; + if(functionNameHash == 172048) { // CanBecomeSolid + CanBecomeSolid(); + return 0; + }; + if(functionNameHash == 162286) { // BecomeRagdoll + BecomeRagdoll(); + return 0; + }; + if(functionNameHash == 155714) { // StopThinking + StopThinking(); + return 0; + }; + if(functionNameHash == 142120) { // RemoveOwner + RemoveOwner(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmAIObject::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + return true; + }; + if(functionNameHash == 74281) { // Update + return true; + }; + if(functionNameHash == 96853) { // InAction + return true; + }; + if(functionNameHash == 123982) { // ClearParms + return true; + }; + if(functionNameHash == 48107) { // Time + return true; + }; + if(functionNameHash == 109570) { // FrameTime + return true; + }; + if(functionNameHash == 192306) { // InfluenceActive + return true; + }; + if(functionNameHash == 75538) { // Player + return true; + }; + if(functionNameHash == 132727) { // GetPainAnim + return true; + }; + if(functionNameHash == 108124) { // FaceEnemy + return true; + }; + if(functionNameHash == 131961) { // FacingIdeal + return true; + }; + if(functionNameHash == 101603) { // StopMove + return true; + }; + if(functionNameHash == 138052) { // MoveToEnemy + return true; + }; + if(functionNameHash == 217798) { // MoveToEnemyHeight + return true; + }; + if(functionNameHash == 138160) { // MoveToCover + return true; + }; + if(functionNameHash == 74062) { // Wander + return true; + }; + if(functionNameHash == 97687) { // MoveDone + return true; + }; + if(functionNameHash == 129996) { // MoveStatus + return true; + }; + if(functionNameHash == 293721) { // DestinationUnreachable + return true; + }; + if(functionNameHash == 97948) { // GetEnemy + return true; + }; + if(functionNameHash == 123373) { // ClearEnemy + return true; + }; + if(functionNameHash == 153033) { // EnemyVisible + return true; + }; + if(functionNameHash == 114476) { // EnemyInFOV + return true; + }; + if(functionNameHash == 107792) { // EnemyDead + return true; + }; + if(functionNameHash == 123975) { // EnemyRange + return true; + }; + if(functionNameHash == 157832) { // CheckForMelee + return true; + }; + if(functionNameHash == 133879) { // CanHitEnemy + return true; + }; + if(functionNameHash == 158750) { // CanReachEnemy + return true; + }; + if(functionNameHash == 137842) { // LocateEnemy + return true; + }; + if(functionNameHash == 159686) { // GetCombatNode + return true; + }; + if(functionNameHash == 47285) { // Pain + return true; + }; + if(functionNameHash == 112929) { // Activated + return true; + }; + if(functionNameHash == 176524) { // ClearActivated + return true; + }; + if(functionNameHash == 168752) { // MovingForward + return true; + }; + if(functionNameHash == 84508) { // Blocked + return true; + }; + if(functionNameHash == 174866) { // ObstacleInPath + return true; + }; + if(functionNameHash == 149923) { // GetTurnDelta + return true; + }; + if(functionNameHash == 129043) { // CurrentYaw + return true; + }; + if(functionNameHash == 111360) { // GetOrigin + return true; + }; + if(functionNameHash == 137151) { // GetEnemyPos + return true; + }; + if(functionNameHash == 221287) { // GetLinearVelocity + return true; + }; + if(functionNameHash == 108155) { // AttackEnd + return true; + }; + if(functionNameHash == 202788) { // TestChargeAttack + return true; + }; + if(functionNameHash == 176176) { // ClearFlyOffset + return true; + }; + if(functionNameHash == 109164) { // GetHealth + return true; + }; + if(functionNameHash == 134765) { // AllowDamage + return true; + }; + if(functionNameHash == 147843) { // IgnoreDamage + return true; + }; + if(functionNameHash == 135843) { // BecomeSolid + return true; + }; + if(functionNameHash == 175070) { // BecomeNonSolid + return true; + }; + if(functionNameHash == 85750) { // PreBurn + return true; + }; + if(functionNameHash == 49108) { // Burn + return true; + }; + if(functionNameHash == 110153) { // ClearBurn + return true; + }; + if(functionNameHash == 111017) { // HideOwner + return true; + }; + if(functionNameHash == 115733) { // ShowOwner + return true; + }; + if(functionNameHash == 172048) { // CanBecomeSolid + return true; + }; + if(functionNameHash == 162286) { // BecomeRagdoll + return true; + }; + if(functionNameHash == 155714) { // StopThinking + return true; + }; + if(functionNameHash == 142120) { // RemoveOwner + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterBase::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 223655) { // Torso_CustomCycle + Torso_CustomCycle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 209238) { // Torso_CustomAnim + Torso_CustomAnim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 141535) { // Torso_Sight + Torso_Sight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 138382) { // Torso_Death + Torso_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 120665) { // Legs_Death + Legs_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171989) { // state_Spawner + state_Spawner((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 201507) { // state_Resurrect + state_Resurrect((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124042) { // state_Dead + state_Dead((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154038) { // state_Combat + state_Combat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 209369) { // state_LostCombat + state_LostCombat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 339402) { // state_FollowAlternatePath + state_FollowAlternatePath((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 173364) { // monster_begin + monster_begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187794) { // wait_for_enemy + wait_for_enemy((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 146357) { // sight_enemy + sight_enemy((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 201338) { // walk_on_trigger + walk_on_trigger((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 200485) { // wake_on_trigger + wake_on_trigger((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 172196) { // wake_on_enemy + wake_on_enemy((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 240700) { // wake_on_attackcone + wake_on_attackcone((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 312442) { // idle_followPathEntities + idle_followPathEntities((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 145496) { // path_corner + path_corner((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 116228) { // path_anim + path_anim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 184852) { // path_cycleanim + path_cycleanim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 120720) { // path_turn + path_turn((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 118220) { // path_wait + path_wait((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 261685) { // path_waitfortrigger + path_waitfortrigger((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 114825) { // path_hide + path_hide((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 119736) { // path_show + path_show((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 143315) { // path_attack + path_attack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 170793) { // combat_wander + combat_wander((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 244815) { // combat_turret_node + combat_turret_node((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 238805) { // combat_attack_cone + combat_attack_cone((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 168623) { // combat_ainode + combat_ainode((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + if(functionNameHash == 223066) { // checkTurretAttack + checkTurretAttack(); + return 0; + }; + if(functionNameHash == 305792) { // trigger_wakeup_targets + trigger_wakeup_targets(); + return 0; + }; + if(functionNameHash == 200549) { // archvile_minion + archvile_minion(); + return 0; + }; + if(functionNameHash == 174149) { // can_resurrect + can_resurrect(); + return 0; + }; + if(functionNameHash == 127746) { // enemy_dead + enemy_dead(); + return 0; + }; + if(functionNameHash == 166161) { // check_blocked + check_blocked(); + return 0; + }; + if(functionNameHash == 154499) { // combat_chase + combat_chase(); + return 0; + }; + if(functionNameHash == 145825) { // combat_lost + combat_lost(); + return 0; + }; + if(functionNameHash == 332825) { // monster_base_lost_combat + monster_base_lost_combat(); + return 0; + }; + if(functionNameHash == 295467) { // follow_alternate_path1 + follow_alternate_path1(); + return 0; + }; + if(functionNameHash == 295607) { // follow_alternate_path2 + follow_alternate_path2(); + return 0; + }; + if(functionNameHash == 295747) { // follow_alternate_path3 + follow_alternate_path3(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterBase::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 223655) { // Torso_CustomCycle + return true; + }; + if(functionNameHash == 209238) { // Torso_CustomAnim + return true; + }; + if(functionNameHash == 141535) { // Torso_Sight + return true; + }; + if(functionNameHash == 138382) { // Torso_Death + return true; + }; + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 120665) { // Legs_Death + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 171989) { // state_Spawner + return true; + }; + if(functionNameHash == 201507) { // state_Resurrect + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 124042) { // state_Dead + return true; + }; + if(functionNameHash == 154038) { // state_Combat + return true; + }; + if(functionNameHash == 209369) { // state_LostCombat + return true; + }; + if(functionNameHash == 339402) { // state_FollowAlternatePath + return true; + }; + if(functionNameHash == 173364) { // monster_begin + return true; + }; + if(functionNameHash == 187794) { // wait_for_enemy + return true; + }; + if(functionNameHash == 146357) { // sight_enemy + return true; + }; + if(functionNameHash == 201338) { // walk_on_trigger + return true; + }; + if(functionNameHash == 200485) { // wake_on_trigger + return true; + }; + if(functionNameHash == 172196) { // wake_on_enemy + return true; + }; + if(functionNameHash == 240700) { // wake_on_attackcone + return true; + }; + if(functionNameHash == 312442) { // idle_followPathEntities + return true; + }; + if(functionNameHash == 145496) { // path_corner + return true; + }; + if(functionNameHash == 116228) { // path_anim + return true; + }; + if(functionNameHash == 184852) { // path_cycleanim + return true; + }; + if(functionNameHash == 120720) { // path_turn + return true; + }; + if(functionNameHash == 118220) { // path_wait + return true; + }; + if(functionNameHash == 261685) { // path_waitfortrigger + return true; + }; + if(functionNameHash == 114825) { // path_hide + return true; + }; + if(functionNameHash == 119736) { // path_show + return true; + }; + if(functionNameHash == 143315) { // path_attack + return true; + }; + if(functionNameHash == 170793) { // combat_wander + return true; + }; + if(functionNameHash == 244815) { // combat_turret_node + return true; + }; + if(functionNameHash == 238805) { // combat_attack_cone + return true; + }; + if(functionNameHash == 168623) { // combat_ainode + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + if(functionNameHash == 223066) { // checkTurretAttack + return true; + }; + if(functionNameHash == 305792) { // trigger_wakeup_targets + return true; + }; + if(functionNameHash == 200549) { // archvile_minion + return true; + }; + if(functionNameHash == 174149) { // can_resurrect + return true; + }; + if(functionNameHash == 127746) { // enemy_dead + return true; + }; + if(functionNameHash == 166161) { // check_blocked + return true; + }; + if(functionNameHash == 154499) { // combat_chase + return true; + }; + if(functionNameHash == 145825) { // combat_lost + return true; + }; + if(functionNameHash == 332825) { // monster_base_lost_combat + return true; + }; + if(functionNameHash == 295467) { // follow_alternate_path1 + return true; + }; + if(functionNameHash == 295607) { // follow_alternate_path2 + return true; + }; + if(functionNameHash == 295747) { // follow_alternate_path3 + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterZombieBase::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 200549) { // archvile_minion + archvile_minion(); + return 0; + }; + if(functionNameHash == 174149) { // can_resurrect + can_resurrect(); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterZombieBase::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 200549) { // archvile_minion + return true; + }; + if(functionNameHash == 174149) { // can_resurrect + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterZombie::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterZombie::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterZombieBernie::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterZombieBernie::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterZombieMorgue::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterZombieMorgue::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterZombieSawyer::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + if(functionNameHash == 148229) { // start_smoke + start_smoke(); + return 0; + }; + if(functionNameHash == 159868) { // start_attack + start_attack(); + return 0; + }; + if(functionNameHash == 128215) { // end_attack + end_attack(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterZombieSawyer::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + if(functionNameHash == 148229) { // start_smoke + return true; + }; + if(functionNameHash == 159868) { // start_attack + return true; + }; + if(functionNameHash == 128215) { // end_attack + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterZombieCommandoTentacle::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 262850) { // Torso_TentacleAttack + Torso_TentacleAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 198191) { // combat_tentacle + combat_tentacle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + if(functionNameHash == 287526) { // tentacle_attack_start + tentacle_attack_start(); + return 0; + }; + if(functionNameHash == 253375) { // tentacle_attack_end + tentacle_attack_end(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterZombieCommandoTentacle::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 262850) { // Torso_TentacleAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 198191) { // combat_tentacle + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + if(functionNameHash == 287526) { // tentacle_attack_start + return true; + }; + if(functionNameHash == 253375) { // tentacle_attack_end + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterZombieCommandoCGun::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 234846) { // Torso_CrouchAttack + Torso_CrouchAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 162297) { // Legs_StepLeft + Legs_StepLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 177451) { // Legs_StepRight + Legs_StepRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 157412) { // stand_attack + stand_attack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171316) { // crouch_attack + crouch_attack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterZombieCommandoCGun::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 234846) { // Torso_CrouchAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 162297) { // Legs_StepLeft + return true; + }; + if(functionNameHash == 177451) { // Legs_StepRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 157412) { // stand_attack + return true; + }; + if(functionNameHash == 171316) { // crouch_attack + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterZombieSecurityPistol::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 234846) { // Torso_CrouchAttack + Torso_CrouchAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 162297) { // Legs_StepLeft + Legs_StepLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 177451) { // Legs_StepRight + Legs_StepRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 157412) { // stand_attack + stand_attack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171316) { // crouch_attack + crouch_attack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterZombieSecurityPistol::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 234846) { // Torso_CrouchAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 162297) { // Legs_StepLeft + return true; + }; + if(functionNameHash == 177451) { // Legs_StepRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 157412) { // stand_attack + return true; + }; + if(functionNameHash == 171316) { // crouch_attack + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmCharacter::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + Destroy(); + return 0; + }; + if(functionNameHash == 104297) { // Head_Idle + Head_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 146595) { // Anim_Disable + Anim_Disable((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 102289) { // Head_Dead + Head_Dead((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 209868) { // Head_TalkHeadOnly + Head_TalkHeadOnly((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 120665) { // Legs_Death + Legs_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 214721) { // Legs_Walk_Special + Legs_Walk_Special((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 163930) { // Legs_TurnLeft + Legs_TurnLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179084) { // Legs_TurnRight + Legs_TurnRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 123938) { // Legs_Cower + Legs_Cower((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 205293) { // Legs_CustomCycle + Legs_CustomCycle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 190983) { // Legs_CustomAnim + Legs_CustomAnim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171989) { // state_Spawner + state_Spawner((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 142805) { // state_Cower + state_Cower((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223461) { // state_TalkTrigger + state_TalkTrigger((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 129322) { // idle_stand + idle_stand((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 312442) { // idle_followPathEntities + idle_followPathEntities((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 115276) { // idle_talk + idle_talk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 149689) { // checkBlocked + checkBlocked((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 145496) { // path_corner + path_corner((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 116228) { // path_anim + path_anim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 184852) { // path_cycleanim + path_cycleanim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 120720) { // path_turn + path_turn((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 118220) { // path_wait + path_wait((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 261685) { // path_waitfortrigger + path_waitfortrigger((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 114825) { // path_hide + path_hide((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 119736) { // path_show + path_show((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 336958) { // path_conversation_listen + path_conversation_listen((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 232666) { // path_conversation + path_conversation((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 168355) { // path_headanim + path_headanim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 271154) { // path_waitforheadanim + path_waitforheadanim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 117083) { // path_talk + path_talk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 256437) { // path_talk_triggered + path_talk_triggered((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 231166) { // path_talk_primary + path_talk_primary((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 258035) { // path_talk_secondary + path_talk_secondary((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 145599) { // path_lookat + path_lookat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 339402) { // state_FollowAlternatePath + state_FollowAlternatePath((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 146595) { // Anim_Disable + Anim_Disable(); + return 0; + }; + if(functionNameHash == 142609) { // check_cower + check_cower(); + return 0; + }; + if(functionNameHash == 145048) { // target_talk + target_talk(); + return 0; + }; + if(functionNameHash == 173008) { // say_triggered + say_triggered(); + return 0; + }; + if(functionNameHash == 148847) { // say_primary + say_primary(); + return 0; + }; + if(functionNameHash == 174540) { // say_secondary + say_secondary(); + return 0; + }; + if(functionNameHash == 154264) { // inCustomAnim + inCustomAnim(); + return 0; + }; + if(functionNameHash == 166912) { // endCustomAnim + endCustomAnim(); + return 0; + }; + if(functionNameHash == 221046) { // finishPathCommand + finishPathCommand(); + return 0; + }; + if(functionNameHash == 217771) { // cancelPathCommand + cancelPathCommand(); + return 0; + }; + if(functionNameHash == 138627) { // getOutOfWay + getOutOfWay(); + return 0; + }; + if(functionNameHash == 233868) { // skip_conversation + skip_conversation(); + return 0; + }; + if(functionNameHash == 349616) { // break_out_of_conversation + break_out_of_conversation(); + return 0; + }; + if(functionNameHash == 295467) { // follow_alternate_path1 + follow_alternate_path1(); + return 0; + }; + if(functionNameHash == 295607) { // follow_alternate_path2 + follow_alternate_path2(); + return 0; + }; + if(functionNameHash == 295747) { // follow_alternate_path3 + follow_alternate_path3(); + return 0; + }; + if(functionNameHash == 200978) { // disable_turning + disable_turning(); + return 0; + }; + if(functionNameHash == 186508) { // enable_turning + enable_turning(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmCharacter::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + return true; + }; + if(functionNameHash == 104297) { // Head_Idle + return true; + }; + if(functionNameHash == 146595) { // Anim_Disable + return true; + }; + if(functionNameHash == 102289) { // Head_Dead + return true; + }; + if(functionNameHash == 209868) { // Head_TalkHeadOnly + return true; + }; + if(functionNameHash == 120665) { // Legs_Death + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 214721) { // Legs_Walk_Special + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 163930) { // Legs_TurnLeft + return true; + }; + if(functionNameHash == 179084) { // Legs_TurnRight + return true; + }; + if(functionNameHash == 123938) { // Legs_Cower + return true; + }; + if(functionNameHash == 205293) { // Legs_CustomCycle + return true; + }; + if(functionNameHash == 190983) { // Legs_CustomAnim + return true; + }; + if(functionNameHash == 171989) { // state_Spawner + return true; + }; + if(functionNameHash == 142805) { // state_Cower + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 223461) { // state_TalkTrigger + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 129322) { // idle_stand + return true; + }; + if(functionNameHash == 312442) { // idle_followPathEntities + return true; + }; + if(functionNameHash == 115276) { // idle_talk + return true; + }; + if(functionNameHash == 149689) { // checkBlocked + return true; + }; + if(functionNameHash == 145496) { // path_corner + return true; + }; + if(functionNameHash == 116228) { // path_anim + return true; + }; + if(functionNameHash == 184852) { // path_cycleanim + return true; + }; + if(functionNameHash == 120720) { // path_turn + return true; + }; + if(functionNameHash == 118220) { // path_wait + return true; + }; + if(functionNameHash == 261685) { // path_waitfortrigger + return true; + }; + if(functionNameHash == 114825) { // path_hide + return true; + }; + if(functionNameHash == 119736) { // path_show + return true; + }; + if(functionNameHash == 336958) { // path_conversation_listen + return true; + }; + if(functionNameHash == 232666) { // path_conversation + return true; + }; + if(functionNameHash == 168355) { // path_headanim + return true; + }; + if(functionNameHash == 271154) { // path_waitforheadanim + return true; + }; + if(functionNameHash == 117083) { // path_talk + return true; + }; + if(functionNameHash == 256437) { // path_talk_triggered + return true; + }; + if(functionNameHash == 231166) { // path_talk_primary + return true; + }; + if(functionNameHash == 258035) { // path_talk_secondary + return true; + }; + if(functionNameHash == 145599) { // path_lookat + return true; + }; + if(functionNameHash == 339402) { // state_FollowAlternatePath + return true; + }; + if(functionNameHash == 146595) { // Anim_Disable + return true; + }; + if(functionNameHash == 142609) { // check_cower + return true; + }; + if(functionNameHash == 145048) { // target_talk + return true; + }; + if(functionNameHash == 173008) { // say_triggered + return true; + }; + if(functionNameHash == 148847) { // say_primary + return true; + }; + if(functionNameHash == 174540) { // say_secondary + return true; + }; + if(functionNameHash == 154264) { // inCustomAnim + return true; + }; + if(functionNameHash == 166912) { // endCustomAnim + return true; + }; + if(functionNameHash == 221046) { // finishPathCommand + return true; + }; + if(functionNameHash == 217771) { // cancelPathCommand + return true; + }; + if(functionNameHash == 138627) { // getOutOfWay + return true; + }; + if(functionNameHash == 233868) { // skip_conversation + return true; + }; + if(functionNameHash == 349616) { // break_out_of_conversation + return true; + }; + if(functionNameHash == 295467) { // follow_alternate_path1 + return true; + }; + if(functionNameHash == 295607) { // follow_alternate_path2 + return true; + }; + if(functionNameHash == 295747) { // follow_alternate_path3 + return true; + }; + if(functionNameHash == 200978) { // disable_turning + return true; + }; + if(functionNameHash == 186508) { // enable_turning + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmAICharacterProne::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + Destroy(); + return 0; + }; + if(functionNameHash == 122918) { // Torso_Dead + Torso_Dead((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 175797) { // Torso_PlayDead + Torso_PlayDead((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 224502) { // Torso_TalkPrimary + Torso_TalkPrimary((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 222337) { // Torso_TalkTrigger + Torso_TalkTrigger((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 251371) { // Torso_TalkSecondary + Torso_TalkSecondary((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 127334) { // state_Pain + state_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124042) { // state_Dead + state_Dead((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 115276) { // idle_talk + idle_talk((stateParms_t *)param1); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmAICharacterProne::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + return true; + }; + if(functionNameHash == 122918) { // Torso_Dead + return true; + }; + if(functionNameHash == 175797) { // Torso_PlayDead + return true; + }; + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 224502) { // Torso_TalkPrimary + return true; + }; + if(functionNameHash == 222337) { // Torso_TalkTrigger + return true; + }; + if(functionNameHash == 251371) { // Torso_TalkSecondary + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 127334) { // state_Pain + return true; + }; + if(functionNameHash == 124042) { // state_Dead + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 115276) { // idle_talk + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmFollower::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + Destroy(); + return 0; + }; + if(functionNameHash == 223655) { // Torso_CustomCycle + Torso_CustomCycle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 209238) { // Torso_CustomAnim + Torso_CustomAnim((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 138382) { // Torso_Death + Torso_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 120665) { // Legs_Death + Legs_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 163930) { // Legs_TurnLeft + Legs_TurnLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179084) { // Legs_TurnRight + Legs_TurnRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 157762) { // state_Follow + state_Follow((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 115214) { // getCloser + getCloser((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218626) { // should_turn_left + should_turn_left(); + return 0; + }; + if(functionNameHash == 234125) { // should_turn_right + should_turn_right(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmFollower::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + return true; + }; + if(functionNameHash == 223655) { // Torso_CustomCycle + return true; + }; + if(functionNameHash == 209238) { // Torso_CustomAnim + return true; + }; + if(functionNameHash == 138382) { // Torso_Death + return true; + }; + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 120665) { // Legs_Death + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 163930) { // Legs_TurnLeft + return true; + }; + if(functionNameHash == 179084) { // Legs_TurnRight + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 157762) { // state_Follow + return true; + }; + if(functionNameHash == 115214) { // getCloser + return true; + }; + if(functionNameHash == 218626) { // should_turn_left + return true; + }; + if(functionNameHash == 234125) { // should_turn_right + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmCharSentry::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + Destroy(); + return 0; + }; + if(functionNameHash == 138382) { // Torso_Death + Torso_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 120665) { // Legs_Death + Legs_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 108205) { // Legs_Fold + Legs_Fold((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 134033) { // Legs_Folded + Legs_Folded((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 137305) { // Legs_Unfold + Legs_Unfold((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 148356) { // Legs_Hanging + Legs_Hanging((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 163930) { // Legs_TurnLeft + Legs_TurnLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179084) { // Legs_TurnRight + Legs_TurnRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 357100) { // updatePlayerPositionThread + updatePlayerPositionThread((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 276015) { // path_sentry_light_on + path_sentry_light_on((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 289089) { // path_sentry_light_off + path_sentry_light_off((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 281382) { // path_sentry_shutdown + path_sentry_shutdown((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 322265) { // path_sentry_unlock_door + path_sentry_unlock_door((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 145496) { // path_corner + path_corner((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 318458) { // path_sentry_lead_player + path_sentry_lead_player((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 352154) { // path_sentry_ignore_player + path_sentry_ignore_player((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 265173) { // state_WaitForTrigger + state_WaitForTrigger((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 210410) { // state_FollowPath + state_FollowPath((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 128977) { // state_Wait + state_Wait((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 194527) { // state_GetCloser + state_GetCloser((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 275280) { // state_CantReachPlayer + state_CantReachPlayer((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 125042) { // state_Lead + state_Lead((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 208195) { // state_FindPlayer + state_FindPlayer((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154038) { // state_Combat + state_Combat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154499) { // combat_chase + combat_chase((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 216270) { // spawn_flashlight + spawn_flashlight(); + return 0; + }; + if(functionNameHash == 184719) { // flashlight_off + flashlight_off(); + return 0; + }; + if(functionNameHash == 172303) { // flashlight_on + flashlight_on(); + return 0; + }; + if(functionNameHash == 323206) { // checkDestinationDistance + checkDestinationDistance(); + return 0; + }; + if(functionNameHash == 273237) { // find_attack_position + find_attack_position(); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmCharSentry::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + return true; + }; + if(functionNameHash == 138382) { // Torso_Death + return true; + }; + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 120665) { // Legs_Death + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 108205) { // Legs_Fold + return true; + }; + if(functionNameHash == 134033) { // Legs_Folded + return true; + }; + if(functionNameHash == 137305) { // Legs_Unfold + return true; + }; + if(functionNameHash == 148356) { // Legs_Hanging + return true; + }; + if(functionNameHash == 163930) { // Legs_TurnLeft + return true; + }; + if(functionNameHash == 179084) { // Legs_TurnRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 357100) { // updatePlayerPositionThread + return true; + }; + if(functionNameHash == 276015) { // path_sentry_light_on + return true; + }; + if(functionNameHash == 289089) { // path_sentry_light_off + return true; + }; + if(functionNameHash == 281382) { // path_sentry_shutdown + return true; + }; + if(functionNameHash == 322265) { // path_sentry_unlock_door + return true; + }; + if(functionNameHash == 145496) { // path_corner + return true; + }; + if(functionNameHash == 318458) { // path_sentry_lead_player + return true; + }; + if(functionNameHash == 352154) { // path_sentry_ignore_player + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 265173) { // state_WaitForTrigger + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 210410) { // state_FollowPath + return true; + }; + if(functionNameHash == 128977) { // state_Wait + return true; + }; + if(functionNameHash == 194527) { // state_GetCloser + return true; + }; + if(functionNameHash == 275280) { // state_CantReachPlayer + return true; + }; + if(functionNameHash == 125042) { // state_Lead + return true; + }; + if(functionNameHash == 208195) { // state_FindPlayer + return true; + }; + if(functionNameHash == 154038) { // state_Combat + return true; + }; + if(functionNameHash == 154499) { // combat_chase + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 216270) { // spawn_flashlight + return true; + }; + if(functionNameHash == 184719) { // flashlight_off + return true; + }; + if(functionNameHash == 172303) { // flashlight_on + return true; + }; + if(functionNameHash == 323206) { // checkDestinationDistance + return true; + }; + if(functionNameHash == 273237) { // find_attack_position + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmAIAlphaLabs2Scientist1::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + Destroy(); + return 0; + }; + if(functionNameHash == 104297) { // Head_Idle + Head_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 117633) { // Head_Death + Head_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 182394) { // Head_DeathScene + Head_DeathScene((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 161103) { // Head_Greeting + Head_Greeting((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 132243) { // Head_Speech + Head_Speech((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124193) { // Head_Hurry + Head_Hurry((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 174026) { // Head_StayClose + Head_StayClose((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 245703) { // Head_Electro_Pulses + Head_Electro_Pulses((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 128317) { // Head_Pulse1 + Head_Pulse1((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 128446) { // Head_Pulse2 + Head_Pulse2((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 144221) { // Head_WatchIt + Head_WatchIt((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 148410) { // Head_Spooked + Head_Spooked((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107828) { // Head_Exit + Head_Exit((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 161077) { // Head_SayStuff + Head_SayStuff((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 158510) { // Head_Attacked + Head_Attacked((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 183614) { // Head_AttackDone + Head_AttackDone((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 129608) { // Torso_Work + Torso_Work((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 203637) { // Torso_DeathScene + Torso_DeathScene((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 138382) { // Torso_Death + Torso_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 120665) { // Legs_Death + Legs_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 163930) { // Legs_TurnLeft + Legs_TurnLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179084) { // Legs_TurnRight + Legs_TurnRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 123938) { // Legs_Cower + Legs_Cower((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 133572) { // light_fade1 + light_fade1((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 133701) { // light_fade2 + light_fade2((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 88528) { // doEvent + doEvent((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 104470) { // sayStuff + sayStuff((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109518) { // hurry_up + hurry_up((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 357100) { // updatePlayerPositionThread + updatePlayerPositionThread((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 149689) { // checkBlocked + checkBlocked((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 204761) { // state_DeathScene + state_DeathScene((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 267872) { // state_WorkingOnStuff + state_WorkingOnStuff((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 238496) { // state_NoticePlayer + state_NoticePlayer((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 128977) { // state_Wait + state_Wait((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 194527) { // state_GetCloser + state_GetCloser((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 275280) { // state_CantReachPlayer + state_CantReachPlayer((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 170522) { // state_Spooked + state_Spooked((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 125042) { // state_Lead + state_Lead((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 208195) { // state_FindPlayer + state_FindPlayer((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 142805) { // state_Cower + state_Cower((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 323206) { // checkDestinationDistance + checkDestinationDistance(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmAIAlphaLabs2Scientist1::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 91190) { // Destroy + return true; + }; + if(functionNameHash == 104297) { // Head_Idle + return true; + }; + if(functionNameHash == 117633) { // Head_Death + return true; + }; + if(functionNameHash == 182394) { // Head_DeathScene + return true; + }; + if(functionNameHash == 161103) { // Head_Greeting + return true; + }; + if(functionNameHash == 132243) { // Head_Speech + return true; + }; + if(functionNameHash == 124193) { // Head_Hurry + return true; + }; + if(functionNameHash == 174026) { // Head_StayClose + return true; + }; + if(functionNameHash == 245703) { // Head_Electro_Pulses + return true; + }; + if(functionNameHash == 128317) { // Head_Pulse1 + return true; + }; + if(functionNameHash == 128446) { // Head_Pulse2 + return true; + }; + if(functionNameHash == 144221) { // Head_WatchIt + return true; + }; + if(functionNameHash == 148410) { // Head_Spooked + return true; + }; + if(functionNameHash == 107828) { // Head_Exit + return true; + }; + if(functionNameHash == 161077) { // Head_SayStuff + return true; + }; + if(functionNameHash == 158510) { // Head_Attacked + return true; + }; + if(functionNameHash == 183614) { // Head_AttackDone + return true; + }; + if(functionNameHash == 129608) { // Torso_Work + return true; + }; + if(functionNameHash == 203637) { // Torso_DeathScene + return true; + }; + if(functionNameHash == 138382) { // Torso_Death + return true; + }; + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 120665) { // Legs_Death + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 163930) { // Legs_TurnLeft + return true; + }; + if(functionNameHash == 179084) { // Legs_TurnRight + return true; + }; + if(functionNameHash == 123938) { // Legs_Cower + return true; + }; + if(functionNameHash == 133572) { // light_fade1 + return true; + }; + if(functionNameHash == 133701) { // light_fade2 + return true; + }; + if(functionNameHash == 88528) { // doEvent + return true; + }; + if(functionNameHash == 104470) { // sayStuff + return true; + }; + if(functionNameHash == 109518) { // hurry_up + return true; + }; + if(functionNameHash == 357100) { // updatePlayerPositionThread + return true; + }; + if(functionNameHash == 149689) { // checkBlocked + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 204761) { // state_DeathScene + return true; + }; + if(functionNameHash == 267872) { // state_WorkingOnStuff + return true; + }; + if(functionNameHash == 238496) { // state_NoticePlayer + return true; + }; + if(functionNameHash == 128977) { // state_Wait + return true; + }; + if(functionNameHash == 194527) { // state_GetCloser + return true; + }; + if(functionNameHash == 275280) { // state_CantReachPlayer + return true; + }; + if(functionNameHash == 170522) { // state_Spooked + return true; + }; + if(functionNameHash == 125042) { // state_Lead + return true; + }; + if(functionNameHash == 208195) { // state_FindPlayer + return true; + }; + if(functionNameHash == 142805) { // state_Cower + return true; + }; + if(functionNameHash == 323206) { // checkDestinationDistance + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonPinky::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 127720) { // Torso_Roar + Torso_Roar((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 144019) { // combat_roar + combat_roar((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonPinky::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 127720) { // Torso_Roar + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 144019) { // combat_roar + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonImp::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 292117) { // Torso_TurretAttackIdle + Torso_TurretAttackIdle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + Torso_LeapAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 141735) { // combat_leap + combat_leap((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 119104) { // path_jump + path_jump((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonImp::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 292117) { // Torso_TurretAttackIdle + return true; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 141735) { // combat_leap + return true; + }; + if(functionNameHash == 119104) { // path_jump + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonVulgar::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + Torso_LeapAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 141735) { // combat_leap + combat_leap((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 119104) { // path_jump + path_jump((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonVulgar::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 141735) { // combat_leap + return true; + }; + if(functionNameHash == 119104) { // path_jump + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonRevenant::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonRevenant::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonHellknight::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonHellknight::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonMaggot::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + Torso_LeapAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 141735) { // combat_leap + combat_leap((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 119104) { // path_jump + path_jump((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonMaggot::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 141735) { // combat_leap + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 119104) { // path_jump + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonCherub::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + Torso_LeapAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 127082) { // Torso_Walk + Torso_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 115535) { // Torso_Run + Torso_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 189975) { // Torso_DodgeLeft + Torso_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 205359) { // Torso_DodgeRight + Torso_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 141735) { // combat_leap + combat_leap((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 119104) { // path_jump + path_jump((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonCherub::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + return true; + }; + if(functionNameHash == 127082) { // Torso_Walk + return true; + }; + if(functionNameHash == 115535) { // Torso_Run + return true; + }; + if(functionNameHash == 189975) { // Torso_DodgeLeft + return true; + }; + if(functionNameHash == 205359) { // Torso_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 141735) { // combat_leap + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 119104) { // path_jump + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonTrite::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + Torso_LeapAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 127082) { // Torso_Walk + Torso_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 115535) { // Torso_Run + Torso_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 189975) { // Torso_DodgeLeft + Torso_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 205359) { // Torso_DodgeRight + Torso_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 141735) { // combat_leap + combat_leap((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 119104) { // path_jump + path_jump((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 209369) { // state_LostCombat + state_LostCombat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 170040) { // state_Explode + state_Explode((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 185532) { // combat_explode + combat_explode((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonTrite::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 204424) { // Torso_LeapAttack + return true; + }; + if(functionNameHash == 127082) { // Torso_Walk + return true; + }; + if(functionNameHash == 115535) { // Torso_Run + return true; + }; + if(functionNameHash == 189975) { // Torso_DodgeLeft + return true; + }; + if(functionNameHash == 205359) { // Torso_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 141735) { // combat_leap + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 119104) { // path_jump + return true; + }; + if(functionNameHash == 209369) { // state_LostCombat + return true; + }; + if(functionNameHash == 170040) { // state_Explode + return true; + }; + if(functionNameHash == 185532) { // combat_explode + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonWraith::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 97995) { // Legs_Run + Legs_Run((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 209369) { // state_LostCombat + state_LostCombat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 282481) { // combat_become_visible + combat_become_visible((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 312686) { // combat_become_invisible + combat_become_invisible((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 106560) { // spawn_fx + spawn_fx((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonWraith::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 97995) { // Legs_Run + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 209369) { // state_LostCombat + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 282481) { // combat_become_visible + return true; + }; + if(functionNameHash == 312686) { // combat_become_invisible + return true; + }; + if(functionNameHash == 106560) { // spawn_fx + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonMancubus::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonMancubus::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterDemonArchvile::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 200383) { // Torso_Resurrect + Torso_Resurrect((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 272838) { // Torso_FlameWallAttack + Torso_FlameWallAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 292161) { // Torso_IncinerateAttack + Torso_IncinerateAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 217237) { // combat_resurrect + combat_resurrect((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 211840) { // combat_flamewall + combat_flamewall((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 226512) { // combat_incinerate + combat_incinerate((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 213927) { // spawn_flame_wall + spawn_flame_wall((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187020) { // spawn_incerate + spawn_incerate((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 199357) { // flame_wall_loop + flame_wall_loop((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 128973) { // flame_wall + flame_wall((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 130670) { // incinerate + incinerate((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 163923) { // resurrection + resurrection((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + if(functionNameHash == 148328) { // num_minions + num_minions(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterDemonArchvile::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 200383) { // Torso_Resurrect + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 272838) { // Torso_FlameWallAttack + return true; + }; + if(functionNameHash == 292161) { // Torso_IncinerateAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 217237) { // combat_resurrect + return true; + }; + if(functionNameHash == 211840) { // combat_flamewall + return true; + }; + if(functionNameHash == 226512) { // combat_incinerate + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 213927) { // spawn_flame_wall + return true; + }; + if(functionNameHash == 187020) { // spawn_incerate + return true; + }; + if(functionNameHash == 199357) { // flame_wall_loop + return true; + }; + if(functionNameHash == 128973) { // flame_wall + return true; + }; + if(functionNameHash == 130670) { // incinerate + return true; + }; + if(functionNameHash == 163923) { // resurrection + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + if(functionNameHash == 148328) { // num_minions + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterFlyingCacodemon::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 114298) { // Torso_Fly + Torso_Fly((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterFlyingCacodemon::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 114298) { // Torso_Fly + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterFlyingLostsoul::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 114298) { // Torso_Fly + Torso_Fly((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 151380) { // Torso_Charge + Torso_Charge((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 167861) { // combat_charge + combat_charge((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 186330) { // combat_retreat + combat_retreat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterFlyingLostsoul::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 114298) { // Torso_Fly + return true; + }; + if(functionNameHash == 151380) { // Torso_Charge + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 167861) { // combat_charge + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 186330) { // combat_retreat + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterTurret::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 138382) { // Torso_Death + Torso_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153143) { // Torso_Attack + Torso_Attack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179561) { // state_Disabled + state_Disabled((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154038) { // state_Combat + state_Combat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169638) { // combat_attack + combat_attack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 146777) { // spawn_light + spawn_light((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 116332) { // light_off + light_off((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 104386) { // light_on + light_on((stateParms_t *)param1); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterTurret::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 138382) { // Torso_Death + return true; + }; + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 153143) { // Torso_Attack + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 179561) { // state_Disabled + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 154038) { // state_Combat + return true; + }; + if(functionNameHash == 169638) { // combat_attack + return true; + }; + if(functionNameHash == 146777) { // spawn_light + return true; + }; + if(functionNameHash == 116332) { // light_off + return true; + }; + if(functionNameHash == 104386) { // light_on + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterBossCyberdemon::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterBossCyberdemon::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterBossVagary::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + Torso_TurretAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + Legs_DodgeLeft((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + Legs_DodgeRight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 160501) { // throw_object + throw_object((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223812) { // combat_dodge_left + combat_dodge_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239426) { // combat_dodge_right + combat_dodge_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterBossVagary::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 239164) { // Torso_TurretAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 171866) { // Legs_DodgeLeft + return true; + }; + if(functionNameHash == 187135) { // Legs_DodgeRight + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 160501) { // throw_object + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 223812) { // combat_dodge_left + return true; + }; + if(functionNameHash == 239426) { // combat_dodge_right + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterBossSabaoth::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + Torso_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 139384) { // state_Begin + state_Begin((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 188871) { // move_to_corner + move_to_corner((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 191038) { // turn_to_corner + turn_to_corner((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 156807) { // closeSection + closeSection((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 143747) { // openSection + openSection((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154038) { // state_Combat + state_Combat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 100419) { // fire_bfg + fire_bfg((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179038) { // open_section_1 + open_section_1((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 192369) { // close_section_1 + close_section_1((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179170) { // open_section_2 + open_section_2((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 192502) { // close_section_2 + close_section_2((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179302) { // open_section_3 + open_section_3((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 192635) { // close_section_3 + close_section_3((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179434) { // open_section_4 + open_section_4((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 192768) { // close_section_4 + close_section_4((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179566) { // open_section_5 + open_section_5((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 192901) { // close_section_5 + close_section_5((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179698) { // open_section_6 + open_section_6((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 193034) { // close_section_6 + close_section_6((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179830) { // open_section_7 + open_section_7((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 193167) { // close_section_7 + close_section_7((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 179962) { // open_section_8 + open_section_8((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 193300) { // close_section_8 + close_section_8((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 169136) { // check_attacks + check_attacks(); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterBossSabaoth::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 218798) { // Torso_RangeAttack + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 139384) { // state_Begin + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 188871) { // move_to_corner + return true; + }; + if(functionNameHash == 191038) { // turn_to_corner + return true; + }; + if(functionNameHash == 156807) { // closeSection + return true; + }; + if(functionNameHash == 143747) { // openSection + return true; + }; + if(functionNameHash == 154038) { // state_Combat + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 100419) { // fire_bfg + return true; + }; + if(functionNameHash == 179038) { // open_section_1 + return true; + }; + if(functionNameHash == 192369) { // close_section_1 + return true; + }; + if(functionNameHash == 179170) { // open_section_2 + return true; + }; + if(functionNameHash == 192502) { // close_section_2 + return true; + }; + if(functionNameHash == 179302) { // open_section_3 + return true; + }; + if(functionNameHash == 192635) { // close_section_3 + return true; + }; + if(functionNameHash == 179434) { // open_section_4 + return true; + }; + if(functionNameHash == 192768) { // close_section_4 + return true; + }; + if(functionNameHash == 179566) { // open_section_5 + return true; + }; + if(functionNameHash == 192901) { // close_section_5 + return true; + }; + if(functionNameHash == 179698) { // open_section_6 + return true; + }; + if(functionNameHash == 193034) { // close_section_6 + return true; + }; + if(functionNameHash == 179830) { // open_section_7 + return true; + }; + if(functionNameHash == 193167) { // close_section_7 + return true; + }; + if(functionNameHash == 179962) { // open_section_8 + return true; + }; + if(functionNameHash == 193300) { // close_section_8 + return true; + }; + if(functionNameHash == 169136) { // check_attacks + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmSeekerBase::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 87508) { // isAlive + isAlive(); + return 0; + }; + if(functionNameHash == 171782) { // respawnSeeker + respawnSeeker((stateParms_t *)param1); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmSeekerBase::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 87508) { // isAlive + return true; + }; + if(functionNameHash == 171782) { // respawnSeeker + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterBossGuardianSpawner::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 184975) { // update_effects + update_effects((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 141713) { // setGuardian + setGuardian((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 183077) { // state_Inactive + state_Inactive((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154820) { // state_Active + state_Active((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterBossGuardianSpawner::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 184975) { // update_effects + return true; + }; + if(functionNameHash == 141713) { // setGuardian + return true; + }; + if(functionNameHash == 183077) { // state_Inactive + return true; + }; + if(functionNameHash == 154820) { // state_Active + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterBossGuardian::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 123793) { // Legs_Sight + Legs_Sight((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 120665) { // Legs_Death + Legs_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 108587) { // Legs_Pain + Legs_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 200474) { // Legs_RangeAttack + Legs_RangeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 199848) { // Legs_MeleeAttack + Legs_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 252296) { // Legs_Walk_Melee_Left + Legs_Walk_Melee_Left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 268255) { // Legs_Walk_Melee_Right + Legs_Walk_Melee_Right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 109452) { // Legs_Walk + Legs_Walk((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 239766) { // Legs_Run_Melee_Left + Legs_Run_Melee_Left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 255610) { // Legs_Run_Melee_Right + Legs_Run_Melee_Right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 133563) { // Legs_Charge + Legs_Charge((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 111863) { // Legs_Lost + Legs_Lost((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 107329) { // Legs_Idle + Legs_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 204950) { // Legs_SpawnSeeker + Legs_SpawnSeeker((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 111295) { // addSeeker + addSeeker((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 130067) { // sightEnemy + sightEnemy((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154038) { // state_Combat + state_Combat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 154980) { // combat_melee + combat_melee((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 155616) { // combat_range + combat_range((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 167861) { // combat_charge + combat_charge((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 159655) { // pound_impact + pound_impact((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 158875) { // pound_attack + pound_attack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 228337) { // pound_attack_left + pound_attack_left((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 243951) { // pound_attack_right + pound_attack_right((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 160606) { // smash_ground + smash_ground((stateParms_t *)param1); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterBossGuardian::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 123793) { // Legs_Sight + return true; + }; + if(functionNameHash == 120665) { // Legs_Death + return true; + }; + if(functionNameHash == 108587) { // Legs_Pain + return true; + }; + if(functionNameHash == 200474) { // Legs_RangeAttack + return true; + }; + if(functionNameHash == 199848) { // Legs_MeleeAttack + return true; + }; + if(functionNameHash == 252296) { // Legs_Walk_Melee_Left + return true; + }; + if(functionNameHash == 268255) { // Legs_Walk_Melee_Right + return true; + }; + if(functionNameHash == 109452) { // Legs_Walk + return true; + }; + if(functionNameHash == 239766) { // Legs_Run_Melee_Left + return true; + }; + if(functionNameHash == 255610) { // Legs_Run_Melee_Right + return true; + }; + if(functionNameHash == 133563) { // Legs_Charge + return true; + }; + if(functionNameHash == 111863) { // Legs_Lost + return true; + }; + if(functionNameHash == 107329) { // Legs_Idle + return true; + }; + if(functionNameHash == 204950) { // Legs_SpawnSeeker + return true; + }; + if(functionNameHash == 111295) { // addSeeker + return true; + }; + if(functionNameHash == 130067) { // sightEnemy + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 154038) { // state_Combat + return true; + }; + if(functionNameHash == 154980) { // combat_melee + return true; + }; + if(functionNameHash == 155616) { // combat_range + return true; + }; + if(functionNameHash == 167861) { // combat_charge + return true; + }; + if(functionNameHash == 159655) { // pound_impact + return true; + }; + if(functionNameHash == 158875) { // pound_attack + return true; + }; + if(functionNameHash == 228337) { // pound_attack_left + return true; + }; + if(functionNameHash == 243951) { // pound_attack_right + return true; + }; + if(functionNameHash == 160606) { // smash_ground + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + +intptr_t rvmMonsterBossGuardianSeeker::Invoke(const char *functionName, void *param1) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + Torso_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 114298) { // Torso_Fly + Torso_Fly((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126210) { // Torso_Pain + Torso_Pain((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + Torso_MeleeAttack((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 138382) { // Torso_Death + Torso_Death((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 117405) { // see_enemy + see_enemy((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 134255) { // lost_enemy + lost_enemy((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 171782) { // respawnSeeker + respawnSeeker((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 172007) { // state_Respawn + state_Respawn((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 183077) { // state_Inactive + state_Inactive((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 126066) { // state_Idle + state_Idle((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 153871) { // state_Killed + state_Killed((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 223983) { // state_WatchPlayer + state_WatchPlayer((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 194527) { // state_GetCloser + state_GetCloser((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 208195) { // state_FindPlayer + state_FindPlayer((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 170832) { // state_Retreat + state_Retreat((stateParms_t *)param1); + return 0; + }; + if(functionNameHash == 168791) { // state_RunAway + state_RunAway((stateParms_t *)param1); + return 0; + }; + return __super::Invoke(functionName, param1); + +}; + +bool rvmMonsterBossGuardianSeeker::HasNativeFunction(const char *functionName) { + int functionNameHash = idStr::Hash(functionName); + if(functionNameHash == 124942) { // Torso_Idle + return true; + }; + if(functionNameHash == 114298) { // Torso_Fly + return true; + }; + if(functionNameHash == 126210) { // Torso_Pain + return true; + }; + if(functionNameHash == 218167) { // Torso_MeleeAttack + return true; + }; + if(functionNameHash == 138382) { // Torso_Death + return true; + }; + if(functionNameHash == 117405) { // see_enemy + return true; + }; + if(functionNameHash == 134255) { // lost_enemy + return true; + }; + if(functionNameHash == 171782) { // respawnSeeker + return true; + }; + if(functionNameHash == 172007) { // state_Respawn + return true; + }; + if(functionNameHash == 183077) { // state_Inactive + return true; + }; + if(functionNameHash == 126066) { // state_Idle + return true; + }; + if(functionNameHash == 153871) { // state_Killed + return true; + }; + if(functionNameHash == 223983) { // state_WatchPlayer + return true; + }; + if(functionNameHash == 194527) { // state_GetCloser + return true; + }; + if(functionNameHash == 208195) { // state_FindPlayer + return true; + }; + if(functionNameHash == 170832) { // state_Retreat + return true; + }; + if(functionNameHash == 168791) { // state_RunAway + return true; + }; + return __super::HasNativeFunction(functionName); + +}; + intptr_t idTestModel::Invoke(const char *functionName, void *param1) { int functionNameHash = idStr::Hash(functionName); if(functionNameHash == 63102) { // Spawn diff --git a/neo/doom3/game/gamesys/GameTypeInfo.h b/neo/doom3/game/gamesys/GameTypeInfo.h index 384b74f6..1d2b5213 100644 --- a/neo/doom3/game/gamesys/GameTypeInfo.h +++ b/neo/doom3/game/gamesys/GameTypeInfo.h @@ -7,9 +7,9 @@ This file has been generated with the Type Info Generator v1.1 (c) 2004 id Software - 1188 constants - 133 enums - 583 classes/structs/unions + 1199 constants + 135 enums + 619 classes/structs/unions 38 templates 7 max inheritance level for 'idAI_Vagary' @@ -1101,6 +1101,17 @@ static constantInfo_t constantInfo[] = { { "int", "SE_ENTER_OBSTACLE", "4" }, { "int", "SE_FALL", "8" }, { "int", "SE_LAND", "16" }, + { ": static const int", "rvmAIObject::AI_NATIVE_MAX_CHANNELS", "4" }, + { "int", "rvmCharacter::CHAR_TALK_TRIGGERED", "0" }, + { "int", "rvmCharacter::CHAR_TALK_PRIMARY", "1" }, + { "int", "rvmCharacter::CHAR_TALK_SECONDARY", "2" }, + { "int", "rvmCharSentry::RETREATING", "-1" }, + { "int", "rvmCharSentry::NOT_MOVING", "0" }, + { "int", "rvmCharSentry::APPROACHING", "1" }, + { "int", "rvmCharSentry::PLAYER_LOST", "0" }, + { "int", "rvmCharSentry::PLAYER_BEHIND_ME", "1" }, + { "int", "rvmCharSentry::PLAYER_OK", "2" }, + { "int", "rvmCharSentry::PLAYER_AHEAD_OF_ME", "3" }, { "const char * const", "RESULT_STRING", "" }, { "int", "OP_RETURN", "0" }, { "int", "OP_UINC_F", "1" }, @@ -2600,7 +2611,25 @@ static enumValueInfo_t stopEvent_t_typeInfo[] = { { NULL, 0 } }; -static enumValueInfo_t enum_130_typeInfo[] = { +static enumValueInfo_t rvmCharacter_enum_130_typeInfo[] = { + { "CHAR_TALK_TRIGGERED", 0 }, + { "CHAR_TALK_PRIMARY", 1 }, + { "CHAR_TALK_SECONDARY", 2 }, + { NULL, 0 } +}; + +static enumValueInfo_t rvmCharSentry_enum_131_typeInfo[] = { + { "RETREATING", -1 }, + { "NOT_MOVING", 0 }, + { "APPROACHING", 1 }, + { "PLAYER_LOST", 0 }, + { "PLAYER_BEHIND_ME", 1 }, + { "PLAYER_OK", 2 }, + { "PLAYER_AHEAD_OF_ME", 3 }, + { NULL, 0 } +}; + +static enumValueInfo_t enum_132_typeInfo[] = { { "OP_RETURN", 0 }, { "OP_UINC_F", 1 }, { "OP_UINCP_F", 2 }, @@ -2876,7 +2905,9 @@ static enumTypeInfo_t enumTypeInfo[] = { { "talkState_t", talkState_t_typeInfo }, { "moveStatus_t", moveStatus_t_typeInfo }, { "stopEvent_t", stopEvent_t_typeInfo }, - { "enum_130", enum_130_typeInfo }, + { "rvmCharacter::enum_130", rvmCharacter_enum_130_typeInfo }, + { "rvmCharSentry::enum_131", rvmCharSentry_enum_131_typeInfo }, + { "enum_132", enum_132_typeInfo }, { "botMoveFlags_t", botMoveFlags_t_typeInfo }, { "botChat_t", botChat_t_typeInfo }, { NULL, NULL } @@ -6726,14 +6757,13 @@ static classVariableInfo_t idPhantomObjects_typeInfo[] = { static classVariableInfo_t idAnimState_typeInfo[] = { { ": bool", "idleAnim", (intptr_t)(&((idAnimState *)0)->idleAnim), sizeof( ((idAnimState *)0)->idleAnim ) }, - { "idStr", "state", (intptr_t)(&((idAnimState *)0)->state), sizeof( ((idAnimState *)0)->state ) }, { "int", "animBlendFrames", (intptr_t)(&((idAnimState *)0)->animBlendFrames), sizeof( ((idAnimState *)0)->animBlendFrames ) }, { "int", "lastAnimBlendFrames", (intptr_t)(&((idAnimState *)0)->lastAnimBlendFrames), sizeof( ((idAnimState *)0)->lastAnimBlendFrames ) }, - { ": idActor *", "self", (intptr_t)(&((idAnimState *)0)->self), sizeof( ((idAnimState *)0)->self ) }, + { ": idEntity *", "self", (intptr_t)(&((idAnimState *)0)->self), sizeof( ((idAnimState *)0)->self ) }, { "idAnimator *", "animator", (intptr_t)(&((idAnimState *)0)->animator), sizeof( ((idAnimState *)0)->animator ) }, - { "idThread *", "thread", (intptr_t)(&((idAnimState *)0)->thread), sizeof( ((idAnimState *)0)->thread ) }, { "int", "channel", (intptr_t)(&((idAnimState *)0)->channel), sizeof( ((idAnimState *)0)->channel ) }, { "bool", "disabled", (intptr_t)(&((idAnimState *)0)->disabled), sizeof( ((idAnimState *)0)->disabled ) }, + { "rvStateThread", "stateThread", (intptr_t)(&((idAnimState *)0)->stateThread), sizeof( ((idAnimState *)0)->stateThread ) }, { NULL, 0 } }; @@ -8065,6 +8095,8 @@ static classVariableInfo_t idAI_typeInfo[] = { { "idScriptBool", "AI_DEST_UNREACHABLE", (intptr_t)(&((idAI *)0)->AI_DEST_UNREACHABLE), sizeof( ((idAI *)0)->AI_DEST_UNREACHABLE ) }, { "idScriptBool", "AI_HIT_ENEMY", (intptr_t)(&((idAI *)0)->AI_HIT_ENEMY), sizeof( ((idAI *)0)->AI_HIT_ENEMY ) }, { "idScriptBool", "AI_PUSHED", (intptr_t)(&((idAI *)0)->AI_PUSHED), sizeof( ((idAI *)0)->AI_PUSHED ) }, + { "rvmAIObject *", "nativeAIObject", (intptr_t)(&((idAI *)0)->nativeAIObject), sizeof( ((idAI *)0)->nativeAIObject ) }, + { "idStr", "nativeAIObjectName", (intptr_t)(&((idAI *)0)->nativeAIObjectName), sizeof( ((idAI *)0)->nativeAIObjectName ) }, { NULL, 0 } }; @@ -8085,6 +8117,388 @@ static classVariableInfo_t idAI_Vagary_typeInfo[] = { { NULL, 0 } }; +static classVariableInfo_t rvmAIObject_typeInfo[] = { + { "idAI *", "owner", (intptr_t)(&((rvmAIObject *)0)->owner), sizeof( ((rvmAIObject *)0)->owner ) }, + { "idStr", "currentState", (intptr_t)(&((rvmAIObject *)0)->currentState), sizeof( ((rvmAIObject *)0)->currentState ) }, + { "idStr", "currentAction", (intptr_t)(&((rvmAIObject *)0)->currentAction), sizeof( ((rvmAIObject *)0)->currentAction ) }, + { "idStr[4]", "currentAnimState", (intptr_t)(&((rvmAIObject *)0)->currentAnimState), sizeof( ((rvmAIObject *)0)->currentAnimState ) }, + { "idStr", "waitActionName", (intptr_t)(&((rvmAIObject *)0)->waitActionName), sizeof( ((rvmAIObject *)0)->waitActionName ) }, + { "stateParms_t", "stateParms", (intptr_t)(&((rvmAIObject *)0)->stateParms), sizeof( ((rvmAIObject *)0)->stateParms ) }, + { "stateParms_t", "actionParms", (intptr_t)(&((rvmAIObject *)0)->actionParms), sizeof( ((rvmAIObject *)0)->actionParms ) }, + { "stateParms_t[4]", "animParms", (intptr_t)(&((rvmAIObject *)0)->animParms), sizeof( ((rvmAIObject *)0)->animParms ) }, + { "float", "scratchEndTime", (intptr_t)(&((rvmAIObject *)0)->scratchEndTime), sizeof( ((rvmAIObject *)0)->scratchEndTime ) }, + { "float", "scratchMinTime", (intptr_t)(&((rvmAIObject *)0)->scratchMinTime), sizeof( ((rvmAIObject *)0)->scratchMinTime ) }, + { "float", "scratchNextTime", (intptr_t)(&((rvmAIObject *)0)->scratchNextTime), sizeof( ((rvmAIObject *)0)->scratchNextTime ) }, + { "float", "scratchCount", (intptr_t)(&((rvmAIObject *)0)->scratchCount), sizeof( ((rvmAIObject *)0)->scratchCount ) }, + { "float", "scratchFlags", (intptr_t)(&((rvmAIObject *)0)->scratchFlags), sizeof( ((rvmAIObject *)0)->scratchFlags ) }, + { "bool", "scratchBool", (intptr_t)(&((rvmAIObject *)0)->scratchBool), sizeof( ((rvmAIObject *)0)->scratchBool ) }, + { "idEntityPtr < idEntity >", "scratchEntity", (intptr_t)(&((rvmAIObject *)0)->scratchEntity), sizeof( ((rvmAIObject *)0)->scratchEntity ) }, + { "idStr", "scratchString", (intptr_t)(&((rvmAIObject *)0)->scratchString), sizeof( ((rvmAIObject *)0)->scratchString ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterBase_typeInfo[] = { + { ": float", "run_distance", (intptr_t)(&((rvmMonsterBase *)0)->run_distance), sizeof( ((rvmMonsterBase *)0)->run_distance ) }, + { "float", "walk_turn", (intptr_t)(&((rvmMonsterBase *)0)->walk_turn), sizeof( ((rvmMonsterBase *)0)->walk_turn ) }, + { "bool", "run", (intptr_t)(&((rvmMonsterBase *)0)->run), sizeof( ((rvmMonsterBase *)0)->run ) }, + { "bool", "ambush", (intptr_t)(&((rvmMonsterBase *)0)->ambush), sizeof( ((rvmMonsterBase *)0)->ambush ) }, + { "bool", "ignoreEnemies", (intptr_t)(&((rvmMonsterBase *)0)->ignoreEnemies), sizeof( ((rvmMonsterBase *)0)->ignoreEnemies ) }, + { "bool", "stay_on_attackpath", (intptr_t)(&((rvmMonsterBase *)0)->stay_on_attackpath), sizeof( ((rvmMonsterBase *)0)->stay_on_attackpath ) }, + { "bool", "idle_sight_fov", (intptr_t)(&((rvmMonsterBase *)0)->idle_sight_fov), sizeof( ((rvmMonsterBase *)0)->idle_sight_fov ) }, + { "float", "customBlendOut", (intptr_t)(&((rvmMonsterBase *)0)->customBlendOut), sizeof( ((rvmMonsterBase *)0)->customBlendOut ) }, + { "idEntityPtr < idEntity >", "current_path", (intptr_t)(&((rvmMonsterBase *)0)->current_path), sizeof( ((rvmMonsterBase *)0)->current_path ) }, + { "idEntityPtr < idEntity >", "next_path", (intptr_t)(&((rvmMonsterBase *)0)->next_path), sizeof( ((rvmMonsterBase *)0)->next_path ) }, + { "bool", "resurrect", (intptr_t)(&((rvmMonsterBase *)0)->resurrect), sizeof( ((rvmMonsterBase *)0)->resurrect ) }, + { "bool", "ignore_lostcombat", (intptr_t)(&((rvmMonsterBase *)0)->ignore_lostcombat), sizeof( ((rvmMonsterBase *)0)->ignore_lostcombat ) }, + { "bool", "blocked", (intptr_t)(&((rvmMonsterBase *)0)->blocked), sizeof( ((rvmMonsterBase *)0)->blocked ) }, + { "bool", "ignore_sight", (intptr_t)(&((rvmMonsterBase *)0)->ignore_sight), sizeof( ((rvmMonsterBase *)0)->ignore_sight ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterZombieBase_typeInfo[] = { + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterZombie_typeInfo[] = { + { ": float", "painNextTime", (intptr_t)(&((rvmMonsterZombie *)0)->painNextTime), sizeof( ((rvmMonsterZombie *)0)->painNextTime ) }, + { "bool", "can_run", (intptr_t)(&((rvmMonsterZombie *)0)->can_run), sizeof( ((rvmMonsterZombie *)0)->can_run ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterZombieBernie_typeInfo[] = { + { ": float", "painNextTime", (intptr_t)(&((rvmMonsterZombieBernie *)0)->painNextTime), sizeof( ((rvmMonsterZombieBernie *)0)->painNextTime ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterZombieMorgue_typeInfo[] = { + { ": float", "painNextTime", (intptr_t)(&((rvmMonsterZombieMorgue *)0)->painNextTime), sizeof( ((rvmMonsterZombieMorgue *)0)->painNextTime ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterZombieSawyer_typeInfo[] = { + { ": bool", "attack", (intptr_t)(&((rvmMonsterZombieSawyer *)0)->attack), sizeof( ((rvmMonsterZombieSawyer *)0)->attack ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterZombieSawyer *)0)->painNextTime), sizeof( ((rvmMonsterZombieSawyer *)0)->painNextTime ) }, + { "float", "nextHitTime", (intptr_t)(&((rvmMonsterZombieSawyer *)0)->nextHitTime), sizeof( ((rvmMonsterZombieSawyer *)0)->nextHitTime ) }, + { "int", "bloodSmokeFrames", (intptr_t)(&((rvmMonsterZombieSawyer *)0)->bloodSmokeFrames), sizeof( ((rvmMonsterZombieSawyer *)0)->bloodSmokeFrames ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterZombieCommandoTentacle_typeInfo[] = { + { ": float", "nextAttack", (intptr_t)(&((rvmMonsterZombieCommandoTentacle *)0)->nextAttack), sizeof( ((rvmMonsterZombieCommandoTentacle *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterZombieCommandoTentacle *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterZombieCommandoTentacle *)0)->nextNoFOVAttack ) }, + { "bool", "tentacleDamage", (intptr_t)(&((rvmMonsterZombieCommandoTentacle *)0)->tentacleDamage), sizeof( ((rvmMonsterZombieCommandoTentacle *)0)->tentacleDamage ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterZombieCommandoTentacle *)0)->painNextTime), sizeof( ((rvmMonsterZombieCommandoTentacle *)0)->painNextTime ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterZombieCommandoCGun_typeInfo[] = { + { ": bool", "fire", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->fire), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->fire ) }, + { "bool", "crouch_fire", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->crouch_fire), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->crouch_fire ) }, + { "bool", "step_left", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->step_left), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->step_left ) }, + { "bool", "step_right", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->step_right), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->step_right ) }, + { "bool", "run_attack", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->run_attack), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->run_attack ) }, + { "float", "nextDodge", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->nextDodge), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->nextDodge ) }, + { "float", "nextAttack", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->nextAttack), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->nextNoFOVAttack ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->combat_node), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->combat_node ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->painNextTime), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->painNextTime ) }, + { "float", "attackEndTime", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->attackEndTime), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->attackEndTime ) }, + { "float", "loopEndTime", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->loopEndTime), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->loopEndTime ) }, + { "float", "minShootTime", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->minShootTime), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->minShootTime ) }, + { "bool", "firstShot", (intptr_t)(&((rvmMonsterZombieCommandoCGun *)0)->firstShot), sizeof( ((rvmMonsterZombieCommandoCGun *)0)->firstShot ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterZombieSecurityPistol_typeInfo[] = { + { ": bool", "fire", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->fire), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->fire ) }, + { "bool", "crouch_fire", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->crouch_fire), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->crouch_fire ) }, + { "bool", "step_left", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->step_left), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->step_left ) }, + { "bool", "step_right", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->step_right), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->step_right ) }, + { "bool", "run_attack", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->run_attack), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->run_attack ) }, + { "float", "nextDodge", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->nextDodge), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->nextDodge ) }, + { "float", "nextAttack", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->nextAttack), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->nextNoFOVAttack ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->combat_node), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->combat_node ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->painNextTime), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->painNextTime ) }, + { "float", "attackEndTime", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->attackEndTime), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->attackEndTime ) }, + { "float", "loopEndTime", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->loopEndTime), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->loopEndTime ) }, + { "float", "minShootTime", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->minShootTime), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->minShootTime ) }, + { "bool", "firstShot", (intptr_t)(&((rvmMonsterZombieSecurityPistol *)0)->firstShot), sizeof( ((rvmMonsterZombieSecurityPistol *)0)->firstShot ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmCharacter_typeInfo[] = { + { "float", "talkMode", (intptr_t)(&((rvmCharacter *)0)->talkMode), sizeof( ((rvmCharacter *)0)->talkMode ) }, + { "int", "talkSecondaryIndex", (intptr_t)(&((rvmCharacter *)0)->talkSecondaryIndex), sizeof( ((rvmCharacter *)0)->talkSecondaryIndex ) }, + { "idStr", "customAnim", (intptr_t)(&((rvmCharacter *)0)->customAnim), sizeof( ((rvmCharacter *)0)->customAnim ) }, + { "float", "customBlendOut", (intptr_t)(&((rvmCharacter *)0)->customBlendOut), sizeof( ((rvmCharacter *)0)->customBlendOut ) }, + { "idStr", "walkAnim", (intptr_t)(&((rvmCharacter *)0)->walkAnim), sizeof( ((rvmCharacter *)0)->walkAnim ) }, + { "bool", "allowTurn", (intptr_t)(&((rvmCharacter *)0)->allowTurn), sizeof( ((rvmCharacter *)0)->allowTurn ) }, + { "bool", "run", (intptr_t)(&((rvmCharacter *)0)->run), sizeof( ((rvmCharacter *)0)->run ) }, + { "bool", "canTalk", (intptr_t)(&((rvmCharacter *)0)->canTalk), sizeof( ((rvmCharacter *)0)->canTalk ) }, + { "bool", "noCower", (intptr_t)(&((rvmCharacter *)0)->noCower), sizeof( ((rvmCharacter *)0)->noCower ) }, + { "bool", "noCowerSaved", (intptr_t)(&((rvmCharacter *)0)->noCowerSaved), sizeof( ((rvmCharacter *)0)->noCowerSaved ) }, + { "bool", "ignorePush", (intptr_t)(&((rvmCharacter *)0)->ignorePush), sizeof( ((rvmCharacter *)0)->ignorePush ) }, + { "bool", "skipOutOfPath", (intptr_t)(&((rvmCharacter *)0)->skipOutOfPath), sizeof( ((rvmCharacter *)0)->skipOutOfPath ) }, + { "bool", "followNodes", (intptr_t)(&((rvmCharacter *)0)->followNodes), sizeof( ((rvmCharacter *)0)->followNodes ) }, + { "bool", "dontPushOthers", (intptr_t)(&((rvmCharacter *)0)->dontPushOthers), sizeof( ((rvmCharacter *)0)->dontPushOthers ) }, + { "float", "lastPushTime", (intptr_t)(&((rvmCharacter *)0)->lastPushTime), sizeof( ((rvmCharacter *)0)->lastPushTime ) }, + { "float", "pushTime", (intptr_t)(&((rvmCharacter *)0)->pushTime), sizeof( ((rvmCharacter *)0)->pushTime ) }, + { "float", "talkEndTime", (intptr_t)(&((rvmCharacter *)0)->talkEndTime), sizeof( ((rvmCharacter *)0)->talkEndTime ) }, + { "float", "talkChannel", (intptr_t)(&((rvmCharacter *)0)->talkChannel), sizeof( ((rvmCharacter *)0)->talkChannel ) }, + { "float", "talkOriginalYaw", (intptr_t)(&((rvmCharacter *)0)->talkOriginalYaw), sizeof( ((rvmCharacter *)0)->talkOriginalYaw ) }, + { "idEntityPtr < idEntity >", "current_path", (intptr_t)(&((rvmCharacter *)0)->current_path), sizeof( ((rvmCharacter *)0)->current_path ) }, + { "idEntityPtr < idEntity >", "next_path", (intptr_t)(&((rvmCharacter *)0)->next_path), sizeof( ((rvmCharacter *)0)->next_path ) }, + { "idEntityPtr < idEntity >", "listening_to_character", (intptr_t)(&((rvmCharacter *)0)->listening_to_character), sizeof( ((rvmCharacter *)0)->listening_to_character ) }, + { "idEntityPtr < idEntity >", "next_listener", (intptr_t)(&((rvmCharacter *)0)->next_listener), sizeof( ((rvmCharacter *)0)->next_listener ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmAICharacterProne_typeInfo[] = { + { NULL, 0 } +}; + +static classVariableInfo_t rvmFollower_typeInfo[] = { + { NULL, 0 } +}; + +static classVariableInfo_t rvmCharSentry_typeInfo[] = { + { "bool", "lead_player", (intptr_t)(&((rvmCharSentry *)0)->lead_player), sizeof( ((rvmCharSentry *)0)->lead_player ) }, + { "bool", "hanging", (intptr_t)(&((rvmCharSentry *)0)->hanging), sizeof( ((rvmCharSentry *)0)->hanging ) }, + { "bool", "awake", (intptr_t)(&((rvmCharSentry *)0)->awake), sizeof( ((rvmCharSentry *)0)->awake ) }, + { "bool", "fire", (intptr_t)(&((rvmCharSentry *)0)->fire), sizeof( ((rvmCharSentry *)0)->fire ) }, + { "float", "playerMoveState", (intptr_t)(&((rvmCharSentry *)0)->playerMoveState), sizeof( ((rvmCharSentry *)0)->playerMoveState ) }, + { "idEntityPtr < idEntity >", "light", (intptr_t)(&((rvmCharSentry *)0)->light), sizeof( ((rvmCharSentry *)0)->light ) }, + { "bool", "light_on", (intptr_t)(&((rvmCharSentry *)0)->light_on), sizeof( ((rvmCharSentry *)0)->light_on ) }, + { "float", "nextPositionSearch", (intptr_t)(&((rvmCharSentry *)0)->nextPositionSearch), sizeof( ((rvmCharSentry *)0)->nextPositionSearch ) }, + { "idEntityPtr < idEntity >", "ignore_enemy", (intptr_t)(&((rvmCharSentry *)0)->ignore_enemy), sizeof( ((rvmCharSentry *)0)->ignore_enemy ) }, + { "float", "ignore_enemy_time", (intptr_t)(&((rvmCharSentry *)0)->ignore_enemy_time), sizeof( ((rvmCharSentry *)0)->ignore_enemy_time ) }, + { "idVec3", "lastValidPlayerPosition", (intptr_t)(&((rvmCharSentry *)0)->lastValidPlayerPosition), sizeof( ((rvmCharSentry *)0)->lastValidPlayerPosition ) }, + { "bool", "playerPositionThread", (intptr_t)(&((rvmCharSentry *)0)->playerPositionThread), sizeof( ((rvmCharSentry *)0)->playerPositionThread ) }, + { "float", "nextLookTime", (intptr_t)(&((rvmCharSentry *)0)->nextLookTime), sizeof( ((rvmCharSentry *)0)->nextLookTime ) }, + { "float", "leadTimeout", (intptr_t)(&((rvmCharSentry *)0)->leadTimeout), sizeof( ((rvmCharSentry *)0)->leadTimeout ) }, + { "int", "shotsFired", (intptr_t)(&((rvmCharSentry *)0)->shotsFired), sizeof( ((rvmCharSentry *)0)->shotsFired ) }, + { "float", "nextFireTime", (intptr_t)(&((rvmCharSentry *)0)->nextFireTime), sizeof( ((rvmCharSentry *)0)->nextFireTime ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmAIAlphaLabs2Scientist1_typeInfo[] = { + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonPinky_typeInfo[] = { + { ": float", "nextDodge", (intptr_t)(&((rvmMonsterDemonPinky *)0)->nextDodge), sizeof( ((rvmMonsterDemonPinky *)0)->nextDodge ) }, + { "float", "nextRoar", (intptr_t)(&((rvmMonsterDemonPinky *)0)->nextRoar), sizeof( ((rvmMonsterDemonPinky *)0)->nextRoar ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonPinky *)0)->painNextTime), sizeof( ((rvmMonsterDemonPinky *)0)->painNextTime ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonPinky *)0)->combat_node), sizeof( ((rvmMonsterDemonPinky *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonImp_typeInfo[] = { + { ": float", "nextDodge", (intptr_t)(&((rvmMonsterDemonImp *)0)->nextDodge), sizeof( ((rvmMonsterDemonImp *)0)->nextDodge ) }, + { "float", "nextAttack", (intptr_t)(&((rvmMonsterDemonImp *)0)->nextAttack), sizeof( ((rvmMonsterDemonImp *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterDemonImp *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterDemonImp *)0)->nextNoFOVAttack ) }, + { "float", "nextLeap", (intptr_t)(&((rvmMonsterDemonImp *)0)->nextLeap), sizeof( ((rvmMonsterDemonImp *)0)->nextLeap ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonImp *)0)->painNextTime), sizeof( ((rvmMonsterDemonImp *)0)->painNextTime ) }, + { "idVec3", "jumpVelocity", (intptr_t)(&((rvmMonsterDemonImp *)0)->jumpVelocity), sizeof( ((rvmMonsterDemonImp *)0)->jumpVelocity ) }, + { "idStr", "range_attack_anim", (intptr_t)(&((rvmMonsterDemonImp *)0)->range_attack_anim), sizeof( ((rvmMonsterDemonImp *)0)->range_attack_anim ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonImp *)0)->combat_node), sizeof( ((rvmMonsterDemonImp *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonVulgar_typeInfo[] = { + { ": float", "nextDodge", (intptr_t)(&((rvmMonsterDemonVulgar *)0)->nextDodge), sizeof( ((rvmMonsterDemonVulgar *)0)->nextDodge ) }, + { "float", "nextAttack", (intptr_t)(&((rvmMonsterDemonVulgar *)0)->nextAttack), sizeof( ((rvmMonsterDemonVulgar *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterDemonVulgar *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterDemonVulgar *)0)->nextNoFOVAttack ) }, + { "float", "nextLeap", (intptr_t)(&((rvmMonsterDemonVulgar *)0)->nextLeap), sizeof( ((rvmMonsterDemonVulgar *)0)->nextLeap ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonVulgar *)0)->painNextTime), sizeof( ((rvmMonsterDemonVulgar *)0)->painNextTime ) }, + { "idVec3", "jumpVelocity", (intptr_t)(&((rvmMonsterDemonVulgar *)0)->jumpVelocity), sizeof( ((rvmMonsterDemonVulgar *)0)->jumpVelocity ) }, + { "idStr", "range_attack_anim", (intptr_t)(&((rvmMonsterDemonVulgar *)0)->range_attack_anim), sizeof( ((rvmMonsterDemonVulgar *)0)->range_attack_anim ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonVulgar *)0)->combat_node), sizeof( ((rvmMonsterDemonVulgar *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonRevenant_typeInfo[] = { + { ": float", "nextDodge", (intptr_t)(&((rvmMonsterDemonRevenant *)0)->nextDodge), sizeof( ((rvmMonsterDemonRevenant *)0)->nextDodge ) }, + { "float", "nextAttack", (intptr_t)(&((rvmMonsterDemonRevenant *)0)->nextAttack), sizeof( ((rvmMonsterDemonRevenant *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterDemonRevenant *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterDemonRevenant *)0)->nextNoFOVAttack ) }, + { "float", "nextLeap", (intptr_t)(&((rvmMonsterDemonRevenant *)0)->nextLeap), sizeof( ((rvmMonsterDemonRevenant *)0)->nextLeap ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonRevenant *)0)->painNextTime), sizeof( ((rvmMonsterDemonRevenant *)0)->painNextTime ) }, + { "idVec3", "jumpVelocity", (intptr_t)(&((rvmMonsterDemonRevenant *)0)->jumpVelocity), sizeof( ((rvmMonsterDemonRevenant *)0)->jumpVelocity ) }, + { "idStr", "range_attack_anim", (intptr_t)(&((rvmMonsterDemonRevenant *)0)->range_attack_anim), sizeof( ((rvmMonsterDemonRevenant *)0)->range_attack_anim ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonRevenant *)0)->combat_node), sizeof( ((rvmMonsterDemonRevenant *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonHellknight_typeInfo[] = { + { ": float", "nextDodge", (intptr_t)(&((rvmMonsterDemonHellknight *)0)->nextDodge), sizeof( ((rvmMonsterDemonHellknight *)0)->nextDodge ) }, + { "float", "nextAttack", (intptr_t)(&((rvmMonsterDemonHellknight *)0)->nextAttack), sizeof( ((rvmMonsterDemonHellknight *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterDemonHellknight *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterDemonHellknight *)0)->nextNoFOVAttack ) }, + { "float", "nextLeap", (intptr_t)(&((rvmMonsterDemonHellknight *)0)->nextLeap), sizeof( ((rvmMonsterDemonHellknight *)0)->nextLeap ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonHellknight *)0)->painNextTime), sizeof( ((rvmMonsterDemonHellknight *)0)->painNextTime ) }, + { "idVec3", "jumpVelocity", (intptr_t)(&((rvmMonsterDemonHellknight *)0)->jumpVelocity), sizeof( ((rvmMonsterDemonHellknight *)0)->jumpVelocity ) }, + { "idStr", "range_attack_anim", (intptr_t)(&((rvmMonsterDemonHellknight *)0)->range_attack_anim), sizeof( ((rvmMonsterDemonHellknight *)0)->range_attack_anim ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonHellknight *)0)->combat_node), sizeof( ((rvmMonsterDemonHellknight *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonMaggot_typeInfo[] = { + { ": bool", "explode", (intptr_t)(&((rvmMonsterDemonMaggot *)0)->explode), sizeof( ((rvmMonsterDemonMaggot *)0)->explode ) }, + { "float", "nextDodge", (intptr_t)(&((rvmMonsterDemonMaggot *)0)->nextDodge), sizeof( ((rvmMonsterDemonMaggot *)0)->nextDodge ) }, + { "float", "nextLeap", (intptr_t)(&((rvmMonsterDemonMaggot *)0)->nextLeap), sizeof( ((rvmMonsterDemonMaggot *)0)->nextLeap ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonMaggot *)0)->painNextTime), sizeof( ((rvmMonsterDemonMaggot *)0)->painNextTime ) }, + { "idVec3", "jumpVelocity", (intptr_t)(&((rvmMonsterDemonMaggot *)0)->jumpVelocity), sizeof( ((rvmMonsterDemonMaggot *)0)->jumpVelocity ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonMaggot *)0)->combat_node), sizeof( ((rvmMonsterDemonMaggot *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonCherub_typeInfo[] = { + { ": bool", "explode", (intptr_t)(&((rvmMonsterDemonCherub *)0)->explode), sizeof( ((rvmMonsterDemonCherub *)0)->explode ) }, + { "float", "nextDodge", (intptr_t)(&((rvmMonsterDemonCherub *)0)->nextDodge), sizeof( ((rvmMonsterDemonCherub *)0)->nextDodge ) }, + { "float", "nextLeap", (intptr_t)(&((rvmMonsterDemonCherub *)0)->nextLeap), sizeof( ((rvmMonsterDemonCherub *)0)->nextLeap ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonCherub *)0)->painNextTime), sizeof( ((rvmMonsterDemonCherub *)0)->painNextTime ) }, + { "idVec3", "jumpVelocity", (intptr_t)(&((rvmMonsterDemonCherub *)0)->jumpVelocity), sizeof( ((rvmMonsterDemonCherub *)0)->jumpVelocity ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonCherub *)0)->combat_node), sizeof( ((rvmMonsterDemonCherub *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonTrite_typeInfo[] = { + { ": bool", "explode", (intptr_t)(&((rvmMonsterDemonTrite *)0)->explode), sizeof( ((rvmMonsterDemonTrite *)0)->explode ) }, + { "float", "nextDodge", (intptr_t)(&((rvmMonsterDemonTrite *)0)->nextDodge), sizeof( ((rvmMonsterDemonTrite *)0)->nextDodge ) }, + { "float", "nextLeap", (intptr_t)(&((rvmMonsterDemonTrite *)0)->nextLeap), sizeof( ((rvmMonsterDemonTrite *)0)->nextLeap ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonTrite *)0)->painNextTime), sizeof( ((rvmMonsterDemonTrite *)0)->painNextTime ) }, + { "idVec3", "jumpVelocity", (intptr_t)(&((rvmMonsterDemonTrite *)0)->jumpVelocity), sizeof( ((rvmMonsterDemonTrite *)0)->jumpVelocity ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonTrite *)0)->combat_node), sizeof( ((rvmMonsterDemonTrite *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonWraith_typeInfo[] = { + { ": bool", "invisible", (intptr_t)(&((rvmMonsterDemonWraith *)0)->invisible), sizeof( ((rvmMonsterDemonWraith *)0)->invisible ) }, + { "float", "nextDodge", (intptr_t)(&((rvmMonsterDemonWraith *)0)->nextDodge), sizeof( ((rvmMonsterDemonWraith *)0)->nextDodge ) }, + { "float", "nextInvisible", (intptr_t)(&((rvmMonsterDemonWraith *)0)->nextInvisible), sizeof( ((rvmMonsterDemonWraith *)0)->nextInvisible ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonWraith *)0)->painNextTime), sizeof( ((rvmMonsterDemonWraith *)0)->painNextTime ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonWraith *)0)->combat_node), sizeof( ((rvmMonsterDemonWraith *)0)->combat_node ) }, + { "idEntityPtr < idEntity >", "spawn_effect", (intptr_t)(&((rvmMonsterDemonWraith *)0)->spawn_effect), sizeof( ((rvmMonsterDemonWraith *)0)->spawn_effect ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonMancubus_typeInfo[] = { + { ": float", "nextAttack", (intptr_t)(&((rvmMonsterDemonMancubus *)0)->nextAttack), sizeof( ((rvmMonsterDemonMancubus *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterDemonMancubus *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterDemonMancubus *)0)->nextNoFOVAttack ) }, + { "float", "fire", (intptr_t)(&((rvmMonsterDemonMancubus *)0)->fire), sizeof( ((rvmMonsterDemonMancubus *)0)->fire ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonMancubus *)0)->painNextTime), sizeof( ((rvmMonsterDemonMancubus *)0)->painNextTime ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonMancubus *)0)->combat_node), sizeof( ((rvmMonsterDemonMancubus *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterDemonArchvile_typeInfo[] = { + { ": float", "nextDodge", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->nextDodge), sizeof( ((rvmMonsterDemonArchvile *)0)->nextDodge ) }, + { "float", "nextAttack", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->nextAttack), sizeof( ((rvmMonsterDemonArchvile *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterDemonArchvile *)0)->nextNoFOVAttack ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->painNextTime), sizeof( ((rvmMonsterDemonArchvile *)0)->painNextTime ) }, + { "float", "keep_alive", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->keep_alive), sizeof( ((rvmMonsterDemonArchvile *)0)->keep_alive ) }, + { "float", "num_start", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->num_start), sizeof( ((rvmMonsterDemonArchvile *)0)->num_start ) }, + { "float", "summon_delay", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->summon_delay), sizeof( ((rvmMonsterDemonArchvile *)0)->summon_delay ) }, + { "float", "summon_time", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->summon_time), sizeof( ((rvmMonsterDemonArchvile *)0)->summon_time ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->combat_node), sizeof( ((rvmMonsterDemonArchvile *)0)->combat_node ) }, + { "idEntityPtr < idEntity >", "resurrectionTarget", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->resurrectionTarget), sizeof( ((rvmMonsterDemonArchvile *)0)->resurrectionTarget ) }, + { "idVec3", "flameWallOrigin", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->flameWallOrigin), sizeof( ((rvmMonsterDemonArchvile *)0)->flameWallOrigin ) }, + { "idVec3", "incinerateOrigin", (intptr_t)(&((rvmMonsterDemonArchvile *)0)->incinerateOrigin), sizeof( ((rvmMonsterDemonArchvile *)0)->incinerateOrigin ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterFlyingCacodemon_typeInfo[] = { + { ": float", "nextAttack", (intptr_t)(&((rvmMonsterFlyingCacodemon *)0)->nextAttack), sizeof( ((rvmMonsterFlyingCacodemon *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterFlyingCacodemon *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterFlyingCacodemon *)0)->nextNoFOVAttack ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterFlyingCacodemon *)0)->painNextTime), sizeof( ((rvmMonsterFlyingCacodemon *)0)->painNextTime ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterFlyingCacodemon *)0)->combat_node), sizeof( ((rvmMonsterFlyingCacodemon *)0)->combat_node ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterFlyingLostsoul_typeInfo[] = { + { ": float", "nextAttack", (intptr_t)(&((rvmMonsterFlyingLostsoul *)0)->nextAttack), sizeof( ((rvmMonsterFlyingLostsoul *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterFlyingLostsoul *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterFlyingLostsoul *)0)->nextNoFOVAttack ) }, + { "float", "noMeleeTime", (intptr_t)(&((rvmMonsterFlyingLostsoul *)0)->noMeleeTime), sizeof( ((rvmMonsterFlyingLostsoul *)0)->noMeleeTime ) }, + { "float", "fly_offset", (intptr_t)(&((rvmMonsterFlyingLostsoul *)0)->fly_offset), sizeof( ((rvmMonsterFlyingLostsoul *)0)->fly_offset ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterFlyingLostsoul *)0)->painNextTime), sizeof( ((rvmMonsterFlyingLostsoul *)0)->painNextTime ) }, + { "idVec3", "chargeVelocity", (intptr_t)(&((rvmMonsterFlyingLostsoul *)0)->chargeVelocity), sizeof( ((rvmMonsterFlyingLostsoul *)0)->chargeVelocity ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterTurret_typeInfo[] = { + { ": bool", "fire", (intptr_t)(&((rvmMonsterTurret *)0)->fire), sizeof( ((rvmMonsterTurret *)0)->fire ) }, + { "bool", "attack_monsters", (intptr_t)(&((rvmMonsterTurret *)0)->attack_monsters), sizeof( ((rvmMonsterTurret *)0)->attack_monsters ) }, + { "bool", "light_is_on", (intptr_t)(&((rvmMonsterTurret *)0)->light_is_on), sizeof( ((rvmMonsterTurret *)0)->light_is_on ) }, + { "float", "attackTime", (intptr_t)(&((rvmMonsterTurret *)0)->attackTime), sizeof( ((rvmMonsterTurret *)0)->attackTime ) }, + { "float", "nextFireTime", (intptr_t)(&((rvmMonsterTurret *)0)->nextFireTime), sizeof( ((rvmMonsterTurret *)0)->nextFireTime ) }, + { "float", "shutdownTime", (intptr_t)(&((rvmMonsterTurret *)0)->shutdownTime), sizeof( ((rvmMonsterTurret *)0)->shutdownTime ) }, + { "idEntityPtr < idEntity >", "light", (intptr_t)(&((rvmMonsterTurret *)0)->light), sizeof( ((rvmMonsterTurret *)0)->light ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterBossCyberdemon_typeInfo[] = { + { ": float", "nextAttack", (intptr_t)(&((rvmMonsterBossCyberdemon *)0)->nextAttack), sizeof( ((rvmMonsterBossCyberdemon *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterBossCyberdemon *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterBossCyberdemon *)0)->nextNoFOVAttack ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterBossCyberdemon *)0)->painNextTime), sizeof( ((rvmMonsterBossCyberdemon *)0)->painNextTime ) }, + { "idStr", "range_attack_anim", (intptr_t)(&((rvmMonsterBossCyberdemon *)0)->range_attack_anim), sizeof( ((rvmMonsterBossCyberdemon *)0)->range_attack_anim ) }, + { "idEntityPtr < idEntity >", "kick_entity", (intptr_t)(&((rvmMonsterBossCyberdemon *)0)->kick_entity), sizeof( ((rvmMonsterBossCyberdemon *)0)->kick_entity ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterBossVagary_typeInfo[] = { + { ": float", "nextDodge", (intptr_t)(&((rvmMonsterBossVagary *)0)->nextDodge), sizeof( ((rvmMonsterBossVagary *)0)->nextDodge ) }, + { "float", "nextAttack", (intptr_t)(&((rvmMonsterBossVagary *)0)->nextAttack), sizeof( ((rvmMonsterBossVagary *)0)->nextAttack ) }, + { "float", "nextNoFOVAttack", (intptr_t)(&((rvmMonsterBossVagary *)0)->nextNoFOVAttack), sizeof( ((rvmMonsterBossVagary *)0)->nextNoFOVAttack ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterBossVagary *)0)->painNextTime), sizeof( ((rvmMonsterBossVagary *)0)->painNextTime ) }, + { "idEntityPtr < idEntity >", "combat_node", (intptr_t)(&((rvmMonsterBossVagary *)0)->combat_node), sizeof( ((rvmMonsterBossVagary *)0)->combat_node ) }, + { "idEntityPtr < idEntity >", "throwEntity", (intptr_t)(&((rvmMonsterBossVagary *)0)->throwEntity), sizeof( ((rvmMonsterBossVagary *)0)->throwEntity ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterBossSabaoth_typeInfo[] = { + { ": float", "nextAttack", (intptr_t)(&((rvmMonsterBossSabaoth *)0)->nextAttack), sizeof( ((rvmMonsterBossSabaoth *)0)->nextAttack ) }, + { "float", "nextMeleeAttack", (intptr_t)(&((rvmMonsterBossSabaoth *)0)->nextMeleeAttack), sizeof( ((rvmMonsterBossSabaoth *)0)->nextMeleeAttack ) }, + { "float", "pathSpeed", (intptr_t)(&((rvmMonsterBossSabaoth *)0)->pathSpeed), sizeof( ((rvmMonsterBossSabaoth *)0)->pathSpeed ) }, + { "bool", "noSlowToStop", (intptr_t)(&((rvmMonsterBossSabaoth *)0)->noSlowToStop), sizeof( ((rvmMonsterBossSabaoth *)0)->noSlowToStop ) }, + { "idEntityPtr < idEntity >", "currentPath", (intptr_t)(&((rvmMonsterBossSabaoth *)0)->currentPath), sizeof( ((rvmMonsterBossSabaoth *)0)->currentPath ) }, + { "idEntityPtr < idEntity >", "nextPath", (intptr_t)(&((rvmMonsterBossSabaoth *)0)->nextPath), sizeof( ((rvmMonsterBossSabaoth *)0)->nextPath ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmSeekerBase_typeInfo[] = { + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterBossGuardianSpawner_typeInfo[] = { + { ": idEntityPtr < idEntity >", "guardian", (intptr_t)(&((rvmMonsterBossGuardianSpawner *)0)->guardian), sizeof( ((rvmMonsterBossGuardianSpawner *)0)->guardian ) }, + { "float", "inactive_time", (intptr_t)(&((rvmMonsterBossGuardianSpawner *)0)->inactive_time), sizeof( ((rvmMonsterBossGuardianSpawner *)0)->inactive_time ) }, + { "float", "active_time", (intptr_t)(&((rvmMonsterBossGuardianSpawner *)0)->active_time), sizeof( ((rvmMonsterBossGuardianSpawner *)0)->active_time ) }, + { "float", "pain_time", (intptr_t)(&((rvmMonsterBossGuardianSpawner *)0)->pain_time), sizeof( ((rvmMonsterBossGuardianSpawner *)0)->pain_time ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterBossGuardian_typeInfo[] = { + { ": float", "nextAttack", (intptr_t)(&((rvmMonsterBossGuardian *)0)->nextAttack), sizeof( ((rvmMonsterBossGuardian *)0)->nextAttack ) }, + { "float", "painNextTime", (intptr_t)(&((rvmMonsterBossGuardian *)0)->painNextTime), sizeof( ((rvmMonsterBossGuardian *)0)->painNextTime ) }, + { "bool", "in_melee", (intptr_t)(&((rvmMonsterBossGuardian *)0)->in_melee), sizeof( ((rvmMonsterBossGuardian *)0)->in_melee ) }, + { "bool", "rightfoot", (intptr_t)(&((rvmMonsterBossGuardian *)0)->rightfoot), sizeof( ((rvmMonsterBossGuardian *)0)->rightfoot ) }, + { "bool", "charge", (intptr_t)(&((rvmMonsterBossGuardian *)0)->charge), sizeof( ((rvmMonsterBossGuardian *)0)->charge ) }, + { "idEntityPtr < idEntity >", "seeker1", (intptr_t)(&((rvmMonsterBossGuardian *)0)->seeker1), sizeof( ((rvmMonsterBossGuardian *)0)->seeker1 ) }, + { "idEntityPtr < idEntity >", "seeker2", (intptr_t)(&((rvmMonsterBossGuardian *)0)->seeker2), sizeof( ((rvmMonsterBossGuardian *)0)->seeker2 ) }, + { "idEntityPtr < idEntity >", "seeker3", (intptr_t)(&((rvmMonsterBossGuardian *)0)->seeker3), sizeof( ((rvmMonsterBossGuardian *)0)->seeker3 ) }, + { "idEntityPtr < idEntity >", "spawner", (intptr_t)(&((rvmMonsterBossGuardian *)0)->spawner), sizeof( ((rvmMonsterBossGuardian *)0)->spawner ) }, + { NULL, 0 } +}; + +static classVariableInfo_t rvmMonsterBossGuardianSeeker_typeInfo[] = { + { ": float", "painNextTime", (intptr_t)(&((rvmMonsterBossGuardianSeeker *)0)->painNextTime), sizeof( ((rvmMonsterBossGuardianSeeker *)0)->painNextTime ) }, + { "float", "nextEnemyCheck", (intptr_t)(&((rvmMonsterBossGuardianSeeker *)0)->nextEnemyCheck), sizeof( ((rvmMonsterBossGuardianSeeker *)0)->nextEnemyCheck ) }, + { "float", "getCloserEndTime", (intptr_t)(&((rvmMonsterBossGuardianSeeker *)0)->getCloserEndTime), sizeof( ((rvmMonsterBossGuardianSeeker *)0)->getCloserEndTime ) }, + { "float", "retreatEndTime", (intptr_t)(&((rvmMonsterBossGuardianSeeker *)0)->retreatEndTime), sizeof( ((rvmMonsterBossGuardianSeeker *)0)->retreatEndTime ) }, + { "idEntityPtr < idEntity >", "guardian", (intptr_t)(&((rvmMonsterBossGuardianSeeker *)0)->guardian), sizeof( ((rvmMonsterBossGuardianSeeker *)0)->guardian ) }, + { NULL, 0 } +}; + static classVariableInfo_t idTestModel_typeInfo[] = { { ": idEntityPtr < idEntity >", "head", (intptr_t)(&((idTestModel *)0)->head), sizeof( ((idTestModel *)0)->head ) }, { "idAnimator *", "headAnimator", (intptr_t)(&((idTestModel *)0)->headAnimator), sizeof( ((idTestModel *)0)->headAnimator ) }, @@ -9120,6 +9534,42 @@ static classTypeInfo_t classTypeInfo[] = { { "idAI", "idActor", sizeof(idAI), idAI_typeInfo }, { "idCombatNode", "idEntity", sizeof(idCombatNode), idCombatNode_typeInfo }, { "idAI_Vagary", "idAI", sizeof(idAI_Vagary), idAI_Vagary_typeInfo }, + { "rvmAIObject", "idClass", sizeof(rvmAIObject), rvmAIObject_typeInfo }, + { "rvmMonsterBase", "rvmAIObject", sizeof(rvmMonsterBase), rvmMonsterBase_typeInfo }, + { "rvmMonsterZombieBase", "rvmMonsterBase", sizeof(rvmMonsterZombieBase), rvmMonsterZombieBase_typeInfo }, + { "rvmMonsterZombie", "rvmMonsterZombieBase", sizeof(rvmMonsterZombie), rvmMonsterZombie_typeInfo }, + { "rvmMonsterZombieBernie", "rvmMonsterZombieBase", sizeof(rvmMonsterZombieBernie), rvmMonsterZombieBernie_typeInfo }, + { "rvmMonsterZombieMorgue", "rvmMonsterZombieBase", sizeof(rvmMonsterZombieMorgue), rvmMonsterZombieMorgue_typeInfo }, + { "rvmMonsterZombieSawyer", "rvmMonsterZombieBase", sizeof(rvmMonsterZombieSawyer), rvmMonsterZombieSawyer_typeInfo }, + { "rvmMonsterZombieCommandoTentacle", "rvmMonsterBase", sizeof(rvmMonsterZombieCommandoTentacle), rvmMonsterZombieCommandoTentacle_typeInfo }, + { "rvmMonsterZombieCommandoCGun", "rvmMonsterBase", sizeof(rvmMonsterZombieCommandoCGun), rvmMonsterZombieCommandoCGun_typeInfo }, + { "rvmMonsterZombieSecurityPistol", "rvmMonsterZombieBase", sizeof(rvmMonsterZombieSecurityPistol), rvmMonsterZombieSecurityPistol_typeInfo }, + { "rvmCharacter", "rvmAIObject", sizeof(rvmCharacter), rvmCharacter_typeInfo }, + { "rvmAICharacterProne", "rvmAIObject", sizeof(rvmAICharacterProne), rvmAICharacterProne_typeInfo }, + { "rvmFollower", "rvmAIObject", sizeof(rvmFollower), rvmFollower_typeInfo }, + { "rvmCharSentry", "rvmCharacter", sizeof(rvmCharSentry), rvmCharSentry_typeInfo }, + { "rvmAIAlphaLabs2Scientist1", "rvmAIObject", sizeof(rvmAIAlphaLabs2Scientist1), rvmAIAlphaLabs2Scientist1_typeInfo }, + { "rvmMonsterDemonPinky", "rvmMonsterBase", sizeof(rvmMonsterDemonPinky), rvmMonsterDemonPinky_typeInfo }, + { "rvmMonsterDemonImp", "rvmMonsterBase", sizeof(rvmMonsterDemonImp), rvmMonsterDemonImp_typeInfo }, + { "rvmMonsterDemonVulgar", "rvmMonsterBase", sizeof(rvmMonsterDemonVulgar), rvmMonsterDemonVulgar_typeInfo }, + { "rvmMonsterDemonRevenant", "rvmMonsterBase", sizeof(rvmMonsterDemonRevenant), rvmMonsterDemonRevenant_typeInfo }, + { "rvmMonsterDemonHellknight", "rvmMonsterBase", sizeof(rvmMonsterDemonHellknight), rvmMonsterDemonHellknight_typeInfo }, + { "rvmMonsterDemonMaggot", "rvmMonsterBase", sizeof(rvmMonsterDemonMaggot), rvmMonsterDemonMaggot_typeInfo }, + { "rvmMonsterDemonCherub", "rvmMonsterBase", sizeof(rvmMonsterDemonCherub), rvmMonsterDemonCherub_typeInfo }, + { "rvmMonsterDemonTrite", "rvmMonsterBase", sizeof(rvmMonsterDemonTrite), rvmMonsterDemonTrite_typeInfo }, + { "rvmMonsterDemonWraith", "rvmMonsterBase", sizeof(rvmMonsterDemonWraith), rvmMonsterDemonWraith_typeInfo }, + { "rvmMonsterDemonMancubus", "rvmMonsterBase", sizeof(rvmMonsterDemonMancubus), rvmMonsterDemonMancubus_typeInfo }, + { "rvmMonsterDemonArchvile", "rvmMonsterBase", sizeof(rvmMonsterDemonArchvile), rvmMonsterDemonArchvile_typeInfo }, + { "rvmMonsterFlyingCacodemon", "rvmMonsterBase", sizeof(rvmMonsterFlyingCacodemon), rvmMonsterFlyingCacodemon_typeInfo }, + { "rvmMonsterFlyingLostsoul", "rvmMonsterBase", sizeof(rvmMonsterFlyingLostsoul), rvmMonsterFlyingLostsoul_typeInfo }, + { "rvmMonsterTurret", "rvmMonsterBase", sizeof(rvmMonsterTurret), rvmMonsterTurret_typeInfo }, + { "rvmMonsterBossCyberdemon", "rvmMonsterBase", sizeof(rvmMonsterBossCyberdemon), rvmMonsterBossCyberdemon_typeInfo }, + { "rvmMonsterBossVagary", "rvmMonsterBase", sizeof(rvmMonsterBossVagary), rvmMonsterBossVagary_typeInfo }, + { "rvmMonsterBossSabaoth", "rvmMonsterBase", sizeof(rvmMonsterBossSabaoth), rvmMonsterBossSabaoth_typeInfo }, + { "rvmSeekerBase", "rvmMonsterBase", sizeof(rvmSeekerBase), rvmSeekerBase_typeInfo }, + { "rvmMonsterBossGuardianSpawner", "rvmMonsterBase", sizeof(rvmMonsterBossGuardianSpawner), rvmMonsterBossGuardianSpawner_typeInfo }, + { "rvmMonsterBossGuardian", "rvmMonsterBase", sizeof(rvmMonsterBossGuardian), rvmMonsterBossGuardian_typeInfo }, + { "rvmMonsterBossGuardianSeeker", "rvmSeekerBase", sizeof(rvmMonsterBossGuardianSeeker), rvmMonsterBossGuardianSeeker_typeInfo }, { "idTestModel", "idAnimatedEntity", sizeof(idTestModel), idTestModel_typeInfo }, { "opcode_t", "", sizeof(opcode_t), opcode_t_typeInfo }, { "idCompiler", "", sizeof(idCompiler), idCompiler_typeInfo }, diff --git a/neo/doom3/game/gamesys/State.h b/neo/doom3/game/gamesys/State.h index 138c2959..4c73e651 100644 --- a/neo/doom3/game/gamesys/State.h +++ b/neo/doom3/game/gamesys/State.h @@ -128,6 +128,8 @@ public: void Save( idSaveGame* saveFile ) const; void Restore( idRestoreGame* saveFile, idClass* owner ); + idStr CurrentState(void) const { if (IsIdle()) { return ""; } return GetState()->state; } + protected: struct flags diff --git a/neo/engine/renderer/tr_light.cpp b/neo/engine/renderer/tr_light.cpp index e8dc2e47..788f4fda 100644 --- a/neo/engine/renderer/tr_light.cpp +++ b/neo/engine/renderer/tr_light.cpp @@ -1055,7 +1055,7 @@ idRenderModel *R_EntityDefDynamicModel( idRenderEntityLocal *def ) { def->cachedDynamicModel = model->InstantiateDynamicModel( &def->parms, tr.viewDef, def->cachedDynamicModel ); idRenderModelStatic* staticMesh = (idRenderModelStatic*)def->cachedDynamicModel; - if (staticMesh) + if (staticMesh && tr.primaryWorld) { float dxrTransformMatrix[16]; staticMesh->UpdateDXR(def->dxrBottomAccelStruct); diff --git a/neo/engine/typeinfo/TypeInfoGen.cpp b/neo/engine/typeinfo/TypeInfoGen.cpp index d82fdcee..c1d650c7 100644 --- a/neo/engine/typeinfo/TypeInfoGen.cpp +++ b/neo/engine/typeinfo/TypeInfoGen.cpp @@ -863,8 +863,24 @@ void idTypeInfoGen::ParseScope( const char* scope, bool isTemplate, idParser& sr else if( token == "stateParms_t" ) { function.paramStateInput = "stateParms_t"; - src.ReadToken( &token ); // * - src.ReadToken( &token ); // variable name + if( !src.ReadToken( &token ) ) + { + function.isValidFunction = false; + } + else if( token == "&" ) + { + function.paramStateInputIsReference = true; + src.ReadToken( &token ); // variable name + } + else if( token == "*" ) + { + function.paramStateInputIsReference = false; + src.ReadToken( &token ); // variable name + } + else + { + function.isValidFunction = false; + } } else { @@ -1379,7 +1395,14 @@ void idTypeInfoGen::WriteTypeInfo( const char* fileName ) const idStr functionCall = varName; if( info->functions[j].paramStateInput != "" ) { - functionCall += va( "((%s *)param1)", info->functions[j].paramStateInput.c_str() ); + if( info->functions[j].paramStateInputIsReference ) + { + functionCall += va( "(*(%s *)param1)", info->functions[j].paramStateInput.c_str() ); + } + else + { + functionCall += va( "((%s *)param1)", info->functions[j].paramStateInput.c_str() ); + } } else { diff --git a/neo/engine/typeinfo/TypeInfoGen.h b/neo/engine/typeinfo/TypeInfoGen.h index 04724b8d..2d29e823 100644 --- a/neo/engine/typeinfo/TypeInfoGen.h +++ b/neo/engine/typeinfo/TypeInfoGen.h @@ -83,6 +83,7 @@ public: bool isConst; bool isStatic; idStr paramStateInput; + bool paramStateInputIsReference; bool isValidFunction; };