Breaking Save Game Compatibility for v37

@DH: Why does locust swarms, unlike all other animals, use this spawning mechanism?
Code:
			<TerrainNatives>
				<TerrainNative>
					<TerrainType>TERRAIN_GRASS</TerrainType>
					<bTerrainNative>1</bTerrainNative>
				</TerrainNative>
				<TerrainNative>
					<TerrainType>TERRAIN_PLAINS</TerrainType>
					<bTerrainNative>1</bTerrainNative>
				</TerrainNative>
				<TerrainNative>
					<TerrainType>TERRAIN_DESERT</TerrainType>
					<bTerrainNative>1</bTerrainNative>
				</TerrainNative>
			</TerrainNatives>
I would remove it and make the SpawnInfos deal with this.

That would be important to do because animals cannot spawn under the original mechanism any longer... they MUST use the spawninfos.
 
For my next commit after the fix I've just put in place, I'll be resolving DH's python complaint - I reinstated 'isAnimal()' but keep in mind that it NOW means ALL units with UNITCOMBAT_ANIMAL, whether wild, subdued or whatnot. Additionally, I'm installing the isAnimal() check as a second check to the tag usage itself on isNoCapture. This means that by setting UNITCOMBAT_ANIMAL, you are making the code immediately assume the unit has the bNoCapture tag in use.

Well that wont work :( It would have been better if isAnimal() refered to either of the two animal nations. That way it would have the same meaning as it does now.


@DH: Why does locust swarms, unlike all other animals, use this spawning mechanism?
Code:
			<TerrainNatives>
				<TerrainNative>
					<TerrainType>TERRAIN_GRASS</TerrainType>
					<bTerrainNative>1</bTerrainNative>
				</TerrainNative>
				<TerrainNative>
					<TerrainType>TERRAIN_PLAINS</TerrainType>
					<bTerrainNative>1</bTerrainNative>
				</TerrainNative>
				<TerrainNative>
					<TerrainType>TERRAIN_DESERT</TerrainType>
					<bTerrainNative>1</bTerrainNative>
				</TerrainNative>
			</TerrainNatives>
I would remove it and make the SpawnInfos deal with this.

Locusts are not animals, they can cross cultural borders just like other barbarians. Which is why they use the normal barbarian spawn method of using TerrainNative.
 
Well that wont work It would have been better if isAnimal() refered to either of the two animal nations. That way it would have the same meaning as it does now.
It can't. Not from the code anyhow. CvUnitInfo is where you were pulling 'isAnimal()' from and CvUnit can derive information from CvUnitInfo but CvUnitInfo can NOT derive information from CvUnit. This makes it impossible to derive the player or civlization or nation the unit is attached to because at CvUnitInfo, you're only getting base unit details, not details on an initialized unit. I'm not sure how to specify the difference in python but if you specify that you're not getting the base unit information but the information from the actual initialized unit in the game then it works fine because isAnimal() IS a method there still and it does ask if the unit is assigned to either animal nation type.

And what animals do you want capable of being captured anyhow? Keep in mind that mounted units are not 'animals' by unitcombat. Nor are Animal Assisted units. I don't think any units that are given the animal unitcombat (which include Wild Animals, Subdued Animals, and some Ideas, Canines (which you were already specifying separately) and Felines (which you had overlooked) as well as early Rhino units) would be a unit that would be logical to be able to capture - this isn't controlling subdual which is a different mechanism.
 
The same could be said for Neanderthals, but they use the same spawn mechanism as animals.

Furthermore, they should thus not be given the animal unitcombat right? And if the problem with them being animals is that they should be entering borders, then all it takes is applying to those units the tag that allows animals to enter borders right?
 
Furthermore, they should thus not be given the animal unitcombat right? And if the problem with them being animals is that they should be entering borders, then all it takes is applying to those units the tag that allows animals to enter borders right?
They can enter borders as they don't use the UNITAI_ANIMAL; they use UNITAI_PILLAGE. EDIT: They are not assigned the UNITCOMBAT_ANIMAL either (checked).
This has nothing to do with what kind of spawning mechanism that is used nor what kind of unitcombat they have.

I would think it advantageous to define it so the bigger swarms don't spawn until later in the game. This can easily be achieved in the SpawnInfo.
 
They can enter borders as they don't use the UNITAI_ANIMAL; they use UNITAI_PILLAGE. This has nothing to do with what kind of spawning mechanism that is used.

I would think it advantagous to define it so the bigger swarms don't spawn until later in the game. This can easily be achieved in the SpawnInfo.

Ack... that means I'll have to remove the animal AI validation that's been in the code for some long time here that enforces that if a unit is an animal then it is given the animal AI as an override to any other setting it may have been given. However, AI is not what bars an animal from moving into civilized territory... that was always a hardcoded gamerule and only my tag to enable it allows it.

By not using bAnimal on that unit it was allowed to get around this but with bAnimal being removed, if we set it to an animal nation then I'll have to remove the AI validation check (which I always thought was possibly not all that good to have there anyhow) and we'll have to instead use the can ignores borders tag for that unit. Then it can be an animal team spawn as well. Without creating a whole new AI for them alone, we either give animal combat bonuses against them or we give barbarian combat bonuses against them... one of the two.

EDIT: Correction... I took out that AI validation already.
 
Latest List:
Spoiler :
Code:
Overview of changes in Animals_CIV4UnitInfos.xml.

bOnlyDefensive=1 & bAnimalIgnoresBorders=1 in UnitInfo - bNeutralOnly=0 in SpawnInfo
Defensive Only, No Stealth Defense - Unrestricted Spawning:
	PASSIVE:
		Aardvark...............	AARDVARK...............	iAggression = 0
		African Elephant.......	AFRICANELEPHANT........	iAggression = 2
		African Grey Parrot....	AFRICANGREY............	iAggression = 0
		African Penguin........	AFRICAN_PENGUIN........	iAggression = 0
		Giant Anteater.........	ANTEATER...............	iAggression = 0
		Armadillo..............	ARMADILLO..............	iAggression = 0
		Babirusa...............	BABIRUSA...............	iAggression = 0
		Badger................. BADGER.................	iAggression = 3
		Ball Python............	BALLPYTHON.............	iAggression = 0
		Barbary macaque........	BARBARYAPE.............	iAggression = 0
		Barn Owl...............	BARNOWL................	iAggression = 0
		Barred Owl.............	BARREDOWL..............	iAggression = 0
		Beaver.................	BEAVER.................	iAggression = 0
		American Black Bear.... BLACKBEAR..............	iAggression = 1
		Wild Boar.............. BOAR...................	iAggression = 2
		Bongo..................	BONGO..................	iAggression = 0
		Booby.................. BOOBY..................	iAggression = 0
		Dromedary..............	CAMEL..................	iAggression = 0
		Capuchin Monkey........	CAPUCHIN...............	iAggression = 0
		Capybara...............	CAPYBARA...............	iAggression = 0
		Caribou................	CARIBOU................	iAggression = 0
		Cassowary..............	CASSOWARY..............	iAggression = 1
		Cod....................	COD....................	iAggression = 0
		Crab...................	CRAB...................	iAggression = 0
		Crow...................	CROW...................	iAggression = 10 ->	(If it in a game were to level up, it would turn into an insane group of suicidal crows; an easter egg reference to a certain hitchcok movie.)
		Common Spotted Cuscus..	CUSCUS.................	iAggression = 0
		Poison Dart Frog.......	DARTFROG...............	iAggression = 0
		Desert Tortoise........	DESERT_TORTOISE........	iAggression = 0
		Dolphin................	DOLPHIN................	iAggression = 0
		Onager.................	DONKEY.................	iAggression = 0
		Duck...................	DUCK...................	iAggression = 0
		Dugong.................	DUGONG.................	iAggression = 0
		Asian Elephant.........	ELEPHANT...............	iAggression = 1
		Emu....................	EMU....................	iAggression = 1
		Fennec Fox.............	FENNECFOX..............	iAggression = 0
		Flamingo...............	FLAMINGO............... iAggression = 0
		Galapagos Penguin......	GALAPAGOS_PENGUIN......	iAggression = 0
		Galapagos Tortoise.....	GALAPOGOS_TORTOISE.....	iAggression = 0
		Thomson's Gazelle......	GAZELLE................	iAggression = 0
		Gemsbok................	GEMSBOK................	iAggression = 1
		Giraffe................	GIRAFFE................	iAggression = 1
		Glyptodon..............	GLYPTO.................	iAggression = 1
		Megatherium............	GROUNDSLOTH............	iAggression = 1
		Guanaco................	GUANACO................	iAggression = 0
		Gull...................	GULL...................	iAggression = 0
		Pygmy Hippopotamus.....	PYGMYHIPPO.............	iAggression = 2
		Horse..................	HORSE..................	iAggression = 0
		Humpback Whale.........	HUMPBACK_WHALE.........	iAggression = 0
		Walia Ibex.............	IBEX...................	iAggression = 2
		Green Iguana...........	IGUANA.................	iAggression = 0
		Impala.................	IMPALA.................	iAggression = 0
		Western Grey Kangaroo..	KANGAROO_GREY..........	iAggression = 1
		Red Kangaroo...........	KANGAROO_RED...........	iAggression = 1
		Koala..................	KOALA..................	iAggression = 0
		Ring-tailed Lemur......	LEMUR..................	iAggression = 0
		Green Anole............	LIZARD.................	iAggression = 0
		Loon...................	LOON...................	iAggression = 0
		Macaw..................	MACAW..................	iAggression = 0
		Mackerel...............	MACKEREL...............	iAggression = 0
		Mammoth................	MAMMOTH................	iAggression = 1
		Mandrill...............	MANDRILL...............	iAggression = 1
		Manta Ray..............	MANTA_RAY..............	iAggression = 0
		Minke Whale............	MINKIE_WHALE...........	iAggression = 0
		Moa....................	MOA....................	iAggression = 1
		Moose..................	MOOSE..................	iAggression = 1
		Mouflon................	MOUFLON................	iAggression = 1
		Musk Ox................	MUSKOX.................	iAggression = 1
		Narwhal................	NARWHAL................	iAggression = 0
		Numbat.................	NUMBAT.................	iAggression = 0
		Okapi..................	OKAPI..................	iAggression = 2
		Opossum................	OPOSSUM................	iAggression = 0
		
	AGGRASSIVE:
		Arctic Fox............. ARCTICFOX..............	iAggression = 0	(Target: WATERFOWL & SEABIRD)
		Beluga Whale...........	BELUGA.................	iAggression = 0	(Target: CRUSTACEAN & FISH_BONEY)
		Ussuri Dhole...........	DHOLE..................	iAggression = 3	(Target: ANTELOPE, BOVINE, CERVID, EQUINE & SWINE)
		Dingo..................	DINGO..................	iAggression = 2	(Target: MARSUPIAL)
		Bald Eagle.............	EAGLE..................	iAggression = 1	(Target: BIRD_SEABIRD, BIRD_WATERFOWL & RODENT)
		Ethiopian Wolf.........	EWOLF..................	iAggression = 1	(Target: RODENT)
		Gharial................	GHARIAL................	iAggression = 1	(Target: FINE, DIMINUTIVE & TINY)
		Giant Squid............	GIANT_SQUID............	iAggression = 2	(Target: SMALL & MEDIUM)
		Hammerhead Shark.......	HAMMERHEAD.............	iAggression = 2	(Target: INVERTEBRATE, FISH_BONEY & FISH_RAY)
		Harpy Eagle............	HARPYEAGLE.............	iAggression = 0	(Target: Anteater, Treesloth, Armadillo, Aardvark, Iguana, PARROT, SNAKE, MONKEY & PROSIMIAN)
		Hawk...................	HAWK...................	iAggression = 0	(Target: SNAKE, GAMEBIRD & SONGBIRD)
		Great Horned Owl.......	HORNEDOWL..............	iAggression = 3	(Target: SNAKE, RODENT, GAMEBIRD, SONGBIRD, WATERFOWL & SEABIRD)
		Kookaburra.............	KOOKABURRA.............	iAggression = 3	(Target: AMPHIBIAN, INSECT & SNAKE) 
		Lynx...................	LYNX...................	iAggression = 3	(Target: BIRD_GAMEBIRD, BIRD_WATERFOWL, CERVID & RODENT)
		Maned Wolf.............	MANEDWOLF..............	iAggression = 0	(Target: BIRD_GAMEBIRD & RODENT)
		Marlin.................	MARLIN.................	iAggression = 2	(Target: FISH_BONEY)
		Nile Monitor...........	MONITOR................	iAggression = 3	(Target: FINE, DIMINUTIVE & TINY)

bAnimalIgnoresBorders=0 in UnitInfo - bNeutralOnly=1 in SpawnInfo (both default values if the tag is absent)
Can Attack - Stealth Defense - Only neutral Spawning:
	PASSIVE:
		Asian Black Bear....... ASIANBEAR..............	iAggression = 3 (Target: SOLO & PARTY)
		Bison.................. BISON..................	iAggression = 3 (Defensive Only)
		Cape Buffalo...........	BUFFALO................ iAggression = 3
		Cave Bear..............	CAVEBEAR...............	iAggression = 1
		Auroch.................	COW.................... iAggression = 4	(Defensive Only)
		Gorilla................	GORILLA................	iAggression = 3	(Defensive Only)
		Hippopotamus...........	HIPPO..................	iAggression = 5
	AGGRASSIVE:
		Jaguar.................	ANIMAL_JAGUAR..........	iAggression = 9 (Target: SOLO, PARTY, CERVID, RODENT & TAPIR)
		Brown Bear............. BEAR...................	iAggression = 2 (Target: BOVINE, CERVID, GOAT & SWINE)
		Bengal Tiger...........	BENGALTIGER............	iAggression = 7 (Target: ANTELOPE, BOVINE, CERVID & SWINE)
		Black Caiman...........	CAIMAN.................	iAggression = 3	(Target: BIRD, CERVID, RODENT & TAPIR)
		Cave Lion..............	CAVE_LION..............	iAggression = 6	(Target: BOVINE, CERVID, EQUINE & URSINE)
		Cheetah................	CHEETAH................	iAggression = 4	(Target: ANTELOPE, RATITE, & SWINE)
		Cobra..................	COBRA..................	iAggression = 2	(Target: DIMINUTIVE & TINY)
		Dire Wolf..............	DIREWOLF...............	iAggression = 6	(Not a picky eater)
		American Aligator......	GATOR..................	iAggression = 3	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL & MEDIUM)
		Chineese Aligator......	GATOR_ASIAN............	iAggression = 2	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL)
		Great White Shark......	GREATWHITE.............	iAggression = 4
		Grizzly Bear...........	GRIZZLY................	iAggression = 4
		Haast Eagle............	HAAST_EAGLE............	iAggression = 3	(Target: ANTELOPE, RATITE & SWINE)
		Striped Hyena..........	HYENA..................	iAggression = 2	(Target: Desert Tortoise, Wild Boar & Onger)
		Komodo Dragon..........	KOMODO_DRAGON..........	iAggression = 3	(Defensive Only - Target: BIRD, BOVINE, CERVID, EQUINE, GOAT, MONKEY, SWINE & LIZARD)
		Lion...................	LION...................	iAggression = 5	(Target: Buffalo, Wilderbeest & Zebra)
		Nile Crocodile.........	NILECROC...............	iAggression = 3	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL & MEDIUM)
	BARBARIAN
		Chimpanzee.............	CHIMPANZEE.............	iAggression = 1	(Target: ANTELOPE, MONKEY & SWINE)

Wild animal specific promotions:
"Feral I" enables stealth defense and removes the animals ability to enter cultural borders.
"Feral II" enables the animal to attack and to again enter cultural borders.
"Feral III" Enables onslaught.
Good night.
 
Latest List:

Mammoth................ MAMMOTH................ iAggression = 1

Good night.

The Mammoth is not an animal in the spawn-info file except as a bonus resource. It does not have a spawn entry.

All other entries (defaulted Chimp to passive and Neutral =1 - until decided upon.) have been done

That is all animals in this list, not just the initial list.

Half way there by now.

Would you like me to post an update?
 
The Mammoth is not an animal in the spawn-info file except as a bonus resource. It does not have a spawn entry.

All other entries (defaulted Chimp to passive and Neutral =1 - until decided upon.) have been done

That is all animals in this list, not just the initial list.

Half way there by now.

Would you like me to post an update?

No rush, I wont need your files until I'm finished with mine anyway.

Mammoth spawn file is seperated, the same is true for other animals like the Zebra.
\Assets\Modules\Alt_Timelines\MegaFauna\Mammoths\Mammoth_CIV4SpawnInfos.xml

We decided chimp were to be barbarian civ as a test.
@TB: would bExile keep chimp out of barbarian territory if chimp is in barbarian civ?

If bNeutralOnly=1 there is no need to have the line in the xml as it default to 1 if the line is missing.
 
No rush, I wont need your files until I'm finished with mine anyway.

OK - but the SVN version of spawninfos has all animals set as passive (so no animal attacks). The version I uploaded earlier (before the neutral tag addition) has a mixture of aggressive/passive (not all the same as yours - but a variety) - so should be added to the SVN to give players a flavour of what is to come.

Mammoth spawn file is seperated, the same is true for other animals like the Zebra.
\Assets\Modules\Alt_Timelines\MegaFauna\Mammoths\Mammoth_CIV4SpawnInfos.xml

Should I update these files also or leave them for now?

We decided chimp were to be barbarian civ as a test.
@TB: would bExile keep chimp out of barbarian territory if chimp is in barbarian civ?

Am I right in thinking that the Barbarian units - do NOT use the 'NeutralOnly' tag.

If bNeutralOnly=1 there is no need to have the line in the xml as it default to 1 if the line is missing.

Where is that defined?

Also once we have the final format - I should delete all those lines - correct. To free up a small amount of memory. PUN - I guess every little bit counts. :lol:
 
OK - but the SVN version of spawninfos has all animals set as passive (so no animal attacks). The version I uploaded earlier (before the neutral tag addition) has a mixture of aggressive/passive (not all the same as yours - but a variety) - so should be added to the SVN to give players a flavour of what is to come.
I think you should get SVN access and try to commit them, it might motivate you to help us out more later. ^^
Animals do attack even if all are on the passive team; but predators and prey won't attack each other as long as they are on the same team.

Should I update these files also or leave them for now?
Changing them too would be appreciated.

Am I right in thinking that the Barbarian units - do NOT use the 'NeutralOnly' tag.
Yes bNeutralOnly=0 (meaning the line doesn't need to be there) for chimpanzee.

Where is that defined?
In the DLL.
Copy-Paste from CvInfos.cpp (source file that is used for compiling the DLL)
Spoiler :
Code:
//======================================================================================================
//					CvSpawnInfo
//======================================================================================================
CvSpawnInfo::CvSpawnInfo() : m_eUnitType(NO_UNIT),
							 m_iPlayerType(-1),
							 m_iTurns(-1),
							 m_iGlobalTurns(-1),
							 m_iMaxLocalDensity(0),
							 m_iMaxAreaTotalDensity(0),
							 m_iMaxAreaUnitDensity(0),
							 m_iStartDate(-50000),
							 m_iEndDate(50000),
							 m_bTreatAsBarbarian(false),
							 m_bNeutralOnly(true),
							 m_bNotInView(false),
							 m_bNoSpeedNormalization(false),
							 m_iRateOverride(100),
							 m_bHills(false),
							 m_bFlatlands(false),
							 m_bPeaks(false),
							 m_bFreshWaterOnly(false),
							 m_bLatitudeAbs(true),
							 m_iMinLatitude(-90),
							 m_iMaxLatitude(90),
							 m_iMinLongitude(-180),
							 m_iMaxLongitude(180),
							 m_pExprSpawnCondition(NULL)

Also once we have the final format - I should delete all those lines - correct. To free up a small amount of memory. PUN - I guess every little bit counts. :lol:
Sure, every byte or even bits counts.
 
@Toffer: I may not have understood what you were saying about the chimp. You were suggesting to make them barbarians? Exile would keep them out of barb lands but would not help them with a number of other problematic issues that could create such as AI confoulments and anti-animal combat modifiers etc... They are omnivorous creatures and although they may go after smaller critters, they still strike me as being better suited for the passive team. But I also get the argument for making them barbs... I dunno. Just doesn't seem to 'fit' and there could be some oddities that come from it.

And What is up with the Game set up and choosing a Leader? They All have this behind their Names [ ]. I thought that maybe this was from using Taxman's no Trait
DH probably has a modular spawn file in his modules that account for the mammoth. If you have to adjust anything in modules make sure to copy the entire unit schema over what exists in the unit schema in the module file as well.

And yeah, we GOT to get you on SVN access. You don't have trouble with getting a Sourceforge.com username do you? I thought one needed that just to get the SVN version at all...Check that... just saw your pm ;)
 
@Toffer: I may not have understood what you were saying about the chimp. You were suggesting to make them barbarians? Exile would keep them out of barb lands but would not help them with a number of other problematic issues that could create such as AI confoulments and anti-animal combat modifiers etc... They are omnivorous creatures and although they may go after smaller critters, they still strike me as being better suited for the passive team. But I also get the argument for making them barbs... I dunno. Just doesn't seem to 'fit' and there could be some oddities that come from it.

And I was just about to suggest a second animal for the barb team, the Orca, which eats absolutely every animals, ranging from the great white shark trough all whales to deers.
Spoiler :
Code:
Overview of changes in Animals_CIV4UnitInfos.xml.

bOnlyDefensive=1 & bAnimalIgnoresBorders=1 in UnitInfo - bNeutralOnly=0 in SpawnInfo
Defensive Only, No Stealth Defense - Unrestricted Spawning:
	PASSIVE:
		Aardvark...............	AARDVARK...............	iAggression = 0
		African Elephant.......	AFRICANELEPHANT........	iAggression = 2
		African Grey Parrot....	AFRICANGREY............	iAggression = 0
		African Penguin........	AFRICAN_PENGUIN........	iAggression = 0
		Giant Anteater.........	ANTEATER...............	iAggression = 0
		Armadillo..............	ARMADILLO..............	iAggression = 0
		Babirusa...............	BABIRUSA...............	iAggression = 0
		Badger................. BADGER.................	iAggression = 3
		Ball Python............	BALLPYTHON.............	iAggression = 0
		Barbary macaque........	BARBARYAPE.............	iAggression = 0
		Barn Owl...............	BARNOWL................	iAggression = 0
		Barred Owl.............	BARREDOWL..............	iAggression = 0
		Beaver.................	BEAVER.................	iAggression = 0
		American Black Bear.... BLACKBEAR..............	iAggression = 1
		Wild Boar.............. BOAR...................	iAggression = 2
		Bongo..................	BONGO..................	iAggression = 0
		Booby.................. BOOBY..................	iAggression = 0
		Dromedary..............	CAMEL..................	iAggression = 0
		Capuchin Monkey........	CAPUCHIN...............	iAggression = 0
		Capybara...............	CAPYBARA...............	iAggression = 0
		Caribou................	CARIBOU................	iAggression = 0
		Cassowary..............	CASSOWARY..............	iAggression = 1
		Cod....................	COD....................	iAggression = 0
		Crab...................	CRAB...................	iAggression = 0
		Crow...................	CROW...................	iAggression = 10 ->	(If it in a game were to level up, it would turn into an insane group of suicidal crows; an easter egg reference to a certain hitchcok movie.)
		Common Spotted Cuscus..	CUSCUS.................	iAggression = 0
		Poison Dart Frog.......	DARTFROG...............	iAggression = 0
		Desert Tortoise........	DESERT_TORTOISE........	iAggression = 0
		Dolphin................	DOLPHIN................	iAggression = 0
		Onager.................	DONKEY.................	iAggression = 0
		Duck...................	DUCK...................	iAggression = 0
		Dugong.................	DUGONG.................	iAggression = 0
		Asian Elephant.........	ELEPHANT...............	iAggression = 1
		Emu....................	EMU....................	iAggression = 1
		Fennec Fox.............	FENNECFOX..............	iAggression = 0
		Flamingo...............	FLAMINGO............... iAggression = 0
		Galapagos Penguin......	GALAPAGOS_PENGUIN......	iAggression = 0
		Galapagos Tortoise.....	GALAPOGOS_TORTOISE.....	iAggression = 0
		Thomson's Gazelle......	GAZELLE................	iAggression = 0
		Gemsbok................	GEMSBOK................	iAggression = 1
		Giraffe................	GIRAFFE................	iAggression = 1
		Glyptodon..............	GLYPTO.................	iAggression = 1
		Megatherium............	GROUNDSLOTH............	iAggression = 1
		Guanaco................	GUANACO................	iAggression = 0
		Gull...................	GULL...................	iAggression = 0
		Pygmy Hippopotamus.....	PYGMYHIPPO.............	iAggression = 2
		Horse..................	HORSE..................	iAggression = 0
		Humpback Whale.........	HUMPBACK_WHALE.........	iAggression = 0
		Walia Ibex.............	IBEX...................	iAggression = 2
		Green Iguana...........	IGUANA.................	iAggression = 0
		Impala.................	IMPALA.................	iAggression = 0
		Western Grey Kangaroo..	KANGAROO_GREY..........	iAggression = 1
		Red Kangaroo...........	KANGAROO_RED...........	iAggression = 1
		Koala..................	KOALA..................	iAggression = 0
		Ring-tailed Lemur......	LEMUR..................	iAggression = 0
		Green Anole............	LIZARD.................	iAggression = 0
		Loon...................	LOON...................	iAggression = 0
		Macaw..................	MACAW..................	iAggression = 0
		Mackerel...............	MACKEREL...............	iAggression = 0
		Mammoth................	MAMMOTH................	iAggression = 1
		Mandrill...............	MANDRILL...............	iAggression = 1
		Manta Ray..............	MANTA_RAY..............	iAggression = 0
		Minke Whale............	MINKIE_WHALE...........	iAggression = 0
		Moa....................	MOA....................	iAggression = 1
		Moose..................	MOOSE..................	iAggression = 1
		Mouflon................	MOUFLON................	iAggression = 1
		Musk Ox................	MUSKOX.................	iAggression = 1
		Narwhal................	NARWHAL................	iAggression = 0
		Numbat.................	NUMBAT.................	iAggression = 0
		Okapi..................	OKAPI..................	iAggression = 2
		Opossum................	OPOSSUM................	iAggression = 0
		Orangutan..............	ORANGUTAN..............	iAggression = 0
		Ostrich................	OSTRICH................	iAggression = 2
		Oxpecker...............	OXPECKER...............	iAggression = 0
		Giant Panda............	PANDA_BEAR.............	iAggression = 1
		Green-winged Macaw.....	PARROT.................	iAggression = 0
		Peafowl................	PEACOCK................	iAggression = 2
		Emperor Penguin........	PENGUIN................	iAggression = 0
		Pheasant...............	PHEASANT...............	iAggression = 0
		Pigeon.................	PIGEON.................	iAggression = 0
	AGGRASSIVE:
		Arctic Fox............. ARCTICFOX..............	iAggression = 0	(Target: WATERFOWL & SEABIRD)
		Beluga Whale...........	BELUGA.................	iAggression = 0	(Target: CRUSTACEAN & FISH_BONEY)
		Ussuri Dhole...........	DHOLE..................	iAggression = 3	(Target: ANTELOPE, BOVINE, CERVID, EQUINE & SWINE)
		Dingo..................	DINGO..................	iAggression = 2	(Target: MARSUPIAL)
		Bald Eagle.............	EAGLE..................	iAggression = 1	(Target: BIRD_SEABIRD, BIRD_WATERFOWL & RODENT)
		Ethiopian Wolf.........	EWOLF..................	iAggression = 1	(Target: RODENT)
		Gharial................	GHARIAL................	iAggression = 1	(Target: FINE, DIMINUTIVE & TINY)
		Giant Squid............	GIANT_SQUID............	iAggression = 2	(Target: SMALL & MEDIUM)
		Hammerhead Shark.......	HAMMERHEAD.............	iAggression = 2	(Target: INVERTEBRATE, FISH_BONEY & FISH_RAY)
		Harpy Eagle............	HARPYEAGLE.............	iAggression = 0	(Target: Anteater, Treesloth, Armadillo, Aardvark, Iguana, PARROT, SNAKE, MONKEY & PROSIMIAN)
		Hawk...................	HAWK...................	iAggression = 0	(Target: SNAKE, GAMEBIRD & SONGBIRD)
		Great Horned Owl.......	HORNEDOWL..............	iAggression = 3	(Target: SNAKE, RODENT, GAMEBIRD, SONGBIRD, WATERFOWL & SEABIRD)
		Kookaburra.............	KOOKABURRA.............	iAggression = 3	(Target: AMPHIBIAN, INSECT & SNAKE) 
		Lynx...................	LYNX...................	iAggression = 3	(Target: BIRD_GAMEBIRD, BIRD_WATERFOWL, CERVID & RODENT)
		Maned Wolf.............	MANEDWOLF..............	iAggression = 0	(Target: BIRD_GAMEBIRD & RODENT)
		Marlin.................	MARLIN.................	iAggression = 2	(Target: FISH_BONEY)
		Nile Monitor...........	MONITOR................	iAggression = 3	(Target: FINE, DIMINUTIVE & TINY)

bAnimalIgnoresBorders=0 in UnitInfo - bNeutralOnly=1 in SpawnInfo (both default values if the tag is absent)
Can Attack - Stealth Defense - Only neutral Spawning:
	PASSIVE:
		Asian Black Bear....... ASIANBEAR..............	iAggression = 3 (Target: SOLO & PARTY)
		Bison.................. BISON..................	iAggression = 3 (Defensive Only)
		Cape Buffalo...........	BUFFALO................ iAggression = 3
		Cave Bear..............	CAVEBEAR...............	iAggression = 1
		Auroch.................	COW.................... iAggression = 4	(Defensive Only)
		Gorilla................	GORILLA................	iAggression = 3	(Defensive Only)
		Hippopotamus...........	HIPPO..................	iAggression = 5
	AGGRASSIVE:
		Jaguar.................	ANIMAL_JAGUAR..........	iAggression = 9 (Target: SOLO, PARTY, CERVID, RODENT & TAPIR)
		Brown Bear............. BEAR...................	iAggression = 2 (Target: BOVINE, CERVID, GOAT & SWINE)
		Bengal Tiger...........	BENGALTIGER............	iAggression = 7 (Target: ANTELOPE, BOVINE, CERVID & SWINE)
		Black Caiman...........	CAIMAN.................	iAggression = 3	(Target: BIRD, CERVID, RODENT & TAPIR)
		Cave Lion..............	CAVE_LION..............	iAggression = 6	(Target: BOVINE, CERVID, EQUINE & URSINE)
		Cheetah................	CHEETAH................	iAggression = 4	(Target: ANTELOPE, RATITE, & SWINE)
		Cobra..................	COBRA..................	iAggression = 2	(Target: DIMINUTIVE & TINY)
		Dire Wolf..............	DIREWOLF...............	iAggression = 6	(Not a picky eater)
		American Aligator......	GATOR..................	iAggression = 3	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL & MEDIUM)
		Chineese Aligator......	GATOR_ASIAN............	iAggression = 2	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL)
		Great White Shark......	GREATWHITE.............	iAggression = 4
		Grizzly Bear...........	GRIZZLY................	iAggression = 4
		Haast Eagle............	HAAST_EAGLE............	iAggression = 3	(Target: ANTELOPE, RATITE & SWINE)
		Striped Hyena..........	HYENA..................	iAggression = 2	(Target: Desert Tortoise, Wild Boar & Onger)
		Komodo Dragon..........	KOMODO_DRAGON..........	iAggression = 3	(Defensive Only - Target: BIRD, BOVINE, CERVID, EQUINE, GOAT, MONKEY, SWINE & LIZARD)
		Lion...................	LION...................	iAggression = 5	(Target: Buffalo, Wilderbeest & Zebra)
		Nile Crocodile.........	NILECROC...............	iAggression = 3	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL & MEDIUM)
		Black Panther..........	PANTHER................	iAggression = 5
	BARBARIAN
		Chimpanzee.............	CHIMPANZEE.............	iAggression = 1	(Target: ANTELOPE, MONKEY & SWINE)
		Orca...................	ORCA...................	iAggression = 0	(Defensive Only - Target: ANIMAL & SEA_ANIMAL)

Wild animal specific promotions:
"Feral I" enables stealth defense and removes the animals ability to enter cultural borders.
"Feral II" enables the animal to attack and to again enter cultural borders.
"Feral III" Enables stampede.
Would be cool if we added a chimp grove as an improvement that is build-able only by chimps that spawns new chimps. LOL
The moment it is built the improvement could spawn an immobile battalion of chimps to protect the grove.
The improvement could have a 100% defense bonus. :crazyeye::lol::crazyeye:
 
And I was just about to suggest a second animal for the barb team, the Orca, which eats absolutely every animals, ranging from the great white shark trough all whales to deers.
Spoiler :
Code:
Overview of changes in Animals_CIV4UnitInfos.xml.

bOnlyDefensive=1 & bAnimalIgnoresBorders=1 in UnitInfo - bNeutralOnly=0 in SpawnInfo
Defensive Only, No Stealth Defense - Unrestricted Spawning:
	PASSIVE:
		Aardvark...............	AARDVARK...............	iAggression = 0
		African Elephant.......	AFRICANELEPHANT........	iAggression = 2
		African Grey Parrot....	AFRICANGREY............	iAggression = 0
		African Penguin........	AFRICAN_PENGUIN........	iAggression = 0
		Giant Anteater.........	ANTEATER...............	iAggression = 0
		Armadillo..............	ARMADILLO..............	iAggression = 0
		Babirusa...............	BABIRUSA...............	iAggression = 0
		Badger................. BADGER.................	iAggression = 3
		Ball Python............	BALLPYTHON.............	iAggression = 0
		Barbary macaque........	BARBARYAPE.............	iAggression = 0
		Barn Owl...............	BARNOWL................	iAggression = 0
		Barred Owl.............	BARREDOWL..............	iAggression = 0
		Beaver.................	BEAVER.................	iAggression = 0
		American Black Bear.... BLACKBEAR..............	iAggression = 1
		Wild Boar.............. BOAR...................	iAggression = 2
		Bongo..................	BONGO..................	iAggression = 0
		Booby.................. BOOBY..................	iAggression = 0
		Dromedary..............	CAMEL..................	iAggression = 0
		Capuchin Monkey........	CAPUCHIN...............	iAggression = 0
		Capybara...............	CAPYBARA...............	iAggression = 0
		Caribou................	CARIBOU................	iAggression = 0
		Cassowary..............	CASSOWARY..............	iAggression = 1
		Cod....................	COD....................	iAggression = 0
		Crab...................	CRAB...................	iAggression = 0
		Crow...................	CROW...................	iAggression = 10 ->	(If it in a game were to level up, it would turn into an insane group of suicidal crows; an easter egg reference to a certain hitchcok movie.)
		Common Spotted Cuscus..	CUSCUS.................	iAggression = 0
		Poison Dart Frog.......	DARTFROG...............	iAggression = 0
		Desert Tortoise........	DESERT_TORTOISE........	iAggression = 0
		Dolphin................	DOLPHIN................	iAggression = 0
		Onager.................	DONKEY.................	iAggression = 0
		Duck...................	DUCK...................	iAggression = 0
		Dugong.................	DUGONG.................	iAggression = 0
		Asian Elephant.........	ELEPHANT...............	iAggression = 1
		Emu....................	EMU....................	iAggression = 1
		Fennec Fox.............	FENNECFOX..............	iAggression = 0
		Flamingo...............	FLAMINGO............... iAggression = 0
		Galapagos Penguin......	GALAPAGOS_PENGUIN......	iAggression = 0
		Galapagos Tortoise.....	GALAPOGOS_TORTOISE.....	iAggression = 0
		Thomson's Gazelle......	GAZELLE................	iAggression = 0
		Gemsbok................	GEMSBOK................	iAggression = 1
		Giraffe................	GIRAFFE................	iAggression = 1
		Glyptodon..............	GLYPTO.................	iAggression = 1
		Megatherium............	GROUNDSLOTH............	iAggression = 1
		Guanaco................	GUANACO................	iAggression = 0
		Gull...................	GULL...................	iAggression = 0
		Pygmy Hippopotamus.....	PYGMYHIPPO.............	iAggression = 2
		Horse..................	HORSE..................	iAggression = 0
		Humpback Whale.........	HUMPBACK_WHALE.........	iAggression = 0
		Walia Ibex.............	IBEX...................	iAggression = 2
		Green Iguana...........	IGUANA.................	iAggression = 0
		Impala.................	IMPALA.................	iAggression = 0
		Western Grey Kangaroo..	KANGAROO_GREY..........	iAggression = 1
		Red Kangaroo...........	KANGAROO_RED...........	iAggression = 1
		Koala..................	KOALA..................	iAggression = 0
		Ring-tailed Lemur......	LEMUR..................	iAggression = 0
		Green Anole............	LIZARD.................	iAggression = 0
		Loon...................	LOON...................	iAggression = 0
		Macaw..................	MACAW..................	iAggression = 0
		Mackerel...............	MACKEREL...............	iAggression = 0
		Mammoth................	MAMMOTH................	iAggression = 1
		Mandrill...............	MANDRILL...............	iAggression = 1
		Manta Ray..............	MANTA_RAY..............	iAggression = 0
		Minke Whale............	MINKIE_WHALE...........	iAggression = 0
		Moa....................	MOA....................	iAggression = 1
		Moose..................	MOOSE..................	iAggression = 1
		Mouflon................	MOUFLON................	iAggression = 1
		Musk Ox................	MUSKOX.................	iAggression = 1
		Narwhal................	NARWHAL................	iAggression = 0
		Numbat.................	NUMBAT.................	iAggression = 0
		Okapi..................	OKAPI..................	iAggression = 2
		Opossum................	OPOSSUM................	iAggression = 0
		Orangutan..............	ORANGUTAN..............	iAggression = 0
		Ostrich................	OSTRICH................	iAggression = 2
		Oxpecker...............	OXPECKER...............	iAggression = 0
		Giant Panda............	PANDA_BEAR.............	iAggression = 1
		Green-winged Macaw.....	PARROT.................	iAggression = 0
		Peafowl................	PEACOCK................	iAggression = 2
		Emperor Penguin........	PENGUIN................	iAggression = 0
		Pheasant...............	PHEASANT...............	iAggression = 0
		Pigeon.................	PIGEON.................	iAggression = 0
	AGGRASSIVE:
		Arctic Fox............. ARCTICFOX..............	iAggression = 0	(Target: WATERFOWL & SEABIRD)
		Beluga Whale...........	BELUGA.................	iAggression = 0	(Target: CRUSTACEAN & FISH_BONEY)
		Ussuri Dhole...........	DHOLE..................	iAggression = 3	(Target: ANTELOPE, BOVINE, CERVID, EQUINE & SWINE)
		Dingo..................	DINGO..................	iAggression = 2	(Target: MARSUPIAL)
		Bald Eagle.............	EAGLE..................	iAggression = 1	(Target: BIRD_SEABIRD, BIRD_WATERFOWL & RODENT)
		Ethiopian Wolf.........	EWOLF..................	iAggression = 1	(Target: RODENT)
		Gharial................	GHARIAL................	iAggression = 1	(Target: FINE, DIMINUTIVE & TINY)
		Giant Squid............	GIANT_SQUID............	iAggression = 2	(Target: SMALL & MEDIUM)
		Hammerhead Shark.......	HAMMERHEAD.............	iAggression = 2	(Target: INVERTEBRATE, FISH_BONEY & FISH_RAY)
		Harpy Eagle............	HARPYEAGLE.............	iAggression = 0	(Target: Anteater, Treesloth, Armadillo, Aardvark, Iguana, PARROT, SNAKE, MONKEY & PROSIMIAN)
		Hawk...................	HAWK...................	iAggression = 0	(Target: SNAKE, GAMEBIRD & SONGBIRD)
		Great Horned Owl.......	HORNEDOWL..............	iAggression = 3	(Target: SNAKE, RODENT, GAMEBIRD, SONGBIRD, WATERFOWL & SEABIRD)
		Kookaburra.............	KOOKABURRA.............	iAggression = 3	(Target: AMPHIBIAN, INSECT & SNAKE) 
		Lynx...................	LYNX...................	iAggression = 3	(Target: BIRD_GAMEBIRD, BIRD_WATERFOWL, CERVID & RODENT)
		Maned Wolf.............	MANEDWOLF..............	iAggression = 0	(Target: BIRD_GAMEBIRD & RODENT)
		Marlin.................	MARLIN.................	iAggression = 2	(Target: FISH_BONEY)
		Nile Monitor...........	MONITOR................	iAggression = 3	(Target: FINE, DIMINUTIVE & TINY)

bAnimalIgnoresBorders=0 in UnitInfo - bNeutralOnly=1 in SpawnInfo (both default values if the tag is absent)
Can Attack - Stealth Defense - Only neutral Spawning:
	PASSIVE:
		Asian Black Bear....... ASIANBEAR..............	iAggression = 3 (Target: SOLO & PARTY)
		Bison.................. BISON..................	iAggression = 3 (Defensive Only)
		Cape Buffalo...........	BUFFALO................ iAggression = 3
		Cave Bear..............	CAVEBEAR...............	iAggression = 1
		Auroch.................	COW.................... iAggression = 4	(Defensive Only)
		Gorilla................	GORILLA................	iAggression = 3	(Defensive Only)
		Hippopotamus...........	HIPPO..................	iAggression = 5
	AGGRASSIVE:
		Jaguar.................	ANIMAL_JAGUAR..........	iAggression = 9 (Target: SOLO, PARTY, CERVID, RODENT & TAPIR)
		Brown Bear............. BEAR...................	iAggression = 2 (Target: BOVINE, CERVID, GOAT & SWINE)
		Bengal Tiger...........	BENGALTIGER............	iAggression = 7 (Target: ANTELOPE, BOVINE, CERVID & SWINE)
		Black Caiman...........	CAIMAN.................	iAggression = 3	(Target: BIRD, CERVID, RODENT & TAPIR)
		Cave Lion..............	CAVE_LION..............	iAggression = 6	(Target: BOVINE, CERVID, EQUINE & URSINE)
		Cheetah................	CHEETAH................	iAggression = 4	(Target: ANTELOPE, RATITE, & SWINE)
		Cobra..................	COBRA..................	iAggression = 2	(Target: DIMINUTIVE & TINY)
		Dire Wolf..............	DIREWOLF...............	iAggression = 6	(Not a picky eater)
		American Aligator......	GATOR..................	iAggression = 3	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL & MEDIUM)
		Chineese Aligator......	GATOR_ASIAN............	iAggression = 2	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL)
		Great White Shark......	GREATWHITE.............	iAggression = 4
		Grizzly Bear...........	GRIZZLY................	iAggression = 4
		Haast Eagle............	HAAST_EAGLE............	iAggression = 3	(Target: ANTELOPE, RATITE & SWINE)
		Striped Hyena..........	HYENA..................	iAggression = 2	(Target: Desert Tortoise, Wild Boar & Onger)
		Komodo Dragon..........	KOMODO_DRAGON..........	iAggression = 3	(Defensive Only - Target: BIRD, BOVINE, CERVID, EQUINE, GOAT, MONKEY, SWINE & LIZARD)
		Lion...................	LION...................	iAggression = 5	(Target: Buffalo, Wilderbeest & Zebra)
		Nile Crocodile.........	NILECROC...............	iAggression = 3	(Defensive Only - Target: DIMINUTIVE, TINY, SMALL & MEDIUM)
		Black Panther..........	PANTHER................	iAggression = 5
	BARBARIAN
		Chimpanzee.............	CHIMPANZEE.............	iAggression = 1	(Target: ANTELOPE, MONKEY & SWINE)
		Orca...................	ORCA...................	iAggression = 0	(Defensive Only - Target: ANIMAL & SEA_ANIMAL)

Wild animal specific promotions:
"Feral I" enables stealth defense and removes the animals ability to enter cultural borders.
"Feral II" enables the animal to attack and to again enter cultural borders.
"Feral III" Enables stampede.
Would be cool if we added a chimp grove as an improvement that is build-able only by chimps that spawns new chimps. LOL
The moment it is built the improvement could spawn an immobile battalion of chimps to protect the grove.
The improvement could have a 100% defense bonus. :crazyeye::lol::crazyeye:

I get what you're saying about the orca. But we need to try to keep it to two groups I think.

The chimp improvement you're talking about sounds a little like my proposal long ago to use improvements rather than bonuses to designate sources of animal bonuses.
 
I don't think it's feasible to go for complete "biological reality". I mean, lions and hyenas aren't exactly the best of friends and predators have territories that they defend against conspecifics.

The problem with barb animals (that was present in all these years) is that wild animals were allied with barbs and fought together. This is really breaking immersion and it is a good thing that this is gone. If animals are not fighting each other when they should in reality it is a small price to pay, especially because that problem was present all these years as well.

You would have to make each animal (group) its own team and that's neither feasible nor possible.
 
I don't think it's feasible to go for complete "biological reality". I mean, lions and hyenas aren't exactly the best of friends and predators have territories that they defend against conspecifics.

The problem with barb animals (that was present in all these years) is that wild animals were allied with barbs and fought together. This is really breaking immersion and it is a good thing that this is gone. If animals are not fighting each other when they should in reality it is a small price to pay, especially because that problem was present all these years as well.

You would have to make each animal (group) its own team and that's neither feasible nor possible.

Relax, I'm mostly joking around.
Orcas - Aggressive
Chimps - Passive
Neanderthals - Aggressive
 
I don't think it's feasible to go for complete "biological reality". I mean, lions and hyenas aren't exactly the best of friends and predators have territories that they defend against conspecifics.

The problem with barb animals (that was present in all these years) is that wild animals were allied with barbs and fought together. This is really breaking immersion and it is a good thing that this is gone.

Completely agree about the biological reality statement. But the 2nd about breaking immersion has never bothered me. As this is a "What if Mod" and not a Historical Simulator".


If animals are not fighting each other when they should in reality it is a small price to pay, especially because that problem was present all these years as well.

You would have to make each animal (group) its own team and that's neither feasible nor possible.

We don't Need to have animals fighting animals, that is just plain taking it too far. We don't Need for animals to fight barbarians either. That too maybe going too far. Now if someone wanted to make this aspect a Modmod. That would be Okay/Cool. If popular demand grew then it could be considered for inclusion. But Not before Imhpo.

It is Great that Team Members are figuring out this kind of stuff as it gives them a better understanding and flexibility in how to make things work. This is good.

One thing though that I'm concerned about is this; for all these years all the Mod makers/coders have said that the Barb AI Must be the Last Player (#50). By adding these NPC's Is the Barb being kept at #50? I saw that #40 was being used. How is this not confusing the exe. of the game engine, Where we can not go?

And we definitely do not need to be burning out our main Coder over this either, again imhpo. We've lost great Coders in the past from too much pressure and too big of projects coupled with fan and team "demands". It's really too bad that T-brd is having to carry most of the "Problem/Bug fixing" alone And developing New concepts at the same time. Just wish alberts2 was in a position to help more, but RL is what it is.

Just some of my thoughts and observation of what is going on recently. No criticisms intended, just concerns.

JosEPh
 
And we definitely do not need to be burning out our main Coder over this either, again imhpo. We've lost great Coders in the past from too much pressure and too big of projects coupled with fan and team "demands". It's really too bad that T-brd is having to carry most of the "Problem/Bug fixing" alone And developing New concepts at the same time. Just wish alberts2 was in a position to help more, but RL is what it is.

JosEPh
I believe TB was the one who initiated this current project, I'm just following his queue here in an attempt to lighten his workload as much as possible.

I agree that barbs shouldn't fight animals though. there is simply no real reason for this game-function. However, I think animals fighting each other can bring a lot to the early game (through animals reaching high levels, increasing hunting difficulty/predictability, flavour); and it would help reduce the number of animals filling certain areas of the map.

Neanderthals - Aggressive

hmm... should not these be barbs?
That wouldn't make any sense or be consistent at all IMO.
Neanderthals are no less allied with human barbarians than chimpanzees are.
If we had much more Neanderthal content they could be an unique unplayable civ filling one of the other reserved NPC slots I guess; but this doesn't seem like a plausible direction for the mod to take in the foreseeable future.
 
Back
Top Bottom