/** ** Remove unit-type from build list. ** ** @param pai Computer AI player. ** @param type Unit-type which is now available. */ static void AiRemoveFromBuilt(PlayerAi *pai, const CUnitType *type) { int equivalents[UnitTypeMax + 1]; int equivalentsCount; if (AiRemoveFromBuilt2(pai, type)) { return; } // // This could happen if an upgrade is ready, look for equivalent units. // equivalentsCount = AiFindUnitTypeEquiv(type, equivalents); for (int i = 0; i < equivalentsCount; ++i) { if (AiRemoveFromBuilt2(pai, UnitTypes[equivalents[i]])) { return; } } if (pai->Player == ThisPlayer) { DebugPrint("My guess is that you built something under ai me. naughty boy!\n"); return; } Assert(0); }
/** ** Remove unit-type from build list. ** ** @param pai Computer AI player. ** @param type Unit-type which is now available. */ static void AiRemoveFromBuilt(PlayerAi *pai, const CUnitType &type) { if (AiRemoveFromBuilt2(pai, type)) { return; } // This could happen if an upgrade is ready, look for equivalent units. int equivalents[UnitTypeMax + 1]; const int equivalentsCount = AiFindUnitTypeEquiv(type, equivalents); for (int i = 0; i < equivalentsCount; ++i) { if (AiRemoveFromBuilt2(pai, *UnitTypes[equivalents[i]])) { return; } } if (pai->Player == ThisPlayer) { DebugPrint("My guess is that you built something under ai me. naughty boy!\n"); return; } fprintf(stderr, "Can't reduce %s from build list.\n", type.Ident.c_str()); }