]> git.jsancho.org Git - lugaru.git/blobdiff - Source/GameTick.cpp
Friends fight with true enemies, before they attacked player but hurting enemies
[lugaru.git] / Source / GameTick.cpp
index c627e514765cd71dcdff4a7d741f3b501d2f0ea3..285c80cff87fec2740a2d486c5657a4b5d021ef7 100644 (file)
@@ -2200,11 +2200,13 @@ void doAttacks()
                             !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 {
@@ -2268,7 +2270,9 @@ void doAttacks()
                     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) {
@@ -4654,7 +4658,7 @@ void Game::TickOnceAfter()
             }
             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;
                 }