hedgewars/uGears.pas
changeset 3028 d17cf923d7c3
parent 3004 e9b3613cc3fb
child 3030 411146650700
equal deleted inserted replaced
3027:32890edaa483 3028:d17cf923d7c3
    42             Pos: Longword;
    42             Pos: Longword;
    43             doStep: TGearStepProcedure;
    43             doStep: TGearStepProcedure;
    44             Radius: LongInt;
    44             Radius: LongInt;
    45             Angle, Power : Longword;
    45             Angle, Power : Longword;
    46             DirAngle: real;
    46             DirAngle: real;
    47             Timer : LongWord;
    47             Timer, Timer2 : LongWord;
    48             Elasticity: hwFloat;
    48             Elasticity: hwFloat;
    49             Friction  : hwFloat;
    49             Friction  : hwFloat;
    50             Message, MsgParam : Longword;
    50             Message, MsgParam : Longword;
    51             Hedgehog: pointer;
    51             Hedgehog: pointer;
    52             Health, Damage, Karma: LongInt;
    52             Health, Damage, Karma: LongInt;
  1179         defaultPos:= false
  1179         defaultPos:= false
  1180         end
  1180         end
  1181     else
  1181     else
  1182     if ((Gear^.State and gstAttacked) = 0) then
  1182     if ((Gear^.State and gstAttacked) = 0) then
  1183         begin
  1183         begin
  1184         if Gear^.Timer > 0 then
  1184         if Gear^.Timer2 > 0 then
  1185             begin
  1185             begin
  1186             // There must be a tidier way to do this. Anyone?
  1186             // There must be a tidier way to do this. Anyone?
  1187             if aangle <= 90 then aangle:= aangle+360;
  1187             if aangle <= 90 then aangle:= aangle+360;
  1188             if Gear^.dX > _0 then aangle:= aangle-((aangle-240)*Gear^.Timer/10)
  1188             if Gear^.dX > _0 then aangle:= aangle-((aangle-240)*Gear^.Timer2/10)
  1189             else aangle:= aangle+((240-aangle)*Gear^.Timer/10);
  1189             else aangle:= aangle+((240-aangle)*Gear^.Timer2/10);
  1190             dec(Gear^.Timer)
  1190             dec(Gear^.Timer2)
  1191             end;
  1191             end;
  1192         amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType;
  1192         amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType;
  1193         case amt of
  1193         case amt of
  1194             amBazooka: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle);
  1194             amBazooka: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle);
  1195             amMortar: DrawRotated(sprHandMortar, hx, hy, hwSign(Gear^.dX), aangle);
  1195             amMortar: DrawRotated(sprHandMortar, hx, hy, hwSign(Gear^.dX), aangle);