diff -r ab577db125c4 -r 36d7e4b6ca81 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sun Nov 21 09:37:48 2010 -0500 +++ b/hedgewars/uGears.pas Sun Nov 21 17:48:58 2010 +0300 @@ -1711,8 +1711,51 @@ end end; + +procedure chSkip(var s: shortstring); +begin +s:= s; // avoid compiler hint +if not CurrentTeam^.ExtDriven then SendIPC(','); +uStats.Skipped; +skipFlag:= true +end; + +procedure chHogSay(var s: shortstring); +var Gear: PVisualGear; + text: shortstring; +begin + text:= copy(s, 2, Length(s) - 1); + if CheckNoTeamOrHH + or ((CurrentHedgehog^.Gear^.State and gstHHDriven) = 0) then + begin + ParseCommand('say ' + text, true); + exit + end; + + if not CurrentTeam^.ExtDriven then SendIPC('h' + s); + + if byte(s[1]) < 4 then + begin + Gear:= AddVisualGear(0, 0, vgtSpeechBubble); + if Gear <> nil then + begin + Gear^.Hedgehog:= CurrentHedgehog; + Gear^.Text:= text; + Gear^.FrameTicks:= byte(s[1]) + end + end + else + begin + SpeechType:= byte(s[1])-3; + SpeechText:= text + end; +end; + procedure initModule; begin + RegisterVariable('skip', vtCommand, @chSkip, false); + RegisterVariable('hogsay', vtCommand, @chHogSay, true ); + CurAmmoGear:= nil; GearsList:= nil; KilledHHs:= 0;