From da06bf6d4869aed91580314c672690271ada9467 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 14 Apr 2013 02:54:22 +1000 Subject: [PATCH] Add sounds support to every monster --- qcsrc/server/monsters/lib/monsters.qc | 10 ++++++++++ qcsrc/server/monsters/monster/demon.qc | 2 ++ qcsrc/server/monsters/monster/dog.qc | 2 ++ qcsrc/server/monsters/monster/enforcer.qc | 2 ++ qcsrc/server/monsters/monster/fish.qc | 2 ++ qcsrc/server/monsters/monster/hknight.qc | 2 ++ qcsrc/server/monsters/monster/knight.qc | 2 ++ qcsrc/server/monsters/monster/ogre.qc | 2 ++ qcsrc/server/monsters/monster/shalrath.qc | 2 ++ qcsrc/server/monsters/monster/shambler.qc | 2 ++ qcsrc/server/monsters/monster/soldier.qc | 2 ++ qcsrc/server/monsters/monster/spider.qc | 2 ++ qcsrc/server/monsters/monster/tarbaby.qc | 2 ++ qcsrc/server/monsters/monster/wizard.qc | 2 ++ qcsrc/server/monsters/monster/zombie.qc | 8 +------- 15 files changed, 37 insertions(+), 7 deletions(-) diff --git a/qcsrc/server/monsters/lib/monsters.qc b/qcsrc/server/monsters/lib/monsters.qc index bf12cb4e8..50cb7fc15 100644 --- a/qcsrc/server/monsters/lib/monsters.qc +++ b/qcsrc/server/monsters/lib/monsters.qc @@ -182,6 +182,16 @@ void monster_precachesounds(entity e) precache_sound(e.msound_pain); } +void monster_setupsounds(string mon) +{ + if(self.msound_idle == "") self.msound_idle = strzone(strcat("monsters/", mon, "_idle.wav")); + if(self.msound_death == "") self.msound_death = strzone(strcat("monsters/", mon, "_death.wav")); + if(self.msound_pain == "") self.msound_pain = strzone(strcat("monsters/", mon, "_pain.wav")); + if(self.msound_attack_melee == "") self.msound_attack_melee = strzone(strcat("monsters/", mon, "_melee.wav")); + if(self.msound_attack_ranged == "") self.msound_attack_ranged = strzone(strcat("monsters/", mon, "_attack.wav")); + if(self.msound_sight == "") self.msound_sight = strzone(strcat("monsters/", mon, "_sight.wav")); +} + void monster_melee (entity targ, float damg, float er, float deathtype, float dostop) { float bigdmg, dot, rdmg = damg * random(); diff --git a/qcsrc/server/monsters/monster/demon.qc b/qcsrc/server/monsters/monster/demon.qc index a417dd8b2..ecf8c8418 100644 --- a/qcsrc/server/monsters/monster/demon.qc +++ b/qcsrc/server/monsters/monster/demon.qc @@ -98,6 +98,8 @@ void demon_spawn () monsters_setframe(demon_anim_stand); + monster_setupsounds("demon"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/dog.qc b/qcsrc/server/monsters/monster/dog.qc index 66385e4ae..8a9b306ef 100644 --- a/qcsrc/server/monsters/monster/dog.qc +++ b/qcsrc/server/monsters/monster/dog.qc @@ -92,6 +92,8 @@ void dog_spawn () self.sprite_height = 20; monsters_setframe(dog_anim_idle); + monster_setupsounds("dog"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/enforcer.qc b/qcsrc/server/monsters/monster/enforcer.qc index d9720258c..1f8b176b4 100644 --- a/qcsrc/server/monsters/monster/enforcer.qc +++ b/qcsrc/server/monsters/monster/enforcer.qc @@ -121,6 +121,8 @@ void enforcer_spawn () monsters_setframe(enforcer_anim_stop); + monster_setupsounds("enforcer"); + setmodel(self, ENFORCER_MODEL); // for weapon entity self.weaponentity = spawn(); diff --git a/qcsrc/server/monsters/monster/fish.qc b/qcsrc/server/monsters/monster/fish.qc index afbb13baa..82cf6162a 100644 --- a/qcsrc/server/monsters/monster/fish.qc +++ b/qcsrc/server/monsters/monster/fish.qc @@ -63,6 +63,8 @@ void fish_spawn () self.think = fish_think; self.sprite_height = 20; + monster_setupsounds("fish"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/hknight.qc b/qcsrc/server/monsters/monster/hknight.qc index 780647a81..a916e60f6 100644 --- a/qcsrc/server/monsters/monster/hknight.qc +++ b/qcsrc/server/monsters/monster/hknight.qc @@ -433,6 +433,8 @@ void hellknight_spawn () monsters_setframe(hellknight_anim_stand); + monster_setupsounds("hellknight"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/knight.qc b/qcsrc/server/monsters/monster/knight.qc index 07701b659..93cbe663c 100644 --- a/qcsrc/server/monsters/monster/knight.qc +++ b/qcsrc/server/monsters/monster/knight.qc @@ -77,6 +77,8 @@ void knight_spawn () monsters_setframe(knight_anim_stand); + monster_setupsounds("knight"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/ogre.qc b/qcsrc/server/monsters/monster/ogre.qc index 2710d5855..451d89b75 100644 --- a/qcsrc/server/monsters/monster/ogre.qc +++ b/qcsrc/server/monsters/monster/ogre.qc @@ -148,6 +148,8 @@ void ogre_spawn () monsters_setframe(ogre_anim_idle); + monster_setupsounds("ogre"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/shalrath.qc b/qcsrc/server/monsters/monster/shalrath.qc index 2d481ac4f..4b836965c 100644 --- a/qcsrc/server/monsters/monster/shalrath.qc +++ b/qcsrc/server/monsters/monster/shalrath.qc @@ -274,6 +274,8 @@ void shalrath_spawn () monsters_setframe(shalrath_anim_walk); + monster_setupsounds("shalrath"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/shambler.qc b/qcsrc/server/monsters/monster/shambler.qc index 5732d79a6..15b505b03 100644 --- a/qcsrc/server/monsters/monster/shambler.qc +++ b/qcsrc/server/monsters/monster/shambler.qc @@ -167,6 +167,8 @@ void shambler_spawn () monsters_setframe(shambler_anim_stand); + monster_setupsounds("shambler"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/soldier.qc b/qcsrc/server/monsters/monster/soldier.qc index 98ff5cad9..9be7211d2 100644 --- a/qcsrc/server/monsters/monster/soldier.qc +++ b/qcsrc/server/monsters/monster/soldier.qc @@ -177,6 +177,8 @@ void soldier_spawn () monsters_setframe(soldier_anim_draw); + monster_setupsounds("soldier"); + setmodel(self, SOLDIER_MODEL); RandomSelection_Init(); diff --git a/qcsrc/server/monsters/monster/spider.qc b/qcsrc/server/monsters/monster/spider.qc index cb22046c7..be1e7b77e 100644 --- a/qcsrc/server/monsters/monster/spider.qc +++ b/qcsrc/server/monsters/monster/spider.qc @@ -174,6 +174,8 @@ void spider_spawn() monsters_setframe(spider_anim_idle); + monster_setupsounds("spider"); + if not(self.spider_type) self.spider_type = autocvar_g_monster_spider_attack_type; diff --git a/qcsrc/server/monsters/monster/tarbaby.qc b/qcsrc/server/monsters/monster/tarbaby.qc index b438de4b5..bf83d6495 100644 --- a/qcsrc/server/monsters/monster/tarbaby.qc +++ b/qcsrc/server/monsters/monster/tarbaby.qc @@ -129,6 +129,8 @@ void tarbaby_spawn () monsters_setframe(tarbaby_anim_walk); + monster_setupsounds("tarbaby"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/wizard.qc b/qcsrc/server/monsters/monster/wizard.qc index e87555f8b..b49800996 100644 --- a/qcsrc/server/monsters/monster/wizard.qc +++ b/qcsrc/server/monsters/monster/wizard.qc @@ -151,6 +151,8 @@ void wizard_spawn () self.think = wizard_think; self.sprite_height = 30; + monster_setupsounds("wizard"); + monster_hook_spawn(); // for post-spawn mods } diff --git a/qcsrc/server/monsters/monster/zombie.qc b/qcsrc/server/monsters/monster/zombie.qc index 48ab86c16..99e38ab20 100644 --- a/qcsrc/server/monsters/monster/zombie.qc +++ b/qcsrc/server/monsters/monster/zombie.qc @@ -141,13 +141,7 @@ void zombie_spawn() if not(self.monster_respawned) self.skin = rint(random() * 4); - // some sounds - if(self.msound_idle == "") self.msound_idle = "monsters/zombie_idle.wav"; - if(self.msound_death == "") self.msound_death = "monsters/zombie_death.wav"; - if(self.msound_pain == "") self.msound_pain = "monsters/zombie_pain.wav"; - if(self.msound_attack_melee == "") self.msound_attack_melee = "monsters/zombie_melee.wav"; - if(self.msound_attack_ranged == "") self.msound_attack_ranged = "monsters/zombie_attack.wav"; - if(self.msound_sight == "") self.msound_sight = "monsters/zombie_sight.wav"; + monster_setupsounds("zombie"); monster_hook_spawn(); // for post-spawn mods } -- 2.39.2