NPCs are now using HL:S sound shader names

This commit is contained in:
Xylemon 2024-11-05 20:38:37 -08:00
parent cc74146a59
commit 22d2c4b36b
20 changed files with 610 additions and 369 deletions

View file

@ -39,6 +39,7 @@
#include "monsters/skeleton_dead.def"
#include "monsters/snapbug.def"
#include "monsters/snark.def"
#include "monsters/sphere.def"
#include "monsters/stukabat.def"
#include "monsters/tentacle.def"
#include "monsters/tentaclemaw.def"

View file

@ -16,33 +16,33 @@ entityDef monster_alien_grunt
"attack_melee_range" "96"
"attack_ranged_range" "512"
"snd_idle" "monster_alien_grunt.idle"
"snd_pain" "monster_alien_grunt.pain"
"snd_death" "monster_alien_grunt.pain"
"snd_melee_attack" "monster_alien_grunt.attack"
"snd_melee_attack_hit" "monster_zombie.attackhit"
"snd_melee_attack_miss" "monster_zombie.attackmiss"
"snd_thud" "monster_generic.thud"
"snd_alert" "AlienGrunt.Alert
"snd_idle" "AlienGrunt.Idle"
"snd_pain" "AlienGrunt.Pain"
"snd_death" "AlienGrunt.Pain"
"snd_melee_attack" "AlienGrunt.Attack"
"snd_melee_attack_hit" "AlienGrunt.AttackHit"
"snd_melee_attack_miss" "AlienGrunt.AttackMiss"
// animation event callbacks
events {
1 "SpawnProjectileDef" "ranged_agrunt_shot_orange"
1 "StartSoundDef" "weapon_hornetgun.fire"
1 "StartSoundDef" "AlienGrunt.FireGun"
2 "SpawnProjectileDef" "ranged_agrunt_shot_red"
2 "StartSoundDef" "weapon_hornetgun.fire"
2 "StartSoundDef" "AlienGrunt.FireGun"
3 "SpawnProjectileDef" "ranged_agrunt_shot_orange"
3 "StartSoundDef" "weapon_hornetgun.fire"
3 "StartSoundDef" "AlienGrunt.FireGun"
4 "SpawnProjectileDef" "ranged_agrunt_shot_red"
4 "StartSoundDef" "weapon_hornetgun.fire"
4 "StartSoundDef" "AlienGrunt.FireGun"
5 "SpawnProjectileDef" "ranged_agrunt_shot_orange"
5 "StartSoundDef" "weapon_hornetgun.fire"
5 "StartSoundDef" "AlienGrunt.FireGun"
10 "StartSoundDef" "monster_alien_grunt.step_left"
11 "StartSoundDef" "monster_alien_grunt.step_right"
10 "StartSoundDef" "AlienGrunt.LeftFoot"
11 "StartSoundDef" "AlienGrunt.RightFoot"
}
}

View file

@ -16,22 +16,22 @@ entityDef monster_alien_slave
"melee_range" "96"
"attack_ranged_range" "512"
"snd_idle" "monster_alien_slave.idle"
"snd_pain" "monster_alien_slave.pain"
"snd_death" "monster_alien_slave.die"
"snd_thud" "monster_generic.thud"
"snd_idle" "Vortigaunt.Idle"
"snd_pain" "Vortigaunt.Pain"
"snd_death" "Vortigaunt.Die"
// animation event callbacks
events {
1 "SpawnProjectileDef" "melee_islave_claw"
1 "StartSoundDef" "monster_alien_slave.claw"
1 "StartSoundDef" "Vortigaunt.AttackMiss"
2 "SpawnProjectileDef" "melee_islave_claw"
2 "StartSoundDef" "monster_alien_slave.claw"
2 "StartSoundDef" "Vortigaunt.AttackMiss"
// beam powerup, both left and right hand
3 "SpawnDefAttachment" "islave_beampowerup 0"
3 "SpawnDefAttachment" "islave_beampowerup 1"
3 "StartSoundDef" "Vortigaunt.ZapPowerup"
// fire a beam towards the target
4 "SpawnDefAttachment" "islave_beamattack 0"
@ -39,6 +39,7 @@ entityDef monster_alien_slave
4 "SpawnDefAttachment" "islave_beamattack 1"
4 "SpawnDefAttachment" "islave_beamattack 1"
4 "SpawnProjectileDef" "ranged_islave_zap"
4 "StartSoundDef" "Vortigaunt.ZapShoot"
// kill anything parented to us
5 "KillChildClass" "islave_beampowerup"

View file

@ -15,13 +15,18 @@ entityDef monster_apache
"flying" "1"
"fly_offset" "768"
"snd_fly" "Apache.Rotor"
// Apache.RotorSpinup
// Apache.RPG
// ApacheHVR.Ignite
// primary ranged attack
"def_attack_ranged" "ranged_hgrunt_mp5"
"snd_ranged_attack" "weapon_mp5.shoot"
"def_attack_ranged" "ranged_hgrunt_mp5"
"snd_ranged_attack" "Apache.FireGun"
"attack_ranged_range" "2048"
// special attack
"def_attack_special_1" "projectile_rocket"
"attack_special_range" "1024"
"projectile_delay" "1.0"
"projectile_delay" "1.0"
}

View file

@ -1,18 +1,22 @@
entityDef monster_babycrab
{
"spawnclass" "NSMonster"
"inherit" "monster_headcrab"
"model" "models/baby_headcrab.mdl"
"health" "skill:babycrab_health"
"leap_damage" "skill:babycrab_dmg_bite"
"spawnclass" "NSMonster"
"inherit" "monster_headcrab"
"model" "models/baby_headcrab.mdl"
"health" "skill:babycrab_health"
"leap_damage" "skill:babycrab_dmg_bite"
"snd_idle" "monster_babycrab.idle"
"snd_pain" "monster_babycrab.pain"
"snd_death" "monster_babycrab.death"
"snd_idle" "Babycrab.Idle"
"snd_pain" "Babycrab.Pain"
"snd_death" "Babycrab.Die"
"snd_melee_attack_hit" "Babycrab.Bite"
events {
jump "AddVelocity" "512 0 250"
jump "StartSoundDef" "Babycrab.Attack"
jump_variation1 "AddVelocity" "512 0 250"
jump_variation1 "StartSoundDef" "Babycrab.Attack"
jump_variation2 "AddVelocity" "512 0 250"
jump_variation2 "StartSoundDef" "Babycrab.Attack"
}
}

View file

@ -1,72 +1,74 @@
entityDef monster_bullchicken
{
"spawnclass" "NSMonster"
"model" "models/bullsquid.mdl"
"netname" "Bullsquid"
"health" "skill:bullsquid_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "32"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "32"
"speed_run" "72"
"spawnclass" "NSMonster"
"model" "models/bullsquid.mdl"
"netname" "Bullsquid"
"health" "skill:bullsquid_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "32"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "32"
"speed_run" "72"
"attack_ranged_range" "512"
"attack_melee_range" "86" // tailwhip
"attack_melee2_range" "86" // bite
"def_attack_melee" "melee_bullchicken_tailwhip"
"def_attack_melee2" "melee_bullchicken_bite"
"def_attack_melee" "melee_bullchicken_tailwhip"
"def_attack_melee2" "melee_bullchicken_bite"
"snd_idle" "monster_bullchicken.idle"
"snd_pain" "monster_bullchicken.pain"
"snd_death" "monster_bullchicken.die"
"snd_alert" "Bullsquid.Alert"
"snd_idle" "Bullsquid.Idle"
"snd_pain" "Bullsquid.Pain"
"snd_death" "Bullsquid.Die"
// Bullsquid.Growl
events {
1 "SpawnProjectileDef" "ranged_bullchicken_spit"
1 "StartSoundDef" "monster_bullchicken.attackshoot"
1 "StartSoundDef" "Bullsquid.Attack"
2 "StartSoundDef" "monster_bullchicken.attackbite"
2 "StartSoundDef" "Bullsquid.Bite"
3 "SetSkin" "1"
4 "StartSoundDef" "monster_bullchicken.attackwhip"
4 "StartSoundDef" "Bullsquid.Growl"
5 "SetVelocity" "0 0 256"
6 "StartSoundDef" "monster_bullchicken.attackthrow"
6 "StartSoundDef" "Bullsquid.Bite"
}
}
entityDef melee_bullchicken_bite
{
"damage" "skill:bullsquid_dmg_bite"
"delay" "0.25f"
"delay" "0.25f"
}
entityDef melee_bullchicken_tailwhip
{
"damage" "skill:bullsquid_dmg_whip"
"delay" "0.25f"
"delay" "0.25f"
}
entityDef ranged_bullchicken_spit
{
"spawnclass" "NSProjectile"
"model" "sprites/bigspit.spr"
"spawnclass" "NSProjectile"
"model" "sprites/bigspit.spr"
"def_damage" "damage_spitDirect"
"def_damage" "damage_spitDirect"
"health" "0"
"velocity" "900"
"fuse" "10"
"detonate_on_fuse" "0"
"detonate_on_death" "0"
"detonate_on_world" "1"
"detonate_on_actor" "1"
"health" "0"
"velocity" "900"
"fuse" "10"
"detonate_on_fuse" "0"
"detonate_on_death" "0"
"detonate_on_world" "1"
"detonate_on_actor" "1"
"impact_damage_effect" "1"
"impact_gib" "0"
"impact_gib" "0"
}
entityDef damage_spitDirect

View file

@ -1,17 +1,19 @@
entityDef monster_cockroach
{
"spawnclass" "NSTalkMonster"
"model" "models/roach.mdl"
"spawnclass" "NSTalkMonster"
"model" "models/roach.mdl"
"netname" "Cockroach"
"health" "0"
"mins" "-8 -8 0"
"maxs" "8 8 8"
"eye_height" "64"
"team" "0"
"mins" "-8 -8 0"
"maxs" "8 8 8"
"eye_height" "64"
"team" "0"
"propdata" "actor_alien"
"speed_walk" "0"
"speed_walk" "0"
"speed_run" "0"
"snd_walk" "Roach.Walk"
}
TODO: coverhintnodeflags: FLESH | LOWLIGHT

View file

@ -12,14 +12,17 @@ entityDef monster_gargantua
"speed_walk" "46"
"speed_run" "292"
"snd_idle" "Garg.Idle"
"snd_death" "Garg.Die"
events {
// attacks
1 "SpawnProjectileDef" "melee_gargantua"
5 "SpawnProjectileDef" "stomp_gargantua"
// sfx
3 "StartSoundDef" "monster_gargantua.step"
4 "StartSoundDef" "monster_gargantua.step"
6 "StartSoundDef" "monster_gargantua.breathe"
3 "StartSoundDef" "Garg.Footstep"
4 "StartSoundDef" "Garg.Footstep"
6 "StartSoundDef" "Garg.Breath"
}
}

View file

@ -14,17 +14,18 @@ entityDef monster_headcrab
"attack_ranged_range" "180" // needs launch attack
"snd_idle" "monster_headcrab.idle"
"snd_pain" "monster_headcrab.pain"
"snd_death" "monster_headcrab.death"
"leap_damage" "skill:headcrab_dmg_bite"
"snd_idle" "Headcrab.Idle"
"snd_pain" "Headcrab.Pain"
"snd_death" "Headcrab.Die"
"snd_melee_attack_hit" "Headcrab.Bite"
"leap_damage" "skill:headcrab_dmg_bite"
events {
jump "AddVelocity" "512 0 250"
jump "StartSoundDef" "monster_headcrab.attack"
jump "StartSoundDef" "Headcrab.Attack"
jump_variation1 "AddVelocity" "512 0 350"
jump_variation1 "StartSoundDef" "monster_headcrab.attack"
jump_variation1 "StartSoundDef" "Headcrab.Attack"
jump_variation2 "AddVelocity" "512 0 350"
jump_variation2 "StartSoundDef" "monster_headcrab.attack"
jump_variation2 "StartSoundDef" "Headcrab.Attack"
}
}

View file

@ -1,36 +1,36 @@
entityDef monster_houndeye
{
"spawnclass" "NSMonster"
"model" "models/houndeye.mdl"
"netname" "Houndeye"
"health" "skill:houndeye_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "32"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "32"
"speed_run" "192"
"spawnclass" "NSMonster"
"model" "models/houndeye.mdl"
"netname" "Houndeye"
"health" "skill:houndeye_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "32"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "32"
"speed_run" "192"
"attack_ranged_range" "192"
"snd_idle" "monster_houndeye.idle"
"snd_pain" "monster_houndeye.pain"
"snd_death" "monster_houndeye.death"
"snd_idle" "HoundEye.Idle"
"snd_pain" "HoundEye.Pain"
"snd_death" "HoundEye.Die"
events {
1 "StartSoundDef" "monster_houndeye.alert"
1 "StartSoundDef" "HoundEye.Alert"
2 "StartSoundDef" "monster_houndeye.attack"
2 "StartSoundDef" "HoundEye.Warn"
3 "Shockwave" "sprites/shockwave.spr 192 0 0 2 16 0 255 255 255 255 0"
3 "StartSoundDef" "monster_houndeye.blast"
3 "StartSoundDef" "HoundEye.Sonic"
4 "AddVelocity" "-200 0 250"
5 "StartSoundDef" "monster_houndeye.pain"
5 "StartSoundDef" "HoundEye.Pain"
6 "StartSoundDef" "monster_houndeye.pain"
6 "StartSoundDef" "HoundEye.Pain"
7 "SetSkin" "0"
}

View file

@ -2,7 +2,7 @@ entityDef monster_human_assassin
{
"spawnclass" "NSTalkMonster"
"model" "models/hassassin.mdl"
"netname" "Assassin"
"netname" "Human Assassin"
"health" "skill:hassassin_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
@ -17,12 +17,10 @@ entityDef monster_human_assassin
"speed_walk" "0"
"speed_run" "364"
"snd_thud" "monster_generic.thud"
// animation event callbacks
events {
1 "SpawnProjectileDef" "ranged_hassassin_shot"
1 "StartSoundDef" "monster_human_assassin.fire"
1 "StartSoundDef" "HAssassin.Shot"
}
}

View file

@ -13,53 +13,56 @@ entityDef monster_human_grunt
"speed_run" "304"
// melee attack
"def_attack_melee" "melee_hgrunt_kick"
"def_attack_melee" "melee_hgrunt_kick"
"attack_melee_range" "96"
"snd_melee_attack" "monster_human_grunt.kick"
"snd_melee_attack" "HGrunt.Kick"
// primary ranged attack
"def_attack_ranged" "ranged_hgrunt_mp5"
"snd_ranged_attack" "Weapon_MP5.Single"
"def_attack_ranged" "ranged_hgrunt_mp5"
"snd_ranged_attack" "HGrunt.9MM"
"attack_ranged_range" "1024"
"reload_count" "30"
"reload_count" "30"
// special attack
"def_attack_special_1" "projectile_hgrunt_grenade"
"attack_special_range" "1024"
"projectile_delay" "1.0"
"projectile_delay" "1.0"
"snd_idle" "monster_human_grunt.idle"
"snd_pain" "HGrunt.Pain"
"snd_death" "HGrunt.Die"
"snd_reload" "HGrunt.Reload"
"weapons" "3"
// TODO Unclear how these work
// TODO !HG_CHECK
// TODO !HG CLEAR
"talk_answer" "!HG_ANSWER"
"talk_ask" "!HG_QUEST"
"talk_idle" "!HG_IDLE"
"snd_pain" "HGrunt.Pain"
"snd_death" "HGrunt.Die"
"snd_reload" "HGrunt.Reload"
"weapons" "3"
"squad_leader_body" "1:2"
"squad_leader_body" "1:2"
// grenade launcher
when "weapons" contains 4 {
"body1" "4"
"body1" "4"
"def_attack_special_1" "projectile_hgrunt_ARgrenade"
"skin" "1"
"skin" "1"
}
// shotgun grunt
when "weapons" contains 8 {
"body2" "2"
"reload_count" "8"
"snd_ranged_attack" "weapon_shotgun.single"
"body2" "2"
"reload_count" "8"
"snd_ranged_attack" "HGrunt.Shotgun"
"def_attack_ranged" "ranged_hgrunt_shot"
}
when "spawnflags" contains 32 {
"squad_leader" "1"
"squad_leader" "1"
}
// animation event callbacks
events {
2 "StartSoundDef" "HGrunt.Reload"
2 "StartSoundDef" "HGrunt.Reload"
}
}
@ -74,76 +77,76 @@ entityDef melee_hgrunt_kick
entityDef ranged_hgrunt_mp5
{
"inherit" "projectile_bullet_base"
"damage" "skill:hgrunt_pellets"
"burst" "3"
"inherit" "projectile_bullet_base"
"damage" "skill:hgrunt_pellets"
"burst" "3"
"burst_delay" "0.5"
"delay" "0.1"
"delay" "0.1"
}
entityDef ranged_hgrunt_shot
{
"inherit" "projectile_bullet_base"
"damage" "skill:hgrunt_pellets"
"delay" "1.0"
"inherit" "projectile_bullet_base"
"damage" "skill:hgrunt_pellets"
"delay" "1.0"
}
entityDef projectile_hgrunt_ARgrenade
{
"spawnclass" "NSProjectile"
"model" "models/grenade.mdl"
"spawnclass" "NSProjectile"
"model" "models/grenade.mdl"
"def_splash_damage" "damage_grenadeSplash"
"def_splash_damage" "damage_grenadeSplash"
"health" "0"
"velocity" "800 0 400"
"angular_velocity" "300 300 300"
"fuse" "4"
"bounce" "1"
"detonate_on_fuse" "1"
"detonate_on_death" "0"
"detonate_on_world" "1"
"detonate_on_actor" "1"
"impact_damage_effect" "1"
"impact_gib" "1"
"health" "0"
"velocity" "800 0 400"
"angular_velocity" "300 300 300"
"fuse" "4"
"bounce" "1"
"detonate_on_fuse" "1"
"detonate_on_death" "0"
"detonate_on_world" "1"
"detonate_on_actor" "1"
"impact_damage_effect" "1"
"impact_gib" "1"
"model_detonate" "fx_explosion.main"
"model_detonate" "fx_explosion.main"
"explode_light_color" "2 1.6 0.8"
"explode_light_radius" "320"
"explode_light_color" "2 1.6 0.8"
"explode_light_radius" "320"
"explode_light_fadetime" "0.5"
"snd_explode" "weapon_handgrenade.explode"
"snd_bounce" "weapon_handgrenade.bounce"
"snd_explode" "weapon_handgrenade.explode"
"snd_bounce" "weapon_handgrenade.bounce"
}
entityDef projectile_hgrunt_grenade
{
"spawnclass" "NSProjectile"
"model" "models/w_grenade.mdl"
"spawnclass" "NSProjectile"
"model" "models/w_grenade.mdl"
"def_splash_damage" "damage_grenadeSplash"
"def_splash_damage" "damage_grenadeSplash"
"health" "0"
"velocity" "600 0 200"
"angular_velocity" "300 300 300"
"fuse" "4"
"bounce" "1"
"detonate_on_fuse" "1"
"detonate_on_death" "0"
"detonate_on_world" "0"
"detonate_on_actor" "0"
"impact_damage_effect" "1"
"impact_gib" "1"
"health" "0"
"velocity" "600 0 200"
"angular_velocity" "300 300 300"
"fuse" "4"
"bounce" "1"
"detonate_on_fuse" "1"
"detonate_on_death" "0"
"detonate_on_world" "0"
"detonate_on_actor" "0"
"impact_damage_effect" "1"
"impact_gib" "1"
"model_detonate" "fx_explosion.main"
"model_detonate" "fx_explosion.main"
"explode_light_color" "2 1.6 0.8"
"explode_light_radius" "320"
"explode_light_color" "2 1.6 0.8"
"explode_light_radius" "320"
"explode_light_fadetime" "0.5"
"snd_explode" "weapon_handgrenade.explode"
"snd_bounce" "weapon_handgrenade.bounce"
"snd_explode" "weapon_handgrenade.explode"
"snd_bounce" "weapon_handgrenade.bounce"
}
entityDef damage_grenadeSplash

View file

@ -1,15 +1,15 @@
entityDef monster_ichthyosaur
{
"spawnclass" "NSTalkMonster"
"model" "models/icky.mdl"
"netname" "Ichthyosaur"
"health" "0"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"model" "models/icky.mdl"
"netname" "Ichthyosaur"
"health" "0"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "2"
"propdata" "actor_alien"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "0"
"speed_run" "0"
}
"speed_run" "0"
}

View file

@ -1,16 +1,16 @@
entityDef monster_osprey
{
"spawnclass" "NSTalkMonster"
"model" "models/osprey.mdl"
"netname" "Osprey"
"health" "0"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"model" "models/osprey.mdl"
"netname" "Osprey"
"health" "0"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "2"
"propdata" "actor_robot"
"team" "2"
"propdata" "actor_robot"
"speed_walk" "0"
"speed_run" "0"
"flying" "1"
"speed_run" "0"
"flying" "1"
}

View file

@ -1,78 +1,77 @@
entityDef monster_scientist
{
"spawnclass" "HLScientist"
"model" "models/scientist.mdl"
"netname" "Scientist"
"health" "skill:scientist_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"spawnclass" "HLScientist"
"model" "models/scientist.mdl"
"netname" "Scientist"
"health" "skill:scientist_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
// Until Randomization is functional
// we need to do this hack
"pitch" "105"
"netname" "Walter"
"body1" "1"
"pitch" "105"
"netname" "Walter"
"body1" "1"
"follow_on_use" "1"
"speed_walk" "64"
"speed_run" "364"
"follow_on_use" "1"
"speed_walk" "64"
"speed_run" "364"
"snd_pain" "monster_scientist.pain"
"snd_death" "monster_scientist.die"
"snd_thud" "monster_scientist.thud"
"snd_pain" "Scientist.Pain"
"snd_death" "Scientist.Die"
"talk_answer" "!SC_ANSWER"
"talk_ask" "!SC_QUESTION"
"talk_ally_shoot" "!SC_PLFEAR"
"talk_idle" "!SC_IDLE"
"talk_hearing" "!SC_HEAR"
"talk_smelling" "!SC_SMELL"
"talk_stare" "!SC_STARE"
"talk_survived" "!SC_WOUND"
"talk_wounded" "!SC_MORTAL"
"talk_player_ask" "!SC_QUESTION"
"talk_player_greet" "!SC_HELLO"
"talk_player_idle" "!SC_PIDLE"
"talk_answer" "!SC_ANSWER"
"talk_ask" "!SC_QUESTION"
"talk_ally_shoot" "!SC_PLFEAR"
"talk_idle" "!SC_IDLE"
"talk_hearing" "!SC_HEAR"
"talk_smelling" "!SC_SMELL"
"talk_stare" "!SC_STARE"
"talk_survived" "!SC_WOUND"
"talk_wounded" "!SC_MORTAL"
"talk_player_ask" "!SC_QUESTION"
"talk_player_greet" "!SC_HELLO"
"talk_player_idle" "!SC_PIDLE"
"talk_player_wounded1" "!SC_CUREA"
"talk_player_wounded2" "!SC_CUREB"
"talk_player_wounded3" "!SC_CUREC"
"talk_unfollow" "!SC_WAIT"
"talk_follow" "!SC_OK"
"talk_stop_follow" "!SC_STOP"
"talk_deny_follow" "!SC_POK"
"talk_unfollow" "!SC_WAIT"
"talk_follow" "!SC_OK"
"talk_stop_follow" "!SC_STOP"
"talk_deny_follow" "!SC_POK"
// Body Types
when "body" equals "0" {
"pitch" "105"
"pitch" "105"
"netname" "Walter"
"body1" "1"
"body1" "1"
}
when "body" equals "1" {
"pitch" "100"
"pitch" "100"
"netname" "Einstein"
"body1" "2"
"body1" "2"
}
when "body" equals "2" {
"pitch" "95"
"pitch" "95"
"netname" "Luther"
"skin" "1"
"body1" "3"
"skin" "1"
"body1" "3"
}
when "body" equals "3" {
"pitch" "105"
"pitch" "105"
"netname" "Slick"
"body1" "4"
"body1" "4"
}
// pre-disaster
when "spawnflags" contains "256" {
"talk_ask" ""
"talk_ask" ""
"talk_player_ask" "!SC_PQUEST"
"talk_player_greet" "!SC_PHELLO"
"talk_player_idle" "!SC_PIDLE"

View file

@ -2,7 +2,7 @@ entityDef monster_sentry
{
"spawnclass" "NSTalkMonster"
"model" "models/sentry.mdl"
"netname" "Turret"
"netname" "Sentry"
"health" "skill:sentry_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
@ -13,10 +13,9 @@ entityDef monster_sentry
"def_attack_ranged" "ranged_sentry_shot"
"attack_ranged_range" "1024"
"snd_idle" "monster_sentry.combatIdle"
"snd_death" "monster_sentry.die"
"snd_ranged_attack" "monster_sentry.fire"
"snd_thud" "monster_generic.thud"
"snd_idle" "Turret.Ping"
"snd_death" "Sentry.Die"
"snd_ranged_attack" "Sentry.Shoot"
"act_idle" "0" // when the sentry is turned off.
// "act_sleep" "4" // when the sentry retires;The animation is a dupe

View file

@ -18,9 +18,11 @@ entityDef monster_snark
"attack_ranged_range" "96"
"snd_idle" "monster_snark.idle"
"snd_pain" "monster_snark.pain"
"snd_death" "monster_snark.death"
// Snark.Deploy
"snd_attack" "Snark.Bounce"
"snd_pain" "Snark.Pain"
"snd_death" "Snark.Die"
"snd_gib" "Snark.Gibbed"
"leap_damage" "skill:snark_dmg_bite"
events {

View file

@ -0,0 +1,22 @@
entityDef monster_sphere
{
"spawnclass" "NSMonster"
"model" "models/sphere.mdl"
"netname" "Vortigaunt Control Sphere"
"health" "10"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"eye_height" "32"
"team" "2"
"propdata" "actor_robot"
"flying" "1"
"fly_offset" "64"
"act_idle" "0"
"act_fly" "0"
"act_rangeAttack1" "1"
"act_arm" "2"
"act_disarm" "3"
"speed_walk" "25" // These values are
"speed_run" "50" // purely speculative
}

View file

@ -25,14 +25,13 @@ entityDef monster_zombie
"def_attack_melee" "melee_zombie_stab"
"melee_range" "96"
"snd_sight" "monster_zombie.alert"
"snd_idle" "monster_zombie.idle"
"snd_pain" "monster_zombie.pain"
"snd_sight" "Zombie.Alert"
"snd_idle" "Zombie.Idle"
"snd_pain" "Zombie.Pain"
"snd_death" ""
"snd_melee_attack" "monster_zombie.attack"
"snd_melee_attack_hit" "monster_zombie.attackhit"
"snd_melee_attack_miss" "monster_zombie.attackmiss"
"snd_thud" "monster_generic.thud"
"snd_melee_attack" "Zombie.Attack"
"snd_melee_attack_hit" "Zombie.AttackHit"
"snd_melee_attack_miss" "Zombie.AttackMiss"
}
entityDef melee_zombie_stab

View file

@ -10,7 +10,7 @@ BodyDrop.Heavy
sample common/bodydrop4.wav
}
monster_alien_grunt.alert
AlienGrunt.Alert
{
sample agrunt/ag_alert1.wav
sample agrunt/ag_alert2.wav
@ -19,14 +19,14 @@ monster_alien_grunt.alert
sample agrunt/ag_alert5.wav
}
monster_alien_grunt.attack
AlienGrunt.Attack
{
sample agrunt/ag_attack1.wav
sample agrunt/ag_attack2.wav
sample agrunt/ag_attack3.wav
}
monster_alien_grunt.die
AlienGrunt.Die
{
sample agrunt/ag_die1.wav
sample agrunt/ag_die2.wav
@ -35,7 +35,7 @@ monster_alien_grunt.die
sample agrunt/ag_die5.wav
}
monster_alien_grunt.idle
AlienGrunt.Idle
{
sample agrunt/ag_idle1.wav
sample agrunt/ag_idle2.wav
@ -44,7 +44,7 @@ monster_alien_grunt.idle
sample agrunt/ag_idle5.wav
}
monster_alien_grunt.pain
AlienGrunt.Pain
{
sample agrunt/ag_pain1.wav
sample agrunt/ag_pain2.wav
@ -53,41 +53,61 @@ monster_alien_grunt.pain
sample agrunt/ag_pain5.wav
}
monster_alien_grunt.step_left
AlienGrunt.LeftFoot
{
pitch 0.7
sample player/pl_ladder2.wav
sample player/pl_ladder4.wav
}
monster_alien_grunt.step_right
AlienGrunt.RightFoot
{
pitch 0.7
sample player/pl_ladder1.wav
sample player/pl_ladder3.wav
}
monster_alien_controller.alert
AlienGrunt.FireGun
{
sample turret/tu_fire1.wav
}
Apache.FireGun
{
sample turret/tu_fire1.wav
}
Apache.RPG
{
sample weapons/rocket1.wav
}
ApacheHVR.Ignite
{
sample weapons/rocket1.wav
}
Controller.Alert
{
sample controller/con_alert1.wav
sample controller/con_alert2.wav
sample controller/con_alert3.wav
}
monster_alien_controller.attack
Controller.Attack
{
sample controller/con_attack1.wav
sample controller/con_attack2.wav
sample controller/con_attack3.wav
}
monster_alien_controller.die
Controller.Die
{
sample controller/con_die1.wav
sample controller/con_die2.wav
}
monster_alien_controller.idle
Controller.Idle
{
sample controller/con_idle1.wav
sample controller/con_idle2.wav
@ -96,31 +116,31 @@ monster_alien_controller.idle
sample controller/con_idle5.wav
}
monster_alien_controller.pain
Controller.Pain
{
sample controller/con_pain1.wav
sample controller/con_pain2.wav
sample controller/con_pain3.wav
}
monster_alien_slave.die
Vortigaunt.Die
{
sample aslave/slv_die1.wav
sample aslave/slv_die2.wav
}
monster_alien_slave.pain
Vortigaunt.Pain
{
sample aslave/slv_pain1.wav
sample aslave/slv_pain2.wav
}
monster_alien_slave.attack_charge
Vortigaunt.ZapPowerup
{
sample debris/zap4.wav
}
monster_alien_slave.attack_shoot
Vortigaunt.ZapShoot
{
pitch_min 1.3
pitch_max 1.6
@ -128,31 +148,44 @@ monster_alien_slave.attack_shoot
}
// bcl_bite3 is played when an entity is in it's mouth bcl_tongue1 unused?
monster_barnacle.attackchew
Barnacle.Chew
{
sample barnacle/bcl_chew1.wav
sample barnacle/bcl_chew2.wav
sample barnacle/bcl_chew3.wav
}
monster_barnacle.attackpull
Barnacle.Bite
{
sample barnacle/bcl_bite3.wav
}
Barnacle.Alert
{
sample barnacle/bcl_alert2.wav
}
monster_barnacle.die
Barnacle.Die
{
sample barnacle/bcl_die1.wav
sample barnacle/bcl_die3.wav
}
monster_barney.die
Barney.Die
{
sample barney/ba_die1.wav
sample barney/ba_die1.wav
sample barney/ba_die2.wav
}
monster_barney.pain
Barney.FirePistol
{
sample barney/ba_die1.wav
sample barney/ba_die1.wav
sample barney/ba_die2.wav
}
Barney.Pain
{
sample barney/ba_pain1.wav
sample barney/ba_pain1.wav
@ -248,39 +281,35 @@ BigMomma.FootstepRight
sample gonarch/gon_step3.wav
}
monster_bullchicken.attack
Bullsquid.Growl
{
sample bullchicken/bc_attackgrowl1.wav
sample bullchicken/bc_attackgrowl2.wav
sample bullchicken/bc_attackgrowl3.wav
}
monster_bullchicken.attackbite
Bullsquid.Bite
{
sample bullchicken/bc_bite1.wav
}
monster_bullchicken.attackthrow
{
sample bullchicken/bc_bite2.wav
sample bullchicken/bc_bite3.wav
}
monster_bullchicken.attackshoot
Bullsquid.Attack
{
sample bullchicken/bc_attack1.wav
sample bullchicken/bc_attack2.wav
sample bullchicken/bc_attack3.wav
}
monster_bullchicken.die
Bullsquid.Die
{
sample bullchicken/bc_die1.wav
sample bullchicken/bc_die2.wav
sample bullchicken/bc_die3.wav
}
monster_bullchicken.idle
Bullsquid.Idle
{
sample bullchicken/bc_idle1.wav
sample bullchicken/bc_idle2.wav
@ -289,7 +318,7 @@ monster_bullchicken.idle
sample bullchicken/bc_idle5.wav
}
monster_bullchicken.pain
Bullsquid.Pain
{
sample bullchicken/bc_pain1.wav
sample bullchicken/bc_pain2.wav
@ -297,13 +326,42 @@ monster_bullchicken.pain
sample bullchicken/bc_pain4.wav
}
monster_cockroach.die
Roach.Die
{
sample roach/rch_die.wav
}
Roach.Smash
{
sample roach/rch_smash.wav
}
monster_gargantua.alert
Roach.Walk
{
sample roach/rch_walk.wav
}
HAssassin.Shot
{
sample weapons/pl_gun1.wav
sample weapons/pl_gun2.wav
}
HAssassin.Footstep
{
sample player/pl_step1.wav
sample player/pl_step2.wav
sample player/pl_step3.wav
sample player/pl_step4.wav
}
// Not sure what this does
HAssassin.Beamsound
{
debris/beamstart1.wav
}
Garg.Alert
{
sample garg/gar_alert1.wav
sample garg/gar_alert2.wav
@ -311,48 +369,35 @@ monster_gargantua.alert
}
// similar to bullsquid groans during and after attacks
monster_gargantua.attack
Garg.Attack
{
sample garg/gar_attack1.wav
sample garg/gar_attack2.wav
sample garg/gar_attack3.wav
}
monster_gargantua.attackflame
Garg.AttackMiss
{
sample garg/gar_flamerun1.wav
sample zombie/claw_miss1.wav
sample zombie/claw_miss2.wav
}
monster_gargantua.attackflameoff
{
sample garg/gar_flameoff1.wav
}
monster_gargantua.attackflameon
{
sample garg/gar_flameon1.wav
}
monster_gargantua.die
Garg.Die
{
sample garg/gar_die1.wav
sample garg/gar_die2.wav
}
monster_gargantua.idle
Garg.Idle
{
sample garg/gar_idle1.wav
sample garg/gar_idle2.wav
sample garg/gar_idle3.wav
sample garg/gar_idle4.wav
sample garg/gar_idle5.wav
sample garg/gar_breathe1.wav
sample garg/gar_breathe2.wav
sample garg/gar_breathe3.wav
}
monster_gargantua.pain
Garg.Pain
{
sample garg/gar_pain1.wav
sample garg/gar_pain2.wav
@ -360,12 +405,44 @@ monster_gargantua.pain
}
// has unique foot step sounds
monster_gargantua.step
Garg.Footstep
{
sample garg/gar_step1.wav
sample garg/gar_step2.wav
}
Garg.Breath
{
sample garg/gar_breathe1.wav
sample garg/gar_breathe2.wav
sample garg/gar_breathe3.wav
}
Garg.Stomp
{
sample weapons/mine_charge.wav
}
Garg.StompSound
{
sample garg/gar_stomp1.wav
}
Garg.BeamAttackOff
{
sample garg/gar_flameoff1.wav
}
Garg.BeamAttackOn
{
sample garg/gar_flameon1.wav
}
Garg.BeamAttackRun
{
sample garg/gar_flamerun1.wav
}
monster_headcrab.alert
{
sample headcrab/hc_alert1.wav
@ -373,25 +450,25 @@ monster_headcrab.alert
}
// these attack sounds are actually the cry when it jumps
monster_headcrab.attack
Headcrab.Attack
{
sample headcrab/hc_attack1.wav
sample headcrab/hc_attack2.wav
sample headcrab/hc_attack3.wav
}
monster_headcrab.attackhit
Headcrab.Bite
{
sample headcrab/hc_headbite.wav
}
monster_headcrab.die
Headcrab.Die
{
sample headcrab/hc_die1.wav
sample headcrab/hc_die2.wav
}
monster_headcrab.idle
Headcrab.Idle
{
sample headcrab/hc_idle1.wav
sample headcrab/hc_idle2.wav
@ -400,7 +477,7 @@ monster_headcrab.idle
sample headcrab/hc_idle5.wav
}
monster_headcrab.pain
Headcrab.Pain
{
sample headcrab/hc_pain1.wav
sample headcrab/hc_pain2.wav
@ -408,13 +485,15 @@ monster_headcrab.pain
}
monster_babycrab.alert
Babycrab.Alert
{
pitch_min 140
pitch_max 150
sample headcrab/hc_alert1.wav
sample headcrab/hc_alert2.wav
}
monster_babycrab.attack
Babycrab.Attack
{
pitch_min 140
pitch_max 150
@ -423,14 +502,14 @@ monster_babycrab.attack
sample headcrab/hc_attack3.wav
}
monster_babycrab.attackhit
Babycrab.Bite
{
pitch_min 140
pitch_max 150
sample headcrab/hc_headbite.wav
}
monster_babycrab.die
Babycrab.Die
{
pitch_min 140
pitch_max 150
@ -438,7 +517,7 @@ monster_babycrab.die
sample headcrab/hc_die2.wav
}
monster_babycrab.idle
Babycrab.Idle
{
pitch_min 140
pitch_max 150
@ -449,7 +528,7 @@ monster_babycrab.idle
sample headcrab/hc_idle5.wav
}
monster_babycrab.pain
Babycrab.Pain
{
pitch_min 140
pitch_max 150
@ -458,29 +537,38 @@ monster_babycrab.pain
sample headcrab/hc_pain3.wav
}
monster_houndeye.alert
HoundEye.Alert
{
sample houndeye/he_alert1.wav
sample houndeye/he_alert2.wav
sample houndeye/he_alert3.wav
}
monster_houndeye.attack
HoundEye.Anger1
{
sample houndeye/he_pain3.wav
}
HoundEye.Anger2
{
sample houndeye/he_pain1.wav
}
HoundEye.Warn
{
sample houndeye/he_attack1.wav
sample houndeye/he_attack2.wav
sample houndeye/he_attack3.wav
}
monster_houndeye.blast
HoundEye.Sonic
{
sample houndeye/he_blast1.wav
sample houndeye/he_blast2.wav
sample houndeye/he_blast3.wav
}
monster_houndeye.die
HoundEye.Die
{
sample houndeye/he_die1.wav
sample houndeye/he_die2.wav
@ -488,19 +576,23 @@ monster_houndeye.die
}
// Not sure where the hunt sounds are actually used
monster_houndeye.idle
HoundEye.Hunt
{
sample houndeye/he_hunt1.wav
sample houndeye/he_hunt2.wav
sample houndeye/he_hunt3.wav
sample houndeye/he_hunt4.wav
}
HoundEye.Idle
{
sample houndeye/he_idle1.wav
sample houndeye/he_idle2.wav
sample houndeye/he_idle3.wav
sample houndeye/he_idle4.wav
}
monster_houndeye.pain
HoundEye.Pain
{
sample houndeye/he_pain1.wav
sample houndeye/he_pain2.wav
@ -509,21 +601,25 @@ monster_houndeye.pain
sample houndeye/he_pain5.wav
}
monster_human_grunt.idle
HGrunt.9MM
{
sample hgrunt/gr_idle1.wav
sample hgrunt/gr_idle2.wav
sample hgrunt/gr_idle3.wav
sample hgrunt/gr_mgun1.wav
sample hgrunt/gr_mgun2.wav
}
monster_human_grunt.die
HGrunt.Shotgun
{
sample weapons/sbarrel1.wav
}
HGrunt.Die
{
sample hgrunt/gr_die1.wav
sample hgrunt/gr_die2.wav
sample hgrunt/gr_die3.wav
}
monster_human_grunt.pain
HGrunt.Pain
{
sample hgrunt/gr_pain1.wav
sample hgrunt/gr_pain2.wav
@ -532,30 +628,41 @@ monster_human_grunt.pain
sample hgrunt/gr_pain5.wav
}
monster_human_grunt.kick
HGrunt.GrenadeLaunch
{
sample weapons/glauncher.wav
}
HGrunt.Kick
{
sample zombie/claw_miss2.wav
}
monster_human_grunt.reload
HGrunt.Reload
{
sample hgrunt/gr_reload1.wav
}
monster_ichthyosaur.alert
Ichthyosaur.Alert
{
sample ichy/ichy_alert1.wav
sample ichy/ichy_alert2.wav
sample ichy/ichy_alert3.wav
}
monster_ichthyosaur.attack
Ichthyosaur.Attack
{
sample ichy/ichy_attack1.wav
sample ichy/ichy_attack2.wav
}
monster_ichthyosaur.die
Ichthyosaur.Bite
{
sample ichy/ichy_bite1.wav
sample ichy/ichy_bite2.wav
}
Ichthyosaur.Die
{
sample ichy/ichy_die1.wav
sample ichy/ichy_die2.wav
@ -563,7 +670,7 @@ monster_ichthyosaur.die
sample ichy/ichy_die4.wav
}
monster_ichthyosaur.idle
Ichthyosaur.Idle
{
sample ichy/ichy_idle1.wav
sample ichy/ichy_idle2.wav
@ -571,7 +678,7 @@ monster_ichthyosaur.idle
sample ichy/ichy_idle4.wav
}
monster_ichthyosaur.pain
Ichthyosaur.Pain
{
sample ichy/ichy_pain1.wav
sample ichy/ichy_pain2.wav
@ -580,67 +687,78 @@ monster_ichthyosaur.pain
sample ichy/ichy_pain5.wav
}
monster_leech.alert
Leech.Alert
{
sample leech/leech_alert1.wav
sample leech/leech_alert2.wav
}
monster_leech.attack
Leech.Attack
{
sample leech/leech_bite1.wav
sample leech/leech_bite2.wav
sample leech/leech_bite3.wav
}
// other sounds
// * x_shoot1 - ?
// * nih_die2 - used in map not code?
// these attack sounds are his growls
monster_nihilanth.attack
Nihilanth.Attack
{
sample x/x_attack1.wav
sample x/x_attack2.wav
sample x/x_attack3.wav
}
monster_nihilanth.attackball
Nihilanth.BallAttack
{
sample x/x_ballattack1.wav
}
monster_nihilanth.attackballmove
Nihilanth.BallAttackMove
{
sample x/x_teleattack1.wav
}
monster_nihilanth.die
Nihilanth.Die
{
sample x/x_die1.wav
}
monster_nihilanth.idle
Nihilanth.PainLaugh
{
sample x/x_laugh1.wav
sample x/x_laugh2.wav
}
monster_nihilanth.pain
Nihilanth.Pain
{
sample x/x_pain1.wav
sample x/x_pain2.wav
sample x/x_pain3.wav
}
monster_nihilanth.recharge
Nihilanth.Recharge
{
sample x/x_recharge1.wav
sample x/x_recharge2.wav
sample x/x_recharge3.wav
}
monster_scientist.die
Nihilanth.FriendBeam
{
sample debris/beamstart7.wav
}
NihilanthHVR.Zap
{
sample debris/zap4.wav
}
NihilanthHVR.TeleAttack
{
sample x/x_teleattack1.wav
}
Scientist.Die
{
sample scientist/sci_die1.wav
sample scientist/sci_die2.wav
@ -648,7 +766,7 @@ monster_scientist.die
sample scientist/sci_die4.wav
}
monster_scientist.pain
Scientist.Pain
{
sample scientist/sci_pain1.wav
sample scientist/sci_pain2.wav
@ -662,94 +780,176 @@ monster_scientist.pain
sample scientist/sci_pain10.wav
}
monster_sentry.alert
Turret.Alert
{
sample turret/tu_alert.wav
}
Turret.Deploy
{
sample turret/tu_deploy.wav
}
monster_sentry.die
Turret.Die
{
sample turret/tu_die.wav
sample turret/tu_die2.wav
sample turret/tu_die3.wav
}
monster_sentry.idle
Turret.Shoot
{
sample turret/tu_fire1.wav
}
Turret.SpinUpCall
{
sample turret/tu_spinup.wav
}
Turret.SpinDownCall
{
sample turret/tu_spindown.wav
}
Sentry.Die
{
sample turret/tu_die.wav
sample turret/tu_die2.wav
sample turret/tu_die3.wav
}
Sentry.Shoot
{
sample weapons/hks1.wav
sample weapons/hks2.wav
sample weapons/hks3.wav
}
Snark.Bounce
{
sample squeek/sqk_hunt1.wav
sample squeek/sqk_hunt2.wav
sample squeek/sqk_hunt3.wav
}
Snark.Deploy
{
sample squeek/sqk_deploy1.wav
}
Snark.Die
{
sample squeek/sqk_blast1.wav
}
Snark.Gibbed
{
sample common/bodysplat.wav
}
Turret.Spinup
{
sample turret/tu_active2.wav
}
Turret.Ping
{
sample turret/tu_ping.wav
}
monster_sentry.retract
Turret.Undeploy
{
sample turret/tu_retract.wav
}
// cut sounds listing here because why not
monster_tentacle.alert
Tentacle.Alert
{
sample tentacle/te_alert1.wav
sample tentacle/te_alert2.wav
}
monster_tentacle.attack
Tentacle.Flies
{
sample ambience/flies.wav
}
Tentacle.HitSilo
{
sample tentacle/te_strike1.wav
sample tentacle/te_strike2.wav
}
monster_tentacle.die
Tentacle.HitDirt
{
sample player/pl_dirt1.wav
sample player/pl_dirt2.wav
}
Tentacle.HitWater
{
sample player/pl_slosh1.wav
sample player/pl_slosh2.wav
sample player/pl_slosh3.wav
sample player/pl_slosh4.wav
}
Tentacle.Death
{
sample tentacle/te_death2.wav
}
// includes some cut sounds might be interesting
monster_tentacle.idle
Tentacle.Roar
{
sample tentacle/te_roar1.wav
sample tentacle/te_roar2.wav
}
Tentacle.Search
{
sample tentacle/te_search1.wav
sample tentacle/te_search2.wav
}
Tentacle.Sing
{
sample tentacle/te_sing1.wav
sample tentacle/te_sing2.wav
}
monster_turret.spindown
Tentacle.Squirm
{
sample turret/tu_spindown.wav
sample ambience/squirm2.wav
}
monster_turret.spinup
{
sample turret/tu_spinup.wav
}
monster_zombie.alert
Zombie.Alert
{
sample zombie/zo_alert10.wav
sample zombie/zo_alert20.wav
sample zombie/zo_alert30.wav
}
monster_zombie.attack
Zombie.Attack
{
sample zombie/zo_attack1.wav
sample zombie/zo_attack2.wav
}
monster_zombie.attackhit
Zombie.AttackHit
{
sample zombie/claw_strike1.wav
sample zombie/claw_strike2.wav
sample zombie/claw_strike3.wav
}
monster_zombie.attackmiss
Zombie.AttackMiss
{
sample zombie/claw_miss1.wav
sample zombie/claw_miss2.wav
}
monster_zombie.idle
Zombie.Idle
{
sample zombie/zo_idle1.wav
sample zombie/zo_idle2.wav
@ -757,7 +957,7 @@ monster_zombie.idle
sample zombie/zo_idle4.wav
}
monster_zombie.pain
Zombie.Pain
{
sample zombie/zo_pain1.wav
sample zombie/zo_pain2.wav