MCPcopy Create free account
hub / github.com/assaultcube/AC / newbotent

Function newbotent

source/src/clientgame.cpp:473–498  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

471}
472
473botent *newbotent() // create a new blank player
474{
475 botent *d = new botent;
476 d->lastupdate = totalmillis;
477 setskin(d, rnd(6));
478 weapon::equipplayer(d);
479 spawnstate(d); // move like above
480 int nextcn = 0;
481 bool lukin = true;
482 while(lukin)
483 {
484 bool used = nextcn==getclientnum();
485 loopv(players) if(!used && players[i]) if(players[i]->clientnum==nextcn) used = true;
486 if(!used) lukin = false; else nextcn++;
487 }
488 loopv(players) if(i!=getclientnum() && !players[i])
489 {
490 players[i] = d;
491 d->clientnum = nextcn;
492 return d;
493 }
494 if(players.length()==getclientnum()) players.add(NULL);
495 d->clientnum = nextcn;
496 players.add(d);
497 return d;
498}
499
500void freebotent(botent *d)
501{

Callers 1

CreateBotMethod · 0.85

Calls 6

setskinFunction · 0.85
spawnstateFunction · 0.85
getclientnumFunction · 0.85
loopvFunction · 0.70
lengthMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected