Buildings Model Quickpad

From FreeOrionWiki
Revision as of 09:53, 20 December 2004 by 66.102.74.131 (Talk)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is a draft pseudo-brainstorming attempt to resolve some issues with the current buildings model. Nothing (new) here has been passed.

Issues

The non-effects details of the buildings model need to be worked out. Some isses to consider include:

Prerequisites (non-Tech)

Besides the technologies that unlock a particular building, we may want to be able to restrict where and when a building can be produced. Possible restrictions include:

  • Requiring the presence of another building first
  • Requiring a particular special to be present, and/or be known to exists on or in the planet, system, empire or galaxy
  • Requiring a particular planetary environment, star colour, minimum population, meter values, etc. for a building to be produced
  • Future: Some sort of Civ3-like special resources model, of somewhat more complexity than the above requirements for particular specials

Limits

Similar to prerequisites, but opposite in effect, limits indicate when a particular building may not be built, despite all other requirements being met. Possible limits include:

  • A limit on the number of buildings of a particular type on or in a planet, system, empire or galaxy, or within a certain distance.

This could be implimented using some sort of "building stacking group", similar to the stacking groups used with techs.

Maintainance

We can already specify the maintainance cost for buildings, as indicated in the Effects page, but this idea needs to be extended to cover what happens if maintainance is not paid. This may be integrated with the following section, Building Enabling.

Building Enabling

Buildings mostly (exclusively?) do their jobs through their effects groups, which already have activation and scope conditions. These are very useful and versatile, but they have some limitations that are problematic for buildings. In particular, we need:

  • some way to enable or disable buildings' effects for resons such as:
    • unpained maintainance
    • player choice (requiring UI integration)
    • technology prerequisites (new ones gained or previously known ones lost)
    • non-tech prerequisites, as discussed above
    • unmet limits, as discussed above

Refinements

tzlaine is already working on a way for effects to alter building descriptions for the purpose of refinements.

Solutions?

A mix of new effects and conditions and non-effects methods will likely be needed to impliment the desired functionalitly.

TO DO...

It might work well with a new effects condition that checks if a building is enabled, and its prerequisites or conditions, perhaps with some property that effect conditions can acces to turn themselves on/off appropriately, like whether a building is "Enabled" or "Active"