equal
deleted
inserted
replaced
228 gtExplosion: begin |
228 gtExplosion: begin |
229 Result^.X:= Result^.X - _25; |
229 Result^.X:= Result^.X - _25; |
230 Result^.Y:= Result^.Y - _25; |
230 Result^.Y:= Result^.Y - _25; |
231 end; |
231 end; |
232 gtMine: begin |
232 gtMine: begin |
|
233 Result^.State:= Result^.State or gstMoving; |
233 Result^.Radius:= 3; |
234 Result^.Radius:= 3; |
234 Result^.Elasticity:= _0_55; |
235 Result^.Elasticity:= _0_55; |
235 Result^.Friction:= _0_995; |
236 Result^.Friction:= _0_995; |
236 Result^.Timer:= 3000; |
237 Result^.Timer:= 3000; |
237 end; |
238 end; |
279 |
280 |
280 procedure DeleteGear(Gear: PGear); |
281 procedure DeleteGear(Gear: PGear); |
281 var team: PTeam; |
282 var team: PTeam; |
282 t: Longword; |
283 t: Longword; |
283 begin |
284 begin |
284 if Gear^.CollIndex < High(Longword) then DeleteCI(Gear); |
285 DeleteCI(Gear); |
285 if Gear^.Surf <> nil then SDL_FreeSurface(Gear^.Surf); |
286 if Gear^.Surf <> nil then SDL_FreeSurface(Gear^.Surf); |
286 if Gear^.Kind = gtHedgehog then |
287 if Gear^.Kind = gtHedgehog then |
287 if CurAmmoGear <> nil then |
288 if CurAmmoGear <> nil then |
288 begin |
289 begin |
289 Gear^.Message:= gm_Destroy; |
290 Gear^.Message:= gm_Destroy; |
448 end; |
449 end; |
449 |
450 |
450 procedure DrawHH(Gear: PGear; Surface: PSDL_Surface); |
451 procedure DrawHH(Gear: PGear; Surface: PSDL_Surface); |
451 var t: LongInt; |
452 var t: LongInt; |
452 begin |
453 begin |
453 DrawHedgehog(hwRound(Gear^.X) - 14 + WorldDx, hwRound(Gear^.Y) - 18 + WorldDy, |
454 DrawHedgehog(hwRound(Gear^.X) - 15 + WorldDx, hwRound(Gear^.Y) - 18 + WorldDy, |
454 hwSign(Gear^.dX), 0, |
455 hwSign(Gear^.dX), 0, |
455 PHedgehog(Gear^.Hedgehog)^.visStepPos div 2, |
456 PHedgehog(Gear^.Hedgehog)^.visStepPos div 2, |
456 Surface); |
457 Surface); |
457 |
458 |
458 with PHedgehog(Gear^.Hedgehog)^ do |
459 with PHedgehog(Gear^.Hedgehog)^ do |
668 if (Mask and EXPLNoDamage) = 0 then inc(Gear^.Damage, dmg); |
669 if (Mask and EXPLNoDamage) = 0 then inc(Gear^.Damage, dmg); |
669 if ((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog) then |
670 if ((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog) then |
670 begin |
671 begin |
671 Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - int2hwFloat(X)); |
672 Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - int2hwFloat(X)); |
672 Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - int2hwFloat(Y)); |
673 Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - int2hwFloat(Y)); |
|
674 Gear^.State:= Gear^.State or gstMoving; |
673 Gear^.Active:= true; |
675 Gear^.Active:= true; |
674 FollowGear:= Gear |
676 FollowGear:= Gear |
675 end; |
677 end; |
676 end; |
678 end; |
677 gtGrave: begin |
679 gtGrave: begin |
704 inc(t^.ar[i]^.Damage, Damage); |
706 inc(t^.ar[i]^.Damage, Damage); |
705 inc(hh^.DamageGiven, Damage); |
707 inc(hh^.DamageGiven, Damage); |
706 t^.ar[i]^.dX:= Ammo^.dX * Power * _0_01; |
708 t^.ar[i]^.dX:= Ammo^.dX * Power * _0_01; |
707 t^.ar[i]^.dY:= Ammo^.dY * Power * _0_01; |
709 t^.ar[i]^.dY:= Ammo^.dY * Power * _0_01; |
708 t^.ar[i]^.Active:= true; |
710 t^.ar[i]^.Active:= true; |
|
711 t^.ar[i]^.State:= t^.ar[i]^.State or gstMoving; |
709 DeleteCI(t^.ar[i]); |
712 DeleteCI(t^.ar[i]); |
710 FollowGear:= t^.ar[i] |
713 FollowGear:= t^.ar[i] |
711 end; |
714 end; |
712 end |
715 end |
713 end; |
716 end; |