Jeckel
Great Reverend
BtS 3.17
This mod allows you to set a default amount of Space that a Tile has. This default amount of Space on a Tile can be controled with a new GameDefinesAlt option.
Bonuses, Features, Improvements, Routes, Terrain, City Buildings, City Culture Levels, City Population, and the Cities themselves, can be used to modify the amount of Space on a Tile by setting new Tags in their Info.xml files. Whether or not most of these new XML values are check is controlable with new GameDefinesAlt options.
Each unit has a default Size that can be modified with new Tags in the UnitClassInfos and the UnitInfos. UnitInfos also has a new Tag that will allow units to move into Tiles regardless of the Open Space, but still count that units size for other units try to join it on a Tile. In addition new GameDefinesAlt options have been added to control the default Size of Units and whether or not the mod processes units of the built in 4 types of Unit Domains, Land, Sea, Air, and Immobile. Both Civilization and individual Leaders can have a new Tag set that will make them and all their units noticed my the mod. Lastly, Promotions can modify a unit's Size, as well as make it ignore the Space limits on Tiles.
I have updated most Flying Help Texts (the little windows of information that appear when you hover you cursor over things) to show relavent Tile Space Data. There are a few I haven't gotten yet, most notably, nothing in game tells you what Civilizations and Leaders ignore the Tile Space Rules. Those two specificly will be fixed in the next Stable version (looking like v0.700 right now), but if I realize I have missed others, and if more become neccessary, they will be at the top of my todo list always.
All of the text updating has been done in SDK. However, CvPediaUnit.py has had several lines of code added to a single spot so unit Sizes will display with their Movement, Attack, Range, ect. Also, CvMainInterface.py had a block of code added to one spot so I could display the Selected Unit's Size in the Unit Info Panel at the bottom right of the Main Interface screen.
If you haven't noticed, I like to have information avalable to me when I play Civ4, and I mod things that way. To this end I have add a popup screen that will display all the relevent data for the Tile your Cursor is current over, just hold the 'Shift' Key and press the 'S' Key.
I have included a single Scenario. It is the Scenario I use to test things as I'm changing the mod. Just about every major situation and combination I can think of is potrayed some where on this little map.
For some, slightly more specific info see the following spoiler. There isn't much in there, but I will be adding to it.
New XML Tags (All New Tags Are Optional) v0.670
Python Changes v0.670
SDK functions added and Exposed to Python v0.670
Download: JUnitSpace v0.693bts3.17 - Released June 24, 2008
This mod allows you to set a default amount of Space that a Tile has. This default amount of Space on a Tile can be controled with a new GameDefinesAlt option.
Bonuses, Features, Improvements, Routes, Terrain, City Buildings, City Culture Levels, City Population, and the Cities themselves, can be used to modify the amount of Space on a Tile by setting new Tags in their Info.xml files. Whether or not most of these new XML values are check is controlable with new GameDefinesAlt options.
Each unit has a default Size that can be modified with new Tags in the UnitClassInfos and the UnitInfos. UnitInfos also has a new Tag that will allow units to move into Tiles regardless of the Open Space, but still count that units size for other units try to join it on a Tile. In addition new GameDefinesAlt options have been added to control the default Size of Units and whether or not the mod processes units of the built in 4 types of Unit Domains, Land, Sea, Air, and Immobile. Both Civilization and individual Leaders can have a new Tag set that will make them and all their units noticed my the mod. Lastly, Promotions can modify a unit's Size, as well as make it ignore the Space limits on Tiles.
I have updated most Flying Help Texts (the little windows of information that appear when you hover you cursor over things) to show relavent Tile Space Data. There are a few I haven't gotten yet, most notably, nothing in game tells you what Civilizations and Leaders ignore the Tile Space Rules. Those two specificly will be fixed in the next Stable version (looking like v0.700 right now), but if I realize I have missed others, and if more become neccessary, they will be at the top of my todo list always.
All of the text updating has been done in SDK. However, CvPediaUnit.py has had several lines of code added to a single spot so unit Sizes will display with their Movement, Attack, Range, ect. Also, CvMainInterface.py had a block of code added to one spot so I could display the Selected Unit's Size in the Unit Info Panel at the bottom right of the Main Interface screen.
If you haven't noticed, I like to have information avalable to me when I play Civ4, and I mod things that way. To this end I have add a popup screen that will display all the relevent data for the Tile your Cursor is current over, just hold the 'Shift' Key and press the 'S' Key.
I have included a single Scenario. It is the Scenario I use to test things as I'm changing the mod. Just about every major situation and combination I can think of is potrayed some where on this little map.
For some, slightly more specific info see the following spoiler. There isn't much in there, but I will be adding to it.
Spoiler :
Units ave a default Size set in the UnitClassInfo.xml.
A Unit's default Size can be modified by a tag in the UnitInfo.xml.
BaseUnitSize = DefaultSize + UnitClassInfo iUnitSizeChange + UnitInfo iUnitSizeChange
If a CivilizationInfo or a LeaderHeadInfo are set to ignore Tile Space Rules then a Unit object will ignore the rules.
By default both the Barbarian Civilization and the Barbarian Leader are set to ignore Tile Space Rules.
When the Cursor is held over a plot in the Main Interface Screen the Open Tile Space and the Total Tile Space of a Tile will be displayed.
Open Tile Space: iOpenTileSpace/iTotalTileSpace
A Unit's default Size can be modified by a tag in the UnitInfo.xml.
BaseUnitSize = DefaultSize + UnitClassInfo iUnitSizeChange + UnitInfo iUnitSizeChange
If a CivilizationInfo or a LeaderHeadInfo are set to ignore Tile Space Rules then a Unit object will ignore the rules.
By default both the Barbarian Civilization and the Barbarian Leader are set to ignore Tile Space Rules.
When the Cursor is held over a plot in the Main Interface Screen the Open Tile Space and the Total Tile Space of a Tile will be displayed.
Open Tile Space: iOpenTileSpace/iTotalTileSpace
New XML Tags (All New Tags Are Optional) v0.670
Spoiler :
All changes marked with:
<!-- JUnitSpace Mod Start -->
<!-- JUnitSpace Mod End -->
CIV4CivilizationInfos.xml
-bIgnoreTileSpaceRules
CIV4LeaderHeadInfos.xml
-bIgnoreTileSpaceRules
CIV4UnitClassInfos.xml
-iDefaultUnitSize
CIV4UnitInfos.xml
-iUnitSize
-bIgnoreTileSpaceLimit
-bIgnoreTileSpaceRules - Not Implemented in XML or SDK
CIV4BonusInfos.xml
-iTileSpaceChange
CIV4FeatureInfos.xml
-iTileSpaceChange
CIV4ImprovementInfos.xml
-iTileSpaceChange
CIV4TerrainInfos.xml
-iTileSpaceChange
CIV4PromotionInfos.xml
-iTileSpaceChange
-bIgnoreTileSpaceLimit
CIV4BuildingInfos.xml
-iTileSpaceChange
CIV4CultureLevelInfos.xml
-iTileSpaceChange
<!-- JUnitSpace Mod Start -->
<!-- JUnitSpace Mod End -->
CIV4CivilizationInfos.xml
-bIgnoreTileSpaceRules
CIV4LeaderHeadInfos.xml
-bIgnoreTileSpaceRules
CIV4UnitClassInfos.xml
-iDefaultUnitSize
CIV4UnitInfos.xml
-iUnitSize
-bIgnoreTileSpaceLimit
-bIgnoreTileSpaceRules - Not Implemented in XML or SDK
CIV4BonusInfos.xml
-iTileSpaceChange
CIV4FeatureInfos.xml
-iTileSpaceChange
CIV4ImprovementInfos.xml
-iTileSpaceChange
CIV4TerrainInfos.xml
-iTileSpaceChange
CIV4PromotionInfos.xml
-iTileSpaceChange
-bIgnoreTileSpaceLimit
CIV4BuildingInfos.xml
-iTileSpaceChange
CIV4CultureLevelInfos.xml
-iTileSpaceChange
Python Changes v0.670
Spoiler :
All changes marked with:
# < JUnitSpace Mod Start >
# < JUnitSpace Mod End >
I modded the MainInterface.py and the PediaUnit.py files.
I added a new Screen.
I also use Dr. Elmer Jiggles CustomEventManager to catch the SHIFT + S event
to launch my new screen.
Lots of new methods to access all the new data.
Check out the new screen to see some of them in use.
# < JUnitSpace Mod Start >
# < JUnitSpace Mod End >
I modded the MainInterface.py and the PediaUnit.py files.
I added a new Screen.
I also use Dr. Elmer Jiggles CustomEventManager to catch the SHIFT + S event
to launch my new screen.
Lots of new methods to access all the new data.
Check out the new screen to see some of them in use.
SDK functions added and Exposed to Python v0.670
Spoiler :
All changes marked with:
// < JUnitSpace Mod Start >
// < JUnitSpace Mod End >
CyCivilizationInfo
-bool isIgnoreTileSpaceRules()
CyLeaderHeadInfo
-bool isIgnoreTileSpaceRules()
CyUnitClassInfo
-int getDefaultUnitSize()
CyUnitInfo
-int getUnitSize()
-int getBaseUnitSize()
-bool isIgnoreTileSpaceLimit()
-bool isIgnoreTileSpaceRules()
CyBonusInfo
-int getTileSpaceChange()
CyFeatureInfo
-int getTileSpaceChange()
CyImprovementInfo
-int getTileSpaceChange()
CyTerrainInfo
-int getTileSpaceChange()
CyPromotionInfo
-int getUnitSizeChange()
-bool isIgnoreTileSpaceUnit()
CyBuildingInfo
-int getTileSpaceChange()
CyCultureLevelInfo
-int getTileSpaceChange()
CyUnit
-int getUnitSize()
-int getTotalUnitSize()
-int getExtraUnitSize()
-bool ignoreTileSpaceLimit()
-bool ignoreTileSpaceRules()
CyPlot
-int getBaseTileSpace()
-int getTileSpace()
-int getBonusSpaceChange()
-int getFeatureSpaceChange()
-int getImprovementSpaceChange()
-int getTerrainSpaceChange()
-int getCityBuildingSpaceChange()
-int getCityCultureLevelSpaceChange()
-int getHillSpaceChange()
-int getUsedTileSpace(bool bCountCargo)
-int getOpenTileSpace(bool bCountCargo)
-bool isTileSpaceFull(bool bCountCargo)
// < JUnitSpace Mod Start >
// < JUnitSpace Mod End >
CyCivilizationInfo
-bool isIgnoreTileSpaceRules()
CyLeaderHeadInfo
-bool isIgnoreTileSpaceRules()
CyUnitClassInfo
-int getDefaultUnitSize()
CyUnitInfo
-int getUnitSize()
-int getBaseUnitSize()
-bool isIgnoreTileSpaceLimit()
-bool isIgnoreTileSpaceRules()
CyBonusInfo
-int getTileSpaceChange()
CyFeatureInfo
-int getTileSpaceChange()
CyImprovementInfo
-int getTileSpaceChange()
CyTerrainInfo
-int getTileSpaceChange()
CyPromotionInfo
-int getUnitSizeChange()
-bool isIgnoreTileSpaceUnit()
CyBuildingInfo
-int getTileSpaceChange()
CyCultureLevelInfo
-int getTileSpaceChange()
CyUnit
-int getUnitSize()
-int getTotalUnitSize()
-int getExtraUnitSize()
-bool ignoreTileSpaceLimit()
-bool ignoreTileSpaceRules()
CyPlot
-int getBaseTileSpace()
-int getTileSpace()
-int getBonusSpaceChange()
-int getFeatureSpaceChange()
-int getImprovementSpaceChange()
-int getTerrainSpaceChange()
-int getCityBuildingSpaceChange()
-int getCityCultureLevelSpaceChange()
-int getHillSpaceChange()
-int getUsedTileSpace(bool bCountCargo)
-int getOpenTileSpace(bool bCountCargo)
-bool isTileSpaceFull(bool bCountCargo)
Download: JUnitSpace v0.693bts3.17 - Released June 24, 2008