hedgewars/uGears.pas
changeset 1058 c53c5c4e7b48
parent 1056 bb33a634a4b0
child 1060 4a655f344900
equal deleted inserted replaced
1057:6b5785287f42 1058:c53c5c4e7b48
   477                     dec(delay);
   477                     dec(delay);
   478 
   478 
   479                  if delay = 0 then
   479                  if delay = 0 then
   480                     inc(step)
   480                     inc(step)
   481                  end;
   481                  end;
   482         stChWin: if not CheckForWin then inc(step) else step:= stDelay;
   482         stChWin: if not CheckForWin then
       
   483                     begin
       
   484                     if not bBetweenTurns then SwitchHedgehog;
       
   485                     inc(step)
       
   486                     end else step:= stDelay;
   483         stWater: begin
   487         stWater: begin
   484                  if GameTicks > 25 * 60 * 1000 then bWaterRising:= true;
   488                  if TotalRounds = 17 then bWaterRising:= true;
   485 
   489 
   486                  if not bWaterRising then
   490                  if not bWaterRising then
   487                     inc(step)
   491                     inc(step)
   488                  else
   492                  else
   489                     begin
   493                     begin
   495                     if delay = 0 then
   499                     if delay = 0 then
   496                        if not WaterMachine then inc(step)
   500                        if not WaterMachine then inc(step)
   497                     end
   501                     end
   498                  end;
   502                  end;
   499        stHealth: begin
   503        stHealth: begin
   500                  if GameTicks > 20 * 60 * 1000 then cHealthDecrease:= 5;
   504                  if TotalRounds = 15 then cHealthDecrease:= 5;
   501 
   505 
   502                  if (cHealthDecrease = 0)
   506                  if (cHealthDecrease = 0)
   503                    or bBetweenTurns
   507                    or bBetweenTurns
   504                    or isInMultiShoot
   508                    or isInMultiShoot
   505                    or (FinishedTurnsTotal = 0) then inc(step)
   509                    or (TotalRounds = 0) then inc(step)
   506                     else begin
   510                     else begin
   507                     bBetweenTurns:= true;
   511                     bBetweenTurns:= true;
   508                     HealthMachine;
   512                     HealthMachine;
   509                     step:= stChDmg
   513                     step:= stChDmg
   510                     end
   514                     end
   515                  end;
   519                  end;
   516         stNTurn: begin
   520         stNTurn: begin
   517                  if isInMultiShoot then isInMultiShoot:= false
   521                  if isInMultiShoot then isInMultiShoot:= false
   518                     else begin
   522                     else begin
   519                     ParseCommand('/nextturn', true);
   523                     ParseCommand('/nextturn', true);
       
   524                     AfterSwitchHedgehog;
   520                     bBetweenTurns:= false
   525                     bBetweenTurns:= false
   521                     end;
   526                     end;
   522                  step:= Low(step)
   527                  step:= Low(step)
   523                  end;
   528                  end;
   524         end;
   529         end;