hedgewars/CCHandlers.inc
changeset 2017 7845c77c8d31
parent 1850 a0332e79fdc9
child 2022 9bbf8af42ace
equal deleted inserted replaced
2016:73b0bcc4396d 2017:7845c77c8d31
   386 with CurrentHedgehog^.Gear^ do
   386 with CurrentHedgehog^.Gear^ do
   387      begin
   387      begin
   388      Message:= Message or gm_Animate;
   388      Message:= Message or gm_Animate;
   389      MsgParam:= byte(s[1])
   389      MsgParam:= byte(s[1])
   390      end
   390      end
       
   391 end;
       
   392 
       
   393 procedure chHogSay(var s: shortstring);
       
   394 var Gear: PGear;
       
   395     text: shortstring;
       
   396 begin
       
   397 text:= copy(s, 2, Length(s)-1);
       
   398 if CheckNoTeamOrHH or ((CurrentHedgehog^.Gear^.State and gstHHDriven) = 0) then
       
   399     begin
       
   400     chSay(text);
       
   401     exit
       
   402     end;
       
   403 
       
   404 if not CurrentTeam^.ExtDriven then SendIPC('h' + s);
       
   405 if byte(s[1]) < 4 then
       
   406     begin
       
   407     Gear:= AddGear(0, 0, gtSpeechBubble, 0, _0, _0, 0);
       
   408     Gear^.Text:= text;
       
   409     Gear^.Hedgehog:= CurrentHedgehog;
       
   410     Gear^.State:= byte(s[1]);
       
   411     end
       
   412 else
       
   413     begin
       
   414     // If I knew how to add a gear without it becoming immediately active, I'd
       
   415     // just create/attach the hedgehog SpeechGear here, then activate it where
       
   416     // SpeechType/SpeechText are activated
       
   417     SpeechType:= byte(s[1]);
       
   418     SpeechText:= text
       
   419     end;
   391 end;
   420 end;
   392 
   421 
   393 procedure chNewGrave;
   422 procedure chNewGrave;
   394 begin
   423 begin
   395 if CheckNoTeamOrHH then exit;
   424 if CheckNoTeamOrHH then exit;