SDK Component Requests:

Well, I would design the new traits with whatever stats you like first, then ask for new tags to make the stats work second. At least, that's what I'd do. ;)

You can even start a thread on it; I know a lot of people want Seafaring, and a few other traits boosted or nerfed.
 
Just so that XML modders are aware, the iRevolutionIndexModifier tag on buildings has been replaced by 3 seperate tags on buildings now. Buildings now have these Revolution Tags:

Code:
			<iRevIdxLocal>15</iRevIdxLocal>
			<iRevIdxNational>12</iRevIdxNational>
			<iRevIdxDistanceModifier>15</iRevIdxDistanceModifier>

As usual, be sure you are using an up-to-date schema that has the information for these tags in it. You can find them here. The old iRevolutionIndexModifier tag still works, but is just a wrapper for iRevIdxLocal now.
 
Hi,

I keep checking all the English text that is hardcoded and that I can't translate.

I've found the "Owner :" text used with Fixed borders

in cvGameTextMgr.cpp, line 5370.

Could you please update the code to have that text dynamic ?

I'm not able to do it alone :blush:, I don't know the SDK well.

I'm will also update some of the python scripts for other hidden hardcoded text . I Will provide a release when it's ready.

thanks
 
Is it possible to make some units upgradable but not obsolete? In other words, Being able to build old units even after new techs are researched.
I made Scout/Explorer upgraded to Spy (a little experiment on Caldon's idea :)), but it made Explorer untrainable after Alphabet were researched..
So, can it be done?
 
Is it possible to make some units upgradable but not obsolete? In other words, Being able to build old units even after new techs are researched.
I made Scout/Explorer upgraded to Spy (a little experiment on Caldon's idea :)), but it made Explorer untrainable after Alphabet were researched..
So, can it be done?

If you make the Scout/Explorer upgrade to both Spy and Agent, then you will still be able to train Explorers until Photography (when Agents are unlocked).
 
Yes... but I can't promise they will be added to 1.74. Most new tags break saves.
 
Ah.. Sorry for another request.
Can certain civs be forced to start from coastal tile and be forced to build more coastal cities so that they can get benefit from their UBs?
I know you're busy with bug catching. It's not urgent and I can wait. ;)

EDIT: I missed this last time.

I can't restrict free Morale to Recon Units because Nomad alredy gave free promotions to Animal, Mounted, Recon, Wheeled Units.
Module doesn't override original xml, so it gives Morale to Animal, Mounted, Recon, Wheeled Units.

I want to write xml like this, so that only Recon Units get free Speed promotion.
Code:
<FreePromotions>
	<FreePromotion>
		<PromotionType>PROMOTION_FLANKING1</PromotionType>
		<bFreePromotion>1</bFreePromotion>
	</FreePromotion>
        <FreePromotion>
	      <PromotionType>PROMOTION_GUERILLA1</PromotionType>
	      <bFreePromotion>1</bFreePromotion>
        </FreePromotion>
</FreePromotions>
<FreePromotionUnitCombats>
	<FreePromotionUnitCombat>
	            <UnitCombatType>UNITCOMBAT_ANIMAL</UnitCombatType>
		<bFreePromotionUnitCombat>1</bFreePromotionUnitCombat>
	</FreePromotionUnitCombat>
	<FreePromotionUnitCombat>
	            <UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
		<bFreePromotionUnitCombat>1</bFreePromotionUnitCombat>
	</FreePromotionUnitCombat>
	<FreePromotionUnitCombat>
		<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
		<bFreePromotionUnitCombat>1</bFreePromotionUnitCombat>
	</FreePromotionUnitCombat>
	<FreePromotionUnitCombat>
		<UnitCombatType>UNITCOMBAT_WHEELED</UnitCombatType>
		<bFreePromotionUnitCombat>1</bFreePromotionUnitCombat>
	</FreePromotionUnitCombat>
</FreePromotionUnitCombats>
<FreePromotions>
	<FreePromotion>
		<PromotionType>PROMOTION_SPEED</PromotionType>
		<bFreePromotion>1</bFreePromotion>
	</FreePromotion>
</FreePromotions>
<FreePromotionUnitCombats>
	<FreePromotionUnitCombat>
		<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
		<bFreePromotionUnitCombat>1</bFreePromotionUnitCombat>
	</FreePromotionUnitCombat>
</FreePromotionUnitCombats>

Can it be done by modifying schema file? I have little idea of schema..
 
a few request for french version :

* DynamicCivNames.py, line 180 : "Your civilization is now known as the %s" is hardcoded

I already added a text Key in svn 251 : TXT_KEY_MOD_DCN_NEWCIV_NAME_DESC, and I tried to add localText.getText("TXT_KEY_MOD_DCN_NEWCIV_NAME_DESC", ()) instead of the String, but it doesn't works as intended.

* CvUnit.cpp, lines 6291 and 6314 : "Tile Influence" .
text Key is ready (in svn 251) : TXT_KEY_TILE_INFLUENCE

* again with DynamicCiv : I have some Error messages when the civ name has a french special character (é,è,ç,...) :

Code:
08:10:56 TRACE: Error in GameStart event handler <bound method RevolutionInit.onGameStart of <RevolutionInit.RevolutionInit instance at 0x43839148>>
08:10:56 TRACE: 'ascii' codec can't decode byte 0xe9 in position 3: ordinal not in range(128)

Spoiler :
Code:
Traceback (most recent call last):
  File "BugConfig", line 110, in unknown_endtag
  File "BugConfig", line 334, in endChild
  File "BugConfig", line 337, in end
  File "BugConfig", line 318, in process
  File "BugConfig", line 547, in handle
  File "BugUtil", line 652, in callFunction
  File "RevolutionInit", line 75, in __init__
  File "RevolutionInit", line 168, in onGameLoad
  File "DynamicCivNames", line 54, in __init__
  File "DynamicCivNames", line 210, in onSetPlayerAlive
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 3: ordinal not in range(128)
Traceback (most recent call last):
  File "BugEventManager", line 363, in _handleDefaultEvent
  File "RevolutionInit", line 97, in onGameStart
  File "RevolutionInit", line 168, in onGameLoad
  File "DynamicCivNames", line 54, in __init__
  File "DynamicCivNames", line 210, in onSetPlayerAlive
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 3: ordinal not in range(128)

Is there a way to solve that error ? is it because SetCivName is using std::wstring type ? or the interface between python and c++ ? :confused:
 
a few request for french version :

* DynamicCivNames.py, line 180 : "Your civilization is now known as the %s" is hardcoded

I already added a text Key in svn 251 : TXT_KEY_MOD_DCN_NEWCIV_NAME_DESC, and I tried to add localText.getText("TXT_KEY_MOD_DCN_NEWCIV_NAME_DESC", ()) instead of the String, but it doesn't works as intended.

* CvUnit.cpp, lines 6291 and 6314 : "Tile Influence" .
text Key is ready (in svn 251) : TXT_KEY_TILE_INFLUENCE

* again with DynamicCiv : I have some Error messages when the civ name has a french special character (é,è,ç,...) :

Code:
08:10:56 TRACE: Error in GameStart event handler <bound method RevolutionInit.onGameStart of <RevolutionInit.RevolutionInit instance at 0x43839148>>
08:10:56 TRACE: 'ascii' codec can't decode byte 0xe9 in position 3: ordinal not in range(128)

Spoiler :
Code:
Traceback (most recent call last):
  File "BugConfig", line 110, in unknown_endtag
  File "BugConfig", line 334, in endChild
  File "BugConfig", line 337, in end
  File "BugConfig", line 318, in process
  File "BugConfig", line 547, in handle
  File "BugUtil", line 652, in callFunction
  File "RevolutionInit", line 75, in __init__
  File "RevolutionInit", line 168, in onGameLoad
  File "DynamicCivNames", line 54, in __init__
  File "DynamicCivNames", line 210, in onSetPlayerAlive
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 3: ordinal not in range(128)
Traceback (most recent call last):
  File "BugEventManager", line 363, in _handleDefaultEvent
  File "RevolutionInit", line 97, in onGameStart
  File "RevolutionInit", line 168, in onGameLoad
  File "DynamicCivNames", line 54, in __init__
  File "DynamicCivNames", line 210, in onSetPlayerAlive
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 3: ordinal not in range(128)

Is there a way to solve that error ? is it because SetCivName is using std::wstring type ? or the interface between python and c++ ? :confused:

I fixed the CvUnit areas, and did the best I could with the Dynamic Civ Names. I think Boost forces Ascii conversion for strings, so the only way to get unicode to work would be to rewrite Dynamic Civ Names in C++ instead of Python; which would not be a fun job.

climat,

You would need to make a good deal of C++ modifications for that to work. Perhap's it's time to dig out the Idiot's Guide to DLL Modding that Xienwolf wrote? My Source code is public. ;) Otherwise, you will need to wait for AND 1.75
 
I fixed the CvUnit areas, and did the best I could with the Dynamic Civ Names. I think Boost forces Ascii conversion for strings, so the only way to get unicode to work would be to rewrite Dynamic Civ Names in C++ instead of Python; which would not be a fun job.

Thanks for the update.
Don't worry for the Dynamic Civ Names. it's working so - I hope it doesn't break other mods or feature.
If Civ5 wasn't coming soon, I think I'd try do convert the code. But as you said, it's not very interresting. I'll learn LUA instead

I started the installer translations, but I'm not done for the moment. It will be available for 1.75 ;).
I want now to translate the different options of the map scripts - if it's possible.
 
Is the following possible?

I'm looking for a tag thats difines a flexible health bonus based upon city size.

So that the value you define in the tag is the population number that gives 1 health.
If you define, let's say '5', then for each 5 pop point you have, you get one :health:.
So the calc should look like: "population size in city" / "health per pop" = "health bonus in city". I don't know where to round up or down. AFAIK the policy in CIV is to round down, so I would think that should go here as well.

So, If you have a size 12 city, and we have the 5 "health per pop" from above, you will get 12/5 = 2,4 ~ 2 :health:. If you have a size 33 city you will get 33/5 = 6,6 ~6 :health:.

The reason for this is that I find it funny you get a static +1 :health: from Sewer System and Public Transport, but the maintenance cost goes up as the city grows. And since you only get a +1 from a lot of the buildings, you really don't have to build them. In most of my cities I don't build Sewer system, even when they are size 40 which correspond to many millions of inhabitance. How many grand cities around the World have no sewer system and no public transport at all?

Of course it works the other way around as well with :yuck:. A Coal or Oil Power Plant, for instance could give a :yuck: penalty, the same way, since more people consume more electricity, generating more pollution.

Is this feasible?

And can it be done with :)/:mad: as well? I don't have any examples of use at the moment.

Thank you for a great modmod and for the hard work you put into it :goodjob:
 
Yeah, sure. I can't add those in a patch (due to save compatibility), but they will be in AND 1.75.
 
All right mod-modders and modders alike! This is your last chance to get tags into AND! Please submit any XML tag requests, if they are not on the OP. After AND 1.75 is released, no new XML tags will be added.
 
Back
Top Bottom