Hello,
Since we're talking about Infernals, barbarians, and such, here's an oddity: In my latest game many infernals have been summoned. I've just discovered that Lethe, Queen of Sorrow has been hanging out with an army and no cities for I'm not sure how long.
She entered near the Doviello (I just eliminated the Doviello, that's how I met Lethe). Was she not allowed to expand due to their barbarian relationship? Now that they are gone she has room to move, yet stays right where she is with her army and settler. Is it that she's just not seeing anywhere worthwhile to move, and doesn't know how to explore?
I've attached a couple logs and a saved game if anyone wants to give it a gander.
Also, can anyone tell me how the game decides where to put the infernals when they enter? Sometimes they take over cities, and sometimes they show up with a settler. I have not been able to discern a pattern.
Thanks
I've also noticed that when the Infernals enter the world on a Helfire tile instead of taking a city, that they tend to stay on that tile. I just now realized that this is probably because the improvement has the <bExploreTarget>1 tag. The issue thus appears to be the same as that which causes units to seek out other lairs and then merely sit on them rather than actually exploring or moving on to something else.
I'm really not sure why the AI tends to leave units on lairs without actually exploring them. I believe that is More Naval AI behavior, which Tholal will have to address himself.
Edit: I just realized that in More Naval AI, the explore lair spells all have <iAIWeight>300</iAIWeight>. I did not copy that tag when I merged my mod with Tholal's. Perhaps doing so will solve the problem.
I'm thinking I might want to remove the <bExploreTarget>1 tag from the epic lairs though, because in my modmod exploring these will not clear them from the map. Units might stay there waiting to clear them, and so get stuck forever.
The Infernals should not risk exploring hellfire too much before founding their first city, so I'll remove that tag from Hellfire too.
A new Infernal Leader will take over a city if there is a valid city for him to take.
For a city to be valid, it must have the Ashen Veil religion present in it. It cannot be anyone's capital city, nor may it be Acheron's city. It must also not belong to another Ashen Veil player, or to the player who summoned the demon lord. The presence of wonders, holy city status, and whether the current owner has the Ashen Veil as his State Religion all go into determining which of the valid cities the demon lord will prefer to take, but not not whether he can take one at all.
If a demon lord cannot claim any city, then his units will instead appear on the map on a random tile, which will be given a Hellfire improvement.
Haven't played this in a while I downloaded the latest as of a few days ago. Playing as the Luchuirp, and did the world spell for the Golden Hammers. But instead of every city getting a hammer, every unit got a hammer. Even the ships and hawks. Only the workers did not.
I changed that spell a long time ago, since I considered it quite weak. I had meant for it to give a Golden Hammer only to living units, actually coded it to give them to all units with any unitcombat. In my modmod basically every unit has a unit combat except for Golems (excluding Barnaxus), Auric Ascended, and Heirs of Taranis.
Just after the release (before you posted) I changed it so that it would indeed only go to living units.
After you posted I realized that their world spell might have something to do with why the Luchuirp tend to dominate so much. I have since then reverted to using the base FfH2 code.
I'm a few iterations behind, so I'm not sure if this has been addressed, but the crossbowmen are just really overpowered. The only thing that can challenge them on defense other national units, but the crossbowmen are unlimited. On top of that, they cost half of what the longbowmen cost.
Maybe make them nation or limit them to iron weapons?
I decreased their strength by 1 when I first read this. That was late at night, and I wasn't sure what you meant by the last line. I just now realized that they could get Mithril Weapons. They cannot anymore.
Couldn't upload logs and save correctly...packed save, BBAI and MPlog.txt...freezes on turn...
aaaand python error:
I haven't looked through the posted files yet, but from the python exception texts on screenshot it appears that the error could only be caused by sacrificing a unit on a Demons Altar while not currently researching any technology. The fact that in the background I can see you are researching Fanaticism throws doubt on that theory, but I suppose the error could be caused by an AI player using the spell. I just added a check to prevent such an error.
Had lots of OOS problems today, both with the november and the new december version:
1.) Runes of Kilmorph seems to cause an OOS every few rounds if researched by a human player. Occured on november and december version, playing Lanun and Kuriotates. If we reload and take over another civ and let the AI play the problem civ, the OOS doesn't occur. Attached a save file (december version) one turn before Lanun researches Runes of Kilmorph and the game goes out of sync. If the AI takes over the Civ or Runes of Kilmorph research is aborted, the OOS doesn't occur. Also attached some OOS logs from the November version with either Lanun or Kuriotates being the problem child.
2.) Great sage with fireball ability causes an OOS immediately when casting the spell. (December version)
3.) Got another OOS without Runes of Kilmorph sometimes after that with unknown reason. Not sure if it's specific to new december version.
It's very strange, since we could play the july and november version on two occasions without any problems, but today, every game was plagued with them, regardless if we used the november or december version.
I'm really not sure what could be causing the Runes of Kilmorph issue. The only possibility I can think of is the Build Mountain Mine ability. In the November version, this spell allowed Soldiers of Kilmorph to build mines on peaks, after a delay of 3 turns. In the December version the ability takes a turn longer, ignores whether the unit has already cased something that turn, and has the Runes of Kilmorph State religion prereq instead of the unit prereq in XML. The python prereq now makes it available to workers/mud golems, great engineers, and Soldiers of Kilmorph.
The Great Sage is question is surely either Mikel Dylantyr or Menolly NuValle. Mikel was the archmage who ran Kylorin's school of Fire Magic. Menolly was the wife of the last Bannor king of Braduk before the fall of Bhall, and was a Fire Archmage in her own right. It seemed thematically appropriate to give them fire magic. (Fire 3 would seem more appropriate, but also way too strong.)
Great people such as these are given such bonus promotions through the <PyRequirement> of SPELL_IDENITFY_GREAT_PERSON. It is quite possible that changes made by a spell prerequisite are not being passed on to other players. The problem may stem from the fact that the great person only has the Fire 2 promotion and thus the ability to use the spell in one version of the game.
I might need to remove the spell-granting promotions as great person bonuses. I hope this does not mean that I also need to remove the thematically appropriate races and random names for once the list of unique names has been exhausted. The code that determines when an adventurer should or should not create a sluagh (and thus be available for resurrection depends) on them having unique names.
I just realized that the OOS error could also be caused by the fact that I made the "Grigori Racial Diversity" feature of the Advanced Tactics options apply to Grigori/Kuriotates Great Persons too instead of only units built in Grigori/Kuriotates cities. Having one player generate a (pseudo-)random number here probably means that their computer generates different (pseudo-)random numbers than the other computers in the future.
I'm not really sure what I can do about this. I would really prefer to be able to place the effectIDGP code in CvEventManager.py's def onUnitCreated, but I'm pretty sure that units are not given their random names upon being initially created.
Edit: Actually, it seems to be working just fine under def onUnitCreated (once "pCaster" is replaced by "unit" and everything is indented properly, of course). I have changed it to work that way. Not only will this probably prevent those OOS errors, but it should also make the game run faster and prevent people from cheating by changing the names of their great people in order to get free promotions.
I did have to add 3 lines of code to def effectAdventure(pCaster) in order to prevent adventurers who revert to the adventurer unit from getting new racial promotions based on the unique names which would be immediately overwritten when the old unit is converted to the new one. In the process I realized that some of the existing code there is now unnecessary.