equal
deleted
inserted
replaced
29 uAmmos, uDebug, uUtils, uGearsHedgehog, uGearsRender; |
29 uAmmos, uDebug, uUtils, uGearsHedgehog, uGearsRender; |
30 |
30 |
31 procedure doStepRopeAfterAttack(Gear: PGear); |
31 procedure doStepRopeAfterAttack(Gear: PGear); |
32 var |
32 var |
33 HHGear: PGear; |
33 HHGear: PGear; |
|
34 tX: hwFloat; |
34 begin |
35 begin |
35 HHGear := Gear^.Hedgehog^.Gear; |
36 HHGear := Gear^.Hedgehog^.Gear; |
36 WorldWrap(HHGear); |
37 tX:= HHGear^.X; |
|
38 if WorldWrap(HHGear) and (WorldEdge = weWrap) and |
|
39 (TestCollisionXwithGear(HHGear, 1) or TestCollisionXwithGear(HHGear, -1)) then |
|
40 begin |
|
41 HHGear^.X:= tX; |
|
42 HHGear^.dX.isNegative:= (hwRound(tX) > leftX+HHGear^.Radius*2) |
|
43 end; |
|
44 |
37 if (HHGear^.Hedgehog^.CurAmmoType = amParachute) and (HHGear^.dY > _0_39) then |
45 if (HHGear^.Hedgehog^.CurAmmoType = amParachute) and (HHGear^.dY > _0_39) then |
38 begin |
46 begin |
39 DeleteGear(Gear); |
47 DeleteGear(Gear); |
40 ApplyAmmoChanges(HHGear^.Hedgehog^); |
48 ApplyAmmoChanges(HHGear^.Hedgehog^); |
41 HHGear^.Message:= HHGear^.Message or gmLJump; |
49 HHGear^.Message:= HHGear^.Message or gmLJump; |
115 begin |
123 begin |
116 if GameTicks mod 4 <> 0 then exit; |
124 if GameTicks mod 4 <> 0 then exit; |
117 |
125 |
118 HHGear := Gear^.Hedgehog^.Gear; |
126 HHGear := Gear^.Hedgehog^.Gear; |
119 |
127 |
120 if ((HHGear^.State and gstHHDriven) = 0) or WorldWrap(HHGear) |
128 tX:= HHGear^.X; |
121 or (CheckGearDrowning(HHGear)) or (Gear^.PortalCounter <> 0) then |
129 if WorldWrap(HHGear) and (WorldEdge = weWrap) and |
|
130 (TestCollisionXwithGear(HHGear, 1) or TestCollisionXwithGear(HHGear, -1)) then |
|
131 begin |
|
132 PlaySound(sndRopeRelease); |
|
133 RopeDeleteMe(Gear, HHGear); |
|
134 HHGear^.X:= tX; |
|
135 HHGear^.dX.isNegative:= (hwRound(tX) > leftX+HHGear^.Radius*2); |
|
136 exit |
|
137 end; |
|
138 |
|
139 tX:= HHGear^.X; |
|
140 if ((HHGear^.State and gstHHDriven) = 0) or |
|
141 (CheckGearDrowning(HHGear)) or (Gear^.PortalCounter <> 0) then |
122 begin |
142 begin |
123 PlaySound(sndRopeRelease); |
143 PlaySound(sndRopeRelease); |
124 RopeDeleteMe(Gear, HHGear); |
144 RopeDeleteMe(Gear, HHGear); |
125 exit |
145 exit |
126 end; |
146 end; |