FfH2 Bug Thread

Are you sure it's not rust? The spell causes the weapon promotion to disappear, and you can you regain it by entering a friendly city. The rust spell does not always cause the unit to gain the rust promotion.
 
Chalid has Channeling I, Channeling II, and Channeling III, all of which reduce his chance to defend the stack. So it's not a surprise that the melee and priests defended over him. I don't know why the mages would defend over him though.

Edit: Each level of Channeling gives -25% chance to defend the stack (i.e. -25% to the defender weighting). Assuming they stack additively, Chalid would be half as likely to defend the stack as the mages (who have just two levels of Channeling). Thus if the mages were more than half as strong as Chalid, they would defend first. That seems unlikely though - unless the mages also had high Combat promotions they should have been less than half as strong (4 strength to Chalid's minimum 7, and then account for fortification and Combat promotions.)

I believe the Hero promotion also reduces the chance to defend - put in because too many people were complaining that their heroes would defend against multiple attacks and overwhelming odds.
 
Chalid has Channeling I, Channeling II, and Channeling III, all of which reduce his chance to defend the stack. So it's not a surprise that the melee and priests defended over him. I don't know why the mages would defend over him though.

Edit: Each level of Channeling gives -25% chance to defend the stack (i.e. -25% to the defender weighting). Assuming they stack additively, Chalid would be half as likely to defend the stack as the mages (who have just two levels of Channeling). Thus if the mages were more than half as strong as Chalid, they would defend first. That seems unlikely though - unless the mages also had high Combat promotions they should have been less than half as strong (4 strength to Chalid's minimum 7, and then account for fortification and Combat promotions.)

The defense modifier from channeling was unknown to me so that makes a lot more sense. But even as such....Chalid at the time was strength 9 defense. I would say it falls entirely on the channeling adjustment because nothing else short of a very obvious bug would have led to this. At this point in the game Chalid has a 99.9% combat odds vs. every unit in play and the issue has occurred repeatedly since that 1st example with exact same results (mages defend and he never engages). Maybe a little tweeking to the channeling modifier is needed?

(thx for the quick feedback btw)
 
Vampires are reluctant to defend their stacks which can lead to some unusual results. Calabim horse archers can have a very hard time.
 
The defense modifier from channeling was unknown to me so that makes a lot more sense. But even as such....Chalid at the time was strength 9 defense. I would say it falls entirely on the channeling adjustment because nothing else short of a very obvious bug would have led to this.
As hbar mentioned, the Hero promotion also reduces the unit's chance to defend. Hero + Channeling I - III means the unit will almost never defend before other units. This is intentional. Heroes with access to the Guardsman promotion can use that to enable them to defend a stack, but considering the value of heroes this is risky. It is usually better to rely on the other units in the stack to defend themselves (by bringing defenders that are adequate to the task and in sufficient quantity along with your attack force, for example) and treat the heroes as support units.

-------------

No rust spell was involved. The promotion is lost when entering the foreign territory and regained immediately when returning to a friendly city.
The Rust spell is the only way I can think of to create this situation. If you are absolutely certain that Rust was not used against you (and you are using base FfH20.41m) please post a saved game that demonstrates this situation.

-------------

Vampires are reluctant to defend their stacks which can lead to some unusual results. Calabim horse archers can have a very hard time.
Yes, but this works both ways - enemy Assassins are often stuck targeting well-promoted Vampires before they can attack Calabim support units. If you need to be certain that your non-Vampire units are protected, just promote your Vampires with Guardsman.
 
Both of these AIs start out as Creative, and I wonder whether there's some code that de-emphasizes culture buildings because of that. If so, it needs to check whether the AI is currently Creative, since they had both switched to non-Creative traits.
Cardith doesn't start as Creative, he starts as Expansive/Philosophical. Just thought I'd point this out. ;)

Edit: one more thing - notice in the second screenshot how I have horses and Odio on the same tile. Can't pasture the horses, so it's kind of a waste.
This reminds me, I've had Letum Frigus and Ring of Carcer on the same tile before. Is this intended?
 
@Sephi

Is it possible for you to upload the file(s) with the fixes you made?

they already are, called wildmana :p

this here fixes a possible CTD caused by a recent change in the withdrawal mechanic

Spoiler :

Code:
//FfH Promotions: Modified by Kael 08/12/2007
//			szBuffer = gDLL->getText("TXT_KEY_MISC_YOU_UNIT_WITHDRAW", getNameKey(), pDefender->getNameKey());
//			gDLL->getInterfaceIFace()->addMessage(getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_OUR_WITHDRAWL", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_GREEN"), pPlot->getX_INLINE(), pPlot->getY_INLINE());
//			szBuffer = gDLL->getText("TXT_KEY_MISC_ENEMY_UNIT_WITHDRAW", getNameKey(), pDefender->getNameKey());
//			gDLL->getInterfaceIFace()->addMessage(pDefender->getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_THEIR_WITHDRAWL", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_RED"), pPlot->getX_INLINE(), pPlot->getY_INLINE());
//
//			changeMoves(std::max(GC.getMOVE_DENOMINATOR(), pPlot->movementCost(this, plot())));
//			checkRemoveSelectionAfterAttack();
//
//			getGroup()->clearMissionQueue();
            if (pDefender->isFleeWithdrawl())
            {
                pDefender->joinGroup(NULL);
                pDefender->setFleeWithdrawl(false);
                pDefender->withdrawlToNearestValidPlot();
//>>>>BUGFfH: Modified by Denev 2009/10/14
/*	When defender fleed, attacker loses movement point as same as wining	*/
/*
				checkRemoveSelectionAfterAttack();
				if (pPlot->getNumVisibleEnemyDefenders(this) == 0)
				{
					getGroup()->groupMove(pPlot, true, ((canAdvance(pPlot, 0)) ? this : NULL));
				}
*/
				if (canAdvance(pPlot, 0))
				{
					getGroup()->groupMove(pPlot, true, this);
				}
				else
				{
					changeMoves(std::max(GC.getMOVE_DENOMINATOR(), pPlot->movementCost(this, plot())));
					checkRemoveSelectionAfterAttack();
				}
//<<<<BUGFfH: End Modify
                getGroup()->clearMissionQueue();
/*************************************************************************************************/
/**	BUGFIX (Surrounded Defender already died) Sephi	                             				    **/
/*************************************************************************************************/
/** orig
                szBuffer = gDLL->getText("TXT_KEY_MISC_YOU_UNIT_FLED", pDefender->getNameKey(), getNameKey());
                gDLL->getInterfaceIFace()->addMessage(pDefender->getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_OUR_WITHDRAWL", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_GREEN"), pPlot->getX_INLINE(), pPlot->getY_INLINE());
                szBuffer = gDLL->getText("TXT_KEY_MISC_ENEMY_UNIT_FLED", pDefender->getNameKey(), getNameKey());
                gDLL->getInterfaceIFace()->addMessage(getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_THEIR_WITHDRAWL", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_RED"), pPlot->getX_INLINE(), pPlot->getY_INLINE());
**/
				if(pDefender!=NULL)
				{
					szBuffer = gDLL->getText("TXT_KEY_MISC_YOU_UNIT_FLED", pDefender->getNameKey(), getNameKey());
					gDLL->getInterfaceIFace()->addMessage(pDefender->getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_OUR_WITHDRAWL", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_GREEN"), pPlot->getX_INLINE(), pPlot->getY_INLINE());
					szBuffer = gDLL->getText("TXT_KEY_MISC_ENEMY_UNIT_FLED", pDefender->getNameKey(), getNameKey());
					gDLL->getInterfaceIFace()->addMessage(getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_THEIR_WITHDRAWL", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_RED"), pPlot->getX_INLINE(), pPlot->getY_INLINE());
				}
/*************************************************************************************************/
/**	END	                                        												**/
/*************************************************************************************************/
            }
 
AI does not use the free promotions on arcane units. I've captured plenty of them with Chalid and was able to use these promotions myself.

Edit: Another explanation may be that arcane units are given free promotion to spent upon capture, just like they are given magic promotios from capturer's mana (i.e. capture acts just like production/upgrade).
 
AI does not use the free promotions on arcane units.

In some circumstances it's best not to promote all your adepts immediately. I wouldn't have thought that AI planned far enough ahead to make that decision though. I wouldn't be surprised if there was a promotions bug and it was more complex, as I've captured some arcane units and been immediately able to promote them 2 or 3 times.
 
I am playing base FFH with the newest patch.
I am having problems with loading scenarios.

If I try loading it from a standard game I get the message that I need to load the special scenario thing. And when I load it and click on the icon I get a CTD.

Is there any way of loading and playing them without resorting to cheating like the world builder and loading the files manually?
 
Move the scenarios from the Assets/Scenarios folder to the Private Maps folder. Then you can just load them.

Also it might be something to do with the Unofficial Patch (if you use it). When I had the 3.17 Unofficial patch installed I was unable to play Age of Ice.
 
Thank you, but I explicitly said without resorting to cheating like that.
I would rather not play them at all than do that.

Thanks anyway.
 
Instant SoI: Previously I assumed that Disciples of Acheron spawned, and then at some tech threshold would be upgraded to Sons of the Inferno. I finally had Acheron spawn in a position I could see with a Hawk, and this appears to be incorrect:
Spoiler :
instantsoi.jpg
There is already a Son of the Inferno in Acheron's city on the turn he is built. Either the tech threshold for upgrading is very low (this is early in the game, Acheron just spawned), or there is no threshold at all, or else Sons of the Inferno just spawn directly. If this is working as intended then I think the rationale behind this functionality should be reconsidered.

-------------

When Illians Attack: Repeatable WoC at end of turn. An announcement is made that the Illian Alliance has declared war on me, but the game goes WoC before the war declarations against my vassals are announced. I can avoid the WoC by declaring war on the Illains, but two turns later a WoC occurs. Perhaps some action the Illians take when they declare war is causing the WoC, and by declaring war first I delay that problem-causing action. I looked around in worldbuilder but didn't see anything I could identify as unusual or problematic.

-------------

Unknown CtD: Repeatable CtD at end of turn early in a game as the Kuriotates. The Clan are not in play, so this is not For the Horde-related. I looked around the map and could not find any indication of what the problem could be. Over the past several turns I had been getting various kinds of crashes, all repeatable, which all happened on the turn that my scout was killed. Each time I would try taking an action to keep my scout alive (ie not moving it, so that I didn't end turn with the scout adjacient to an animal), and the crash would not occur. Each time my scout would later be endangered and die, and a crash would result. In this save posted here, the repeatable CtD can be avoided by deleting the bear that is about to kill the scout. Deleting the scout does not work, there is a crash at end of turn if this is done. As far as I know, there is nothing special about this scout. I can't imagine why losing this unit would cause a crash.

-------------

Worker Problem: A stack of Kuriotate workers is stuck trying to improve a tile. Each turn they abandon work to move away from the tile and then return:
Spoiler screenshots :
workerproblem1.jpg


workerproblem2.jpg


workerproblem3.jpg
As time passed more workers accumulated, but the improvement was not completed. There are no hostile units in the area (the Nightwatch in my nearest city has declared nationality; the nearest hostile unit is in a barbarian city 10 tiles away). I do have a stack of units nearby, but they are hidden by Nox Noctis (and shouldn't matter anyway, since they are not hostile). Eventually I pillaged the Wheat farm 1W of Kwythellar with a Mistform (which I immediately deleted) and this broke the impasse for some reason. Most of the workers split off to rebuild the pillaged farm, and the rest stayed and completed the cottage. I don't know exactly what caused this situation to arise, but it seems detrimental.
 

Attachments

Hi! My first game of FFHII and I think I found a bug in the Erebus Map Script. This is the map generated, leaving no way to explore the world:

BUG PIC0000.JPG

Is it not a bug? Am I meant to build naval craft to transport units around the Mountain Range, Kind of like the Inca's Starting position on the World Map?
 
Instant SoI: Previously I assumed that Disciples of Acheron spawned, and then at some tech threshold would be upgraded to Sons of the Inferno. I finally had Acheron spawn in a position I could see with a Hawk, and this appears to be incorrect:
Spoiler :
instantsoi.jpg
There is already a Son of the Inferno in Acheron's city on the turn he is built. Either the tech threshold for upgrading is very low (this is early in the game, Acheron just spawned), or there is no threshold at all, or else Sons of the Inferno just spawn directly. If this is working as intended then I think the rationale behind this functionality should be reconsidered.

-------------

When Illians Attack: Repeatable WoC at end of turn. An announcement is made that the Illian Alliance has declared war on me, but the game goes WoC before the war declarations against my vassals are announced. I can avoid the WoC by declaring war on the Illains, but two turns later a WoC occurs. Perhaps some action the Illians take when they declare war is causing the WoC, and by declaring war first I delay that problem-causing action. I looked around in worldbuilder but didn't see anything I could identify as unusual or problematic.

-------------

Unknown CtD: Repeatable CtD at end of turn early in a game as the Kuriotates. The Clan are not in play, so this is not For the Horde-related. I looked around the map and could not find any indication of what the problem could be. Over the past several turns I had been getting various kinds of crashes, all repeatable, which all happened on the turn that my scout was killed. Each time I would try taking an action to keep my scout alive (ie not moving it, so that I didn't end turn with the scout adjacient to an animal), and the crash would not occur. Each time my scout would later be endangered and die, and a crash would result. In this save posted here, the repeatable CtD can be avoided by deleting the bear that is about to kill the scout. Deleting the scout does not work, there is a crash at end of turn if this is done. As far as I know, there is nothing special about this scout. I can't imagine why losing this unit would cause a crash.

-------------

Worker Problem: A stack of Kuriotate workers is stuck trying to improve a tile. Each turn they abandon work to move away from the tile and then return:
Spoiler screenshots :
workerproblem1.jpg


workerproblem2.jpg


workerproblem3.jpg
As time passed more workers accumulated, but the improvement was not completed. There are no hostile units in the area (the Nightwatch in my nearest city has declared nationality; the nearest hostile unit is in a barbarian city 10 tiles away). I do have a stack of units nearby, but they are hidden by Nox Noctis (and shouldn't matter anyway, since they are not hostile). Eventually I pillaged the Wheat farm 1W of Kwythellar with a Mistform (which I immediately deleted) and this broke the impasse for some reason. Most of the workers split off to rebuild the pillaged farm, and the rest stayed and completed the cottage. I don't know exactly what caused this situation to arise, but it seems detrimental.

The WoC inthe Illian game is being caused by the top shadow in the main Illian army. I deleted this unit. The game now goes forward.

Best wishes,

Breunor
 

Attachments

Is it not a bug? Am I meant to build naval craft to transport units around the Mountain Range, Kind of like the Inca's Starting position on the World Map?
No, it's not a bug. That is normal for the Erebus mapscript. The map is divided into sections by mountain ranges; some sections are bigger than others.

Currently, the AI doesn't do a very good job of using ships to leave its starting section. Once you are more comfortable with playing the mod you may wish to use a mapscript that generates a more open map instead.

-------------

The WoC inthe Illian game is being caused by the top shadow in the main Illian army. I deleted this unit. The game now goes forward.
Thanks Breunor. :goodjob:
 
...Worker Problem: A stack of Kuriotate workers is stuck trying to improve a tile. Each turn they abandon work to move away from the tile and then return:...

This happens to me, eventually, whenever I automate workers. Workers either destroy existing improvements and then constantly squabble over trying to build something completely nonsensical or they group up on one or two improvements and then take forever trying to build them.

Could it be a problem with the counter in that case? I seem to have more luck in grouping workers together and then directing them to a specific task which is logical if there is a bug with automation. But, if I have an automated worker join in on an improvement, it seems to reset the completion time on the improvement without reporting it. The same thing seems to happen when I pull a worker off an improvement. Leaving a fixed number to begin and finish the improvement seems fine. But, if any extras join or one leaves, it seems to slow it down.

So, could workers joining and leaving a current construction act to reset or bug the completion counter for that? I have not tested such an idea directly so, my suggestion rests on anecdotal evidence alone for now.

That as of yet untested idea does not explain workers ignoring unique tile improvements and building over them, though.
 
Emptiness,

Your 'unknown CtD' is really quite bizarre. The real cause fo the CtD is NOT your scout or the animals around it, although clearly killing the scout seems to trigger it; the real cause of the CtD for some reason is the Calabim.

If you delete the Calabim, the game doesn't crash under any circumstances. You actually have to wipe out the Calabim; eliminating their 4 units, 3 bloodpets and a worker, doesn't clear the crash. Even worse, I wiped out the Calabim, played about 10 turns, and then put them back in the game. Crash again. So, unfortunately, I can't see how you can contunue here unless you destroy the Calabim.

Best wishes,

Breunor
 
Based on the information Breunor just provided, I loaded my "Unknown CtD" save and increased the population of all non-Calabim cities to three, then ended the turn. With this change, a crash does not occur. The Calabim did not actually trigger their worldspell. Based on these observations, I believe the cause of the crash is located in the code that the AI uses to decide whether to cast River of Blood.
 
Back
Top Bottom