Faster fielders

Adjust left and right field positions.
Bouncy baserunners.
Patched npc nil index issue.
This commit is contained in:
Sage Vaillancourt 2025-02-11 00:01:36 -05:00
parent 90f792ff4e
commit 0646663e5e
4 changed files with 11 additions and 8 deletions

View File

@ -122,6 +122,8 @@ C.ThrowMeterDrainPerSec = 150
--- how fast the ball can be thrown.
C.CrankPower = 10
C.FielderRunMult = 1.3
C.UserThrowPower = 0.3
--- How fast baserunners move after a walk

View File

@ -20,7 +20,7 @@ FielderDanceAnimator.repeatCount = C.DanceBounceCount - 1
local function newFielder(name, speed)
return {
name = name,
speed = speed,
speed = speed * C.FielderRunMult,
}
end
@ -33,9 +33,9 @@ function Fielding.new()
third = newFielder("Third", 40),
pitcher = newFielder("Pitcher", 30),
catcher = newFielder("Catcher", 35),
left = newFielder("Left", 40),
center = newFielder("C.Center", 40),
right = newFielder("Right", 40),
left = newFielder("Left", 50),
center = newFielder("Center", 50),
right = newFielder("Right", 50),
},
---@type Fielder | nil
fielderTouchingBall = nil,
@ -69,9 +69,9 @@ function Fielding:resetFielderPositions(fromOffTheField)
self.fielders.third.target = utils.xy(C.Screen.W * 0.1, C.Screen.H * 0.48)
self.fielders.pitcher.target = utils.xy(C.PitcherStartPos.x, C.PitcherStartPos.y)
self.fielders.catcher.target = utils.xy(C.Screen.W * 0.475, C.Screen.H * 0.92)
self.fielders.left.target = utils.xy(C.Screen.W * -1, C.Screen.H * -0.2)
self.fielders.left.target = utils.xy(C.Screen.W * -0.6, C.Screen.H * -0.1)
self.fielders.center.target = utils.xy(C.Center.x, C.Screen.H * -0.4)
self.fielders.right.target = utils.xy(C.Screen.W * 2, self.fielders.left.target.y)
self.fielders.right.target = utils.xy(C.Screen.W * 1.6, self.fielders.left.target.y)
end
---@param deltaSeconds number

View File

@ -34,7 +34,8 @@ function blipper.new(msInterval, image1, image2)
image2 = image2,
draw = function(self, disableBlipping, x, y)
local currentImage = (disableBlipping or self.blinker.on) and self.image2 or self.image1
currentImage:draw(x, y)
local offsetY = currentImage == PlayerLowHat and -1 or 0
currentImage:draw(x, y + offsetY)
end,
}
end

View File

@ -55,7 +55,7 @@ function Npc:runningSpeed(ball)
end
local touchedBase = utils.isTouchingBase(runner1.x, runner1.y)
if not touchedBase then
if not touchedBase and runner1.nextBase then
local distToNext = utils.distanceBetween(runner1.x, runner1.y, runner1.nextBase.x, runner1.nextBase.y)
local distToPrev = utils.distanceBetween(runner1.x, runner1.y, runner1.prevBase.x, runner1.prevBase.y)
if distToNext < distToPrev then