Dawn of Civilization - an RFC modmod by Leoreth

Status
Not open for further replies.
I got a catapult in antartica...
 
The region where you spawn gradually blackening out, with a catapult spawning in Antartica.
When you put unit back where you spawn, the Antartica tile gradually blackening out and you lose your catapult ^^

The blackening and enlightening the tiles mechanism that's cool.
 
Has anyone else gotten catapults in Antartica with normal starts? It's happened to me maybe half a dozen times.
 
If you're catapulted to Antarctica, pass a few turns by pressing Enter, and eventually you'll spawn properly.
 
I think you should report on what civilization and what revision you get the Antartica catapult in the bug thread so it can be investigated.
 
Perhaps not exactly a catapult machine like the one in-game, but according to Wikipedia, when the Nazi Germany set sail from Hamburg to Antartica to colonize New Swabia in MS Schwabenland, the ship can catapult aircraft :p
 
okay so now we start a kickstarter to build one there right ^_^
 
It was a pretty minor bug. I would spawn normally except with the addition of an unusable catapult (sometimes an archer or scout maybe). I would just delete it to save unit cost. It happened mostly on 1.10, haven't seen it on 1.11 yet.
 
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.)

Do other civilizations have catapults in Antarctica to keep them alive before they spawn?
 
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.)

I suspected something on those lines. It feels like a clunky way of organising things though, is there no better way to manage this?

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?
 
Do other civilizations have catapults in Antarctica to keep them alive before they spawn?
They don't need them, the game continues after an AI civ dies after all.

I suspected something on those lines. It feels like a clunky way of organising things though, is there no better way to manage this?
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.

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?
That seems likely.
 
Did some research

CvGame::update() calls testAlive() a function that calls each player's verifyAlive() method, which then kills the civ (via the setAlive function) if it doesn't have any units OR if complete kills is a game option and the civ has founded its first city.

So you could just add a conditional here for a further check that the date is past the civ's spawn date.

As for the cats:

The offending pieces of code, from CvGame.cpp

First, at the end of CvGame::reviveActivePlayer():

Code:
GET_PLAYER(getActivePlayer()).initUnit(((UnitTypes)GC.getInfoTypeForString("UNIT_CATAPULT")), 0, 0); //Rhye (catapult)

reviveActivePlayer() is called every turn by CvGame::doTurn() if autoplay is on, which itself is called in CvGame::update() before the testAlive() check.

Then:
Code:
//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

I think that's all of it, but I could be wrong.

I suppose you're right that you don't *have* to change it (it does the job). Still, it's rather clunky and as far as I can tell it's really only in those two spots that you need to change anything.
 
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.
 
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.

I completely agree.

My first report since the new stability revision touched on that issue;
you have to focus all of your energies on ousting the Spanish, and by the time
that's done, you won't have any leeway whatsoever to finish the other conditions.
It's also the production modifiers for the Moors which is a problem as well.
I have to run Mercenaries to pump out Cats every 2 turns and run my slider at 10% in order to afford it.
There isn't always a Carthage or Marrakesh to flip anymore as well, which means for a number of starts, the Moors only have 1 city.
 
As for Argentina, Columbia and Brazil, do they spawn when their core area is empty? For instance, if I play Spain, and I manage to make sure that there is not any city in the three core areas, and I only settle Argentina after its spawn date, will Argentina still spawn?
 
In my last game both core areas were empty and neither of them spawned. Note that Portugal/Spain were dead too in that game, so I don't know the exact criteria.
 
Status
Not open for further replies.
Back
Top Bottom