
Major flaw in usage of saved oil allocated to production all versions
Moderator: Shannon V. OKeets
- Majorball68
- Posts: 791
- Joined: Thu Nov 21, 2013 11:47 pm
Major flaw in usage of saved oil allocated to production all versions
Have reported this already sometime ago when a CW player was having full production every turn despite my sub strategy and destroying his convoy network. Saved oil sent for production is NOT expended. You can try this on any save file. Take a count of oil available after allocation to factories, do not look at Production planning at all during builds. Play through to next turn and by magic you still have all your all which was not consumed by a factory. We no longer save between Axis and Allied Final PP as it screws with BP and saved oil on save reload. Other player gives instructions for Final PP and then Axis do builds before sending to the other player and reloading save in between Axis and Allied PP screws with saved oil and BP allocations. On the save attached Russian allocates 6 saved oil to production, only has 1 fixed oil in Perm and allocates 6 saved oil to production. On the screenshot attached USSR allocates 6 saved oil to production so the total saved goes from 39 to 33. Production is 28 BP. At start of next turn USSR oil should be 33, however you will find it will still be 39. This will take the screenshots in the next 2 posts show.


- Attachments
-
- USSRFPP.jpg (254.2 KiB) Viewed 566 times
- Majorball68
- Posts: 791
- Joined: Thu Nov 21, 2013 11:47 pm
RE: Major flaw in saved oil system for allocated to production all versions
This shows USSR Production at 28 BP BP oil was used.


- Attachments
-
- USSRBP.jpg (189.96 KiB) Viewed 566 times
- Majorball68
- Posts: 791
- Joined: Thu Nov 21, 2013 11:47 pm
RE: Major flaw in saved oil system for allocated to production all versions
Start of next turn, USSR magically still has 39 saved oil.


- Attachments
-
- Notconsumed.jpg (336.58 KiB) Viewed 566 times
- Joseignacio
- Posts: 3114
- Joined: Fri May 08, 2009 11:25 am
- Location: Madrid, Spain
RE: Major flaw in saved oil system for allocated to production all versions
In the last screenshot the production is only 17, which is the result of producing 13 resources at a PM of 1.25.
In the first one the production previous to spending saving oil was 13 as well, so it seems the game undid the assignation of 6 resources to production, which would match with having 39 (if i understand well the accounts) also, in the Saved oil Points> Production it appears 0 extra (apart from Perm's) oil resources used for production.
Maybe you didn't press the button of recompute in case it's necessary or other similar issue?
The production multiple is different as well, 1.5 in the first case, 1.25 in the second. [&:]
In the first one the production previous to spending saving oil was 13 as well, so it seems the game undid the assignation of 6 resources to production, which would match with having 39 (if i understand well the accounts) also, in the Saved oil Points> Production it appears 0 extra (apart from Perm's) oil resources used for production.
Maybe you didn't press the button of recompute in case it's necessary or other similar issue?
The production multiple is different as well, 1.5 in the first case, 1.25 in the second. [&:]
RE: Major flaw in saved oil system for allocated to production all versions
ORIGINAL: Joseignacio
The production multiple is different as well, 1.5 in the first case, 1.25 in the second. [&:]
Well given that the last screen shot is right at the start of a new turn, Impulse #1 and Allied, it's not possible for the Axis to have conducted a Land Combat in the USSR yet. When they do, in a later Impulse, the USSR Production Multiple will go back to 1.5.
Brian.
- Joseignacio
- Posts: 3114
- Joined: Fri May 08, 2009 11:25 am
- Location: Madrid, Spain
RE: Major flaw in saved oil system for allocated to production all versions
Yes, that should be shouldn't it?
On one side I am used to the newer versions of WIF (no MWIF), where the PM doesn't depend on that, on the other side I thought it could have been a mistake of a different turn on his part. But it makes sense.
On one side I am used to the newer versions of WIF (no MWIF), where the PM doesn't depend on that, on the other side I thought it could have been a mistake of a different turn on his part. But it makes sense.
- Majorball68
- Posts: 791
- Joined: Thu Nov 21, 2013 11:47 pm
RE: Major flaw in saved oil system for allocated to production all versions
You are correct Brian. I showed the start of the next turn to show the oil had not been consumed only. USSR had full production of 28BP at the build stage of last turn indicating the oil did in fact go to factories. There is definitely something wrong with saved oil not being consumed when sent to factories.ORIGINAL: BrianJH
ORIGINAL: Joseignacio
The production multiple is different as well, 1.5 in the first case, 1.25 in the second. [&:]
Well given that the last screen shot is right at the start of a new turn, Impulse #1 and Allied, it's not possible for the Axis to have conducted a Land Combat in the USSR yet. When they do, in a later Impulse, the USSR Production Multiple will go back to 1.5.
Brian.
- Joseignacio
- Posts: 3114
- Joined: Fri May 08, 2009 11:25 am
- Location: Madrid, Spain
RE: Major flaw in saved oil system for allocated to production all versions
I'm not sure why but I don't have the problem in my saved games. I will however, pay more attention to it.
- Majorball68
- Posts: 791
- Joined: Thu Nov 21, 2013 11:47 pm
RE: Major flaw in saved oil system for allocated to production all versions
ORIGINAL: gw15
I'm not sure why but I don't have the problem in my saved games. I will however, pay more attention to it.
I don't think it is something that is obvious unless you look out for it. Oil isn't usually an issue for Allies but in a number of games I have been tracking it.
-
Shannon V. OKeets
- Posts: 22165
- Joined: Wed May 18, 2005 11:51 pm
- Location: Honolulu, Hawaii
- Contact:
RE: Major flaw in saved oil system for allocated to production all versions
I'm not sure about sending saved game files (Solitaire mode) between players anywhere around the Production phase.ORIGINAL: Majorball68
ORIGINAL: gw15
I'm not sure why but I don't have the problem in my saved games. I will however, pay more attention to it.
I don't think it is something that is obvious unless you look out for it. Oil isn't usually an issue for Allies but in a number of games I have been tracking it.
The program does a lot of housekeeping at the end of the Production phase, including saving oil and build points. It also does stuff with newly created temporary units (e.g., pilots, offensive chits, fortifications). TO support NetPlay, the program stores information about what each player did during the Production phase, and once both players have completed the phase, it goes through all the housekeeping tasks.
For those who have nothing better to do with their lives, below is (most of) the code for processing the end of the Production phase.
===
begin // TPhaseProduction.Terminate.
PhaseTerminated := True; // So the following code is only executed once.
RankedAxisCountries.Sort;
RankedAlliedCountries.Sort;
Countries.SetLeaders;
// ****************************************************************************
// Convert captured ports and factories to repaired, if they contain an
// engineer.
// ****************************************************************************
if OptRules.ConstructionEngineers then
begin
for RevStckIndx := ChangedTerrain.Count - 1 downto 0 do
begin
RevStckUni := TChangedTerrainRecord(ChangedTerrain.Item[RevStckIndx]);
CheckCaptured_Record(RevStckUni);
end;
CheckCaptured_Repair;
end;
// ****************************************************************************
// Clear the major power's list of builds for this turn.
// ****************************************************************************
for IJ := 0 to MajorPowers.Count - 1 do
begin
MajCo := TMajorCountry(MajorPowers.Item[IJ]);
FillChar(MajCo.BuiltThisTurn, SizeOf(MajCo.BuiltThisTurn), 0);
end;
// ****************************************************************************
// Set the flag for the unit having been built this turn to False.
// ****************************************************************************
for MSIndx := 0 to Units.Count - 1 do
begin
if not Units.Deleted[MSIndx] then
begin
MSUni := Units.Item[MSIndx];
if MSUni.InProduction and MSUni.BuiltThisTurn then
MSUni.BuiltThisTurn := False;
end;
end;
Game.NeedToDecideMajorPowers := [];
for MPI2 := Low(TMajorCountries) to High(TMajorCountries) do
begin
if MajorPowers[MPI2].LegalMajorCountry and
(BuildPointsToSave[MPI2] > 0) then
Include(Game.NeedToDecideMajorPowers, MPI2);
end;
if ModeOfPlay = mpInternet then FullyEnableGRLs;
for MPI2 := Low(TMajorCountries) to High(TMajorCountries) do
begin
if MPI2 in Game.NeedToDecideMajorPowers then
begin
if MajorPowers[MPI2].LegalMajorCountry then
begin
SetWhoDecides1MP(MPI2);
if ModeOfPlay = mpInternet then BuildPointLocationsDecided := False;
if Game.LocalDeciding then ProcessModeless(foSaveBuild);
if ModeOfPlay = mpInternet then WaitFor(BuildPointLocationsDecided);
if Game = nil then Exit;
end;
Exclude(Game.NeedToDecideMajorPowers, MPI2);
end;
end;
MainForm.NeedsProductionCompute := True;
// ****************************************************************************
// Transition from pProduction to pReform.
// ****************************************************************************
if Game.Phase = pProduction then
begin
if ModeOfPlay = mpInternet then
begin
FullyEnableGRLs;
for Plyr := 0 to Players.Count - 1 do
begin
if Game = nil then Exit;
OilPointsSavedProcessed := False;
// ShowMessageOK('[TPhaseProduction.Terminate] Before UpdateSavedOilPoints.');
if Game.LocalMajorPower.Player.ID = Plyr then
begin
UpdateSavedOilPoints;
Inc(TransNumber);
Inc(EntryNumber);
SetGRL(RLID_OPsP, True);
UseGRL(RLID_OPsP);
end;
// ShowMessageOK('[TPhaseProduction.Terminate] After UpdateSavedOilPoints.');
WaitFor(OilPointsSavedProcessed);
end; // End of for each player.
end // End of Internet game.
else UpdateSavedOilPoints;
// ****************************************************************************
// Any saved oil resource has been converted into a saved oil point, so the
// resource's status as SpecialRes can be reset to resNone.
// ****************************************************************************
for ReLt2 := 0 to Map.ResourceList.Count - 1 do
begin
GamRes2 := TGameRes(Map.ResourceList[ReLt2]);
if GamRes2.SpecialRes <> resUSSR then GamRes2.SpecialRes := resNone;
end;
// ****************************************************************************
// Create new units for convoys, pilots, forts, and Offensive Chits that have
// just been built. This is executed by one computer and the new unit numbers
// sent to all the other players.
// ****************************************************************************
if Game.LocalMajorPower.MasterMWIF then
begin
for MPI2 := Low(TMajorCountries) to High(TMajorCountries) do
begin
if MajorPowers[MPI2].LegalMajorCountry then
begin
if ConvoysToBeBuilt[MPI2] > 0 then
begin
for Indx := 1 to ConvoysToBeBuilt[MPI2] do
begin
if Indx = 1 then
begin
Game.Phase_Production.ConvoyBuilt[MPI2] :=
ConvoyCreate(MajorPowers[MPI2].ID, MajorPowers[MPI2].ID, 1);
end
else
begin
NavU := Game.Phase_Production.ConvoyBuilt[MPI2];
ConvoyChange(NavU, NavU.Convoy + 1);
end;
end;
// ****************************************************************************
// Only one convoy unit is created. It is moved into a Production Pool.
// ****************************************************************************
NavU := Game.Phase_Production.ConvoyBuilt[MPI2];
NavU.MoveToProductionAhead(NavU.Time, NavU.Cost, False);
end;
if PilotsToBeBuilt[MPI2] > 0 then
begin
for Indx := 1 to PilotsToBeBuilt[MPI2] do
begin
SpecialCreate(MajorPowers[MPI2].ID, utPilot);
NewUnit.MoveToProductionAhead(NewUnit.Time, NewUnit.Cost, False);
end;
end;
if FortsToBeBuilt[MPI2] > 0 then
begin
for Indx := 1 to FortsToBeBuilt[MPI2] do
begin
FortCreate(MajorPowers[MPI2].ID, utFort);
NewUnit.MoveToProductionAhead(NewUnit.Time, NewUnit.Cost, False);
end;
end;
if OChitsToBeBuilt[MPI2] > 0 then
begin
for Indx := 1 to OChitsToBeBuilt[MPI2] do
begin
SpecialCreate(MajorPowers[MPI2].ID, utOffensive);
NewUnit.MoveToProductionAhead(NewUnit.Time, NewUnit.Cost, False);
end;
end;
// ****************************************************************************
// Since this is a new factory, we do not need to worry about the index into the
// TFactoryHex. Indeed, we don't even know where it is going to be placed.
// ****************************************************************************
if FactoriesToBeBuilt[MPI2] > 0 then
begin
for Indx := 1 to FactoriesToBeBuilt[MPI2] do
begin
FactoryCreate(MajorPowers[MPI2].ID, False, False, False);
NewUnit.MoveToProductionAhead(NewUnit.Time, NewUnit.Cost, False);
end;
end;
end; // End of LegalMajorCountry.
end; // End of MPI2 loop.
// SendingGRLsOK := True;
end // End of MasterMWIF.
else CentralControlON;
Game.LocalDeciding := False; // Just so it gets done soon enough.
MainForm.EnableDone(False);
if Game.LocalMajorPower.MasterMWIF then Game.SetPendingPhase(pReform)
else CentralControlOn;
end;
===
Steve
Perfection is an elusive goal.
Perfection is an elusive goal.
- Majorball68
- Posts: 791
- Joined: Thu Nov 21, 2013 11:47 pm
RE: Major flaw in saved oil system for allocated to production all versions
For PBEM games is it better to select head to head option?
RE: Major flaw in saved oil system for allocated to production all versions
So by extension does that mean one shouldn't stop, save and then later re-load the game once Use Oil phase had begun and Production (i.e., build units) phase has finished even when playing solo?ORIGINAL: Shannon V. OKeets
I'm not sure about sending saved game files (Solitaire mode) between players anywhere around the Production phase.ORIGINAL: Majorball68
ORIGINAL: gw15
I'm not sure why but I don't have the problem in my saved games. I will however, pay more attention to it.
I don't think it is something that is obvious unless you look out for it. Oil isn't usually an issue for Allies but in a number of games I have been tracking it.
Ronnie
-
Shannon V. OKeets
- Posts: 22165
- Joined: Wed May 18, 2005 11:51 pm
- Location: Honolulu, Hawaii
- Contact:
RE: Major flaw in saved oil system for allocated to production all versions
I am not sure what you are asking. The sequence of play is:ORIGINAL: rkr1958
So by extension does that mean one shouldn't stop, save and then later re-load the game once Use Oil phase had begun and Production (i.e., build units) phase has finished even when playing solo?ORIGINAL: Shannon V. OKeets
I'm not sure about sending saved game files (Solitaire mode) between players anywhere around the Production phase.ORIGINAL: Majorball68
I don't think it is something that is obvious unless you look out for it. Oil isn't usually an issue for Allies but in a number of games I have been tracking it.
pEndOfAction, // RAC 12.
pPartisan, // RAC 13.1.
pEntry, // RAC 13.2.
pUSEntry, // RAC 13.3.
pProdPlanningPrelim, // RAC 13.6.1 & 13.6.2.
pStayAtSeaA, // RAC 13.4.
pStayAtSeaD, // RAC 13.4.
pReturnToBaseA, // RAC 13.4.
pReturnToBaseD, // RAC 13.4.
pUseOil, // RAC 13.5.1.
pFinalReorganization, // RAC 13.5.
pBreakDown, // RAC 22.4.1.
pProdPlanningFinal, // RAC 13.6.1 & 13.6.2.
pSearchAndSeizure, // RAC 13.6.1.
pScrapDestroyed, // RAC 13.6.9.
pNavalRepair, // RAC 13.6.5.
pProduction, // RAC 13.6.3 -> 13.6.9.
pReform, // RAC 22.4.1.
===
So the Use Oil phase is way earlier than Production in this sequence of play.
My concern is with: (1) saving during Production, (2) sending the saved game, (3) restoring in the middle of the Production phase, (4) completing Production, and then (5) continuing on.
Steve
Perfection is an elusive goal.
Perfection is an elusive goal.






