equal
deleted
inserted
replaced
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, |