strategyonly
C2C Supreme Commander
which means the game is dead without max compat format
Say what

which means the game is dead without max compat format
No, what we have courtesy of Koshling is a better save game format that does not break at certain changes. But it still depends on the order of XML entries to get the right IDs. Adding an event or a unit in the middle of the XML changes that order. Luckily Koshling already stores the order of many such info XMLs. Not the event one yet though.Say whatSo in definition then what "we" have really is a "Standalone Mod?"
No, what we have courtesy of Koshling is a better save game format that does not break at certain changes. But it still depends on the order of XML entries to get the right IDs. Adding an event or a unit in the middle of the XML changes that order. Luckily Koshling already stores the order of many such info XMLs. Not the event one yet though.
Since adding at the end of the XML does not change the order, you can still add events, they just need to be added there.
Once Koshling stores the order of the event info XML in the save game, he can remap the IDs properly (like for the others like units) and adding in the mid of the XML will be fine.
EDIT: @ DH
Isn't Leaping Bull, QUITE a bit many in turnsEspecially so EARLY on in-game?
I agree. Also why doesn't it require cows or bison? I know you have it build faster with them, but if you don't have cows or bison, what are they leaping over?
I think it should require Herd - Cow OR Herd - Bison OR Bison Hunter's Camp OR Cow Farm OR Myth of the Bull. This way you could use city vicinity buildings or subdued animals.
Cost is wrong, I had it in the ancient era and forgot to change it back to the first era.
They (Labyrinth and Bull leaping) do require The Myth of the Bull, just not in the city. And because of that it does not show up as a requirement. If I change it so it shows up then you need two Myth of the Bull which can't be done.
The game is crashing almost constantly now so I can't to any testing.
I'll chabge the Iditarod event to sled dogs expiring at globalization today then and will do some of the xml only ones proposed so far.
Re: Music of Gods: any idea about a tech for the third option (as long as steam punk is not done yet)?
Re: Syphilis outbreak: there already are quite a few disease events in the game, though they mostly just kill population outright. Health for x turns is not terribly easy to do, there is one event for ffh that someone did that does that but they used a temporary building for the effect - this is actually the easiest thing to code: create an outbreak building with all the necessary effects and then trigger a second event x turns later that removes it. I can add unhealth directly to the city and x turns later add health to it, but it will likely then simply add both and to the city screen, so you'll get to see the effects of both events after the fact, while the building route could be removed without trace. Will see what looks better.
Re: Blizzard: the current Itidarod trigger works well for that event so I'll simply rename it but it along with the Strike event proposed has one problem: its not terribly difficult to remove trade routes and production from the city - but to add that back after a few turns ends up being tricky if I want to be sure I don't add more than I removed initially, right now I'd rather do something else...
Trigger in CIV4EventTriggerInfos.xml
<!-- EL DORADO -->
<EventTriggerInfo>
<Type>EVENTTRIGGER_DORADO</Type>
<WorldNewsTexts>
<Text>TXT_KEY_EVENTTRIGGER_DORADO_1</Text>
</WorldNewsTexts>
<TriggerTexts>
<TriggerText>
<Text>TXT_KEY_EVENT_TRIGGER_DORADO_1</Text>
<Era>NONE</Era>
</TriggerText>
</TriggerTexts>
<EventArt>Art/EventImages/DoradoEvent.dds</EventArt>
<bSinglePlayer>0</bSinglePlayer>
<iPercentGamesActive>100</iPercentGamesActive>
<iWeight>100</iWeight>
<bProbabilityUnitMultiply>0</bProbabilityUnitMultiply>
<bProbabilityBuildingMultiply>0</bProbabilityBuildingMultiply>
<Civic>NONE</Civic>
<iMinTreasury>0</iMinTreasury>
<iMinPopulation>0</iMinPopulation>
<iMaxPopulation>0</iMaxPopulation>
<iMinMapLandmass>0</iMinMapLandmass>
<iMinOurLandmass>0</iMinOurLandmass>
<iMaxOurLandmass>-1</iMaxOurLandmass>
<MinDifficulty>NONE</MinDifficulty>
<iAngry>0</iAngry>
<iUnhealthy>0</iUnhealthy>
<UnitsRequired></UnitsRequired>
<iNumUnits>1</iNumUnits>
<iNumUnitsGlobal>0</iNumUnitsGlobal>
<iUnitDamagedWeight>0</iUnitDamagedWeight>
<iUnitDistanceWeight>0</iUnitDistanceWeight>
<iUnitExperienceWeight>0</iUnitExperienceWeight>
<bUnitsOnPlot>1</bUnitsOnPlot>
<BuildingsRequired></BuildingsRequired>
<iNumBuildings>0</iNumBuildings>
<iNumBuildingsGlobal>0</iNumBuildingsGlobal>
<iNumPlotsRequired>1</iNumPlotsRequired>
<bOwnPlot>0</bOwnPlot>
<iPlotType>-1</iPlotType>
<FeaturesRequired>
<FeatureType>FEATURE_JUNGLE</FeatureType>
</FeaturesRequired>
<TerrainsRequired></TerrainsRequired>
<ImprovementsRequired></ImprovementsRequired>
<BonusesRequired></BonusesRequired>
<RoutesRequired></RoutesRequired>
<ReligionsRequired></ReligionsRequired>
<iNumReligions>0</iNumReligions>
<CorporationsRequired/>
<iNumCorporations>0</iNumCorporations>
<bPickReligion>0</bPickReligion>
<bStateReligion>0</bStateReligion>
<bHolyCity>0</bHolyCity>
<bPickCorporation>0</bPickCorporation>
<bHeadquarters>0</bHeadquarters>
<Events>
<Event>EVENT_DORADO_1</Event>
</Events>
<PrereqEvents/>
<bPrereqEventPlot>0</bPrereqEventPlot>
<OrPreReqs></OrPreReqs>
<AndPreReqs>
<PrereqTech>TECH_HUNTING</PrereqTech>
</AndPreReqs>
<ObsoleteTechs>
<ObsoleteTech>TECH_SCIENTIFIC_METHOD</ObsoleteTech>
</ObsoleteTechs>
<bRecurring>0</bRecurring>
<bTeam>0</bTeam>
<bGlobal>1</bGlobal>
<bPickPlayer>0</bPickPlayer>
<bOtherPlayerWar>0</bOtherPlayerWar>
<bOtherPlayerHasReligion>0</bOtherPlayerHasReligion>
<bOtherPlayerHasOtherReligion>0</bOtherPlayerHasOtherReligion>
<bOtherPlayerAI>0</bOtherPlayerAI>
<iOtherPlayerShareBorders>0</iOtherPlayerShareBorders>
<OtherPlayerHasTech>NONE</OtherPlayerHasTech>
<bPickCity>0</bPickCity>
<bPickOtherPlayerCity>0</bPickOtherPlayerCity>
<bShowPlot>1</bShowPlot>
<iCityFoodWeight>0</iCityFoodWeight>
<PythonCanDo>canTriggerDorado</PythonCanDo>
<PythonCanDoCity></PythonCanDoCity>
<PythonCanDoUnit/>
<PythonCallback/>
</EventTriggerInfo>
Event in CIV4EventInfos.xml
<!-- EL DORADO -->
<EventInfo>
<Type>EVENT_DORADO_1</Type>
<Description>TXT_KEY_EVENT_DORADO_1</Description>
<LocalInfoText/>
<WorldNewsTexts/>
<OtherPlayerPopup/>
<QuestFailText/>
<bQuest>0</bQuest>
<bGlobal>0</bGlobal>
<bTeam>0</bTeam>
<bPickCity>0</bPickCity>
<bPickOtherPlayerCity>0</bPickOtherPlayerCity>
<bDeclareWar>0</bDeclareWar>
<iGold>1000</iGold>
<bGoldToPlayer>0</bGoldToPlayer>
<iRandomGold>500</iRandomGold>
<iCulture>0</iCulture>
<iEspionagePoints>0</iEspionagePoints>
<bGoldenAge>0</bGoldenAge>
<iFreeUnitSupport>0</iFreeUnitSupport>
<iInflationMod>0</iInflationMod>
<iSpaceProductionMod>0</iSpaceProductionMod>
<Tech>NONE</Tech>
<TechFlavors/>
<iTechPercent>0</iTechPercent>
<iTechCostPercent>0</iTechCostPercent>
<iTechMinTurnsLeft>0</iTechMinTurnsLeft>
<PrereqTech>NONE</PrereqTech>
<UnitClass>NONE</UnitClass>
<iNumFreeUnits>0</iNumFreeUnits>
<bDisbandUnit>0</bDisbandUnit>
<iUnitExperience>0</iUnitExperience>
<iUnitImmobileTurns>0</iUnitImmobileTurns>
<UnitPromotion/>
<UnitName></UnitName>
<UnitCombatPromotions></UnitCombatPromotions>
<UnitClassPromotions></UnitClassPromotions>
<BuildingClass></BuildingClass>
<iBuildingChange></iBuildingChange>
<BuildingExtraYields/>
<BuildingExtraCommerces></BuildingExtraCommerces>
<BuildingExtraHappies></BuildingExtraHappies>
<BuildingExtraHealths/>
<iHappy>0</iHappy>
<iHealth>0</iHealth>
<iHurryAnger>0</iHurryAnger>
<iHappyTurns>5</iHappyTurns>
<iRevoltTurns>0</iRevoltTurns>
<iMinPillage>0</iMinPillage>
<iMaxPillage>0</iMaxPillage>
<iFood>0</iFood>
<iFoodPercent>0</iFoodPercent>
<FreeSpecialistCounts/>
<FeatureType>NONE</FeatureType>
<iFeatureChange>0</iFeatureChange>
<ImprovementType>NONE</ImprovementType>
<iImprovementChange>0</iImprovementChange>
<BonusType>NONE</BonusType>
<iBonusChange>0</iBonusChange>
<RouteType>NONE</RouteType>
<iRouteChange>0</iRouteChange>
<BonusRevealed></BonusRevealed>
<BonusGift>NONE</BonusGift>
<PlotExtraYields/>
<iConvertOwnCities>0</iConvertOwnCities>
<iConvertOtherCities>0</iConvertOtherCities>
<iMaxNumReligions>-1</iMaxNumReligions>
<iOurAttitudeModifier>0</iOurAttitudeModifier>
<iAttitudeModifier>0</iAttitudeModifier>
<iTheirEnemyAttitudeModifier>0</iTheirEnemyAttitudeModifier>
<iPopulationChange>0</iPopulationChange>
<AdditionalEvents/>
<EventTimes/>
<ClearEvents/>
<PythonCallback>ApplyDorado</PythonCallback>
<PythonExpireCheck/>
<PythonCanDo></PythonCanDo>
<PythonHelp/>
<Button>,Art/Interface/Buttons/Process/Blank.dds,Art/Interface/Buttons/Beyond_the_Sword_Atlas.dds,8,5</Button>
<iAIValue>1000</iAIValue>
</EventInfo>
Text entries
<!-- EL DORADO -->
<TEXT>
<Tag>TXT_KEY_EVENTTRIGGER_DORADO_1</Tag>
<English>%s1_civ_adjective explorers have found the lost city of El Dorado!</English>
</TEXT>
<TEXT>
<Tag>TXT_KEY_EVENT_TRIGGER_DORADO_1</Tag>
<English>Our explorers have found the city of El Dorado!!</English>
</TEXT>
<TEXT>
<Tag>TXT_KEY_EVENT_DORADO_1</Tag>
<English>Wealth and riches are ours!</English>
</TEXT>
<TEXT>
<Tag>TXT_KEY_DISCOVERED_DORADO</Tag>
<English>You have discovered the lost city of El Dorado!</English>
</TEXT>
<TEXT>
<Tag>TXT_KEY_SIGN_EVENT_DORADO_1</Tag>
<English>El Dorado</English>
</TEXT>
Python in CvRandomEventInterface.py
####### EL DORADO #####
# Plot requirements
def canTriggerDorado(argsList):
kTriggeredData = argsList[0]
pPlot = gc.getMap().plot(kTriggeredData.iPlotX, kTriggeredData.iPlotY)
# Plot cannot be peak
if pPlot.isPeak(): return false
# Plot cannot be hills
#if pPlot.isHills(): return false
# Plot cannot have any bonus
if (pPlot.getBonusType(-1) != -1 ): return false
return true
def ApplyDorado(argsList):
iEvent = argsList[0]
kTriggeredData = argsList[1]
# EventSigns start -- setup
event = gc.getEventInfo(iEvent)
sEventType = event.getType()
# EventSigns end
plot = gc.getMap().plot(kTriggeredData.iPlotX, kTriggeredData.iPlotY)
iBonus = CvUtil.findInfoTypeNum(gc.getBonusInfo,gc.getNumBonusInfos(),'BONUS_LOSTCIV')
plot.setBonusType(iBonus)
# EventSigns start -- Add landmark for initial plot
placeLandmark(plot, sEventType, 0, 0, 0, True, -1)
# EventSigns end
szBuffer = localText.getText("TXT_KEY_DISCOVERED_DORADO", () )
CyInterface().addMessage(kTriggeredData.ePlayer, false, gc.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_BUILD_FIRAXIS", InterfaceMessageTypes.MESSAGE_TYPE_MINOR_EVENT, gc.getBonusInfo(iBonus).getButton(), gc.getInfoTypeForString("COLOR_WHITE"), plot.getX(), plot.getY(), true, true)
the bonus lost civ that the cando code looks for what is that?
I am not sure how well events go with a cantrigger code and a cando code if there is only one option - I'd rather not have an event screen trigger with no way to close it because the only choice is greyed out...
Personally I'd not have such an event active in all games, but rather set the percentgamesactive to something less than 100, it should not be an event that triggers in every single game, especially since the prereqs are very easy to meet.
Also of course the techs should be changed - I'd have something like this in the age of exploration not in stone age...
Do you have an idea for an event image?
@Arian
We have an Eldorado Wonder under Andeaism religion. I am not sure if we need your vent if we have that. Or maybe we should possibly should try to link the wonder to the event.
It's a positive event thus no need to have more than one option but you can make more options.
What I meant is what happens if the cando returns false while the cantrigger returns true - I am not sure about that but would expect the event to trigger but the option to be greyed out.
@ori:
Got these errors:
Yeah I had these errors, corrected them in my work copy and then pushed the old versioncorrected now
![]()
ahahahahaha, i cant tell you how MANY times i have done the same thing(s).![]()
Looks great!
If I can make a small suggestion:
Make theor
apply to the chicken coop instead of the city? If the building goes obsolete or gets destroyed you don't want to have the
still around without gaining any of the
or
.