Feature Requests and Discussion

I have ported to MNAI one of the parts of the CivPlotMods modcomp, present in Rise from Erebus and other modmods. To my knowledge it was created by Jean Elcard and Xienwolf, and I adapted the version present in Rise from Erebus so it was probably also updated and modified by them.

Spoiler :
This modcomp removes the CivilizationYieldType, CivilizationYieldChange and sections CivilizationYieldRiverChange from CIV4TerrainInfos.xml. Civilization specific changes to yields in certain terrains are now stored in CIV4CivilizationInfos.xml, stored in the following format (TerrainRiverYields is optional):
Code:
	<MaintainFeatures>
	</MaintainFeatures>
	<TerrainYieldChanges>
		<TerrainYieldChange>
			<TerrainType>TERRAIN_SNOW</TerrainType>
			<TerrainYields>
				<iYield>2</iYield>
				<iYield>0</iYield>
				<iYield>0</iYield>
			</TerrainYields>
			<TerrainRiverYields>
				<iYield>0</iYield>
				<iYield>0</iYield>
				<iYield>1</iYield>
			</TerrainRiverYields>
		</TerrainYieldChange>
	</TerrainYieldChanges>
</CivilizationInfo>

This modification in the format allows to define multiple terrain yield changes for the same civilization, and a single terrain with multiple yield changes for different civilizations. Since the terrain yield changes for Malakim and Illians have been ported to the new format, More Naval AI behavior remains unchanged, but this addition opens up the door for modders to modify terrain yields for each civilization in any way they want. As an extra that came up with the modcomp, the civilopedia now shows the terrain yield changes for each civilization at each terrain type (see screenshot). I also updated the (currently unused) civilization traits section in the Sevopedia to show the terrain yield changes with the new methods.


All modified files (created against r1308) have been attached to this post. I hope that you consider its inclusion :)

Sounds great! I hope Tholal is putting it in. :goodjob:
 
Spawn groups from Rife were really cool and I'd like for them to be in a mod that doesn't have the terrible AI present in Rife.
 
1. Request for additional Tags for EventInfo:
<Help> for static Help text
<UnitPromotions> for additional promotions for created or targeted units (currently, only one is supported by XML)
It's done in my enhanced events mod, along with other fixes (promotions and experience were sometimes not applied correctly).

2. Idea for super forts:
forts "connecting" with peaks and maybe also with water plots, like land plots connect together in water, not letting naval units pass.
I attached a screenshot showing peak connection effects (unit cannot pass at red lines) and water connection effects (unit cannot pass at orange lines).

This would enable more chokepoints also in more "natural" maps.

The AI wuold probably know how to attack them to go through, but not how to place forts in that manner.
 

Attachments

  • screenshot.jpg
    screenshot.jpg
    130.7 KB · Views: 99
Spawn groups from Rife were really cool and I'd like for them to be in a mod that doesn't have the terrible AI present in Rife.


If I remember correctly, the spawn group mechanic in RifE is tightly tied to the Multibarb modcomp. It would be great to have both mechanics in MNAI but porting Multibarb is not an easy task :)
 
This modcomp removes the CivilizationYieldType, CivilizationYieldChange and sections CivilizationYieldRiverChange from CIV4TerrainInfos.xml. Civilization specific changes to yields in certain terrains are now stored in CIV4CivilizationInfos.xml, stored in the following format (TerrainRiverYields is optional):

All modified files (created against r1308) have been attached to this post. I hope that you consider its inclusion :)

Looks good. I will include it in a future version, but since I imagine this change breaks savegames, I wont be in 2.42.
 
can't check current behaviour atm so Tholal might have already fixed but:

bannor demagogues popped from towns should start with the best metal available to the player. it's easy to forget to move them into a city otherwise :D

same applies to starting hybo/basium troops.
 
2. Idea for super forts:
forts "connecting" with peaks and maybe also with water plots, like land plots connect together in water, not letting naval units pass.
I attached a screenshot showing peak connection effects (unit cannot pass at red lines) and water connection effects (unit cannot pass at orange lines).

This would enable more chokepoints also in more "natural" maps.

The AI wuold probably know how to attack them to go through, but not how to place forts in that manner.

It is an interesting idea, but is beyond the changes I want to make in Super Forts. I have written and am in the process of testing code to help the AI identify choke and canal points. I think to properly implement your proposal the pathfinding functions might have to be modified too because I noticed "land plots connect together in water, not letting naval units pass" is coded into the pathfinding functions.
 
just thought of a good way to fix the "give Orthus' axe to suicidal units so you can use it with multiple units each turn" thing:

just make sure the winning unit always gets the axe. it makes perfect sense and would make sure the axe is given to the strongest unit as intended.

also animal/beast units shouldn't be allowed to use equipment due to lack of opposite thumb to hold stuff with ( well, maybe elephants could grab it with their trunk... but I digress )
 
true, that's debateable. but werewolves usually have claws instead of hands, all in all I'd prefer werewolves not using them over tigers using them.
 
I agree with the fix. It is really good idea to give the axe to the winner of a combat. Perhaps make it a promotion that canb't be stolen anymore. Just won in combat.
 
I agree with the fix. It is really good idea to give the axe to the winner of a combat. Perhaps make it a promotion that canb't be stolen anymore. Just won in combat.
I disagree.
I'd rather that someone who takes the axe can't move.
losing the axe to anyone who kill would be a bit too much... especially if an assassin/marksman kills a wounded unit having the axe.
the guy is in a stack, surrounded by buddies... and a lone arrow kill him... and flies back with the axe ? WTH ?

I attack archers with the axe... I die before even getting into range, and the archer suddenly get the axe in his hands, while my buddies, that were close to me couln't use the axe ?

your "nerf" would invert the trend instead of correcting it :
currently in some situation one can abuse the system and use the axe multiple times in one turn
with your "nerf".

one will not use the axe unless there is absolutly NO CHANCE that you die.
 
good points, I think a good solution would be not allowing a unit that has picked up the axe this turn to attack ( i.e. charmed effect )
 
I disagree.
I'd rather that someone who takes the axe can't move.
losing the axe to anyone who kill would be a bit too much... especially if an assassin/marksman kills a wounded unit having the axe.
the guy is in a stack, surrounded by buddies... and a lone arrow kill him... and flies back with the axe ? WTH ?

I attack archers with the axe... I die before even getting into range, and the archer suddenly get the axe in his hands, while my buddies, that were close to me couln't use the axe ?

your "nerf" would invert the trend instead of correcting it :
currently in some situation one can abuse the system and use the axe multiple times in one turn
with your "nerf".

one will not use the axe unless there is absolutly NO CHANCE that you die.

Your example does not make sense. Either your army is stronger and you will get the axe back if you loose it. Or their army is stronger and you probably do not want to throw away units. What you say is true when your opponent is stronger but you wear them down with summons. And for those cases we really want to avoid using the axe.
 
There are a few of thing I know I have requested before but do not see in your Feature Request Database.

Could you please expose <bDispellable> to python?

(A certain <PythonPostCombatWon> of mine would be a lot more elegant if the conditional if gc.getPromotionInfo(iProm).isDispellable(): would work.)


Could you allow bits of python code to be called whenever certain promotions are applied?

(I'd mostly want this so that upgrading units with the Vampire or Pilgrim promotions can get the free promotions they would be given in onUnitCreated if the new unit had the Vampire or Pilgrim promotions in their xml defines.)


It would b very nice if Civilizations, instead of only Leaders, could have <ReligionWeightModifiers>.


Mousing over a Ritual should show what it does. Displaying their Strategy tags like the Help tags of buildings and units should be fine if you don't ant to add new help tags.


I'd quite like it if rituals could have a <iInstanceCostModifier> tag.


----(Things I probably have not mentioned before)----

It can be very annoying when a player casts certain spells (particularly those that sacrifice the caster or remove their own prerequisite promotion) by mistake. I would appreciate it if you would add a new tag in CIVSpellInfos.xml which causes a popup to appear when those spells are selected, to confirm whether the player really meant to use it.

(It shouldn't be too hard to figure out how to implement, because the <bGlobal> already does exactly this. Of course, that tag also prevents the player from using any spell with that tag again until the Birthright Regained ritual is completed and disables the spell if certain game option is selected, which makes it completely unsuited for use with spells like Sacrifice or Resurrection.)

----

Seeing lfgr's recent fix to issue 3584315 got me thinking (not for the first time) that it would be quite nice if spells could use <PythonHelp> callbacks too.

I was particularly thinking of my modmod's version of Drown, which can be used by almost any living melee unit and has its price scale based on the caster's strength and level. It would be nice if I could display exactly how much gold it would cost.

If you went ahead and exposed <bDispellable> to python, then it could also be used to indicate exactly what promotions it would dispel from what units.

You could probably use it so that the the Svartalfar Kidnap spell it would tell you exactly which types of great people can be stolen, and maybe let spells like Pillar of Fire tell you which units would be damaged.


I am by no means dead set on having this feature though, as I fear it might be resource intensive and slow down the game more than it is worth.
 
Back
Top Bottom