From 041d3a1eb59bfa63027bdb59cab1a56a377ef171 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 2 Sep 2013 11:14:05 +1000 Subject: [PATCH] Don't switch to trace entity (causes issues in modes where some targets should not be attacked) --- qcsrc/common/monsters/monster/spider.qc | 1 + qcsrc/common/monsters/sv_monsters.qc | 5 ++--- qcsrc/server/mutators/gamemode_invasion.qc | 3 --- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/qcsrc/common/monsters/monster/spider.qc b/qcsrc/common/monsters/monster/spider.qc index 612affd0c..f2850c147 100644 --- a/qcsrc/common/monsters/monster/spider.qc +++ b/qcsrc/common/monsters/monster/spider.qc @@ -201,6 +201,7 @@ float m_spider(float req) } case MR_INIT: { + precache_model ("models/ice/ice.md3"); precache_sound ("weapons/electro_fire2.wav"); precache_sound ("weapons/fireball_fire.wav"); return TRUE; diff --git a/qcsrc/common/monsters/sv_monsters.qc b/qcsrc/common/monsters/sv_monsters.qc index f73083ba1..693960180 100644 --- a/qcsrc/common/monsters/sv_monsters.qc +++ b/qcsrc/common/monsters/sv_monsters.qc @@ -66,9 +66,6 @@ float monster_isvalidtarget (entity targ, entity ent) traceline(ent.origin, targ.origin, MOVE_NORMAL, ent); if(trace_ent != targ) - if(trace_ent) - targ = trace_ent; - else return FALSE; if(targ.vehicle_flags & VHF_ISVEHICLE) @@ -138,6 +135,7 @@ entity FindTarget (entity ent) while(head) // find the closest acceptable target to pass to { + if(head.monster_attack) if(monster_isvalidtarget(head, ent)) { // if it's a player, use the view origin as reference (stolen from RadiusDamage functions in g_damage.qc) @@ -917,6 +915,7 @@ void monster_die() self.movetype = MOVETYPE_TOSS; self.moveto = self.origin; self.touch = MonsterTouch; // reset incase monster was pouncing + self.reset = func_null; if not(self.flags & FL_FLY) self.velocity = '0 0 0'; diff --git a/qcsrc/server/mutators/gamemode_invasion.qc b/qcsrc/server/mutators/gamemode_invasion.qc index af717a138..ab8bbd2f7 100644 --- a/qcsrc/server/mutators/gamemode_invasion.qc +++ b/qcsrc/server/mutators/gamemode_invasion.qc @@ -218,9 +218,6 @@ MUTATOR_HOOKFUNCTION(invasion_PlayerDamage) frag_force = '0 0 0'; } - if(frag_attacker.flags & FL_MONSTER && frag_target.flags & FL_MONSTER && frag_attacker != frag_target) - frag_damage = 0; - return FALSE; } -- 2.39.2