Shannon V. OKeets
From: Honolulu, Hawaii
Here is my revised in-line code comments for factories. It corrects the mistake that Orm identified in my post yesterday. I have also expanded the text to include New and Moving factories.
// Class TFactoryHex.
// A TFactoryHex can contain up to 3 factories. The factories in the hex are
// differentiated using an index (0-2). Red factories are always listed first
// followed by Blue and then Green. Printed factories are designated Permanent
// Most Green factories are those that were newly built (i.e., they are not
// Permanent). However, when a Blue factory moves to a different city, it is
// treated as being equivalent to a Green factory.
// The differences between Blue and Green factories are few:
// (1) Blue factories can be moved to a new location under certain conditions;
// Green factories can never be moved.
// (2) Blue factories that are 'destroyed' are merely Damaged, and moved to the
// Repair Pool, while 'destroyed' Green factories are removed from the game.
// Factories can only be 'destroyed' if playing with the optional rule
// FactoryConstruction (which includes rules for factory destruction). Note
// well that the following paragraphs about destroying, damaging, and repairing
// factories only apply if the optional rule FactoryConstruction is being used.
// There are 3 ways in which a factory can be 'destroyed':
// (1) By strategic bombing,
// (2) Control of a red factory changes sides (when using the optional rule
// ConstructionEngineers as described in Code Implementation below), and
// (3) During the Factory Destruction phase when a major power chooses to
// destroy a Blue or Green factory using one of its land units that occupies
// the hex.
// If a Red or Blue factory is 'destroyed', by any means, then it becomes
// damaged and a unit representing the damaged factory is placed in the Repair
// Pool. If a Green factory is 'destroyed', it is removed from the game.
// Repair of a damaged factory in the Repair Pool is initiated during the
// Production phase by spending build points to repair the factory. The factory
// then arrives as a future 'reinforcement'. In actuality, upon arrival the
// factory simply changes from damaged to usable.
// If using the optional rule ConstructionEngineers, then an engineer unit must
// be in the factory's hex during the Production phase in order to spend build
// points to repair the factory.
// Code Implementation for factories.
// A factory typically has no associated unit counter. Instead, the factory is
// displayed as an icon in the hex. For example, this is true for all Permanent
// (Printed) factories. Temporary factory units are created under four
// (1) when a new factory is built,
// (2) when a factory is being moved,
// (3) when a factory is damaged, and
// (4) when an undamaged Blue or Green factory is controlled by the enemy.
// In all these cases the temporary factory units are placed in off-map pools so
// players can see the status of factories that are not currently usable but
// which may become usable in the future.
// Building a new factory causes a New Factory unit to be created and placed in
// a Production Pool. Once the factory arrives as a 'reinforcement', the New
// Factory unit is removed from the game and the factory icon in its arrival hex
// is modified to display a new Green factory.
// Moving a Blue factory by rail causes a Moving Factory unit to be created and
// placed in a Production Pool. Once the factory arrives as a 'reinforcement',
// the Moving Factory unit is removed from the game and the factory icon in its
// arrival hex is modified to display a new Blue factory. Some scenarios start
// with the USSR having Moving Factory units in the Setup tray and/or a
// Production Pool. The USSR player can placed these factories in any valid
// city hex in the USSR. However, all factories that are moved during a game
// have their destinations specified by the player when they are first moved.
// Those destinations cannot be changed and the factory must arrive in the city
// hex originally chosen by the player.
// 'Destroying' a Red or Blue factory during strategic bombing causes a Damaged
// Factory unit to be created and placed in the Repair Pool. Destroyed Green
// factories are simply removed from the game.
// When control of a factory hex changes sides, there are 2 possibilities:
// (1) the factories are 'Captured' by the enemy, or
// (2) the factories are 'Recaptured' by the side that originally controlled it.
// For instance, Germany occupying Lille 'Captures' the factories in the hex;
// while if the Allies later occupy Lille, then they 'Recapture' the factories.
// Capturing or Recapturing a factory hex containing damaged factories does not
// affect the damaged factories, unless they are in the process of being
// repaired. If they are being repaired, then that process is aborted and the
// damaged factory units are returned to the Repair Pool.
// Undamaged Blue and Green factories are never usable when Captured, but are
// immediately usable when Recaptured.
// Undamaged Red Factories are immediately usable by the new owner when they are
// Captured or Recaptured, unless the optional rule ConstructionEngineers is
// being used. If the optional rule ConstructionEngineers IS being used, then
// for each undamaged Red factory in a Captured or Recaptured factory hex, a
// Damaged Factory unit is created and placed in the Repair Pool.
// When a factory hex is Recaptured, for each undamaged Blue and Green factory,
// there should be a Factory unit in the Reserve Pool. That unit is removed
// from the game and the corresponding Blue/Green factory immediately becomes
// usable by the original owner.
// If during the Factory Destruction phase a Blue factory is destroyed, its
// Factory unit in the Reserve Pool is converted to a Damaged Fatory unit and
// moved into the Repair Pool. Destroying a Green factory causes its Factory
// unit in the Reserve Pool to be removed from the game.
// During the Production phase, a player may repair his damaged factories by
// spending build points. If using the optional rule ConstructionEngineers,
// then an engineer unit must be in the factory's hex. When a factory is
// repaired, the Damaged Factory unit for the repaired factory is moved from the
// Repair Pool to a Production Pool to arrive as a reinforcement. Upon arrival,
// the Damaged Factory unit is removed from the game and the factory is shown as
// usable on the map (and in the Production Planning form).
Perfection is an elusive goal.