equal
deleted
inserted
replaced
452 if Gear.dX < 0 then HHGear.Message:= (HHGear.Message or gm_Left) and not gm_Right |
452 if Gear.dX < 0 then HHGear.Message:= (HHGear.Message or gm_Left) and not gm_Right |
453 else HHGear.Message:= (HHGear.Message or gm_Right) and not gm_Left; |
453 else HHGear.Message:= (HHGear.Message or gm_Right) and not gm_Left; |
454 HedgehogStep(HHGear); |
454 HedgehogStep(HHGear); |
455 |
455 |
456 inc(BTSteps); |
456 inc(BTSteps); |
457 if BTSteps = 8 then |
457 if BTSteps = 11 then |
458 begin |
458 begin |
459 BTSteps:= 0; |
459 BTSteps:= 0; |
460 Gear.X:= HHGear.X + Gear.dX * cHHRadius * 2; |
460 Gear.X:= HHGear.X + Gear.dX * cHHRadius * 2; |
461 Gear.Y:= HHGear.Y + Gear.dY * cHHRadius * 2; |
461 Gear.Y:= HHGear.Y + Gear.dY * cHHRadius * 2; |
462 HHGear.State:= HHGear.State or gstNoDamage; |
462 HHGear.State:= HHGear.State or gstNoDamage; |
468 end; |
468 end; |
469 |
469 |
470 if b then |
470 if b then |
471 DrawTunnel(HHGear.X - Gear.dX * cHHRadius, HHGear.Y - 4 - Gear.dY * cHHRadius + abs(Gear.dY) * 7, |
471 DrawTunnel(HHGear.X - Gear.dX * cHHRadius, HHGear.Y - 4 - Gear.dY * cHHRadius + abs(Gear.dY) * 7, |
472 Gear.dX, Gear.dY, |
472 Gear.dX, Gear.dY, |
473 cHHRadius * 6, cHHRadius * 2 + 6); |
473 cHHRadius * 5, cHHRadius * 2 + 6); |
474 |
474 |
475 if (Gear.Timer = 0) or ((HHGear.Message and gm_Attack) <> 0) then |
475 if (Gear.Timer = 0) or ((HHGear.Message and gm_Attack) <> 0) then |
476 begin |
476 begin |
477 HHGear.Message:= 0; |
477 HHGear.Message:= 0; |
478 DeleteGear(Gear); |
478 DeleteGear(Gear); |