Feature Requests and Discussion

Could you give terrain improvements a PythonPerTurn callback?

There are some things I'd like certain improvements to do each turn under certain conditions, but I really don't want to waste resources using python to cycle through the whole map and check each tile for such improvements.

For Unique Improvements, you could alternatively cache their location. That would only require one full cycle per game start/load (and only at start if you use the famous SD Toolkit I mentioned earlier :)). Would even work if improvement moves (check each turn if improvement is there, if not, search again) or vanishes forever / is not on the map (if not found when searching again, just remember it's not there).

PythonCallback would be more elegant and slightly faster, though.
 
The Cult of the Dragon was once part of the FFH game, but removed as a game mechanic. It's still part of the lore however, especially for the Kuriotates and the Sheaim. How about making the Pagan Temple for those two civs a Dragon Shrine (or Cult of the Dragon shrine)? The game stats could be exactly the same, it would only add a bit more uniqueness and flavor.

No argument from me if you don't want to, I'll just continue to do that for my personal use.
 
While I am making changes to some of the terraforming spells, is it okay if I make the following adjustments:
-Spring can change burning sands to fields of perdition (seems unfair that scorch can change fields of perdition to burning sands and spring can't reverse it) but cannot be cast on obsidian plains (just like it can't be cast on flood plains)
-Spring and vitalize change scrubs to new forest (at the same time the desert is being changed to plains)
-Sanctify changes obsidian plains to flood plains (at the same time the burning sands is being changed to desert)

I think that was all the ideas I had and they seem logical to me. Also how do you want scorch to behave? Should it do anything to features or just leave them alone? For example, should it remove forests when it changes plains to desert?

edit: All of these adjustments would just be XML changes with the new tags I've added.
 
While I am making changes to some of the terraforming spells, is it okay if I make the following adjustments:
-Spring can change burning sands to fields of perdition (seems unfair that scorch can change fields of perdition to burning sands and spring can't reverse it) but cannot be cast on obsidian plains (just like it can't be cast on flood plains)

Yes

-Spring and vitalize change scrubs to new forest (at the same time the desert is being changed to plains)

No

-Sanctify changes obsidian plains to flood plains (at the same time the burning sands is being changed to desert)

Yes

Also how do you want scorch to behave? Should it do anything to features or just leave them alone? For example, should it remove forests when it changes plains to desert?

Yes. I think all the current terraforming spells should remove invalid features.
 
Yes. I think all the current terraforming spells should remove invalid features.

Even Vitalize? That seems like quite a nerf for a level 3 spell, but if you're certain I'll do it. I can make Vitalize remove scrubs in the XML now, so Vitalize could act the same as it did when everything was in python.
 
When does this ever come up besides Scrubs and Forests on desert tiles?

Floodplains mainly but also oasis. With vitalize you could go from desert/floodplains -> plains/floodplains -> grasslands/floodplains, but if vitalize removes invalid features that couldn't be done.
 
Floodplains mainly but also oasis. With vitalize you could go from desert/floodplains -> plains/floodplains -> grasslands/floodplains, but if vitalize removes invalid features that couldn't be done.

Argh! Stupid terraforming spells! I didnt realize how convoluted they were when I put in this feature request. But since we're already pretty far down the rabbit hole might as well keep pushing onward.

OK then, Vitalize should not remove invalid features.
 
Nature spell sphere is pretty weak anyway... so better not to nerf vitalize or...I'd give to per nature node X chance to find resources per improvement...I know, earth spell spehere has it but it is insignificant anyway. Better than nothing. Or to give to treants nature mana affinity.
 
Would it be possible to alter non-riverside plot yields via buildings or state religion? Perhaps Doviello who follow Auric could get a minor food bonus on Ice, or civs who build a monument to the Infernal could receive a greater commerce yield from hell terrain.
 
Argh! Stupid terraforming spells! I didnt realize how convoluted they were when I put in this feature request. But since we're already pretty far down the rabbit hole might as well keep pushing onward.

OK then, Vitalize should not remove invalid features.

I agree. I didn't realize either until I did this :crazyeye:.

I have committed the changes. I think all should be ready for the next version. The XML tags are in place so AI or text changes for the terraforming spells could come later without breaking saves. I don't plan on doing it right now, but if you feel like doing it then feel free. I think this week I will play through a game updated to the latest revision.
 
For the next version could you improve the order of the game options when starting a custom game? I think this would just require changing the order in GameOptionInfos.xml. I would put Advanced Tactics, Revolutions, and Puppet States near the top. The "Challenge" options should go near the bottom IMO, but probably before the options that turn off specific religions or units.
 
@Red Key:
I think that it is better to keep the new game options at the end of the list, because otherwise players who go back and forth between mods might wind up having their saved game options in their other mods change unexpectedly. This could particularly be a problem for invisible game options. Accidentally being stuck with an unexpected scenario game option in a random game sucks.

---------

I think that the code which tells an injured automated unit to move to a safer tile to heal should take into account whether said unit can find safety on impassible terrain.

In my current game I have an injured Griffon on a Peak plot, which keeps moving to an adjacent Hill tile and fortifying there to heal rather than staying where it is and being pretty much invulnerable while it regains its strength.
 
The AI likes to have at least 2 Workers per city, I believe. How about having the Mercurians and Infernals start with 2 Workers when created, so they can immediately go into their own building strategy? (I believe they still only start with 1 each.)
 
I think that the AI of limited duration units (including Enraged units summoned by a human player, which in my modmod include Chaos Marauders and Acheron's fireballs) could still use some improvement.

Could you make it so that summons with a duration of 1 ignore any enemy units that are too far away for them to reach during their current turn, and so focus on attacking those that they can actually reach?

----

Could you please add a few more spare game options for modders, or better yet find a way that new game options could be added in xml without having to be hardcoded in the DLL as well?

----

Could you expose canDoReligion to python?

In my modmod, the Calabim are not allowed to follow the Empyrean, the Illians cannot follow anything but The White Hand, and no one can adopt The Children of The One or The Cult of the Dragon as their state religion. I added some lines to CvReligionScreen.py to prevent them from accepting the religion there and in CvEventManager.py to force players to abandon the incompatible religions if they get them. However, There does not currently seem to be a way to prevent the popup telling the player that the religion has spread is his land and giving him the option to adopt the religion without going to the religion screen. It would be a lot simpler if I could just use python to place limits on bool CvPlayer::canDoReligion(ReligionTypes eReligion) const
 
I don't know if this is possible, but it's still something I'd like to see:
Units with the hero promotion gain 1:strength: every XYZ turns based on game speed (f.e. 100 turns at normal).
This way esp. early heros would remain their impact even in the endgame stage.
 
I disagree.
early heros already get an advantage on late heroes as they come early.... and are thus much more useful than late heroes..
I've always had lucian, bambur or gilden silveric have much more impact on my defense or attack strategies (at the very least by allowing me to spend less in units and more in techs/ development) than magnadine or the war machine or sephner.

in conclusion, late heroes are much stronger than early heroes, but they are less game-changing... and are not "so" much stronger as by the time they arrive, you have much units with more than 100xp, and the "early" heros have more than 100xp... and can thus often take the "newly born late hero" out of combat very quickly.

giving a further bonus to early heros would advantage them too much against late heroes, which are already weak (as they are not as game-changer as early heroes)


lastly, you have to consider that the "heroic attack/ heroic defense" promotions ARE exactly the thing that was implemented to allow early to heroes to have an impact mid-late game... (they get +1 str after level 7 and +1str again after level 9 (but you have to spend xp for that .. and caster heroes get the "twincast promotion" that double their caster's effectiveness)
you need at least level 10units.. so 101xp or so to get combat V and HA2 and HD2... which early heros can get... and. late heroes cannot often get this much xp in time.

for Bambur, with this, he goes up to 7str... which is stronger than a champion (and he can cast a spell, and move 2mvt in hills) !!! AND champions are late-game units, or at least units you still use late game. Lucian goes to 6str.. as a champion but with the 10%vs city of axes, Rantine too (6str).. + his spell and +25%vs melee units
Saverous goes up to ... 9 str !!! +(metal weapons).. as strong as an immortal (but without the immortal and with less movement, but immune to poison and many spells)
gilden silveric is strong too 5/6 ==> 7/8 (as much as a longbow with iron weapons.. without needing to find Iron)

Maybe you can say that Lucian is lacking a bit... as he gets nothing on top of champs... but you get him for FREE !!!

the only one lacking is Barnaxus.. but well it's a golem (what is more stupid is that Luirchips don't get any "hero" with the hero promotion, nor hero that can be resurrected using Life III (while they can get archmages))

I think you are underestimating early heroes a lot, and their progression curve.
In fact, I think that the one who would need more love are late heroes.. they should get much more strenght or special effects than what they have at the moment !
 
Could you make it so that summons with a duration of 1 ignore any enemy units that are too far away for them to reach during their current turn, and so focus on attacking those that they can actually reach?

I'll look into it.

or better yet find a way that new game options could be added in xml without having to be hardcoded in the DLL as well?

Cool idea but I imagine it would require lots of coding. I'll add it to the list.


Could you expose canDoReligion to python?

OK
 
Back
Top Bottom