I've tried another one. I call it shades of grey but unfortunately it's unsuccessful.
Here's the game event: (please note that the events have now been moved to a separate file ColonizeEventDefs.xml)
<GameEvent>
<InternalName>SapientWaterLifeEvent</InternalName>
<DisplayName>SAPIENT_WATER_LIFE_EVENT_LABEL</DisplayName>
<Description>SAPIENT_WATER_LIFE_DESC_LABEL</Description>
<WindowTitle>COLONY_EVENT_LABEL</WindowTitle>
<ArtDefine>homescreen_background.bk2</ArtDefine>
<Type>ColonizeEvent</Type>
<Weight>10</Weight>
<Choice>
<Type>Benevolent</Type>
<Description>SAPIENT_WATER_LIFE_BENEVOLENT_LABEL</Description>
<BonusDescription>SAPIENT_WATER_LIFE_BENEVOLENT_BONUS</BonusDescription>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Faction</TargetType>
</Target>
<Lifetime>Instant</Lifetime>
<Modifier>
<EffectType>CultureBenevolent</EffectType>
<Target>
<TargetType>Faction</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>15.0</Value>
</Modifier>
</Trigger>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Planet</TargetType>
</Target>
<Lifetime>Target</Lifetime>
<Modifier>
<EffectType>Research</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>-0.15</Value>
</Modifier>
<Modifier>
<EffectType>ColonyGrossIncome</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.22</Value>
</Modifier>
<Modifier>
<EffectType>Influence</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.22</Value>
</Modifier>
<Modifier>
<EffectType>Tourism</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.11</Value>
</Modifier>
</Trigger>
</Choice>
<Choice>
<Type>BenevolentNeutral</Type>
<Description>SAPIENT_WATER_LIFE_BENEVOLENT_NEUTRAL_LABEL</Description>
<BonusDescription>SAPIENT_WATER_LIFE_BENEVOLENTN_NEUTRAL_BONUS</BonusDescription>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Faction</TargetType>
</Target>
<Lifetime>Instant</Lifetime>
<Modifier>
<EffectType>CultureBenevolent</EffectType>
<Target>
<TargetType>Faction</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>10.0</Value>
</Modifier>
<Modifier>
<EffectType>CultureNeutral</EffectType>
<Target>
<TargetType>Faction</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>5.0</Value>
</Modifier>
</Trigger>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Planet</TargetType>
</Target>
<Lifetime>Target</Lifetime>
<Modifier>
<EffectType>Research</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.3</Value>
</Modifier>
<Modifier>
<EffectType>Influence</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.1</Value>
</Modifier>
</Trigger>
</Choice>
<Choice>
<Type>Neutral</Type>
<Description>SAPIENT_WATER_LIFE_NEUTRAL_LABEL</Description>
<BonusDescription>SAPIENT_WATER_LIFE_NEUTRAL_BONUS</BonusDescription>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Planet</TargetType>
</Target>
<Lifetime>Target</Lifetime>
<Modifier>
<EffectType>Research</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.2</Value>
</Modifier>
<Modifier>
<EffectType>Tourism</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.2</Value>
</Modifier>
</Trigger>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Faction</TargetType>
</Target>
<Lifetime>Instant</Lifetime>
<Modifier>
<EffectType>CultureNeutral</EffectType>
<Target>
<TargetType>Faction</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>15.0</Value>
</Modifier>
</Trigger>
</Choice>
<Choice>
<Type>MercilessNeutral</Type>
<Description>SAPIENT_WATER_LIFE_MERC_NEUTRAL_LABEL</Description>
<BonusDescription>SAPIENT_WATER_LIFE_MERC_NEUTRAL_BONUS</BonusDescription>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Faction</TargetType>
</Target>
<Lifetime>Instant</Lifetime>
<Modifier>
<EffectType>CultureMerciless</EffectType>
<Target>
<TargetType>Faction</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>10.0</Value>
</Modifier>
<Modifier>
<EffectType>CultureNeutral</EffectType>
<Target>
<TargetType>Faction</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>5.0</Value>
</Modifier>
</Trigger>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Planet</TargetType>
</Target>
<Lifetime>Target</Lifetime>
<Modifier>
<EffectType>Research</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.1</Value>
</Modifier>
<Modifier>
<EffectType>MaxManufacturing</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.1</Value>
</Modifier>
<Modifier>
<EffectType>ColonyGrossIncome</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.2</Value>
</Modifier>
</Trigger>
</Choice>
<Choice>
<Type>Merciless</Type>
<Description>SAPIENT_WATER_LIFE_MERC_LABEL</Description>
<BonusDescription>SAPIENT_WATER_LIFE_MERC_BONUS</BonusDescription>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Faction</TargetType>
</Target>
<Lifetime>Instant</Lifetime>
<Modifier>
<EffectType>CultureMerciless</EffectType>
<Target>
<TargetType>Faction</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>15.0</Value>
</Modifier>
</Trigger>
<Trigger>
<OnEvent>OnEventChoice</OnEvent>
<Target>
<TargetType>Planet</TargetType>
</Target>
<Lifetime>Target</Lifetime>
<Modifier>
<EffectType>ColonyGrossIncome</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.20</Value>
</Modifier>
<Modifier>
<EffectType>Food</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.20</Value>
</Modifier>
</Trigger>
</Choice>
</GameEvent>
And these are the text labels:(the labels are also in their own file now ColonizeEventTexts.xml)
<StringTable>
<Label>SAPIENT_WATER_LIFE_EVENT_LABEL</Label>
<String>Aquatic Paradise</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_DESC_LABEL</Label>
<String>Our colonists report that this world has an abnormal abundance of oceanic life. Our people even suspect some species may be sapient. </String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_BENEVOLENT_LABEL</Label>
<String>Use a part of our research capacity to establish contact</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_BENEVOLENT_BONUS</Label>
<String>Research -15%, wealth +22%, culture +22%, tourism +11%</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_BENEVOLENT_NEUTRAL_LABEL</Label>
<String>Keep the distance. Allow only the most careful scholars to study their couture and environment.</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_BENEVOLENTN_NEUTRAL_BONUS</Label>
<String>Research +30% Culture +10%</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_NEUTRAL_LABEL</Label>
<String>Create a biosphere reservation and establish national parks across the oceans</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_NEUTRAL_BONUS</Label>
<String>Research +20%, Tourism +20%</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_MERC_NEUTRAL_LABEL</Label>
<String>We could prosper from the abundance of exotic pets. Also see if you can use them as cheep labour.</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_MERC_NEUTRAL_BONUS</Label>
<String>Wealth +20%, Research +10%, Production +10%</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_MERC_LABEL</Label>
<String>Fish are prey. The clever ones also make nice exotic pets.</String>
</StringTable>
<StringTable>
<Label>SAPIENT_WATER_LIFE_MERC_BONUS</Label>
<String>Food +20%, Wealth +20%</String>
</StringTable>
Notice that there are 5 choice and I've also added two different culture types: BenevolentNeutral and MercilessNeutral.
Leaving things just like this the game won't start. During start-up it checks the xmls against xsd schemas. These are also xml files but their sole purpose is to check the consistency of other xml files.
This can be fixed by updating the CulturalAlignmentTypes.xsd file found under data\Schema\Enums to add the two new types:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="CulturalAlignmentTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="Benevolent"/>
<xs:enumeration value="BenevolentNeutral"/>
<xs:enumeration value="Neutral"/>
<xs:enumeration value="MercilessNeutral"/>
<xs:enumeration value="Merciless"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
You also have to alter the GameEventDefs.xsd under data\Schema to allow for 5 choices instead of just 3
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="Lib/CustomTypes.xsd"/>
<xs:include schemaLocation="ModifierType.xsd"/>
<xs:include schemaLocation="PrerequisiteDefs.xsd"/>
<xs:include schemaLocation="Enums/CulturalAlignmentTypes.xsd"/>
<xs:simpleType name="EventTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="ColonizeEvent"/>
<xs:enumeration value="GalacticEvent"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SpecialEventBehaviorTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="ActOnRandomFactionPlanet"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ChoiceDef">
<xs:sequence>
<xs:element name="Type" type="CulturalAlignmentTypes"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="BonusDescription" type="xs:string"/>
<xs:element name="Modifier" type="ModifierType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Trigger" type="TriggerType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GameEventDef">
<xs:sequence>
<xs:element name="InternalName" type="xs:string"/>
<xs:element name="DisplayName" type="xs:string"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="WindowTitle" type="xs:string" minOccurs="0"/>
<xs:element name="ArtDefine" type="xs:string"/>
<xs:element name="Type" type="EventTypes"/>
<xs:element name="Special" type="SpecialEventBehaviorTypes" minOccurs="0"/>
<xs:element name="Weight" type="xs:unsignedInt"/>
<xs:element name="Modifier" type="ModifierType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Trigger" type="TriggerType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Choice" type="ChoiceDef" minOccurs="0" maxOccurs="5"/>
<xs:element name="Prerequ" type="EventPrerequisiteDef" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GameEventListDef">
<xs:sequence>
<xs:element name="GameEvent" type="GameEventDef" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="GameEventList" type="GameEventListDef"/>
</xs:schema>
The altered lines on both .xsd files are in bold.
But wait. If we can alter these files to allow more elements for event why doesn't it work?
Well this is why:
The dialog only allows for three options in the window
I was expecting something like this:
Also this happens:
Ok, so that worked well.
But wait a minute...
WTF!
I don't know what black magic goes on in here, but messing with game Enums seems a bad idea.
And this also means we're stuck with three option colonization events. Unfortunately