Breaking Save Game Compatibility for v37

I think Insectoids should be made to always raze cities.
This can be done in either CivInfo or LeaderInfo, not sure which without checking.
Insectoids should rather have some interesting improvements, nests and whatnot.

Brainbug - You're some kind of big fat smart bug, aren't you?
 
I think Insectoids should be made to always raze cities.
This can be done in either CivInfo or LeaderInfo, not sure which without checking.
Insectoids should rather have some interesting improvements, nests and whatnot.

Brainbug - You're some kind of big fat smart bug, aren't you?
Ok... It's true they'd probably not even be able to make much use of an established city under a different species. Good idea. For now it'll be hardcoded that bugs always raze but I may use a new CivilizationInfos tag to control that if other NPCs start being defined that would do the same.

It's in CvCity.cpp:
bool CvCity::isAutoRaze() const

I just needed to add:
Code:
	//Insectoids always raze
	if (GET_PLAYER(getOwner()).getID() == NPC6_PLAYER)
	{
		return true;
	}

They could HAVE cities but we shouldn't see them until later space exploration imo. At that point, any non-bugs should have to auto-raze those cities as well, non-optional.
 
Ok... It's true they'd probably not even be able to make much use of an established city under a different species. Good idea. For now it'll be hardcoded that bugs always raze but I may use a new CivilizationInfos tag to control that if other NPCs start being defined that would do the same.

k.

iRazeCityProb is in LeaderheadInfos btw.
 
k.

iRazeCityProb is in LeaderheadInfos btw.

That integer probably is ignored by some considerations. Like if the city is a holy center or has useful wonders. It's likely only programmed to be checked if the city doesn't have a special reason to be held.
 
I suppose when I say I need help I mean I need someone to do a LOT of grunt work to ensure that the buildings and units that can be trained by Neanderthals (and Insectoids if they ever capture a city though this can wait - I suggest insectoids on earth should be given NoCapture anyhow) are correctly established. Since we have a HUGE list of buildings and units and EACH needs to be defined as possible or not for this to work properly, it's going to be a major effort.

So I'm calling to any of the junior modders who would be willing to assist with that effort!
:confused:

I am only the gopher. (Go for this - go for that) But how many junior modders do you have? Wondered why you were so keen to get me on the team (hidden agenda). ;)

Apart from some opinions, editing maps and messing with Spawninfos.xml. That is my only experience.

I am willing to help, but have no idea what to do - yet. so will need examples and lists of which files etc. that need to be updated.

That is, when you are ready to implement those changes. :D

I suppose every little helps.
 
:confused:

I am only the gopher. (Go for this - go for that) But how many junior modders do you have? Wondered why you were so keen to get me on the team (hidden agenda). ;)

Apart from some opinions, editing maps and messing with Spawninfos.xml. That is my only experience.

I am willing to help, but have no idea what to do - yet. so will need examples and lists of which files etc. that need to be updated.

That is, when you are ready to implement those changes. :D

I suppose every little helps.
There's a few names I'd hoped would answer the call (yours on the top of the list!) Glad to have your help!

So this might be a little frustrating and maybe we can talk out a better way but here's the basics.
Spoiler :
Code:
		<CivilizationInfo>
			<Type>CIVILIZATION_NPC_NEANDERTHAL</Type>
			<Description>TXT_KEY_CIV_NPC_NEANDERTHAL_DESC</Description>
			<ShortDescription>TXT_KEY_CIV_NPC_NEANDERTHAL_SHORT_DESC</ShortDescription>
			<Adjective>TXT_KEY_CIV_NPC_NEANDERTHAL_ADJECTIVE</Adjective>
			<Civilopedia>TXT_KEY_CIV_NPC_NEANDERTHAL_PEDIA</Civilopedia>
			<DefaultPlayerColor>PLAYERCOLOR_BLACK</DefaultPlayerColor>
			<ArtDefineTag>ART_DEF_CIVILIZATION_BARBARIAN</ArtDefineTag>
			<ArtStyleType>ARTSTYLE_BARBARIAN</ArtStyleType>
			<UnitArtStyleType>UNIT_ARTSTYLE_BARBARIAN</UnitArtStyleType>
			<bPlayable>0</bPlayable>
			<bAIPlayable>0</bAIPlayable>
			<Cities/>
			<Buildings>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CULTURE_HUMAN</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_VERSAILLES</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_ACADEMY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_LIBRARY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_UNIVERSITY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_OBSERVATORY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_LABORATORY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_THEATRE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_BROADCAST_TOWER</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_INTELLIGENCE_AGENCY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_NATIONAL_SECURITY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_JEWISH_TEMPLE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_JEWISH_CATHEDRAL</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_JEWISH_MONASTERY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_JEWISH_SHRINE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CHRISTIAN_TEMPLE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CHRISTIAN_CATHEDRAL</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CHRISTIAN_MONASTERY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CHRISTIAN_SHRINE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_ISLAMIC_TEMPLE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_ISLAMIC_CATHEDRAL</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_ISLAMIC_MONASTERY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_ISLAMIC_SHRINE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_HINDU_TEMPLE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_HINDU_CATHEDRAL</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_HINDU_MONASTERY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_HINDU_SHRINE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_BUDDHIST_TEMPLE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_BUDDHIST_CATHEDRAL</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_BUDDHIST_MONASTERY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_BUDDHIST_SHRINE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CONFUCIAN_TEMPLE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CONFUCIAN_CATHEDRAL</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CONFUCIAN_MONASTERY</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_CONFUCIAN_SHRINE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
					<BuildingClassType>BUILDINGCLASS_TAOIST_TEMPLE</BuildingClassType>
					<BuildingType>NONE</BuildingType>
				</Building>
				<Building>
This is the beginning of the current Neanderthal civ listing in CivilizationInfos.xml. It's BASED on the Barbarian one.

There are already a LOT of buildings that are defined and a LOT of units that are defined. These definitions are where a modder can set a building to be unbuildable or redefine what that building access would be. Remember Unique Units and Unique Buildings from Vanilla? These are the tags that let a modder define a unique for a particular civ, say, replacing the normal Swordsman in the Swordsman CLASS with a Praetorian for the Roman Civilization for example.

If >NONE< is defined, as it is here for many buildings and units, it basically makes that whole unit or building class completely inaccessible to this civ.

I think you see where I'm going with this. Neanderthals shouldn't be able to build a LOT of buildings normal civs can. They should also not be able to Train pretty much every unit in the game with the exception of the actual UNIT_NEANDERTHAL, possibly the Neanderthal Warrior, and maybe canines if they get to the point where they have Canine Domestication. Workers are probably something they should be able to build.

This is also a call to eventually proliferate more neanderthal units for these guys... at some point. I can certainly see a Neanderthal Axeman, Spearman or Swordsman being pretty fearsome and a big problem if Neanders are allowed to exist long enough to develop their tech levels. They should never be given any throwing units since research suggests this was their underlying competitive problem with homo sapien.

Anyhow, this basically means nearly every building and nearly every unit needs to be gone through and added to these tags for this civ.

Have I been clear as to what the task amounts to, even if it IS an unfortunate one?
 
@ALL:
Do we really need to isolate out certain corporations with the Modern Corporations option? Seems unnecessary for C2C doesn't it?

I was under the impression this was not about extra corporations, if it is then I have no problem removing it. I do want to add some Cults (eg Fertility, Warrior and Athlete) as Corporations at some stage but I need to get the obsolete part working properly.

I thought that this option was the one that had the corporations founding by themselves which I am totally against making core.
 
I think it would be better if the basic Neanderthal units could set up a Neanderthal cave improvement on cave features, that spawn Neanderthal units based on their tech level.

You are sure there's no way to restrict an entire civilization from building/training anything/anyone that doesn't have a new type of boolean tag?
 
There's a few names I'd hoped would answer the call (yours on the top of the list!) Glad to have your help!

Such a charmer :) - Hustled at my age. :D

So this might be a little frustrating and maybe we can talk out a better way but here's the basics.


Need to sleep first, will read this tomorrow. Good Night. :sleep:
 
I think it would be better if the basic Neanderthal units could set up a Neanderthal cave improvement on cave features, that spawn Neanderthal units based on their tech level.

That can be done and is something I want to do with Bears and Ground Sloths as well as the barbarian subgroups bandits and pirates.
 
I think it would be better if the basic Neanderthal units could set up a Neanderthal cave improvement on cave features, that spawn Neanderthal units based on their tech level.

You are sure there's no way to restrict an entire civilization from building/training anything/anyone that doesn't have a new type of boolean tag?

Why not change them to spawn on caves -also in spawninfos.
 
I was under the impression this was not about extra corporations, if it is then I have no problem removing it. I do want to add some Cults (eg Fertility, Warrior and Athlete) as Corporations at some stage but I need to get the obsolete part working properly.
This option is purely about extra corporations. For that reason, I'm in favor of removing it as well and with your consent implied here I will be doing so.

I thought that this option was the one that had the corporations founding by themselves which I am totally against making core.
Yeah, I HATE that option as well. That's 'Realistic Corporations' and unfortunately, because some of us so badly do NOT want this option but don't want to take the time to read the hovers, both often get deselected.

I think it would be better if the basic Neanderthal units could set up a Neanderthal cave improvement on cave features, that spawn Neanderthal units based on their tech level.

You are sure there's no way to restrict an entire civilization from building/training anything/anyone that doesn't have a new type of boolean tag?
I could make a building and unit tag that could match to a new tag in CivilizationInfos that if the bool in Civ Infos was selected, something like bStronglyRestricted, then a tag in unit and building infos like <PlayerEnabled> would be necessary for those strongly restricted players to build or train that building or unit.

It's more tags but it might actually be memory forgiving in the end I suppose.

Ok... I'll probably do that considering how these new NPCs are probably going to commonly need it.


Such a charmer :) - Hustled at my age. :D
lol :D
Looks like we'll be making this a bit easier on ya.

That can be done and is something I want to do with Bears and Ground Sloths as well as the barbarian subgroups bandits and pirates.
I do like this idea quite a bit. Perhaps Neanderthals should never have cities and should ALWAYS raze if they take one then... but I think there could still be room for developing out Neanders a bit more and allowing them cities so the option should probably stay, even if it'd be pretty limited at the moment. And I'd still support doing some neat stuff with improvements like this.

Why not change them to spawn on caves -also in spawninfos.
Or expand their spawning potential there at least. In addition.
 
Why not change them to spawn on caves -also in spawninfos.

We could do that too but those spawns will have to stop around 10 000 BC.
The improvement spawn would not require a stop date on its spawn so that human civs have to actively drive Neanderthals to extinction by destroying all their improvements.
The improvement can also give extra defense modifier as well as increasing healing rates for the defender, etc.

It would be pretty cool if they had proper cities though, but it seems like a very clumsy implementation if every building and unit in the game has to be listed as not buildable in the CivilizationInfo XML for that civ.
Barbarians already have a pretty long list, this one will be at least 3 times bigger.
 
We could do that too but those spawns will have to stop around 10 000 BC.

They are already in version 36 and before.

Did not realize that had been changed. If not what am I missing?

It would be pretty cool if they had proper cities though, but it seems like a very clumsy implementation if every building and unit in the game has to be listed as not buildable in the CivilizationInfo XML for that civ.
Barbarians already have a pretty long list, this one will be at least 3 times bigger.

Thanks for that -maybe I should withdraw my offer to help. :eek:
 
Don't stress Harrier... he's right and I was concerned about that as well. However, I think the tag set we discussed earlier to make it possible to go in and select buildings and units that would be included rather than barred would be easier. I'll program that into the dll this weekend so that we can move forward with that philosophy rather than the initial method we discussed.
 
They are already in version 36 and before.

Did not realize that had been changed. If not what am I missing?
Nothing has changed, although not all of the Neanderthal spawns are tied to caves.

I was just trying to point out why we might want a Neanderthal specific improvement and additional Neanderthal spawns tied to it.
 
Don't stress Harrier.

Do not worry.

I was only joking. :D Forgot to put a laugh after the eek. :crazyeye:

Note.

She who must be obeyed, is getting angry now. I should have been in bed over 30 mins. ago.

So good night. :sleep:
 
Well... I was thinking 'eek' myself at the prospect of having to go through it like that. Even if it isn't ME doing the task it's still a monumental one I wouldn't want anyone to have to do!
 
Back
Top Bottom