hedgewars/uCommandHandlers.pas
changeset 9693 9e31e3bb4476
parent 9671 6e95617988c9
child 9714 54d756b6dbb1
equal deleted inserted replaced
9690:6a1748b71df2 9693:9e31e3bb4476
   316 end;
   316 end;
   317 
   317 
   318 procedure chPrecise_p(var s: shortstring);
   318 procedure chPrecise_p(var s: shortstring);
   319 begin
   319 begin
   320 s:= s; // avoid compiler hint
   320 s:= s; // avoid compiler hint
       
   321 if not isExternalSource then
       
   322     LocalMessage:= LocalMessage or gmPrecise;
   321 if CheckNoTeamOrHH or isPaused then
   323 if CheckNoTeamOrHH or isPaused then
   322     exit;
   324     exit;
   323 if not isExternalSource then
   325 if not isExternalSource then
   324     SendIPC(_S'Z');
   326     SendIPC(_S'Z');
   325 bShowFinger:= false;
   327 bShowFinger:= false;
   329 end;
   331 end;
   330 
   332 
   331 procedure chPrecise_m(var s: shortstring);
   333 procedure chPrecise_m(var s: shortstring);
   332 begin
   334 begin
   333 s:= s; // avoid compiler hint
   335 s:= s; // avoid compiler hint
       
   336 if not isExternalSource then
       
   337     LocalMessage:= LocalMessage and not(gmPrecise);
   334 if CheckNoTeamOrHH then
   338 if CheckNoTeamOrHH then
   335     exit;
   339     exit;
   336 if not isExternalSource then
   340 if not isExternalSource then
   337     SendIPC(_S'z');
   341     SendIPC(_S'z');
   338 with CurrentHedgehog^.Gear^ do
   342 with CurrentHedgehog^.Gear^ do
   655 end;
   659 end;
   656 
   660 
   657 procedure chRotateMask(var s: shortstring);
   661 procedure chRotateMask(var s: shortstring);
   658 begin
   662 begin
   659 s:= s; // avoid compiler hint
   663 s:= s; // avoid compiler hint
   660 if ((GameFlags and gfInvulnerable) = 0) then
   664 // this is just for me, 'cause I thought it'd be fun.  using the old precise + switch to keep it out of people's way
   661     cTagsMask:= cTagsMasks[cTagsMask]
   665 if LocalMessage and (gmPrecise or gmSwitch) = (gmPrecise or gmSwitch) then
       
   666     begin
       
   667     if UIDisplay <> uiNone then
       
   668          UIDisplay:= uiNone
       
   669     else UIDisplay:= uiAll
       
   670     end
       
   671 else if LocalMessage and gmPrecise = gmPrecise then
       
   672     begin
       
   673     if ((GameFlags and gfInvulnerable) = 0) then
       
   674         cTagsMask:= cTagsMasks[cTagsMask]
       
   675     else
       
   676         cTagsMask:= cTagsMasksNoHealth[cTagsMask]
       
   677     end
   662 else
   678 else
   663     cTagsMask:= cTagsMasksNoHealth[cTagsMask];
   679     begin
       
   680     if UIDisplay <> uiNoTeams then
       
   681          UIDisplay:= uiNoTeams
       
   682     else UIDisplay:= uiAll
       
   683     end
   664 end;
   684 end;
   665 
   685 
   666 procedure chSpeedup_p(var s: shortstring);
   686 procedure chSpeedup_p(var s: shortstring);
   667 begin
   687 begin
   668 s:= s; // avoid compiler hint
   688 s:= s; // avoid compiler hint