diff --git a/sp/game/mod_episodic/halloween.fgd b/sp/game/mod_episodic/halloween.fgd new file mode 100644 index 00000000..7be8f616 --- /dev/null +++ b/sp/game/mod_episodic/halloween.fgd @@ -0,0 +1,52 @@ +//============================================================================= +// +// Purpose: Half-Life 2 mod game definition file (.fgd) +// Defines new entities for Halloween themed mods +// +//============================================================================= + +@include "base.fgd" +@include "halflife2" + +//------------------------------------------------------------------------- +// +// NPCs +// +//------------------------------------------------------------------------- +@NPCClass base(BaseNPC) studio("models/monster/subject.mdl") = npc_shadow_walker : "Shadow Walker" +[ + additionalequipment(choices) : "Weapons" : "0" = + [ + "weapon_smg1" : "SMG1" + "weapon_ar2" : "AR2" + "weapon_stunstick" : "Stun Stick" + "weapon_crowbar" : "Crow Bar" + "weapon_shotgun" : "Shotgun" + "weapon_beerbottle" : "Beer Bottle" + "weapon_beerbottle2" : "Beer Bottle2" + "weapon_rpg" : "RPG" + "0" : "Nothing" + ] + + model(studio) : "World Model" : "models/monster/subject.mdl" + + Health(integer) : "Health" : 75 : "Starting health of the NPC" + + FearSound(sound) : "Fear Sound" : "" : "Must be a sound script (cannot use WAV)" + DeathSound(sound) : "Death Sound" : "NPC_ShadowWalker.Death" : "Must be a sound script (cannot use WAV)" + IdleSound(sound) : "Idle Sound" : "NPC_ShadowWalker.Idle" : "Must be a sound script (cannot use WAV)" + PainSound(sound) : "Pain Sound" : "NPC_ShadowWalker.Pain" : "Must be a sound script (cannot use WAV)" + AlertSound(sound) : "Alert Sound" : "NPC_ShadowWalker.Alert" : "Must be a sound script (cannot use WAV)" + LostEnemySound(sound) : "Lost Enemy Sound" : "" : "Must be a sound script (cannot use WAV)" + FoundEnemySound(sound) : "Found Enemy Sound" : "" : "Must be a sound script (cannot use WAV)" + FoundEnemySound(sound) : "Found Enemy Sound" : "" : "Must be a sound script (cannot use WAV)" + UseBothSquadSlots(choices) : "Use Both Squad Slots" : 0 = + [ + 0 : "Use One Squad Slot" + 1 : "Use Both Squad Slots" + ] +] + +@NPCClass base(npc_manhack) studio("models/skeleton/skeleton_torso3.mdl") = npc_lost_soul : "Lost Soul" +[ +] \ No newline at end of file diff --git a/sp/game/mod_episodic/scripts/game_sounds_manifest.txt b/sp/game/mod_episodic/scripts/game_sounds_manifest.txt new file mode 100644 index 00000000..4819b6ff --- /dev/null +++ b/sp/game/mod_episodic/scripts/game_sounds_manifest.txt @@ -0,0 +1,126 @@ +game_sounds_manifest +{ + + "precache_file" "scripts/game_sounds.txt" + "precache_file" "scripts/game_sounds_ui.txt" + "precache_file" "scripts/game_sounds_player.txt" + + // Weapon sounds + "precache_file" "scripts/game_sounds_weapons.txt" + "precache_file" "scripts/game_sounds_weapons_ep2.txt" + + // HL2 World, Ambient Generic, Items, Physics, Vehicles + "precache_file" "scripts/game_sounds_world.txt" + "precache_file" "scripts/game_sounds_ambient_generic.txt" + "precache_file" "scripts/game_sounds_items.txt" + "precache_file" "scripts/game_sounds_physics.txt" + "precache_file" "scripts/game_sounds_vehicles.txt" + + // E3 level sounds + "precache_file" "scripts/level_sounds_e3_c17.txt" + "precache_file" "scripts/level_sounds_e3_town.txt" + "precache_file" "scripts/level_sounds_e3_bugbait.txt" + + // Episodic content sounds + "precache_file" "scripts/npc_sounds_alyx_episodic.txt" + "precache_file" "scripts/npc_sounds_strider_episodic.txt" + "precache_file" "scripts/npc_sounds_strider_episodic2.txt" + "precache_file" "scripts/npc_sounds_turret_episodic.txt" + "precache_file" "scripts/npc_sounds_soldier_episodic.txt" + "precache_file" "scripts/npc_sounds_ministrider_episodic.txt" + "precache_file" "scripts/npc_sounds_roller_episodic.txt" + "precache_file" "scripts/npc_sounds_combine_ball_episodic.txt" + "precache_file" "scripts/npc_sounds_citizen_episodic.txt" + "precache_file" "scripts/npc_sounds_citizen_episodic2.txt" + "precache_file" "scripts/npc_sounds_citizen_ep1.txt" + "precache_file" "scripts/npc_sounds_zombine.txt" + "precache_file" "scripts/npc_sounds_dog_episodic.txt" + "precache_file" "scripts/npc_sounds_antlion_episodic.txt" + "precache_file" "scripts/npc_sounds_antlionguard_episodic.txt" + "precache_file" "scripts/npc_sounds_antlionguard_episodic2.txt" + "precache_file" "scripts/npc_sounds_advisor.txt" + "precache_file" "scripts/npc_sounds_advisor_episodic2.txt" + "precache_file" "scripts/npc_sounds_hunter.txt" + "precache_file" "scripts/npc_sounds_antlion_grub_episodic.txt" + "precache_file" "scripts/npc_sounds_attackheli_episodic2.txt" + "precache_file" "scripts/npc_sounds_fastzombie_episodic2.txt" + "precache_file" "scripts/game_sounds_addendum_ep2.txt" + + + "precache_file" "scripts/level_sounds_music_episodic.txt" + "precache_file" "scripts/level_sounds_music_episodic2.txt" + "precache_file" "scripts/game_sounds_weapons_episodic.txt" + "precache_file" "scripts/level_voices_episode_01.txt" + "precache_file" "scripts/level_sounds_aftermath_episodic.txt" + "precache_file" "scripts/level_sounds_outland_episodic.txt" + "precache_file" "scripts/level_sounds_c17_02a.txt" + + "precache_file" "scripts/level_voices_episode_02.txt" + "precache_file" "scripts/game_sounds_vehicles_ep2.txt" + + // EP2 content sounds + "precache_file" "scripts/game_sounds_physics_ep2.txt" + + // Game level sounds + "precache_file" "scripts/level_sounds_eli_lab.txt" + "precache_file" "scripts/level_sounds_trainyard.txt" + "precache_file" "scripts/level_sounds_k_lab.txt" + "precache_file" "scripts/level_sounds_k_lab2.txt" + "precache_file" "scripts/level_sounds_coast.txt" + "precache_file" "scripts/level_sounds_novaprospekt.txt" + "precache_file" "scripts/level_sounds_streetwar.txt" + "precache_file" "scripts/level_sounds_streetwar2.txt" + "precache_file" "scripts/level_sounds_breencast.txt" + "precache_file" "scripts/level_sounds_citadel.txt" + "precache_file" "scripts/level_sounds_canals.txt" + "precache_file" "scripts/level_sounds_ravenholm.txt" + "precache_file" "scripts/level_sounds_ravenholm2.txt" + "precache_file" "scripts/level_sounds_canals2.txt" + + //Music Tracks + "precache_file" "scripts/level_sounds_music.txt" + + // NPC Sounds + "precache_file" "scripts/npc_sounds_eli.txt" + "precache_file" "scripts/npc_sounds_alyx.txt" + "precache_file" "scripts/npc_sounds_dog.txt" + "precache_file" "scripts/npc_sounds_citizen.txt" + "precache_file" "scripts/npc_sounds_barney.txt" + "precache_file" "scripts/npc_sounds_soldier.txt" + "precache_file" "scripts/npc_sounds_strider.txt" + "precache_file" "scripts/npc_sounds_zombie.txt" + "precache_file" "scripts/npc_sounds_vortigaunt.txt" + "precache_file" "scripts/npc_sounds_turret.txt" + "precache_file" "scripts/npc_sounds_scanner.txt" + "precache_file" "scripts/npc_sounds_rollermine.txt" + "precache_file" "scripts/npc_sounds_poisonzombie.txt" + "precache_file" "scripts/npc_sounds_metropolice.txt" + "precache_file" "scripts/npc_sounds_combinecamera.txt" + "precache_file" "scripts/npc_sounds_manhack.txt" + "precache_file" "scripts/npc_sounds_ichthyosaur.txt" + "precache_file" "scripts/npc_sounds_blackheadcrab.txt" + "precache_file" "scripts/npc_sounds_fastheadcrab.txt" + "precache_file" "scripts/npc_sounds_headcrab.txt" + "precache_file" "scripts/npc_sounds_fastzombie.txt" + "precache_file" "scripts/npc_sounds_birds.txt" + "precache_file" "scripts/npc_sounds_gunship.txt" + "precache_file" "scripts/npc_sounds_dropship.txt" + "precache_file" "scripts/npc_sounds_barnacle.txt" + "precache_file" "scripts/npc_sounds_attackheli.txt" + "precache_file" "scripts/npc_sounds_antlionguard.txt" + "precache_file" "scripts/npc_sounds_antlion.txt" + "precache_file" "scripts/npc_sounds_env_headcrabcanister.txt" + "precache_file" "scripts/npc_sounds_combine_ball.txt" + "precache_file" "scripts/npc_sounds_combine_mine.txt" + "precache_file" "scripts/npc_sounds_sniper.txt" + "precache_file" "scripts/npc_sounds_stalker.txt" + "precache_file" "scripts/npc_sounds_gman.txt" + "precache_file" "scripts/npc_sounds_combine_cannon.txt" + "precache_file" "scripts/npc_sounds_alyx_episodic2.txt" + "precache_file" "scripts/npc_sounds_turret_episodic2.txt" + + // 1upD's Halloween NPCs + "precache_file" "scripts/npc_sounds_shadow_walker.txt" + "precache_file" "scripts/npc_sounds_lost_soul.txt" + +} \ No newline at end of file diff --git a/sp/game/mod_episodic/scripts/npc_sounds_lost_soul.txt b/sp/game/mod_episodic/scripts/npc_sounds_lost_soul.txt new file mode 100644 index 00000000..8bda8246 --- /dev/null +++ b/sp/game/mod_episodic/scripts/npc_sounds_lost_soul.txt @@ -0,0 +1,86 @@ +// Default sound scripts for npc_lost_soul +// Author: 1upD + +"NPC_LostSoul.Die" +{ + "channel" "CHAN_BODY" + "volume" "VOL_NORM" + "pitch" "PITCH_NORM" + + "soundlevel" "SNDLVL_NORM" + + "wave" "physics/flesh/flesh_bloody_break.wav" +} + + +"NPC_LostSoul.Burn" +{ + "channel" "CHAN_ITEM" + "volume" "VOL_NORM" + "pitch" "PITCH_NORM" + + "soundlevel" "SNDLVL_70dB" + + "rndwave" + { + "wave" "player/pl_burnpain1.wav" + "wave" "player/pl_burnpain2.wav" + "wave" "player/pl_burnpain3.wav" + } +} + + +"NPC_LostSoul.Float" +{ + "channel" "CHAN_ITEM" + "volume" "VOL_NORM" + "pitch" "PITCH_NORM" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "ambient\levels\citadel\datatransfmalevx01.wav" + "wave" "ambient\levels\citadel\datatransmalevx01.wav" + "wave" "ambient\levels\citadel\datatransmalevx02.wav" + "wave" "ambient\levels\citadel\datatransmalevx02.wav" + "wave" "ambient\levels\citadel\datatransrandom03.wav" + } +} + + +"NPC_LostSoul.ChargeAnnounce" +{ + "channel" "CHAN_WEAPON" + "volume" "VOL_NORM" + "pitch" "120, 125" + "soundlevel" "SNDLVL_70dB" + "rndwave" + { + "wave" "npc/zombie_poison/pz_alert1.wav" + "wave" "npc/zombie_poison/pz_alert1.wav" + } +} + +"NPC_LostSoul.ChargeEnd" +{ + "channel" "CHAN_WEAPON" + "volume" "VOL_NORM" + "pitch" "120, 125" + "soundlevel" "SNDLVL_70dB" + "rndwave" + { + "wave" "npc/zombie_poison/pz_warn1.wav" + "wave" "npc/zombie_poison/pz_warn1.wav" + } +} + +"NPC_LostSoul.Stunned" +{ + "channel" "CHAN_VOICE" + "volume" "0.80" + "pitch" "145,150" + "soundlevel" "SNDLVL_70dB" + "wave" "npc/scanner/scanner_siren2.wav" +} + diff --git a/sp/game/mod_episodic/scripts/npc_sounds_shadow_walker.txt b/sp/game/mod_episodic/scripts/npc_sounds_shadow_walker.txt new file mode 100644 index 00000000..f31ef80c --- /dev/null +++ b/sp/game/mod_episodic/scripts/npc_sounds_shadow_walker.txt @@ -0,0 +1,200 @@ +// Default sound scripts for npc_shadow_walker +// Author: 1upD + +"NPC_ShadowWalker.Pain" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "65, 70" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "npc\stalker\stalker_pain1.wav" + "wave" "npc\stalker\stalker_pain2.wav" + "wave" "npc\stalker\stalker_pain3.wav" + + } +} + +"NPC_ShadowWalker.Idle" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "80, 90" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "npc\stalker\stalker_scream1.wav" + "wave" "npc\stalker\stalker_scream2.wav" + "wave" "npc\stalker\stalker_scream3.wav" + "wave" "npc\stalker\stalker_scream4.wav" + } +} + +"NPC_ShadowWalker.Vocal.Idle" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "62, 62" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "vo\episode_1\citadel\al_stalk_pleasestopscreaming01.wav" + "wave" "vo\episode_1\citadel\al_stalk_pleasestopscreaming02.wav" + "wave" "vo\episode_1\citadel\al_stalk_pleasestopscreaming03.wav" + "wave" "vo\episode_1\citadel\al_stalk_pleasestopscreaming04.wav" + "wave" "vo\episode_1\citadel\al_stalk_pleasestopscreaming05.wav" + "wave" "vo\k_lab2\al_optimism.wav" + "wave" "vo\episode_1\c17\al_elev_whereselev.wav" + "wave" "vo\episode_1\intro\al_wheredoeshethink.wav" + "wave" "vo\outland_02\griggs_everywhere.wav" + "wave" "vo\outland_11a\silo\kl_silo_wheredata01.wav" + "wave" "vo\episode_1\intro\al_cantbelieveit.wav" + "wave" "vo\episode_1\npc\alyx\al_deaf_canthearanything.wav" + "wave" "vo\episode_1\npc\alyx\al_deaf_canthearyou.wav" + "wave" "vo\k_lab\ba_cantlook.wav" + + } +} + +"NPC_ShadowWalker.Fear" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "62, 62" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + // Replace these + "wave" "npc\stalker\stalker_die2.wav" + "wave" "npc\stalker\stalker_pain1.wav" + "wave" "npc\stalker\stalker_pain2.wav" + "wave" "npc\stalker\stalker_pain3.wav" + + } +} + +"NPC_ShadowWalker.Alert" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "80, 90" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "npc\stalker\stalker_alert1b.wav" + "wave" "npc\stalker\stalker_alert2b.wav" + "wave" "npc\stalker\stalker_alert3b.wav" + } +} + +"NPC_ShadowWalker.Vocal.Alert" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "62, 62" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "vo\citadel\al_bitofit.wav" + "wave" "vo\outland_01\intro\al_rbed_notalone.wav" + + } +} + +"NPC_ShadowWalker.LostEnemy" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "80, 90" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "npc\zombie_poison\pz_alert2.wav" + "wave" "npc\stalker\stalker_die2.wav" + "wave" "npc\stalker\stalker_scream4.wav" + } +} + +"NPC_ShadowWalker.Vocal.LostEnemy" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "62, 62" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "vo\citadel\al_notagain02.wav" + "wave" "vo\episode_1\npc\alyx\al_light_lost05.wav" + "wave" "vo\episode_1\npc\alyx\al_light_lost11.wav" + "wave" "vo\citadel\al_wonderwhere.wav" + "wave" "vo\outland_12a\launch\al_launch_damnit.wav" + "wave" "vo\streetwar\alyx_gate\al_no.wav" + "wave" "vo\k_lab\kl_thenwhere.wav" + } +} + +"NPC_ShadowWalker.FoundEnemy" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "75, 85" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "npc\stalker\go_alert2.wav" + "wave" "npc\stalker\go_alert2a.wav" + } +} + +"NPC_ShadowWalker.Vocal.FoundEnemy" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "62, 62" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "npc\stalker\stalker_scream1.wav" + "wave" "vo\citadel\al_thatshim.wav" + "wave" "vo\citadel\al_thereheis.wav" + "wave" "vo\episode_1\npc\alyx\al_rejoin02.wav" + "wave" "vo\episode_1\npc\alyx\al_seemanyfoe03.wav" + "wave" "vo\episode_1\npc\alyx\al_zombie_liveone02.wav" + + } +} + +"NPC_ShadowWalker.Death" +{ + "channel" "CHAN_VOICE" + "volume" "0.95" + "pitch" "60, 65" + + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "ambient\creatures\town_child_scream1.wav" + } +} \ No newline at end of file