hedgewars/uGearsHandlersMess.pas
changeset 15715 e0cdb6ae88ab
parent 15714 7a4b719ac611
child 15716 d5fce8a02092
equal deleted inserted replaced
15714:7a4b719ac611 15715:e0cdb6ae88ab
   139 procedure doStepCreeper(Gear: PGear);
   139 procedure doStepCreeper(Gear: PGear);
   140 procedure doStepKnife(Gear: PGear);
   140 procedure doStepKnife(Gear: PGear);
   141 procedure doStepMinigunWork(Gear: PGear);
   141 procedure doStepMinigunWork(Gear: PGear);
   142 procedure doStepMinigun(Gear: PGear);
   142 procedure doStepMinigun(Gear: PGear);
   143 procedure doStepMinigunBullet(Gear: PGear);
   143 procedure doStepMinigunBullet(Gear: PGear);
   144 procedure doStepSentry(Gear: PGear);
   144 procedure doStepSentryDeploy(Gear: PGear);
   145 
   145 
   146 var
   146 var
   147     upd: Longword;
   147     upd: Longword;
   148     snowLeft,snowRight: LongInt;
   148     snowLeft,snowRight: LongInt;
   149 
   149 
  7284         ClearGlobalHitOrderLeq(Gear^.Karma);
  7284         ClearGlobalHitOrderLeq(Gear^.Karma);
  7285         Gear^.Karma := 0;
  7285         Gear^.Karma := 0;
  7286     end;
  7286     end;
  7287 end;
  7287 end;
  7288 
  7288 
  7289 procedure doStepSentry(Gear: PGear);
  7289 procedure doStepSentryLand(Gear: PGear);
  7290 var HHGear, bullet: PGear;
  7290 var HHGear, bullet: PGear;
  7291     distX, distY, invDistance: HwFloat;
  7291     distX, distY, invDistance: HwFloat;
  7292 const sentry_Idle = 0;
  7292 const sentry_Idle = 0;
  7293     sentry_Walking = 1;
  7293     sentry_Walking = 1;
  7294     sentry_Aiming = 2;
  7294     sentry_Aiming = 2;
  7469             Gear^.Timer := 1800 + GetRandom(400);
  7469             Gear^.Timer := 1800 + GetRandom(400);
  7470         end
  7470         end
  7471     end
  7471     end
  7472 end;
  7472 end;
  7473 
  7473 
       
  7474 procedure doStepSentryDeploy(Gear: PGear);
       
  7475 begin
       
  7476     Gear^.Tag := -1;
       
  7477     if Gear^.dY.isNegative or (TestCollisionYwithGear(Gear, 1) = 0) then
       
  7478         doStepFallingGear(Gear)
       
  7479     else
       
  7480     begin
       
  7481         if Gear^.Timer > 0 then dec(Gear^.Timer);
       
  7482         if Gear^.Timer = 0 then
       
  7483         begin
       
  7484             Gear^.Tag := 0;
       
  7485             Gear^.doStep := @doStepSentryLand;
       
  7486         end;
       
  7487     end;
       
  7488 end;
       
  7489 
  7474 end.
  7490 end.