hedgewars/GSHandlers.inc
changeset 42 72ffe21f027c
parent 39 b78e7185ed13
child 43 e297fea1a2f3
equal deleted inserted replaced
41:5d7a505875cd 42:72ffe21f027c
   252    begin
   252    begin
   253    t:= CheckGearsCollision(Gear, Sign(Gear.dX), true);
   253    t:= CheckGearsCollision(Gear, Sign(Gear.dX), true);
   254    if t = nil then t:= CheckGearsCollision(Gear, Sign(Gear.dY), false);
   254    if t = nil then t:= CheckGearsCollision(Gear, Sign(Gear.dY), false);
   255    if t <> nil then
   255    if t <> nil then
   256       AmmoShove(Gear, t, 25);
   256       AmmoShove(Gear, t, 25);
   257    doMakeExplosion(round(Gear.X), round(Gear.Y), 25, EXPLNoDamage);
   257    doMakeExplosion(round(Gear.X), round(Gear.Y), 25, EXPLNoDamage or EXPLDoNotTouchHH);
   258    DeleteGear(Gear);
   258    DeleteGear(Gear);
   259    exit
   259    exit
   260    end;
   260    end;
   261 dec(i)
   261 dec(i)
   262 until i = 0;
   262 until i = 0;
   346          begin
   346          begin
   347          doMakeExplosion(i, round(Gear.Y) + 3, 3, 0);
   347          doMakeExplosion(i, round(Gear.Y) + 3, 3, 0);
   348          inc(i, 1)
   348          inc(i, 1)
   349          end;
   349          end;
   350    Gear.X:= Gear.X + Gear.dX;
   350    Gear.X:= Gear.X + Gear.dX;
   351    Gear.Y:= Gear.Y + 1.9
   351    Gear.Y:= Gear.Y + 1.9;
       
   352    SetAllHHToActive;
   352    end;
   353    end;
   353 if TestCollisionYwithGear(Gear, 1) then
   354 if TestCollisionYwithGear(Gear, 1) then
   354    begin
   355    begin
   355    Gear.dY:= 0;
   356    Gear.dY:= 0;
   356    HHGear.dX:= 0.0000001 * Sign(PGear(Gear.Hedgehog).dX);
   357    HHGear.dX:= 0.0000001 * Sign(PGear(Gear.Hedgehog).dX);
   385    ar[i].Left := round(Gear.X) - Gear.HalfWidth - GetRandom(2);
   386    ar[i].Left := round(Gear.X) - Gear.HalfWidth - GetRandom(2);
   386    ar[i].Right:= round(Gear.X) + Gear.HalfWidth + GetRandom(2);
   387    ar[i].Right:= round(Gear.X) + Gear.HalfWidth + GetRandom(2);
   387    inc(y, 2);
   388    inc(y, 2);
   388    inc(i)
   389    inc(i)
   389    end;
   390    end;
   390 DrawHLineExplosions(@ar, 3, round(Gear.Y) - cHHHalfHeight*2, 2, Pred(i));
   391 DrawHLinesExplosions(@ar, 3, round(Gear.Y) - cHHHalfHeight*2, 2, Pred(i));
   391 Gear.dY:= PHedgehog(Gear.Hedgehog).Gear.dY;
   392 Gear.dY:= PHedgehog(Gear.Hedgehog).Gear.dY;
   392 doStepPickHammerWork(Gear);
   393 doStepPickHammerWork(Gear);
   393 Gear.doStep:= doStepPickHammerWork
   394 Gear.doStep:= doStepPickHammerWork
   394 end;
   395 end;
   395 
   396