Removed zombie.inc and created a round start core module.
This commit is contained in:
parent
d466ab8b24
commit
6e464880f4
@ -36,6 +36,7 @@
|
||||
#include "zr/playerclasses/playerclasses"
|
||||
#include "zr/weapons/weapons"
|
||||
#include "zr/hitgroups"
|
||||
#include "zr/roundstart"
|
||||
#include "zr/roundend"
|
||||
#include "zr/infect"
|
||||
#include "zr/damage"
|
||||
@ -61,9 +62,6 @@
|
||||
#include "zr/jumpboost"
|
||||
#include "zr/volfeatures/volfeatures"
|
||||
|
||||
// Almost replaced! :)
|
||||
#include "zr/zombie"
|
||||
|
||||
/**
|
||||
* Record plugin info.
|
||||
*/
|
||||
|
@ -72,6 +72,7 @@ public Action:EventRoundStart(Handle:event, const String:name[], bool:dontBroadc
|
||||
// Forward event to sub-modules.
|
||||
OverlaysOnRoundStart();
|
||||
WeaponsOnRoundStart();
|
||||
RoundStartOnRoundStart();
|
||||
RoundEndOnRoundStart();
|
||||
InfectOnRoundStart();
|
||||
SEffectsOnRoundStart();
|
||||
@ -90,8 +91,6 @@ public Action:EventRoundStart(Handle:event, const String:name[], bool:dontBroadc
|
||||
*/
|
||||
public Action:EventRoundFreezeEnd(Handle:event, const String:name[], bool:dontBroadcast)
|
||||
{
|
||||
RemoveObjectives();
|
||||
|
||||
// Forward events to modules.
|
||||
RoundEndOnRoundFreezeEnd();
|
||||
InfectOnRoundFreezeEnd();
|
||||
|
58
src/zr/roundstart.inc
Normal file
58
src/zr/roundstart.inc
Normal file
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* ============================================================================
|
||||
*
|
||||
* Zombie:Reloaded
|
||||
*
|
||||
* File: roundstart.inc
|
||||
* Type: Core
|
||||
* Description: Handles round start actions.
|
||||
*
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
/**
|
||||
* List of objective entities.
|
||||
*/
|
||||
#define ROUNDSTART_OBJECTIVE_ENTITIES "func_bomb_target|func_hostage_rescue|c4|hostage_entity"
|
||||
|
||||
/**
|
||||
* The round is starting.
|
||||
*/
|
||||
RoundStartOnRoundStart()
|
||||
{
|
||||
// Kill all objective entities.
|
||||
RoundStartKillObjectives();
|
||||
}
|
||||
|
||||
/**
|
||||
* Kills all objective entities.
|
||||
*/
|
||||
RoundStartKillObjectives()
|
||||
{
|
||||
decl String:classname[64];
|
||||
|
||||
// Get max entity count.
|
||||
new maxentities = GetMaxEntities();
|
||||
|
||||
// x = entity index.
|
||||
for (new x = 0; x <= maxentities; x++)
|
||||
{
|
||||
// If entity isn't valid, then stop.
|
||||
if(!IsValidEdict(x))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Get valid edict's classname.
|
||||
GetEdictClassname(x, classname, sizeof(classname));
|
||||
|
||||
// Check if it matches any objective entities, then stop if it doesn't.
|
||||
if(StrContains(ROUNDSTART_OBJECTIVE_ENTITIES, classname) == -1)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Entity is an objective, kill it.
|
||||
RemoveEdict(x);
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
RemoveObjectives()
|
||||
{
|
||||
decl String:classname[64];
|
||||
|
||||
new maxentities = GetMaxEntities();
|
||||
for (new x = 0; x <= maxentities; x++)
|
||||
{
|
||||
if(!IsValidEdict(x))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
GetEdictClassname(x, classname, sizeof(classname));
|
||||
if( StrEqual(classname, "func_bomb_target") ||
|
||||
StrEqual(classname, "func_hostage_rescue") ||
|
||||
StrEqual(classname, "c4") ||
|
||||
StrEqual(classname, "hostage_entity"))
|
||||
{
|
||||
RemoveEdict(x);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user