Version 2.4 Official Release (not compatible with any previous saves)
Download link
Bugfixes
AI
User Interface
Misc
Code
As many of you know, I am a new father of twins. As you might imagine, this leaves me little time to myself, and unfortunately, this mod has languished as a result. To combat this, I've tried to become a little more organized, moving all my scribbled notes into a Bug Database and Feature Database. I'm hoping that my increased organization will better enable others to chip in more often (and a BIG shout-out to everyone who has previously provided code and fixes for this mod!)
I'm willing to take any assistance, no matter how large or small or how (in)experienced coder you might be (I had never coded python or C++ before I started this project). Please contact me if you are interested in helping out!
Download link
Bugfixes
- Barbarian animals should no longer try to guard cities
- Units with a 0 value for iXPValueAttack or iXPValueDefense should no longer grant a minimum of 1 experience after combat (they will now grant no experience) (fix for fireballs granting experience)
- Perfect Sight (bSeeInvisible) updates sight when given and will now see through all invisible types (fix by red-key)
- Fix for potential crash after playing a game of Somnuim for pride
- Fx for units with AI_CITY_DEFENSE sometimes getting stuck in a loop
- Fix for potential assert caused by Enraged units
- Fix for players not receiving free techs properly when playing a multiplayer PBEM game (fix by Sareln)
- Fix for Unhealthy hits from Blight to always be a fixed formula. It now starts with a random base of 1-15 as originally intended
- Illusionary units will no longer drop equipment
- Illusionary units that split after dying in combat will now create illusionary units
- Fix for players being unable to create Puppet States when the city they captured had been originally founded by Barbarians, even though the current owner was a legitimate civ (bug find and fix by lfgr)
- Tolerant players should no longer be able to train barbarian units in captured barbarian cities
- Fix to (hopefully) stop barbs from spawning disciples and other religious units
- Fix for potential assert error in AI_barbAttackMove()
- Fix for potential python error (fix and bug find by MagisterCultuum)
- Fix for potential python errors when running with debug logging and Revolutions
- Removed invalid references to Team 7 in Wages of Sin scenario
- Updated Lord of the Balors scenario - slotted Einion Logos into the empty player spot; made adjustments to starting locations for the non-Infernal players and removed the Starting Settler promotion as well to try and keep them from settling on top of each other
AI
- AI should be better about attacking cities with nearby stacks
- AI will no longer use limited national units or high tier units for exploration
- Adjustments to the default AI for a number of units (assassins, beastmasters and druids should no longer be assigned to AI_EXPLORE; Monks now allowed UNITAI_ATTACK_CITY, Axemen class units now allowed UNITAI_CITY_DEFENSE, other tweaks)
- Explore units will now use AI_heal() to decide whether or not to heal
- Added some logic so that units using AI_heal() will sometimes seek out defensive ground first
- Players who are running the GetBetterUnits strategy are now more likely to create unit training buildings
- Sprawling civs less interested in city sites with lots of water
- Terraformers should be a little better about avoiding danger
- Patrol groups will sometimes consider attacking a nearby enemy city
- Units converted to Shades should now disconnect from their group
- Barbs should be more proactive about building new cities if Raging Barbarians or the No Settlers options are selected
- AI's eagerness to attack weak neighbors will now scale with difficulty level
- Fallow civs should be less interested in resources and techs that grant food or health bonuses
- Civs with only 1 city are less interested in adopting a Crush strategy unless they are Aggressive or the One City Challenge option is on
- AI less likely to use higher-level units to create buildings
- AI should be more interested in civics that reduce food consumption (ie Infernal Pact)
- Added python catch for the Illians to make sure they build their best projects
- AI will give more value to spells that increase a cities population
- Tweaks to how the AI values units. Now using AI_CombatValue() for the player rather than the game so now things like weapon tier and mana affinities are figured in
- AI will now take into account traits that grant extra combat strength (ie Sinister) when calculating AI_trueCombatValue()
- Several tweaks to city production code - AI should be better about building early workers, workboats, settlers and defensive units; should also be better about creating buildings that it needs in order to train better units
- Updates to AI_techValue() - AI will be more interested in Open Borders techs if they have met more players; AI should be more interested in Agriculture and Sanitation; Tweaks to how the AI chooses to research religious techs; AI should be more willing to puruse techs that are further down the line; tweaks to how the AI values units and buildings when choosing techs; AI should be more interested in techs that unlock Altar buildings when pursuing an Altar victory
User Interface
- Combat odds will now display proper text for any bonuses due to combat bonuses vs promotions (ie, undead slaying, for example)
- Advanced Combat Odds will now display the name of the attacking and defending units
- Sevopedia should now display info for most spells and abilities
- Restoring Tech Chooser background colors to original color scheme (fix by kekekeke)
- Fix for unimproved mana being displayed inappropriately in the Sevopedia
- Added basic concept entries to the Pedia for Revolutions and Puppet States
- Fix for Dies Diei icon not appearing
Misc
- XML: BonusInfos now has a <bIsMana> tag to help the AI identify mana
- XML: Removed the AIweights from the Spell Extension promotions (the DLL understands the concept of promotions that grant mobility to summoned creatures)
- XML: Increased the AIweight for Infernal Pact
- Advanced Tactics: Now includes Super Forts (code by red-key)
- Forts connect resources
- Forts exert culture on their tile (and surrounding tiles after they upgrade)
- Forts can be bombarded
- Advanced Tactics - Unit Gifting now enabled; in addition to regular restrictions, Avatars, Limited Units, units with the <bAbandon> tag and units whose prerequisite civilization is not the same type as the receiving civilization are all disallowed from being Gifted (NOTE: this feature could use some testing. Find ways to break it and once everything is solid I'll consider adding this to the base game)
Code
- Enabled Hyborems Whisper for multiplayer
- Added new AI function, AI_seekDefensiveGround(int iRange, bool bIncludeHealing)
- Added an isIllusionary() function for units (Any unit that has a promotion that is flagged as a racial promotion and also has <iCombatHealPercent> set to 100 will be considered Illusionary)
- Exposing getPromotionSummonPerk() to python
- Tried to improve the methods used to calculate plot danger (previous method would discount any units that had already moved, not taking into consideration that they will get to move again next turn)
- Code / Bugfix - Units will now check at the end of turn for spells to cast; spells that sacrifice the caster no longer trigger delayed death (this required a couple of other code adjustments to account for the change. hopefully got them all)
- Added the scenario files to the codebase for MNAI
- Additional logging
As many of you know, I am a new father of twins. As you might imagine, this leaves me little time to myself, and unfortunately, this mod has languished as a result. To combat this, I've tried to become a little more organized, moving all my scribbled notes into a Bug Database and Feature Database. I'm hoping that my increased organization will better enable others to chip in more often (and a BIG shout-out to everyone who has previously provided code and fixes for this mod!)
I'm willing to take any assistance, no matter how large or small or how (in)experienced coder you might be (I had never coded python or C++ before I started this project). Please contact me if you are interested in helping out!