FfH2 0.32 Bug Thread

I recently got my first dragon as the Kuriotates. It wasn't the dragon I was expecting, however, Chalid had a nice long talk with Acheron and convinced him that Empyrean was the way to go.

Shortly later, Big Red helped me take on Hyborem and got diseased but I'm unable to remove the diseased promotion from Acheron because I suppose he's magic immune.

This is with .32E

Unfortunetly the Pool of Tears wasn't in my game and I didn't have a chance to build the Aquae Sucellus to see if the improvements could remove it. I only tried with Chalid and the Empyrean priests.
IIRC the Aquae Sucellus and the Pool both will work, however, due to Acheron's magic immunity you are correct in that the Cure Disease spell will not. Although, personally I use Acheron more as living artillery (and Dragon-cult converter) than as an actual attacker so I don't mind the Disease.
 
Patch E. Game as the Balseraphs. Orthus takes Coombe View. Several turns later, Coombe View revolts (due to insanely high culture from the nearby Jubilee) and returns to me. Orthus, who was occupying the city, was killed, but doesn't drop his axe. Is there a way to make units eliminated by city revolts drop their weapons?
 
using 0.32e
playing kuriotates

cant remove disease promotion with cure disease. (in this case: sphener try to cast it on eurabus the golden dragon)
 
using 0.32e
playing kuriotates

cant remove disease promotion with cure disease. (in this case: sphener try to cast it on eurabus the golden dragon)
Once again, this is because Dragons are 100% Magic Immune. No spells at all work on them. The only ways to remove Disease from a dragon are the Pool of Tears world feature, and the Aquae Sucellus world wonder.
 
Patch E. Game as the Balseraphs. Orthus takes Coombe View. Several turns later, Coombe View revolts (due to insanely high culture from the nearby Jubilee) and returns to me. Orthus, who was occupying the city, was killed, but doesn't drop his axe. Is there a way to make units eliminated by city revolts drop their weapons?

Addendum: To make World Units NEVER eliminated by revolt. And to make other units who have equipment drop the item, or send it to the original owner's Capital.
 
Addendum: To make World Units NEVER eliminated by revolt. And to make other units who have equipment drop the item, or send it to the original owner's Capital.

I personally think that no units should be eliminated when cities flip. They should all be ejected from the city instead.
 
OK, I found what's causing the withdrawal bug.

Look at the lines in bold:

Spoiler :
Code:
            if (pDefender->isFleeImmortal())
            {
                pDefender->joinGroup(NULL);
                pDefender->setFleeImmortal(false);
                pDefender->doImmortalRebirth();
                changeMoves(std::max(GC.getMOVE_DENOMINATOR(), pPlot->movementCost(this, plot())));
                [B]getGroup()->groupMove(pPlot, true, ((canAdvance(pPlot, 0)) ? this : NULL));[/B]
                getGroup()->clearMissionQueue();
            }
            if (pDefender->isFleeWithdrawl())
            {
                pDefender->joinGroup(NULL);
                pDefender->setFleeWithdrawl(false);
                pDefender->jumpToNearestValidPlot();
                changeMoves(std::max(GC.getMOVE_DENOMINATOR(), pPlot->movementCost(this, plot())));
                [B]getGroup()->groupMove(pPlot, true, ((canAdvance(pPlot, 0)) ? this : NULL));[/B]
                getGroup()->clearMissionQueue();
                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());
            }
The move order for the winning unit should only be given if there are no more defending units on the plot (even if the third argument of groupMove is NULL, the attacking stack will sometimes push the defending one away). Here's the fixed code:

Spoiler :
Code:
            if (pDefender->isFleeImmortal())
            {
                pDefender->joinGroup(NULL);
                pDefender->setFleeImmortal(false);
                pDefender->doImmortalRebirth();
                changeMoves(std::max(GC.getMOVE_DENOMINATOR(), pPlot->movementCost(this, plot())));
                [B]if (pPlot->getNumVisibleEnemyDefenders(this) == 0)[/B]
                [B]{[/B]
                    [B]getGroup()->groupMove(pPlot, true, ((canAdvance(pPlot, 0)) ? this : NULL));[/B]
                [B]}[/B]
                getGroup()->clearMissionQueue();
            }
            if (pDefender->isFleeWithdrawl())
            {
                pDefender->joinGroup(NULL);
                pDefender->setFleeWithdrawl(false);
                pDefender->jumpToNearestValidPlot();
                changeMoves(std::max(GC.getMOVE_DENOMINATOR(), pPlot->movementCost(this, plot())));
                [B]if (pPlot->getNumVisibleEnemyDefenders(this) == 0)[/B]
                [B]{[/B]
                    [B]getGroup()->groupMove(pPlot, true, ((canAdvance(pPlot, 0)) ? this : NULL));[/B]
                [B]}[/B]
                getGroup()->clearMissionQueue();
                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());
            }
 
BtS 3.17 is out - obviously we need a patch here soon too as it breaks FfH2... :(
 
·Imhotep·;6939202 said:
BtS 3.17 is out - obviously we need a patch here soon too as it breaks FfH2... :(

Im in Utah right now, I'll be able to work on conversion this weekend when I have access to the mod again.
 
heheh, can't wait :D
Also a random note: Firefox 3 is out as well, day of new editions perhaps.
 
Ok, didn't want to start a new thread just to say this, so the Bug thread is sadly the most appropriate place to say:

THANK GOD!​

3.17 Changelog said:
Unit graphic on main interface updates when unit art changes (mods)

This means the little dude you see in the lower left hand corner, if you didn't understand it on the first read-through (I sure as heck didn't)


The rest of the changelog isn't quite as awesome for FfH's purposes, but there are quite a few potentially nice things in there. You can read the best version I have found here
 
Do I spot a fix to the game options being wiped every time too? Those 2 fixes alone are awesome.
 
Fixed "cityAcquiredAndKept" python event bug

I think this will regulate a lot of OOS issues . Great !
 
·Imhotep·;6939202 said:
BtS 3.17 is out - obviously we need a patch here soon too as it breaks FfH2... :(

Speaking of which, does anyone know how to get steam to revert to an older version or if it will even do it?
 
Speaking of which, does anyone know how to get steam to revert to an older version or if it will even do it?

I guess that's not possible. You can prevent Steam from updating games but you can't revert to older versions. :dunno:
 
Ships in foreign ports no longer get bumped to strange places upon war declaration

I think I've seen this reported a few times here, it may also help fix similar strange occurences.

I'll wait for Kael to release the patch compatibility fix before downloading this new patch.

edit: I have the retail version of BTS, but it should work fine.
 
Units that are defending and withdraw from combat seem to disappear. On some occasions all the units stacked with the defending unit disappear with it.
 
using 0.32e

are summoned units barbarian? cause i get no xp from units if my units are above 100 xp and only get 1 with raiders trait!
 
Back
Top Bottom