The CBL
PB.ini - Printable Version

+- The CBL (http://www.the-cbl.com/mybb)
+-- Forum: Official CBL Business (http://www.the-cbl.com/mybb/forum-1.html)
+--- Forum: Rules and Information (http://www.the-cbl.com/mybb/forum-2.html)
+--- Thread: PB.ini (/thread-4.html)



PB.ini - jcbarr - 04-16-2020

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