Jump to content

Alternate So. America Bonus Modlet


Amineri

Recommended Posts

Balancing South America's continent bonus is difficult, because it is the only continent bonus that alters the time in which something can be done. All four of the other continent bonuses in some manner adjust finances. Three alter the costs of items (NA, EU, Asia), and the third increases monthly income (Africa).

 

Also, I've become increasingly bothered by the negative stereotype that the SA bonus conveys ... that somehow SA governments are more efficient at interrogations (a bit PC of me, but oh well! :wink: )

 

So, I've made a modlet that complete replaces the existing SA bonus with an alternative one.

 

The new SA Bonus is "Power to the People". Cash cost and maintainance of power generation facilities (Power, Steam, and Elerium Generators) is reduced by 50%.

 

The Narrative. Brazil is arguably the leading country in SA. It has completely switched its vehicle economy to ethanol. It also has (co-build with Uruguay) one of the largest hydroelectric projects in the world, the Itaipu Dam (wiki article : http://en.wikipedia.org/wiki/Itaipu_Dam). It is 2nd only to China's Three Gorges Dam in Instantaneous capacity, and actually annually typically generates slightly more power. This power is transferred to the San Paolo region by an 800 km long HVDC transmission line. After this was built in 1985 it was the largest HVDC transmission line in the world until 2010.

 

So, I think it's a quite reasonable narrative to allow the SA Bonus to be reduced power facility costs.

 

Additionally I think that as a gameplay mechanic, it is better balanced with the other continent bonuses.

 

Here's the hex / localization changes to implement it :

 

 

 

Hex to change SA continent bonus into a savings as power facilities

XGWorld.CreateContintents -- to switch SA Bonus from 1 to 3

change:
m_arrContinents[iContinent].m_eBonus = 1;
0F 19 10 00 1E 47 00 00 01 ED 46 00 00 09 00 94 23 00 00 00 01 94 23 00 00 24 01 

to:
m_arrContinents[iContinent].m_eBonus = 3;
0F 19 10 00 1E 47 00 00 01 ED 46 00 00 09 00 94 23 00 00 00 01 94 23 00 00 24 03 

---------------------------------

XGCountry.AddPanic -- to disable existing bonus 3 code

change:
if((iPanic > 0) && HQ().HasBonus(3))
07 CF 00 82 97 00 38 24 00 00 25 16 18 23 00 19 1B 5C 11 00 00 00 00 00 00 16 0C 00 F5 32 00 00 00 1B 07 11 00 00 00 00 00 00 24 03 16 16 
	
to:
goto 0xCF;
((iPanic > 0) && HQ().HasBonus(3))
06 CF 00 82 97 00 38 24 00 00 25 16 18 23 00 19 1B 5C 11 00 00 00 00 00 00 16 0C 00 F5 32 00 00 00 1B 07 11 00 00 00 00 00 00 24 03 16 16 

---------------------------------

XGItemTree.GetFacility -- 50% reduction in cash cost / maintainance for Power, Steam and Elerium Generators

original hex:
header:
A2 35 00 00 AB 1F 00 00 00 00 00 00 9E 35 00 00 00 00 00 00 00 00 00 00 A2 35 00 00 00 00 00 00 4B 02 00 00 6D 9B 00 00 77 01 00 00 FF 00 00 00 

body:
0B 0F 00 9F 35 00 00 10 00 A2 35 00 00 01 65 35 00 00 07 91 00 2D 00 A1 35 00 00 9F 35 C6 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 38 3F 2C 02 16 9F 35 C3 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 38 3F 2C 02 16 9F 35 C4 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 38 3F 2C 02 16 07 62 01 84 9A 00 A2 35 00 00 2C 08 16 18 0E 00 9A 00 A2 35 00 00 2C 07 16 16 07 62 01 19 1B 5C 11 00 00 00 00 00 00 16 0C 00 F5 32 00 00 00 1B 07 11 00 00 00 00 00 00 24 06 16 9F 35 C6 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 AC 38 3F 12 20 6D FE FF FF 09 00 0E FC FF FF 00 02 0E FC FF FF 1E 00 00 C8 42 16 16 9F 35 C5 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 AC 38 3F 12 20 6D FE FF FF 09 00 0E FC FF FF 00 02 0E FC FF FF 1E 00 00 C8 42 16 16 04 00 9F 35 00 00 04 3A A0 35 00 00 53 


new hex: (virtual 0x16B)
header:
A2 35 00 00 AB 1F 00 00 00 00 00 00 9E 35 00 00 00 00 00 00 00 00 00 00 A2 35 00 00 00 00 00 00 4B 02 00 00 6D 9B 00 00 6B 01 00 00 FF 00 00 00 

body:
0B 0F 00 9F 35 00 00 10 00 A2 35 00 00 01 65 35 00 00 07 91 00 2D 00 A1 35 00 00 9F 35 C6 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 38 3F 2C 02 16 9F 35 C3 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 38 3F 2C 02 16 9F 35 C4 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 38 3F 2C 02 16 05 A2 35 00 00 00 00 A2 35 00 00 0A A9 00 2C 07 0A BD 00 2C 08 0F 00 71 35 00 00 2C 06 06 EC 00 0A C2 00 2C 0A 0A C7 00 2C 0F 0A DB 00 2C 10 0F 00 71 35 00 00 2C 03 06 EC 00 0A FF FF 0F 00 71 35 00 00 25 06 EC 00 07 60 01 19 1B 5C 11 00 00 00 00 00 00 16 13 00 F5 32 00 00 00 1B 07 11 00 00 00 00 00 00 38 3D 00 71 35 00 00 16 9F 35 C6 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 1E 00 00 00 3F 16 9F 35 C5 1C 00 00 CA 1C 00 00 00 01 00 9F 35 00 00 1E 00 00 00 3F 16 04 00 9F 35 00 00 53 

---------------------------------

Localization:

ContinentBonusNames[eCB_Panic]="\"Power to the People\""
ContinentBonusDesc[eCB_Panic]="Power facilities cost <XGStrategyActor:CB_EXPERT_BONUS_PERCENT/> cash less to build and maintain." 

 

 

 

Notes:

 

If the mod is applied to an existing save-game there will be no effect. The change alters SA to receive continent bonus 3 instead of 1 (3 is an unused bonus related to panic). However, continent bonus enums are assigned to continents when they are created at the start of a new game, and are saved / loaded from the save-game file after that.

 

No changes to the existing We Have Ways continent bonus were made, so existing games will continue that bonus unabated.

 

The changes will be reflected upon the start of a new game.

Link to comment
Share on other sites

I should mention that in order to fit the new functionality in, I had to hard-code the cost / maint reduction to 50%. It also shares the same cost reducion with the Europe Lab/Workshop cost/maint reduction, which was also hard-coded into the hex as a consequence.

 

Meaning :

  • The power facility cost reduction and lab/workshop cost reduction for the Europe and SA continent bonuses are linked and cannot be changed separately
  • This value is hard-coded in the hex and is not read from the DGC.ini "CB_EXPERT_BONUS" value any longer (I really tried to figure out how to keep the DGC.ini config variable, but just couldn't squeeze it in)

Also ...

 

 

I don't live in South America :p

 

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...