Scoreboard Smash

In short

“Practice only. The scoreboard sits right behind a short fence: break it!” It lives in db.practiceParks, so it is only in the Batting Cage: never a run map, never unlocked, not in the co-op lobby. No targets, no special ball, no modifiers.

How it works

  • The cage’s park list is every run map in unlock order, then the practice parks, so Scoreboard Smash is the last entry (6th). Pick it in the BATTING CAGE park picker or cycle to it with M in the cage.
  • stadium = false: an open field with no stands or crowd.
  • The scoreboard is moved in to scoreboardDistanceFt = 330 (its face, from home plate) on 5 m legs (scoreboardLegHeightM = 5) instead of the usual spot and 15 m legs. A code comment says a simulation found about 4 in 10 swings of 90 to 120 mph at 16 to 38 degrees break it, from about 90 mph. See Scoreboard.
  • In the cage there are no outs, no score and no rewards; the pitcher is the Pitching Machine. See Batting Cage.
  • It has no finalBossId and no boss: it is never a run map.
  • The main menu INDEX lists it first under BALLPARKS, subtitle “Batting cage” (Index Screen).

Numbers

WhatValueWhere to tune
id / display namesmash / Scoreboard SmashDefaultContent
ListpracticeParks (not ballparks)db.practiceParks.Add(smash)
LF / CF / RF280 / 300 / 280 ftPark(...)
Wall height8 ftPark(...)
Gravity / windx1 / nonedefaults
Sky / ground / wallClearDay / Mowed / Paddeddefaults
Grass / wall colour(0.34, 0.7, 0.3) / (0.16, 0.3, 0.55)Park(...)
Stadiumnostadium = false
Scoreboard distance330 ft to the face (other open fields: 140 ft past the CF fence)scoreboardDistanceFt
Scoreboard legs5 m (default 15 m)scoreboardLegHeightM
Targets / special ball / batter modifiersnoneDefaultContent
Inning goalsnone: it is never a run map

In the code

FileWhat it does
Assets/_Project/Scripts/Data/DefaultContent.csPark("smash", ...), scoreboard placement, db.practiceParks.Add(smash)
Assets/_Project/Scripts/Data/ContentDatabase.cspracticeParks list
Assets/_Project/Scripts/Modes/BattingCage.csParks: run maps then practice parks
Assets/_Project/Scripts/Ballparks/Scoreboard.csDistanceM, LegHeightM, the breakable board

Gotchas

  • ContentDatabase.GetBallpark(id) only searches ballparks, so it does not find smash.
  • If a practice park were put in ballparks by mistake it would become a run map with its own unlock slot and goals.