Has anyone else gotten catapults in Antartica with normal starts? It's happened to me maybe half a dozen times.
Just for information, that catapult is what keeps you alive during autoplay (since you don't have actual units yet and would lose the game without it). It's created and removed every AI turn, you just don't notice it. For unknown reasons, sometimes the catapult isn't deleted when you spawn.
(It's a catapult because the predecessor of RFC for Civ3 was called Rhye's Catapult Mod.)
Just for information, that catapult is what keeps you alive during autoplay (since you don't have actual units yet and would lose the game without it). It's created and removed every AI turn, you just don't notice it. For unknown reasons, sometimes the catapult isn't deleted when you spawn.
(It's a catapult because the predecessor of RFC for Civ3 was called Rhye's Catapult Mod.)
They don't need them, the game continues after an AI civ dies after all.Do other civilizations have catapults in Antarctica to keep them alive before they spawn?
Yes it is, and maybe there is (it should be possible to directly override the end-of-game check somehow). But it works and this is a mechanic I'd rather not touch because it's terribly documented.I suspected something on those lines. It feels like a clunky way of organising things though, is there no better way to manage this?
That seems likely.On a different but similarly Antarctic related question, does this Catapult business have anything to do with the block of tiles to the SW of Tierra del Fuego which randomly gain fog of war from time to time, even after you have explored them?
GET_PLAYER(getActivePlayer()).initUnit(((UnitTypes)GC.getInfoTypeForString("UNIT_CATAPULT")), 0, 0); //Rhye (catapult)
//Rhye - start
void CvGame::setAIAutoPlayCatapult(int iNewValue)
{
int iOldValue;
iOldValue = getAIAutoPlay();
if (iOldValue != iNewValue)
{
m_iAIAutoPlay = std::max(0, iNewValue);
if ((iOldValue == 0) && (getAIAutoPlay() > 0))
{
CvPlot* pPlot = GC.getMapINLINE().plotINLINE(0, 0);
if (pPlot->isUnit()) {
GC.getMapINLINE().plotINLINE(0, 0)->getUnitByIndex(0)->kill(false);
for (int iI = 0; iI < MAX_PLAYERS; iI++)
{
if (GET_PLAYER((PlayerTypes)iI).isHuman())
{
GC.getMapINLINE().plotINLINE(0, 0)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(0, 1)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(1, 0)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(1, 1)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(123, 0)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(123, 1)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(2, 0)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(2, 1)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(2, 2)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(1, 2)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(0, 2)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(123, 2)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(122, 2)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(122, 1)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
GC.getMapINLINE().plotINLINE(122, 0)->setRevealed(GET_PLAYER((PlayerTypes)iI).getTeam(), false, false, NO_TEAM, true);
}
}
}
else {
logMsg("NO UNIT IN 0,0!!!"); //Rhye
}
}
}
}
//Rhye - end
Leoreth, I know you are focussed on stability right now but the Moors need some serious work.
With Egypt's respawn flipping Tunis in 1000AD and the removal of mercenaries, the Moors are essentially unplayable for UHV in their current format on the 600AD start. The 3000BC start is a better prospect, because you might actually flip some decent stuff on spawn, but I dislike relying on the RNG to set up a starting position that is worthy of playing.
Is there any real reason why the Mahgreb doesn't extend further to the east than Tunis?
Why is the Ivory south of Tunis not present in 600AD start but present in 3000BC start?
The Moorish starting units are barely a match for the Spanish ones, the Moors need a better counter for Spanish Knights than a lonely Spearman who starts on the wrong side of the Straits of Gibraltar. Moors also desperately need a starting Trireme.