hedgewars/GSHandlers.inc
changeset 912 acab672fb1aa
parent 911 b709fe13ed69
child 913 a86f8af21b94
equal deleted inserted replaced
911:b709fe13ed69 912:acab672fb1aa
  1186 TargetPoint.X:= NoPointX
  1186 TargetPoint.X:= NoPointX
  1187 end;
  1187 end;
  1188 
  1188 
  1189 ////////////////////////////////////////////////////////////////////////////////
  1189 ////////////////////////////////////////////////////////////////////////////////
  1190 procedure doStepTeleportAfter(Gear: PGear);
  1190 procedure doStepTeleportAfter(Gear: PGear);
       
  1191 var HHGear: PGear;
       
  1192 begin
       
  1193 HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
       
  1194 HHGear^.Y:= HHGear^.Y + HHGear^.dY; // hedgehog falling to collect cases
       
  1195 HHGear^.dY:= HHGear^.dY + cGravity;
       
  1196 if TestCollisionYwithGear(HHGear, 1) then
       
  1197    begin
       
  1198    DeleteGear(Gear);
       
  1199    AfterAttack
       
  1200    end
       
  1201 end;
       
  1202 
       
  1203 procedure doStepTeleportAnim(Gear: PGear);
  1191 begin
  1204 begin
  1192 inc(Gear^.Timer);
  1205 inc(Gear^.Timer);
  1193 if Gear^.Timer = 65 then
  1206 if Gear^.Timer = 65 then
  1194 	begin
  1207 	begin
  1195 	Gear^.Timer:= 0;
  1208 	Gear^.Timer:= 0;
  1196 	inc(Gear^.Pos);
  1209 	inc(Gear^.Pos);
  1197 	if Gear^.Pos = 11 then
  1210 	if Gear^.Pos = 11 then
  1198 		begin
  1211 		Gear^.doStep:= @doStepTeleportAfter
  1199 		DeleteGear(Gear);
       
  1200 		AfterAttack
       
  1201 		end
       
  1202 	end
  1212 	end
  1203 end;
  1213 end;
  1204 
  1214 
  1205 procedure doStepTeleport(Gear: PGear);
  1215 procedure doStepTeleport(Gear: PGear);
  1206 var HHGear: PGear;
  1216 var HHGear: PGear;
  1219 		isCursorVisible:= true
  1229 		isCursorVisible:= true
  1220 		end
  1230 		end
  1221 	else begin
  1231 	else begin
  1222 		DeleteCI(HHGear);
  1232 		DeleteCI(HHGear);
  1223 		SetAllHHToActive;
  1233 		SetAllHHToActive;
  1224 		Gear^.doStep:= @doStepTeleportAfter;
  1234 		Gear^.doStep:= @doStepTeleportAnim;
  1225 		Gear^.X:= HHGear^.X;
  1235 		Gear^.X:= HHGear^.X;
  1226 		Gear^.Y:= HHGear^.Y;
  1236 		Gear^.Y:= HHGear^.Y;
  1227 		HHGear^.X:= int2hwFloat(TargetPoint.X);
  1237 		HHGear^.X:= int2hwFloat(TargetPoint.X);
  1228 		HHGear^.Y:= int2hwFloat(TargetPoint.Y);
  1238 		HHGear^.Y:= int2hwFloat(TargetPoint.Y);
  1229 		HHGear^.State:= HHGear^.State or gstMoving
  1239 		HHGear^.State:= HHGear^.State or gstMoving