[BTS] Expanded Epic Game (fixed Next War)

if you use to much nukes, is the earth breaking in this mod like in next war or can you nuke as much as you want?
 
if you use to much nukes, is the earth breaking in this mod like in next war or can you nuke as much as you want?

I don't think so, as I've only copied over the techs, buildings and units, not any game mechanics. But I haven't tested it so I'm not 100% sure.
 
I hate to nitpick on such a great project, but the Civilopedia entries for the Next War techs, units, buildings and wonders seems to be missing. :(
 
I hate to nitpick on such a great project, but the Civilopedia entries for the Next War techs, units, buildings and wonders seems to be missing. :(

I think you've installed the mod incorrectly. HOPEFULLY not in the "Next War" directory.
 
I think you've installed the mod incorrectly. HOPEFULLY not in the "Next War" directory.

I put it in Mods. Then loaded it as a Mod from the Main Menu. It said "Expanded 1.3" on right top on Main Menu after that. So what did I do wrong?? :confused: :(
 
I put it in Mods. Then loaded it as a Mod from the Main Menu. It said "Expanded 1.3" on right top on Main Menu after that. So what did I do wrong?? :confused: :(

Hmm, that sounds good. Maybe the game HAS to be in a dir called "Expanded" (so minus the "1.3") as its the only obvious difference I can see between how you and I have it installed.
 
Hey Chiyu, I did some research on the Arcologies and how they overlap and I made an interesting discovery:

In the original Next War mod, if you use the World Builder to add the different arcology types, it results in 3 domes around your city. Now, that, at first, appears to be their intent, but if you actually play through and build the buildings during normal gameplay they do in fact remove their prior forms, resulting in a single dome (with shield graphics). So their original intent was always to simply apply shielding graphics to the pre-existing Arcology.

Looking further, I inspected each city after each building had been built. It appears that when you build the shielding the entry for "Arcology" in the building list disappears and is replaced by the Arcology Shielding or Advanced Shielding entry. I'm certain there's something in the Python that causes this behavior.

Also, there's some strange quirkiness with the bonuses that the Arcologies give you. The first Arcology grants +3 Health. The second grants +1 Happiness (no health) and -25% Gunpowder and Nuke damage, as well as +1 trade route. The third grants +1 Happiness and +1 Health and -30% Gunpowder and Nuke damage, and +1 trade routes. It seems to me that they intended the older buildings benefits to be carried over to the new building and improved, so the 25% becomes 30% and so on, but this isn't carried from the original Arcology's +3 health to the ultimate +1 health - which seems odd to me. It appears that the real benefit Advanced Shielding should grant is -30% Gunpowder and Nuke damage, +1 or +2 trade routes, and either +5 Health and +2 Happiness or +3 Health and +1 Happiness. Currently the advancement to shielding makes you lose health! I don't think that was their intent.

Anyway, I just wanted to share my small research and opinion on the matter in hopes you'll include this function in your mod. Thank you, and again, great work.
 
Hey Chiyu, I did some research on the Arcologies and how they overlap and I made an interesting discovery:

In the original Next War mod, if you use the World Builder to add the different arcology types, it results in 3 domes around your city. Now, that, at first, appears to be their intent, but if you actually play through and build the buildings during normal gameplay they do in fact remove their prior forms, resulting in a single dome (with shield graphics). So their original intent was always to simply apply shielding graphics to the pre-existing Arcology.

Looking further, I inspected each city after each building had been built. It appears that when you build the shielding the entry for "Arcology" in the building list disappears and is replaced by the Arcology Shielding or Advanced Shielding entry. I'm certain there's something in the Python that causes this behavior.

Also, there's some strange quirkiness with the bonuses that the Arcologies give you. The first Arcology grants +3 Health. The second grants +1 Happiness (no health) and -25% Gunpowder and Nuke damage, as well as +1 trade route. The third grants +1 Happiness and +1 Health and -30% Gunpowder and Nuke damage, and +1 trade routes. It seems to me that they intended the older buildings benefits to be carried over to the new building and improved, so the 25% becomes 30% and so on, but this isn't carried from the original Arcology's +3 health to the ultimate +1 health - which seems odd to me. It appears that the real benefit Advanced Shielding should grant is -30% Gunpowder and Nuke damage, +1 or +2 trade routes, and either +5 Health and +2 Happiness or +3 Health and +1 Happiness. Currently the advancement to shielding makes you lose health! I don't think that was their intent.

Anyway, I just wanted to share my small research and opinion on the matter in hopes you'll include this function in your mod. Thank you, and again, great work.

While the graphics of the previous shields/domes being left behind seems a little suspect...I'm not entirely sure the health benefits were meant to be carried over. As I see it an Arcology Dome and the Shielding, while based on much of the same advanced Sci-Fi science, may in fact be at pretty different purposes. Once this thing changes from some sort of Bio-Dome to a Force Field I could see the health benefits being lost.
 
Hmm, yeah, I suppose that could be the case. Either way, at present you're getting all of the benefits of the all of the Arcologies, including both damage-reduction effects, massive health boosts, and 2 trade routes in every 3-domed-city. In my opinion, for visual as well as balance purposes, the arcologies should probably overwrite each other.
 
@Niteshade:
Thanks for your research!
Were you able to find out what Python file entry causes (or rather: fixes) this? If not, I'll just do a quick search myself.
Also, I don't think they necessarily intended the benefits of the old buildings to carry over to the new buildings.. +5 health, +2 happiness, +2 trade routes and -30% gunpowder/nuke damage from one building (basically) is a little overpowered in my opinion. It would be nice if someone from Firaxis could give closure on this matter.
 
Well, I just did a little bit more research and found some issues. I'll look into the Python next, but I dropped the Python folder from Next War into your Expanded mod to see what would happen and got some interesting results...

Advanced Starts are missing options. I selected an advanced start Modern era to test some things and adding the Python to the mod got rid of the auto-improvement button in Advanced Starts that lets the game pick your stuff for you. Weird, didn't expect that. I expect there are other "quirks" in the Next War python files judging from how the XML was setup. So I'd be careful what aspects of the Python from Next War you use in the Expanded mod. Who knows whatever features are missing or bugged.

Anyway, when I built the Arcologies in the Expanded mod with Next War python strange things happened. Once I built the 1st shielding, I was then given the ability to rebuild the old Arcology. This didn't happen in my original testing using the Next War scenario or epic mod. I can only assume either a bug from such a cursory trial or something in the Arcology XML was changed that the Python code used as a flag?

I'm going to check out the Python files next, but I don't know Python so hopefully it'll be readable enough to see what they were doing.

EDIT: As for Firaxis closure, isn't Solver somehow involved with Firaxis? Perhaps we could ask him if he knows anything about the matter. I'm not too sure on this though.
 
I have a little suggestion for the different Arcology types. Just get the Python CvEventManager.py from BTS. Find the function onBuildingBuilt and add a check for the building type if it is an upgrade of the existing building, remove the older one. (I haven't checked this but there should be a function that removes a building from the city 99% sure).

If after that it didn't work make sure that the python function is enabled. In bts many python callbacks are switched off by default. This is done in some XML file. (Check Kael's BTS modder's guide for this).

Hopefully this can help.

By the way I actually downloaded your Extra MOD and I am going to try it later tonight. Is everything in this modcopm available in Extra?

Edit: If you don't like messing with python I would gladly do it once I got a free time slot.
 
I'm pretty sure everything from Expanded is in Extra.

And I wonder what other things, if any, are included in the Next War python files...

EDIT: Ah, I should've guessed... Much of it is determining the scenario parameters.

EDIT: Just found the Arcology obsolescence codeblock line 528:

Code:
if iBuildingType == CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_ARCOLOGY_SHIELDING"):			pCity.setNumRealBuilding(CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_ARCOLOGY"), False)
elif iBuildingType == CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_ADVANCED_SHIELDING"):
pCity.setNumRealBuilding(CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_ARCOLOGY_SHIELDING"), False)

There's also stuff in CivGameUtils.py line 181, some sort of "Cannot construct" instruction.

Code:
	def cannotConstruct(self,argsList):
		pCity = argsList[0]
		eBuilding = argsList[1]
		bContinue = argsList[2]
		bTestVisible = argsList[3]
		bIgnoreCost = argsList[4]
		
		# player can't build an arcology if they have shielding or advanced shielding
		if eBuilding == gc.getInfoTypeForString("BUILDING_ARCOLOGY"):
			if pCity.getNumRealBuilding(gc.getInfoTypeForString("BUILDING_ARCOLOGY_SHIELDING")) or pCity.getNumRealBuilding(gc.getInfoTypeForString("BUILDING_ADVANCED_SHIELDING")):
				return True
		
		# player can't build shielding if they have advanced
		if eBuilding == gc.getInfoTypeForString("BUILDING_ARCOLOGY_SHIELDING"):
			if pCity.getNumRealBuilding(gc.getInfoTypeForString("BUILDING_ADVANCED_SHIELDING")):
				return True

		return False

My question is why didn't this work when I copied the Python folder from Next War into the Expanded mod and yet the code for replacing the old arcology DID work.

Is there a way to implement only the code relating to the Arcology? I'd be worried otherwise of potential bugs in the other Next War python code (we know how the XML was >.>)
 
I'm pretty sure everything from Expanded is in Extra.

And I wonder what other things, if any, are included in the Next War python files...

EDIT: Ah, I should've remembered... Much of it is determining the scenario parameters.

Well, for this mod comp whatever NW specific (especially for the scenario), is not actually needed. So it would be enough to fix the odd behavior of the Arcology buildings. In case other issues arise it can be fixed as well.

I have checked CvEventManager.py for Next War and as I expected the following lines are in the onBuildingBuilt function:

if iBuildingType == CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_ARCOLOGY_SHIELDING"):
pCity.setNumRealBuilding(CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_ARCOLOGY"), False)
elif iBuildingType == CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_ADVANCED_SHIELDING"):
pCity.setNumRealBuilding(CvUtil.findInfoTypeNum(gc.getBuildingInfo, gc.getNumBuildingInfos(), "BUILDING_ARCOLOGY_SHIELDING"), False)


Pasting these lines (or actually replacing the whole function with the version in this file) shoud do the trick.

Edit: You man edit your posts so quickly. Anyway you got it all figured out I think. Placing a BTS file with these modifications would be fine I think.

Edit: for your last question I think the cannot construct is one of the python functions that is shut down by default. Find the XML file responsible and just enable the function.
 
I also found the function that stops Arcologies from being rebuilt once they're obsoleted, but I'm still puzzled as to why dropping the Python folder from Next War into Expanded allowed replacement to occur but didn't seem to execute the code disallowing more arcologies from being built in the same city.

EDIT: Ahhhh! So many edits. Yeah, sorry. I keep finding new stuff and have to go edit my posts.

So, Kalimakhus, in looking at the rest of the Python code...is there anything in there out of the ordinary from normal Civ? Any "features" of Next War hidden inside that could be included in the Expanded mod? (if Chiyu wanted to, of course).
 
I haven't gone through the whole files (CvEventManager.py) is huge. It is actually better to modify a BTS file copy and see if anything still behave oddly. This way we can know where to look.

To conclude, for fixing the arcology thing. Copy both python files from BTS. Add modified parts from Next War. Copy the PythonCallbackDefines from BTS and modify the tag to enable the cannot construct function. It should work.

Edit: If you still like to go through the whole two files here is a tip. The default files will have actually nothing besides logging the event. Any additional code will be added by the modder. This additional code is what NW people have added.
 
Top Bottom