NPCs for Opposing Force

Try to make the actual OP4 skill file load
Some new sound definitions
This commit is contained in:
Xylemon 2023-09-20 08:44:45 -07:00
parent 9ddbdbc3a0
commit e9f2119ca6
36 changed files with 1459 additions and 1 deletions

View File

@ -30,6 +30,7 @@ w_m249_precache(void)
{
#ifdef SERVER
precache_model("models/w_saw.mdl");
Sound_Precache("weapon_m249.fire");
precache_sound("weapons/saw_fire1.wav");
precache_sound("weapons/saw_fire2.wav");
precache_sound("weapons/saw_fire3.wav");

View File

@ -0,0 +1,15 @@
entityDef monster_alien_babyvoltigore
{
"spawnclass" "NSMonster"
"inherit" "monster_alien_voltigore"
"netname" "Baby Voltigore"
"model" "models/baby_voltigore.mdl"
"health" "skill:babyvoltigore_health"
"eye_height" "32"
"attack_ranged_range" "192"
"snd_sight" "monster_alien_babyvoltigore.alert"
"snd_idle" "monster_alien_babyvoltigore.idle"
"snd_pain" "monster_alien_babyvoltigore.pain"
"snd_death" "monster_alien_babyvoltigore.death"
}

View File

@ -0,0 +1,21 @@
entityDef monster_alien_voltigore
{
"spawnclass" "NSMonster"
"model" "models/voltigore.mdl"
"netname" "Voltigore"
"health" "skill:voltigore_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "128"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "32"
"speed_run" "72"
"attack_ranged_range" "192"
"snd_sight" "monster_alien_voltigore.alert"
"snd_idle" "monster_alien_voltigore.idle"
"snd_pain" "monster_alien_voltigore.pain"
"snd_death" "monster_alien_voltigore.death"
}

View File

@ -0,0 +1,9 @@
entityDef monster_blkop_apache
{
"spawnclass" "NSTalkMonster"
"inherit" "monster_apache"
"model" "models/blkop_apache.mdl"
"netname" "Black Ops Apache"
"health" "skill:blkop_apache_health"
}

View File

@ -0,0 +1,9 @@
entityDef monster_blkop_osprey
{
"spawnclass" "NSTalkMonster"
"inherit" "monster_osprey"
"model" "models/blkop_osprey.mdl"
"netname" "Black Ops Osprey"
"health" "skill:blkop_osprey_health"
}

View File

@ -0,0 +1,9 @@
entityDef monster_cleansuit_scientist
{
"spawnclass" "NSTalkMonster"
"inherit" "monster_scientist"
"netname" "Cleansuit Scientist"
"model" "models/cleansuit_scientist.mdl"
"health" "skill:cleansuit_scientist_health"
}

View File

@ -0,0 +1,64 @@
entityDef monster_cleansuit_scientist_dead
{
"spawnclass" "NSMonster"
"netname" "Dead Cleansuit Scientist"
"model" "models/cleansuit_scientist.mdl"
"health" "skill:cleansuit_scientist_corpse"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"propdata" "actor_human"
"dead" "1"
"frame" "38"
// Stomach
when "pose" equals "1" {
"frame" "39"
}
// Sitting
when "pose" equals "1" {
"frame" "40"
}
// Hanging
when "pose" equals "1" {
"frame" "41"
}
// Table1
when "pose" equals "1" {
"frame" "42"
}
// Table2
when "pose" equals "1" {
"frame" "43"
}
// Table3
when "pose" equals "1" {
"frame" "44"
}
when "body" equals "1" {
"netname" "Dead Walter"
"body1" "1"
}
when "body" equals "2" {
"netname" "Dead Einstein"
"body1" "2"
}
when "body" equals "3" {
"netname" "Dead Luther"
"skin" "1"
"body1" "3"
}
when "body" equals "4" {
"netname" "Dead Slick"
"body1" "4"
}
}

View File

@ -0,0 +1,22 @@
entityDef monster_drillsergeant
{
"spawnclass" "NSTalkMonster"
"model" "models/drill.mdl"
"netname" "Drill Instructor"
"health" "skill:drillsergeant_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"speed_walk" "64"
"speed_run" "364"
"snd_pain" "monster_drillsergeant.pain"
"snd_death" "monster_drillsergeant.die"
"talk_deny_follow" "!DR_POK"
"follow_on_use" "0"
}

View File

@ -0,0 +1,15 @@
entityDef monster_geneworm
{
"spawnclass" "NSMonster"
"model" "models/geneworm.mdl"
"netname" "Gene Worm"
"health" "skill:geneworm_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "400"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "0"
"speed_run" "0"
}

View File

@ -0,0 +1,67 @@
entityDef monster_gonome
{
"spawnclass" "NSMonster"
"model" "models/gonome.mdl"
"netname" "Gonome"
"health" "skill:gonome_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "96"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "72"
"speed_run" "350"
"attack_melee_range" "86"
"attack_ranged_range" "512"
"def_attack_melee" "melee_gonome_stab"
"snd_sight" "monster_gonome.alert"
"snd_death" "monster_gonome.death"
"snd_melee_attack" "monster_gonome.attack"
"snd_melee_attack_hit" "monster_gonome.attackhit"
"snd_melee_attack_miss" "monster_gonome.attackmiss"
"snd_thud" "monster_generic.thud"
events {
4 "SpawnProjectileDef" "ranged_gonome_guts"
}
// TODO
// Needs to play different run anims based on dist
// Needs to prefer melee attack
// Blend the gut sprite
}
entityDef melee_gonome_stab
{
"damage" "skill:gonome_dmg_one_slash"
"delay" "0.25f"
"wait" "0.5"
"attempts" "2"
}
entityDef ranged_gonome_guts
{
"spawnclass" "NSProjectile"
"model" "sprites/blood_chnk.spr"
"def_damage" "damage_gutsDirect"
"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"
"snd_explode" "monster_gonome.gutshit"
}
entityDef damage_gutsDirect
{
damage "skill:gonome_dmg_guts"
}

View File

@ -0,0 +1,23 @@
entityDef monster_gonome_dead
{
"spawnclass" "NSMonster"
"netname" "Dead Gonome"
"model" "models/gonome.mdl"
"health" "skill:gonome_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"propdata" "actor_alien"
"dead" "1"
"frame" "19"
// Back
when "pose" equals "1" {
"frame" "20"
}
// Side
when "pose" equals "2" {
"frame" "22"
}
}

View File

@ -0,0 +1,32 @@
entityDef monster_hevsuit_dead
{
"spawnclass" "NSMonster"
"model" "models/deadhaz.mdl"
"body1" "1"
"netname" "Dead H.E.V. Scientist"
"health" "50"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"dead" "1"
"frame" "0"
"body1" "1"
// Seated
when "pose" equals "1" {
"frame" "1"
}
// Stomach
when "pose" equals "2" {
"frame" "2"
}
// On Table
when "pose" equals "3" {
"frame" "3"
}
}

View File

@ -0,0 +1,183 @@
entityDef monster_human_grunt_ally
{
"spawnclass" "NSTalkMonster"
"model" "models/hgrunt_opfor.mdl"
"netname" "Friendly Human Grunt"
"health" "skill:hgrunt_ally_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
// melee attack
"def_attack_melee" "melee_hgrunt_ally_kick"
"attack_melee_range" "96"
"snd_melee_attack" "monster_human_grunt_ally.kick"
"reload_count" "18"
"follow_on_use" "1"
"weapon_drawn" "0"
"body_on_draw" "1:2"
"speed_walk" "64"
"speed_run" "364"
"snd_pain" "monster_human_grunt_ally.pain"
"snd_death" "monster_human_grunt_ally.die"
"snd_ranged_attack" "weapon_deagle.fire"
"snd_reload" "monster_human_grunt.reload"
"snd_thud" "monster_generic.thud"
"talk_alert" "!FG_ALERT"
"talk_answer" "!FG_ANSWER"
"talk_ask" "!FG_QUESTION"
"talk_ally_shoot" "!FG_SHOOT"
"talk_idle" "!FG_IDLE"
"talk_hearing" "!FG_HEAR"
"talk_smelling" "!FG_SMELL"
"talk_stare" "!FG_STARE"
"talk_survived" "!FG_MORTAL"
"talk_wounded" "!FG_WOUND"
"talk_player_ask" "!FG_QUESTION"
"talk_player_greet" "!FG_HELLO"
"talk_player_idle" "!FG_IDLE"
"talk_player_wounded1" "!FG_CUREA"
"talk_player_wounded2" "!FG_CUREB"
"talk_player_wounded3" "!FG_CUREC"
"talk_unfollow" "!FG_WAIT"
"talk_follow" "!FG_OK"
"talk_stop_follow" "!FG_STOP"
"talk_deny_follow" "!FG_POK"
"head" "-1"
"weapons" "3"
// pre-disaster
when "spawnflags" equals "256" {
"follow_on_use" "0"
}
when "spawnflags" contains 32 {
"squad_leader" "1"
}
// Weapons
// None
when "weapons" equals 0 {
"body3" "4"
"reload_count" "0"
"def_attack_ranged" ""
}
// MP5
when "weapons" equals 1 {
"body3" "0"
"def_attack_ranged" "ranged_hgrunt_shot"
"snd_ranged_attack" "weapon_mp5.shoot"
"attack_ranged_range" "1024"
"reload_count" "30"
}
// MP5 + hand grenade
when "weapons" equals 3 {
"body3" "0"
"def_attack_ranged" "ranged_hgrunt_shot"
"snd_ranged_attack" "weapon_mp5.shoot"
"attack_ranged_range" "1024"
"reload_count" "30"
"def_attack_special_1" "projectile_hgrunt_grenade"
"attack_special_range" "1024"
"projectile_delay" "1.0"
}
// MP5 + grenade launcher
when "weapons" contains 5 {
"body3" "0"
"def_attack_ranged" "ranged_hgrunt_shot"
"snd_ranged_attack" "weapon_mp5.shoot"
"attack_ranged_range" "1024"
"reload_count" "30"
"def_attack_special_1" "projectile_hgrunt_ARgrenade"
}
// Shotgun
when "weapons" equals 8 {
"body2" "4"
"body3" "2"
"def_attack_ranged" "ranged_hgrunt_shot"
"snd_ranged_attack" "weapon_shotgun.single"
"attack_ranged_range" "1024"
"reload_count" "8"
}
// Shotgun + hand grenade
when "weapons" equals 10 {
"body2" "4"
"body3" "2"
"def_attack_ranged" "ranged_hgrunt_shot"
"snd_ranged_attack" "weapon_shotgun.single"
"attack_ranged_range" "1024"
"reload_count" "8"
"def_attack_special_1" "projectile_hgrunt_grenade"
"attack_special_range" "1024"
"projectile_delay" "1.0"
}
// M249
when "weapons" equals 16 {
"body2" "2"
"body3" "3"
"def_attack_ranged" "ranged_hgrunt_shot"
"snd_ranged_attack" "weapon_m249.fire"
"attack_ranged_range" "1024"
"reload_count" "50"
"def_attack_ranged" "ranged_hgrunt_shot"
}
// Heads
// Gas Mask
when "head" equals 0 {
"body1" "0"
}
// Beret (White)
when "head" equals 1 {
"body1" "2"
}
// Ops Mask
when "head" equals 2 {
"body1" "3"
}
// Bandana (White)
when "head" equals 3 {
"body1" "4"
}
// Bandana (Black)
when "head" equals 4 {
"body1" "5"
}
// MP
when "head" equals 5 {
"body1" "6"
}
// Major
when "head" equals 6 {
"body1" "7"
}
// Beret (Black)
when "head" equals 7 {
"body1" "8"
}
}
entityDef ranged_hgrunt_shot
{
"damage" "skill:hgrunt_ally_pellets"
"delay" "0.5"
}

View File

@ -0,0 +1,80 @@
entityDef monster_human_grunt_ally_dead
{
"spawnclass" "NSMonster"
"model" "models/hgrunt_opfor.mdl"
"netname" "Dead Friendly Human Grunt"
"health" "skill:hgrunt_ally_heath"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"team" "0"
"propdata" "actor_human"
"dead" "1"
"frame" "41"
// Side
when "pose" equals "1" {
"frame" "42"
}
// Seated
when "pose" equals "1" {
"frame" "43"
}
// Back
when "pose" equals "1" {
"frame" "44"
}
// Stomach
when "pose" equals "1" {
"frame" "46"
}
// Head Crabbed
when "pose" equals "1" {
"frame" "45"
}
// Heads
// Gas Mask
when "head" equals 0 {
"body1" "0"
}
// Beret
when "head" equals 1 {
"body1" "2"
}
// Ops Mask
when "head" equals 2 {
"body1" "3"
}
// Bandana (White)
when "head" equals 3 {
"body1" "4"
}
// Bandana (Black)
when "head" equals 4 {
"body1" "5"
}
// MP
when "head" equals 5 {
"body1" "6"
}
// Major
when "head" equals 6 {
"body1" "7"
}
// Beret (Black)
when "head" equals 7 {
"body1" "8"
}
}

View File

@ -0,0 +1,9 @@
entityDef monster_grunt_ally_repel
{
"spawnclass" "NSSquadMonster"
"model" "models/hgrunt_opfor.mdl"
"inherit" "monster_human_grunt_ally"
}

View File

@ -0,0 +1,8 @@
entityDef monster_human_medic_ally
{
"spawnclass" "NSTalkMonster"
"inherit" "monster_human_grunt_ally"
"model" "models/hgrunt_medic.mdl"
"health" "skill:medic_ally_health"
}

View File

@ -0,0 +1,9 @@
entityDef monster_human_torch_ally
{
"spawnclass" "NSTalkMonster"
"inherit" "monster_human_grunt_ally"
"model" "models/hgrunt_torch.mdl"
"health" "skill:torch_ally_health"
}

View File

@ -0,0 +1,149 @@
entityDef monster_male_assassin
{
"spawnclass" "NSTalkMonster"
"model" "models/massn.mdl"
"netname" "Black Ops Male Assaassin"
"health" "skill:massassin_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "1"
"propdata" "actor_human"
"speed_walk" "41"
"speed_run" "304"
// melee attack
"def_attack_melee" "melee_massassin_kick"
"attack_melee_range" "96"
"snd_melee_attack" "monster_male_assassin.kick"
// primary ranged attack
"def_attack_ranged" "ranged_massassin_mp5"
"snd_ranged_attack" "weapon_mp5.shoot"
"attack_ranged_range" "1024"
"reload_count" "30"
// special attack
"def_attack_special_1" "projectile_massassin_grenade"
"attack_special_range" "1024"
"projectile_delay" "1.0"
"snd_idle" "monster_male_assassin.idle"
"snd_pain" "monster_male_assassin.pain"
"snd_death" "monster_male_assassin.die"
"snd_reload" "monster_male_assassin.reload"
"snd_thud" "monster_generic.thud"
"weapons" "3"
"squad_leader_body" "1:2"
// grenade launcher
when "weapons" contains 4 {
"body1" "4"
"def_attack_special_1" "projectile_massassin_ARgrenade"
"skin" "1"
}
// shotgun grunt
when "weapons" contains 8 {
"body2" "2"
"reload_count" "8"
"snd_ranged_attack" "weapon_shotgun.single"
"def_attack_ranged" "ranged_massassin_shot"
}
when "spawnflags" contains 32 {
"squad_leader" "1"
}
}
entityDef melee_massassin_kick
{
"damage" "skill:massassin_kick"
"delay" "0.25"
}
entityDef ranged_massassin_mp5
{
"damage" "skill:massassin_dmg_shot"
"burst" "3"
"burst_delay" "0.5"
"delay" "0.1"
}
entityDef ranged_massassin_shot
{
"damage" "skill:massassin_dmg_shot"
"delay" "1.0"
}
entityDef projectile_massassin_ARgrenade
{
"spawnclass" "NSProjectile"
"model" "models/grenade.mdl"
"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"
"model_detonate" "fx_explosion.main"
"light_color" "1 0.8 0.4"
"light_radius" "160"
"light_offset" "0 0 0"
"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"
}
entityDef projectile_massassin_grenade
{
"spawnclass" "NSProjectile"
"model" "models/w_grenade.mdl"
"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"
"model_detonate" "fx_explosion.main"
"light_color" "1 0.8 0.4"
"light_radius" "160"
"light_offset" "0 0 0"
"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"
}
entityDef damage_grenadeSplash
{
"damage" "150"
"radius" "160"
}

View File

@ -0,0 +1,7 @@
entityDef monster_assassin_repel
{
"spawnclass" "NSTalkMonster"
"model" "models/massn.mdl"
"inherit" "monster_male_assassin"
}

View File

@ -0,0 +1,15 @@
entityDef monster_op4loader
{
"spawnclass" "NSMonster"
"model" "models/loader.mdl"
"netname" "Black Mesa Loader"
"health" "0"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "128"
"team" "0"
"propdata" "actor_human"
"speed_walk" "0"
"speed_run" "0"
}

View File

@ -0,0 +1,88 @@
entityDef monster_otis
{
"spawnclass" "NSTalkMonster"
"model" "models/otis.mdl"
"netname" "Otis"
"health" "skill:otis_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"def_attack_ranged" "ranged_otis_shot"
"attack_ranged_range" "1024"
"reload_count" "18"
"follow_on_use" "1"
"weapon_drawn" "0"
"body_on_draw" "1:2"
"speed_walk" "64"
"speed_run" "364"
"snd_pain" "monster_otis.pain"
"snd_death" "monster_otis.die"
"snd_ranged_attack" "weapon_deagle.fire"
"snd_reload" "monster_human_grunt.reload"
"snd_thud" "monster_generic.thud"
"talk_answer" "!OT_ANSWER"
"talk_ask" "!OT_QUESTION"
"talk_ally_shoot" "!OT_SHOOT"
"talk_idle" "!OT_IDLE"
"talk_hearing" "!OT_HEAR"
"talk_smelling" "!OT_SMELL"
"talk_stare" "!OT_STARE"
"talk_survived" "!OT_MORTAL"
"talk_wounded" "!OT_WOUND"
"talk_player_ask" "!OT_QUESTION"
"talk_player_greet" "!OT_HELLO"
"talk_player_idle" "!OT_IDLE"
"talk_player_wounded1" "!OT_CUREA"
"talk_player_wounded2" "!OT_CUREB"
"talk_player_wounded3" "!OT_CUREC"
"talk_unfollow" "!OT_WAIT"
"talk_follow" "!OT_OK"
"talk_stop_follow" "!OT_STOP"
"talk_deny_follow" "!OT_POK"
"head" "-1"
"bodystate" "-1"
// pre-disaster
when "spawnflags" equals "256" {
"follow_on_use" "0"
}
// Heads
// Bald
when "head" equals 0 {
"body2" "2"
}
// Hair
when "head" equals 1 {
"body2" "0"
}
// Weapons
// Holstered
when "bodystate" equals 0 {
"body1" "1"
}
// Drawn
when "bodystate" equals 1 {
"body1" "2"
}
// Donut
when "bodystate" equals 3 {
"body1" "3"
}
}
entityDef ranged_otis_shot
{
"damage" "skill:otis_dmg_shot"
"delay" "0.5"
}

View File

@ -0,0 +1,34 @@
entityDef monster_otis_dead
{
"spawnclass" "NSMonster"
"model" "models/otis.mdl"
"netname" "Dead Otis"
"health" "skill:otis_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"team" "0"
"propdata" "actor_human"
"dead" "1"
"frame" "35"
// Side
when "pose" equals "1" {
"frame" "36"
}
// Stomach
when "pose" equals "1" {
"frame" "37"
}
// Stuffed in Vent
when "pose" equals "1" {
"frame" "38"
}
// Sitting
when "pose" equals "1" {
"frame" "39"
}
}

View File

@ -0,0 +1,108 @@
entityDef monster_pitdrone
{
"spawnclass" "NSMonster"
"model" "models/pit_drone.mdl"
"netname" "Pit Drone"
"health" "skill:pitdrone_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "46"
"speed_run" "292"
"def_attack_melee" "melee_pitdrone_punch"
"attack_melee_range" "96"
"attack_ranged_range" "384"
"snd_sight" "monster_pitdrone.alert"
"snd_idle" "monster_pitdrone.idle"
"snd_pain" "monster_pitdrone.pain"
"snd_melee_attack" "monster_pitdrone.attack"
"snd_melee_attack_hit" "monster_zombie.attackhit"
"snd_melee_attack_miss" "monster_zombie.attackmiss"
"snd_thud" "monster_generic.thud"
// animation event callbacks
events {
1 "SpawnProjectileDef" "ranged_pitdrone_spike"
1 "StartSoundDef" "monster_pitdrone.shoot"
}
// Ammo
"reload_delay" "1.5"
"initammo" "6" // Opfor Only
"reload_count" "6"
// Spike Counter
when "initammo" equals 0 {
"body1" "0"
"ammo_start" "0"
"reserve_ammo" "0"
}
when "initammo" equals 1 {
"body1" "7"
"ammo_start" "1"
}
when "initammo" equals 2 {
"body1" "6"
"ammo_start" "2"
}
when "initammo" equals 3 {
"body1" "5"
"ammo_start" "3"
}
when "initammo" equals 4 {
"body1" "4"
"ammo_start" "4"
}
when "initammo" equals 5 {
"body1" "3"
"ammo_start" "5"
}
when "initammo" equals 6 {
"body1" "2"
"ammo_start" "6"
}
}
entityDef melee_pitdrone_punch
{
"damage" "skill:pitdrone_dmg_bite"
"delay" "1.0f"
}
entityDef ranged_pitdrone_spike
{
"spawnclass" "NSProjectile"
"model" "models/pit_drone_spike.mdl"
"def_damage" "damage_spikeDirect"
"health" "0"
"velocity" "1000"
"fuse" "10"
"detonate_on_fuse" "0"
"detonate_on_death" "0"
"detonate_on_world" "0"
"detonate_on_actor" "1"
"impact_damage_effect" "1"
"impact_gib" "0"
"snd_explode" "weapon_crossbow.hit"
// TODO need a sound bodyhit field
}
entityDef damage_spikeDirect
{
damage "skill:pitdrone_dmg_spit"
}

View File

@ -0,0 +1,15 @@
entityDef monster_pitworm
{
"spawnclass" "NSMonster"
"model" "models/pit_worm_up.mdl"
"netname" "Pit Worm"
"health" "skill:pitworm_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "480"
"team" "2"
"propdata" "actor_alien"
"speed_walk" "0"
"speed_run" "0"
}

View File

@ -0,0 +1,5 @@
entityDef monster_pitworm_up
{
"spawnclass" "NSMonster"
"inherit" "monster_pitworm"
}

View File

@ -0,0 +1,22 @@
entityDef monster_recruit
{
"spawnclass" "NSTalkMonster"
"model" "models/recruit.mdl"
"netname" "Military Recruit"
"health" "skill:recruit_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"speed_walk" "64"
"speed_run" "364"
"snd_pain" "monster_recruit.pain"
"snd_death" "monster_recruit.die"
"talk_deny_follow" "!FG_HELLO2"
"follow_on_use" "0"
}

View File

@ -0,0 +1,15 @@
entityDef monster_shockroach
{
"spawnclass" "NSMonster"
"inherit" "monster_headcrab"
"model" "models/w_shock_rifle.mdl"
"netname" "Shock Roach"
"health" "skill:shockroach_health"
"leap_damage" "skill:shockroach_dmg_bite"
events {
jump "AddVelocity" "512 0 250"
jump_variation1 "AddVelocity" "512 0 250"
jump_variation2 "AddVelocity" "512 0 250"
}
}

View File

@ -0,0 +1,99 @@
entityDef monster_shocktrooper
{
"spawnclass" "NSTalkMonster"
"model" "models/strooper.mdl"
"netname" "Shock Trooper"
"health" "skill:shocktrooper_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "1"
"propdata" "actor_alien"
"speed_walk" "41"
"speed_run" "304"
// melee attack
"def_attack_melee" "melee_shocktrooper_kick"
"attack_melee_range" "96"
"snd_melee_attack" "monster_human_grunt.kick"
// primary ranged attack
"def_attack_ranged" "ranged_shocktrooper_mp5"
"snd_ranged_attack" "weapon_mp5.shoot"
"attack_ranged_range" "1024"
"reload_count" "30"
// special attack
"def_attack_special_1" "projectile_shocktrooper_grenade"
"attack_special_range" "1024"
"projectile_delay" "1.0"
"snd_pain" "monster_shocktrooper.pain"
"snd_death" "monster_shocktrooper.die"
"snd_thud" "monster_generic.thud"
"talk_alert" "!ST_ALERT"
"talk_idle" "!ST_IDLE"
"weapons" "3"
"squad_leader_body" "1:2"
when "spawnflags" contains 32 {
"squad_leader" "1"
}
}
entityDef melee_shocktrooper_kick
{
"damage" "skill:shocktrooper_kick"
"delay" "0.25"
}
entityDef ranged_shocktrooper_mp5
{
"damage" "skill:shocktrooper_pellets"
"burst" "3"
"burst_delay" "0.5"
"delay" "0.1"
}
entityDef ranged_shocktrooper_shot
{
"damage" "skill:shocktrooper_shock"
"delay" "1.0"
}
entityDef projectile_shocktrooper_grenade
{
"spawnclass" "NSProjectile"
"model" "models/spore.mdl"
"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" "1"
"detonate_on_world" "0"
"detonate_on_actor" "1"
"impact_damage_effect" "1"
"impact_gib" "1"
"model_detonate" "fx_explosion.main"
"snd_explode" "weapon_sporelauncher.explode"
"snd_bounce" "weapon_sporelauncher.bounce"
}
entityDef damage_grenadeSplash
{
"damage" "150"
"radius" "160"
}

View File

@ -0,0 +1,46 @@
entityDef monster_sitting_cleansuit_scientist
{
"spawnclass" "NSTalkMonster"
"model" "models/scientist.mdl"
"netname" "Seated Scientist"
"health" "skill:scientist_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"frame" "75"
when "body" equals "1" {
"pitch" "105"
"netname" "Walter"
"body1" "1"
}
when "body" equals "2" {
"pitch" "100"
"netname" "Einstein"
"body1" "2"
}
when "body" equals "3" {
"pitch" "95"
"netname" "Luther"
"skin" "1"
"body1" "3"
}
when "body" equals "4" {
"pitch" "105"
"netname" "Slick"
"body1" "4"
}
"talk_ask" ""
"talk_player_ask" "!SC_PQUEST"
"talk_player_greet" "!SC_PHELLO"
"talk_player_idle" "!SC_PIDLE"
"follow_on_use" "0"
}

View File

@ -0,0 +1,9 @@
entityDef monster_zombie_barney
{
"spawnclass" "NSMonster"
"inherit" "monster_zombie"
"netname" "Zombie Barney"
"health" "skill:zombie_barney_health"
"model" "models/zombie_barney.mdl"
}

View File

@ -0,0 +1,8 @@
entityDef monster_zombie_soldier
{
"spawnclass" "NSMonster"
"inherit" "monster_zombie"
"netname" "Zombie Soldier"
"health" "skill:zombie_soldier_health"
"model" "models/zombie_soldier.mdl"
}

View File

@ -0,0 +1,18 @@
entityDef monster_zombie_soldier_dead
{
"spawnclass" "NSMonster"
"netname" "Dead Zombie Soldier"
"model" "models/zombie_soldier.mdl"
"health" "skill:zombie_soldier_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"propdata" "actor_alien"
"dead" "1"
"frame" "20"
// Stomach
when "pose" equals "1" {
"frame" "21"
}
}

View File

@ -0,0 +1,30 @@
include "monsters/alien_babyvoltigore.def"
include "monsters/alien_voltigore.def"
include "monsters/blkop_apache.def"
include "monsters/blkop_osprey.def"
include "monsters/cleansuit_scientist.def"
include "monsters/cleansuit_scientist_dead.def"
include "monsters/drillsergeant.def"
include "monsters/geneworm.def"
include "monsters/gonome.def"
include "monsters/gonome_dead.def"
include "monsters/human_grunt_ally.def"
include "monsters/human_grunt_ally_dead.def"
include "monsters/human_grunt_ally_repel.def"
include "monsters/human_medic_ally.def"
include "monsters/human_torch_ally.def"
include "monsters/male_assassin.def"
include "monsters/male_assassin_repel.def"
include "monsters/op4loader.def"
include "monsters/otis.def"
include "monsters/otis_dead.def"
include "monsters/pitdrone.def"
include "monsters/pitworm.def"
include "monsters/pitworm_up.def"
include "monsters/recruit.def"
include "monsters/shockroach.def"
include "monsters/shocktrooper.def"
include "monsters/sitting_cleansuit_scientist.def"
include "monsters/zombie_barney.def"
include "monsters/zombie_soldier.def"
include "monsters/zombie_soldier_dead.def"

View File

@ -1 +1,14 @@
exec skill_valve.cfg
exec skill_valve.cfg
exec skillopfor.cfg
set sk_drillsergeant_health1 "10"
set sk_drillsergeant_health2 "10"
set sk_drillsergeant_health3 "10"
set sk_massassin_dmg_shot1 "10"
set sk_massassin_dmg_shot2 "12"
set sk_massassin_dmg_shot3 "15"
set sk_oits_dmg_shot1 "10"
set sk_oits_dmg_shot2 "12"
set sk_oits_dmg_shot3 "15"
set sk_recruit_health1 "10"
set sk_recruit_health2 "10"
set sk_recruit_health3 "10"

View File

@ -0,0 +1,163 @@
monster_drillsergeant.die
{
sample "fgrunt/death1.wav"
sample "fgrunt/death2.wav"
sample "fgrunt/death3.wav"
}
monster_drillsergeant.pain
{
sample "fgrunt/pain1.wav"
sample "fgrunt/pain2.wav"
sample "fgrunt/pain3.wav"
sample "fgrunt/pain4.wav"
sample "fgrunt/pain5.wav"
sample "fgrunt/pain6.wav"
}
monster_gonome.alert
{
pitch 0.9
sample "zombie/zo_alert10.wav"
sample "zombie/zo_alert20.wav"
sample "zombie/zo_alert30.wav"
}
monster_gonome.attack
{
sample "gonome/gonome_melee1.wav"
sample "gonome/gonome_melee2.wav"
}
monster_gonome.attackhit
{
sample "zombie/claw_strike1.wav"
sample "zombie/claw_strike2.wav"
sample "zombie/claw_strike3.wav"
}
monster_gonome.attackmiss
{
sample "zombie/claw_miss1.wav"
sample "zombie/claw_miss2.wav"
}
monster_gonome.gutshit
{
sample "bullchicken/bc_spithit1.wav"
}
monster_gonome.pain
{
sample "gonome/gonome_pain1.wav"
sample "gonome/gonome_pain2.wav"
sample "gonome/gonome_pain3.wav"
sample "gonome/gonome_pain4.wav"
}
monster_human_grunt_ally.pain
{
sample "fgrunt/pain1.wav"
sample "fgrunt/pain2.wav"
sample "fgrunt/pain3.wav"
sample "fgrunt/pain4.wav"
sample "fgrunt/pain5.wav"
sample "fgrunt/pain6.wav"
}
monster_human_grunt_ally.die
{
sample "fgrunt/death1.wav"
sample "fgrunt/death2.wav"
sample "fgrunt/death3.wav"
}
monster_pitdrone.alert
{
sample "pitdrone/pit_drone_alert1.wav"
sample "pitdrone/pit_drone_alert2.wav"
sample "pitdrone/pit_drone_alert3.wav"
}
monster_pitdrone.attack
{
sample "pitdrone/pit_drone_melee_attack1.wav"
sample "pitdrone/pit_drone_melee_attack2.wav"
}
monster_pitdrone.communicate
{
sample "pitdrone/pit_drone_melee_communicate1.wav"
sample "pitdrone/pit_drone_melee_communicate2.wav"
sample "pitdrone/pit_drone_melee_communicate3.wav"
sample "pitdrone/pit_drone_melee_communicate4.wav"
}
monster_pitdrone.eat
{
sample "pitdrone/pit_drone_eat.wav"
}
monster_pitdrone.hunt
{
sample "pitdrone/pit_drone_hunt1.wav"
sample "pitdrone/pit_drone_hunt2.wav"
sample "pitdrone/pit_drone_hunt3.wav"
}
monster_pitdrone.idle
{
sample "pitdrone/pit_drone_idle1.wav"
sample "pitdrone/pit_drone_idle2.wav"
sample "pitdrone/pit_drone_idle3.wav"
}
monster_pitdrone.pain
{
sample "pitdrone/pit_drone_pain1.wav"
sample "pitdrone/pit_drone_pain2.wav"
sample "pitdrone/pit_drone_pain3.wav"
}
monster_pitdrone.shoot
{
sample "pitdrone/pit_drone_attack_spike1.wav"
sample "pitdrone/pit_drone_attack_spike2.wav"
}
monster_recruit.die
{
sample "fgrunt/death1.wav"
sample "fgrunt/death2.wav"
sample "fgrunt/death3.wav"
}
monster_recruit.pain
{
sample "fgrunt/pain1.wav"
sample "fgrunt/pain2.wav"
sample "fgrunt/pain3.wav"
sample "fgrunt/pain4.wav"
sample "fgrunt/pain5.wav"
sample "fgrunt/pain6.wav"
}
monster_shocktrooper.pain
{
sample "shocktrooper/shock_trooper_pain1.wav"
sample "shocktrooper/shock_trooper_pain2.wav"
sample "shocktrooper/shock_trooper_pain3.wav"
sample "shocktrooper/shock_trooper_pain4.wav"
sample "shocktrooper/shock_trooper_pain5.wav"
}
monster_shocktrooper.die
{
sample "shocktrooper/shock_trooper_die1.wav"
sample "shocktrooper/shock_trooper_die2.wav"
sample "shocktrooper/shock_trooper_die3.wav"
sample "shocktrooper/shock_trooper_die4.wav"
}

View File

@ -0,0 +1,38 @@
weapon_deagle.fire
{
alerts
sample "weapons/de_shot1.wav"
}
weapon_m249.fire
{
alerts
sample "weapons/saw_fire1.wav"
sample "weapons/saw_fire2.wav"
sample "weapons/saw_fire3.wav"
}
weapon_pipewrench.big_hit
{
alerts
pitch 1.2
sample "weapons/pwrench_big_hit1.wav"
}
weapon_pipewrench.hit
{
alerts
sample "weapons/pwrench_hit1.wav"
sample "weapons/pwrench_hit2.wav"
}
weapon_sporelauncher.bounce
{
sample "weapons/splauncher_bounce.wav"
}
weapon_sporelauncher.explode
{
alerts
sample "weapons/splauncher_impact.wav"
}