equal
deleted
inserted
replaced
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; |