X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_invasion.qc;h=5209b225f1084629f085a6cf65b9cc0b86ef7a22;hb=a8cc9eb71b0d0e44e9a968a9cf5554f6226cc838;hp=33966bbe7695fdae5e9c61560dd243a70ee5b53d;hpb=8b38ad6987192a2129a7aa55410fd6d729425a28;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/gamemode_invasion.qc b/qcsrc/server/mutators/gamemode_invasion.qc index 33966bbe7..5209b225f 100644 --- a/qcsrc/server/mutators/gamemode_invasion.qc +++ b/qcsrc/server/mutators/gamemode_invasion.qc @@ -6,15 +6,17 @@ #include "../../common/monsters/spawn.qh" #include "../../common/monsters/sv_monsters.qh" -void spawnfunc_invasion_spawnpoint() +spawnfunc(invasion_spawnpoint) { if(!g_invasion) { remove(self); return; } self.classname = "invasion_spawnpoint"; if(autocvar_g_invasion_zombies_only) // precache only if it hasn't been already - if(self.monsterid) - MON_ACTION(self.monsterid, MR_PRECACHE); + if(self.monsterid) { + Monster mon = get_monsterinfo(self.monsterid); + mon.mr_precache(mon); + } } float invasion_PickMonster(float supermonster_count) @@ -62,7 +64,7 @@ void invasion_SpawnChosenMonster(float mon) if(spawn_point == world) { - dprint("Warning: couldn't find any invasion_spawnpoint spawnpoints, attempting to spawn monsters in random locations\n"); + LOG_TRACE("Warning: couldn't find any invasion_spawnpoint spawnpoints, attempting to spawn monsters in random locations\n"); entity e = spawn(); setsize(e, (get_monsterinfo(mon)).mins, (get_monsterinfo(mon)).maxs); @@ -126,7 +128,7 @@ float Invasion_CheckWinner() if(round_handler_GetEndTime() > 0 && round_handler_GetEndTime() - time <= 0) { FOR_EACH_MONSTER(head) - monster_remove(head); + Monster_Remove(head); Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_ROUND_OVER); Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_ROUND_OVER); @@ -203,7 +205,7 @@ float Invasion_CheckWinner() } FOR_EACH_MONSTER(head) - monster_remove(head); + Monster_Remove(head); if(teamplay) { @@ -261,7 +263,7 @@ void Invasion_RoundStart() } MUTATOR_HOOKFUNCTION(invasion_MonsterDies) -{ +{SELFPARAM(); if(!(self.spawnflags & MONSTERFLAG_RESPAWNED)) { inv_numkilled += 1; @@ -283,7 +285,7 @@ MUTATOR_HOOKFUNCTION(invasion_MonsterDies) } MUTATOR_HOOKFUNCTION(invasion_MonsterSpawn) -{ +{SELFPARAM(); if(!(self.spawnflags & MONSTERFLAG_SPAWNED)) return true; @@ -296,7 +298,7 @@ MUTATOR_HOOKFUNCTION(invasion_MonsterSpawn) self.monster_skill = inv_monsterskill; if((get_monsterinfo(self.monsterid)).spawnflags & MON_FLAG_SUPERMONSTER) - Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_INVASION_SUPERMONSTER, M_NAME(self.monsterid)); + Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_INVASION_SUPERMONSTER, self.monster_name); self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_BOTCLIP | DPCONTENTS_MONSTERCLIP; @@ -304,7 +306,7 @@ MUTATOR_HOOKFUNCTION(invasion_MonsterSpawn) } MUTATOR_HOOKFUNCTION(invasion_OnEntityPreSpawn) -{ +{SELFPARAM(); if(startsWith(self.classname, "monster_")) if(!(self.spawnflags & MONSTERFLAG_SPAWNED)) return true; @@ -327,7 +329,7 @@ MUTATOR_HOOKFUNCTION(invasion_PlayerRegen) } MUTATOR_HOOKFUNCTION(invasion_PlayerSpawn) -{ +{SELFPARAM(); self.bot_attack = false; return false; } @@ -344,7 +346,7 @@ MUTATOR_HOOKFUNCTION(invasion_PlayerDamage) } MUTATOR_HOOKFUNCTION(invasion_PlayerCommand) -{ +{SELFPARAM(); if(MUTATOR_RETURNVALUE) // command was already handled? return false; @@ -430,9 +432,10 @@ void invasion_DelayedInit() // Do this check with a delay so we can wait for tea void invasion_Initialize() { - if(autocvar_g_invasion_zombies_only) - MON_ACTION(MON_ZOMBIE.monsterid, MR_PRECACHE); - else + if(autocvar_g_invasion_zombies_only) { + Monster mon = MON_ZOMBIE; + mon.mr_precache(mon); + } else { float i; entity mon; @@ -442,7 +445,7 @@ void invasion_Initialize() if((mon.spawnflags & MONSTER_TYPE_FLY) || (mon.spawnflags & MONSTER_TYPE_SWIM)) continue; // flying/swimming monsters not yet supported - MON_ACTION(i, MR_PRECACHE); + mon.mr_precache(mon); } } @@ -483,7 +486,7 @@ MUTATOR_DEFINITION(gamemode_invasion) MUTATOR_ONREMOVE { - print("This is a game type and it cannot be removed at runtime."); + LOG_INFO("This is a game type and it cannot be removed at runtime."); return -1; }