|Civ4Col - Creation & Customization Forum for Civ4 Colonization modding and customization discussions.|
|Jul 24, 2009, 09:55 PM||#1|
Join Date: Jun 2009
Location: Irregularly Online
[TUTORIAL] Civ4Col Random Events
Yes, it's possible to do this. Pretty easy, in fact, since the event code is actually still in the game, it's used for the tutorial.
If you know how to make random events, which you can learn here, at "8.0 Events", for general information and "15.0 Appendix B: Event Guide" for specifics, which explains what to do, you should be able to do this- this is really just an explanation of what in the event guide is not accurate for Civilization 4 Colonization (schema changes). It's divided into two sections, what was added to the file and what was removed. For the removed code, if tags were removed in a block from one section (for instance, iUnhealthy is under iAngry), they are grouped together. Finally, at the bottom of the page, I have a section on some other important stuff that I found out when adding an event from BTS.
You should read this tutorial if:
1. You're trying to move a BTS event over to Colonization.
2. You're new to making events or modding in general, and have just finished the event guide in the link I provided. This information should help you understand the differences.
CIV4EventTriggerInfos.xml: Event Triggers
bTutorial- Added under "TriggerTexts", can be set to 0 or 1. If set to 1, the event becomes part of the in-game tutorial.
bOtherPlayerNative- Added under bOtherPlayerAI, can be set to 0 or 1. If set to 1, the trigger only activates if the other player (from bPickPlayer) is a Native civ.
bOtherPlayerPlayable- Added under bOtherPlayerNative, can be set to 0 or 1. If set to 1, the trigger only activates if the other player (from bPickPlayer) is playable.
bFrontPopup- Added to the game under bShowPlot, can be set to 0 or 1. I'm not sure what it does, none of the Col tutorial events use it.
iAngry- Removed. Under MinDifficulty.
BonusesRequired- Removed. Under ImprovementsRequired.
ReligionsRequired- Removed. Under RoutesRequired.
OrPreReqs- Removed. Under bPrereqEventPlot.
AndPreReqs- Removed. Under OrPreReqs.
bOtherPlayerHasReligion- Removed. Under bOtherPlayerWar.
OtherPlayerHasTech- Removed. Under iOtherPlayerShareBorders.
CIV4EventInfos.xml: Event Infos
No code was added to the EventInfos.xml file.
iEspionagePoints- Removed. Under iCulture.
BuildingExtraCommerces- Removed. Under BuildingExtraYields.
BonusType- Removed. Under iImprovementChange.
BonusGift- Removed. Under BonusRevealed.
iConvertOwnCities- Removed. Under PlotExtraYields.
Transferring a BTS Event
There are several things you should keep in mind if you are trying to port a BTS event to Colonization.
1. All BTS events have a button tag looking something like this:
2. BTS event triggers that refer to a specific era for different text will have to be changed. The eras in BTS are:
The eras in Colonization are:
So, a BTS event may use different text for their trigger depending on if they are in the Ancient or Modern Era, but you need to change those to eras that are actually in Coloniation.
3. Many BTS events deal with features not in Colonization, such as religion, corporation, research, espionage, great people, and so on. So some events you port over won't work. For instance, when I tested this by moving the Forest Fire event over, I had to change the 1 anger to 1 turn of revolt to make it work.
Mods: Westward Ho, Final Frontier Plus, The Frozen
Modcomps: Wormholes, Cloaking Devices, Blizzards, Betray Your Colony, Inhabited Planets, Advanced Ice Nodes
Colonization Mapscripts: NorthAfrica.py, Continents.py, IceAge.py, Maze.py
Utilities: Final Frontier Worldbuilder, Yet Another Mod Launcher
|Oct 10, 2010, 10:59 PM||#3|
Join Date: Oct 2010
This is awesome. Thanks a lot!
One of the main things that has bothered me about Colonization is that it doesn't simulate those small, random events that triggered historically significant events. Now, simulating things like the single murder that sparked King Philip's War (it devastated New England in the mid-1600s) is actually possible.