equal
deleted
inserted
replaced
129 while Gear <> nil do |
129 while Gear <> nil do |
130 begin |
130 begin |
131 if (((Gear^.Kind = gtHedgehog) and |
131 if (((Gear^.Kind = gtHedgehog) and |
132 (Gear <> ThinkingHH) and |
132 (Gear <> ThinkingHH) and |
133 (Gear^.Health > Gear^.Damage) and |
133 (Gear^.Health > Gear^.Damage) and |
134 not(Gear^.Hedgehog^.Team^.hasgone)) or |
134 (not Gear^.Hedgehog^.Team^.hasgone)) or |
135 ((Gear^.Kind = gtExplosives) and |
135 ((Gear^.Kind = gtExplosives) and |
136 (Gear^.Health > Gear^.Damage)) or |
136 (Gear^.Health > Gear^.Damage)) or |
137 ((Gear^.Kind = gtMine) and |
137 ((Gear^.Kind = gtMine) and |
138 (Gear^.Health = 0) and |
138 (Gear^.Health = 0) and |
139 (Gear^.Damage < 35)) |
139 (Gear^.Damage < 35)) |
399 (abs(odX) > 0.02))) and (dxdy > 0.35)))) then |
399 (abs(odX) > 0.02))) and (dxdy > 0.35)))) then |
400 begin |
400 begin |
401 dmg := trunc(dxdy * 25); |
401 dmg := trunc(dxdy * 25); |
402 exit(dmg) |
402 exit(dmg) |
403 end |
403 end |
404 else if (Kind = gtExplosives) and not((abs(odX) > 0.15) or ((abs(odY) > 0.15) and (abs(odX) > 0.02))) and (dY > 0.2) then |
404 else if (Kind = gtExplosives) and (not(abs(odX) > 0.15) or ((abs(odY) > 0.15) and (abs(odX) > 0.02))) and (dY > 0.2) then |
405 begin |
405 begin |
406 dmg := trunc(dy * 70); |
406 dmg := trunc(dy * 70); |
407 exit(dmg) |
407 exit(dmg) |
408 end |
408 end |
409 end; |
409 end; |
451 (abs(odX) > 0.02))) and (dxdy > 0.35)))) then |
451 (abs(odX) > 0.02))) and (dxdy > 0.35)))) then |
452 begin |
452 begin |
453 dmg := trunc(dxdy * 50); |
453 dmg := trunc(dxdy * 50); |
454 exit(dmg) |
454 exit(dmg) |
455 end |
455 end |
456 else if (Kind = gtExplosives) and not((abs(odX) > 0.15) or ((abs(odY) > 0.15) and (abs(odX) > 0.02))) and (dY > 0.2) then |
456 else if (Kind = gtExplosives) and (not(abs(odX) > 0.15) or ((abs(odY) > 0.15) and (abs(odX) > 0.02))) and (dY > 0.2) then |
457 begin |
457 begin |
458 dmg := trunc(dy * 70); |
458 dmg := trunc(dy * 70); |
459 exit(dmg) |
459 exit(dmg) |
460 end |
460 end |
461 end; |
461 end; |
608 begin |
608 begin |
609 pX:= Point.x; |
609 pX:= Point.x; |
610 pY:= Point.y-2; |
610 pY:= Point.y-2; |
611 fallDmg:= 0; |
611 fallDmg:= 0; |
612 if (Flags and afSetSkip <> 0) then skip:= true; |
612 if (Flags and afSetSkip <> 0) then skip:= true; |
613 if not(dead) and (Flags and afTrackFall <> 0) and (Score > 0) and (power < Score) then |
613 if (not dead) and (Flags and afTrackFall <> 0) and (Score > 0) and (power < Score) then |
614 if (Kind = gtExplosives) and (State and gstTmpFlag = 0) and |
614 if (Kind = gtExplosives) and (State and gstTmpFlag = 0) and |
615 (((abs(dY) > 0.15) and (abs(dX) < 0.02)) or |
615 (((abs(dY) > 0.15) and (abs(dX) < 0.02)) or |
616 ((abs(dY) < 0.15) and (abs(dX) < 0.15))) then |
616 ((abs(dY) < 0.15) and (abs(dX) < 0.15))) then |
617 fallDmg:= trunc(TraceShoveFall(pX, pY, 0, dY, Targets.ar[i]) * dmgMod) |
617 fallDmg:= trunc(TraceShoveFall(pX, pY, 0, dY, Targets.ar[i]) * dmgMod) |
618 else |
618 else |
703 dmg:= min(baseDmg - trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y))), 25); |
703 dmg:= min(baseDmg - trunc(sqrt(sqr(Point.x - x)+sqr(Point.y - y))), 25); |
704 dmg:= trunc(dmg * dmgMod); |
704 dmg:= trunc(dmg * dmgMod); |
705 end; |
705 end; |
706 if dmg > 0 then |
706 if dmg > 0 then |
707 begin |
707 begin |
708 if not(dead) and (Score > 0) and (dmg < Score) then |
708 if (not dead) and (Score > 0) and (dmg < Score) then |
709 begin |
709 begin |
710 pX:= Point.x; |
710 pX:= Point.x; |
711 pY:= Point.y; |
711 pY:= Point.y; |
712 dX:= gdX * dmg / Density; |
712 dX:= gdX * dmg / Density; |
713 dY:= gdY * dmg / Density; |
713 dY:= gdY * dmg / Density; |