equal
deleted
inserted
replaced
514 end; |
514 end; |
515 |
515 |
516 procedure TeamGoneEffect(var Team: TTeam); |
516 procedure TeamGoneEffect(var Team: TTeam); |
517 var i: LongInt; |
517 var i: LongInt; |
518 begin |
518 begin |
519 with Team do |
519 with Team do |
520 for i:= 0 to cMaxHHIndex do |
520 if skippedTurns < 3 then |
521 with Hedgehogs[i] do |
|
522 begin |
521 begin |
523 if Hedgehogs[i].GearHidden <> nil then |
522 inc(skippedTurns); |
524 RestoreHog(@Hedgehogs[i]); |
523 ParseCommand('/skip', true); |
525 |
|
526 if Gear <> nil then |
|
527 begin |
|
528 Gear^.Hedgehog^.Effects[heInvulnerable]:= 0; |
|
529 Gear^.Damage:= Gear^.Health; |
|
530 Gear^.State:= (Gear^.State or gstHHGone) and (not gstHHDriven) |
|
531 end |
|
532 end |
524 end |
|
525 else |
|
526 for i:= 0 to cMaxHHIndex do |
|
527 with Hedgehogs[i] do |
|
528 begin |
|
529 if Hedgehogs[i].GearHidden <> nil then |
|
530 RestoreHog(@Hedgehogs[i]); |
|
531 |
|
532 if Gear <> nil then |
|
533 begin |
|
534 Gear^.Hedgehog^.Effects[heInvulnerable]:= 0; |
|
535 Gear^.Damage:= Gear^.Health; |
|
536 Gear^.State:= (Gear^.State or gstHHGone) and (not gstHHDriven) |
|
537 end |
|
538 end |
533 end; |
539 end; |
534 |
540 |
535 procedure chAddHH(var id: shortstring); |
541 procedure chAddHH(var id: shortstring); |
536 var s: shortstring; |
542 var s: shortstring; |
537 Gear: PGear; |
543 Gear: PGear; |
652 if (not hasGone) and isGoneFlagPengingToBeSet then |
658 if (not hasGone) and isGoneFlagPengingToBeSet then |
653 begin |
659 begin |
654 AddChatString('** '+ TeamName + ' is gone'); // TODO: localize |
660 AddChatString('** '+ TeamName + ' is gone'); // TODO: localize |
655 if not CurrentTeam^.ExtDriven then SendIPC(_S'f' + s); |
661 if not CurrentTeam^.ExtDriven then SendIPC(_S'f' + s); |
656 hasGone:= true; |
662 hasGone:= true; |
|
663 skippedTurns:= 0; |
657 isGoneFlagPengingToBeSet:= false; |
664 isGoneFlagPengingToBeSet:= false; |
658 RecountTeamHealth(TeamsArray[i]) |
665 RecountTeamHealth(TeamsArray[i]) |
659 end; |
666 end; |
660 if hasGone and isGoneFlagPengingToBeUnset then |
667 if hasGone and isGoneFlagPengingToBeUnset then |
661 ParseCommand('/teamback s' + s, true); |
668 ParseCommand('/teamback s' + s, true); |