Orions Mod Collection

An important update to the OGI Patch file has been released.

New fixes include:

1. Fixed Ice Breaker SDK problem for determining the nearest city.

2. Fixed Python problem to restrict Mystery Wonders based upon Era.

3. Adjusted Flame Thrower Combat settings vs Armor and Helicopters.

4. Fixed XML code to allow the Religious Victory movie to execute.

5. Fixed sound problem for missing NoSpread.wav file.

See first page for link to the download.
 
hi, I just tried to integrate the citysize prereq mod, but I think it is missing a couple of SDK files with changes..

Spoiler :
1>CvCity.cpp(2093) : error C2039: 'getNumCitySizeUnitPrereq' : is not a member of 'CvUnitInfo'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\K-Fallout\Assets\CvGameCoreDLL\CvInfos.h(983) : see declaration of 'CvUnitInfo'
1>CvCity.cpp(2419) : error C2039: 'getNumCitySizeBldPrereq' : is not a member of 'CvBuildingInfo'


building and unit info

Or I am dense...which is always highly possible!
 
hi, I just tried to integrate the citysize prereq mod, but I think it is missing a couple of SDK files with changes..

Spoiler :
1>CvCity.cpp(2093) : error C2039: 'getNumCitySizeUnitPrereq' : is not a member of 'CvUnitInfo'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\K-Fallout\Assets\CvGameCoreDLL\CvInfos.h(983) : see declaration of 'CvUnitInfo'
1>CvCity.cpp(2419) : error C2039: 'getNumCitySizeBldPrereq' : is not a member of 'CvBuildingInfo'


building and unit info

You need to update the CyInfoInterface1.cpp file with:

Spoiler :

Code:
/************************************************************************************************/
/* City Size Prerequisite - 3 Jan 2012     START                                OrionVeteran    */
/************************************************************************************************/
	int getNumCitySizeUnitPrereq() const;  // Exposed to Python
/************************************************************************************************/
/* City Size Prerequisite                  END                                                  */
/************************************************************************************************/

and update the CyInfoInterface1.cpp file with:

Code:
/************************************************************************************************/
/* City Size Prerequisite - 3 Jan 2012     START                                OrionVeteran    */
/************************************************************************************************/
		.def("getNumCitySizeBldPrereq", &CvBuildingInfo::getNumCitySizeBldPrereq, "int ()")
/************************************************************************************************/
/* City Size Prerequisite                  END                                                  */
/************************************************************************************************/
 
[offtopic]:joke: What is OGI 3.00??:p

LOL! :lol:

:joke: Hmmm... All have a big choice now: "C2C Cavemen," who hide themselves in caves from the barbarians or "OGI warriors" who are not afraid to fight and conquer. Spies need to be extra careful in OGI, as they might step on an enemy land mine. :p
 
BOOM!

Sorry to be a pain orion, could you provide me with a placement context, like the line before and after, for those two additions I need to add?

otherwise I am fairly certain I will mess up even this simple task!

I have the building reference in the cyinfointerface1.cpp already, and I cannot find any int bits of code, are you sure that is the file it was meant to go in?
 
BOOM!

Sorry to be a pain orion, could you provide me with a placement context, like the line before and after, for those two additions I need to add?

otherwise I am fairly certain I will mess up even this simple task!

I have the building reference in the cyinfointerface1.cpp already, and I cannot find any int bits of code, are you sure that is the file it was meant to go in?

Code:
		.def("getHurryCostModifier", &CvUnitInfo::getHurryCostModifier, "int ()")
/************************************************************************************************/
/* City Size Prerequisite - 3 Jan 2012     START                                OrionVeteran    */
/************************************************************************************************/
		.def("getNumCitySizeUnitPrereq", &CvUnitInfo::getNumCitySizeUnitPrereq, "int ()")
/************************************************************************************************/
/* City Size Prerequisite                  END                                                  */
/************************************************************************************************/
		.def("getMinAreaSize", &CvUnitInfo::getMinAreaSize, "int ()")

and

Code:
		.def("getNumCitiesPrereq", &CvBuildingInfo::getNumCitiesPrereq, "int ()")
/************************************************************************************************/
/* City Size Prerequisite - 3 Jan 2012     START                                OrionVeteran    */
/************************************************************************************************/
		.def("getNumCitySizeBldPrereq", &CvBuildingInfo::getNumCitySizeBldPrereq, "int ()")
/************************************************************************************************/
/* City Size Prerequisite                  END                                                  */
/************************************************************************************************/
		.def("getNumTeamsPrereq", &CvBuildingInfo::getNumTeamsPrereq, "int ()")
 
Interesting. Can you tell me why you have a different naming convention for the AABRIGADE?

COMBAT_AIR_ASSAULT_BRIGADE vs. COMBAT_AABRIGADE :confused:


<UnitCombatInfo>
<Type>UNITCOMBAT_AABRIGADE</Type>
<Description>TXT_KEY_UNITCOMBAT_AIR_ASSAULT_BRIGADE</Description>
<Button>Art/Interface/Buttons/CombatCategories/Army.dds</Button>
</UnitCombatInfo>
its works this way because you have the text description TXT_KEY_UNITCOMBAT_AIR_ASSAULT_BRIGADE not TXT_KEY_UNITCOMBAT_AABRIGADE look at all the others their the same

<UnitCombatInfo>
<Type>UNITCOMBAT_ARMY</Type>
<Description>TXT_KEY_UNITCOMBAT_ARMY</Description>
<Button>Art/Interface/Buttons/CombatCategories/Army.dds</Button>
</UnitCombatInfo>

UNITCOMBAT_ARMY

then the text is UNITCOMBAT_ARMY


If you want it the same you will need to change your text description


<TEXT>
<Tag>TXT_KEY_UNITCOMBAT_AIR_ASSAULT_BRIGADE</Tag>
<English>Air Assault Brigade Units</English>
<French>Air Assault Brigade Units</French>
<German>Air Assault Brigade Units</German>
<Italian>Air Assault Brigade Units</Italian>
<Spanish>Air Assault Brigade Units</Spanish>
</TEXT>

to

<TEXT>
<Tag>TXT_KEY_UNITCOMBAT_AABRIGADE</Tag>
<English>Air Assault Brigade Units</English>
<French>Air Assault Brigade Units</French>
<German>Air Assault Brigade Units</German>
<Italian>Air Assault Brigade Units</Italian>
<Spanish>Air Assault Brigade Units</Spanish>
</TEXT>


self.addTextEdit(screen, columnL, columnR, "UnitNaming__Combat_AIR_ASSAULT_BRIGADE")

to

self.addTextEdit(screen, columnL, columnR, "UnitNaming__Combat_AABRIGADE")

<option id="Combat_AIR_ASSAULT_BRIGADE" key="CombatAIR_ASSAULT_BRIGADE"
type="string" default="DEFAULT"/>
<option id="Combat_AABRIGADE" key="CombatAABRIGADE"
type="string" default="DEFAULT"/>

<TEXT>
<Tag>TXT_KEY_BUG_OPT_UNITNAMING__COMBAT_AIR_ASSAULT_BRIGADE_TEXT</Tag>
<English>Naming Convention: Combat[AIR ASSAULT BRIGADE]</English>
<French>Convention de dénomination: Combat [Air Assault Brigade]</French>
<German>Namenskonvention: Combat [AIR ASSAULT BRIGADE]</German>
<Italian>Naming Convention: Combat [BRIGADE Air Assault]</Italian>
<Spanish>undefined Convención de nomenclatura: Combat [BRIGADA DE ASALTO AIR]</Spanish>

</TEXT>

<TEXT>
<Tag>TXT_KEY_BUG_OPT_UNITNAMING__COMBAT_AABRIGADE_TEXT</Tag>
<English>Naming Convention: Combat[AIR ASSAULT BRIGADE]</English>
<French>Convention de dénomination: Combat [Air Assault Brigade]</French>
<German>Namenskonvention: Combat [AIR ASSAULT BRIGADE]</German>
<Italian>Naming Convention: Combat [BRIGADE Air Assault]</Italian>
<Spanish>undefined Convención de nomenclatura: Combat [BRIGADA DE ASALTO AIR]</Spanish>

</TEXT>
 
Spoiler :
<UnitCombatInfo>
<Type>UNITCOMBAT_AABRIGADE</Type>
<Description>TXT_KEY_UNITCOMBAT_AIR_ASSAULT_BRIGADE</Description>
<Button>Art/Interface/Buttons/CombatCategories/Army.dds</Button>
</UnitCombatInfo>
its works this way because you have the text description TXT_KEY_UNITCOMBAT_AIR_ASSAULT_BRIGADE not TXT_KEY_UNITCOMBAT_AABRIGADE look at all the others their the same

<UnitCombatInfo>
<Type>UNITCOMBAT_ARMY</Type>
<Description>TXT_KEY_UNITCOMBAT_ARMY</Description>
<Button>Art/Interface/Buttons/CombatCategories/Army.dds</Button>
</UnitCombatInfo>

UNITCOMBAT_ARMY

then the text is UNITCOMBAT_ARMY


If you want it the same you will need to change your text description


<TEXT>
<Tag>TXT_KEY_UNITCOMBAT_AIR_ASSAULT_BRIGADE</Tag>
<English>Air Assault Brigade Units</English>
<French>Air Assault Brigade Units</French>
<German>Air Assault Brigade Units</German>
<Italian>Air Assault Brigade Units</Italian>
<Spanish>Air Assault Brigade Units</Spanish>
</TEXT>

to

<TEXT>
<Tag>TXT_KEY_UNITCOMBAT_AABRIGADE</Tag>
<English>Air Assault Brigade Units</English>
<French>Air Assault Brigade Units</French>
<German>Air Assault Brigade Units</German>
<Italian>Air Assault Brigade Units</Italian>
<Spanish>Air Assault Brigade Units</Spanish>
</TEXT>


self.addTextEdit(screen, columnL, columnR, "UnitNaming__Combat_AIR_ASSAULT_BRIGADE")

to

self.addTextEdit(screen, columnL, columnR, "UnitNaming__Combat_AABRIGADE")

<option id="Combat_AIR_ASSAULT_BRIGADE" key="CombatAIR_ASSAULT_BRIGADE"
type="string" default="DEFAULT"/>
<option id="Combat_AABRIGADE" key="CombatAABRIGADE"
type="string" default="DEFAULT"/>

<TEXT>
<Tag>TXT_KEY_BUG_OPT_UNITNAMING__COMBAT_AIR_ASSAULT_BRIGADE_TEXT</Tag>
<English>Naming Convention: Combat[AIR ASSAULT BRIGADE]</English>
<French>Convention de dénomination: Combat [Air Assault Brigade]</French>
<German>Namenskonvention: Combat [AIR ASSAULT BRIGADE]</German>
<Italian>Naming Convention: Combat [BRIGADE Air Assault]</Italian>
<Spanish>undefined Convención de nomenclatura: Combat [BRIGADA DE ASALTO AIR]</Spanish>

</TEXT>

<TEXT>
<Tag>TXT_KEY_BUG_OPT_UNITNAMING__COMBAT_AABRIGADE_TEXT</Tag>
<English>Naming Convention: Combat[AIR ASSAULT BRIGADE]</English>
<French>Convention de dénomination: Combat [Air Assault Brigade]</French>
<German>Namenskonvention: Combat [AIR ASSAULT BRIGADE]</German>
<Italian>Naming Convention: Combat [BRIGADE Air Assault]</Italian>
<Spanish>undefined Convención de nomenclatura: Combat [BRIGADA DE ASALTO AIR]</Spanish>

</TEXT>


I will update and turn out the patch file. Thanks! :)
 
An important update to the OGI Patch file has been released.

New changes and fixes include:

1. Fixed new CombatType references to work with BUG. (Thanks Roamty)

2. Fixed several Red Cross National Wonder attributes.

3. Increased Sewer System health attribute.

4. Increased Humanitarian Trait health attribute.
 
I successfully merged the Specialist Enhancements mod by Supercheese into OGI 3.00. This mod allows specialists to affect a city's Health and Happiness. The attributes of the city specialists will be revised to the following standard:

The sum Values for all city specialists (except the Citizen, and Great General) will be 7.

Standard city specialist get 3 for the birth rate increase and two or three other attributes that add up to 4 for a total of 7.

Great Specialists get no more than two attributes that add up to 7.

The total number for any standard specialist in a city is capped at 13: 10 from regular buildings and 3 more from Wonders.

For example:

Doctor: 2 :health: + 2:science: + 3 :gp: Birth rate = 7

Great Doctor: 5 :health: + 2:science: = 7

This creates a very nice balance for all specialists in the game.

Testing is under way and I expect to release a new OGI patch soon.
 
Back
Top Bottom