As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
Curious Civplayer - Mysteries of the DLL

That is correct, a Golden Age uses the eligible GP nearest to the capital. Selecting GP beyond the first has no effect on what GP are consumed. I investigated this in the code once.

Selecting multiple GP causes a start-golden-age order for each of them, and each of those orders looks nearest the capital for the GP it will consume. You get what you asked for, you ordered each of those GP to start a golden age if possible, same as each of a stack of catapults will bombard if possible.

Civ 4 issues an order to each unit individually, it has no concept of issuing one order to a group of units, even if it looks like that in the UI. The start-golden-age order is unique in that it's the only order where the ordered unit needs some other unit to do something. The CvUnit code that executes the order doesn't look back at the Python interface code to see if that some-other-unit might be a selected one.
Reply

(September 6th, 2020, 23:00)T-hawk Wrote: That is correct, a Golden Age uses the eligible GP nearest to the capital.  Selecting GP beyond the first has no effect on what GP are consumed.  I investigated this in the code once.

Selecting multiple GP causes a start-golden-age order for each of them, and each of those orders looks nearest the capital for the GP it will consume.  You get what you asked for, you ordered each of those GP to start a golden age if possible, same as each of a stack of catapults will bombard if possible.

Civ 4 issues an order to each unit individually, it has no concept of issuing one order to a group of units, even if it looks like that in the UI.  The start-golden-age order is unique in that it's the only order where the ordered unit needs some other unit to do something.  The CvUnit code that executes the order doesn't look back at the Python interface code to see if that some-other-unit might be a selected one.

Ah christ almighty. Let this be a lesson to everyone: never expect the game to be as smart as you want it to be.
Reply

I never played civ6 and obviously also don't know anything about the code there. Sorry.
Mods: RtR    CtH

Pitboss: PB39, PB40PB52, PB59 Useful Collections: Pickmethods, Mapmaking, Curious Civplayer

Buy me a coffee
Reply

(August 30th, 2020, 18:53)NobleHelium Wrote: Can you look up how spy defense works with friendly spies and security bureaus?

I do think there are already very extensive explanations about the espionage system or what exactly do you want to know here?
Mods: RtR    CtH

Pitboss: PB39, PB40PB52, PB59 Useful Collections: Pickmethods, Mapmaking, Curious Civplayer

Buy me a coffee
Reply

(September 8th, 2020, 15:18)Charriu Wrote:
(August 30th, 2020, 18:53)NobleHelium Wrote: Can you look up how spy defense works with friendly spies and security bureaus?

I do think there are already very extensive explanations about the espionage system or what exactly do you want to know here?

I'm looking for something like:

1) the chance to catch a spy every turn (and the additional chance to uncover the owner)
2) how having a security bureau affects that
3) how having a spy nearby affects that, and what the definition of "nearby" is
Reply

This thread covers a lot of it: https://www.realmsbeyond.net/forums/show...p?tid=6235
Reply

Okay, that was basically what I was looking for, thanks. In fact now I vaguely remember reading that post before. lol
Reply

This will be a quick one.

Are the free wins against barbs 100% wins or is the game lying to us?

For this we look into CvUnit and here into the method getDefenderCombatValues:

Code:
if (kDefender.isBarbarian())
    {
        if (GET_PLAYER(getOwnerINLINE()).getWinsVsBarbs() < GC.getHandicapInfo(GET_PLAYER(getOwnerINLINE()).getHandicapType()).getFreeWinsVsBarbs())
        {
            iTheirOdds = std::min((10 * GC.getDefineINT("COMBAT_DIE_SIDES")) / 100, iTheirOdds);
        }
    }
    if (isBarbarian())
    {
        //Charriu FREE_WIN_AGAINST_BARB_WITH_SETTLER
        if (GET_PLAYER(kDefender.getOwnerINLINE()).getWinsVsBarbs() < GC.getHandicapInfo(GET_PLAYER(kDefender.getOwnerINLINE()).getHandicapType()).getFreeWinsVsBarbs())
        {
            iTheirOdds =  std::max((90 * GC.getDefineINT("COMBAT_DIE_SIDES")) / 100, iTheirOdds);
        }
    }

I left out most of the actual calculation and only show you the part concerning free wins. As long as there are still free wins against the barbs available the game either calculates the defenders odds as:

- 90 * GC.getDefineInt("COMBAT_DIE_SIDES") / 100. COMBAT_DIE_SIDES is normally set to 1000, so this value will be 900.
- their normally calculated combat value

It will take whichever value is higher. The way combat odds is calculated means that every unit more or less can be considered a unit of strength 90 in a fight against barbs.

Summary

As it may already be clear, the game is lying when it comes to free barb fights. There is a possibility to loose those fights, albeit being a very small one.
Mods: RtR    CtH

Pitboss: PB39, PB40PB52, PB59 Useful Collections: Pickmethods, Mapmaking, Curious Civplayer

Buy me a coffee
Reply

Good thing our Scouts aren’t running into rampaging barbarian Modern Armor then :D

Reply

(September 17th, 2020, 10:04)Charriu Wrote: As it may already be clear, the game is lying when it comes to free barb fights. There is a possibility to loose those fights, albeit being a very small one.

So, i shouldnt trust any barb fight. Got it.
"Superdeath seems to have acquired a rep for aggression somehow. [Image: noidea.gif] In this game that's going to help us because he's going to go to the negotiating table with twitchy eyes and slightly too wide a grin and terrify the neighbors into favorable border agreements, one-sided tech deals and staggered NAPs."
-Old Harry. PB48.
Reply



Forum Jump: