.float monster_attack;
.entity monster_owner; // new monster owner entity, fixes non-solid monsters
-.float monstercount; // per player monster count
.float stat_monsters_killed; // stats
.float stat_monsters_total;
void monsters_setstatus(); // monsters.qc
.float monster_moveflags; // checks where to move when not attacking
+.float wander_delay;
+.float wander_distance;
+
+.float monster_lifetime;
+
.float spider_slowness; // special spider timer
void monster_remove(entity mon); // removes a monster
_MSOUND(melee) \
_MSOUND(pain) \
_MSOUND(spawn) \
- _MSOUND(idle)
+ _MSOUND(idle)
#define _MSOUND(m) .string monstersound_##m;
ALLMONSTERSOUNDS
float GetMonsterSoundSampleField_notFound;
-.float monster_respawned; // used to make sure we're not recounting respawned monster stats
-
const float MONSTERSKILL_NOTEASY = 256; // monster will not spawn on skill <= 1
const float MONSTERSKILL_NOTMEDIUM = 512; // monster will not spawn on skill 2
const float MONSTERSKILL_NOTHARD = 1024; // monster will not spawn on skill >= 3
const float MONSTERFLAG_NORESPAWN = 4;
const float MONSTERFLAG_FLY_VERTICAL = 8; // fly/swim vertically
const float MONSTERFLAG_INFRONT = 32; // only check for enemies infront of us
-const float MONSTERFLAG_MINIBOSS = 64; // monster spawns as mini-boss (also has a chance of naturally becoming one)
+const float MONSTERFLAG_MINIBOSS = 64; // monster spawns as mini-boss (also has a chance of naturally becoming one)
+const float MONSTERFLAG_INVINCIBLE = 128; // monster doesn't take damage (may be used for map objects & temporary monsters)
const float MONSTERFLAG_SPAWNED = 16384; // flag for spawned monsters
-
-.void() monster_spawnfunc;
+const float MONSTERFLAG_RESPAWNED = 32768; // flag for re-spawned monsters
.float monster_movestate; // used to tell what the monster is currently doing
const float MONSTER_MOVE_OWNER = 1; // monster will move to owner if in range, or stand still
const float MONSTER_STATE_ATTACK_LEAP = 1;
const float MONSTER_STATE_ATTACK_MELEE = 2;
-