hedgewars/GSHandlers.inc
changeset 6924 57b66ee3bff3
parent 6833 a4f75b36d70d
child 6982 8d41d22a291d
equal deleted inserted replaced
6923:d2405a6a86f5 6924:57b66ee3bff3
  3971             with CurrentHedgehog^ do
  3971             with CurrentHedgehog^ do
  3972                 if (CurAmmoType = amPortalGun) then
  3972                 if (CurAmmoType = amPortalGun) then
  3973                     begin
  3973                     begin
  3974                     CurrentHedgehog^.Gear^.Message := CurrentHedgehog^.Gear^.Message and (not gmSwitch);
  3974                     CurrentHedgehog^.Gear^.Message := CurrentHedgehog^.Gear^.Message and (not gmSwitch);
  3975                 
  3975                 
  3976                     CurWeapon:= GetAmmoEntry(CurrentHedgehog^);
  3976                     CurWeapon:= GetCurAmmoEntry(CurrentHedgehog^);
  3977                     if CurWeapon^.Pos <> 0 then
  3977                     if CurWeapon^.Pos <> 0 then
  3978                         CurWeapon^.Pos := 0
  3978                         CurWeapon^.Pos := 0
  3979                         
  3979                         
  3980                     else
  3980                     else
  3981                     CurWeapon^.Pos := 1;
  3981                     CurWeapon^.Pos := 1;
  4342     CurWeapon: PAmmo;
  4342     CurWeapon: PAmmo;
  4343 begin
  4343 begin
  4344     if CurrentHedgehog <> nil then
  4344     if CurrentHedgehog <> nil then
  4345         with CurrentHedgehog^ do
  4345         with CurrentHedgehog^ do
  4346             begin
  4346             begin
  4347             CurWeapon:= GetAmmoEntry(CurrentHedgehog^);
  4347             CurWeapon:= GetCurAmmoEntry(CurrentHedgehog^);
  4348             if (CurAmmoType = amPortalGun) then
  4348             if (CurAmmoType = amPortalGun) then
  4349                 begin
  4349                 begin
  4350                 if not destroyGear then
  4350                 if not destroyGear then
  4351                     begin
  4351                     begin
  4352                     // switch color of ball to opposite of oldPortal
  4352                     // switch color of ball to opposite of oldPortal
  4442     newPortal^.IntersectGear := nil;
  4442     newPortal^.IntersectGear := nil;
  4443 
  4443 
  4444     if CurrentHedgehog <> nil then
  4444     if CurrentHedgehog <> nil then
  4445         with CurrentHedgehog^ do
  4445         with CurrentHedgehog^ do
  4446             begin
  4446             begin
  4447             CurWeapon:= GetAmmoEntry(CurrentHedgehog^);
  4447             CurWeapon:= GetCurAmmoEntry(CurrentHedgehog^);
  4448             // let's save the HH's dX's direction so we can decide where the "top" of the portal hole
  4448             // let's save the HH's dX's direction so we can decide where the "top" of the portal hole
  4449             newPortal^.Elasticity.isNegative := CurrentHedgehog^.Gear^.dX.isNegative;
  4449             newPortal^.Elasticity.isNegative := CurrentHedgehog^.Gear^.dX.isNegative;
  4450             // when doing a backjump the dx is the opposite of the facing direction
  4450             // when doing a backjump the dx is the opposite of the facing direction
  4451             if ((Gear^.State and gstHHHJump) <> 0) and (not cArtillery) then
  4451             if ((Gear^.State and gstHHHJump) <> 0) and (not cArtillery) then
  4452                 newPortal^.Elasticity.isNegative := not newPortal^.Elasticity.isNegative;
  4452                 newPortal^.Elasticity.isNegative := not newPortal^.Elasticity.isNegative;