1.22 released!

Is it possible to design a mechanic to give promotions to Missionaries? Promotions such as `run faster', `use twice', `never fail', or `can swim' come to mind.

I think i feel bugs in terms `use twice' how about: give % chance on suced in near unclaimed city conected by road?

`can swim'
somthing like coastal squares or somthing?
How about amphibious unit? (Mechanical inflatry, modern tank, Humwee?) How about hovercraft?

Or % chance on construct temple / triger random event (like rebelion/ celebrations/ unhaphines/ harmony cross over)

:crazyeye: Imagine detecting Spi runing across the ocean...

Bether to fix.
 
The logs should be in ~My Documents/My Games/Beyond the Sword/Logs/ or similar. Logging needs to be enabled in your CivilizationIV.ini first (see Troubleshooting thread for how to do this).

Thank you! Here is a new bug:

I am at war with the only other known civ. They can't seem to find out who they hate most.

Attached is a Save from the preceding turn. The upload manager doesn't seem to approve of *.log files, so here is a snippet from PythonEr2.log that seems relevant.

Spoiler :
15:06:51 TRACE: Error in BeginActivePlayerTurn event handler <bound method GoldTrade.onBeginActivePlayerTurn of <Civ4lerts.GoldTrade instance at 0x3AF89C38>>
15:06:51 TRACE: GoldTrade instance has no attribute 'maxGoldTrade'
Traceback (most recent call last):
15:06:51 DEBUG: BugEventManager - event windowActivation: (1,)
File "BugEventManager", line 336, in _handleDefaultEvent
File "Civ4lerts", line 748, in onBeginActivePlayerTurn
File "Civ4lerts", line 766, in _getMaxGoldTrade
AttributeError: GoldTrade instance has no attribute 'maxGoldTrade'
15:06:51 TRACE: Error in BeginActivePlayerTurn event handler <bound method GoldPerTurnTrade.onBeginActivePlayerTurn of <Civ4lerts.GoldPerTurnTrade instance at 0x3AF891C0>>
15:06:51 TRACE: GoldPerTurnTrade instance has no attribute 'maxGoldPerTurnTrade'
Traceback (most recent call last):
File "BugEventManager", line 336, in _handleDefaultEvent
File "Civ4lerts", line 786, in onBeginActivePlayerTurn
File "Civ4lerts", line 805, in _getMaxGoldPerTurnTrade
AttributeError: GoldPerTurnTrade instance has no attribute 'maxGoldPerTurnTrade'
15:06:51 TRACE: Error in BeginActivePlayerTurn event handler <bound method RefusesToTalk.onBeginActivePlayerTurn of <Civ4lerts.RefusesToTalk instance at 0x3AF89C60>>
15:06:51 TRACE: RefusesToTalk instance has no attribute 'refusals'
Traceback (most recent call last):
File "BugEventManager", line 336, in _handleDefaultEvent
File "Civ4lerts", line 826, in onBeginActivePlayerTurn
File "Civ4lerts", line 858, in check
AttributeError: RefusesToTalk instance has no attribute 'refusals'
15:06:51 TRACE: Error in BeginActivePlayerTurn event handler <bound method WorstEnemy.onBeginActivePlayerTurn of <Civ4lerts.WorstEnemy instance at 0x3AF89148>>
15:06:51 TRACE: WorstEnemy instance has no attribute 'enemies'
Traceback (most recent call last):
File "BugEventManager", line 336, in _handleDefaultEvent
File "Civ4lerts", line 895, in onBeginActivePlayerTurn
File "Civ4lerts", line 932, in check
AttributeError: WorstEnemy instance has no attribute 'enemies'
15:07:05 DEBUG: BugEventManager - event windowActivation: (0,)
15:07:52 DEBUG: BugEventManager - event windowActivation: (1,)
15:08:02 DEBUG: BugEventManager - event windowActivation: (0,)
 

Attachments

  • Eucalyptus AD-0812.CivBeyondSwordSave
    1.4 MB · Views: 134
I recently (re)learned that The Statue of Liberty can only be built in a coastal city (after some frustrating turns wondering about a bug). That requirement doesn't seem to be mentioned anywhere. Presumably the American developers thought that it was obvious. Can that requirement be included in the Civilopedia and elsewhere? For that matter, perhaps the other coastal Wonders could use the same note.

Also, The Statue of Liberty requires a Forge. Should it also require a Harbour?
 
Do you mean in HR or unmodded BTS? If unmodded BTS, Statue of Liberty can be built anywhere. In unmodded BTS, I nearly always build it (or at least have a go at it until an AI gets there first). Most of the time, I build it in an inland city.
 
Thank you! Here is a new bug:

I am at war with the only other known civ. They can't seem to find out who they hate most.

Attached is a Save from the preceding turn. The upload manager doesn't seem to approve of *.log files, so here is a snippet from PythonEr2.log that seems relevant.

Spoiler :
15:06:51 TRACE: Error in BeginActivePlayerTurn event handler <bound method GoldTrade.onBeginActivePlayerTurn of <Civ4lerts.GoldTrade instance at 0x3AF89C38>>
15:06:51 TRACE: GoldTrade instance has no attribute 'maxGoldTrade'
Traceback (most recent call last):
15:06:51 DEBUG: BugEventManager - event windowActivation: (1,)
File "BugEventManager", line 336, in _handleDefaultEvent
File "Civ4lerts", line 748, in onBeginActivePlayerTurn
File "Civ4lerts", line 766, in _getMaxGoldTrade
AttributeError: GoldTrade instance has no attribute 'maxGoldTrade'
15:06:51 TRACE: Error in BeginActivePlayerTurn event handler <bound method GoldPerTurnTrade.onBeginActivePlayerTurn of <Civ4lerts.GoldPerTurnTrade instance at 0x3AF891C0>>
15:06:51 TRACE: GoldPerTurnTrade instance has no attribute 'maxGoldPerTurnTrade'
Traceback (most recent call last):
File "BugEventManager", line 336, in _handleDefaultEvent
File "Civ4lerts", line 786, in onBeginActivePlayerTurn
File "Civ4lerts", line 805, in _getMaxGoldPerTurnTrade
AttributeError: GoldPerTurnTrade instance has no attribute 'maxGoldPerTurnTrade'
15:06:51 TRACE: Error in BeginActivePlayerTurn event handler <bound method RefusesToTalk.onBeginActivePlayerTurn of <Civ4lerts.RefusesToTalk instance at 0x3AF89C60>>
15:06:51 TRACE: RefusesToTalk instance has no attribute 'refusals'
Traceback (most recent call last):
File "BugEventManager", line 336, in _handleDefaultEvent
File "Civ4lerts", line 826, in onBeginActivePlayerTurn
File "Civ4lerts", line 858, in check
AttributeError: RefusesToTalk instance has no attribute 'refusals'
15:06:51 TRACE: Error in BeginActivePlayerTurn event handler <bound method WorstEnemy.onBeginActivePlayerTurn of <Civ4lerts.WorstEnemy instance at 0x3AF89148>>
15:06:51 TRACE: WorstEnemy instance has no attribute 'enemies'
Traceback (most recent call last):
File "BugEventManager", line 336, in _handleDefaultEvent
File "Civ4lerts", line 895, in onBeginActivePlayerTurn
File "Civ4lerts", line 932, in check
AttributeError: WorstEnemy instance has no attribute 'enemies'
15:07:05 DEBUG: BugEventManager - event windowActivation: (0,)
15:07:52 DEBUG: BugEventManager - event windowActivation: (1,)
15:08:02 DEBUG: BugEventManager - event windowActivation: (0,)

Thanks for this report and save. I haven't had much time to try solve it yet, but it's on my todo list. Partner and youngest child have been ill this so I've had much less modding time than usual.

I recently (re)learned that The Statue of Liberty can only be built in a coastal city (after some frustrating turns wondering about a bug). That requirement doesn't seem to be mentioned anywhere. Presumably the American developers thought that it was obvious. Can that requirement be included in the Civilopedia and elsewhere? For that matter, perhaps the other coastal Wonders could use the same note.

Also, The Statue of Liberty requires a Forge. Should it also require a Harbour?

Do you mean in HR or unmodded BTS? If unmodded BTS, Statue of Liberty can be built anywhere. In unmodded BTS, I nearly always build it (or at least have a go at it until an AI gets there first). Most of the time, I build it in an inland city.

Statue of Liberty being coastal only is an HR thing. I'll add it to the tooltip and the pedia. Harbour would be a more sensible requirement than a Forge, I agree.
 
The XML allows multiple prereq buildings.
 
I've finally played a Massive, Odyssey game through long enough to see Railroads. My 500 Workers want to build Railroads, but it turns out that they can't. These former Pasture-making experts have to be re-educated for the modern world. OK.

At this speed, Workers cost 180:hammers: and Labourers 360:hammers:. However, when I try to upgrade my Workers, the price is 560:gold: each. Is the price correct?

When I set my science rate to 0%, and can generate 9000:gold: per turn, this only allows me to upgrade 16 (2 packets of 8) per turn. I am running Mercenaries, which gives me a -50% cost on Military unit upgrades, but that doesn't affect non-Military units.
 
I haven't changed the calculation from BTS, as far as I'm aware.
 
The Hagia Sophia works, but the building 'capture'-text needs updating:

1124AD: You have captured a Obelisk in Khmun. It will be used instead of a Monument.

Khmun actually contained both buildings because I had built Stonehenge.
 
For the first time ever, I have seen the following:

1148AD: Your Shaman 217 (Shengdu-Shinto) has failed to spread [Shamanism] in Khanbaliq!
1148AD: Shamanism has spread in Khanbaliq.
1148AD: The martyrdom of your Shaman 217 (Shengdu-Shinto) (Shaman) has inspired some citizens of Khanbaliq to embrace Shamanism after all!
 
Well 509, and 509 x 560:gold: = 285040:gold:, so it costs 30 Odyssey turns of 0% research to do the upgrade. Is the upgrade price correct?

Those 30 turns of no research were actually a strange hiatus in a game in which I was otherwise able to research new techs every 2-3 turns. So, the Worker to Labourer upgrade delayed progress by about 10 techs.

My conclusion is that the hammer cost of Labourers is too high. A Labourer now costs 2 times as much as a Worker. Would a factor of 1.25 be a better balance?
 
The Hagia Sophia works, but the building 'capture'-text needs updating:

1124AD: You have captured a Obelisk in Khmun. It will be used instead of a Monument.

Khmun actually contained both buildings because I had built Stonehenge.

Free buildings from wonders mess with the Hagia Sophia a bit. I'll have to have a think about how to deal with that. Message is accurate in regular situations though.

For the first time ever, I have seen the following:

1148AD: Your Shaman 217 (Shengdu-Shinto) has failed to spread [Shamanism] in Khanbaliq!
1148AD: Shamanism has spread in Khanbaliq.
1148AD: The martyrdom of your Shaman 217 (Shengdu-Shinto) (Shaman) has inspired some citizens of Khanbaliq to embrace Shamanism after all!

This is the effect of the Proselytism tenet (and the Shwedagon Paya prior to 1.22). I can't remove missionaries fail chance situationally, so I work around it like this.

Those 30 turns of no research were actually a strange hiatus in a game in which I was otherwise able to research new techs every 2-3 turns. So, the Worker to Labourer upgrade delayed progress by about 10 techs.

My conclusion is that the hammer cost of Labourers is too high. A Labourer now costs 2 times as much as a Worker. Would a factor of 1.25 be a better balance?

Labourers costing twice as much as Workers is to keep them in line with rising costs of other units. You seem to playing with considerably more workers than I'd expect most people would employ, so the cost of upgrading them all is more formidable than usual.
 
This is the effect of the Proselytism tenet (and the Shwedagon Paya prior to 1.22). I can't remove missionaries fail chance situationally, so I work around it like this.

I really like this solution! It's just one more thing to like about Proselytism.

Issue: The religion-expansion units are generically called Missionaries. Could the Christian Missionary take a specific name? Perhaps Evangelist? That is perhaps better than Apostle.
 
Labourers costing twice as much as Workers is to keep them in line with rising costs of other units. You seem to playing with considerably more workers than I'd expect most people would employ, so the cost of upgrading them all is more formidable than usual.

Well, my game had about 2 workers per city, which is not unusual.

Alternative suggestion: Let the civics-based upgrade discount that applies to Military units also apply to the Worker->Labourer upgrade. After all, for a Road-builder to become a Railway-builder involves only a retraining similar to that of a Spear-wielder becoming a Pike-wielder.

In contrast, it wouldn't be fair to apply the discount to the Settler->Colonist upgrade. But what if the coding then meant that the upgrade discount had to be applied to all units? Possible solution? Don't allow the Colonist to be upgraded from a Settler. Superfluous Settlers could perhaps be allowed to add 1 unit of population to existing cities.
 
I could be mistaken, but it seems that an automated Workboat won't by itself seek out a Reef and create a Marine Reserve. Is that a bug? I understand that there is a conflict of interest if a Resource sits on a Reef.
 
Issue: The religion-expansion units are generically called Missionaries. Could the Christian Missionary take a specific name? Perhaps Evangelist? That is perhaps better than Apostle.

It doesn't bother me too much, but I'll have a think about it.


Alternative suggestion: Let the civics-based upgrade discount that applies to Military units also apply to the Worker->Labourer upgrade. After all, for a Road-builder to become a Railway-builder involves only a retraining similar to that of a Spear-wielder becoming a Pike-wielder.

In contrast, it wouldn't be fair to apply the discount to the Settler->Colonist upgrade. But what if the coding then meant that the upgrade discount had to be applied to all units? Possible solution? Don't allow the Colonist to be upgraded from a Settler. Superfluous Settlers could perhaps be allowed to add 1 unit of population to existing cities.

I wouldn't modify the existing discounts (Mercenaries and Tactical trait) as neither make sense having cheaper Labourer upgrades. I could add it as a bonus elsewhere though.

I could be mistaken, but it seems that an automated Workboat won't by itself seek out a Reef and create a Marine Reserve. Is that a bug? I understand that there is a conflict of interest if a Resource sits on a Reef.

Not sure what's happening here, if it is. I'll do some tests and take a look at the code in the DLL some time.
 
Top Bottom