CLAUDE: Fix DO3 (double-3) batter advancement
Fixed incorrect batter advancement for DO3 (double-3) outcomes. The batter was incorrectly reaching 3B instead of 2B. DO3 means: - DO = Double (batter reaches 2B) - 3 = Runners advance 3 bases Changes: - play_resolver.py: Fixed DOUBLE_3 outcome handling (line 416) - Changed batter_result from 3 to 2 - Updated description to clarify "runners advance 3 bases" not "batter to 3rd" - play_resolver.py: Fixed X-Check DO3 handling (line 1043) - Changed batter_reaches from 3 to 2 - Added comment explaining DO3 notation Now on a DO3 + NO error: ✅ Batter reaches 2B (correct) ✅ R1 advances 3 bases → HOME (correct) ✅ R2 would advance 3 bases → HOME (correct) ✅ R3 would advance 3 bases → HOME (correct) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
cf7cc23f45
commit
76e01420a3
@ -405,7 +405,7 @@ class PlayResolver:
|
||||
)
|
||||
|
||||
elif outcome == PlayOutcome.DOUBLE_3:
|
||||
# Double with extra advancement (batter to 3rd)
|
||||
# Double with extra runner advancement (runners advance 3 bases)
|
||||
runners_advanced = self._advance_on_double_3(state)
|
||||
runs_scored = sum(1 for (from_base, to_base) in runners_advanced if to_base == 4)
|
||||
|
||||
@ -413,9 +413,9 @@ class PlayResolver:
|
||||
outcome=outcome,
|
||||
outs_recorded=0,
|
||||
runs_scored=runs_scored,
|
||||
batter_result=3, # Batter goes to 3rd
|
||||
batter_result=2, # Batter reaches 2B (it's a double)
|
||||
runners_advanced=runners_advanced,
|
||||
description="Double to right-center gap (batter to 3rd)",
|
||||
description="Double to right-center gap (runners advance 3 bases)",
|
||||
ab_roll=ab_roll,
|
||||
is_hit=True
|
||||
)
|
||||
@ -1040,7 +1040,7 @@ class PlayResolver:
|
||||
batter_reaches = 2
|
||||
elif hit_type == 'DO3':
|
||||
base_advances = self._advance_on_double_3(state)
|
||||
batter_reaches = 3
|
||||
batter_reaches = 2 # DO = double (batter to 2B), 3 = runners advance 3 bases
|
||||
elif hit_type == 'TR3':
|
||||
base_advances = self._advance_on_triple(state)
|
||||
batter_reaches = 3
|
||||
|
||||
Loading…
Reference in New Issue
Block a user