Person::players.back()->power = Person::players[0]->power;
Person::players.back()->speedmult = Person::players[0]->speedmult;
+ if (Input::isKeyDown(SDL_SCANCODE_RSHIFT))
+ Person::players.back()->isplayerfriend = true;
+
Person::players.back()->loaded = true;
}
}
if (Person::players[k]->animTarget != rabbitrunninganim && Person::players[k]->animTarget != wolfrunninganim) {
if (!Person::players[k]->isPlayerControlled()) {
- Person::players[k]->victim = Person::players[0];
+ if (Person::players[k]->isPlayerFriend()) {
+ bool found = false;
+ for (unsigned k2 = 1; k2 < Person::players.size(); k2++) {
+ if (k != k2 &&
+ !Person::players[k2]->dead &&
+ Person::players[k2]->aitype == attacktypecutoff) {
+ Person::players[k]->victim = Person::players[k2];
+ Person::players[k]->hasvictim = true;
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ Person::players[k]->hasvictim = false;
+ Person::players[k]->attackkeydown = 0;
+ }
+ } else {
+ Person::players[k]->victim = Person::players[0];
+ }
}
//attack key pressed
if (Person::players[k]->attackkeydown) {
Person::players[k]->hasvictim = 0;
if (Person::players.size() > 1) {
for (unsigned i = 0; i < Person::players.size(); i++) {
- if (i == k || !(k == 0 || i == 0)) {
+ if (i == k ||
+ (Person::players[k]->isPlayerTeam() && Person::players[i]->isPlayerTeam()) ||
+ !(Person::players[k]->isPlayerTeam() || Person::players[i]->isPlayerTeam())) {
continue;
}
if (!Person::players[k]->hasvictim) {
Person::players[i]->aitype == gethelptype ||
Person::players[i]->aitype == searchtype) &&
!Person::players[i]->dead &&
+ !Person::players[i]->isPlayerFriend() &&
(Person::players[i]->animTarget != sneakattackedanim &&
Person::players[i]->animTarget != knifesneakattackedanim &&
Person::players[i]->animTarget != swordsneakattackedanim)) {
}
alldead = true;
for (unsigned i = 1; i < Person::players.size(); i++) {
- if (!Person::players[i]->dead && Person::players[i]->howactive < typedead1) {
+ if (!Person::players[i]->dead && Person::players[i]->howactive < typedead1 && !Person::players[i]->isPlayerFriend()) {
alldead = false;
break;
}