Dann würde die Kampfchance auch von transportierten Einheiten gegen Schiffe angezeigt werden. Man kann nicht einfach dort True machen.
Zitat von
Kathy
Ob das verschieben der Switch-Anweisung Ratsam ist, weiß ich natürlich nicht. Was spräche denn, rein in der Theorie, dagegen?
Mehr Leistungsverschwendung hat man, wenn der Code abgebrochen wird. Kann man als vernachlässigbar werten.
In Base sieht es jetzt so aus: Auszug:
Code:
// rucivfan_bug_fix rbf[
// old code[
//bValid = false;
//switch (gDLL->getInterfaceIFace()->getSelectionList()->getDomainType())
//{
//case DOMAIN_SEA:
// bValid = pPlot->isWater();
// break;
//case DOMAIN_AIR:
// bValid = true;
// break;
//case DOMAIN_LAND:
// bValid = !(pPlot->isWater());
// break;
//case DOMAIN_IMMOBILE:
// break;
//default:
// FAssert(false);
// break;
//}
//if (!bValid)
//{
// return false;
//}
// ] old code
// ]rucivfan_bug_fix rbf
int iOdds;
pAttacker = gDLL->getInterfaceIFace()->getSelectionList()->AI_getBestGroupAttacker(pPlot, false, iOdds);
if (pAttacker == NULL)
{
pAttacker = gDLL->getInterfaceIFace()->getSelectionList()->AI_getBestGroupAttacker(pPlot, false, iOdds, true);
}
if (pAttacker != NULL)
{
// rucivfan_bug_fix rbf[
// new code[
bValid = false;
switch (gDLL->getInterfaceIFace()->getSelectionList()->getDomainType())
{
case DOMAIN_SEA:
bValid = pPlot->isWater();
break;
case DOMAIN_AIR:
bValid = true;
break;
case DOMAIN_LAND:
bValid = !(pPlot->isWater()) || pAttacker->canMoveAllTerrain();
break;
case DOMAIN_IMMOBILE:
break;
default:
FAssert(false);
break;
}
if (!bValid)
{
return false;
}
// ] new code
// ]rucivfan_bug_fix rbf