hedgewars/GSHandlers.inc
changeset 1507 d18c67b7ad4c
parent 1505 3a96e93572cb
child 1528 3fee15104c1d
equal deleted inserted replaced
1506:a4ab75470ce1 1507:d18c67b7ad4c
  1238 doStepParachuteWork(Gear)
  1238 doStepParachuteWork(Gear)
  1239 end;
  1239 end;
  1240 
  1240 
  1241 ////////////////////////////////////////////////////////////////////////////////
  1241 ////////////////////////////////////////////////////////////////////////////////
  1242 procedure doStepAirAttackWork(Gear: PGear);
  1242 procedure doStepAirAttackWork(Gear: PGear);
       
  1243 var i: Longint;
  1243 begin
  1244 begin
  1244 AllInactive:= false;
  1245 AllInactive:= false;
  1245 Gear^.X:= Gear^.X + cAirPlaneSpeed * Gear^.Tag;
  1246 Gear^.X:= Gear^.X + cAirPlaneSpeed * Gear^.Tag;
  1246 
  1247 
  1247 if (Gear^.Health > 0)and(not (Gear^.X < Gear^.dX))and(Gear^.X < Gear^.dX + cAirPlaneSpeed) then
  1248 if (Gear^.Health > 0)and(not (Gear^.X < Gear^.dX))and(Gear^.X < Gear^.dX + cAirPlaneSpeed) then
  1248 	begin
  1249 	begin
  1249 	dec(Gear^.Health);
  1250 	dec(Gear^.Health);
  1250 	case Gear^.State of
  1251 	case Gear^.State of
  1251 			0: FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, cBombsSpeed * Gear^.Tag, _0, 0);
  1252 			0: FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, cBombsSpeed * Gear^.Tag, _0, 0);
  1252 			1: FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMine,    0, cBombsSpeed * Gear^.Tag, _0, 0);
  1253 			1: FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMine,    0, cBombsSpeed * Gear^.Tag, _0, 0);
       
  1254 			2: for i:= -17 to 17 do
       
  1255 				FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtFlame, 0, _0_01 * i, _0, 0);
  1253 			end;
  1256 			end;
  1254 	Gear^.dX:= Gear^.dX + int2hwFloat(30 * Gear^.Tag)
  1257 	Gear^.dX:= Gear^.dX + int2hwFloat(30 * Gear^.Tag)
  1255 	end;
  1258 	end;
  1256 
  1259 
  1257 if (GameTicks and $3F) = 0 then
  1260 if (GameTicks and $3F) = 0 then
  1262 
  1265 
  1263 procedure doStepAirAttack(Gear: PGear);
  1266 procedure doStepAirAttack(Gear: PGear);
  1264 begin
  1267 begin
  1265 AllInactive:= false;
  1268 AllInactive:= false;
  1266 
  1269 
  1267 if Gear^.X.QWordValue = 0 then Gear^.Tag:=  1
  1270 if Gear^.X.QWordValue = 0 then
  1268                           else Gear^.Tag:= -1;
  1271 	Gear^.Tag:=  1
       
  1272 else
       
  1273 	Gear^.Tag:= -1;
       
  1274 
  1269 Gear^.X:= _1024 - _2048 * Gear^.Tag;
  1275 Gear^.X:= _1024 - _2048 * Gear^.Tag;
  1270 Gear^.Y:= -_300;
  1276 Gear^.Y:= -_300;
  1271 Gear^.dX:= int2hwFloat(TargetPoint.X - 5 * Gear^.Tag * 15);
  1277 Gear^.dX:= int2hwFloat(TargetPoint.X - 5 * Gear^.Tag * 15);
  1272 
  1278 
  1273 if int2hwFloat(TargetPoint.Y) - Gear^.Y > _0 then
  1279 if int2hwFloat(TargetPoint.Y) - Gear^.Y > _0 then