Are you, in fact, a pregnant lady who lives in the apartment next door to Superdeath's parents? - Commodore

Create an account  

 
Planetfall, the Alpha Centauri total conversion mod for Civ4 BtS

Sareln Wrote:There's an improvement UI bug where if you mouseover the improvement button with a former in a tile that cannot be worked by one of your bases (but is within your borders) it will return the yield you'd get if you had all the techs and bonuses (including Morgan Corps) rather than the yield you'll actually get.

Yep I'm aware of that. I could have another look at it, but IIRC years ago I didn't see a way to solve it.

spellman Wrote:The point isn't that people can/cannot cooperate. It's just that forming two monolithic tech blocks is not fun to most people.

Okay okay I surrender. wink But even if humans would still cooperate with each other in a no tech trading game, I worry about the AI. In single player the main reason why I want to maintain good relations with the AIs, are so I can trade techs with them. With that reason gone, they'll just be seen as easy targets for conquest. In fact even with tech trading on, they're probably seen that way by many players. wink I'd like for it be viable and profitable to maintain good relations with an AI throughout the game.

Perhaps if tech trading is turned off, the income you gain from trade routes could be much higher?

Selrahc Wrote:So I still think Fungicide and Grenade Fruits should be revealed by default. Xenobiology and Soil Enrichment are such core techs that you're not really going to want to delay them whatever happens.

That's not my personal experience. When I play a Terraformer game, it's usually very late when I acquire Xenobiology, usually by trading with an AI. Terraformers don't need a Biology Lab or the means to work plots with fungus. The other way around, when I play a pro-Planet game I usually acquire Soil Enrichment very late, as I don't want to use many Farms anyway.

The reason why I let those two techs reveal a resource is so that they wouldn't be completely useless to acquire when following a certain ecological strategy.
Reply

Quote:I'd like for it be viable and profitable to maintain good relations with an AI throughout the game.



You could allow vassals. Most PBEM games here don't have them, but FFH PBEM I did, and there were no issues.
Reply

Quote:The reason why I let those two techs reveal a resource is so that they wouldn't be completely useless to acquire when following a certain ecological strategy.

But...
1. They're not completely useless. Working fungus tiles is really useful in the early game even for a planet smasher, and everybody needs farms.
2. Every single tech in the same tree that follows them *is* completely useless, so why the emphasis on making these particular techs so essential?

Kicking around with visible food is a big change to the game, in particular for those crucial early turns. You'll note that no revealed resource in BTS is a food provider.
Reply

Vassals acquired through war don't really count as the result of 'maintaining good relations'. wink
Unless you mean voluntary vassalization. But even then, that would only make good relations profitable with factions much weaker than you.
Reply

Maniac Wrote:The reason why I let those two techs reveal a resource is so that they wouldn't be completely useless to acquire when following a certain ecological strategy.

Could you make it so that their respective resources aren't improvable until the tech is researched?
EitB 25 - Perpentach
Occasional mapmaker

Reply

Another thing that bugs me about the current arrangement. You think the techs are worthless(or at least worth less) to people not playing Pro Planet/Anti Planet strategies.

So presumably their thinking for researching the technologies is "Looks like the land I'm in is a bit barren. Better research this useless technology to see if there are any hidden resources.". And if it turns out the resources aren't there? "Oh, I guess there aren't and I just wasted a big chunk of early game time on something completely useless to me."
Reply

Maniac Wrote:Yep I'm aware of that. I could have another look at it, but IIRC years ago I didn't see a way to solve it.

Looking at the code, my suspicion is the problem is originating from CvPlot::calculateImprovementYieldChange, in the section of code following your comment "Building Improvement Yield CHange - Planetfall Maniac":

Code:
// Building Improvement Yield Change - Planetfall Maniac
    CvCity* pCity = getWorkingCity();
    if (bOptimal || NULL == pCity)
    {
        for (iI = 0; iI < GC.getNumBuildingInfos(); ++iI)
        {
            iYield += GC.getImprovementInfo(eImprovement).getBuildingYieldChange((BuildingTypes)iI, eYield);
        }
    }
    else
    {
        if (!bDisplay || pCity->isRevealed(GC.getGameINLINE().getActiveTeam(), false))
        {
            iYield += pCity->getImprovementYieldChange(eImprovement, eYield);
        }
    }
    // End Planetfall Maniac

I think right now when it gets a NULL on the working city (no city can possibly work this plot), it iterates over every building and returns the sum of the yield changes from each. So Mines get +2H, 1 from Morgan Mines and the other from the Unity Mining Laser (since wonders count as buildings) & windmills get +2E, 2 from Morgan Aerodynamics. The yield bonuses from Forests, Xenofungus, and bioreactors isn't miscounted b/c those are features, not improvements, so the code is elsewhere.

The solution, I think, depends upon how the Unity Mining Laser is supposed to work. Is it supposed to give +1H to mines in the city in which it's built? Or +1H to mines in all your cities?
Blog | EitB | PF2 | PBEM 37 | PBEM 45G | RBDG1
Reply

In my second game ever playing this mod (after abandoning my first game 30 turns in), I pulled off a Unity pod cascade where I managed to pop several unity rovers, a few scouts, and then three choppers! Things got crazy from there--I ended up eliminating two AI civs by turn 27, on normal speed.

I think maybe the ability to pop choppers and even unity rovers from Unity pods should be heavily reduced, maybe even eliminated entirely.

(Great mod, btw! thumbsup)
Played in: PBEM 4 [Formerly Jowy's Peter of Egypt] | PBEM 10 [Napoleon of the Dutch] | PBEM 11 [Shaka of France] | EitB XVI [Valledia of the Amurites] | PB7 [Darius of Rome] | Diplomacy 3 [Austria-Hungary] | PBEMm/o vs AutomatedTeller
Reply

Selrahc Wrote:But...
1. They're not completely useless. Working fungus tiles is really useful in the early game even for a planet smasher, and everybody needs farms.

If I'm a Terraformer, I research Defense Logistics, so that I can simply remove the fungus and have a prereq to Soil Enrichment. And I've played games without building a single farm.

Quote:2. Every single tech in the same tree that follows them *is* completely useless, so why the emphasis on making these particular techs so essential?

As much as possible, I do try to give every tech some kind of benefit. Many of the Centauri techs enable a resource. Definitely not enough to make them worth researching for a Terraformer, but at least it gives them a non-zero value in tech trades.

Mardoc Wrote:Could you make it so that their respective resources aren't improvable until the tech is researched?

That sounds like a lot of work. New tag, widget, AI code etc. I could recycle the TechReveal tag and make all resources visible at the start, but make the plots unworkable until the techreveal tech is researched.

Selrahc Wrote:Another thing that bugs me about the current arrangement. You think the techs are worthless(or at least worth less) to people not playing Pro Planet/Anti Planet strategies.

So presumably their thinking for researching the technologies is "Looks like the land I'm in is a bit barren. Better research this useless technology to see if there are any hidden resources.". And if it turns out the resources aren't there? "Oh, I guess there aren't and I just wasted a big chunk of early game time on something completely useless to me."

No, my idea is that Terraformers/Hybrids won't research those techs themselves at all, but will be constantly bugged by AI players who want to sell them that tech.

Sareln Wrote:Looking at the code, my suspicion is the problem is originating from CvPlot::calculateImprovementYieldChange, in the section of code following your comment "Building Improvement Yield CHange - Planetfall Maniac":

Okay, so my memory that it was difficult to solve was completely wrong. lol

I just changed it to this:
Code:
// Building Improvement Yield Change - Planetfall Maniac
    CvCity* pCity = getWorkingCity();
    if (bOptimal)
    {
        for (iI = 0; iI < GC.getNumBuildingInfos(); ++iI)
        {
            iYield += GC.getImprovementInfo(eImprovement).getBuildingYieldChange((BuildingTypes)iI, eYield);
        }
    }
    else if (NULL != pCity)
    {
        if (!bDisplay || pCity->isRevealed(GC.getGameINLINE().getActiveTeam(), false))
        {
            iYield += pCity->getImprovementYieldChange(eImprovement, eYield);
        }
    }
    // End Planetfall Maniac

Since you're looking at the Planetfall code anyway... do you perhaps know a solution for the stockpile energy bug reported by Selrahc?

For the recent patch d I tried to fix it in an as simple as possible way by

Code:
bool CvCity::canMaintain(ProcessTypes eProcess, bool bContinue) const
{
    if (!(GET_PLAYER(getOwnerINLINE()).canMaintain(eProcess, bContinue)))
    {
        return false;
    }

    if (GC.getProcessInfo(eProcess).getProductionToCommerceModifier(COMMERCE_GOLD) > 0)
    {
        if (bContinue)
        {
            if (GET_PLAYER(getOwnerINLINE()).getEnergyStockpile() > 100 * GET_PLAYER(getOwnerINLINE()).calculatePreInflatedCosts())
            {
                return false;
            }
        }
        else if ((GC.getProcessInfo(eProcess).getProductionToCommerceModifier(COMMERCE_GOLD) * getYieldRate(YIELD_PRODUCTION)) + GET_PLAYER(getOwnerINLINE()).getEnergyStockpile() > 100 * GET_PLAYER(getOwnerINLINE()).calculatePreInflatedCosts())
        {
            return false;
        }
        /*else if (getOrderQueueLength() > 0)
        {
            return false;
        }*/
    }

    return true;

But that 'getOrderQueueLength() > 0' line I added causes the compiler to give an error. frown

Tatan Wrote:In my second game ever playing this mod (after abandoning my first game 30 turns in), I pulled off a Unity pod cascade where I managed to pop several unity rovers, a few scouts, and then three choppers! Things got crazy from there--I ended up eliminating two AI civs by turn 27, on normal speed.

Have you installed patch d? Shouldn't be possible anymore in that patch.
Reply

If I come up with a good solution, I'll let you know. EitB needs it too.
Blog | EitB | PF2 | PBEM 37 | PBEM 45G | RBDG1
Reply



Forum Jump: