equal
deleted
inserted
replaced
263 if (Gear.X < 0) or (Gear.Y < 0) or (Gear.X > 2048) or (Gear.Y > 1024) then |
263 if (Gear.X < 0) or (Gear.Y < 0) or (Gear.X > 2048) or (Gear.Y > 1024) then |
264 DeleteGear(Gear) |
264 DeleteGear(Gear) |
265 end; |
265 end; |
266 |
266 |
267 //////////////////////////////////////////////////////////////////////////////// |
267 //////////////////////////////////////////////////////////////////////////////// |
|
268 procedure doStepDEagleShot(Gear: PGear); // сама идея такова, что должна как то образовываться выбоина от выстрела :) |
|
269 var i: LongWord; // пуля и в африке пуля.. и демаж совсем другой.. и эксплоза никакого, можно даже |
|
270 begin // навылет сделать, типа через одного пролетела и в другого попала... опять же |
|
271 AllInactive:= false; // дальше летишь меньше урон.. ой скока сразу мыслей то :)) |
|
272 i:= 80; |
|
273 repeat |
|
274 Gear.X:= Gear.X + Gear.dX; |
|
275 Gear.Y:= Gear.Y + Gear.dY; |
|
276 CheckCollision(Gear); |
|
277 if (Gear.State and gstCollision) <> 0 then |
|
278 begin |
|
279 inc(Gear.Damage); |
|
280 doMakeExplosion(round(Gear.X), round(Gear.Y), 2, EXPLAllDamageInRadius); |
|
281 end; |
|
282 dec(i) |
|
283 until i = 0; |
|
284 if (Gear.Damage > 20) or (Gear.X < 0) or (Gear.Y < 0) or (Gear.X > 2048) or (Gear.Y > 1024) then |
|
285 DeleteGear(Gear) |
|
286 end; |
|
287 |
|
288 //////////////////////////////////////////////////////////////////////////////// |
268 procedure doStepActionTimer(Gear: PGear); |
289 procedure doStepActionTimer(Gear: PGear); |
269 begin |
290 begin |
270 case Gear.State of |
291 case Gear.State of |
271 gtsStartGame: begin |
292 gtsStartGame: begin |
272 dec(Gear.Timer); |
293 dec(Gear.Timer); |
591 if CheckGearNear(Gear, gtHedgehog, 46, 32) <> nil then Gear.State:= Gear.State or gstAttacking |
612 if CheckGearNear(Gear, gtHedgehog, 46, 32) <> nil then Gear.State:= Gear.State or gstAttacking |
592 end else dec(Gear.Tag) |
613 end else dec(Gear.Tag) |
593 end else // gstAttacking <> 0 |
614 end else // gstAttacking <> 0 |
594 begin |
615 begin |
595 AllInactive:= false; |
616 AllInactive:= false; |
596 if (Gear.Timer and $1FF) = 0 then PlaySound(sndMineTick); |
617 if (Gear.Timer and $FF) = 0 then PlaySound(sndMineTick); |
597 if Gear.Timer = 0 then |
618 if Gear.Timer = 0 then |
598 begin |
619 begin |
599 doMakeExplosion(round(Gear.X), round(Gear.Y), 50, EXPLAutoSound); |
620 doMakeExplosion(round(Gear.X), round(Gear.Y), 50, EXPLAutoSound); |
600 SetAllToActive; |
621 SetAllToActive; |
601 DeleteGear(Gear) |
622 DeleteGear(Gear) |