getKickPos field half (GoalKick home) = Just { zero & px = if (home == West) (penalty_area_depth - half_length) (half_length - penalty_area_depth) }
where
half_length = scale 0.5 field.flength
-getKickPos field half (Corner home edge) = Just { px = if (home == West && half == SecondHalf || home == East && half == FirstHalf)
+getKickPos field half (Corner home edge) = Just { px = if (home == East)
(half_radius_corner_kick_area - half_length)
(half_length - half_radius_corner_kick_area)
, py = if (edge == North)
half_width = scale 0.5 field.fwidth
half_length = scale 0.5 field.flength
half_radius_corner_kick_area = scale 0.5 radius_corner_kick_area
-getKickPos field half (Penalty home) = Just { zero & px = if (home == West && half == SecondHalf || home == East && half == FirstHalf)
+getKickPos field half (Penalty home) = Just { zero & px = if (home == East)
(penalty_spot_depth - half_length)
(half_length - penalty_spot_depth)
}