}
}
}
+
//stunned
if (aitype == passivetype && !(numwaypoints > 1) ||
stunned > 0 ||
throwkeydown = 0;
}
+ // friends follow player
+ if (stunned < 1 &&
+ isPlayerFriend() &&
+ !Person::players[0]->dead &&
+ distsq(&coords, &Person::players[0]->coords) > 5) {
+ XYZ rotatetarget = Person::players[0]->coords + Person::players[0]->velocity;
+ XYZ targetpoint = Person::players[0]->coords;
+ velocity = (targetpoint - coords);
+ velocity.y += 2;
+ float vellength = findLength(&velocity);
+ if (vellength != 0 &&
+ distsq(&Person::players[0]->coords, &coords) < distsq(&rotatetarget, &coords)) {
+ targetpoint += Person::players[0]->velocity *
+ findDistance(&Person::players[0]->coords, &coords) / vellength;
+ }
+ targetyaw = roughDirectionTo(coords, targetpoint);
+ lookyaw = targetyaw;
+ forwardkeydown = 1;
+ aitype = searchtype;
+ }
+
XYZ facing;
facing = 0;
facing.z = -1;