WARNING: The download below is incomplete and therefor not functional. I leave it here if somebody wants to view the source. Sadly I lost the advanced version on my Computer, and I'm not sure whether I'll redo it (especially the state data is time-consuming to gather). But if somebody wants to do all the data (state names, leader names etc.) himself, he should post here; I'll try to take some time and do the functionality.
----------------------------------------
Homeland Modcomp (Playable Version for Legends of Revolutions)
NOTE: I stopped uploading some time ago, since nobody seemed interested, but I'm still working on this.
The Homeland mod tries to bring a more historic feeling to Civilization. If a map is configured properly, this modcomp changes Civilization Names and Civ Types of Civs spawned by Revolution and BarbarianCiv depending on several factors like era and location.
As you probably already figured out, this is dependent on Revolutions, BarbarianCiv and DynamicCivNames. The downloadable and playable version is for Legends of Revolution.
Current Status: Beta
Information for Players
Quick Start:
Issues:
Screenshots are attached
Information for Developers
1. Maps and HomelandUtil.py
Plots have a ScriptData-Attribute.
HomelandUtil.py and Homeland.py define function to read properties from that attribute.
Key and value are separated with ":", properties with ";"
Homeland uses the property keys "province" and "start".
Example:
BeginPlot
x=30,y=47
ScriptData=province:east_france;start:CIVILIZATION_FRANCE;
TerrainType=TERRAIN_GRASS
PlotType=2
EndPlot
2. RealStart
Files: Map, CvGame.cpp, CvRealStartInterface.py
Places Civilizations at their historical starting position at beginning of the game. Uses the "start" property.
3. Provinces
Files: Map
Each Settleable plot has a province property.
Press CTRL in game to reveal the provinces.
4. States
Files: most from python/homeland/states
In europeStates.xml there are some "states" defined.
A state controls the civilization that spawns from BarbarianCiv and Revolutions and the name of that civilizations.
State Rules are chosen whenever DynamicCivNames computes a new name for a civ and when a new BarbarianCiv is formed.
Each StateRule has some properties, such as era and civilization.
Using that, a score is computed (see StateRules.StateRule.getPoints()).
Then the state rule with the highest score is used to choose civ (in case of a new BarbCiv) or name.
When a state rule is already present, a new is only chosen when the current's score is 0 (what means invalid).
States are accessed via CyPlayer.getCurrentStateRule() and CyPlayer.setCurrentStateRule(String)
I made a tool to configure maps in a GUI. Please PM me if you are interested.
State Properties:
Known Bugs:
Known Issues:
Changelog:
Version 120823
The choice of states is now more randomized
Version 120822
Mostly finished ancient era in europe
Minor Bug fixes
Version 120819
Added Europe Minor HL Map
Provinces are now in the DLL, CTRL highlights them.
Minor Bug fixes
Version 120814
First Upload
Credits:
phungus420 and all contributors to the Legends of Revolutions Mod
The Sword of Islam Team for the province highlight functionality
el_hidalgo for the Europe Minor Map
----------------------------------------
Homeland Modcomp (Playable Version for Legends of Revolutions)
NOTE: I stopped uploading some time ago, since nobody seemed interested, but I'm still working on this.
The Homeland mod tries to bring a more historic feeling to Civilization. If a map is configured properly, this modcomp changes Civilization Names and Civ Types of Civs spawned by Revolution and BarbarianCiv depending on several factors like era and location.
As you probably already figured out, this is dependent on Revolutions, BarbarianCiv and DynamicCivNames. The downloadable and playable version is for Legends of Revolution.
Current Status: Beta
Information for Players
Quick Start:
- Make a backup of your LoR Folder
- Download the zip file and extract it into your LoR directory
- Start a custom Scenario "EuropeHL" or "Europe Minor HL". Do not leave any Civilization Random, set them all to an europe civ or remove them. BarbarianCiv will fill the map
- Giant Europe (EuropeHL.CivBeyondSwordWBSave) - Basic Markup, need for more depth
- Europe Minor (by el_hidalgo) (Europe Minor HL.CivBeyondSwordWBSave) - See Giant Euope
- All Valid Players are placed at their historical Starting Positions (Valid Players are for Example europe civs in the europe map)
- Civ Names and Adjectives may change over time, depending on era, location and civ type
- Civ Types of Civs spawned by Revolution and BarbarianCiv depend on location
- Press CTRL to reveal the provinces, that determine the choice of civs and names.
- Dynamic Leader Names
- City Names based on civ name (f. E. Vienna for Austria)
- Civ Types of Civs spawned by Revolution and BarbarianCiv depend on civs nearby
- City Names based on location
- Dynamic Leaderheads
Issues:
- Sometimes two Civs have the same name
- In EuropeHL map:
- Byzantine is renamed to Thrace in Classical age.
Screenshots are attached
Information for Developers
Spoiler :
1. Maps and HomelandUtil.py
Plots have a ScriptData-Attribute.
HomelandUtil.py and Homeland.py define function to read properties from that attribute.
Key and value are separated with ":", properties with ";"
Homeland uses the property keys "province" and "start".
Example:
BeginPlot
x=30,y=47
ScriptData=province:east_france;start:CIVILIZATION_FRANCE;
TerrainType=TERRAIN_GRASS
PlotType=2
EndPlot
2. RealStart
Files: Map, CvGame.cpp, CvRealStartInterface.py
Places Civilizations at their historical starting position at beginning of the game. Uses the "start" property.
3. Provinces
Files: Map
Each Settleable plot has a province property.
Press CTRL in game to reveal the provinces.
4. States
Files: most from python/homeland/states
In europeStates.xml there are some "states" defined.
A state controls the civilization that spawns from BarbarianCiv and Revolutions and the name of that civilizations.
State Rules are chosen whenever DynamicCivNames computes a new name for a civ and when a new BarbarianCiv is formed.
Each StateRule has some properties, such as era and civilization.
Using that, a score is computed (see StateRules.StateRule.getPoints()).
Then the state rule with the highest score is used to choose civ (in case of a new BarbCiv) or name.
When a state rule is already present, a new is only chosen when the current's score is 0 (what means invalid).
States are accessed via CyPlayer.getCurrentStateRule() and CyPlayer.setCurrentStateRule(String)
I made a tool to configure maps in a GUI. Please PM me if you are interested.
State Properties:
- description - Description
- province - Valid provinces
- era - Valid eras
- civ - Valid civs / civs spawned by BC/Rev
- allowMultiple - Allow multiple players having this state rule
- allowBarbCiv - Allow BarbCivs getting this name on spawning
- Only-BarbarianCiv States
- Only-Revolution States
Known Bugs:
- BarbarianCivs are not renamed until they become non-minor.
Known Issues:
- Double Names may Occur
Changelog:
Spoiler :
Version 120823
The choice of states is now more randomized
Version 120822
Mostly finished ancient era in europe
Minor Bug fixes
Version 120819
Added Europe Minor HL Map
Provinces are now in the DLL, CTRL highlights them.
Minor Bug fixes
Version 120814
First Upload
Credits:
phungus420 and all contributors to the Legends of Revolutions Mod
The Sword of Islam Team for the province highlight functionality
el_hidalgo for the Europe Minor Map
Attachments
-
Civ4ScreenShot0057.JPG182.2 KB · Views: 203
-
Civ4ScreenShot0058.JPG181.9 KB · Views: 140
-
Civ4ScreenShot0066.JPG194.1 KB · Views: 244
-
Civ4ScreenShot0067.JPG193.1 KB · Views: 150
-
Civ4ScreenShot0069.JPG205.5 KB · Views: 133
-
Civ4ScreenShot0074.JPG191.2 KB · Views: 96
-
Civ4ScreenShot0083.JPG199.2 KB · Views: 118
-
Civ4ScreenShot0090.JPG189.8 KB · Views: 181
-
homeland-120823.zip1.8 MB · Views: 62
-
homeland-120825.zip1.8 MB · Views: 88