Skip to content

Custom building AI

algernon-A edited this page May 20, 2020 · 1 revision

In order to get the standard RICO functionality to work with buildings that are often well outside of the regular building AI's parameters (and without having to alter the functionality of every building AI in the game), Ploppable RICO Revisited has its own building AIs that are applied solely to Ploppable RICO buildings.

Each Building AI inherits from the relevant game BuildingAI class, and overrides the following methods (Ploppable RICO Revisited growables only override a subset of these):

Residential AI

  • CalculateHomeCount
  • CheckUnlocking
  • GetConstructionCost
  • GetConstructionTime
  • GetWidthRange
  • GetLengthRange
  • GenerateName
  • ClearOccupiedZoning
  • GetUpgradeInfo
  • SimulationStep (base is called within the override)
  • SimulationStepActive (base is called within the override)

Industrial AI

  • CalculateWorkplaceCount
  • GetPollutionRates
  • CheckUnlocking
  • GetConstructionCost
  • GetConstructionTime
  • GetWidthRange
  • GetLengthRange
  • GenerateName
  • ClearOccupiedZoning
  • GetUpgradeInfo
  • SimulationStep (base is called within the override)
  • SimulationStepActive (base is called within the override)

Commercial AI

  • CalculateWorkplaceCount
  • CheckUnlocking
  • GetConstructionCost
  • GetConstructionTime
  • GetWidthRange
  • GetLengthRange
  • GenerateName
  • ClearOccupiedZoning
  • GetUpgradeInfo
  • SimulationStep (base is called within the override)
  • SimulationStepActive (base is called within the override)

Office AI

  • CalculateWorkplaceCount
  • CheckUnlocking
  • GetConstructionCost
  • GetConstructionTime
  • GetWidthRange
  • GetLengthRange
  • GenerateName
  • ClearOccupiedZoning
  • GetUpgradeInfo
  • SimulationStep (base is called within the override)
  • SimulationStepActive (base is called within the override)

Industrial Extractor AI

  • CalculateWorkplaceCount
  • GetPollutionRates
  • CheckUnlocking
  • GetConstructionCost
  • GetConstructionTime
  • GetWidthRange
  • GetLengthRange
  • GenerateName
  • ClearOccupiedZoning
  • GetUpgradeInfo
  • SimulationStep (base is called within the override)
  • SimulationStepActive (base is called within the override)