// balls += 4; // using the remaining bits to count balls will leave more than the max edict count, so it's fine
- if(!self.model)
+ if(self.model == "")
{
self.model = "models/nexball/ball.md3";
self.scale = 1.3;
if(!autocvar_g_nexball_sound_bounce)
self.noise = "";
- else if(!self.noise)
+ else if(self.noise == "")
self.noise = "sound/nexball/bounce.wav";
//bounce sound placeholder (FIXME)
- if(!self.noise1)
+ if(self.noise1 == "")
self.noise1 = "sound/nexball/drop.wav";
//ball drop sound placeholder (FIXME)
- if(!self.noise2)
+ if(self.noise2 == "")
self.noise2 = "sound/nexball/steal.wav";
//stealing sound placeholder (FIXME)
if(self.noise) precache_sound(self.noise);
}
EXACTTRIGGER_INIT;
self.classname = "nexball_goal";
- if(!self.noise)
+ if(self.noise == "")
self.noise = "ctf/respawn.wav";
precache_sound(self.noise);
self.touch = GoalTouch;
void spawnfunc_nexball_fault(void)
{
self.team = GOAL_FAULT;
- if(!self.noise)
+ if(self.noise == "")
self.noise = "misc/typehit.wav";
SpawnGoal();
}
void spawnfunc_nexball_out(void)
{
self.team = GOAL_OUT;
- if(!self.noise)
+ if(self.noise == "")
self.noise = "misc/typehit.wav";
SpawnGoal();
}
}
}
+
+ nexball_setstatus();
+
return FALSE;
}
return FALSE;
}
+MUTATOR_HOOKFUNCTION(nexball_SetStartItems)
+{
+ start_items |= IT_UNLIMITED_SUPERWEAPONS; // FIXME BAD BAD BAD BAD HACK, NEXBALL SHOULDN'T ABUSE PORTO'S WEAPON SLOT
+
+ return FALSE;
+}
+
MUTATOR_DEFINITION(gamemode_nexball)
{
MUTATOR_HOOK(PlayerDies, nexball_BallDrop, CBC_ORDER_ANY);
MUTATOR_HOOK(BuildMutatorsString, nexball_BuildMutatorsString, CBC_ORDER_ANY);
MUTATOR_HOOK(PlayerSpawn, nexball_PlayerSpawn, CBC_ORDER_ANY);
MUTATOR_HOOK(PlayerPreThink, nexball_PlayerPreThink, CBC_ORDER_ANY);
+ MUTATOR_HOOK(SetStartItems, nexball_SetStartItems, CBC_ORDER_ANY);
MUTATOR_ONADD
{