Moon Stadium
In short
Map 5 of 5. “Low gravity. Bonus locations out past the stands: hit the space station!” Gravity x0.75 against 380 / 450 / 380 ft fences and a 20 ft wall. Its targets add flat points (+50 to +200) instead of multiplying, and four of them float in the air so the ball must fly through them.
How it works
- Unlock: last in
db.ballparks. Opens when Midnight Yard is beaten on Medium. It opens nothing further. - Environment:
gravityScale = 0.75(9.81 x 0.75 m/s²),sky = SkyPreset.Space(dark sky, 260 stars, and a blue and green Earth sphere hanging in the sky),ground = GroundStyle.Lunar(cratered moon dust outside, dark regolith field, a landing pad at the plate). A full stadium with a half-full crowd. - Special ball: Anti-Gravity on curveball, sinker and changeup: the pitch’s drop turns into a rise. See Special Balls.
- Bonus locations: every target is made with
Bonus(...):multiplier = 1, a flatbonus, andoutsideStadium = true, so the stands do not move back for them. Ground ones pay when the ball lands inside the radius; aerial ones (heightM > 0) pay when the flight path passes within the radius of that point before landing. If several are earned, the highest bonus wins (ScoreCalculator.FindTarget). See Scoring. - Placement: a code comment says the spots were placed by simulating moon-gravity home runs, so +50 is hit by about 6% of home runs, +100 about 3.5 to 4%, +150 about 2%, +200 about 1%.
- Dressing:
moon.dressing = "Parks/moon_Dressing"still does not exist at 45a2167, soParkLayouts.BuildMoonbuilds it fromResources/Props/Moon/(seededSystem.Random(2077)): a prop on each bonus location sized to its zone, aMeteorShowereffect for the Meteor Shower, 16 CraterRim mounds at 830 to 900 ft all the way round, 4 Mesas on the horizon, and up to 70 boulders kept out of the bonus zones. - Pitchers: the shared pool for innings 1 to 8. Because Anti-Gravity rides only curveballs, sinkers and changeups,
pitchers here lean on those pitches (80% of draws, about 70% of pitches;
PitcherAI.FavouredShare). Final boss:moon.finalBossId = "alien", so inning 9 is always BOSS: The Alien (only here): curveballs 2, sliders 2, fastballs 1, knuckleballs 1, speed x1.05, no special ball of his own yet. See Pitchers and Bosses.
Numbers
| What | Value | Where to tune |
|---|---|---|
| id / display name | moon / Moon Stadium | DefaultContent |
| Unlock order | 5 of 5 (index 4), goal multiplier x1.74900625 | order of db.ballparks |
| LF / CF / RF | 380 / 450 / 380 ft | Park(...) |
| Wall height | 20 ft | Park(...) |
| Gravity / wind | x0.75 (card: “Gravity x0.75”) / none | gravityScale |
| Night / sky | no / Space | isNight, sky |
| Ground / wall | Lunar / Padded | ground, wallStyle |
| Grass / wall colour | (0.58, 0.6, 0.7) / (0.24, 0.26, 0.34) | Park(...) |
| Seats / crowd density | (0.45, 0.45, 0.5) / 0.5 | seatColor, crowdDensity |
| Special ball | Anti-Gravity, curveball / sinker / changeup, chance 1/3 | moon.balls |
| Final boss | The Alien (alien): no ball, no handicap | moon.finalBossId |
| Batter modifiers | none | batterModifiers |
| Bleachers start | 30 ft behind the wall (the minimum; bonus locations are outside the stadium) | StadiumLayout.GapFt |
Bonus locations (all multiplier 1)
| Label | Spray | Distance | Radius | Height | Pays | Prop |
|---|---|---|---|---|---|---|
| Rocket Boost | -36° | 420 ft | 38 ft | 24 m (aerial) | +50 | RocketBoost_Bob |
| Radiation Pool | 30° | 555 ft | 55 ft | ground | +50 | RadiationPool |
| Asteroid Crates | -18° | 460 ft | 34 ft | 28 m (aerial) | +100 | Asteroid_Bob |
| Lunar Base | -28° | 565 ft | 48 ft | ground | +100 | LunarBase |
| Satellite Dish | 40° | 540 ft | 42 ft | ground | +100 | SatelliteDish |
| Space Station | 6° | 500 ft | 38 ft | 32 m (aerial) | +150 | SpaceStation_Bob |
| Crystal Caverns | -8° | 600 ft | 42 ft | ground | +150 | CrystalCaverns |
| Meteor Shower | 24° | 520 ft | 32 ft | 32 m (aerial) | +200 | MeteorShower effect |
Inning goals (inning 3, 6, 9 are boss innings)
| Difficulty | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|
| Normal | 875 | 1100 | 1700 | 1700 | 2125 | 3325 | 3325 | 4175 | 6525 |
| Medium | 1225 | 1525 | 2400 | 2400 | 3000 | 4675 | 4675 | 5850 | 9125 |
| Hard | 1650 | 2075 | 3250 | 3250 | 4050 | 6350 | 6350 | 7925 | 12375 |
Special ball chance by difficulty (x1 / x1.5 / x2): 1/3, 1/2, 2/3.
In the code
| File | What it does |
|---|---|
Assets/_Project/Scripts/Data/DefaultContent.cs | Park("moon", ...), gravity, sky, ground, Bonus(...) targets, Anti-Gravity ball, finalBossId, The Alien |
Assets/_Project/Scripts/Ballparks/ParkLayouts.cs | BuildMoon: bonus props, crater rim, mesas, boulders |
Assets/_Project/Scripts/Ballparks/MeteorShower.cs | The Meteor Shower effect |
Assets/_Project/Scripts/Ballparks/ScoreCalculator.cs | FindTarget / Earned: aerial targets are checked along the flight path |
Assets/_Project/Scripts/Ballparks/BallparkBuilder.cs | Lunar ground, stars and Earth |
Gotchas
- Bonus points are added before the HR Multiplier and green bonus: score =
(distance + bonus) x HR Multiplier x green multiplier, so a Showboat Chain also raises the bonus. - Aerial targets get no ground disc: their prop is the marker (
BuildTargetsskips them). - The prop for each target is chosen by its
labelinBuildMoon; renaming a target loses its prop. - An Anti-Gravity pitch’s arc loop is flipped too: it sags first, then rises (
PitchData.PathAt). - The match intro’s map shot arcs past these bonus locations and its card lists what each pays on a home run of its
distance (
ScoreCalculator.TargetValue). See Cutscenes.
Related
- Ballparks: all parks compared
- Special Balls: the Anti-Gravity ball
- Pitchers and Bosses: The Alien
- Scoring: targets and bonus locations
- Hit Physics: gravity scale