22 bool allow_any =
boolean(monster ==
"anyrandom");
24 if(monster ==
"random" || allow_any)
29 RandomSelection_AddEnt(it, 1, 1);
34 else if(monster !=
"")
37 FOREACH(Monsters, it != MON_Null,
39 if(it.netname == monster)
47 if(!found && monster_id == MON_Null)
57 return spawnmonster(e,
"random", MON_Null, spawnedby, own, orig, respwn, removeifinvalid, moveflag);
62 e.realowner = spawnedby;
65 e.monster_moveflags = moveflag;
70 e.team = spawnedby.team;
73 e.monster_follow = own;
75 e.angles_y = spawnedby.angles_y;
const int MON_FLAG_HIDDEN
entity spawnmonster(entity e, string monster, Monster monster_id, entity spawnedby, entity own, vector orig, bool respwn, bool removeifinvalid, int moveflag)
ERASEABLE void RandomSelection_Init()
const int MONSTERFLAG_NORESPAWN
bool autocvar_g_monsters_teams
entity RandomSelection_chosen_ent
vector(float skel, float bonenum) _skel_get_boneabs_hidden
bool autocvar_g_monsters_owners
bool Monster_Spawn(entity this, bool check_appear, Monster mon)
const int MONSTER_TYPE_PASSIVE
#define FOREACH(list, cond, body)
const int MONSTERFLAG_SPAWNED