hedgewars/HHHandlers.inc
changeset 952 9dd48265e0b9
parent 941 b5222ddafe1f
child 958 92bb9fa046f9
equal deleted inserted replaced
951:c021955435b2 952:9dd48265e0b9
   372    end
   372    end
   373 end;
   373 end;
   374 
   374 
   375 procedure HedgehogChAngle(Gear: PGear);
   375 procedure HedgehogChAngle(Gear: PGear);
   376 begin
   376 begin
   377 if ((Gear^.State and gstMoving) = 0) then
   377 if ((Gear^.Message and gm_Up) <> 0) and (Gear^.Angle > CurMinAngle) then dec(Gear^.Angle)
   378    if (Gear^.Message and gm_Up    )<>0 then if Gear^.Angle > CurMinAngle then dec(Gear^.Angle)
   378 else
   379    else else
   379 if ((Gear^.Message and gm_Down) <> 0) and (Gear^.Angle < CurMaxAngle) then inc(Gear^.Angle);
   380    if (Gear^.Message and gm_Down  )<>0 then if Gear^.Angle < CurMaxAngle then inc(Gear^.Angle);
       
   381 end;
   380 end;
   382 
   381 
   383 procedure doStepHedgehog(Gear: PGear); forward;
   382 procedure doStepHedgehog(Gear: PGear); forward;
   384 ////////////////////////////////////////////////////////////////////////////////
   383 ////////////////////////////////////////////////////////////////////////////////
   385 procedure doStepHedgehogMoving(Gear: PGear);
   384 procedure doStepHedgehogMoving(Gear: PGear);
   517    begin
   516    begin
   518    CurAmmoGear^.Message:= Gear^.Message;
   517    CurAmmoGear^.Message:= Gear^.Message;
   519    exit
   518    exit
   520    end;
   519    end;
   521 
   520 
       
   521 if not isInMultiShoot then
       
   522    HedgehogChAngle(Gear);
   522 
   523 
   523 if (Gear^.State and gstMoving) <> 0 then
   524 if (Gear^.State and gstMoving) <> 0 then
   524    begin
   525    begin
   525    if ((Gear^.Message and gm_HJump) <> 0) and
   526    if ((Gear^.Message and gm_HJump) <> 0) and
   526       ((Gear^.State and gstHHJumping) <> 0) and
   527       ((Gear^.State and gstHHJumping) <> 0) and
   547    exit
   548    exit
   548    end;
   549    end;
   549 
   550 
   550    if not isInMultiShoot then
   551    if not isInMultiShoot then
   551       begin
   552       begin
   552       HedgehogChAngle(Gear);
       
   553       if StepTicks > 0 then dec(StepTicks);
   553       if StepTicks > 0 then dec(StepTicks);
   554       if (StepTicks = 0) then HedgehogStep(Gear)
   554       if (StepTicks = 0) then HedgehogStep(Gear)
   555       end
   555       end
   556 end;
   556 end;
   557 
   557