PB.ini
jcbarr > 04-16-2020, 01:33 PM
This is the file that controls how the game is played. Determines how hard balls are hit, if the hitter misses when he swings, when an error is committed, when a player will be walked, etc. Look it over to get a better understanding of why some players put up the numbers they do with the ratings that they have.
[PlayBalance]
; Created for PSBL in Season 2
; Modified last on 3/27/99
; PSBL INI
; Final Version
;
; DEFENSIVE POSITIONS!!!
UseINIDefpos=1
;
; Outfield positions
outfieldPosPctVeryShallow=52
outfieldPosPctShallow=56
outfieldPosPctNormal=60
outfieldPosPctDeep=64
outfieldPosPctVeryDeep=68
;
normalPosLFPct=68
normalPosLFAngle=28
normalPosCFPct=68
normalPosCFAngle=0
normalPosRFPct=68
normalPosRFAngle=-28
;
guardLeftPosLFPct=63
guardLeftPosLFAngle=33
guardLeftPosCFPct=63
guardLeftPosCFAngle=5
guardLeftPosRFPct=53
guardLeftPosRFAngle=-23
;
guardRightPosLFPct=53
guardRightPosLFAngle=23
guardRightPosCFPct=63
guardRightPosCFAngle=-5
guardRightPosRFPct=63
guardRightPosRFAngle=-33
;
defPosHighPull=60
defPosLowPull=52
defPosHighPullExtra=58
defPosLowPullExtra=54
defPosHighPower=86
defPosLowPower=36
;
; Infielder positioning in "Normal" situations
normalPos1BDist=125
normalPos1BAngle=-33
normalPos2BDist=145
normalPos2BAngle=-15
normalPosSSDist=145
normalPosSSAngle=15
normalPos3BDist=125
normalPos3BAngle=33
;
; Infielder positioning in "Guard Lines" situations
guardLinesPos1BDist=125
guardLinesPos1BAngle=-38
guardLinesPos2BDist=145
guardLinesPos2BAngle=-15
guardLinesPosSSDist=145
guardLinesPosSSAngle=15
guardLinesPos3BDist=125
guardLinesPos3BAngle=38
;
; Infielder positioning in "Cutoff Run" situations
cutoffRunPos1BDist=95
cutoffRunPos1BAngle=-33
cutoffRunPos2BDist=115
cutoffRunPos2BAngle=-15
cutoffRunPosSSDist=115
cutoffRunPosSSAngle=15
cutoffRunPos3BDist=95
cutoffRunPos3BAngle=33
;
; Infielder positioning for "Double Play" situations
doublePlayPos1BDist=115
doublePlayPos1BAngle=-33
doublePlayPos2BDist=145
doublePlayPos2BAngle=-12
doublePlayPosSSDist=145
doublePlayPosSSAngle=12
doublePlayPos3BDist=115
doublePlayPos3BAngle=33
;
; FIELDER CATCH CHANCES!!!
catchBaseChance=96
catchFADiv=33
catchChanceDiving=-30
catchChanceLeaping=-15
catchChanceLessThan1Sec=-10
catchChancePerTenth=-2
catchChancePitcherAdjust=0
catchChanceCatcherAdjust=3
catchChanceFirstBaseAdjust=2
catchChanceSecondBaseAdjust=-3
catchChanceThirdBaseAdjust=-3
catchChanceShortStopAdjust=-3
catchChanceLeftFieldAdjust=1
catchChanceCenterFieldAdjust=1
catchChanceRightFieldAdjust=1
;
delayBasePitcher=24
delayFAPctPitcher=-8
delayBaseCatcher=17
delayFAPctCatcher=-6
delayBaseFirstBase=11
delayFAPctFirstBase=-5
delayBaseSecondBase=11
delayFAPctSecondBase=-7
delayBaseThirdBase=11
delayFAPctThirdBase=-5
delayBaseShortStop=11
delayFAPctShortStop=-7
delayBaseLeftField=23
delayFAPctLeftField=-12
delayBaseCenterField=23
delayFAPctCenterField=-12
delayBaseRightField=23
delayFAPctRightField=-12
;
; MAXIMUM CHASE DISTANCES
infieldMaxChaseDist=30
pitcherMaxChaseDist=90
outfieldMinChaseDist=150
;
; CHANCE OF THROWING ERRORS!!!
goodThrowBase=93
goodThrowFAPct=7
goodThrowChancePitcher=2
goodThrowChanceCatcher=5
goodThrowChanceFirstBase=3
goodThrowChanceSecondBase=5
goodThrowChanceThirdBase=5
goodThrowChanceShortStop=4
goodThrowChanceLeftField=3
goodThrowChanceCenterField=3
goodThrowChanceRightField=3
;
; THROWS
maxThrowDistBase=150
maxThrowDistASPct=150
throwHeightPct=60
;
throwSpeedIFBase=30
throwSpeedIFDistPct=3
throwSpeedIFMax=99
throwSpeedOFBase=63
throwSpeedOFDistPct=3
throwSpeedOFMax=99
;
; STEALS!!!
longLeadSpeed=50
pickoffScareSpeed=33
stealChanceBase=80
stealChance00Count=-10
stealChance01Count=-15
stealChance02Count=-25
stealChance10Count=0
stealChance11Count=0
stealChance12Count=0
stealChance20Count=15
stealChance21Count=10
stealChance22Count=0
stealChance30Count=10
stealChance31Count=15
stealChance32Count=25
offManStealChancePct=100
;
stealChanceVerySlowThresh=20
stealChanceSlowThresh=40
stealChanceMedThresh=70
stealChanceFastThresh=85
;
stealChanceVerySlowAdjust=-40
stealChanceSlowAdjust=-30
stealChanceMedAdjust=0
stealChanceFastAdjust=20
stealChanceVeryFastAdjust=30
;
stealChanceVeryLowHoldThresh=30
stealChanceLowHoldThresh=42
stealChanceMedHoldThresh=54
stealChanceHighHoldThresh=70
;
stealChanceVeryLowHoldAdjust=-10
stealChanceLowHoldAdjust=-10
stealChanceMedHoldAdjust=-10
stealChanceHighHoldAdjust=-10
stealChanceVeryHighHoldAdjust=-10
;
stealChancePitcherFaceAdjust=-10
stealChancePitcherBackAdjust=5
stealChancePitcherWindupAdjust=5
stealChancePitcherWildAdjust=0
;
stealChanceOnFirst2OutHighCHThresh=60
stealChanceOnFirst2OutHighCHAdjust=10
stealChanceOnFirst2OutLowCHThresh=40
stealChanceOnFirst2OutLowCHAdjust=-15
;
stealChanceOnFirst01OutHighCHThresh=60
stealChanceOnFirst01OutHighCHAdjust=-5
stealChanceOnFirst01OutLowCHThresh=55
stealChanceOnFirst01OutLowCHAdjust=10
;
stealChanceOnSecond0OutAdjust=-40
stealChanceOnSecond1OutAdjust=-40
stealChanceOnSecond2OutAdjust=-40
stealChanceOnSecondHighCHThresh=60
stealChanceOnSecondHighCHAdjust=-20
;
stealChanceWayBehindThresh=-3
stealChanceWayBehindAdjust=-20
;
; PITCHING!!!
pitchScoringOut=1
pitchScoringStrikeOut=3
pitchScoringOffRun=3
pitchScoringInnsAfter4=3
pitchScoringWalk=-1
pitchScoringHit=-2
pitchScoringConsHit=-1
pitchScoringRun=-2
pitchScoringER=-2
pitchScoringHR=-3
pitchScoringWP=-2
;
; Relieving starters
starterToastThreshInn1=-26
starterToastThreshInn2=-24
starterToastThreshInn3=-22
starterToastThreshInn4=-20
starterToastThreshInn5=-16
starterToastThreshInn6=-12
starterToastThreshInn7=-9
starterToastThreshInn8=-4
starterToastThreshInn9=1
starterToastThreshPerInn=1
;
starterToastThreshAwayAdjust=1
starterToastThreshFewBullpenPitchesAdjust=-4
starterToastThreshManyBullpenPitchesAdjust=4
;
pitcherToastPctPitchesLeft=6
pitcherToastMaxLead=0
pitcherToastMinLead=0
;
; CONTROL AND MOTION!!!
effCOPct=60
effMOPct=100
controlBoxIncreaseEffCOPct=25
;
speedReductionBase=3
speedReductionRange=3
speedReductionEffMOPct=5
;
; WILD PITCHES
wildCatchChanceBase=84
wildCatchChanceFAPct=8
wildCatchChanceOppMod=-10
wildCatchChanceHighMod=-10
;
; FATIGUE!!!
pitcherTiredThresh=20
pitcherExhausted=0
posPlayerPitchingRuns=100
;
tiredPitchRatPct=90
tiredASPct=90
exhaustedPitchRatPct=75
exhaustedASPct=75
;
; PITCH OBJECTIVES!!!
pitchRatVariationCount=1
pitchRatVariationFaces=3
pitchRatVariationBase=-2
;
nonEstablishedPitchTypeAdjust=0
primaryPitchTypeAdjust=50
;
; Establish a pitch on X-X counts
pitchObj00CountEstablishWeight=0
pitchObj01CountEstablishWeight=0
pitchObj02CountEstablishWeight=0
pitchObj10CountEstablishWeight=0
pitchObj11CountEstablishWeight=0
pitchObj12CountEstablishWeight=0
pitchObj20CountEstablishWeight=0
pitchObj21CountEstablishWeight=0
pitchObj22CountEstablishWeight=0
pitchObj30CountEstablishWeight=0
pitchObj31CountEstablishWeight=0
pitchObj32CountEstablishWeight=0
;
; Throw outside the zone on X-X counts
pitchObj00CountOutsideWeight=40
pitchObj01CountOutsideWeight=50
pitchObj02CountOutsideWeight=60
pitchObj10CountOutsideWeight=30
pitchObj11CountOutsideWeight=40
pitchObj12CountOutsideWeight=50
pitchObj20CountOutsideWeight=20
pitchObj21CountOutsideWeight=30
pitchObj22CountOutsideWeight=40
pitchObj30CountOutsideWeight=10
pitchObj31CountOutsideWeight=20
pitchObj32CountOutsideWeight=30
;
; Best pitch to plus location on X-X counts
pitchObj00CountBestWeight=0
pitchObj01CountBestWeight=0
pitchObj02CountBestWeight=20
pitchObj10CountBestWeight=0
pitchObj11CountBestWeight=5
pitchObj12CountBestWeight=30
pitchObj20CountBestWeight=0
pitchObj21CountBestWeight=15
pitchObj22CountBestWeight=40
pitchObj30CountBestWeight=0
pitchObj31CountBestWeight=25
pitchObj32CountBestWeight=50
;
; Best pitch to center of zone on X-X counts
pitchObj00CountBestCenterWeight=0
pitchObj01CountBestCenterWeight=0
pitchObj02CountBestCenterWeight=0
pitchObj10CountBestCenterWeight=0
pitchObj11CountBestCenterWeight=0
pitchObj12CountBestCenterWeight=0
pitchObj20CountBestCenterWeight=10
pitchObj21CountBestCenterWeight=5
pitchObj22CountBestCenterWeight=0
pitchObj30CountBestCenterWeight=20
pitchObj31CountBestCenterWeight=15
pitchObj32CountBestCenterWeight=10
;
; Primary pitch to center of zone on X-X counts
pitchObj00CountFastCenterWeight=0
pitchObj01CountFastCenterWeight=0
pitchObj02CountFastCenterWeight=0
pitchObj10CountFastCenterWeight=0
pitchObj11CountFastCenterWeight=0
pitchObj12CountFastCenterWeight=0
pitchObj20CountFastCenterWeight=30
pitchObj21CountFastCenterWeight=20
pitchObj22CountFastCenterWeight=10
pitchObj30CountFastCenterWeight=40
pitchObj31CountFastCenterWeight=30
pitchObj32CountFastCenterWeight=20
;
; Any pitch to plus location on X-X counts
pitchObj00CountPlusWeight=40
pitchObj01CountPlusWeight=30
pitchObj02CountPlusWeight=20
pitchObj10CountPlusWeight=40
pitchObj11CountPlusWeight=30
pitchObj12CountPlusWeight=20
pitchObj20CountPlusWeight=20
pitchObj21CountPlusWeight=30
pitchObj22CountPlusWeight=40
pitchObj30CountPlusWeight=30
pitchObj31CountPlusWeight=40
pitchObj32CountPlusWeight=50
;
; PITCH CONTROL ZONES AND SPEEDS!!!
fbSpeedBase=85
fbSpeedRange=2
fbSpeedASPct=13
;
cbSpeedBase=80
cbSpeedRange=2
cbSpeedASPct=10
;
cuSpeedBase=75
cuSpeedRange=2
cuSpeedASPct=10
;
slSpeedBase=82
slSpeedRange=2
slSpeedASPct=10
;
sbSpeedBase=80
sbSpeedRange=2
sbSpeedASPct=10
;
kbSpeedBase=64
kbSpeedRange=2
kbSpeedASPct=10
;
siSpeedBase=82
siSpeedRange=2
siSpeedASPct=10
;
fbControlBoxWidth=1
fbControlBoxHeight=1
;
cbControlBoxWidth=1
cbControlBoxHeight=1
;
cuControlBoxWidth=1
cuControlBoxHeight=1
;
slControlBoxWidth=1
slControlBoxHeight=1
;
sbControlBoxWidth=1
sbControlBoxHeight=1
;
kbControlBoxWidth=1
kbControlBoxHeight=1
;
siControlBoxWidth=1
siControlBoxHeight=1
;
stControlBoxWidth=1
stControlBoxHeight=1
;
fbBreakBaseWidth=0
fbBreakBaseHeight=0
fbBreakRangeWidth=0
fbBreakRangeHeight=0
;
cbBreakBaseWidth=2
cbBreakBaseHeight=-4
cbBreakRangeWidth=2
cbBreakRangeHeight=-1
;
cuBreakBaseWidth=0
cuBreakBaseHeight=-3
cuBreakRangeWidth=0
cuBreakRangeHeight=-2
;
slBreakBaseWidth=1
slBreakBaseHeight=0
slBreakRangeWidth=2
slBreakRangeHeight=-1
;
sbBreakBaseWidth=-2
sbBreakBaseHeight=-3
sbBreakRangeWidth=-2
sbBreakRangeHeight=-1
;
kbBreakBaseWidth=0
kbBreakBaseHeight=-4
kbBreakRangeWidth=2
kbBreakRangeHeight=-2
;
siBreakBaseWidth=0
siBreakBaseHeight=-4
siBreakRangeWidth=0
siBreakRangeHeight=-2
;
stBreakBaseWidth=0
stBreakBaseHeight=0
stBreakRangeWidth=0
stBreakRangeHeight=0
;
; PINCH HIT FOR THE CURRENT PITCHER!!!
phForPitcherBase=-999
phForPitcherEarlyInnAdjust=-100
phForPitcherMiddleInnAdjust=-50
phForPitcherLateInnAdjust=0
phForPitcherInn9Adjust=0
phForPitcherExtraInnAdjust=50
phForPitcherPerOutAdjust=-10
phForPitcherPerBPPitcherAdjust=10
phForPitcherPerBenchPlayerAdjust=10
;
; Adjustments for when the team is winning the game
phForPitcherBigLeadAdjust=-999
phForPitcherLeadAdjust=-999
;
; Adjustments for winning run at specified positions
phForPitcherWinRunInScoringPosAdjust=0
phForPitcherWinRunOnFirstAdjust=0
phForPitcherWinRunAtBatAdjust=0
phForPitcherWinRunOnDeckAdjust=0
phForPitcherWinRunInDugoutAdjust=0
;
; Pitcher condition adjustments
phForPitcherExhaustedAdjust=50
phForPitcherTiredAdjust=-50
phForPitcherRestedAdjust=-999
phForPitcherShutoutAdjust=-999
phForPitcherNoHitterAdjust=-999
phForPitcherPerInjuryPointAdjust=5
;
; BATTING!!!
; Strike Zone
sureStrikeDist=3
closeStrikeDist=7
closeBallDist=5
;
; ID!!!
; Base + ( CH + EXP + (100 - Pitchrating) / 2 )
idRatingBase=47
idRatingCHPct=3
idRatingExpPct=25
idRatingPitchRatPct=100
;
idRatingTypeWeight=90
idRatingLocWeight=83
idRatingTimingWeight=83
;
timingVeryBadThresh=60
timingVeryBadCount=2
timingVeryBadFaces=35
timingVeryBadBase=-35
;
timingBadThresh=84
timingBadCount=2
timingBadFaces=31
timingBadBase=-31
;
timingMedThresh=92
timingMedCount=3
timingMedFaces=22
timingMedBase=-33
;
timingGoodThresh=96
timingGoodCount=9
timingGoodFaces=7
timingGoodBase=-31
;
timingVeryGoodCount=14
timingVeryGoodFaces=4
timingVeryGoodBase=-28
;
timingBuntCount=1
timingBuntFaces=30
timingBuntBase=-15
;
; DISCIPLINE!!!
disciplineRatingBase=94
disciplineRatingCHPct=5
disciplineRatingExpPct=50
disciplineRatingPct=80
;
disciplineRatingNoPitchesAdjust=40
disciplineRatingScoringPosAdjust=-10
disciplineRatingOnThird01OutsAdjust=-10
disciplineRatingPlusZoneAdjust=10
disciplineRatingMinusZoneAdjust=-10
disciplineRatingLocNextToLookAdjust=-20
disciplineRatingFBDownMiddleAdjust=-40
;
disciplineRating00CountAdjust=20
disciplineRating01CountAdjust=0
disciplineRating02CountAdjust=0
disciplineRating10CountAdjust=0
disciplineRating11CountAdjust=0
disciplineRating12CountAdjust=0
disciplineRating20CountAdjust=0
disciplineRating21CountAdjust=0
disciplineRating22CountAdjust=0
disciplineRating30CountAdjust=50
disciplineRating31CountAdjust=0
disciplineRating32CountAdjust=0
;
; ADJUSTMENT UNITS!!!
adjustUnitsCHPct=35
adjustUnitsPowerAdjust=0
adjustUnitsPowerPct=25
adjustUnitsNormalAdjust=0
adjustUnitsContactAdjust=0
adjustUnitsContactPct=200
adjustUnitsBuntAdjust=999
adjustUnitsBuntPct=500
;
adjustUnitsDiag=2
adjustUnitsHoriz=1
adjustUnitsVert=1
;
adjustUnitsSpeedUpLowGeared=1
adjustUnitsSpeedUpHighGeared=8
adjustUnitsSlowDownLowGeared=1
adjustUnitsSlowDownHighGeared=4
;
; CHECK SWING CHANCES
checkChanceBasePower=30
checkChanceBaseNormal=40
checkChanceBaseContact=50
checkChanceBaseBunt=100
checkChanceCHPctPower=10
checkChanceCHPctNormal=20
checkChanceCHPctContact=30
checkChanceCHPctBunt=40
failedCheckContactChance=5
;
; PITCH LOOK ADJUSTMENTS!!!
lookPrimaryType00CountAdjust=0
lookPrimaryType01CountAdjust=0
lookPrimaryType02CountAdjust=0
lookPrimaryType10CountAdjust=0
lookPrimaryType11CountAdjust=0
lookPrimaryType12CountAdjust=0
lookPrimaryType20CountAdjust=20
lookPrimaryType21CountAdjust=10
lookPrimaryType22CountAdjust=0
lookPrimaryType30CountAdjust=20
lookPrimaryType31CountAdjust=20
lookPrimaryType32CountAdjust=20
;
lookBestType00CountAdjust=0
lookBestType01CountAdjust=0
lookBestType02CountAdjust=30
lookBestType10CountAdjust=0
lookBestType11CountAdjust=0
lookBestType12CountAdjust=30
lookBestType20CountAdjust=0
lookBestType21CountAdjust=0
lookBestType22CountAdjust=30
lookBestType30CountAdjust=0
lookBestType31CountAdjust=15
lookBestType32CountAdjust=30
;
; BATTING PHYSICS!!!
swingSpeedBase=73
swingSpeedPHPct=7
swingSpeedPowerAdjust=4
swingSpeedNormalAdjust=0
swingSpeedContactAdjust=-4
swingSpeedBuntAdjust=-500
;
averagePitchSpeed=86
fastPitchBatSlowdownPct=108
slowPitchBatSpeedupPct=86
;
batPowerHandleBase=25
batPowerDullBase=50
batPowerSweetBase=98
batPowerEndBase=50
batPowerHandleRange=5
batPowerDullRange=10
batPowerSweetRange=5
batPowerEndRange=10
;
; TRAJECTORIES
hitAngleCountPower=3
hitAngleFacesPower=15
hitAngleBasePower=8
;
hitAngleCountNormal=3
hitAngleFacesNormal=14
hitAngleBaseNormal=8
;
hitAngleCountContact=3
hitAngleFacesContact=13
hitAngleBaseContact=8
;
hitAngleCountBunt=10
hitAngleFacesBunt=7
hitAngleBaseBunt=-10
;
; SWING ANGLE
swingAngleTenthDegreesBase=127
swingAngleTenthDegreesRange=0
swingAngleTenthDegreesGFPct=140
swingAngleTenthDegreesPowerAdjust=-8
swingAngleTenthDegreesNormalAdjust=0
swingAngleTenthDegreesContactAdjust=8
swingAngleTenthDegreesBuntAdjust=40
;
swingAngleTenthDegreesHighAdjust=30
swingAngleTenthDegreesLowAdjust=-30
swingAngleTenthDegreesOutsideAdjust=-15
;
; TIME SLOPS!!!
couldBeCaughtSlop=-15
shouldBeCaughtSlop=5
generalSlop=8
relaySlop=15
userCatchDist=3
computerCatchDist=3
tagSyncDist=4
tagTimeSlop=4
throwTimeSlop=4
effortCatchDist=15
automaticCatchDist=20
;
; PLAYER SPEED
speedBase=20
speedPct=2
hbpBatterStepOutChance=94
;
; GAME PHYSICS!!!
ballTempPct=50
ballWindSpeedPct=50
ballAirResistancePct=100
ballAltitudePct=75
ballBaseAltitude=0
;
rollFrictionGrass=7
rollFrictionTurf=6
bounceVertGrassPct=40
bounceHorizGrassPct=70
bounceVertTurfPct=42
bounceHorizTurfPct=72
bounceVertDirtPct=38
bounceHorizDirtPct=58
bounceWetAdjust=-4
bounceHotAdjust=4
bounceColdAdjust=-4
;
; INJURIES!!!
injuryChanceRunThroughFirst=9999
injuryChanceRunBases=8750
injuryChanceThrowBall=7500
injuryChanceFieldFlyBall=5000
injuryChanceFieldGrounder=5000
injuryChanceHitByLowPitch=50
injuryChanceHitByMediumPitch=75
injuryChanceHitByHighPitch=25
injuryChanceBatterSwing=7500
injuryChanceBatterHit=125
injuryChanceCatcherHit=250
injuryChancePlayerHit=250
injuryChanceSlideHeadFirst=500
injuryChanceSlideFeetFirst=500
injuryChanceCollision=250
injuryChanceOverUsage=500
injuryChanceWarmPitch=7500
injuryChanceHalfPitch=8750
injuryChanceColdPitch=9999