THIS IS A WORK IN PROGRESS !
Description
This mod adds a new improvement, which is technically the same as the Ultra-Terraformer, but is available from the start, is a Player Achievement (so you can only build one in your entire empire), and cost nothing.By selecting it in the building list, it allows you to know where you'll be able to use the Ultra-Terraformer when you unlock it later in the game, which can be useful for colony planning. Of course, you can build it right away, giving you a very tiny boost to one planet class, but it would defeat the purpose, and it's not really worth it. Use it at your own discretion.
I'm working on a way to prevent the actual building of the improvement, but as of now (07/22) I didn't succeed.
Version/Compatibility
The latest version is 1.0.
It's fully compatible with the game in 1.12
Concerning other mods, I'm using "xml append mode" so it shouldn't conflict.
Download and install
You can download it on Nexus.
To install, extract the zip file in Documents\My Games\GalCiv3\Mods. Don't forget to enable mods in the game !
Also, you need to create a new game to use this mod.
Version History and changelog
07/22/2015 - v1.0
Keep in mind though if earlier terraformings do not have alternative locations to those for the omega terraformer then it is still a benefit to use them even if they overlap as they are far cheaper.
i can see this getting problematic for the AI,
did you test this?
Hmm I didn't think about the AI :/
I'm pretty new to modding this game, but I think there could bea way to alter the AI behaviour so they won't use the improvement. I'll dig around. Or maybe some of you guys know how to do it ?
I suspect the only way would be to re-classify it as not a terraforming improvement, and pick something the AI just won't use. If it's classified as terraforming, then it's the first thing the AI will try and build after a factory on most planets.
yep thats what i meant
if you want to know what the AI builds you should take a look at GovernorDefs.xml
you would want to set the <PlacementType>Terraforming</PlacementType> of your improvement to something else
Terraforming isn't determined by governordefs, unfortunately. The AI will terraform automatically regardless.
You're exactly right, I just checked in God Mode. They build Factory > Show Ultra-Terraforming, or even directly the Terraforming. Depends on the amount of MP they got I suppose. [EDIT] Problem is, if I classified it as another type of improvement, it doesn't show the available terraforming tiles.
As Naselus said, there's no mention of terraforming improvements in GovernorDefs.xml.
Also, I tried to change "PlacementType" to "Special" but it did not work either.
Right now I'm looking into GalCiv3AIDefs to see if there's something I could do there.
Another way I could do this is by making the improvement buildable in 1 turn, but unique and without any effect. That way, the AI would build it anyway, but the target tile won't be upgraded, with no way to rebuild it later. Human player would just not build it. I'm guessing I'll have to use triggers and events to do that, but as I said I'm new to this so i'm not even sure it's possible.
[double post]
if you make it <ImprovementType>Special</ImprovementType> and not changing GovernerDefs.xml to include <Improvement>Special</Improvement> then it will work and the ai will not use it, since only the Capitals are special improvement type and unavailable. i am unsure of placement type, i know making both improvement and placement type "special" makes it unbuildable by the ai, they never will, i know this from trying out something for a guy on this thread https://forums.galciv3.com/467417/page/1/#3566476 hopefully this helps you, i'm drunk and could be wrong but i believe this would fix your issue as long as no other special types exist for you
edit: drunk...so yea happy gaming
and if you keep the cost enough(2m seems good compared but consider more if you can keep the ai from using it), then it will do exactly what you want although i am possibly sure it already does, you just need to keep the ai from using it)
edit: parenthesis
if this does work it would conflict with any mod that uses double special type but as far as i know none does, so maybe personal use, better referencing that thread i was less in a state in that, done now, hopefully helpful to you
I tried making it <ImprovementType>Special</ImprovementType> but by doing this, the game did not recognize it as a Terraforming Improvemnent, so when you select it in the building list it doesn't highlight available tiles. The problem is that's exactly what I want to do ! Maybe I missed something though so I will try that again.
<PlacementType> on the other way do not seems to have any effect at all. The AI will build it whether it is 'Special', 'Terraforming' or anything else.
By the way, Colony Capitals are not buildable not because they are 'Special', but cause they are tagged as 'Unavailable' (and also ColonyUnique)
Actually, I tried to put the cost at something like 10 billion but the game won't let me use a value higher than 2 million-ish. I just rounded it down.
Yeah, the AI has no objection to building 'special' tagged stuff, and building it early - the Yor population growth stuff is also tagged as special.
I'm kind of stuck now. I found nowhere how to tell the AI not to build a specific improvement. So if I want them not to be stuck in building forever, I have to make my improvement take one turn to build. To counteract this, I tried to delete the new tile immediately but I couldn't do it.
It's already tagged as a Player Achievement , so I guess it gives only a ridiculous boost to one planet early on, so AI players won't really benefit from it, and human players, well they could use it but it would defeat the purpose of the mod.
I'm releasing it as it is, but I'll mark it as a Work in Progress. If anyone has any clue how to solve this, I'll be very grateful
Well you could probably make a race trait as a prerequisite to building it and have players select it when they are setting up their race. Not ideal, but it would prevent the AI from using it (unless they are also set up with the race trait).
Tbh, if it's only 1 tile on 1 planet it's not really a big boost anyway; given that the AI will insist on wasting a turn building it on around turn 12 means that it's arguably detrimental.
I have been doing a few tests with new buildings in attempt to understand a few things and I made a building like this.
Bare in mind that its stats are quite OTT.
<Improvement> <InternalName>Arcology</InternalName> <DisplayName>Arcology_Name</DisplayName> <ShortDescription>Arcology_ShortDec</ShortDescription> <Description>Arcology_Dec</Description> <Icon>HabitatImprovement.png</Icon> <BuildIcon>HabitatImprovement_Build.png</BuildIcon> <ListIcon>HabitatImprovement_Icon.png</ListIcon> <ImprovementType>Population</ImprovementType> <PlacementType>Food</PlacementType> <IsColonyUnique>true</IsColonyUnique> <!-- Stats --> <Stats> <EffectType>ManufacturingCost</EffectType> <Scope>Queue</Scope> <Target> <TargetType>Improvement</TargetType> </Target> <BonusType>Flat</BonusType> <Value>1301</Value> </Stats> <Stats> <EffectType>Research</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.1</Value> </Stats> <Stats> <EffectType>Food</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Flat</BonusType> <Value>8</Value> </Stats> <Stats> <EffectType>Food</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.75</Value> </Stats> <Stats> <EffectType>Growth</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>1.0</Value> </Stats> <Stats> <EffectType>GoodsAndServices</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Flat</BonusType> <Value>0.1</Value> </Stats> <Stats> <EffectType>GoodsAndServices</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.2</Value> </Stats> <Stats> <EffectType>ColonyGrossIncome</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.10</Value> </Stats> <Stats> <EffectType>TradeRouteValueRaw</EffectType> <Target> <TargetType>TradeRoute</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.10</Value> </Stats> <Stats> <EffectType>MaxManufacturing</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.15</Value> </Stats> <Stats> <EffectType>ProductionPoints</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.10</Value> </Stats> <Stats> <EffectType>Maintenance</EffectType> <Target> <TargetType>Improvement</TargetType> </Target> <BonusType>Flat</BonusType> <Value>8</Value> </Stats> <!-- Triggers --> <Triggers> <OnEvent>OnConstructImprovment</OnEvent> <Target> <TargetType>Colony</TargetType> </Target> <PerformAction> <Action>TerraformTilesOnPlanet</Action> <ValueParam>5</ValueParam> <ValueParam>15</ValueParam> <ValueParam>0.0</ValueParam> </PerformAction> </Triggers> <!-- Level Effect Trigers --> <!-- Level Effect Stats --> <LevelEffectStats> <EffectType>Food</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Flat</BonusType> <Value>1</Value> </LevelEffectStats> <LevelEffectStats> <EffectType>Growth</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.2</Value> </LevelEffectStats> <LevelEffectStats> <EffectType>GoodsAndServices</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Flat</BonusType> <Value>0.3</Value> </LevelEffectStats> <LevelEffectStats> <EffectType>TradeRouteValueRaw</EffectType> <Target> <TargetType>TradeRoute</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.1</Value> </LevelEffectStats> <LevelEffectStats> <EffectType>MaxManufacturing</EffectType> <Target> <TargetType>Colony</TargetType> </Target> <BonusType>Multiplier</BonusType> <Value>0.05</Value> </LevelEffectStats> <!-- Adjacency Bonuses --> <NeighborBonuses> <GiveBonusToNeighborType>Research</GiveBonusToNeighborType> <NeighborBonusValue>2</NeighborBonusValue> </NeighborBonuses> <NeighborBonuses> <GiveBonusToNeighborType>Approval</GiveBonusToNeighborType> <NeighborBonusValue>5</NeighborBonusValue> </NeighborBonuses> <NeighborBonuses> <GiveBonusToNeighborType>Population</GiveBonusToNeighborType> <NeighborBonusValue>5</NeighborBonusValue> </NeighborBonuses> <NeighborBonuses> <GiveBonusToNeighborType>Manufacturing</GiveBonusToNeighborType> <NeighborBonusValue>3</NeighborBonusValue> </NeighborBonuses> <NeighborBonuses> <GiveBonusToNeighborType>Influence</GiveBonusToNeighborType> <NeighborBonusValue>2</NeighborBonusValue> </NeighborBonuses> <NeighborBonuses> <GiveBonusToNeighborType>Tourism</GiveBonusToNeighborType> <NeighborBonusValue>2</NeighborBonusValue> </NeighborBonuses> <NeighborBonuses> <GiveBonusToNeighborType>Wealth</GiveBonusToNeighborType> <NeighborBonusValue>5</NeighborBonusValue> </NeighborBonuses> <NeighborBonuses> <GiveBonusToNeighborType>Military</GiveBonusToNeighborType> <NeighborBonusValue>2</NeighborBonusValue> </NeighborBonuses> <!-- Prerequisites --> <Prerequ> <Techs> <Option>Arcology</Option> </Techs> </Prerequ> </Improvement>
I've made the part that affects terraforming Italic. Once its was fully build I think I saw about 5 tiles built.I haven't tested if the AI builds it tho.
I tried OnConstructImprovment too, unfortunately it doesn't work if the improvement is a terraforming (nothing is actually built, so the event doesn't trigger at all)
Concerning TerraformTilesOnPlanet, I'm pretty sure the first parameter is the number of tiles to terraform. I don't know for the second or third, but I suspect it is related to the quality of the tiles that would be terraformed.
I've tried using a negative value for the first parameter to remove tiles, but it ended up terraforming nearly all of the planet
Also I agree with naselus, as soon as the AI meet the prerequisites for an improvement (i.e. have the techs and needs to build that type of improvement, in your case 'Population') it will build it. You can test this easily by activating god mode and check the AI's planets to see what they are building.
The first and second params are low and high end numbers so it acts as a range.
The last param is the quality of tiles to work on, for example the very first terraforming is .35 and doesnt terraform much, putting a zero in there makes it terraform any tile.
There are many great features available to you once you register, including:
Sign in or Create Account