898
898
return; // we should not order this droid around
901
lookForTarget = true;
901
lookForTarget = false;
902
updateTarget = false;
904
// look for a target if doing nothing
905
if (orderState(psDroid, DORDER_NONE) ||
906
orderState(psDroid, DORDER_GUARD))
908
lookForTarget = true;
910
// but do not choose another target if doing anything while guarding
911
if (orderState(psDroid, DORDER_GUARD) &&
912
(psDroid->action != DACTION_NONE))
914
lookForTarget = false;
916
// except when self-repairing
917
if (psDroid->action == DACTION_DROIDREPAIR &&
918
psDroid->psActionTarget[0] == (BASE_OBJECT *)psDroid)
920
lookForTarget = true;
904
922
// don't look for a target if sulking
905
923
if (psDroid->action == DACTION_SULK)
907
925
lookForTarget = false;
908
updateTarget = false;
910
// don't look for a target if doing something else
911
if (!orderState(psDroid, DORDER_NONE) &&
912
!orderState(psDroid, DORDER_GUARD))
914
lookForTarget = false;
917
928
/* Only try to update target if already have some target */
918
if (psDroid->action != DACTION_ATTACK &&
919
psDroid->action != DACTION_MOVEFIRE &&
920
psDroid->action != DACTION_MOVETOATTACK &&
921
psDroid->action != DACTION_ROTATETOATTACK)
929
if (psDroid->action == DACTION_ATTACK ||
930
psDroid->action == DACTION_MOVEFIRE ||
931
psDroid->action == DACTION_MOVETOATTACK ||
932
psDroid->action == DACTION_ROTATETOATTACK)
923
updateTarget = false;
926
937
/* Don't update target if we are sent to attack and reached
962
973
updateTarget = false;
965
// do not choose another target if doing anything while guarding
966
if (orderState(psDroid, DORDER_GUARD) &&
967
(psDroid->action != DACTION_NONE))
969
lookForTarget = false;
972
976
// do not look for a target if droid is currently under direct control.
973
977
if(driveModeActive() && (psDroid == driveGetDriven())) {
974
978
lookForTarget = false;