ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

Houses: Difference between revisions

From ModEnc
Jump to navigation Jump to search
No edit summary
Crimsonum (talk | contribs)
Added list of applicable flags
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The houses in TS, FS, RA2 and YR are all the available countries, playable and non-playable. In TS and FS there are only four houses;
Houses (in some games known as [[Countries]]) are the available factions, playable and non-playable, in every [[C&C]] game from {{td}} to {{yr}}.


== Red Alert ==
In [[RA1]], the houses list is hardcoded into the game executable, therefore it's not possible to add or remove houses via INI editing. However, there are several multiplayer-oriented houses named after countries such as {{s|England}}, {{s|Russia}}, etc. that are defined and modifiable in [[rules.ini]].
== Tiberian Sun ==
=== [Houses] in Rules.ini ===
[[TS]] introduced a new [[rules]] section which lists available house types, making it possible to add or remove playable houses at will:
[Houses]
  0=GDI
  0=GDI
  1=Nod
  1=Nod
Line 6: Line 17:
  3=Special
  3=Special


However, in RA2 there are an additional nine;
These house types are available both in single- and multiplayer.
 
For skirmish/multiplayer, playable houses are specified with the flags {{f|Multiplay|link}} and {{f|MultiplayPassive|link}}. Singleplayer campaigns are defined in [[battle.ini]] and [[mapsel.ini]].
 
{{W}} Be cautious when changing this list. Many game mechanics refer to the house names and/or indexes, so changing the list can break existing missions, scripted multiplayer maps, or even crash the game. [https://github.com/Starkku/TriggerIndexParamTool Starkku's TriggerIndexParamTool] allows batch-editing house index references in maps, if needed.
 
=== [Houses] in Maps ===
 
Singleplayer missions can add a number of custom houses specific to the map. The {{s|Houses}} list must first contain the rules.ini houses at the beginning of the list, in the same order, appended with the custom houses.
 
Skirmish/multiplayer maps cannot add more houses. Even though some stock maps do have a {{s|Houses}} list, these maps only use the houses defined in rules.ini.
 
=== Notes ===
* The total number of houses should not exceed 32.
* [[TiberiumDeathToVisceroid|Visceroids spawning by mutation]] belong to the Neutral house.
* In skirmish & multiplayer, Neutral and Special houses have hardcoded properties:
** Neutral is hostile to all players. However, player units won't automatically engage neutral enemies, only retaliate if attacked by them.
** Special is allied to all players.
** {{f|Color|link}} of Neutral and Special is hardcoded to {{tt|LightGrey}}.
 
== Red Alert 2 & Yuri's Revenge ==
 
=== [Houses] in Rules(md).ini ===
 
In [[RA2]]/[[YR]], this section was renamed to {{s|Countries|link}}, but the {{tt|[Houses]}} list is created and populated by the engine on-the-fly. See [[Countries]] for more information.


0=Americans
=== [Houses] in Maps ===
1=Alliance
2=French
3=Germans
4=British
5=Africans
6=Arabs
7=Confederation
8=Russians


And in YR;
Maps can define additional houses for their internal needs, as long as they specify which {{f|Country|link}} they represent. The contents of this {{Tt|[Houses]}} section are appended to the rules' houses list, forming a zero-based numbered list, which is used by a lot of map {{f|Events|link}} and {{f|Actions|link}}.


9=YuriCountry
== Applicable INI Flags ==


is also added to the list bringing the total to fourteen.
{{Applicable INI Flags}}


This list should never be re-orded as this can result in game errors and crashes.
{{:AbstractTypes}}
<onlyinclude>
{{Applicable INI Flags Header|Houses}}
|-
| {{Ini|Rules}} || Object's ID || {{f|Suffix|link}} || string || ||
|-
| {{Ini|Rules}} || Object's ID || {{f|ParentCountry|link}} || string ([[Country]])||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|Prefix|link}} || string ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|Groundspeed|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|Airspeed|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|ROF|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|Cost|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|BuildTime|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|Color|link}} || string ([[Color]]) ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|Multiplay|link}} || boolean ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|MultiplayPassive|link}} || boolean ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|Side|link}} || string ([[Side]]) ||
|-
| {{Ini|Rules}} || Object's ID || {{f|WallOwner|link}} || boolean ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|SmartAI|link}} || boolean ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|ArmorInfantryMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|ArmorUnitsMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|ArmorAircraftMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|ArmorBuildingsMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|ArmorDefensesMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|CostInfantryMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|CostUnitsMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|CostAircraftMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|CostBuildingsMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|CostDefensesMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|SpeedInfantryMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|SpeedUnitsMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|SpeedAircraftMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|BuildTimeInfantryMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|BuildTimeUnitsMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|BuildTimeAircraftMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|BuildTimeBuildingsMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|BuildTimeDefensesMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|IncomeMult|link}} || float ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|VeteranInfantry|link}} || stringlist ([[InfantryTypes]]) ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|VeteranUnits|link}} || stringlist ([[UnitTypes]]) ||  ||
|-
| {{Ini|Rules}} || Object's ID || {{f|VeteranAircraft|link}} || stringlist ([[AircraftTypes]]) ||  ||
|-
| [[Maps]] || Object's ID || {{f|ActsLike|link}} || int (House index) ||  ||
|-
| [[Maps]] || Object's ID || {{f|Country|link}} || string ([[Country]]) ||  ||
|-
| [[Maps]] || Object's ID || {{f|TechLevel|link}} || int ([[TechLevel]]) ||  ||
|-
| [[Maps]] || Object's ID || {{f|Credits|link}} || int ||  ||
|-
| [[Maps]] || Object's ID || {{f|IQ|link}} || int ([[IQ]]) ||  ||
|-
| [[Maps]] || Object's ID || {{f|Edge|link}} || string ([[SourceType]]) ||  ||
|-
| [[Maps]] || Object's ID || {{f|PlayerControl|link}} || boolean ||  ||
|-
| [[Maps]] || Object's ID || {{f|Color|link}} || string ([[Color]]) ||  ||
|-
| [[Maps]] || Object's ID || {{f|Allies|link}} || stringlist (Houses) ||  ||
|-
| [[Maps]] || Object's ID || {{f|PercentBuilt|link}} || int (0–100) ||  ||
|-
| [[Maps]] || Object's ID || {{f|NodeCount|link}} || int ||  ||
|}
</onlyinclude>


These listed houses are then listed under the [[Sides]] list in order to split them into their respective sides (Allied, Soviet, Yuri). In any of the unmodded games there is no way to add new houses that work exactly like the existing ones, however in TS and FS there is a workaround that allows you to add new houses. In YR you can also use the [[RockPatch]] to add new playable houses.
== Tutorials ==


== Tutorials for adding new playable houses to YR ==
=== Yuri's Revenge ===


[[RockPatch Docs:Adding new playable Countries]]
[[RockPatch Docs:Adding new playable Countries]]


[[RockPatch Docs:Adding a new Side]]
[[RockPatch Docs:Adding a new Side]]
== Trivia ==
* Originally, ''Houses'' referred to the three playable houses (Atreides, Harkonnen, and Ordos) in [[Dune II]], the precursor to Command & Conquer. As all C&C games up to YR were built on the previous title, starting with Dune II, the House name carried over. Perhaps there was little practical need to change it.
* According to the [[Sides]] list in TS, the Neutral house was intended for civilians and Special for the Forgotten mutant faction, however this distinction is nonexistent in the actual game. Both houses are essentially carried over from [[TD]] and [[RA1]].
== See Also ==
* [[Countries]]
* [[Sides]]
* [[Owner]]
* [[ActsLike]]


[[Category:Rules(md).ini Sections]]
[[Category:Rules(md).ini Sections]]
[[Category:Maps Sections]]
[[Category:General Editing Information]]
[[Category:General Editing Information]]

Latest revision as of 14:50, 6 April 2024

Houses (in some games known as Countries) are the available factions, playable and non-playable, in every C&C game from Tiberian Dawn to Yuri's Revenge.

Red Alert

In RA1, the houses list is hardcoded into the game executable, therefore it's not possible to add or remove houses via INI editing. However, there are several multiplayer-oriented houses named after countries such as [England], [Russia], etc. that are defined and modifiable in rules.ini.

Tiberian Sun

[Houses] in Rules.ini

TS introduced a new rules section which lists available house types, making it possible to add or remove playable houses at will:

[Houses]
0=GDI
1=Nod
2=Neutral
3=Special

These house types are available both in single- and multiplayer.

For skirmish/multiplayer, playable houses are specified with the flags Multiplay and MultiplayPassive. Singleplayer campaigns are defined in battle.ini and mapsel.ini.

Be cautious when changing this list. Many game mechanics refer to the house names and/or indexes, so changing the list can break existing missions, scripted multiplayer maps, or even crash the game. Starkku's TriggerIndexParamTool allows batch-editing house index references in maps, if needed.

[Houses] in Maps

Singleplayer missions can add a number of custom houses specific to the map. The [Houses] list must first contain the rules.ini houses at the beginning of the list, in the same order, appended with the custom houses.

Skirmish/multiplayer maps cannot add more houses. Even though some stock maps do have a [Houses] list, these maps only use the houses defined in rules.ini.

Notes

  • The total number of houses should not exceed 32.
  • Visceroids spawning by mutation belong to the Neutral house.
  • In skirmish & multiplayer, Neutral and Special houses have hardcoded properties:
    • Neutral is hostile to all players. However, player units won't automatically engage neutral enemies, only retaliate if attacked by them.
    • Special is allied to all players.
    • Color of Neutral and Special is hardcoded to LightGrey.

Red Alert 2 & Yuri's Revenge

[Houses] in Rules(md).ini

In RA2/YR, this section was renamed to [Countries], but the [Houses] list is created and populated by the engine on-the-fly. See Countries for more information.

[Houses] in Maps

Maps can define additional houses for their internal needs, as long as they specify which Country they represent. The contents of this [Houses] section are appended to the rules' houses list, forming a zero-based numbered list, which is used by a lot of map Events and Actions.

Applicable INI Flags

These tables show all INI flags applicable1 to Houses. The flags are grouped by the internal classes the flags are inherited from, and then listed in the order they are read in by the game. You can re-sort the rows by column values by clicking the arrow icons in the column headings. Each flag can be clicked to visit its page for detailed information.

Please note that this section is accurate only for Yuri's Revenge. All other C&C games use different sets of flags.

1 "Applicable" in this context means "read from the INI files". Certain flags listed here don't have any effect ingame , but they are read and in certain cases cause a crash if not present. Again, refer to each flag's individual page for detailed information.


AbstractTypes
INI File Section Key Value Type Default Value Adds to list
Rules(md).ini Object's ID Name string(48 symbols) ID
Rules(md).ini Object's ID UIName string(31 symbol) ""


Houses
INI File Section Key Value Type Default Value Adds to list
Rules(md).ini Object's ID Suffix string
Rules(md).ini Object's ID ParentCountry string (Country)
Rules(md).ini Object's ID Prefix string
Rules(md).ini Object's ID Groundspeed float
Rules(md).ini Object's ID Airspeed float
Rules(md).ini Object's ID ROF float
Rules(md).ini Object's ID Cost float
Rules(md).ini Object's ID BuildTime float
Rules(md).ini Object's ID Color string (Color)
Rules(md).ini Object's ID Multiplay boolean
Rules(md).ini Object's ID MultiplayPassive boolean
Rules(md).ini Object's ID Side string (Side)
Rules(md).ini Object's ID WallOwner boolean
Rules(md).ini Object's ID SmartAI boolean
Rules(md).ini Object's ID ArmorInfantryMult float
Rules(md).ini Object's ID ArmorUnitsMult float
Rules(md).ini Object's ID ArmorAircraftMult float
Rules(md).ini Object's ID ArmorBuildingsMult float
Rules(md).ini Object's ID ArmorDefensesMult float
Rules(md).ini Object's ID CostInfantryMult float
Rules(md).ini Object's ID CostUnitsMult float
Rules(md).ini Object's ID CostAircraftMult float
Rules(md).ini Object's ID CostBuildingsMult float
Rules(md).ini Object's ID CostDefensesMult float
Rules(md).ini Object's ID SpeedInfantryMult float
Rules(md).ini Object's ID SpeedUnitsMult float
Rules(md).ini Object's ID SpeedAircraftMult float
Rules(md).ini Object's ID BuildTimeInfantryMult float
Rules(md).ini Object's ID BuildTimeUnitsMult float
Rules(md).ini Object's ID BuildTimeAircraftMult float
Rules(md).ini Object's ID BuildTimeBuildingsMult float
Rules(md).ini Object's ID BuildTimeDefensesMult float
Rules(md).ini Object's ID IncomeMult float
Rules(md).ini Object's ID VeteranInfantry stringlist (InfantryTypes)
Rules(md).ini Object's ID VeteranUnits stringlist (UnitTypes)
Rules(md).ini Object's ID VeteranAircraft stringlist (AircraftTypes)
Maps Object's ID ActsLike int (House index)
Maps Object's ID Country string (Country)
Maps Object's ID TechLevel int (TechLevel)
Maps Object's ID Credits int
Maps Object's ID IQ int (IQ)
Maps Object's ID Edge string (SourceType)
Maps Object's ID PlayerControl boolean
Maps Object's ID Color string (Color)
Maps Object's ID Allies stringlist (Houses)
Maps Object's ID PercentBuilt int (0–100)
Maps Object's ID NodeCount int


Tutorials

Yuri's Revenge

RockPatch Docs:Adding new playable Countries

RockPatch Docs:Adding a new Side

Trivia

  • Originally, Houses referred to the three playable houses (Atreides, Harkonnen, and Ordos) in Dune II, the precursor to Command & Conquer. As all C&C games up to YR were built on the previous title, starting with Dune II, the House name carried over. Perhaps there was little practical need to change it.
  • According to the Sides list in TS, the Neutral house was intended for civilians and Special for the Forgotten mutant faction, however this distinction is nonexistent in the actual game. Both houses are essentially carried over from TD and RA1.

See Also