This is a small mod-scenario enabling the AI only controlled Byzantine Civilization to spawn in the 3000 BC scenario for the RFC Epic/Marathon v2.1 mod-mod. It will not work for the official release for Rhye's and Fall of Civilization, so don't even try it.
Installation
To install, unpack the .py files contained in the attached .zip archive to the ...\Sid Meier's Civilization 4\Beyond the Sword\Mods\RFCMarathon\Assets\Python\ folder.
Note that you need to replace the default version of the CvRFCEventHandler.py file with the one supplied with this mod-scenario. Also note that installing this mod-scenario will install the PyScenario scenario scripting application to your mod. To disable both PyScenario and the mod-scenario permanently, simply replace the CvRFCEventHandler.py with the original version. (Installing any future release of the RFC Epic/Marathon mod-mod will also do the trick.)
Description
The mod-scenario is actually a PyScenario script that will check if the Roman Civilization is alive during the 4th century AD and has negative Stability. Then, and only then, will the Empire be split into a Western and a Eastern part. Only Roman cities will initially flip to the newly born Byzantine Civilization - and if plausible the capital will be Constantinople.
Note that if the Celtic Civilization is still around at this point it will "collapse" into independent cities in order to make room for the new Civilization. (The two actually share the player and team instances in the game, so both can't exist in the same scenario.)
A second flip in the 5th century will convert any minor cities in the Mediterranean region to the Byzantines - and if the original Roman Civ has collapsed by then its former holdings will join the new Eastern Roman Empire.
Scenario maker's notes
Installation
To install, unpack the .py files contained in the attached .zip archive to the ...\Sid Meier's Civilization 4\Beyond the Sword\Mods\RFCMarathon\Assets\Python\ folder.
Note that you need to replace the default version of the CvRFCEventHandler.py file with the one supplied with this mod-scenario. Also note that installing this mod-scenario will install the PyScenario scenario scripting application to your mod. To disable both PyScenario and the mod-scenario permanently, simply replace the CvRFCEventHandler.py with the original version. (Installing any future release of the RFC Epic/Marathon mod-mod will also do the trick.)
Description
The mod-scenario is actually a PyScenario script that will check if the Roman Civilization is alive during the 4th century AD and has negative Stability. Then, and only then, will the Empire be split into a Western and a Eastern part. Only Roman cities will initially flip to the newly born Byzantine Civilization - and if plausible the capital will be Constantinople.
Note that if the Celtic Civilization is still around at this point it will "collapse" into independent cities in order to make room for the new Civilization. (The two actually share the player and team instances in the game, so both can't exist in the same scenario.)
A second flip in the 5th century will convert any minor cities in the Mediterranean region to the Byzantines - and if the original Roman Civ has collapsed by then its former holdings will join the new Eastern Roman Empire.
Scenario maker's notes
Spoiler :
As this mod-scenario is done with PyScenario it is both readily editable - and can also be included in other mod-mods or directly copy-pasted into another PyScenario script. There is one thing to consider however, and this is the Custom.py file that is included with this release. Because this Python module holds the custom civilization() method that is used to actually change the Celtic Civ into the Byzantine one.
To enable this method into another PyScenario script you both need to include the Custom module and add these lines to your own Scenario.py file:
This is the API entry for the custom Action:
civilization( eCiv=None, flag=None, eLeader=None )
Changing any of the default None values to a valid value will change the properties of the Target Player. The eCiv setting is however not a PlayerTypes value but rather the CivilizationTypes value for the new Civ. The flag setting is the string name of the new flag graphic. And the eLeader setting is the preferred LeaderHeadTypes value for the new leader.
Note however that due to limitations in the mod and in the Python tools available this probably shouldn't be done with any Major Civs - nor can it be used to change the name of any player. But it should be quite possible to do something like having the Holy Roman Empire to be the original German Civ - and later - if the Civ has collapsed - respawn it as the proper (modern) German Civ. Because the dynamic names in the mod would pretty much mirror this transformation anyway.
These limitations is the reason why the civilization() method is released in the form of a add-on rather than as a part of the main PyScenario library of Trigger methods.
To enable this method into another PyScenario script you both need to include the Custom module and add these lines to your own Scenario.py file:
Code:
from Custom import *
Trigger.civilization = civilization
civilization( eCiv=None, flag=None, eLeader=None )
Changing any of the default None values to a valid value will change the properties of the Target Player. The eCiv setting is however not a PlayerTypes value but rather the CivilizationTypes value for the new Civ. The flag setting is the string name of the new flag graphic. And the eLeader setting is the preferred LeaderHeadTypes value for the new leader.
Note however that due to limitations in the mod and in the Python tools available this probably shouldn't be done with any Major Civs - nor can it be used to change the name of any player. But it should be quite possible to do something like having the Holy Roman Empire to be the original German Civ - and later - if the Civ has collapsed - respawn it as the proper (modern) German Civ. Because the dynamic names in the mod would pretty much mirror this transformation anyway.
These limitations is the reason why the civilization() method is released in the form of a add-on rather than as a part of the main PyScenario library of Trigger methods.