RifE 1.20 Bug Thread

Fletcher and Archery range are two more buildings that don't show up build popup. Well, they do as industry buildings, but only if there are an actual industry building in that field. Weird.
 
Blizzard terraforming might need a bit of toning down or adjustment.
In an Illians game, soon after the start a blizzard spawned and basically hung around my starting city freezing all the pastures etc. The problem is that the city was coastal, and I had fish to the north, which I promptly started fishing once I had the tech. However the blizzard changed all the coast tiles permanently to ice, and covered over the fish - although I was still able to work the ice-covered fish which I thought was amusing :)
The city is now effectively landlocked which isn't very fun.
 
- Removed due to idiocy and inability to properly look at his own minimap grmbl -


But while I have the post slot - is there a way to lock out Taranis?
 
Is it possible to separate it into No Frozen and No Infernal/Mercurian, instead of one general "Broken Compact" option?
 
Is it possible to separate it into No Frozen and No Infernal/Mercurian, instead of one general "Broken Compact" option?

I have to agree.

I don't mind playing with Infernal/Mercurian but incase I still hate the Frozen as much as I do now I would hate not to be able to play with any of them just because I didn't like the Frozen.
 
not sure if bug or balance oversight but arcane xp gain is kind of ridicoulus low. i m playing a sheaim game with tebryn abrandi now and taking a closer look at a mage of mine he had

0,7 training xp modifier from potency
0,8 training xp modifier from channelling II
0,25 training xp modifier from mage guild in city
0,25 training xp modifier from alchemy lab in city

... all this ammounted to the whooping xp gain of 0.11 in 1 turn :confused:

so you need basically 250~ turns for an archmage unless you send your adepts/mages out hunting wolves/goblins instead of studying at your mage guilds (not very flavourfull imho). oh wait, channelling II is even capped at 20 xp so you need to do the later anyhow.

i dunno, this is the first instance in which i wish a feature would have been left like in base FFH - the uncapped and higher xp gain for arcane units there made a lot more sense and certainly wasnt overpowered either.
 
What? but, the math says 2 xp/turn:twitch:...
 
Thats because Training XP does not exactly mean XP gained per turn. Training XP uses a weird calculation that increases an already very small amount of XP per turn.
 
not sure if bug or balance oversight but arcane xp gain is kind of ridicoulus low. i m playing a sheaim game with tebryn abrandi now and taking a closer look at a mage of mine he had

0,7 training xp modifier from potency
0,8 training xp modifier from channelling II
0,25 training xp modifier from mage guild in city
0,25 training xp modifier from alchemy lab in city

... all this ammounted to the whooping xp gain of 0.11 in 1 turn :confused:

As others have said modifier is the operative word. You get 200% more xp than you would get otherwise.

so you need basically 250~ turns for an archmage unless you send your adepts/mages out hunting wolves/goblins instead of studying at your mage guilds (not very flavourfull imho). oh wait, channelling II is even capped at 20 xp so you need to do the later anyhow.

Yes. Summons provide feedback experience as well.

The purpose of my module Research Grant is to address this issue.
 
yep, that those are MODIFIERs was clear to me, sorry for miswording it. i didnt expect 2 xp per turn from 0.25 + 0.25 + 0.7 + 0.8.

i did however expect that those modifer apply to a somewhat usefull base.

if i d be getting a 50% discount when buying a new car i d be damn happy, getting a 50% discount when buying an icecream for my son is certainly better than no discount but seriously not a big deal as with cars.

so when i chose leaders for sheaim for example, i can pick between the 50% discount to "cars" (wonders -> see os gabriella) or the 70% discount to bubblegum (potency/arcane -> tebryn). i d clearly take os next time.
 
Ophelia keeps crashing my games while loading. It has something to do with <iUnique> I think. Disabling it stops the crashes, as well as selection a non-random leader.

Spoiler Probable Broken Code :
Code:
    int iRndCiv = GC.getDefineINT("RANDOM_CIVILIZATION");
    if (iRndCiv != -1)
    {
        int iAlignment = 0;
        int iBestLeader = -1;
        int iBestCiv = -1;
        int iBestValue = -1;
        int iValue = 0;

        for (int iPlayer = 0; iPlayer < MAX_CIV_PLAYERS; iPlayer++)
        {
			if ((GC.getInitCore().getSlotStatus((PlayerTypes)iPlayer) == SS_COMPUTER) || (GC.getInitCore().getSlotStatus((PlayerTypes)iPlayer) == SS_TAKEN))
			{
			    iAlignment = 0;
				if (GC.getInitCore().getCiv((PlayerTypes)iPlayer) == NO_CIVILIZATION)
				{
                    GC.getInitCore().setCiv((PlayerTypes)iPlayer, (CivilizationTypes)iRndCiv);
                    iAlignment = -1;
				}
                if (GC.getInitCore().getCiv((PlayerTypes)iPlayer) == iRndCiv)
                {
                    if (iAlignment != -1)
                    {
                        iAlignment = GC.getLeaderHeadInfo((LeaderHeadTypes)GC.getInitCore().getLeader((PlayerTypes)iPlayer)).getAlignment();
                    }
                    for (int iCiv = 0; iCiv < GC.getNumCivilizationInfos(); iCiv++)
                    {
/*************************************************************************************************/
/**	CivSelector							10/22/08									Xienwolf	**/
/**																								**/
/**				Restricts AI Selection and Human Selection seperately							**/
/*************************************************************************************************/
/**								---- Start Original Code ----									**
                        if (GC.getCivilizationInfo((CivilizationTypes)iCiv).isAIPlayable())
/**								----  End Original Code  ----									**/
                        if ((GC.getInitCore().getSlotStatus((PlayerTypes)iPlayer) == SS_COMPUTER && GC.getCivilizationInfo((CivilizationTypes)iCiv).isAIPlayable()) || (GC.getInitCore().getSlotStatus((PlayerTypes)iPlayer) == SS_TAKEN && GC.getCivilizationInfo((CivilizationTypes)iCiv).isPlayable()))
/*************************************************************************************************/
/**	CivSelector									END												**/
/*************************************************************************************************/
                        {
                            for (int iLeader = 0; iLeader < GC.getNumLeaderHeadInfos(); iLeader++)
                            {
                                if (GC.getCivilizationInfo((CivilizationTypes)iCiv).isLeaders(iLeader))
                                {
                                    if (iAlignment == -1 || GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getAlignment() == iAlignment)
                                    {
                                        iValue = 40000 + GC.getGameINLINE().getSorenRandNum(1000, "Random Leader");
                                        for (int iI = 0; iI < MAX_CIV_PLAYERS; iI++)
                                        {
                                            if (GC.getInitCore().getLeader((PlayerTypes)iI) == iLeader)
                                            {
                                                iValue -= 2000;
                                            }
                                            if (GC.getInitCore().getCiv((PlayerTypes)iI) == iCiv)
                                            {
                                                iValue -= 1000;
                                            }
                                        }
/*************************************************************************************************/
/**	LeaderStatus Infos      		    	10/02/09								Valkrionn	**/
/**                                         Originally                                          **/
/** Minor Leaders Options       Opera       08.06.09         imported by Valkrionn	09.26.09    **/
/*************************************************************************************************/
                                        if (isOption(GAMEOPTION_THE_ACKNOWLEDGEMENT))
                                        {
                                            if (GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getLeaderStatus() != MAJOR_STATUS)
                                            {
                                                iValue += 50000;
                                            }
                                        }
                                        if (isOption(GAMEOPTION_WELLKNOWN_FACES))
                                        {
                                         	if (GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getLeaderStatus() == MAJOR_STATUS)
											{
												iValue += 50000;
											}
											if (GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getLeaderStatus() == NO_STATUS)
											{
												iValue += 50000;
											}
                                        }
                                        if (GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getUnique() > 0)
                                        {
                                            for (int jJ = 0; jJ < MAX_CIV_PLAYERS; jJ++)
                                            {
                                                if (GC.getLeaderHeadInfo(GC.getInitCore().getLeader((PlayerTypes)jJ)).getUnique() > 0)
                                                {
                                                    if (GC.getLeaderHeadInfo(GC.getInitCore().getLeader((PlayerTypes)jJ)).getUnique() == GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getUnique())
                                                    {
                                                        iValue -= 50000;
                                                    }
                                                }
                                            }
                                        }
/*************************************************************************************************/
/** End                                                                                         **/
/*************************************************************************************************/
                                        if (iValue > iBestValue)
                                        {
                                            iBestCiv = iCiv;
                                            iBestLeader = iLeader;
                                            iBestValue = iValue;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    GC.getInitCore().setCiv((PlayerTypes)iPlayer, (CivilizationTypes)iBestCiv);
                    GC.getInitCore().setLeader((PlayerTypes)iPlayer, (LeaderHeadTypes)iBestLeader);
                    iBestCiv = -1;
                    iBestLeader = -1;
                    iBestValue = -1;
                }
            }
		}
	}
 
The modifier is (IIRC), 1/(1+current xp)*(modifiers, added together)
This means that a brand new unit with no xp, but a 2x modifier, would get 2xp. Then he would get +.66xp (2/3). Then +.54xp. Etc, etc. Yes, potency and arcane are completely worthless now...

-Colin
 
Ophelia keeps crashing my games while loading. It has something to do with <iUnique> I think. Disabling it stops the crashes, as well as selection a non-random leader.

Spoiler Probable Broken Code :
Code:
    int iRndCiv = GC.getDefineINT("RANDOM_CIVILIZATION");
    if (iRndCiv != -1)
    {
        int iAlignment = 0;
        int iBestLeader = -1;
        int iBestCiv = -1;
        int iBestValue = -1;
        int iValue = 0;

        for (int iPlayer = 0; iPlayer < MAX_CIV_PLAYERS; iPlayer++)
        {
			if ((GC.getInitCore().getSlotStatus((PlayerTypes)iPlayer) == SS_COMPUTER) || (GC.getInitCore().getSlotStatus((PlayerTypes)iPlayer) == SS_TAKEN))
			{
			    iAlignment = 0;
				if (GC.getInitCore().getCiv((PlayerTypes)iPlayer) == NO_CIVILIZATION)
				{
                    GC.getInitCore().setCiv((PlayerTypes)iPlayer, (CivilizationTypes)iRndCiv);
                    iAlignment = -1;
				}
                if (GC.getInitCore().getCiv((PlayerTypes)iPlayer) == iRndCiv)
                {
                    if (iAlignment != -1)
                    {
                        iAlignment = GC.getLeaderHeadInfo((LeaderHeadTypes)GC.getInitCore().getLeader((PlayerTypes)iPlayer)).getAlignment();
                    }
                    for (int iCiv = 0; iCiv < GC.getNumCivilizationInfos(); iCiv++)
                    {
/*************************************************************************************************/
/**	CivSelector							10/22/08									Xienwolf	**/
/**																								**/
/**				Restricts AI Selection and Human Selection seperately							**/
/*************************************************************************************************/
/**								---- Start Original Code ----									**
                        if (GC.getCivilizationInfo((CivilizationTypes)iCiv).isAIPlayable())
/**								----  End Original Code  ----									**/
                        if ((GC.getInitCore().getSlotStatus((PlayerTypes)iPlayer) == SS_COMPUTER && GC.getCivilizationInfo((CivilizationTypes)iCiv).isAIPlayable()) || (GC.getInitCore().getSlotStatus((PlayerTypes)iPlayer) == SS_TAKEN && GC.getCivilizationInfo((CivilizationTypes)iCiv).isPlayable()))
/*************************************************************************************************/
/**	CivSelector									END												**/
/*************************************************************************************************/
                        {
                            for (int iLeader = 0; iLeader < GC.getNumLeaderHeadInfos(); iLeader++)
                            {
                                if (GC.getCivilizationInfo((CivilizationTypes)iCiv).isLeaders(iLeader))
                                {
                                    if (iAlignment == -1 || GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getAlignment() == iAlignment)
                                    {
                                        iValue = 40000 + GC.getGameINLINE().getSorenRandNum(1000, "Random Leader");
                                        for (int iI = 0; iI < MAX_CIV_PLAYERS; iI++)
                                        {
                                            if (GC.getInitCore().getLeader((PlayerTypes)iI) == iLeader)
                                            {
                                                iValue -= 2000;
                                            }
                                            if (GC.getInitCore().getCiv((PlayerTypes)iI) == iCiv)
                                            {
                                                iValue -= 1000;
                                            }
                                        }
/*************************************************************************************************/
/**	LeaderStatus Infos      		    	10/02/09								Valkrionn	**/
/**                                         Originally                                          **/
/** Minor Leaders Options       Opera       08.06.09         imported by Valkrionn	09.26.09    **/
/*************************************************************************************************/
                                        if (isOption(GAMEOPTION_THE_ACKNOWLEDGEMENT))
                                        {
                                            if (GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getLeaderStatus() != MAJOR_STATUS)
                                            {
                                                iValue += 50000;
                                            }
                                        }
                                        if (isOption(GAMEOPTION_WELLKNOWN_FACES))
                                        {
                                         	if (GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getLeaderStatus() == MAJOR_STATUS)
											{
												iValue += 50000;
											}
											if (GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getLeaderStatus() == NO_STATUS)
											{
												iValue += 50000;
											}
                                        }
                                        if (GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getUnique() > 0)
                                        {
                                            for (int jJ = 0; jJ < MAX_CIV_PLAYERS; jJ++)
                                            {
                                                if (GC.getLeaderHeadInfo(GC.getInitCore().getLeader((PlayerTypes)jJ)).getUnique() > 0)
                                                {
                                                    if (GC.getLeaderHeadInfo(GC.getInitCore().getLeader((PlayerTypes)jJ)).getUnique() == GC.getLeaderHeadInfo((LeaderHeadTypes)iLeader).getUnique())
                                                    {
                                                        iValue -= 50000;
                                                    }
                                                }
                                            }
                                        }
/*************************************************************************************************/
/** End                                                                                         **/
/*************************************************************************************************/
                                        if (iValue > iBestValue)
                                        {
                                            iBestCiv = iCiv;
                                            iBestLeader = iLeader;
                                            iBestValue = iValue;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    GC.getInitCore().setCiv((PlayerTypes)iPlayer, (CivilizationTypes)iBestCiv);
                    GC.getInitCore().setLeader((PlayerTypes)iPlayer, (LeaderHeadTypes)iBestLeader);
                    iBestCiv = -1;
                    iBestLeader = -1;
                    iBestValue = -1;
                }
            }
		}
	}


Hmm. Not sure what would be going wrong there, but I think I'll handle the different traits by a bit of python in onGameStart. Serves the same purpose.

The modifier is (IIRC), 1/(1+current xp)*(modifiers, added together)
This means that a brand new unit with no xp, but a 2x modifier, would get 2xp. Then he would get +.66xp (2/3). Then +.54xp. Etc, etc. Yes, potency and arcane are completely worthless now...

-Colin

If you find it worthless, tell the FF team. ;) Personally, I'm okay with it.
 
Possibly Major Bug: Hippus War Chariots use Worker Icon, Red-Blob Graphics, and have build orders, for Railroad, Windmill, Plantation, Quarry, Pasture, Winery, Cottage, and Fort, as well as the automations.
Unit also glows with promotion glow but no promotions are avaliable.
 
Apparently, Mechanos Zepplins (not Lenora, just Zepplins) can be loaded upon other zepplins. I'm pretty sure that that's not supposed to happen.
 
Back
Top Bottom