ball.owner = ball.pusher = plyr; //"owner" is set to the player carrying, "pusher" to the last player who touched it
ball.team = plyr.team;
plyr.ballcarried = ball;
- ball.dropperid = plyr.playerid;
+ ball.ctf_dropper = plyr;
plyr.effects |= autocvar_g_nexball_basketball_effects_default;
ball.effects &~= autocvar_g_nexball_basketball_effects_default;
ownr = self;
self = plyr;
- self.weaponentity.weapons = self.weapons;
+ WEPSET_COPY_EE(self.weaponentity, self);
self.weaponentity.switchweapon = self.weapon;
- self.weapons = W_WeaponBit(WEP_PORTO);
+ WEPSET_COPY_EW(self, WEP_PORTO);
weapon_action(WEP_PORTO, WR_RESETPLAYER);
self.switchweapon = WEP_PORTO;
W_SwitchWeapon(WEP_PORTO);
football_touch();
return;
}
- if(!self.cnt && other.classname == "player" && (other.playerid != self.dropperid || time > self.ctf_droptime + autocvar_g_nexball_delay_collect))
+ if(!self.cnt && other.classname == "player" && (other != self.ctf_dropper || time > self.ctf_droptime + autocvar_g_nexball_delay_collect))
{
if(other.health <= 0)
return;
if(nb_teams == 2)
otherteam = OtherTeam(ball.team);
+ else
+ otherteam = 0;
if((isclient = ball.pusher.flags & FL_CLIENT))
pname = ball.pusher.netname;
void nb_spawnteams(void)
{
- float t_r, t_b, t_y, t_p;
+ float t_r = 0, t_b = 0, t_y = 0, t_p = 0;
entity e;
for(e = world; (e = find(e, classname, "nexball_goal"));)
{
}
else
{
- if(self.weaponentity.weapons)
+ if(!WEPSET_EMPTY_E(self.weaponentity))
{
- self.weapons = self.weaponentity.weapons;
+ WEPSET_COPY_EE(self, self.weaponentity);
weapon_action(WEP_PORTO, WR_RESETPLAYER);
self.switchweapon = self.weaponentity.switchweapon;
W_SwitchWeapon(self.switchweapon);
- self.weaponentity.weapons = 0;
+ WEPSET_CLEAR_E(self.weaponentity);
}
}
MUTATOR_HOOKFUNCTION(nexball_PlayerSpawn)
{
- self.weaponentity.weapons = 0;
+ WEPSET_CLEAR_E(self.weaponentity);
if(nexball_mode & NBM_BASKETBALL)
- self.weapons |= W_WeaponBit(WEP_PORTO);
+ WEPSET_OR_EW(self, WEP_PORTO);
else
- self.weapons = 0; // W_WeaponBit(WEP_PORTO);
+ WEPSET_CLEAR_E(self);
return FALSE;
}
MUTATOR_ONADD
{
- g_nexball = 1;
g_nexball_meter_period = autocvar_g_nexball_meter_period;
if(g_nexball_meter_period <= 0)
g_nexball_meter_period = 2; // avoid division by zero etc. due to silly users