ExtraModMod

Got an error when opening the BUG options screen:

Code:
Traceback (most recent call last):
  File "BugEventManager", line 376, in _handleConsumableEvent
  File "BugEventManager", line 464, in onKbdEvent
  File "BugUtil", line 608, in __call__
  File "BugUtil", line 605, in call
  File "BugOptionsScreen", line 42, in showOptionsScreen
  File "BugOptionsScreen", line 142, in interfaceScreen
  File "BugOptionsScreen", line 149, in createTabs
  File "BugSystemOptionsTab", line 30, in create
  File "CvModName", line 24, in getDisplayNameAndVersion
  File "CvModName", line 16, in getVersion
NameError: global name 'CyTranslator' is not defined

EDIT: playing latest EMM revision merged with wilderness.
 
Weird. I'm getting the error also with the latest self-compiled EMM revision. Also, the problem seems pretty obviously a missing

Code:
from CvPythonExtensions import *

(although don't know perfectly how python importing works).

EDIT: And I didn't add BUG options in BarbsPlus, just in EventsEnhanced.
 
Stasis base length reduced to 10 from 20. It now gives a Golden Age (for the same length) in addition to the freezing.

This is something i'd dream off adding to my current FFH2 build. I've been looking for years for a way to adjust the Stasis world spell. For a good while i've been doing this:

line 3042 in \XML\Units\CIV4Spellinfos.xml

<bAllowAI>1</bAllowAI>

changed to

<bAllowAI>0</bAllowAI>

Which is not ideal! I did bump up the Samhain event with a few more units to part make up the the Illians no longer having a world spell, but it really is not what i'm after.

I've looked all over the place to try to find a way to do what you have basically done, so please could you point me in the direction of being able to do as you have done?

I'm running a very lightly tweaked FFH2, for stability as much as anything, and if i could add this amazing change i'd be really happy so any help on doing so would be really gratefully received :)
 
Weird. I'm getting the error also with the latest self-compiled EMM revision. Also, the problem seems pretty obviously a missing

Code:
from CvPythonExtensions import *

(although don't know perfectly how python importing works).

EDIT: And I didn't add BUG options in BarbsPlus, just in EventsEnhanced.

Oh, I managed to reproduce the issue. I did not notice that I had to open the System tab to see the error on the log. This also explains why I wasn't able to find the recent changes to the BUG credits on MNAI. Thank you, I fixed it in my last commit :)

This is something i'd dream off adding to my current FFH2 build. I've been looking for years for a way to adjust the Stasis world spell. For a good while i've been doing this:

line 3042 in \XML\Units\CIV4Spellinfos.xml

<bAllowAI>1</bAllowAI>

changed to

<bAllowAI>0</bAllowAI>

Which is not ideal! I did bump up the Samhain event with a few more units to part make up the the Illians no longer having a world spell, but it really is not what i'm after.

I've looked all over the place to try to find a way to do what you have basically done, so please could you point me in the direction of being able to do as you have done?

I'm running a very lightly tweaked FFH2, for stability as much as anything, and if i could add this amazing change i'd be really happy so any help on doing so would be really gratefully received :)

It is a relatively simple change. ExtraModMod handles spell duration calculation diferently than vanilla, but you can check how stasis work in EMM in the following link:

https://bitbucket.org/Terkhen/extra...points/CvSpellInterface.py?at=default#cl-3300

To do this change against vanilla code, you would need to change the spellStasis method in the python/entrypoints/CvSpellInterface.py file to the following:

Code:
def spellStasis(caster):
	pPlayer = gc.getPlayer(caster.getOwner())
	iDelay = 10
	iTeam = pPlayer.getTeam()
	if CyGame().getGameSpeedType() == gc.getInfoTypeForString('GAMESPEED_QUICK'):
		iDelay = 7
	if CyGame().getGameSpeedType() == gc.getInfoTypeForString('GAMESPEED_EPIC'):
		iDelay = 15
	if CyGame().getGameSpeedType() == gc.getInfoTypeForString('GAMESPEED_MARATHON'):
		iDelay = 30
	pPlayer.changeGoldenAgeTurns(iDelay)
	for iPlayer2 in range(gc.getMAX_PLAYERS()):
		pPlayer2 = gc.getPlayer(iPlayer2)
		if pPlayer2.isAlive():
			if pPlayer2.getTeam() != iTeam:
				pPlayer2.changeDisableProduction(iDelay)
				pPlayer2.changeDisableResearch(iDelay)

The change essentially consists on halving the value of iDelay and adding the "pPlayer.changeGoldenAgeTurns(iDelay)" line. I did not test this code but I'm confident it should work on vanilla FFH2. I hope this helps :)
 
fantastic, that worked perfectly. I mostly play on medium time setting, so i got the 10 years for the Stasis world spell this time, thank you so much.

I really like that it triggers a golden age for Auric, that was a really good addition imho. I think this all makes up for the shorter Stasis effect (which is just a case of clicking end turn when it arrives). I also give two more units (a wolf rider and a frostling) when he does the Samhain world project, so i think Auric's ability to annoy his enemies is still there.

Anyway, thanks very much for that, i had not been able to find the location in the files for changing this and your code worked perfectly, awesome :D
 
The Stasis change comes from Erebus in the Balance, I merely copied it along with many other good changes from it :)

I'm glad it worked. ExtraModMod source code can be checked on the project page and all changes (except for huge changes like the EitB merge) can be consulted in the log in the form of a small description and all changes to the source made to implement it so feel free to check anything that picks your interest.
 
Hi Terkhen,

Have recently just started playing multiplayer games with your modmod over the base MNAI, and am enjoying it so far. Here's some minor feedback (WALL OF TEXT INCOMING):

- So far I have played two games, standard size, quick speed, 2 humans and 6 Prince AI: First with Amurite and Elohim, Second with Elohim and Svartalfar. In vanilla FFH in the past I played on Monarch.

- The extra mana required makes a ToM victory just that much harder, even with the additional nodes. Was this intentional? If not, perhaps you could have the towers require 4 out of the 5 mana types, or be built quicker with 5 mana over 4 like you did with the tower of elements?

- On a related note, a long time ago I modded in additional mana nodes as well, only to find that in doing so I reduced the availability of other resources (as the game replaces them with the new nodes instead of adding additional resource positions). Have you considered this possibility? The game certainly doesn't need iron to be any rarer.

- Axemen are really cheap. Really really. After being forced to research bronze working in order to clear jungle I found it almost always preferable to just spam 45 :hammers: swordsmen than attempt any other kind of strategy in my first game (Amurite). The other player rushed 120 :hammers: monks (likely part of the issue) and could not keep up with my military production, eventually ceding to a capitulation. I didn't even need Wizards. In the second game (Elohim) I adjusted the :hammers: to 50 (Sons of Asena I left at 45 because honestly, the doviello need all the help they can get) and disabled mithril weapons. and found the change at least encouraged me to build champions rather than just sticking with the Axemen for the whole game. The other player is using hunters as svartalfar and we have only been attacking AI so far due to distance so it is hard to judge the PvP axemen vs hunter situation.

- As a follow on from the above, a lot of my victory is probably due to how terrible monks are rather than the inherent brokenness of low-cost axemen. The easiest fix would be to just lower cost as well but it made them a pretty boring unit and only compounded the issue. Instead I tried something different and adjusted them to have free XP, channeling 1 and spirit 1. It worked well. As Thessalonica I found Monks are somewhat useful to produce in my backwater cities as I can sit them in defensive positions slowly gaining XP whilst using my axemen as main cannon fodder. After a while the rate of level gain slows and they are sent out as more than a match for the AI archer and hunter spam. I didn't find them overpowered because the XP gain rate really is very slow and the high :hammers: and turn investment makes them only supporting units at best.

In terms of my recommendations:

1) I know you are already implementing the no mithril weapons on Axemen in your next patch, and I do hope you consider a slight :hammers: raise on the axemen themselves, but I do understand it's hard to judge such fine changes. Anyway, looks like you're on top of that.

2) Monks really need buffing. I hope you consider my simple change (free XP at adept rate, and spirit 1) over the complicated one listed in your dev notes. It fits the Elohim gameplan and lore rather well, all things considered, because A) it means they gain additional strength from long periods of peace, B) Synergises fantastically with spirit Guide and C) Will probably make it viable for SPI Einon to rush priesthood early and use them as his core offensive unit, fitting in perfectly with his backstory as a monk. It also gives Monks a unique niche as the only combat-focussed unit that has access to passive XP gain.

Thanks again for making your modmod. We are planning to move from mostly AI games with some PvP into 6-8 player free-for-alls in the coming months, so hopefully I can continue to give you MP feedback as things evolve.

Cheers,

Blakmane
 
re: axemen, it's a change from Erebus in the Balance. warriors were overpowered, so instead of nerfing them they made axemen overpowered as well :lol:
 
but then champion are low powered.

(I tried this in my archer's modmod... : there is not need for champs: 1 iron champ is not strong enough versus 2.5 iron axes (for same cost), not counting the + 10%CA of axes.)
however, my longbow is largely worth 2 to 2.5 archers.
 
Hi Terkhen,

Have recently just started playing multiplayer games with your modmod over the base MNAI, and am enjoying it so far. Here's some minor feedback (WALL OF TEXT INCOMING):

I'm glad you are enjoying it. Don't worry, feedback is welcome :)

- The extra mana required makes a ToM victory just that much harder, even with the additional nodes. Was this intentional? If not, perhaps you could have the towers require 4 out of the 5 mana types, or be built quicker with 5 mana over 4 like you did with the tower of elements?

It is intentional that the Tower of Mana victory is a bit harder. Given the inclusion of new mana types, most towers need an additional type and that makes them harder to build. Since Ice Mana is not freely available to all players (you can only get it from Letum Frigus, Illian Palace and Priests of Winter), the Tower of the Elements can be built without it at a slower pace. Ice Mana simply restores the cost of the Tower of the Elements to its original cost.

To offset this, the weaker towers give additional bonuses once that they are built and there is more mana on maps:

  • Tower of Alteration requires Force mana to be built. It also gives +2 global health. From the list of features:
  • Tower of Divination also requires Creation mana to be built. It increases research in 15%.
  • Tower of Mastery gives 2 Metamagic Mana and reduces the cost of hurrying production globally in 20%. It also gives +2 global health and happiness, and it reduces the costs of projects in all cities.
  • Tower of Necromancy also requires Dimensional mana to be built.
  • Tower of the Elements cost increased from 800 to 1000. Owning Ice mana negates this increase in cost.
  • Raw mana is slightly more frequent in new maps.

It may certainly be possible that these benefits do not make up for the requirement of 5 nodes instead of 4. But IMO ToM is one of the easiest victories and it is not a problem that it is a bit more complicated now. My thoughts about this issue is that ToM is fine right now, but the other easy victory (Altar of the Luonnotar) requires additional changes, specially with the Erebus in the Balance changes to the requirements of the altars. You can check my plans for victory conditions in the following issue from the tracker (the two new victory conditions are ideas for the future): https://bitbucket.org/Terkhen/extramodmod/issue/103/victory-condition-revamp

- On a related note, a long time ago I modded in additional mana nodes as well, only to find that in doing so I reduced the availability of other resources (as the game replaces them with the new nodes instead of adding additional resource positions). Have you considered this possibility? The game certainly doesn't need iron to be any rarer.

I'm not aware of this happening. Since the new mana types do not ever appear on map creation, I thought that they wouldn't modify how other resources are generated. Only raw mana nodes appear on map generation in ExtraModMod. Do you know how the game handles this so I can check what is happening?

- Axemen are really cheap. Really really. After being forced to research bronze working in order to clear jungle I found it almost always preferable to just spam 45 :hammers: swordsmen than attempt any other kind of strategy in my first game (Amurite). The other player rushed 120 :hammers: monks (likely part of the issue) and could not keep up with my military production, eventually ceding to a capitulation. I didn't even need Wizards. In the second game (Elohim) I adjusted the :hammers: to 50 (Sons of Asena I left at 45 because honestly, the doviello need all the help they can get) and disabled mithril weapons. and found the change at least encouraged me to build champions rather than just sticking with the Axemen for the whole game. The other player is using hunters as svartalfar and we have only been attacking AI so far due to distance so it is hard to judge the PvP axemen vs hunter situation.

Since most of my balance changes come from Erebus in the Balance (the axemen cost is one of them, as [to_xp]Gekko mentioned) and I don't think I'm experienced enough in multiplayer to consider them (I appreciate how these changes improve the game, but my games are too casual to know on how to improve it) I'm always wary of making changes to balance on top of theirs. But given that EitB development and discussion is going slow lately, I have been doing some minor tweaks in recent versions like disabling mithril for axemen. I think that the 45 to 50 change in cost should be a nice tweak for axemen but I'd like to have feedback from others as well about this.

2) Monks really need buffing. I hope you consider my simple change (free XP at adept rate, and spirit 1) over the complicated one listed in your dev notes. It fits the Elohim gameplan and lore rather well, all things considered, because A) it means they gain additional strength from long periods of peace, B) Synergises fantastically with spirit Guide and C) Will probably make it viable for SPI Einon to rush priesthood early and use them as his core offensive unit, fitting in perfectly with his backstory as a monk. It also gives Monks a unique niche as the only combat-focussed unit that has access to passive XP gain.

Since you have checked the issue tracker, you already know that I agree that Monks need a buff. It is also true that my plans for the Monks are quite complicated and will require a lot of coding that will delay their implementation for a few versions. I wouldn't mind implementing a temporal buff to monks until the new mechanic is implemented. What do others think about Blakmane's suggestion? I'd rather give them a more useful spell or ability instead of Courage (or both Courage and another one).

Thanks again for making your modmod. We are planning to move from mostly AI games with some PvP into 6-8 player free-for-alls in the coming months, so hopefully I can continue to give you MP feedback as things evolve.

That is great! 0.4.0 is going to include More Naval AI's new logging code for OOS errors and for 0.4.1 I'm going to concentrate on trying to fix the more blatant OOS errors remaining in More Naval AI / ExtraModMod. I'd love to have more feedback, and hopefully once that 0.4.0 is released you and your friends can enable the OOS log to provide me with additional info to fix the few OOS issues that appear on multiplayer.
 
I wouldn't mind implementing a temporal buff to monks until the new mechanic is implemented. What do others think about Blakmane's suggestion? I'd rather give them a more useful spell or ability instead of Courage (or both Courage and another one).

I'd give to monks spirit mana affinity as a temporary buff - at least elohim gets "stronger version " then. due to spirit mana from the palace.

Spamming spirit mana...for monks hmmm...but you know - why is it less abusive than sheaim spamming death mana ?

in this way monks offer competition for metal champions and horse archers ( IMO the most versatile units at the game)
 
Its less abusive because monks can't be summoned every turn xD ....

once a monk dies he has to be rebuilt with hammers

------------

I made a bit of a personalized 'Patch' that I'd be interested in playing with others in a multiplayer setting. Will make a thread on it.
 
I'm going to answer to scutarii here to not hijack Tasunke's New World Order patch thread.

I WorldBuilded ten ghosts in ExtraModMod, removed all other units outside of cultural borders and checked the supply costs. The first screenshot is taken before casting Sever Soul:

attachment.php


The second screenshot is taken right after casting Sever Soul:

attachment.php


The last one is from after the Divided Souls expire:

attachment.php


At least it seems that supply costs are not remaining after divided souls dissapear, but I think that they should not increase supply costs at all. Does anyone know if there is an existing tag that allows to disable supply costs for a unit type?

With regard to the placeholder buff to Elohim Monks, I'm thinking that maybe they could get Spirit affinity and adept-like increased XP gain.
 

Attachments

  • 1_before_sever_soul.JPG
    1_before_sever_soul.JPG
    152.8 KB · Views: 222
  • 2_after_sever_soul.JPG
    2_after_sever_soul.JPG
    153.9 KB · Views: 265
  • 3_after_divided_soul_expiration.JPG
    3_after_divided_soul_expiration.JPG
    154.6 KB · Views: 241
Were your test units in your own borders? Maybe they need to be in neutral territory, on a mountain, in a sea, in someone elses lands ... or something else equally odd :)
 
Woah, this forum suddenly became active! So much to reply to...

[to_xp]Gekko;12962975 said:
re: axemen, it's a change from Erebus in the Balance. warriors were overpowered, so instead of nerfing them they made axemen overpowered as well :lol:

I don't really understand why they did this. Surely the most parsimonious change would be to increase warrior :hammers:, say, from 25 to 30 (or even 35). It would slow down the earlygame vs barbs, but otherwise effects all civs equally except perhaps the svarts. Changing Axemen I would think is more about Hunter/Horseman/Axeman/Archer parity, where in vanilla the first two are clear winners.


At least it seems that supply costs are not remaining after divided souls dissapear, but I think that they should not increase supply costs at all. Does anyone know if there is an existing tag that allows to disable supply costs for a unit type?

I never managed to find one that completely eliminates upkeep. Would have to mod one in or at least scavenge from another mod, I think. There's bMilitarySupport which defines whether the unit counts as military for the purposes of upkeep. This *may* reduce associated costs in foreign borders: worth a try.

With regard to the placeholder buff to Elohim Monks, I'm thinking that maybe they could get Spirit affinity and adept-like increased XP gain.

Just as a reminder if you mod this in, you need to give bfreexp AND channeling 1 at the least in order to get XP gain. I originally though bfreexp would be enough but sadly it isn't.

I was originally planning to give them spirit affinity to test, but after brainstorming I decided not to for the following reasons:

1) Affinity is an inherently powerful and not particularly granular mechanic, making it very difficult to balance. Elohim games will revolve entirely around the availability of spirit mana. With, say, a reasonable 2 nodes plus palace and sirona mana, 10 :strength: Monks are on the cards well before even iron champions are up and certainly before mithril.

I would argue the permanent nature of monks over, say, spectres isn't actually a downside: promotions have a compounding effect with high :strength:. Not to say spectre affinity isn't ridiculously good, but that's a separate issue.

2) Superficially spirit affinity fits Elohim lore. However, in-game it strongly encourages RExing and aggressive strategy in order to acquire as many nodes as possible. It also makes it advantageous to DoW and vassalise other spirit mana civs such as Bannor/Sidar. When coupled with Tolerant which already encourages this kind of behaviour, the Elohim become a clear snowball warmonger race strategically. I think this should be avoided.

3) Finally, I feel it would narrow Elohim strategy. The Tolerant trait gives the Elohim an adaptive strategy option, but if you make it optimal to always invest in and produce monks over any other unit you destroy the only thing that makes them interesting to play in the first place. Even buffed I don't think Monks should be the sole go-to unit for Elohim, unless perhaps you are SPI Einon (which fits well with lore).

If you want I can do a quick SP run with affinity monk rush to see how effective the strategy really is. I have a feeling it will be too slow to matter against high difficulty AIs actually, but MP games usually give much more breathing room.
 
Woah, this forum suddenly became active! So much to reply to...

We usually get a few days or weeks of silence, but when someone provides new bug reports, feedback or ideas the thread always comes back to life. It's great to have so many discussions about ExtraModMod :)

I don't really understand why they did this. Surely the most parsimonious change would be to increase warrior :hammers:, say, from 25 to 30 (or even 35). It would slow down the earlygame vs barbs, but otherwise effects all civs equally except perhaps the svarts. Changing Axemen I would think is more about Hunter/Horseman/Axeman/Archer parity, where in vanilla the first two are clear winners.

I think that one of the reasons of the change was that Erebus in the Balance changes the game pace a lot, by modifying the costs of technologies. Other units of the same tier than Axemen such as Archers got a similar reduction in cost. Then again, it is true that melee units are usually superior to all other combat units except on specific situations or for specific civilizations, and they could use an indirect buff. I would rather not touch the warrior's cost (that would make early game more complicated to balance and there are big changes to how barbarians work coming to ExtraModMod thanks to BarbsPlus) but Axemen cost could get increased to 50 or even 55. For the sake of parity between units of the same tier, Hunters cost could be reduced to 55 (since they are an early combat 4 unit I don't think the cost should be reduced further).

I never managed to find one that completely eliminates upkeep. Would have to mod one in or at least scavenge from another mod, I think. There's bMilitarySupport which defines whether the unit counts as military for the purposes of upkeep. This *may* reduce associated costs in foreign borders: worth a try.

Thanks for the suggestion! I gave it a quick try but the severed souls still had a support cost.

Superficially spirit affinity fits Elohim lore. However, in-game it strongly encourages RExing and aggressive strategy in order to acquire as many nodes as possible. It also makes it advantageous to DoW and vassalise other spirit mana civs such as Bannor/Sidar. When coupled with Tolerant which already encourages this kind of behaviour, the Elohim become a clear snowball warmonger race strategically. I think this should be avoided.

I agree.

If you want I can do a quick SP run with affinity monk rush to see how effective the strategy really is. I have a feeling it will be too slow to matter against high difficulty AIs actually, but MP games usually give much more breathing room.

I'm going to give the Monk discussion more time before deciding on a definitive proposal. This change is not coming into 0.4.0 (besides a few fixes to the new mapscripts and possibly the change to axemen the version is ready) so there is plenty of time to decide on what to do.

After a serious and long case of real life stuff happening to me, 0.4.0 is finally nearing a release. My goal with 0.4.X versions is to get logs and debug all OOS errors possible, and either provide fixes for More Naval AI or fix them in ExtraModMod (depending on the source of the error) to allow multiplayer games to be as fluid as possible. I'll provide detailed instructions on how to enable OOS logging and what files I need to debug them along with the release notes.
 
RE Monks: cheers, I'm looking forward to the new version! It's easy enough for me to make XML edits if I want something anyway so don't feel obligated to agree with changes I propose.

RE T2 units: It would be nice to get Tasunke's thoughts here, because he's a lot more involved in EitB. I would be very leery about decreasing hunter cost, because IIRC they are already considered the best T2 unit. I remember back in 'Ice', Hunting had a similar net :science: cost to Mining and the go-to MP strategy for literally every race in the whole game was hunter rushing. After they nerfed Hunting cost things became a little more reasonable.

From my understanding, Axemen and Archers are considered weaker in vanilla because FFH rewards aggression, and neither Axemen nor Archers are as good offensively (due to bad :move: and bad attack :strength: respectively).

Anyway, to move away from balance discussion and on to bug fixing:

BUG:

In team games, the Tower of Mastery can only be built if a single team member created all 4 of the subtowers. Because the subtowers are now team wonders, the ToM can no longer be built at all if, for example, you ally with someone when you both have built 1 or more different towers (or there is some miscommunication). The ToM needs to check for its prereqs across the whole team instead of the building Civ: unfortunately I think this would require changes to <PrereqBuildingClasses> in the DLL as a quick XML hunt gave me nothing to work with. It's not gamebreaking but was very annoying to discover 13 hours into our latest game.
 
Personally I think, if you want, increasing Axe and Archer from 45 to 50 is fine, but certainly no more than that.

Additionally, reducing each 'unit production building' by 20 hammers might be one of the better options, somewhat of a middle ground between the current state and having all t2 and t3 'martial' units buildable under the same building.

Having the unit production buildings a bit cheaper, imho, allows for even a slightly easier time of switching between unit classes.

It would be interesting to have a trait .. maybe Org, maybe Org AND Agg, etc ....

that gives +50% production speed to the three martial buildings (Training Yard, Archery Range, and Stables)

Hunting Lodge and Mage Guild are of course always going to be separate entities, as well as each of the temples ... that always has made sense. Its the archer/melee/mounted 'martial' group that has always seemed a bit too challenging to switch between.
 
Back
Top Bottom