Does that mean that we might have another MNAI update soon, so I should hold off my next MagisterModmod release to include it?
Tholal : any news on creating "attacking-from" tags ? (on str and str%) ?
please just say if you will, you might or you will never be able(want) to add them
Hi Tholal, a quick comment on advanced fort implementation: Currently the AI seems to preferrentially build them within one or two tiles of cities, giving free healing and %defense to attacking enemy stacks and denying themselves a useful working tile. I assume they are applying some old fort logic to the new forts? I know they always used to do this, but the free culture flip of that tile on fort conquest makes it an especially crippling decision with advanced forts.
Edit: I accidentally deleted the iY += 30 at the end of the for loop around like 225 of WBPlotScreen.py, without which all of the yield adjustments are placed right on top of each other.
Kuriotates don't seem to understand the distinction between their cities and their settlements when making civic choices. I see them switching over from Republic to City States when they get a large number of settlements, even though this doesn't really make sense.
[to_xp]Gekko;13270443 said:could the AI re-evaluate what they're building after River of Blood is cast? they often get stuck building a settler at 1 pop with multiple improved tiles around.
Here is another update, including Platyping's fix for commas and saving the culture of plots.
[to_xp]Gekko;13294107 said:the code that picks the Infernal's starting spot and the code that picks where Orthus' spawns always spawn them as south as possible, it'd be nice if it were more unpredictable. it is possible this issue is only apparent on premade maps, iirc somebody already reported it before.
pBestPlot = -1
iBestPlot = -1
for iLoop in range (CyMap().numPlots()):
pPlot = CyMap().plotByIndex(iLoop)
iX = pPlot.getX()
iY = pPlot.getY()
iPlot = -1
if pInfernalPlayer.canFound(iX, iY):
if pPlot.getNumUnits() == 0:
iPlot = CyGame().getSorenRandNum(50, "Place Hyborem")
iPlot += 50
iPlot += pPlot.area().getNumTiles() * 2
iPlot += pPlot.area().getNumUnownedTiles() * 10
## Check Big Fat Cross for other players, resources and terrain
for iCityPlotX in range(iX-1, iX+2, 1):
for iCityPlotY in range(iY-1, iY+2, 1):
pCityPlot = CyMap().plot(iCityPlotX,iCityPlotY)
iCityTerrain = pCityPlot.getTerrainType()
iCityPlot = pCityPlot.getPlotType()
iCityBonus = pCityPlot.getBonusType(TeamTypes.NO_TEAM)
for jPlayer in range(gc.getMAX_PLAYERS()):
lPlayer = gc.getPlayer(jPlayer)
if lPlayer.isAlive():
if pCityPlot.getCulture(jPlayer) > 100:
iPlot -= 250
if pPlot.isAdjacentOwned():
iPlot -= 25
else:
iPlot += 15
if (iCityTerrain == gc.getInfoTypeForString('TERRAIN_SNOW')) or (iCityTerrain == gc.getInfoTypeForString("TERRAIN_DESERT")):
iPlot -= 25
elif (iCityTerrain == gc.getInfoTypeForString('TERRAIN_TUNDRA')):
iPlot -= 10
if (pCityPlot.isWater()):
iPlot -= 25
elif not iCityBonus == BonusTypes.NO_BONUS:
iPlot += gc.getBonusInfo(iCityBonus).getYieldChange(YieldTypes.YIELD_PRODUCTION) * 25
iPlot += gc.getBonusInfo(iCityBonus).getYieldChange(YieldTypes.YIELD_COMMERCE) * 15
if iPlot > iBestPlot:
iBestPlot = iPlot
pBestPlot = pPlot
A "No Loki" gameoption like the one for Duin etc. would be nice, iirc many people immediately quit if they have Balseraphs as neighbours