def calculate_hole_in_one_chance(distance, club_power, wind_effect, accuracy, skill_bonus): effective_distance = distance + wind_effect power_diff = abs(club_power - abs(effective_distance)) base_chance = max(0, (100 * (1 - (power_diff2)))) * accuracy) adjusted_chance = base_chance * (1 + skill_bonus) return min(100, adjusted_chance)