389 procedure chLJump(var s: shortstring); |
389 procedure chLJump(var s: shortstring); |
390 begin |
390 begin |
391 s:= s; // avoid compiler hint |
391 s:= s; // avoid compiler hint |
392 if CheckNoTeamOrHH or isPaused then exit; |
392 if CheckNoTeamOrHH or isPaused then exit; |
393 if not CurrentTeam^.ExtDriven then SendIPC('j'); |
393 if not CurrentTeam^.ExtDriven then SendIPC('j'); |
394 if ReadyTimeLeft > 1 then begin ReadyTimeLeft:= 1; exit end; |
394 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1; |
395 bShowFinger:= false; |
395 bShowFinger:= false; |
396 with CurrentHedgehog^.Gear^ do |
396 with CurrentHedgehog^.Gear^ do |
397 Message:= Message or gm_LJump |
397 Message:= Message or gm_LJump |
398 end; |
398 end; |
399 |
399 |
400 procedure chHJump(var s: shortstring); |
400 procedure chHJump(var s: shortstring); |
401 begin |
401 begin |
402 s:= s; // avoid compiler hint |
402 s:= s; // avoid compiler hint |
403 if CheckNoTeamOrHH or isPaused then exit; |
403 if CheckNoTeamOrHH or isPaused then exit; |
404 if not CurrentTeam^.ExtDriven then SendIPC('J'); |
404 if not CurrentTeam^.ExtDriven then SendIPC('J'); |
405 if ReadyTimeLeft > 1 then begin ReadyTimeLeft:= 1; exit end; |
405 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1; |
406 bShowFinger:= false; |
406 bShowFinger:= false; |
407 with CurrentHedgehog^.Gear^ do |
407 with CurrentHedgehog^.Gear^ do |
408 Message:= Message or gm_HJump |
408 Message:= Message or gm_HJump |
409 end; |
409 end; |
410 |
410 |
411 procedure chAttack_p(var s: shortstring); |
411 procedure chAttack_p(var s: shortstring); |
412 begin |
412 begin |
413 s:= s; // avoid compiler hint |
413 s:= s; // avoid compiler hint |
414 if CheckNoTeamOrHH or isPaused then exit; |
414 if CheckNoTeamOrHH or isPaused then exit; |
415 if ReadyTimeLeft > 1 then |
415 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1; |
416 begin |
|
417 ReadyTimeLeft:= 1; // set to 1 millisecond so we still play the sound file |
|
418 if not CurrentTeam^.ExtDriven then SendIPC('A'); |
|
419 exit |
|
420 end; |
|
421 bShowFinger:= false; |
416 bShowFinger:= false; |
422 with CurrentHedgehog^.Gear^ do |
417 with CurrentHedgehog^.Gear^ do |
423 begin |
418 begin |
424 {$IFDEF DEBUGFILE}AddFileLog('/+attack: hedgehog''s Gear^.State = '+inttostr(State));{$ENDIF} |
419 {$IFDEF DEBUGFILE}AddFileLog('/+attack: hedgehog''s Gear^.State = '+inttostr(State));{$ENDIF} |
425 if ((State and gstHHDriven) <> 0) then |
420 if ((State and gstHHDriven) <> 0) then |
685 end; |
680 end; |
686 |
681 |
687 procedure chAmmoMenu(var s: shortstring); |
682 procedure chAmmoMenu(var s: shortstring); |
688 begin |
683 begin |
689 s:= s; // avoid compiler hint |
684 s:= s; // avoid compiler hint |
690 if CheckNoTeamOrHH then |
685 if CheckNoTeamOrHH then |
691 bShowAmmoMenu:= true |
686 bShowAmmoMenu:= true |
692 else |
687 else |
693 with CurrentTeam^ do |
688 begin |
|
689 with CurrentTeam^ do |
694 with Hedgehogs[CurrHedgehog] do |
690 with Hedgehogs[CurrHedgehog] do |
695 begin |
691 begin |
696 bSelected:= false; |
692 bSelected:= false; |
697 |
693 |
698 if bShowAmmoMenu then bShowAmmoMenu:= false |
694 if bShowAmmoMenu then bShowAmmoMenu:= false |
699 else if ((Gear^.State and (gstAttacking or gstAttacked)) <> 0) or |
695 else if ((Gear^.State and (gstAttacking or gstAttacked)) <> 0) or |
700 ((MultiShootAttacks > 0) and ((Ammo^[CurSlot, CurAmmo].Propz and ammoprop_NoRoundEndHint) = 0)) or |
696 ((MultiShootAttacks > 0) and ((Ammo^[CurSlot, CurAmmo].Propz and ammoprop_NoRoundEndHint) = 0)) or |
701 ((Gear^.State and gstHHDriven) = 0) then else bShowAmmoMenu:= true |
697 ((Gear^.State and gstHHDriven) = 0) then else bShowAmmoMenu:= true |
702 end |
698 end; |
|
699 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1 |
|
700 end |
703 end; |
701 end; |
704 |
702 |
705 procedure chFullScr(var s: shortstring); |
703 procedure chFullScr(var s: shortstring); |
706 var flags: Longword = 0; |
704 var flags: Longword = 0; |
707 ico: PSDL_Surface; |
705 ico: PSDL_Surface; |