Tweak Mod for Xtended + Master of Mana Updates

Hiho,
first, it is great to see that Development on this wonderful mod continues! Thank you for that.

For your Survey:
1) I go with Sephi. The player should be able to remove it if they want, but the AI should better not do that. If that is not possible, then better let it stay non-removable :)
2) Similar to 1. The player should be able to I would say. Dumb Decisions should be possible as well, haha. But I never played the map, so I cant give a bigger insight.
3) Sounds like a bug. If it is in the city radius, it should give the bonus. Even if the city is on top of it :)

Here are some loose "wishes" from me.
I play the most mostly with a friend in team on super high difficulties for context.
a) I would find it very cool if global Enchantments and the Rituals etc of faith are bound to the player and not the team. At the moment, if one player activates one, both have it and must pay for it. Also makes for example Illians impossible to play in a Team, asthe other player automatically cancels all Illian Enchantments :)
b) It would be cool if the AI is a bit more aggressive with the Babarian camps. At the moment, they just most often feed them and let them get to ridiculous strengths like over 70 base xD
c) Well, Varity is always awesome. Dont know how easy it would be to add new Leaders to existing factions. But thats just very low on the list.
d) I once made 2 Modules for the mod, posted in this forum. If you want, you can use them and modify them. One is a animal focussed one, the other is a slave focussed one. The slaver one seems to have a bug with the "Settle" Slave mechanic that I was never able to resolve...

Thanks again for the awesome work!
 
Thanks for the appreciations!
As a feedback, I do not feel myself as a content creator... just a programmer :lol:
Thus sorry, but I am not willing to make any modification on the existing lore of MoM (who has been created by people far more better then me for that) by adding new content or significantly changing the fundamental mechanic of the game.
I am currently focused only on bugfixing and as a plus trying to have an AI slightly more challenging (as much I can do with my time and knowledge constrains).

And yes, I am currently looking on how to deal with AI cleaning up barbs lairs as this is something significantly limiting the AI (my latest changes shows on 300 turns 24 lairs destroyed instead of 8, thus a 3x improvement but AI is still struggling in case of non optimal start or if it settle the first cities nearby lairs).

About the GE and Rituals while playing in team, will have a look - I dont promise anything but maybe can be done. We rarely plays in Team but in case it is not a huge modification maybe I can do... On top of that we notice that Tower of Mastery Victory is tied to a player so we were considering to extend it as a Team victory so each player of the Team can build his own Towers but they sum up for Victory purpose...
 
On the survey..
1) Please let them stay as they are...
2) Please enable city founding on those plots of 'climate' map scripts.
3) Isn't it working correctly now? :confused: I think proper bonus is provided as intended. I have just tested with attached savefile. If founding a city on Cow, we get food bonus. A city on Sugar, we get Commerce bonus. The effects begin from the next turn of city founding. Just silk does not provide culture until Harvesting tech.
 

Attachments

  • AutoSave_Initial_AD-0001.CivBeyondSwordSave
    74.4 KB · Views: 4
  • Cow city.JPG
    Cow city.JPG
    202 KB · Views: 30
  • Sugar city.JPG
    Sugar city.JPG
    219.5 KB · Views: 26
1) I suggest all of them (Tower, Temple, Shrine) might be removable for realism.
2) I feel it might be a good change to allow to settle anywhere with at least one food. It is excellent that different civs manage different food acquisition rules.
3) I even suggest that founding on resource directly shall remove that resource. How do you imagine some active farm or mine just inside the city?
 
And yes, I am currently looking on how to deal with AI cleaning up barbs lairs as this is something significantly limiting the AI (my latest changes shows on 300 turns 24 lairs destroyed instead of 8, thus a 3x improvement but AI is still struggling in case of non optimal start or if it settle the first cities nearby lairs).
it's a big improvement!
And... what if barbarian lairs in the fat cross of the first city disappear automatically just like tribal villages? Then AIs will be able to secure some space for early development. They have to struggle with barbarians for the next cites of course.
(And I remember that animal lairs in the cultural border moved out 'voluntarily' to the wild in old Wild Mana mod...)
 
On the survey..
1) Please let them stay as they are...
2) Please enable city founding on those plots of 'climate' map scripts.
3) Isn't it working correctly now? :confused: I think proper bonus is provided as intended. I have just tested with attached savefile. If founding a city on Cow, we get food bonus. A city on Sugar, we get Commerce bonus. The effects begin from the next turn of city founding. Just silk does not provide culture until Harvesting tech.
1) I think if I allow them to be removed by Human, but not for AI or Automated Woker can be fine...
2) I am thinking of enabling it but putting a variable in GlobalDefinesAlt.xml for those who like as it is
3) True, it is not working only for Resources granting Faith Culture and Gold percent (eg Incense, Silk and Gold). But those Bonus are granted if the resource is in nearby plot (even if appropriate guild has not been acquired)
 
Even while it may be new content, there is something I would wish for:
More terraforming options. Especially for civilizations that are built around a certain theme, like the Malakim are around Deserts. Even if the terraform may be "Worsening" the tile, it should be fully in the player's hands and would give more options :)
Most of such terraforms are only at enemy territories, giving no way of making their land in certain directions except in the direction of grassland, etc.
Just a tiny little wish from my friend and me for the mod :)

Don't know how it is with supporting you with such stuff, like offering modified files already to make it easier for you to integrate it? I mean, I made already 2 modules, maybe making some terraform spells can be possible after some try and error xD.
 
1) I think if I allow them to be removed by Human, but not for AI or Automated Woker can be fine...
I did not know it can be implemented that way. Seems nice.

2) I am thinking of enabling it but putting a variable in GlobalDefinesAlt.xml for those who like as it is
Can it be a new game option?

3) True, it is not working only for Resources granting Faith Culture and Gold percent (eg Incense, Silk and Gold). But those Bonus are granted if the resource is in nearby plot (even if appropriate guild has not been acquired)
Now I understand. Marble(Culture-granting), Wine and Gem(research) also. So... yield enhancers are working correctly but not for research, gold and culture(and faith). I see no reason for such difference.
 
I did not know it can be implemented that way. Seems nice.


Can it be a new game option?


Now I understand. Marble(Culture-granting), Wine and Gem(research) also. So... yield enhancers are working correctly but not for research, gold and culture(and faith). I see no reason for such difference.
2) I would like to avoid as I should be doing the option at Map level while at same time modifying the DLL to acknowledge that.. possible but I was thinking that either some of you like this change and some others not... And not a choice to do at map level. Will think of it...
3) I have spotted it... CvCity calculateCityBonusCommerceRateModifier does not acknowledge the case in which pLoopPlot == plot() - the plot its city plot, while calculateCityBonusYieldRateModifier does. So as there is no improvement the commerce bonus is not granted!
 
1) I think if I allow them to be removed by Human, but not for AI or Automated Woker can be fine...
2) I am thinking of enabling it but putting a variable in GlobalDefinesAlt.xml for those who like as it is
3) True, it is not working only for Resources granting Faith Culture and Gold percent (eg Incense, Silk and Gold). But those Bonus are granted if the resource is in nearby plot (even if appropriate guild has not been acquired)
I like all of them!
3) i too as felis catus dont see any reason for this difference if it can be fixed i too will be glad! founded on gems and didn't get the bonus, frustrating! :D
 
Dovoveo art broken. looks like a red cluster.
 

Attachments

  • Civ4ScreenShot0009.JPG
    Civ4ScreenShot0009.JPG
    352.3 KB · Views: 20
Even while it may be new content, there is something I would wish for:
More terraforming options. Especially for civilizations that are built around a certain theme, like the Malakim are around Deserts. Even if the terraform may be "Worsening" the tile, it should be fully in the player's hands and would give more options :)
Most of such terraforms are only at enemy territories, giving no way of making their land in certain directions except in the direction of grassland, etc.
Just a tiny little wish from my friend and me for the mod :)

Don't know how it is with supporting you with such stuff, like offering modified files already to make it easier for you to integrate it? I mean, I made already 2 modules, maybe making some terraform spells can be possible after some try and error xD.
The terraforming spells are defined in the module Assets\modules\Normalmodules\Magic\Terraforming\terraforming_civ4projectinfo.xml. You should be able to create spells by just duplicating existing entries and then changing a few values. You could put them into a new module, like terraforming extended, for easier integration.

The AI may or may not do weird stuff with these new spells though. Not sure if there is an xml tag to deactive AI use of it.
 
Questions : My understanding is that the desertification enchantment let you turn enemy's tiles into desert as many death mana as you have. If you have two manas, you can turn two tiles. right? I'm asking because AIs(Calabim and Aristrach) changed five tiles at a time with only two manas. Does AIs get bonus? Maybe at high difficulty levels?
And disjunction enchantments are explained that it dispels hostile enchantment. Can I get some more detail about its work? What's the difference between minor and major?
 
Minor has a 30% chance to dispel any hostile enchantment, normal has 40% and major disjunction has a 60% chance. The chance is calculated for each hostile enchantment individually.
 
The Global Enchantments 'Mana Seal' and 'Mantle of Cernunnos' does the same work. Do they increase the likelihood of resistance equally? Will their effects add up if we cast both?
 
I do not think its the same... They are 'Increase resistance to Hostile terraforming' while Disjunction dispel hostile global enchantment, so two different things.
I did not check but I am not sure terraforming can be cancelled, I do not remember anywhere in the code that dll remember which was a plot original terrain.... So I assume terraforming can be resisted but if succeed then its permanent, while global enchantment can be cancelled/dispelled.
Sephi: maybe I am wrong but i can see in xml iDisjunctionPower beeing 20-30-50 and then 'Purge' with 75.

PS about survey:
1) Ancient Tower, Mana Shrine, Lost Temple and Witch Hut now can be removed only by Human player thus allowing a freedom but forcing the AI to keep the wonder of Ancient World in place.
2) It is done but with a GlobalDefineAlt variable, too complex to add as a map option so who does not like this change can simply set the variable to 0
3) Fixed
 
Last edited:
Thank you for your answer but I guess there is some confusion here... I wanted to compare 'Mana Seal' and 'Mantle of Cernunnos' that do the same work according to the Pedia, not Disjunction. So I wondered how much % their resistance probabilities are and if their effects add up or not...

PS about survey:
1) Ancient Tower, Mana Shrine, Lost Temple and Witch Hut now can be removed only by Human player thus allowing a freedom but forcing the AI to keep the wonder of Ancient World in place.
2) It is done but with a GlobalDefineAlt variable, too complex to add as a map option so who does not like this change can simply set the variable to 0
3) Fixed
Nice work! Looking forwrad to v0.5. It deserves version no 1.0 in my opinion :D
 
Mana Seal 20
Greater Mana Seal 30 (or 40?)
Mantle 75

About version, will see probably will stick to a progressive numbering...
And will release after internal validation with minijack, who even if quiet on the forum he is an active playtester and developer of all these modifications!
 
Mmm if I remember well last time I played them, the unit should have unspent XP left... And there should be a counter in main interface in the left side of the screen that shows to you if you have enough to use waning ability.
The wane/waning ritual needs some text to describe the mechanic. I found the underlying code and reversed engineered to successfully create Wanes.

  1. Experience needed is 10 * (number of cities + 1). Not sure exactly where this is defined nor if it changes based on game speed.
  2. Only units over 20 experience can provide experience to the pool.
  3. Each unit can only provide 5 XP to the pool. So no need to overdue any given unit.
  4. The 5 XP is removed after the ritual. You must gain experience on the units to cast Wane again. You do not lose any units like the base mod.

Relevant Source from CvPlayer.cpp
Code:
    if(kProject.getCreateUnitFromExperience()>0 && kProject.getUnitType()!=NO_UNIT)
    {
        int iXPCount=0;
        int iXPReduced=5;
        for (CvUnit* pUnit = firstUnit(&iLoop); NULL != pUnit; pUnit = nextUnit(&iLoop))
        {
            if(pUnit->getExperience()>20 && GC.getUnitInfo(pUnit->getUnitType()).getTier()>1)
            {
                pUnit->changeExperience(-iXPReduced);
                iXPCount+=iXPReduced;
            }
        }

        int iUnitsCreated=std::max(1,iXPCount/std::max(1,kProject.getCreateUnitFromExperience()));

        for(int iI=0;iI<iUnitsCreated;iI++)
        {
            initUnit((UnitTypes)kProject.getUnitType(),getCapitalCity()->getX_INLINE(),getCapitalCity()->getY_INLINE());
        }
    }
 
Top Bottom