hedgewars/uGears.pas
changeset 3712 de2026031833
parent 3710 411f5c2b5292
child 3713 f8778904600d
equal deleted inserted replaced
3711:de3b3df215c3 3712:de2026031833
   200             @doStepPortalShot,
   200             @doStepPortalShot,
   201             @doStepPiano,
   201             @doStepPiano,
   202             @doStepBomb,
   202             @doStepBomb,
   203             @doStepSineGunShot,
   203             @doStepSineGunShot,
   204             @doStepFlamethrower,
   204             @doStepFlamethrower,
   205             @doStepSMine
   205             @doStepSMine,
       
   206             @doStepPoisonCloud
   206             );
   207             );
   207 
   208 
   208 procedure InsertGearToList(Gear: PGear);
   209 procedure InsertGearToList(Gear: PGear);
   209 var tmp, ptmp: PGear;
   210 var tmp, ptmp: PGear;
   210 begin
   211 begin
   514                 end;
   515                 end;
   515 gtFlamethrower: begin
   516 gtFlamethrower: begin
   516                 gear^.Tag:= 10;
   517                 gear^.Tag:= 10;
   517                 gear^.Timer:= 10;
   518                 gear^.Timer:= 10;
   518                 gear^.Health:= 500;
   519                 gear^.Health:= 500;
       
   520                 end;
       
   521  gtPoisonCloud: begin
       
   522                 gear^.Timer:= 5000;
   519                 end;
   523                 end;
   520      end;
   524      end;
   521 InsertGearToList(gear);
   525 InsertGearToList(gear);
   522 AddGear:= gear;
   526 AddGear:= gear;
   523 
   527 
  1237                                 if not Gear^.Invulnerable then
  1241                                 if not Gear^.Invulnerable then
  1238                                     ApplyDamage(Gear, dmg, dsExplosion)
  1242                                     ApplyDamage(Gear, dmg, dsExplosion)
  1239                                 else
  1243                                 else
  1240                                     Gear^.State:= Gear^.State or gstWinner;
  1244                                     Gear^.State:= Gear^.State or gstWinner;
  1241                                 end;
  1245                                 end;
  1242                             if ((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog) then
  1246                             if ((Mask and EXPLDoNotTouchAny) = 0) and (((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog)) then
  1243                                 begin
  1247                                 begin
  1244                                 DeleteCI(Gear);
  1248                                 DeleteCI(Gear);
  1245                                 Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - fX);
  1249                                 Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - fX);
  1246                                 Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - fY);
  1250                                 Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - fY);
  1247                                 Gear^.State:= (Gear^.State or gstMoving) and (not gstLoser);
  1251                                 Gear^.State:= (Gear^.State or gstMoving) and (not gstLoser);