From: Mario Date: Sun, 14 Apr 2013 01:18:06 +0000 (+1000) Subject: Fix ogre using weapons code for uzi attack X-Git-Tag: xonotic-v0.8.0~241^2^2~406 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=8cf719cdc78b2ec10e2832a12e04e54955fff136;p=xonotic%2Fxonotic-data.pk3dir.git Fix ogre using weapons code for uzi attack --- diff --git a/monsters.cfg b/monsters.cfg index 1e97c0aae..793f3e119 100644 --- a/monsters.cfg +++ b/monsters.cfg @@ -45,6 +45,9 @@ set g_monster_ogre_drop_size bullets "Size of the item Ogres drop. Possible valu set g_monster_ogre_speed_walk 100 "Ogre walk speed" set g_monster_ogre_speed_run 150 "Ogre run speed" set g_monster_ogre_attack_uzi_bullets 3 "Number of machine gun bullets Ogre fires" +set g_monster_ogre_attack_uzi_chance 0.3 "Chance for Ogre to fire machine gun" +set g_monster_ogre_attack_uzi_damage 10 "Ogre machine gun damage per bullet" +set g_monster_ogre_attack_uzi_force 5 "Ogre machine gun damage push" // Fiend set g_monster_demon 1 "Enable Fiends" diff --git a/qcsrc/server/monsters/lib/monsters.qc b/qcsrc/server/monsters/lib/monsters.qc index 50cb7fc15..9c2bd3af3 100644 --- a/qcsrc/server/monsters/lib/monsters.qc +++ b/qcsrc/server/monsters/lib/monsters.qc @@ -1008,7 +1008,7 @@ float monster_initialize(string net_name, float mon_id, self.pos2 = self.angles; self.reset = monsters_reset; self.candrop = TRUE; - self.view_ofs = '0 0 1' * self.maxs_z; + self.view_ofs = '0 0 1' * (self.maxs_z * 0.5); if not(self.ticrate) self.ticrate = autocvar_g_monsters_think_delay; diff --git a/qcsrc/server/monsters/monster/ogre.qc b/qcsrc/server/monsters/monster/ogre.qc index 4d8b70143..fb67de9b9 100644 --- a/qcsrc/server/monsters/monster/ogre.qc +++ b/qcsrc/server/monsters/monster/ogre.qc @@ -16,6 +16,9 @@ float autocvar_g_monster_ogre_chainsaw_damage; float autocvar_g_monster_ogre_speed_walk; float autocvar_g_monster_ogre_speed_run; float autocvar_g_monster_ogre_attack_uzi_bullets; +float autocvar_g_monster_ogre_attack_uzi_damage; +float autocvar_g_monster_ogre_attack_uzi_force; +float autocvar_g_monster_ogre_attack_uzi_chance; // animations const float ogre_anim_idle = 0; @@ -79,7 +82,11 @@ void ogre_uzi_fire () self.delay = -1; return; } - W_UZI_Attack(DEATH_MONSTER_OGRE_UZI); + + W_SetupShot (self, autocvar_g_antilag_bullets && 18000 >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, autocvar_g_monster_ogre_attack_uzi_damage); + fireBallisticBullet(w_shotorg, w_shotdir, 0.02, 18000, 5, autocvar_g_monster_ogre_attack_uzi_damage, autocvar_g_monster_ogre_attack_uzi_force, DEATH_MONSTER_OGRE_UZI, 0, 1, 115); + endFireBallisticBullet(); + self.delay = time + 0.1; self.monster_delayedattack = ogre_uzi_fire; } @@ -102,7 +109,7 @@ void ogre_gl () float ogre_missile () { self.ogre_cycles = 0; - if (random() <= 0.20) + if (random() <= autocvar_g_monster_ogre_attack_uzi_chance) { ogre_uzi(); return TRUE;