Mod-Modders Guide to Fall Further

Thank you, but it doesn't seems to make the improvement auto grow.
Seem sonly that I can build it outside my borders. What I need is the improvement to upgrade even if not worked by a city (but in my border)

Make sure that the improvement CAN upgrade even if worked first. Needs an upgrade time and a specified upgrade improvement. Otherwise, make sure you are waiting at least 1 turn. If you place the improvement with worldbuilder, it will say "City Must Work to Upgrade!" for the first turn, but after that it will be fine (ie - end the turn, and it will show how long is left till upgrade, and reflect that 1 turn has already passed)

Does anyone know about a problem when setting negative yields to a terrain type for a civ which make no improvement buildable on that tile ?

Some improvements require that the tile is already worth a certain amount of yields (typically food, this is used for cottages and farms, possibly others). I would suspect that is what you are running into.
 
Make sure that the improvement CAN upgrade even if worked first. Needs an upgrade time and a specified upgrade improvement. Otherwise, make sure you are waiting at least 1 turn. If you place the improvement with worldbuilder, it will say "City Must Work to Upgrade!" for the first turn, but after that it will be fine (ie - end the turn, and it will show how long is left till upgrade, and reflect that 1 turn has already passed)

I should've mentioned that... Noticed it before with my Citadel of Light.
 
Im having an issue with Modding patch L.

Ive added in several buildings:

Spoiler :

[2.] Added Waystone building
[3.] Altered Eldar Council Building
[4.] Altered Granary building
[5.] Altered Smokehouse building
[6.] Altered Harbor building
[7.] Altered Market Building
[8.] Added Tanner building
[9.] Added Grocer building
[10.] Altered Inn building
[11.] Altered Lighthouse building
[12.] Added Bloodbowl Stadium building
[13.] Altered Theatre building
[14.] Added Brothel building
[15.] Added Bank building


and 4 resources (Olives, tea, spices, and silver)

and now i think ive encountered the most bizzar bug ever.

random game started as belseraphs, all going well. end turn to start turn 2 and THE ENTIRE WORLD is covered in bananas and sugar... im talking deep-sea banana and high altitude sugar here. its absolutely bizzar. i starte another random game and turned out as svartalfar, end turn, and same thing again, turn 2 the world is covered in bananas and sugar (i checked world builder, it is the whole world)

any idea what on earth i messed up to cause this? the only thing i used BONUS_BANANA and BONUS_SUGAR tags for was adding happyness in the grocer, and +5% gold from the market...
 
I'd say delete those and see what happens. Whatever it is you found a memory leak of some kind. So narrow down where it came from and we'll know where to look to fix something which is apparently quite major.

Did you use ANY fields which we added in Fall Further? Even if not on those two buildings?
 
Did you use ANY fields which we added in Fall Further? Even if not on those two buildings?

i have used the exp training tags and more than likely some others which i forgot about.

I'd say delete those and see what happens. Whatever it is you found a memory leak of some kind. So narrow down where it came from and we'll know where to look to fix something which is apparently quite major.

i removed the banana and sugar references from the market and grocer and its still doing it.
 
Some improvements require that the tile is already worth a certain amount of yields (typically food, this is used for cottages and farms, possibly others). I would suspect that is what you are running into.

Yes, it seems the case indeed. Do you know a way to avoid this constrain?

I'm planning a civ where no tiles gives anything except when building a specific all around improvement, but because of hills and river I have parasite hammers and commerce if I do not add a -1 hammer and -1 commerce to every terrain types for that civ, which then goes to negative value when no hills are present, hence not allowing me to build the so called improvement....

When the value is exactly 0 hammer and 0 commerce, then I have no problem.

If you have something up your leaves to avoid that, I would gladly hear it :)
 
Make sure that the improvement CAN upgrade even if worked first. Needs an upgrade time and a specified upgrade improvement. Otherwise, make sure you are waiting at least 1 turn. If you place the improvement with worldbuilder, it will say "City Must Work to Upgrade!" for the first turn, but after that it will be fine (ie - end the turn, and it will show how long is left till upgrade, and reflect that 1 turn has already passed)


It seems linked to the GraphicalOnly tag also.
Some tests shows that when the target improvement (after upgrade) is graphical only, it works fine, but still not if not (will upgrade when worked but not without). Strange...
 
Is it possible to specify which barbarian faction a trait will grant peace with?

Edit: For some background, I have an idea for the Doviello involving them being Feral rather than Barbarian... Want to play around with it. ;) I could add a Doviello only Ritual granting peace with Animals, and if it costed 1:hammers: they might as well start with it... but that's just clunky.

Maybe the function granting peace for Hyborem could work?

Edit2: Will this block in def onGameStart work? Edit: Apparently not. Can't figure out why....
Code:
pPlayer = gc.getPlayer(iPlayer)
bPlayer = gc.getPlayer(gc.getANIMAL_PLAYER())
iAnimalTeam = gc.getANIMAL_TEAM()
eTeam = gc.getTeam(pPlayer.getTeam())
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DOVIELLO'):
	eTeam.makePeace(iAnimalTeam)
 
I'd say delete those and see what happens. Whatever it is you found a memory leak of some kind. So narrow down where it came from and we'll know where to look to fix something which is apparently quite major.

Did you use ANY fields which we added in Fall Further? Even if not on those two buildings?

when I try to compile a debug.dll with the sourcefiles I get a C1067:
http://msdn.microsoft.com/en-us/library/d8s456s8(VS.80).aspx

Sorry if that was mentioned earlier I didn't read the whole thread. think that might be related?

Edit: maybe someone can reproduce:
1.)copy FF sources over BTS sourcefile
2.)either choose debug or final debug as solution configuration
3.)build gamecore.dll
I'm using visual c++ 2003

If I'm the only one maybe my original bts sources are corrupted, didn't touch them a long time

Edit2:
No it's definitly in your code FFH40z compiles fine

Edit3: actually I even can't compile a normal dll, here's the exerpt of the buildlog with the most recent file being processed:
CyCityInterface1.cpp
p:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\memory(498) : fatal error C1067: compiler limit : debug information module size exceeded
 
when I try to compile a debug.dll with the sourcefiles I get a C1067:
http://msdn.microsoft.com/en-us/library/d8s456s8(VS.80).aspx

Sorry if that was mentioned earlier I didn't read the whole thread. think that might be related?

Edit: maybe someone can reproduce:
1.)copy FF sources over BTS sourcefile
2.)either choose debug or final debug as solution configuration
3.)build gamecore.dll
I'm using visual c++ 2003

If I'm the only one maybe my original bts sources are corrupted, didn't touch them a long time

Edit2:
No it's definitly in your code FFH40z compiles fine

Edit3: actually I even can't compile a normal dll, here's the exerpt of the buildlog with the most recent file being processed:
CyCityInterface1.cpp
p:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\memory(498) : fatal error C1067: compiler limit : debug information module size exceeded

The error means that the decorated symbol exceeds 244 chars. It is the only point this error occures. If, somehow, the specified file was altered, then a debug dll would be possible with c++ 2003. Right now it isn't.
 
Yes, it seems the case indeed. Do you know a way to avoid this constrain?

I'm planning a civ where no tiles gives anything except when building a specific all around improvement, but because of hills and river I have parasite hammers and commerce if I do not add a -1 hammer and -1 commerce to every terrain types for that civ, which then goes to negative value when no hills are present, hence not allowing me to build the so called improvement....

When the value is exactly 0 hammer and 0 commerce, then I have no problem.

If you have something up your leaves to avoid that, I would gladly hear it :)

There is a field early in the improvement XML, something like NatureYields, which sets the minimum required yield for a tile to have. By default, the minimum for each yield is 0, so it has no effect, but since you are going BELOW zero, you need to make these minimums be negative. Also, since you have negative net yield from the tiles, your universal improvement will not provide as much output on these tiles as it will on other ones, though that might be acceptable to you since it just means that riverside and hill are still better spots in the end.

Is it possible to specify which barbarian faction a trait will grant peace with?

Edit: For some background, I have an idea for the Doviello involving them being Feral rather than Barbarian... Want to play around with it. ;) I could add a Doviello only Ritual granting peace with Animals, and if it costed 1:hammers: they might as well start with it... but that's just clunky.

Maybe the function granting peace for Hyborem could work?

Edit2: Will this block in def onGameStart work? Edit: Apparently not. Can't figure out why....
Code:
pPlayer = gc.getPlayer(iPlayer)
bPlayer = gc.getPlayer(gc.getANIMAL_PLAYER())
iAnimalTeam = gc.getANIMAL_TEAM()
eTeam = gc.getTeam(pPlayer.getTeam())
if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DOVIELLO'):
	eTeam.makePeace(iAnimalTeam)

Could have sworn I coded it, but I don't see it. I intended to at the least. Did you copy your code snippet from Nature's Revolt? That should show exactly how to get peace with the animals established, though your code does look like it should work (btw, you never use bPlayer, so don't really need to have defined it)

It seems linked to the GraphicalOnly tag also.
Some tests shows that when the target improvement (after upgrade) is graphical only, it works fine, but still not if not (will upgrade when worked but not without). Strange...

Very odd, will have to play with it some more, linking to graphical only seems rather random, so certainly not intended.

when I try to compile a debug.dll with the sourcefiles I get a C1067:
http://msdn.microsoft.com/en-us/library/d8s456s8(VS.80).aspx

Sorry if that was mentioned earlier I didn't read the whole thread. think that might be related?

Edit: maybe someone can reproduce:
1.)copy FF sources over BTS sourcefile
2.)either choose debug or final debug as solution configuration
3.)build gamecore.dll
I'm using visual c++ 2003

If I'm the only one maybe my original bts sources are corrupted, didn't touch them a long time

Edit2:
No it's definitly in your code FFH40z compiles fine

Edit3: actually I even can't compile a normal dll, here's the exerpt of the buildlog with the most recent file being processed:
CyCityInterface1.cpp
p:\Programme\Microsoft Visual Studio .NET 2003\Vc7\include\memory(498) : fatal error C1067: compiler limit : debug information module size exceeded

Copy the code over FfH 040z, not over base BtS. I don't know for certain that I have modified absolutely every file which Kael has also modified, pretty sure I have, but there might be some which aren't changed yet. The errors are wierd though, never seen anything like the first, and the second one is what led us to splitting the CyMapInterface file into 2 pieces, but hasn't come up for us with CyCity before, especially since it is already split up.

Anyway, I've set things up so that we SHOULD distribute the full source code with any future patches. Hopefully that helps.
 
Anyway, I've set things up so that we SHOULD distribute the full source code with any future patches. Hopefully that helps.

:bowdown:

Since I already forgot which files I had to copy from somewhere to compile my own dll I really really like this :)
 
Could have sworn I coded it, but I don't see it. I intended to at the least. Did you copy your code snippet from Nature's Revolt? That should show exactly how to get peace with the animals established, though your code does look like it should work (btw, you never use bPlayer, so don't really need to have defined it)

You did code it actually... For rituals. :lol: Couldn't copy the Nature's Revolt code as it's xml. I HAD been using bPlayer, but changed the code slightly...

<ForcePeaceWithCivilization>CIVILIZATION_ANIMAL</ForcePeaceWithCivilization>
 
There is a field early in the improvement XML, something like NatureYields, which sets the minimum required yield for a tile to have. By default, the minimum for each yield is 0, so it has no effect, but since you are going BELOW zero, you need to make these minimums be negative. Also, since you have negative net yield from the tiles, your universal improvement will not provide as much output on these tiles as it will on other ones, though that might be acceptable to you since it just means that riverside and hill are still better spots in the end.

Youhou !! :crazyeye:
You saved my day.It works perfectly, just have to set to -1/-2 and I can build correctly.

Now back to the auto-upgrade problem :D
 
Ho ho...
I was too quick to enjoy. While I can now build the improvement with my civ only hammers for it, the city auto-assigned "worker" prefers to be a 1 hammer citizen (not working any tile) rather than use the 4 hammers tile !
Strange, as if it ignores the civ specific output (4 in my case for the improvement+tile) and bases the calculation only on the common output (which is 0 in my case)
 
Copy the code over FfH 040z, not over base BtS. I don't know for certain that I have modified absolutely every file which Kael has also modified, pretty sure I have, but there might be some which aren't changed yet. The errors are wierd though, never seen anything like the first, and the second one is what led us to splitting the CyMapInterface file into 2 pieces, but hasn't come up for us with CyCity before, especially since it is already split up.

Anyway, I've set things up so that we SHOULD distribute the full source code with any future patches. Hopefully that helps.
Thx. It's fine now.

Another thing. I'm trying to help Psychic Llamas updating the Warhammer mod to use FF code. I currently have a problem removing somnium. Does anyone have an idea if there's somniumrelated code not commented with "cardgame" or "somnium"? If I remove that and switch back to the old code in the marked area everything gets messed up.
 
Thx. It's fine now.

Another thing. I'm trying to help Psychic Llamas updating the Warhammer mod to use FF code. I currently have a problem removing somnium. Does anyone have an idea if there's somniumrelated code not commented with "cardgame" or "somnium"? If I remove that and switch back to the old code in the marked area everything gets messed up.

We built a new Guilds display, so you might have 2 instances of the same variable or function name whenyou undo Somnium
 
I am using the newest FF core DLL.
Could anyone point me to what dll handles terain improvement.
Esentialy, I want to check if unit A is standing on improvement B. For example:
If(Mage is on Farm)

Esentialy, I want to make a function that checks if a unit (the currently selected one) is on a specific inprovement.
Where can I find a function that returns the improvement on a certain location?
 
Ho ho...
I was too quick to enjoy. While I can now build the improvement with my civ only hammers for it, the city auto-assigned "worker" prefers to be a 1 hammer citizen (not working any tile) rather than use the 4 hammers tile !
Strange, as if it ignores the civ specific output (4 in my case for the improvement+tile) and bases the calculation only on the common output (which is 0 in my case)

I have confirmation that the section ImprovementYieldChanges of CIV4CivilizationInfos.xml is not considered by the game to select the best tile to work for cities. Seems a bug to me (FF related?)

EDIT : Or not... After testing more, it may be linked to upgrade improvement being less good than the current one, and so not motivating the AI to work it.
 
Back
Top Bottom