{
l.islinked = false;
l.isshielded = true;
- int i;
- for(i = 0; i < 17; ++i) { l.isgenneighbor[i] = false; l.iscpneighbor[i] = false; }
+ l.aregensneighbor = 0;
+ l.arecpsneighbor = 0;
LOG_DEBUG(etos(l), " (point) belongs to team ", ftos(l.team));
l.sprite.SendFlags |= 16;
}
l.enemy.isshielded = false;
}
if(l.goalentity.classname == "onslaught_generator")
- l.enemy.isgenneighbor[l.goalentity.team] = true;
+ l.enemy.aregensneighbor |= BIT(l.goalentity.team);
else
- l.enemy.iscpneighbor[l.goalentity.team] = true;
+ l.enemy.arecpsneighbor |= BIT(l.goalentity.team);
}
if (l.enemy.islinked)
{
l.goalentity.isshielded = false;
}
if(l.enemy.classname == "onslaught_generator")
- l.goalentity.isgenneighbor[l.enemy.team] = true;
+ l.goalentity.aregensneighbor |= BIT(l.enemy.team);
else
- l.goalentity.iscpneighbor[l.enemy.team] = true;
+ l.goalentity.arecpsneighbor |= BIT(l.enemy.team);
}
}
// now update the generators
int ons_ControlPoint_CanBeLinked(entity cp, int teamnumber)
{
- if(cp.isgenneighbor[teamnumber]) { return 2; }
- if(cp.iscpneighbor[teamnumber]) { return 1; }
+ if(cp.aregensneighbor & BIT(teamnumber)) return 2;
+ if(cp.arecpsneighbor & BIT(teamnumber)) return 1;
return 0;
}
continue;
// Ignore owned controlpoints
- if(!(cp2.isgenneighbor[this.team] || cp2.iscpneighbor[this.team]))
+ if(!((cp2.aregensneighbor & BIT(this.team)) || (cp2.arecpsneighbor & BIT(this.team))))
continue;
// Count team mates interested in this control point