Shannon V. OKeets
Posts: 22095
Joined: 5/19/2005 From: Honolulu, Hawaii Status: offline
|
quote:
ORIGINAL: Froonp quote:
ORIGINAL: Shannon V. OKeets quote:
ORIGINAL: fallgelb I read in the thread about the rules that the CAP Subphases can be "deactivated" in the sequence of play. I think it would be fasten the gameplay if all phases, respective some subphases, can be deactivated also. The system used in the screenshot concerning the CAP-possibilities would fit. Example: In most games the chinese player will not make naval air or starategic bombardement. I think experienced players will be able to decide at the beginning of a turn if they want to have a distict phase/subphase in the sequence of play. An interesting idea. Thanks. EDIT: Does someone want to propose which phases might be skipped by individual major powers? Note that if there are no units capable of moving, then the program 'skips' the phase/subphase/sub-subphase automatically. E.g., China is not going to be asked about naval moves. Carpet and Strat bombings are good candidates. China will do very few, as well as Italy. Japan will do some Strat, but never Carpet. Germany will do strat as well but very rarely carpet. Air resupply also is a good candidate, as few countries will have both the resource needed (precious & rare ATRs), and the urging need to do it. Only the USA, the CW, the USSR and Germany will do this often. Japan will do it sometimes. Italy, France & China almost never, but will do it occasionaly. HQ emergency supply also could be "deactivated" for most of the countries all the time. It is sometimes used, but never more than half a dozen time over the whole 250 impulses of the game. The major power who wants to do it often plans this ahead of time, and so the player can reactivate it if needed. Patrice, Those are all good candidates. For those of you who need a refresher on the MWIF phases and subphases, here is the current Pascal code:
// ****************************************************************************
// Phases and subphases.
// ****************************************************************************
TPhase = (
pSetup, // RAW 24.
pReinforcement, // RAC 4 - phase module exists.
pLending, // RAC 5 - phase module exists.
pInitiative, // RAC 6. - phase module exists
pWeather, // RAC 8.
pDeclareWar, // RAC 9 - phase module exists.
pChooseAction, // RAC 10 - phase module exists.
pPortAttack, // RAC 11.2 - phase module exists.
pNavalAir, // RAC 11.3 - phase module exists.
pNavalMovement, // RAC 11.4 - phase module exists.
// ****************************************************************************
// RAC 11.4.6; pNavalInterception was replaced with digNavalInterception, which
// is called when moving naval units during:
// (1) phases: pNavalMovement, pReturnToBaseA, pReturnToBaseD,
// (2) digressions: digOverrun, digReturnToBase, digNavalCombatAbort.
//
// RAC 11.5.2; pNavalCombatI was replaced with code that executes only as an
// outcome of digNavalInterception.
// ****************************************************************************
pNavalCombatA, // RAC 11.5 - phase module exists.
pNavalCombatD, // RAC 11.6 - phase module exists.
pStrategicBombardment, // RAC 11.7 - phase module exists.
pCarpetBombing, // RAC 11.8 - phase module exists.
pGroundStrike, // RAC 11.9 - phase module exists.
pRailMovement, // RAC 11.10 - phase module exists.
pLandMovement, // RAC 11.11 - phase module exists.
pAirTransport, // RAC 11.12 - phase module exists.
pUnloadLandUnits, // RAC 11.13 - phase module exists.
pInvasion, // RAC 11.14 - phase module exists.
pParadrop, // RAC 11.15 - phase module exists.
pLandCombatDeclaration, // RAC 11.16.1. - phase module exists
pIgnoreNotional, // RAC 11.14 - phase module exists.
pEmergencyHQSupply, // RAC 2.4.3 - phase module exists.
pShoreBombardmentD, // RAC 11.16.2 - phase module exists.
pShoreBombardmentA, // RAC 11.16.2 - phase module exists.
pHQSupportD, // RAC 11.16.3 - phase module exists.
pHQSupportA, // RAC 11.16.3 - phase module exists.
pGroundSupport, // RAC 11.16.4 - phase module exists.
pLandCombatResolution, // RAC 11.16.5 & 11.16.6 - phase module exists.
pAirRebase, // RAC 11.17 - phase module exists.
pAirSupply, // RAC 11.18.1 - phase module exists.
pHQReorganization, // RAC 11.18.2 - phase module exists.
pTRSSupply, // RAC 11.18.3 - phase module exists.
pEndOfAction, // RAC 12 - phase module exists.
pPartisan, // RAC 13.1 - phase module exists.
pEntry, // RAC 13.2 - phase module exists.
pUSEntry, // RAC 13.3 - phase module exists.
pProductionPlanning, // RAC 13.6.1 & 13.6.2 - phase module exists.
pStayAtSeaA, // RAC 13.4 - phase module exists.
pStayAtSeaD, // RAC 13.4 - phase module exists.
pReturnToBaseA, // RAC 13.4 - phase module exists.
pReturnToBaseD, // RAC 13.4 - phase module exists.
pUseOil, // RAC 13.5.1 - phase module exists.
pFinalReorganization, // RAC 13.5 - phase module exists.
pBreakDown, // RAC 22.4.1 - phase module exists.
pNavalRepair, // RAC 13.6.5 - phase module exists.
pProduction, // RAC 13.6.3 -> 13.6.9 - phase module exists.
pReform, // RAC 22.4.1 - phase module exists.
pIntelligence, // RAC 22.1 - phase module exists.
pUkraine, // RAC 19.12 - phase module exists.
pConquest, // RAC 13.7.1 - phase module exists.
pMinorSupport, // RAC 13.7.2 - phase module exists.
pMutualPeace, // RAC 13.7.3 - phase module exists.
pVichy, // RAC 13.7.4 - phase module exists.
pLiberation, // RAC 13.7.5 - phase module exists.
pSurrender, // RAC 13.7.6 - phase module exists.
pFactoryDestruction, // RAC 22.2 - phase module exists.
pVictory, // RAC 13.8 - phase module exists.
pGameEnd, // RAC 13.8 & RAW 30 - phase module exists.
pDestroyUnits, {remove once Overstacked & FTC are cleaned up}
pOverstacked, {replace with digression called multiple times}
pCollapseVichy, {change to digression}
pQuit, pNone);
TPhaseSet = set of TPhase;
TSubPhaseType = (sptReinforce, sptDOW, sptAir, sptNC, sptLCR, sptVichy);
// ****************************************************************************
// Reinforcement SubPhases.
// ****************************************************************************
TReinforceSubPhase = (
RspAnnualAdds, // RAC 4.1.1 & 4.1.2.
RspScrap, // RAC 4.1.3.
RspReplacements, // RAC 4.1.4.
RspAirReserve, // RAC 14.6.1.
RspPlaceUnits, // RAC 4.2.
RspRemoveAir, // RAC 14.6.1.
RspDone, RspWait);
// ****************************************************************************
// DOW SubPhases.
// ****************************************************************************
TDOWSubPhase = (
DspDOWMajor, // RAC 9.2 & 9.3.
DspDOWMinor, // RAC 9.2, 9.3, 9.10, & 13.3.2 (#7 & #44).
DspUSEntry, // RAC 9.4.
DspNeutralityPacts, // RAC 9.5.
DspReserves, // RAC 9.6.
DspChooseAligner, // RAC 9.7.
DspSetupAttackedMinor, // RAC 9.7.
DspAlignMinor, // RAC 9.8.
DspSetupAlignedMinor, // RAC 9.8.
DspDone, DspWait);
// ****************************************************************************
// Air subphases are for air missions; some air missions do not use all
// subphases.
// ****************************************************************************
TAirSubPhase = (
AspCAP, // RAC 14.2.1.
AspFlyA, // RAC 14.2.2, 14.2.3, & 14.2.1.
AspFlyD, // RAC 14.2.2, 14.2.3, & 14.2.1.
AspInterceptD, // RAC 14.2.1.
AspInterceptA, // RAC 14.2.1.
AspSurprise, // RAC 11.5.6.
AspAirAir, // RAC 14.3.
AspAntiAirD, // RAC 11.5.9.
AspAntiAirA, // RAC 11.5.9.
AspAttack, // RAC 11.5.9, 11.7, 11.8, 11.9, 11.12, 11.15,
// 11.16.4, & 11.8.1.
AspReturnA, // RAC 14.2.
AspReturnD, // RAC 14.2.
AspNone, AspDone);
// ****************************************************************************
// Air-to-air combat sub-subphases.
// ****************************************************************************
TA2ASubSubPhase = (
sspLocation, // RAC 14.3.
sspArrange, // RAC 14.3.1.
sspRollDef, // RAC 14.3.2.
ssp1stUnit, // RAC 14.3.3.
ssp1stDisposition, // RAC 14.3.3.
sspRollAtt, // RAC 14.3.2.
ssp2ndUnit, // RAC 14.3.3.
ssp2ndDisposition, // RAC 14.3.3.
sspAttAbortStay, // RAC 14.3.2.
sspDefAbortStay, // RAC 14.3.2.
sspBothStaying // RAC 14.3.2.
);
// ****************************************************************************
// Naval Movement Occasions.
// 1 - Most naval movement occurs during regular game phases. If a naval
// interception occurs to one of these naval moves, then after the digression is
// over, the program restores the deciding major powers to what they were
// previously, restores the MovingStack for each player to what it was before
// the naval interception, enables the end of phase button (if the local major
// power is deciding), and then calls CentralControlOn. This should restore the
// game state to what it was before the naval interception occurred.
// 2 - Some naval movement is caused by forced rebases due to 'overruns'. When
// these naval interception digressions are completed, the program performs the
// same steps as for #1 above and also restores the working variables for the
// Overrun digression.
// 3 - Lastly, some naval movement is caused by naval units aborting from a
// naval combat, due to either a voluntary abort at the end of a naval combat
// round or an adverse combat result. On these occasions, once the naval
// interception digression is over, the program performs the same steps as for
// overruns (see #2) except it is the working variables for the CombatAbort
// digression that are restored.
// 4 - Note that the only other time naval units move is during the Vichy
// subphase vspMoveFrenchAtSea, but those naval moves can not be intercepted.
// ****************************************************************************
TNavalMovementOccasions = (NMOCurrentPhase, NMOOverrun, NMONavalCombatAbort);
// ****************************************************************************
// Naval combat subphases.
// ****************************************************************************
TNavalCombatSubPhase = (
NCspChooseSeaArea, // RAC 11.5.2.
NCspNavalAirSupportA, // RAC 11.5.3.
NCspNavalAirSupportD, // RAC 11.5.3.
NCspCommit, // RAC 11.5.4.
NCspSearch, // RAC 11.5.5.
NCspSurprise, // RAC 11.5.6.
NCspIncludeSeaBoxes, // RAC 11.5.5.
NCspIncludeUSUnits, // RAC 13.3.2, US Entry Option #32.
NCspChooseType, // RAC 11.5.7 & 11.5.6.
NCspAirAir, // RAC 11.5.9 & 11.5.6.
NCspAntiAirD, // RAC 11.5.9 & 11.5.6.
NCspNavalAirA, // RAC 11.5.9 & 11.5.6.
NCspAntiAirA, // RAC 11.5.9 & 11.5.6.
NCspNavalAirD, // RAC 11.5.9 & 11.5.6.
NCspSurfaceA, // RAC 11.5.8 & 11.5.6.
NCspSurfaceD, // RAC 11.5.8 & 11.5.6.
NCspASWD, // RAC 11.5.10, 22.4.19, & 11.5.6.
NCspSubA, // RAC 11.5.10 & 11.5.6.
NCspASWA, // RAC 11.5.10, 22.4.19, & 11.5.6.
NCspSubD, // RAC 11.5.10 & 11.5.6.
NCspEndRound, // RAC 11.5.11.
NCspAbortA, // RAC 11.5.11 (voluntary abort by attacker).
NCspAbortD, // RAC 11.5.11 (voluntary abort by defender).
NCspNextRound // RAC 11.5.11.
);
// ****************************************************************************
// Land combat resolution subphases.
// ****************************************************************************
TLandCombatResSubPhase = (
LCRspLandCombatSelection, // RAC 11.16.5.
LCRspDefSnowUnits, // RAC 8.2.7.
LCRspAttSnowUnits, // RAC 8.2.7.
LCRspChooseCombatType, // RAC 11.16.5 & 11.16.6.
LCRspLandCombatResolution, // RAC 11.16.5 & 11.16.6.
LCRspConvertShattered,
LCRspAssignLosses, // RAC 11.16.5.
LCRspHexControl, // RAC 11.11.6 (overruns)
LCRspRetreats, // RAC 11.16.5.
LCRspAdvanceAfterCombat // RAC 11.16.5.
);
_____________________________
Steve Perfection is an elusive goal.
|