GolfCartLauncher
New runtime item: a launcher cloned from the rocket launcher that fires a fully-drivable golf cart as the projectile.
CHANGELOG
Changelog
v0.4.0
- Migrate custom item registration onto the shared
Cray.SBGItemFrameworkItemKit/RegisteredItemAPI instead of this mod's own reflection-based injection. Requires the newCray-SBGItemFrameworkdependency. - Fix compatibility with the July 2026 Super Battle Golf engine update:
PlayerInventory.RemoveIfOutOfUsesgained a requireddueToFinishedItemUsebool param.PlayerInventory.GetFirearmAimPointgained two leadingVector3params (worldBackmostPoint,barrelForward), restoring raycast-based aim instead of the naive fallback.
- First public release: this repo's initial commit only ever contained a placeholder README; the mod source itself was never previously committed or published.
v0.3.0
- Cart now actually arcs when launched. Previously the wheel suspension/grip pinned it to
the ground within frames even with brake torque suppressed. The projectile flow now also
disables every
WheelColliderfor the configured projectile window so the cart follows pure ballistic motion, then re-enables the wheels when the window expires for a normal on-landing skid. Default speed bumped 30 → 40 mph; default arc 12° → 30°; spawn raised 0.6 m above the barrel so the cart doesn't intersect the launching player on tee-off. - Register a real localization entry
Data/ITEM_1002 = "Cart Launcher"(BallSaboteur pattern) so the in-game name reads correctly. Adds aLocalizedStringpostfix that rewrites anyITEM_1002fallback string and aHotkeyUi.SetNameprefix that swaps the hotkey-bar label when the local player has a Cart Launcher equipped (vanilla would show "Rocket Launcher" because of theGetEffectivelyEquippedItemremap). - Tint the in-hand model so it's visually distinct from the vanilla rocket launcher. A
per-frame service applies a
MaterialPropertyBlockto the right-hand equipment while our item is equipped and clears the override the moment the player switches to anything else, so the equipment-pool prefab isn't permanently polluted.
v0.2.1
- Make the
ItemCollection.GetItemAtIndexprefix multi-mod-aware so the pause-menu probability grid no longer crashes when both this mod and BallSaboteur are loaded. Each mod now resolves its synthetic index against the sorted list of all custom (>=1000) ItemTypes inallItemDataand only claims its own slot. Was causing PauseMenu.Awake to throwIndexOutOfRangeException, which half-initialised the menu and broke Esc.
v0.2.0
- Fix the projectile cart being placed instead of launched. The vanilla
GolfCartMovement.SetAllWheelBrakeTorquewas clamping the cart to a halt within a metre of spawn at 200-500 Nm of remapped driverless brake torque. Added a Harmony prefix that forces every wheel'sbrakeTorqueto 0 for the cart's first 2.5 s post-launch so the assignedlinearVelocityactually carries it. Default launch speed bumped 22 → 30 mph (target 20-30 m flat-ground travel before the brake kicks back in to bring it to rest). - New config
Projectile.ProjectileWindowSecondsexposes the brake-suppression window.
v0.1.0
- Initial prototype. Runtime ItemType cloned from RocketLauncher with the rocket launcher's in-hand visual + aim. On use the server instantiates a golf cart prefab at the barrel position with a configurable forward + upward velocity.
- Single-shot consumption: decrements the slot and removes the item from inventory.
- Spawn rate is 0% by default; pick the item up via the F7 debug hotkey.