// =========================
-void M_Item_Touch ()
-{
- if(self && IS_PLAYER(other) && other.deadflag == DEAD_NO)
- {
- Item_Touch();
- self.think = SUB_Remove;
- self.nextthink = time + 0.1;
- }
-}
-
void monster_item_spawn()
{
if(self.monster_loot)
self.gravity = 1;
self.velocity = randomvec() * 175 + '0 0 325';
- self.touch = M_Item_Touch;
+ self.classname = "droppedweapon"; // hax
SUB_SetFade(self, time + autocvar_g_monsters_drop_time, 1);
}
MUTATOR_CALLHOOK(MonsterDropItem);
e = other;
- e.think = monster_item_spawn;
- e.nextthink = time + 0.3;
+ if(e)
+ {
+ e.think = monster_item_spawn;
+ e.nextthink = time + 0.3;
+ }
}
void monsters_setframe(float _frame)
if(targ.BUTTON_CHAT)
return FALSE; // no typefragging!
- if not(IsDifferentTeam(targ, ent))
+ if(SAME_TEAM(targ, ent))
return FALSE; // enemy is on our team
if(autocvar_g_monsters_target_infront || ent.spawnflags & MONSTERFLAG_INFRONT)
if(teamplay)
if(autocvar_g_monsters_teams)
- if(IsDifferentTeam(self.monster_owner, self))
+ if(DIFF_TEAM(self.monster_owner, self))
self.monster_owner = world;
if(self.enemy && self.enemy.health < 1)
W_ThrowNewWeapon(self, self.weapon, 0, self.origin, randomvec() * 150 + '0 0 325');
if(IS_CLIENT(self.realowner))
+ if not(self.monster_respawned)
self.realowner.monstercount -= 1;
self.event_damage = monsters_corpse_damage;