Resource icon

SRB2Kart: Battle Plus! (kbl_battleplus_v1.1.pk3)

Here's a huge scale mod I've been working hard on since v1.0.1:

SRB2Kart: Battle Plus!


You're probably thinking, what is Battle Plus? All it does is add onto the battle experience in the base game by adding more gamemodes to be played! Some of the gamemodes are returning gamemodes from Mario Kart, such as Coin Runners (returning as Ring Runners) and Shine Thief (returning as Emerald Thief), while some are completely original concepts, such as Hot Egg-tato, a new gamemode based off Hot Potato! Battle Plus also includes Team Battles, and a new map in map hell, and more to be found!


Gamemodes as of v1.1
Normal Gamemodes

These gamemodes are the main gamemodes that'll be selected from under any condition.

Bumper Battle

Last one standing wins!

This is basically the same from the base game, however now in Battle Plus a time limit (defaults to 3 minutes) has been added to make sure it doesn't go on forever. Once the time is up, the round ends (duh) and you're awarded points based on how many bumpers you have left. You'll still win if you're the last player standing though, so decide; focus on surviving and getting lots of bumpers to get more bonus points at the end, or focus on wiping everyone out to get a guaranteed victory by knockout? As of v1.1, though, the time limit can be disabled. When disabled, this is just your average Bumper Battle from the base game.

Ring Runners

Collect the most rings!


Returning from Mario Kart where it was known as Coin Runners, Ring Runners follows the same concept. Lots of rings spawn around the map, and your primary objective is to collect the most amount of rings! Be careful though, if you're damaged, you'll lose up to 20 rings based on what you're damaged by, 10 rings on spinout (Bananas, Oil Slicks, etc), 15 on wipeout (Orbinauts, Jawz, etc), and 20 on explosion (Mines, Eggman Boxes), and if you're wanted you'll lose double the amount! Lose too many rings and your rings will go negative, and you'll be in Ring Debt! (Returning from Chaotix) During Ring Debt, your score will stay at 0 until your rings go back in the positives, but to make sure you don't go too low the rings you drop when damaged will be halved. Once the time limit is up, whoever has the most rings wins the gamemode!

Tip: With Sneakers or a Pogo Spring, if you damage someone with them you can steal 15 rings directly from them into your bank! Multipliers affect this too, so you can steal 30 rings from a wanted player!

Emerald Thief

Steal the Emerald!


Another familiar gamemode from Mario Kart: Double Dash and Mario Kart 8 Deluxe, Shine Thief returns as Emerald Thief in Battle Plus! An emerald will randomly spawn somewhere on the map at the beginning of the round, and your objective is to steal that emerald and keep it as long as possible until a timer runs out. You can damage people with the emerald to make them drop it and you can take it for yourself, hitting the emerald holder with Sneakers or a Pogo Spring will steal it directly from them without having to pick it up afterwards either! Think of the gamemode like Possession, once that timer runs out, whoever had the emerald wins the gamemode!

Tip: When you have the Emerald in your possession, your overall speed is reduced, so it's better to try faking out people trying to get the emerald from you rather than trying to outspeed them!

Mine Blast

Score the most points!


Yet another returning gamemode from Mario Kart: Double Dash and Mario Kart 8 Deluxe, Bob-omb Blast returns as Mine Blast in Battle Plus! Mine Blast is a pretty laggy chaotic gamemode, the objective of this gamemode is to score the most points by blasting your opponents with Mines! All the item boxes in this gamemode will reward you with only Mines, and you can get more item boxes to stack up to 9 Mines in your arsenal! You fire Mines a bit differently in this gamemode, though; hold down your item button to charge up your shot, then release to fire! Depending on how much you charged your shot, your Mine will be launched further, you can even hold up to influence the arc a little! While charging up you can also hold back to pause the charge for a few seconds to line up a shot, afterwards the charge will start going back down. Of course, you can hold back when you release your item button to just drop the Mine behind you. Unlike Bumper Battle, you'll start with 5 bumpers, and when you lose them all, instead of being taken out of the competition, you'll respawn 5 seconds later with 5 new bumpers, ready to compete again! Your score will be halved if you get wiped out though, so be careful! Once the time limit is up, whoever has the highest score wins!

Tip: Unlike the rest of SRB2Kart, during Mine Blast your own mines wont hurt you, so be as reckless as you want firing your Mines at your opponents!

Hot Egg-tato

Don't get tagged!


Now for an original gamemode (sort of), introducing Hot-Eggtato! Based off of the popular Hot Potato game, the premise is very similar. At the beginning of the round, a random player is tagged with the Hot-Eggtato, and they have a limited time to tag someone else with it or they'll be eliminated! While tagged, you have a considerable boost to your acceleration and top speed, almost matching Invincibility! To pass on the Hot-Eggtato to someone else, you need to make direct contact with them by bumping into them or hit them with one of your items. The last player standing after everyone else has been eliminated is the winner of the gamemode! Don't think it'll be easy, though, with every player eliminated the starting time to tag someone else gets shorter and shorter... the pressure's on, don't get tagged!

Tip: Items that belong to the player currently tagged will constantly flash red and emit smoke from them, so keep an eye out for any lingering Bananas that could potentially tag you!

Team Gamemodes

With at least 4 people playing in the server, there's a 1/4 chance that one of the Team Gamemodes will be selected from at the beginning of the round! At the start of a Team Gamemode you're randomly assigned to a team, work together with your team to win the gamemode!

Team Bumper Battle

Last team standing wins!

Just like regular Bumper Battle, although this time you're on a team and your objective is to knock out the entire opposing team! At the end of the round your entire team's score is tallied up against the opposing team's score, so which ever team has the highest combined score wins the gamemode!

Tip: If you're feeling a bit greedy you can steal bumpers from your teammates! With coordination this could also be a tactical play to give your team more bumpers, too!

Team Ring Runners

Collect the most rings!

Another team gamemode variant of a normal gamemode, Team Ring Runners follows the same rules as normal Ring Runners, except your entire team's rings are tallied up against the opposing team's rings, so which ever team has the highest combined rings wins the gamemode!

Tip: Just like Team Bumper Battle, you can steal rings from your teammates. Unlike Team Bumper Battle, though, this is pretty much an evil play on your end, but it can have it's uses, like making your teammate not wanted, for example.

Team Mine Blast

Score the most points!

Yet another team variant of a normal gamemode, Team Mine Blast follows the same rules as normal Mine Blast, and the scores are tallied up like Team Bumper Battle at the end. Now you've got an entire team to lag the game blast your opponents with, go wild!

Tip: Just like regular Mine Blast, your own Mines wont affect you, but they also won't affect your teammates (If friendly fire is off)! Don't be afraid of firing while they're nearby!

There's more?!

Yup! There are even more gamemodes to be selected from within Battle Plus! Although, compared to the others, these gamemodes are a bit more... special. They have a way lower chance of being selected compared to the other gamemodes listed above, but you'll know when one's been selected...

Of course with lots of gamemodes there are lots of commands to go along with them, all listed in the spoiler below.
bp_teams: Changes how team gamemodes are selected at the beginning of the round. 0 = Never, 1 = 25% chance with 4+ players, 2 = Always with 4+ players. Defaults to 1.
bp_forcegamemode: Forces a normal gamemode. Ranges from 1-5, all correlating with the order they're listed in the gamemode list.
bp_forcegamemode_teams: Forces a team gamemode when a team gamemode is selected. Ranges from 1-3, all correlating with the order they're listed in the gamemode list.
bp_friendlyfire: Toggle friendlyfire in team gamemodes. Defaults to Off.

bp_bb_timelimit: Changes the time limit for Bumper Battle and Team Bumper Battle. Defaults to 3.

bp_rr_timelimit: Changes the time limit for Ring Runners and Team Ring Runners. Defaults to 3.
bp_rr_respawntime: Changes the time it takes for rings to respawn in Ring Runners and Team Ring Runners. Defaults to 30.

bp_et_countdown: Changes the starting countdown before a player wins with the emerald in Emerald Thief. Defaults to 30.

bp_mb_timelimit: Changes the time limit for Mine Blast and Team Mine Blast. Defaults to 3.

bp_mb_throwlimit: Changes the max amount of Mines you can have thrown at one time in Mine Blast.

bp_mb_deploylimit: Changes the max amount of Mines you can have deployed at one time in Mine Blast.

bp_he_countdown: Changes the starting countdown before a player is eliminated in Hot Egg-tato. Defaults to 25.

For anyone looking to support their custom battle maps, check the documentation below:
Custom Maps are completely supported for Battle Plus, although for Ring Runners and Emerald Thief to work correctly, there's a bit of extra work to be done within the WAD/PK3, this documentation will hopefully be able to walk you through those steps.

In Ring Runners and Emerald Thief, Ring and Emerald spawnpoints are saved within a table in a Lua Script, which is loaded from at the start of the round when either are selected.

Ok so let's get to supporting your map, and it's a pretty quick process (depending on how big your map is). In Zone Builder, place down all the locations you want rings to spawn by placing down Rings (Type 300) around your map. Ring Runners can get kinda laggy depending on how many rings you place down, so I wouldnt recommend going over 250 rings in total. For emerald spawns, place down Automatic Rings (Type 304), unlike Ring Runners, only 1 Emerald spawns in, so you can place as many down as you want!

When you're done placing down your Rings and Automatic Rings for the spawns, save your map. Now head down to the downloads and get coords.lua, which is a neat script that speeds up this process ALOT. It adds 2 commands which'll print the entire table for Battle Plus' Ring Runners and Emerald Thief. Now boot up your map in vanilla SRB2, since Kart removes the things we're using as placeholders. Add your map and coords.lua and go to your map in Match, then run the commands and it'll print out the entire table for you, containing all the coordinates for the spawns!

Now go back to your map in Zone Builder and delete all the placeholder things we used for coords.lua, they're not needed anymore and will just spill out errors back in SRB2Kart. Once that's done and you've got the tables open up your WAD/PK3 in slade, create a new Lua script. In that Lua Script just paste the tables from the log.txt we got from vanilla SRB2 in there and save. With that done Ring Runners and Emerald Thief will read from those tables whenever they're selected on your map, so try it out and see if it works!

Finally, in the Lua script, as of v1.1 you should add the code below to your Lua script:
if not r_l then rawset(_G, "r_l", {}) end
if not e_l then rawset(_G, "e_l", {}) end
This'll allow your map (or map pack) to be added before Battle Plus, which was an issue with v1.0 and v1.0.1. If your WAD/PK3 contains multiple maps, you only need to add the code once, but make sure it's in the first Lua script loaded, this is important, as the table needs to exist before the coordinates are defined.

If it works, congrats! You got yourself a supported map, if not then you might've gone wrong somewhere. If your confused or don't know where you went wrong you can leave a comment on the thread or DM me on the MB or Discord in Kart Krew, I'm pretty much always available when I'm online!

Finally, I'd like to thank:

Lat': Coding assistance
TelosTurntable/Potatosack: Making the Title Screen graphics
ampersand/Rapidgame7: Font drawing code
LJ Sonik: Pseudorandom numbers library
And all my friends for helping me test this, this wouldn't have been possible without them!

  • General changes:
    • Lag has been reduced tremendously overall! In the previous version, Battle Plus was very laggy due to a excessive HUD element, which could even affect race. This is no longer the case, and race is now completely unaffected by Battle Plus.
    • Scripts in general have been made more optimized.
    • In Splitscreen, the time limit is now displayed in gamemodes that have one.
    • Time limit related commands now print out what the time limit is set to when changed, akin to the default timelimit command.
    • The time left in gamemodes that have a time limit is now displayed on the scoreboard.
  • Team Battle changes:
    • Team Battles now only occur with an even amount of players. This is so there are equal players on both teams. (Although if someone leaves the game that's just tough luck sadly)
    • The total score for each team is now always displayed on the HUD, the team currently winning even flashes during the last minute of a gamemode! (The winning team also takes into account bonus bumpers in Team Bumper Battle)
    • During Karma Comeback, if you hit someone with your bomb or give them an eggman itembox and your team only has one left in the game, you'll be instantly brought back in.
  • Bumper Battle changes:
    • The time limit can now be disabled entirely if you prefer Bumper Battle without a time limit, as it is without Battle Plus.
  • Ring Runners changes:
    • Players in debt now have a display above their head akin to being wanted, so now you can tell who's in debt easier.
    • Rings now burst more vertically when blown up by an explosion.
    • The map object scale is now taken into account for ring bursting, ring detection range, etc.
  • Emerald Thief changes:
    • Itemboxes now respawn like they do in race, after being collected another one will pop up after 3 seconds have passed.
    • Sneakers are now way less common.
    • The Emerald now bursts more vertically when blown up by an explosion.
    • The map object scale is now taken into account for Emerald bursting.
  • Mine Blast changes:
    • Mines now use a lesser explosion within Mine Blast only. These explosions tone down the particles by making them not visible, as well as reducing transparency to overall present a much stabler frame rate.
    • You cannot throw another Mine until the one you have already thrown has landed and exploded. The limit before preventing you from throwing more Mines can be changed with the new command: bp_bb_throwlimit. (Defaults to 1)
    • You can now only have 2 mines deployed on the floor at one time. This means server nukes by planting multiple bombs next to eachother are effectively prevented now. The limit before preventing you from deploying more Mines on the floor behind you can be changed with the new command: bp_bb_deploylimit. (Defaults to 2)
    • Dropped items are now collected properly, correctly adding to your
      total Mine count.
    • Fixed a player's Mine count not being correctly reset after being blown up.
    • Mine's trajectories now scale properly with the map object scale.
    • The holding charge mechanic has been remapped to holding back on your directional movement keys instead of break, so you can now reverse and charge your throw strength.
  • Hot Egg-tato changes:
    • The points system has been reworked entirely! Points are now awarded when a player is eliminated. You get 3 points if you weren't tagged at all until the player was eliminated, and 2 points if you were tagged, but managed to pass it off to someone in time. (Being selected to start out being tagged won't lock you out of 3 points though, so don't worry)
  • Sink Deathmatch changes:
    • Hitting yourself with your own sink now globally announces your complete and utter failure, for shame.
    • If you somehow, by all odds, survive long enough in overtime, it should no longer produce a modulo by zero error.
  • Item Rain changes:
    • Items now spawn in smaller clusters, now only spawning up to 3 hazards and up to 3 items.
    • Hazards and items now despawn after 15 seconds to prevent the buildup of hazards slowly increasing lag.
  • Modding changes:
    • Custom maps can now be loaded before Battle Plus is added! Although, maps released before v1.1 will have to be updated to add something to their WAD/PK3s, for more detail read the updated documentation.

  • Team Gamemode changes:
    • During Karma Comeback, you can no longer blow up your teammates/give them Eggboxes to gain karma points. Additionally, you don't gain any karma points for giving items to the opposing team anymore.
  • Ring Runners changes:
    • Joining the game late no longer makes you lose 15 rings.
  • Emerald Thief changes:
    • If the Emerald falls into a death pit, it now respawns instantly.
      • Additionally, because of how P_CheckDeathPitCollide() works with goop, an edited version of Techno Hill is included in this version to add a death pit to the floor of the outer area.
    • During invulnerability frames, you can no longer steal the Emerald.
    • The Emerald only takes 10 seconds to respawn if it gets stuck in an unreachable area now, opposed to the old 20 seconds to respawn.
      • It also flashes on the minimap when it's about to respawn now, too!
  • Mine Blast changes:
    • When collecting additional Mines from Itemboxes, the hitbox has been increased to match that of it's usual size.
    • You now correctly start out with 5 Bumpers if you join late.
      • Subsequent joins won't refill your bumpers, though, so don't think you can cheese with this change.
  • Hot Egg-tato changes:
    • You can no longer tag players in their invulnerability frames after they spin out.
      • You can still tag them while they're spinning out before they start flashing, though.
    • The one and a half second invulnerability from being tagged after passing on the Hot Egg-tato to someone else has been made noticeable now.
    • Manually changing the starting countdown to a value too high no longer produces a modulo by zero error.
    • Fixed a Lua error relating to the damage function when there is no source.

  • Initial release.

With that all out of the way, I hope you all enjoy Battle Plus as much as I did making it, happy battling!

Unless you're supporting your custom maps dont worry about downloading coords.lua
  • kart0454.png
    22 KB · Views: 34
  • kart0454.png
    22 KB · Views: 21
  • kart0376.gif
    3.5 MB · Views: 21
  • kart0376.gif
    3.5 MB · Views: 21
  • BumperBattle.png
    1.7 KB · Views: 20
  • RingRunners.png
    1.6 KB · Views: 20
  • EmeraldThief.png
    1.6 KB · Views: 19
  • MineBlast.png
    1.7 KB · Views: 22
  • HotEggtato.png
    1.9 KB · Views: 22
  • TeamBumperBattle.png
    1.8 KB · Views: 21
  • TeamMineBlast.png
    1.7 KB · Views: 23
  • kart0072.gif
    6.2 MB · Views: 20
  • kart0072.gif
    6.2 MB · Views: 20
  • kart0084.gif
    6.6 MB · Views: 23
  • kart0084.gif
    6.6 MB · Views: 21
  • kart0009.gif
    4.7 MB · Views: 21
  • kart0009.gif
    4.7 MB · Views: 18
  • kart0374.gif
    4 MB · Views: 21
  • kart0374.gif
    4 MB · Views: 32
First release
Last update
0.00 star(s) 0 ratings

More resources from Snu

Share this resource