hedgewars/uGears.pas
changeset 4327 224efdd648e1
parent 4313 0690067bc5ff
child 4329 5e5fbe5337e1
equal deleted inserted replaced
4325:ca254d2a46ac 4327:224efdd648e1
  1422 
  1422 
  1423 procedure AmmoShove(Ammo: PGear; Damage, Power: LongInt);
  1423 procedure AmmoShove(Ammo: PGear; Damage, Power: LongInt);
  1424 var t: PGearArray;
  1424 var t: PGearArray;
  1425     Gear: PGear;
  1425     Gear: PGear;
  1426     i, tmpDmg: LongInt;
  1426     i, tmpDmg: LongInt;
       
  1427     VGear: PVisualGear;
  1427 begin
  1428 begin
  1428 t:= CheckGearsCollision(Ammo);
  1429 t:= CheckGearsCollision(Ammo);
  1429 // Just to avoid hogs on rope dodging fire.
  1430 // Just to avoid hogs on rope dodging fire.
  1430 if (CurAmmoGear <> nil) and (CurAmmoGear^.Kind = gtRope) and
  1431 if (CurAmmoGear <> nil) and (CurAmmoGear^.Kind = gtRope) and
  1431    (CurrentHedgehog^.Gear <> nil) and (CurrentHedgehog^.Gear^.CollisionIndex = -1) and
  1432    (CurrentHedgehog^.Gear <> nil) and (CurrentHedgehog^.Gear^.CollisionIndex = -1) and
  1443     dec(i);
  1444     dec(i);
  1444     Gear:= t^.ar[i];
  1445     Gear:= t^.ar[i];
  1445     tmpDmg:= ModifyDamage(Damage, Gear);
  1446     tmpDmg:= ModifyDamage(Damage, Gear);
  1446     if (Gear^.State and gstNoDamage) = 0 then
  1447     if (Gear^.State and gstNoDamage) = 0 then
  1447         begin
  1448         begin
       
  1449         
       
  1450         VGear := AddVisualGear(hwround(Ammo^.X), hwround(Ammo^.Y), vgtBulletHit);
       
  1451         if VGear <> nil then
       
  1452         begin
       
  1453             VGear^.Angle := DxDy2Angle(-Ammo^.dX, Ammo^.dY);
       
  1454         end;
       
  1455         
  1448         if (Gear^.Kind = gtHedgehog) and (Ammo^.State and gsttmpFlag <> 0) and (Ammo^.Kind = gtShover) then Gear^.FlightTime:= 1;
  1456         if (Gear^.Kind = gtHedgehog) and (Ammo^.State and gsttmpFlag <> 0) and (Ammo^.Kind = gtShover) then Gear^.FlightTime:= 1;
  1449 
  1457 
  1450         case Gear^.Kind of
  1458         case Gear^.Kind of
  1451             gtHedgehog,
  1459             gtHedgehog,
  1452             gtMine,
  1460             gtMine,