RE: demo (Full Version)

All Forums >> [New Releases from Matrix Games] >> World in Flames



Message


Jeffrey H. -> RE: demo (4/25/2009 4:38:07 AM)

Yeah well, fair enough.




willycube -> RE: demo (4/25/2009 3:59:56 PM)

Im sorry too Jeffery H. you didn't quote me and I forgot about that, you were just making a general observation and not butting heads with me, when I went to bed I thought geez was he quoting me or what, thanks for not coming down on me over that deeply appreciate, but read the post I wrote about nato counters etc. I think I am right on that Matrix should have demos at least for some of their games maybe not this one.

Willy




Shannon V. OKeets -> RE: demo (11/10/2009 11:03:38 PM)

Someone had mentioned (perhaps it was in this thread) that doing a demo of the Spanish Civil war would be a good marketing tool. I was less than encouraging to that suggestion.

Today I got an email asking for the set up instructions for Missed the Bus. I know that we found a few glitches in the ADG Setup instructions for that scenario so I just cut out all the scenario specific code for Missed the Bus from the program. Here is what MWIF uses. We had to make several corrections to the spreadsheet (approved by Harry).
// ****************************************************************************
// Fifth scenario
// ****************************************************************************
scMissedTheBus:
begin
case MCIndex of
mcUnitedStates: // Missed the Bus
begin
AddGroupSimple(lUSAEastCoast, ['CS Ranger', 'CS Wasp', 'CS Texas',
'CS Arkansas', 'CS New York', 'CS Pensacola', 'CS Quincy',
'CS Indianapolis', 'CS Louisville', 'CS San Francisco',
'CS Tuscaloosa', 'CS Vincennes', 'CS Wichita', 'CL Cincinnati',
'CL Trenton', 'CL Concord', 'CL Memphis', 'CL Milwaukee',
'CL Philadelphia', 'CL Savannah']);

AddGroupSimple(lUSAWestCoast, ['CS Enterprise', 'CS Lexington',
'CS Saratoga', 'CS Yorktown', 'CS Maryland', 'CS Mississippi',
'CS Oklahoma', 'CS Pennsylvania', 'CS Tennessee',
'CS West Virginia', 'CS Arizona', 'CS California', 'CS Idaho',
'CS Nevada', 'CS New Mexico', 'CS Chicago', 'CS New Orleans',
'CS Portland', 'CS Astoria', 'CS Augusta', 'CS Chester',
'CS Minneapolis', 'CS Northampton', 'CS Salt Lake City',
'CL Brooklyn', 'CL Omaha', 'CL St. Louis', 'CL Boise',
'CL Detroit', 'CL Helena', 'CL Honolulu', 'CL Marblehead',
'CL Nashville', 'CL Phoenix', 'CL Raleigh', 'CL Richmond']);

AddGroupCountry(['United States'], ['HQ Nimitz', 'ME 1', 'MO 1',
'F2 2/1', 'L3 1/1', 'N2 0/2', 'N3 1', 'NT 4', 'SU 3',
'CN 5', 'CN 3', 'CN 1', 'CN 1', 'CN 1', 'CN 1', 'CN 1', 'CN 1',
'PI 4', 'CP 8/6', '[Div]', 'AT 3', 'IN 1', 'EN 1', 'OI 3']);

AddGroupCity('Honolulu', EmptyStr, ['CN 5', 'CN 5', 'CN 5']);

AddGroupCity('Manila', EmptyStr, ['HQ MacArthur', 'CS Houston']);

AddGroupConstructionPool(['CS Wyoming', 'CS Langley', 'SU 1',
'ASW 1']);

AddGroupRepairPool(['CS Colorado', 'CS Béarn']);

AddGroupProduction(tSepOct, 1940, True, ['CS Hornet', '[Div]',
'MA 1']);

AddGroupProduction(tNovDec, 1940, True, ['HQ Eisenhower', 'CN 1']);

AddGroupProduction(tJanFeb, 1941, True, ['CS Massachusetts',
'CL Atlanta']);

AddGroupProduction(tMarApr, 1941, True, ['CS South Dakota',
'CL San Diego', 'CL Juneau', 'CL San Juan']);

AddGroupProduction(tMayJun, 1941, False, ['CS Washington',
'CS North Carolina', '[Down]', 'CS Indiana']);
end;

mcUSSR: // Missed the Bus.
begin
AddGroupPorts('Baltic Sea', ['CS Marat', 'CS Kirov',
'CS Oktyabr''skaya Revolutsiya']);

AddGroupPorts('Black Sea', ['CS Parizhskaya Kommuna',
'CS Krasnyi Kavkaz', 'CS Voroshilov', 'CL Chervona Ukraina',
'CL Comintern', 'CL Krasni Krym']);

AddGroupCity('Ulan-Bator', 'Mongolia', ['[Mongolia]', 'CA 1']);

AddGroupSimple(lEurope, ['HQ Timoshenko', 'IN 2', 'GA 2', 'CA 1',
'F2 1/3', 'L2 1', 'L3 2/1', 'L4 1/1', 'SU 2', 'PI 5', '[Div]',
'AT 3', 'IN 1']);

AddGroupSimple(lEuropeAsia, ['HQ Yeremenko', 'ME 1', 'MO 1',
'IN 4']);

AddGroupSimple(lPacificAsia, ['HQ Zhukov', 'IN 4', 'CA 1', 'SU 2',
'[Div]', 'AT 1', 'CA 1']);

AddGroupSimple(lAny, ['F2 1/1', 'L3 1', 'NT 1', 'CN 2', 'CN 1',
'CN 1', 'PI 2', '[Div]', 'EN 1']);

AddGroupConstructionPool(['CS Chapayev', 'CS Molotov',
'CS Maxim Gorkiy', 'CS Zhelezniakov', 'SU 2']);

AddGroupProduction(tSepOct, 1940, True, ['IN 2', 'F2 1', 'PI 1']);

AddGroupProduction(tNovDec, 1940, True, ['AR 1', 'ME 1']);

AddGroupProduction(tJanFeb, 1941, True, ['AR 1']);
end;

mcChina: // Missed the Bus
begin
if SettingupCommunists then
AddGroupSimple(lCommunist, ['[Communist China]', 'HQ Mao',
'IN 1', 'MI 1', 'GA 1', '[Div]', 'IN 1'])
else
AddGroupCountry(['China'], ['[Nationalist China]', 'HQ Chiang',
'IN 5', 'MI 5', 'GA 2', 'CA 2', 'F2 1', 'PI 1', 'AT 1', '[Div]',
'IN 1', '[China]', 'OI 1']);
end;

mcItaly: // Missed the Bus
begin
AddGroupCountry(['Italy', 'Albania'], ['HQ Graziani', 'ME 1',
'MO 1', 'IN 3', 'MI 2', 'GA 1', 'MT 1', 'CS Guilio Cesare',
'CS Vittorio Veneto', 'CS Conte Di Cavour', 'CS Littorio',
'CS Duca D''Aosta', 'CS Garibaldi', 'CS Trento', 'CS Zara',
'CS Abruzzi', 'CS Bolzano', 'CS Eugenio Di Savoia', 'CS Fiume',
'CS Gorizia', 'CS Pola', 'CS San Giorgio', 'CS Trieste',
'CL Cadorna', 'CL Guissano', 'CL Montecuccoli', 'CL Attendolo',
'CL Bande Nere', 'CL Barbiano', 'CL Bari', 'CL Colleoni',
'CL Diaz', 'CL Taranto', 'NT 2', 'SU 3', 'CN 7', '[Div]', 'AT 1',
'FR 1']);

AddGroupCountry(['Libya'], ['IN 1', 'GA 1', 'TE 2', '[Div]', 'AT 2',
'IN 1', 'FT 1']);

AddGroupCountry(['Ethiopia', 'Italian Somaliland'], ['IN 1',
'TE 2', '[Div]', 'SP 1']);

AddGroupSimple(lEurope, ['HQ Balbo', 'MO 1', 'F2 3/2', 'L2 1',
'L3 1/1', 'N2 1', 'PI 6', '[Div]', 'MT 1', 'OI 1']);
// French denotes captured French sub.
AddGroupSimple(lEuropeMed, ['[French]', 'SU 1']);

AddGroupConstructionPool(['CS Roma', 'CS Impero', 'CL Regolo',
'NT 1', 'SU 1']);

AddGroupRepairPool(['CS Caio Duilio', 'CS Andrea Doria']);

AddGroupProduction(tSepOct, 1940, True, ['CS Aquila']);

AddGroupProduction(tNovDec, 1940, True, ['CL Africano', 'PI 1']);

AddGroupProduction(tMarApr, 1941, True, ['CL Augusto', 'PI 1']);
end;

mcFrance: // Missed the Bus
begin
AddGroupCountry(['Gabon', 'Chad', 'Ubangi-Shari', 'Cameroons',
'French Somaliland'], ['[Free France]', 'CS Paris', 'CS Courbet',
'AT 1', '[Div]', 'IN 1']);

AddGroupConstructionPool(['[Free France]', 'CS Jean Bart II']);

AddGroupRepairPool(['[Free France]', 'CS Tourville', 'CS Lorraine',
'CS Duguay Trouin', 'CS Duquesne', 'CS Suffren']);
end;

mcJapan: // Missed the Bus
begin
FormosaMilitiaOK := True;

AddGroupCountry(['Japan'], ['HQ Yamamoto', 'MI 2', 'MA 2', 'F2 1',
'A3 0/1', 'PI 1', '[Div]', 'AT 1', 'EN 1']);

FormosaMilitiaOK := False;

AddGroupCountry(['Manchuria', 'Korea'], ['HQ Terauchi', 'MO 1',
'MI 1', 'GA 1', 'CA 1', 'TE 2']);

FormosaMilitiaOK := True;

AddGroupCountry(['China', 'Hainan'], ['HQ Umezu', 'IN 5', 'MI 2',
'GA 3', 'F2 2/1', 'L2 2/2', 'L3 1', 'PI 5', '[Div]', 'AT 3',
'IN 2']);

AddGroupSimple(lPacificAsia, ['IN 1', 'N2 2', 'N3 1', 'PI 3',
'CS Akagi', 'CS Hiryu', 'CS Kaga', 'CS Ryujo', 'CS Soryu',
'CS Hosho', 'CS Fuso', 'CS Hiei', 'CS Ise', 'CS Kongo',
'CS Nagato', 'CS Haruna', 'CS Hyuga', 'CS Kirishima', 'CS Mutsu',
'CS Yamashiro', 'CS Atago', 'CS Kako', 'CS Mogami', 'CS Myoko',
'CS Tone', 'CS Aoba', 'CS Ashigara', 'CS Chikuma', 'CS Chokai',
'CS Furutaka', 'CS Haguro', 'CS Idzumo', 'CS Kinugasa',
'CS Kumano', 'CS Maya', 'CS Mikuma', 'CS Nachi', 'CS Suzuya',
'CS Takao', 'CL Katori', 'CL Natori', 'CL Oi', 'CL Sendai',
'CL Tenryu', 'CL Yura', 'CL Abukuma', 'CL Isuzu', 'CL Jintsu',
'CL Kashima', 'CL Kinu', 'CL Kiso', 'CL Kitakami', 'CL Kuma',
'CL Nagara', 'CL Naka', 'CL Tama', 'CL Tatsuta', 'CL Yubari',
'NT 3', 'AM 1', 'SU 2',
// ****************************************************************************
// CN 27 => 6 + 5 + 4 + 4 + 3 + (1 x 5)
// ****************************************************************************
'CN 6', 'CN 5', 'CN 4', 'CN 4', 'CN 3', 'CN 1', 'CN 1', 'CN 1',
'CN 1', 'CN 1', 'CP 10/6', '[Div]', 'MA 1',
'OF 1', 'OI 1', 'CL Ping Hai']);

AddGroupConstructionPool(['CS Yamato', 'CS Shokaku', 'CS Zuikaku',
'CS Chitose', 'CS Chiyoda', 'CS Ryuho', 'CS Shoho', 'SU 1']);

AddGroupRepairPool(['CS Asama']);

AddGroupProduction(tSepOct, 1940, True, ['CS Taiyo', 'CN 2',
'CP 1/1']);

AddGroupProduction(tNovDec, 1940, True, ['CS Kaiyo', '[Up]',
'CL Kashii', 'CN 2', 'CP 1/1']);

AddGroupProduction(tJanFeb, 1941, False, ['CS Zuiho', '[Down]',
'CS Unyo', 'AM 1', 'CN 2']);

AddGroupProduction(tMarApr, 1941, True, ['CS Junyo', 'CS Hiyo']);

AddGroupProduction(tMayJun, 1941, True, ['CS Musashi', 'CS Chuyo']);

end;

mcGermany: // Missed the Bus
begin
AddGroupCountry(['Poland', 'East Prussia'], ['[Germany]', 'IN 1',
'MI 1', 'GA 1', '[German SS]', 'ME 1', 'IN 1']);

AddGroupCountry(['Germany', 'Austria'], ['[Germany]', 'IN 5',
'MI 2', 'GA 3', 'PA 1', 'F2 1/1', 'L3 1/1', 'A3 1', 'PI 3',
'CS Bismarck', 'CS Gneisenau', 'CS Schlesien', 'CS Scharnhorst',
'CS Schleswig-Holstein', 'CS Admiral Hipper', 'CS Deutschland',
'CS Prinz Eugen', 'CS Admiral Scheer', 'CL Nürnberg', 'CL Emden',
'CL Köln', 'CL Leipzig', 'CX Atlantis', 'CX Komet', 'CX Orion',
'CX Pinguin', 'CX Thor', 'CX Widder', 'NT 1', 'SU 3', 'CN 11',
'OI 4', 'FT 3']);

AddGroupCountry(['Norway', 'Denmark'], ['[Germany]', 'GA 1', 'MT 1',
'N3 1', 'PI 1']);

AddGroupCountry(['Belgium', 'Netherlands', 'Free France',
'NOT Vichy France'], ['[Germany]', 'HQ Rundstedt', 'HQ von Bock',
'HQ von Leeb', 'AR 2', 'ME 2', 'MO 3', 'IN 7', 'MI 1', 'GA 1',
'F2 3/2', 'F3 1/1', 'L2 3/1', 'L3 4/2', 'PI 11', '[Div]', 'AT 5',
'IN 2', 'AR 1', 'EN 1']);

AddGroupCountry(['Vichy France'],
['[Vichy France]', 'IN 2', 'NT 1', 'SU 2', 'CN 9',
'CS Jean Bart', 'CS Foch', 'CS Primaguet', 'CS Strasbourg',
'CS Algérie', 'CS Colbert', 'CS Dupleix', 'CL Jeanne D''Arc',
'CL Marseillaise', 'CL Emile Bertin', 'CL Georges Leygues',
'CL Gloire', 'CL Jean de Vienne', 'CL La Galissonnière',
'CL Montcalm']);

AddGroupCountry(['Algeria', 'Morocco', 'Tunisia'],
['[Vichy France]', 'MT 1']);

AddGroupCountry(['Syria'], ['[Vichy France]', 'IN 1']);

AddGroupCity('Hanoi', EmptyStr, ['[Vichy France]',
'CS Lamotte-Picquet']);

AddGroupConstructionPool(['CS Graf Zeppelin', 'CS Seydlitz', 'SU 2',
'[Vichy France]', 'CS Clemenceau', 'CS Gascogne']);

AddGroupRepairPool(['[Germany]', 'CX Hansa', 'CX Kormoran',
'CX Michel', 'CX Stier',
'CS Harald Haarfagre', 'CS Tordenskjold', // Norway
'CS Niels Juel', 'CS Peder Skram', // Denmark
'[Vichy France]', 'CS Provence', 'CS Dunkerque', 'CS Richelieu']);

AddGroupProduction(tSepOct, 1940, False, ['[Germany]', 'AR 1',
'L2 1', 'PI 1']);

AddGroupProduction(tNovDec, 1940, False, ['[Germany]', 'AR 1',
'MT 1', 'L3 0/1', 'PI 1']);

AddGroupProduction(tJanFeb, 1941, False, ['HQ Rommel',
'CS Tirpitz']);
end;

mcCommonwealth: // Missed the Bus
begin
AddGroupCountry(['United Kingdom'], ['[United Kingdom]', 'HQ Gort',
'ME 1', 'MO 2', 'MI 2', 'F2 2/2', 'L2 0/2', 'L3 1/3', 'N2 1/2',
'A3 1', 'PI 5', '[Div]', 'AT 2', 'IN 1', 'CS Terror', 'CS Erebus',
'[Commonwealth]', 'OI 1']);

AddGroupCountry(['Egypt', 'Palestine'], ['[United Kingdom]',
'HQ Wavell', 'MO 1', 'IN 1', 'F2 1', 'L3 1', 'PI 2', 'TE 2',
'[Commonwealth]', 'OI 1']);

AddGroupSimple(lEurope, ['[United Kingdom]', 'CS Ark Royal',
'CS Furious', 'CS Illustrious', 'CS Argus', 'CS Eagle', 'CS Hood',
'CS Nelson', 'CS Resolution', 'CS Revenge', 'CS Warspite',
'CS Barham', 'CS Malaya', 'CS Ramillies', 'CS Renown',
'CS Repulse', 'CS Rodney', 'CS Royal Sovereign', 'CS Valiant',
'CS Edinburgh', 'CS Fiji', 'CS Manchester', 'CS Norfolk',
'CS Southampton', 'CS Belfast', 'CS Birmingham', 'CS Berwick',
'CS Cornwall', 'CS Cumberland', 'CS Devonshire', 'CS Dorsetshire',
'CS Exeter', 'CS Glasgow', 'CS Gloucester', 'CS Newcastle',
'CS Sheffield', 'CS Sussex', 'CS York', 'CL Ajax', 'CL Arethusa',
'CL Bonaventure', 'CL Ceres', 'CL Curacoa', 'CL Durban',
'CL Emerald', 'CL Aurora', 'CL Cairo', 'CL Calcutta',
'CL Caledon', 'CL Calypso', 'CL Capetown', 'CL Caradoc',
'CL Cardiff', 'CL Colombo', 'CL Coventry', 'CL Curlew',
'CL Delhi', 'CL Despatch', 'CL Dauntless', 'CL Diomede',
'CL Dragon', 'CL Dunedin', 'CL Enterprise', 'CL Galatea',
'CL Naïad', 'CL Neptune', 'CL Orion', 'CL Penelope',
'TE 2',
'[Commonwealth]', 'ASW 1',
'[Australia]', 'CL Perth',
'[New Zealand]', 'CL Achilles', 'CL Leander',
'[Netherlands]', 'CL Jacob van Heemskerck']);

AddGroupCountry(['Australia'], ['[Australia]', 'MI 1']);

AddGroupCountry(['Burma', 'India'], ['[India]', 'MI 1', 'TE 1']);

AddGroupCountry(['Malaya'], ['[India]', 'IN 1']);

AddGroupCountry(['Netherlands East Indies'],
['[Netherlands East Indies]', 'MI 1', 'TE 1', '[Netherlands]',
'CS De Ruyter', 'CS Java', 'CS Sumatra', 'CL Tromp']);

AddGroupSimple(lPacificAsia, ['[United Kingdom]',
// ****************************************************************************
// Instead of Inf in the DIV column the entry is 1. Therefore it's ignored.
// '[Div]', 'IN 1',
// ****************************************************************************
'CS Hawkins', 'CS Hermes', 'CS Kent', 'CS Liverpool', 'CL Danae',
'[Australia]', 'CS Australia', 'CS Shropshire', 'CS Canberra',
'CL Adelaide', 'CL Hobart', 'CL Sydney',
'[Commonwealth]', 'OI 1']);
// ****************************************************************************
// 3x8 + 3x5 + 5x3 + 14x2 + 11x1 = 93 convoys
// ****************************************************************************
AddGroupSimple(lAny, ['[United Kingdom]', 'IN 1', 'GA 1', 'NT 4',
'SU 2', 'CP 9/6', 'TE 1', '[Div]', 'AT 1', 'EN 1',
'[Commonwealth]', 'CN 8', 'CN 8', 'CN 8', 'CN 5', 'CN 5', 'CN 5',
'CN 3', 'CN 3', 'CN 3', 'CN 3', 'CN 3', 'CN 2', 'CN 2', 'CN 2',
'CN 2', 'CN 2', 'CN 2', 'CN 2', 'CN 2', 'CN 2', 'CN 2', 'CN 2',
'CN 2', 'CN 2', 'CN 2', 'CN 1', 'CN 1', 'CN 1', 'CN 1', 'CN 1',
'CN 1', 'CN 1', 'CN 1', 'CN 1', 'CN 1', 'CN 1', 'OI 1',
'[Norway]', 'NT 1']);

AddGroupConstructionPool(['[United Kingdom]', 'CS Indomitable',
'CS Anson', 'CS Howe', 'CS Nigeria', 'CL Cleopatra',
'CL Euryalus', 'CL Scylla', 'SU 1']);

AddGroupRepairPool(['[United Kingdom]', 'CS Queen Elizabeth',
'CS London', 'CS Frobisher', 'CS Suffolk']);

AddGroupProduction(tSepOct, 1940, False, [ '[India]', 'MO 1',
'[United Kingdom]', '[Div]', 'AR 1', 'CP 1/1', 'CS Formidable',
'CL Dido', 'CL Phoebe', '[Down]', 'CS Kenya', 'CS Mauritius',
'CL Charybdis','CL Sirius',
'[Up]', '[Commonwealth]', 'ASW 1']);

AddGroupProduction(tNovDec, 1940, True, ['[United Kingdom]', 'N4 1',
'PI 1', '[New Zealand]', 'CS Gambia']);

AddGroupProduction(tJanFeb, 1941, False, ['[United Kingdom]',
'CS King George V', 'CS Trinidad']);

AddGroupProduction(tMarApr, 1941, False, ['[United Kingdom]',
'CS Prince of Wales', 'CS Duke of York', 'CL Hermione', '[Down]',
'CS Jamaica']);

AddGroupProduction(tMayJun, 1941, False, ['[United Kingdom]',
'CS Victorious', 'CP 1/1']);
end;
end;
end;

===
Chit draws. The tension are taken from the entry pool. So Germany has 6 chits in entry after the tension is removed.
scMissedTheBus:
begin
DrawEntryG(7);
DrawTensionG(1);
DrawEntryJ(3);
DrawTensionJ(1);
end;
===
Weather roll of zero means it has to be rolled at teh start of the scenario.
// ****************************************************************************
// scMissedTheBus.
// ****************************************************************************
(Name: rsMissedTheBus; MaxPlayers: 6; Maps: 4;
StartingLegalMajorCountries: [mcGermany..mcUSSR]; TotalCountries: 9;
Initiative: sdAxis; InitiativeBonus: iAxis1; StartingSide: sdNone;
Intelligence: (2, 1, 1, 0, 0, 2, 0, 0, 0); WeatherMod: 0; WeatherRoll: 0;
StartYear: 1940; StartTurn: tJulAug; EndYear: 1945; EndTurn: tJulAug;
RegSetupOrder: (mcUnitedStates, mcUSSR, mcChina, mcItaly, mcFrance,
mcJapan, mcGermany, mcCommonwealth, mcVichyFrance);
===
Can align - this is for the CW.
function CheckIcelandCW: Boolean;
begin
Result := (CurrScenario in [scMissedTheBus, scLebensraum]) and
((C = Iceland) or
(C = Greenland));
end;
==
US Entry options chosen.
scMissedTheBus:
begin
USEntry.OptionsChosen := [useChineseBuildAC, useInternFrenchCV,
useResourcesChina, useResourcesWAllies];
===
Major Power groups. You will have to read the code/logic for this one.

scMissedTheBus..scDarkness, scGlobalWar:
begin
case PlayerCount of
2:
begin
if CurrScenario in [scGlobalWar, scDarkness] then
MajorPowerGroups.AddGroup([mcGermany, mcItaly, mcJapan])
else
MajorPowerGroups.AddGroup([mcGermany, mcItaly, mcJapan,
mcVichyFrance]);

MajorPowerGroups.AddGroup([mcChina, mcCommonwealth, mcFrance,
mcUnitedStates, mcUSSR]);
end;

3:
begin
if CurrScenario in [scGlobalWar, scDarkness] then
MajorPowerGroups.AddGroup([mcGermany, mcItaly, mcJapan])
else
MajorPowerGroups.AddGroup([mcGermany, mcItaly, mcJapan,
mcVichyFrance]);

MajorPowerGroups.AddGroup([mcChina, mcCommonwealth,
mcUnitedStates]);
MajorPowerGroups.AddGroup([mcFrance, mcUSSR]);
end;

4:
begin
if CurrScenario in [scGlobalWar, scDarkness] then
MajorPowerGroups.AddGroup([mcGermany])
else MajorPowerGroups.AddGroup([mcGermany, mcVichyFrance]);

MajorPowerGroups.AddGroup([mcItaly, mcJapan]);
MajorPowerGroups.AddGroup([mcChina, mcCommonwealth,
mcUnitedStates]);
MajorPowerGroups.AddGroup([mcFrance, mcUSSR]);
end;

5:
begin
if CurrScenario in [scGlobalWar, scDarkness] then
MajorPowerGroups.AddGroup([mcGermany])
else MajorPowerGroups.AddGroup([mcGermany, mcVichyFrance]);

MajorPowerGroups.AddGroup([mcItaly, mcJapan]);
MajorPowerGroups.AddGroup([mcCommonwealth]); // MasterMWIF.
MajorPowerGroups.AddGroup([mcChina, mcUnitedStates]);
MajorPowerGroups.AddGroup([mcFrance, mcUSSR]);
end;

6:
begin
if CurrScenario in [scGlobalWar, scDarkness] then
MajorPowerGroups.AddGroup([mcGermany])
else MajorPowerGroups.AddGroup([mcGermany, mcVichyFrance]);

MajorPowerGroups.AddGroup([mcItaly]);
MajorPowerGroups.AddGroup([mcJapan]);
MajorPowerGroups.AddGroup([mcCommonwealth]); // MasterMWIF.
MajorPowerGroups.AddGroup([mcChina, mcUnitedStates]);
MajorPowerGroups.AddGroup([mcFrance, mcUSSR]);
end;
end;
===
// No Maginot Line forts after May/Jun 1940
===
scMissedTheBus:
begin
Add(USSR, Germany, 5, 2); // USSR and Germany trade agreement
Add(Germany, USSR, 0, 0, 2); // Finland & Rumania
Add(Hungary, Germany, 1); // Hungary and Germany trade agreement
Add(Iraq, Germany, 1, 1); // Iraqi oil (through Syria)
Add(UnitedStates, Japan, 4, 2); // USA and Japan trade agreement
Add(Japan, UnitedStates, 0, 0, 1);
Add(Netherlands, Japan, 2, 2); // Netherlands trade agreement
Add(Netherlands, Commonwealth, 2, 2);
Add(Persia, Commonwealth, 1, 1); // Persia and CW trade agreement
Add(Rumania, Germany, 2, 2); // Rumania and Germany trade agreement
Add(Rumania, Italy, 1, 1); // Rumania and Italy trade agreement
Add(Spain, Germany, 1); // Spain and Germany trade agreement
Add(Sweden, Germany, 3); // Sweden and Germany trade agreement
Add(Turkey, Germany, 1); // Turkey and Germany trade agreement
Add(Venezuela, Commonwealth, 3, 3); // Venezuela trade agreement
Add(Venezuela, UnitedStates, 3, 3);
end;
===
Political Relationships.
scMissedTheBus:
begin
// ****************************************************************************
// Balkans.
// ****************************************************************************
ChangeParentCountry(rsHungary, [rsTransylvania]);
ChangeParentCountry(rsBulgaria, [rsSouthDobruja]);
// ****************************************************************************
// Italy.
// ****************************************************************************
AddAligned(Italy, [rsEritrea, rsItalianSomaliland, rsLibya]);
AddConquered(Italy, [rsEthiopia]);
AddWar(Italy, [rsCommonwealth]);
// ****************************************************************************
// Commonwealth.
// ****************************************************************************
AddAligned(Commonwealth, [rsBurma, rsMalaya, rsBelgianCongo, rsNorway,
rsNetherlands, rsNetherlandsEastIndies]);
AddForcePool(Commonwealth, [rsBurma]);
// ****************************************************************************
// Vichy France.
// ****************************************************************************
Countries.CreateVichyFrance(Germany);
ChangeParentCountry(rsVichyFrance, [rsVichyFrance]);
AddAligned(VichyFrance, [rsAlgeria, rsDahomey, rsFrenchGuinea,
rsFrenchGuyana, rsFrenchSudan, rsIvoryCoast, rsMadagascar, rsMauritania,
rsMorocco, rsNigerColony, rsSenegal, rsTogo, rsTunisia, rsUpperVolta,
rsSyria, rsFrenchIndoChina]);
ChangeForVichy; // Handles most of the changes except those below.
GDChangeControl(rsVichyFrance, [rsCorsica]);
// ****************************************************************************
// Germany.
// ****************************************************************************
AddConquered(Germany, [rsBelgium, rsDenmark, rsNetherlands, // rsFrance,
rsNorway, rsPoland]);
GDChangeControl(rsCommonwealth, [rsFaeroes]);
GDChangeControl(rsVichyFrance, [rsFrenchPolynesia, rsMarquesasIslands,
rsGuadeloupe, rsMartinique, rsStPierreMiquelon, rsPondicherry,
rsReunion, rsComorosIslands, rsFrenchSouthernAntarctic,
rsScatteredIslandsIndianOcean]);
AddWar(Germany, [rsCommonwealth]);
// ****************************************************************************
// Free France.
// ****************************************************************************
AddAligned(France, [rsCameroons, rsChad, rsMiddleCongo,
rsFrenchSomaliland, rsGabon, rsUbangiShari]);
Countries.RenameFrance;
ChangeFranceHomeCountry; // To Gabon.
GDChangeControl(rsFreeFrance, [rsNewCaledonia]);
AddWar(Germany, [rsFreeFrance]);
AddWar(Italy, [rsFreeFrance]);
// ****************************************************************************
// Belgium.
// ****************************************************************************
ChangeBelgiumHomeCountry; // To UK.
// ****************************************************************************
// Netherlands.
// ****************************************************************************
ChangeNetherlandsHomeCountry; // To NEI.
// ****************************************************************************
// USSR.
// ****************************************************************************
ChangeParentCountry(rsUSSR, [rsFinnishBorderlands, rsBessarabia]);
GDChangeControl(rsUSSR, [rsEasternPoland]);
AddConquered(USSR, [rsEstonia, rsLatvia, rsLithuania]);
// ****************************************************************************
// USA.
// ****************************************************************************
AddAligned(UnitedStates, [rsPhilippines]);
// ****************************************************************************
// Japan.
// ****************************************************************************
AddAligned(Japan, [rsKorea, rsManchuria]);
AddForcePool(Japan, [rsKorea, rsManchuria]);
AddWar(Japan, [rsChina]);
end;
===
procedure PickVichyUnits;
begin
case CurrScenario of
scMissedTheBus: // 'IN 2', 'NT 1', 'SU 2', 'MT 1', 'IN 1'
begin
TransferLandUnit(utInfantry, France, VichyFrance);
TransferLandUnit(utInfantry, France, VichyFrance);
TransferShip('TRS', France, VichyFrance);
TransferShip('Sub', France, VichyFrance);
TransferShip('Sub', France, VichyFrance);
TransferLandUnit(utMountain, France, VichyFrance);
TransferLandUnit(utInfantry, France, VichyFrance);
end;
===
scMissedTheBus:
begin
TransferShip(rsBearn, France, UnitedStates);
TransferShip('TRS', Norway, Commonwealth);
TransferShip(rsNielsJuel, Denmark, Germany);
TransferShip(rsPederSkram, Denmark, Germany);
TransferShip(rsHaraldHaarfagre, Norway, Germany);
TransferShip(rsTordenskjold, Norway, Germany);
TransferShip('Sub', France, Italy);
TransferShip(rsJeanBart, France, VichyFrance);
TransferShip(rsFoch, France, VichyFrance);
TransferShip(rsPrimaguet, France, VichyFrance);
TransferShip(rsStrasbourg, France, VichyFrance);
TransferShip(rsAlgerie, France, VichyFrance);
TransferShip(rsColbert, France, VichyFrance);
TransferShip(rsDupleix, France, VichyFrance);
TransferShip(rsJeanneDArc, France, VichyFrance);
TransferShip(rsMarseillaise, France, VichyFrance);
TransferShip(rsEmileBertin, France, VichyFrance);
TransferShip(rsGLeygues, France, VichyFrance);
TransferShip(rsGloire, France, VichyFrance);
TransferShip(rsJeandeVienne, France, VichyFrance);
TransferShip(rsGalissonniere, France, VichyFrance);
TransferShip(rsMontcalm, France, VichyFrance);
TransferShip(rsLamottePicquet, France, VichyFrance);
TransferShip(rsClemenceau, France, VichyFrance);
TransferShip(rsGascogne, France, VichyFrance);
TransferShip(rsProvence, France, VichyFrance);
TransferShip(rsDunkerque, France, VichyFrance);
TransferShip(rsRichelieu, France, VichyFrance);
TransferShip(rsPingHai, NationalistChina, Japan);
PrepareMoveForcePool(Netherlands.FindNamedUnit(rsSumatra));
PrepareMoveForcePool(Netherlands.FindNamedUnit(rsJava));
PrepareMoveForcePool(Netherlands.FindNamedUnit(rsDeRuyter));
PrepareMoveForcePool(Netherlands.FindNamedUnit(rsHeemskerck));
PrepareMoveForcePool(Netherlands.FindNamedUnit(rsTromp));
// ****************************************************************************
// Select enough units from the force pools for setting up Vichy France.
// ****************************************************************************
PickVichyUnits;
RecoverFrenchUnits;
end;
===
Here is another one where you will have to read the code.

procedure RecoverFrenchUnits;
// ****************************************************************************
// This routine takes half of the French units from the Conquered Pool and
// places them in the Force Pool from which the French draw their setup units
// and future builds.
// ****************************************************************************
var
UTypeCounter: TUnitType;
Total: Integer;
Counter: Integer;
LibUnit: TUnit;

procedure RecoverUnitToForcePool(const U: TUnit);
begin
// ****************************************************************************
// This routine prepares the record log entry for moving a unit from the
// Conquered pool back into the ForcePool
// ****************************************************************************
Inc(EntryNumber);
CountryNumber := U.Country;
UnitNumber := U.ID;
OldLocate.UnitPlace := U.UnitPlace;
OldLocate.Column := U.Column;
OldLocate.Row := U.Row;
OldLocate.ProdTurn := U.ProductionTurn;
NewLocate.UnitPlace := upForcePool;
NewLocate.Column := 0;
NewLocate.Row := 0;
NewLocate.ProdTurn := TTurn(0);
SetGRL(RLID_LiFP);
UseGRL(RLID_LiFP);
end;

procedure GetCount;

procedure Check(var U: TUnit);
// ****************************************************************************
// Unit is moved to the FutureForcePool if it is still in the game but it is
// before its time.
// ****************************************************************************
begin
if U.BeenRemoved then Exit;

if U.Year > Game.Date.Year then PrepareMoveFutureForcePool(U)
else if U.UnitType in LandUnitSet then
begin // Take all the division sized units
if TLandUnit(U).Small and
(not (U.UnitType in ArtillerySet + EngineerSet)) then
RecoverUnitToForcePool(U);
end;
end;

begin
// ****************************************************************************
// GetCount.
// ****************************************************************************
France.CUnits.ForEach(@Check);

if UTypeCounter = utMilitia then
Inc(Total, France.CUnits.UnitCount(UFilterReserveMilitia))
else
Inc(Total, France.CUnits.UnitCount(UFilterConqueredUnitType));
end;

begin
// ****************************************************************************
// RecoverFrenchUnits.
// ****************************************************************************
Inc(TransNumber);

for UTypeCounter := Low(TUnitType) to High(TUnitType) do
begin
Total := 0;
UFUnitType := UTypeCounter;
GetCount;

if Total > 0 then
begin
// ****************************************************************************
// Recover half (rounded up) of the conquered units. Militia will be found in
// the Reserve pool and all other unit types will be in the Conquered Pool. All
// the randomly selected units are placed in the Force Pool.
// ****************************************************************************
for Counter := 1 to Succ(Total) div 2 do
begin
if UTypeCounter = utMilitia then
PrepareMoveForcePool(France.PickUnitConquered(UFilterReserveMilitia))
else
begin
LibUnit := France.PickUnitConquered(UFilterConqueredUnitType);
RecoverUnitToForcePool(LibUnit);
end;
end;
end;
end;
end;
===
scMissedTheBus:
begin
NeutralityPacts.Add(Germany, USSR, tSepOct, 1939); // German/USSR pact.
Pact := NeutralityPacts.FindPact(Germany, USSR);
NeutralityPacts.AddChits(Pact, Germany, 10, 0); // 10 off and 0 def.
NeutralityPacts.AddChits(Pact, USSR, 1, 4); // 1 off and 4 def.
end;
===

And then you're ready to start!

I think this makes my point about not wanting to create additional scenarios.







Froonp -> RE: demo (11/11/2009 12:39:07 AM)

quote:

ORIGINAL: Shannon V. OKeets

Someone had mentioned (perhaps it was in this thread) that doing a demo of the Spanish Civil war would be a good marketing tool. I was less than encouraging to that suggestion.

More than just listing the various units for a Spanish Civil War scenario, what would be a pain would be to add code for the unavoidable special rules that it would have.




Page: <<   < prev  1 [2]

Valid CSS!




Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI
1.765625