Homeland Modcomp (Playable Version for Legends of Revolutions)

lfgr

Emperor
Joined
Feb 6, 2010
Messages
1,093
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:
  1. Make a backup of your LoR Folder
  2. Download the zip file and extract it into your LoR directory
  3. 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
Configured Maps:
  • Giant Europe (EuropeHL.CivBeyondSwordWBSave) - Basic Markup, need for more depth
  • Europe Minor (by el_hidalgo) (Europe Minor HL.CivBeyondSwordWBSave) - See Giant Euope
Features:
  • 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.
Planned for v1.0 ("Needed" Features)
  • Dynamic Leader Names
  • City Names based on civ name (f. E. Vienna for Austria)
Planned for v1.1 (Not very hard to do)
  • Civ Types of Civs spawned by Revolution and BarbarianCiv depend on civs nearby
Planned for Future (maybe hard to do)
  • 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
Planned:
  • 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.JPG
    Civ4ScreenShot0057.JPG
    182.2 KB · Views: 203
  • Civ4ScreenShot0058.JPG
    Civ4ScreenShot0058.JPG
    181.9 KB · Views: 140
  • Civ4ScreenShot0066.JPG
    Civ4ScreenShot0066.JPG
    194.1 KB · Views: 244
  • Civ4ScreenShot0067.JPG
    Civ4ScreenShot0067.JPG
    193.1 KB · Views: 150
  • Civ4ScreenShot0069.JPG
    Civ4ScreenShot0069.JPG
    205.5 KB · Views: 133
  • Civ4ScreenShot0074.JPG
    Civ4ScreenShot0074.JPG
    191.2 KB · Views: 96
  • Civ4ScreenShot0083.JPG
    Civ4ScreenShot0083.JPG
    199.2 KB · Views: 118
  • Civ4ScreenShot0090.JPG
    Civ4ScreenShot0090.JPG
    189.8 KB · Views: 181
  • homeland-120823.zip
    1.8 MB · Views: 62
  • homeland-120825.zip
    1.8 MB · Views: 88
I believe that this component: http://forums.civfanatics.com/showthread.php?t=470288 fits perfectly to your.
Thanks, I'll check it out.
We have an interest in adding this component to our mod. Maybe it is possible a version for Realism Invictus?

Technically: Yes. If you don't have Revolutions and Dynamic Civ Names, it has to be adjusted (and of course it will lack some features). I think that does not make sense as long it is in beta.
 
Top Bottom