hedgewars/GSHandlers.inc
changeset 95 1ef5e2c41115
parent 89 f9db56409a86
child 100 f324a18698fe
equal deleted inserted replaced
94:c6eec0bdb630 95:1ef5e2c41115
   177 if (GameTicks and $3F) = 0 then
   177 if (GameTicks and $3F) = 0 then
   178    AddGear(round(Gear.X), round(Gear.Y), gtSmokeTrace, 0)
   178    AddGear(round(Gear.X), round(Gear.Y), gtSmokeTrace, 0)
   179 end;
   179 end;
   180 
   180 
   181 ////////////////////////////////////////////////////////////////////////////////
   181 ////////////////////////////////////////////////////////////////////////////////
   182 procedure doStepHealthTag(Gear: PGear);
   182 procedure doStepHealthTagWork(Gear: PGear);
   183 begin
   183 begin
   184 AllInactive:= false;
   184 AllInactive:= false;
   185 dec(Gear.Timer);
   185 dec(Gear.Timer);
   186 Gear.Y:= Gear.Y - 0.07;
   186 Gear.Y:= Gear.Y - 0.07;
   187 if Gear.Timer = 0 then
   187 if Gear.Timer = 0 then
   188    begin
   188    begin
   189    PHedgehog(Gear.Hedgehog).Gear.Active:= true;
   189    PHedgehog(Gear.Hedgehog).Gear.Active:= true;
   190    DeleteGear(Gear)
   190    DeleteGear(Gear)
   191    end
   191    end
       
   192 end;
       
   193 
       
   194 procedure doStepHealthTag(Gear: PGear);
       
   195 var s: shortstring;
       
   196 begin
       
   197 AllInactive:= false;
       
   198 str(Gear.State, s);
       
   199 Gear.Surf:= RenderString(s, PHedgehog(Gear.Hedgehog).Team.Color, fnt16);
       
   200 Gear.doStep:= doStepHealthTagWork
   192 end;
   201 end;
   193 
   202 
   194 ////////////////////////////////////////////////////////////////////////////////
   203 ////////////////////////////////////////////////////////////////////////////////
   195 procedure doStepGrave(Gear: PGear);
   204 procedure doStepGrave(Gear: PGear);
   196 begin
   205 begin
   262 begin
   271 begin
   263 AllInactive:= false;
   272 AllInactive:= false;
   264 if Gear.Timer > 0 then
   273 if Gear.Timer > 0 then
   265    begin
   274    begin
   266    dec(Gear.Timer);
   275    dec(Gear.Timer);
   267    if Gear.Timer = 1 then PlaySound(sndShotgunFire);
   276    if Gear.Timer = 0 then PlaySound(sndShotgunFire);
   268    exit
   277    exit
   269    end;
   278    end;
   270 i:= 200;
   279 i:= 200;
   271 repeat
   280 repeat
   272 Gear.X:= Gear.X + Gear.dX;
   281 Gear.X:= Gear.X + Gear.dX;
   281    exit
   290    exit
   282    end;
   291    end;
   283 dec(i)
   292 dec(i)
   284 until i = 0;
   293 until i = 0;
   285 if (Gear.X < 0) or (Gear.Y < 0) or (Gear.X > 2048) or (Gear.Y > 1024) then
   294 if (Gear.X < 0) or (Gear.Y < 0) or (Gear.X > 2048) or (Gear.Y > 1024) then
   286    DeleteGear(Gear)
   295    begin
       
   296    DeleteGear(Gear);
       
   297    AfterAttack
       
   298    end
   287 end;
   299 end;
   288 
   300 
   289 ////////////////////////////////////////////////////////////////////////////////
   301 ////////////////////////////////////////////////////////////////////////////////
   290 procedure doStepDEagleShot(Gear: PGear);
   302 procedure doStepDEagleShot(Gear: PGear);
   291 var i, x, y: LongWord;
   303 var i, x, y: LongWord;