hedgewars/uGearsHandlersMess.pas
changeset 12201 2c0811bbc1d9
parent 12200 02f6d786627d
child 12202 fb2dea5c98f1
equal deleted inserted replaced
12200:02f6d786627d 12201:2c0811bbc1d9
  6389         end;
  6389         end;
  6390 
  6390 
  6391     // Mirrored duck
  6391     // Mirrored duck
  6392     // Pos 1 or 2: Duck is on water (not Sea world edge)
  6392     // Pos 1 or 2: Duck is on water (not Sea world edge)
  6393     if Gear^.Pos = 1 then
  6393     if Gear^.Pos = 1 then
  6394         Gear^.dX:= cWindSpeed * 500
  6394         Gear^.dX:= cWindSpeed * Gear^.Damage
  6395     else if Gear^.Pos = 2 then
  6395     else if Gear^.Pos = 2 then
  6396         Gear^.dX:= -cWindSpeed * 500
  6396         Gear^.dX:= -cWindSpeed * Gear^.Damage
  6397     else if Gear^.Pos = 3 then
  6397     else if Gear^.Pos = 3 then
  6398         Gear^.dY:= cWindSpeed * 500
  6398         Gear^.dY:= cWindSpeed * Gear^.Damage
  6399     else if Gear^.Pos = 4 then
  6399     else if Gear^.Pos = 4 then
  6400         Gear^.dY:= -cWindSpeed * 500;
  6400         Gear^.dY:= -cWindSpeed * Gear^.Damage;
  6401     
  6401     
  6402     // Rotate duck and change direction when reaching Sea world edge (Pos 3 or 4)
  6402     // Rotate duck and change direction when reaching Sea world edge (Pos 3 or 4)
  6403     if WorldEdge = weSea then
  6403     if WorldEdge = weSea then
  6404         begin
  6404         begin
  6405         // Left edge
  6405         // Left edge
  6409             Gear^.Pos:= 3;
  6409             Gear^.Pos:= 3;
  6410             if Gear^.Tag = 1 then
  6410             if Gear^.Tag = 1 then
  6411                 Gear^.Angle:= 90 
  6411                 Gear^.Angle:= 90 
  6412             else
  6412             else
  6413                 Gear^.Angle:= 270;
  6413                 Gear^.Angle:= 270;
  6414             Gear^.dY:= cWindSpeed * 500;
  6414             Gear^.dY:= cWindSpeed * Gear^.Damage;
  6415             Gear^.dX:= _0;
  6415             Gear^.dX:= _0;
  6416             end
  6416             end
  6417         // Right edge
  6417         // Right edge
  6418         else if (RightX <= hwRound(Gear^.X) + Gear^.Karma) and (Gear^.Pos < 3) then
  6418         else if (RightX <= hwRound(Gear^.X) + Gear^.Karma) and (Gear^.Pos < 3) then
  6419             begin
  6419             begin
  6421             Gear^.Pos:= 4;
  6421             Gear^.Pos:= 4;
  6422             if Gear^.Tag = 1 then
  6422             if Gear^.Tag = 1 then
  6423                 Gear^.Angle:= 270
  6423                 Gear^.Angle:= 270
  6424             else
  6424             else
  6425                 Gear^.Angle:= 90;
  6425                 Gear^.Angle:= 90;
  6426             Gear^.dY:= -cWindspeed * 500;
  6426             Gear^.dY:= -cWindspeed * Gear^.Damage;
  6427             Gear^.dX:= _0;
  6427             Gear^.dX:= _0;
  6428             end;
  6428             end;
  6429         end;
  6429         end;
  6430 
  6430 
  6431     if Gear^.Pos <> 0 then
  6431     if Gear^.Pos <> 0 then