Juicebox

[Open Assets] Juicebox Guava

What permissions do you give others to modify and/or maintain your submission?
Modify: YES - Maintain: YES - I give permission for my entire submission to be modified by others or used in their own work. I give permission for my entire submission to be maintained by others as well.
I made sure my file(s) follow the Submissions Guidelines
  1. Yes
I named my file(s) correctly (see Filename Conventions)
  1. Yes


Requires Lat's KartMP. Incompatible with minenice's xItemLib.

Juicebox is a far-reaching, highly opinionated gameplay mod, aimed at reducing common frustrations and keeping players in close competition.
  • Dash Gates offer comeback potential for precise handling.
  • Technical Recovery keeps players in the action after tough hits.
  • Rebalanced items offer more consistency at every distance.
  • New systems keep all statblocks in competition, without handling changes.
  • No new controls.


MOD EDIT: Version "numbers" go by alphabetical flavors for this file.

Quickstart guide + full changelog @ hyuu.cc/j.
High-intensity: 2-12 players recommended!

Server - Requires Lat's KartMP—seriously, it's important. Incompatible with minenice's xItemLib.
  • juicebox: When On (by default), all Juicebox features are enabled. When toggling this On, some cvars (including KMP configuration) will be changed: when toggling this Off, Juicebox will reset those cvars to their original value.
  • fastrespawn: Off by default. When On, Juicebox "Fast Respawn" will be used even when Juicebox is off, and the respawndelay cvar will be controlled by Juicebox. Intended for servers with votable gametypes, since Fast Respawn is basically the only change with no side effects that most people can agree on.
  • jb_restorecvars: On by default. When Off, Juicebox will make no attempt to "fix" cvars when toggled off, and any changes it makes will remain, letting you use your own config snippets or companion script to handle settings changes.
  • jb_reset: Command. When used, clears Juicebox's "memory" for changed cvars, allowing you to make changes while Juicebox is enabled without having them undone when it's disabled. Good for configs that are delayed or executed at unusual times.

Player
  • jb_tips: On by default. When Off, disables end-of-race tips.
  • jb_reducemotion: Off by default. When On, disables gate screenshake.

Some original concepts from Chromatian, VelocitOni, Barkley and Wolfs. Sound contributions from Runa, Lazuli and Eebrozgi. Graphical contributions from Chengi and Eebrozgi. Code contributions from Lat, Snu and Wolfs. Eternal testing and feedback debt owed to all Neps illuminati + all public test participants.
  • kart0341.gif
    kart0341.gif
    7.8 MB · Views: 607
Author
Tyron
Downloads
4,145
Views
21,081
Extension type
pk3
File size
788.4 KB
MD5 Hash
d768f418a40fb1e584c6ebb04b8122bf
First release
Last update

More resources from Tyron

Share this resource

Latest updates

  1. Guava

    Meta Juicebox is now Reusable. I've been away from addon dev for a while, and the community has...
  2. Feijoa

    Quick set of fixes for votable-gametype servers or servers that only use Juicebox for...
  3. Elderberry

    A little bit of housekeeping. No giant changes, just things that make Juicebox feel a little...

Latest reviews

The problem is: I'm opinionated as well, and there's no way to enable just parts of this mod or tweak it. I really, REALLY like parts of this mod (teching is AWESOME) but at least for my group I play with, boost gates feel cheap and some of the item balances fall kinda flat. Would be nice to have some slightly more nuanced options such as:
- Dash gates on/off
- teching on/off
- item rebalance on/off (or split into multiple)
- general balance tweaks on/off (or split into multiple)

That said I really appreciate the work that went into this and have half a mind to mod this myself to get the desired effect.
Tyron
Tyron
I'm probably never going to add toggles to Juicebox—I would never personally use them, maintaining them is extra work, and I'd prefer netgame players to have confidence in what's running (rather than having to guess what's in use and how everything interacts). Would love to hear your thoughts in more detail, though; I'm down to talk about general changes if people find specific problems or pain points. Use the thread or find me on Discord if you'd like.
Upvote 0
I'm not sure I can absolutely recommend this to everyone. I dunno how to rate this because the ratings are a little weird on the forums, but here goes: I'm just not sure if this is right for everyone? I guess it's an acquired taste. I run a small server that has at max 4 people, and we tend to not care about changing the meta of the game that hard for the sake of improving the game, we have stuff like KartRev and KartMP, but that's mostly for quality of life.
On one hand, you have a very great gameplay balance change that mixes the entire game up, it removes a lot of the random elements of v1, and has this cool, competitive identity that you can't miss when you see those dash gates, it keeps everyone close, your enemies closer, and makes each round very close.
On the other hand, I'm not so sure, because personally, I see this game much like a party game, and my friends that play on the kart server I run do too, we like the random jank and the chaos that comes from most of v1,it's very hard to describe, but we tend to enjoy most of kart's imperfections and use that to bolster our own competitive spirit.
I say this isn't for everyone, but don't let that discourage, there's many people here that enjoy this mod, and I do too, it just ain't my thing. It's some really great work, though.
Tyron
Tyron
Yo, thanks for the review. I totally agree with you, Juicebox is extremely opinionated and aimed squarely at some v1 pain points that some people just...don't think are pain points, LOL. I'd encourage people who are happy with vanilla+KMP to keep playing that.
Upvote 0
I feel like a one star is pretty harsh but one star is "needs improvement" so I guess thats where I'll have to put it.

I actually like some of Juicebox's changes in a vacuum, but together I think a lot of them add too much comeback and forces the crowd together artificially too much. I think Juicebox actually shows in great detail what happens to my enjoyment of the game when you try to force too many interactions.

Dash gates, instant respawn, and teching in particular lessen the importance of getting spun out or blown up, since you will get back up to speed basically immediately. This sounds like it's a great idea to keep people together, but what it actually does to the game for me is lessen the impact of item play as a whole. The oomph a hit has is directly proportional to how hard it set back the person you hit, or how bad *you* would feel if it hit you. When every item barely sets you back to begin with, or any setback is trivial to erase, it makes every item interaction feel pointless and therefore not worth engaging, which makes the game as a whole uninteresting and unfun.

On my first Juicebox session I remember hitting a banana snipe on someone far-away mid air which forced them to spin into a mine. In any other setting, this would've been the perfect snipe; the race ending excitement that you only find every few hundred races. However, because getting spun out means so little, and I knew it meant so little, I didn't feel anything about what just happened. Any other time I would've popped off to the moon, but not this time. That sums up how I feel whenever I play Juicebox in any setting.

It made me realize that I'd rather have a frontrunny boring race with the occasional exciting interaction, than a forced chaotic race with constantly boring interactions. The mixture of dash gates and teching just pushes Juicebox way too far in the wrong direction for me, and while I like things like the item changes and especially the hyuu changes, Juicebox just feels far too antithetical to how I enjoy the game and I wish that'd change. I don't believe Juicebox needs to devalue item play as much as it does. It's objective may be to make many chaotic interactions, but it does so at the cost of the value of said interaction.


Its still a great mod with a lot of effort put into it, and I would love to see some of its changes in a lot of servers, but what I mentioned above and it's all-or-nothing nature means its just not for me in it's current state. I am sure many people care less about the weight of item play than I do too.
Tyron
Tyron
I appreciate the thought and restraint you put into this review. (Aside: star ratings are fake and I think they say more about who chose to review an addon than how good that addon actually is.)

In high-level lobbies, I think attacking is kind of awful; everyone is pretty cagey and cautious with defensive items, and pushing through those defenses leaves you far more vulnerable than the person you're attacking, especially in the case of 2nd vs 1st. On most courses (midair hits aside), it leads to a pretty stifling feeling, where you're basically only permitted to attack right before the next item set (and only if no one in the area is hiding their item or holding a Jawz!). Otherwise, the reward of passing a single person is rarely worth the risk of getting passed by half the race, often giving the person behind you a substantially easier shot than the one you just took (to say nothing of mid-set checkmate scenarios).

Juicebox "overcorrects" on item punishment in part because of this—I really, REALLY like item play and got tired of feeling like aggressive shots were a flashy way to resign, even if they succeeded. With that punishment lessened, risky and impractical methods of attack and defense suddenly started looking pretty viable, and it opened up a type of fighting that I had never really gotten to engage with, despite it always existing in the vanilla game.

This is basically just a long-winded way of explaining that from my perspective, Juicebox doesn't deemphasize item play—it brings it to the forefront, giving you more targets to swing at and more reasons to swing. But I think if you disagree with my initial assessment of vanilla item play, it's reasonable to come to the opposite conclusion (and while I think I'm pretty strong, I'm by no means a tier 1 player; maybe there's some nirvana beyond my current skill level where suddenly aggression is good again).

I'm not really sure what to do about this. I'm happy with the way the mod functions right now, but I think there are probably ways I can do better while keeping the things I like uncompromised. For now, I'll keep working towards that goal, and stuff like this will be on my mind.

Thank you for the thoughtful review.
Upvote 0
This mod is a must have. I cannot put into words how happy this mod makes and the fact that the games almost feels wrong when playing without it says so much to what it brings to the table.

I will always welcome someone being able to show that you can have fair skill-based mechanics in a party game without making experienced players feel cheated or newcomers left out of the fun. Also you made front-running fun again so thank you so much for that!

My only gripe is the all-or-nothing approach, I miss being able to tweak my KartMP or just being able to enable a couple features without the rest. I know it's opinionated, but it still feels a bit too opinionated. An example of where this breaks down would be Battle mode. Juicebox clearly breaks in battle mode in different ways (eg. Dash gates spawning randomly and basically becoming extra hazards for everyone) but the teching would be so nice to have there.
Tyron
Tyron
UHHHHHHHHHHHH. Right. Battle mode exists.

The way Juicebox functions in Battle is not an opinionated choice, it's an accident primarily caused by me forgetting it entirely. If there's demand, I'll probably fix it up in a future update so that the relevant anti-frustration features can remain enabled while the other stuff doesn't disrupt the game.
Upvote 0
Been enjoying the changes for a little while now, and am loving the direction on the gameplay here. Grow feels even more like a power item thanks to the boost gates. I always strongly preferred stars or rocket over mega. And regardless, it feels great not having to rely on either being close to someone to boost off and try not to get backspammed [drafting] or pulling a good item [especially in stock] to potentially catch up to a frontrunner trying to make a break.

All the tweaks have felt right so far.
The rocket "nerf" ends up feeling like a strong utility buff due to being able to far more consistently mash it off right before an item set. Begone, lost item chains!

Though, the 3-second window for quick recovery keeps messing with my head, expecting it to no longer be possible *when IFrames wear off*. And then there's moments where a Hyuu would just so happen to steal one's sneakers while spinning and still do a boost, further extending the hit like the infamous boost panel situation, which may (if unlucky enough) lead to target shock-esque situations where sneakers get stolen right after tanking a hit to where it just boosts the poor racer off for a cheesy self-destruct.
Tyron
Tyron
I feel pretty strongly about keeping the Hyuu changes, they feel like a net positive even if there are sometimes some unfortunate (but funny) misfires. As for Quick Recovery, next update will include a new visual cue for it as a reminder, so you don't rocket off and freak out. Glad you're enjoying!
Upvote 0
I absolutely adore the changes this mod makes, they make the game much more competitive and races are a lot more close!! Every new mechanic does something I like despite a few small drawbacks. I won't be too in depth but these are my highlights:

Dash gates are a brilliant idea to me, taking elements of Mario Kart Wii's slipstream, Sonic Riders' turbulence and your everyday boost pad to make sure no racer is left behind! It's more compatible with more twisty courses thanks to how it works, and you don't always need to take gates to get ahead if you know what you're doing. It also feels less stressful for me as I don't have to necessarily be right behind the frontrunner and risk being shot down with an Orbi or banana, and having them change dynamically depending on what stat block is in first feels fair~ Related, miniturbo stacking with the gates and themselves is the best change to go with this as it keeps the action flowing! I wouldn't have the mechanic any other way as of this writing!

Teching is another thing I absolutely adore. Fighting games have had this for years for similar reasons- no one wants to be getting tossed around unable to do anything. This keeps the action flowing and gives racers a push to be more on the offensive! My only gripes are that holding the button and missing the tech still gives a significant boost, it's really hard to tell any difference between getting the tech and simply having accel held. Plus, you still retain invincibility frames after teching making it an incredibly safe option. I'd extend the perfect tech boost a bit, and make it so doing that perfect tech boost takes some time off i-frames akin to Acro's Store mechanics. This way, there's a bit of a tech chase metagame like Melee where if you wanna hit someone again, you're gonna have to predict where they'll tech off to if at all. Otherwise, this is the very mechanic that sold me on this mod and I love it!!

As for smaller changes...
Making racers intangible at the end of a hit as well as in a failed start boost is small, but brilliant and makes the game feel so so much better~! Having racers in front of me screw up while I get a perfect boost and blast them ahead instead of me always felt unfair, and getting tossed about after a hit is now less jank.

Speed shoes getting capped at 2 is another small change that really makes me think more about where to use them, compared to 3 where I could take some stupidly big cuts. Same applies to Rocket shoes, they were ridiculously powerful before!

Neo Hyudoro, besides having a cool name that should go to a new boss, comes with great QoL changes. Speed shoes getting fired off as to not screw players over cuts, seeing what you can (not) take, and having the slight speed boost are all changes I adore seeing! The other powerup buffs are also neat- SPBs giving a shoe is an interesting feature, and Grow giving a miniturbo on cancel is a nice change that makes cancelling it actually more worth it.

While all these changes put some people off sadly, to me they all add to the game in fun, interesting ways that make me wish more servers hosted this! It keeps the action tight and refreshing, and I do hope to see some of the smaller tweaks like Hyudoro's in V2, however unlikely that might seem. Congrats on making one of the best Kart gameplay mods out there!!
Tyron
Tyron
HEY COOL THANKS. I'm super glad you've been enjoying the addon, and since you wrote a ton I guess I'll take an excuse to write a ton too.

Technical Recovery is one of the more involved parts of the mod, so I guess I'll talk about it a little and explain some of my logic behind the choices that made it into release. I'm generally pretty happy with the way things are working at the moment, but obviously nothing is set in stone.

== QUICK RECOVERY ==

Quick Recovery / "pity techs" are a feature that got added relatively late in development. There are circumstances where hitting a useful tech becomes difficult to impossible, or the angle of your hit simply doesn't allow you to turn away from a wall in time—but more importantly than that, people are bad at video games and teching currently doesn't have perfect conveyance anyway.

Without pity techs, people who wildly miss the window (or don't know what "GO" is implying) would fall seconds behind in every item exchange despite not making any incorrect choices! You used Melee as an example here, and I think teching has the potential to come off like a pretty divisive mechanic from that game, L-Canceling—basically adding extra inputs to every situation, with potential death for a mistake, that don't have anything to do with player choice. (TL NOTE: I can do this with no problems for the most part, but I really wish I hadn't had to learn it in the first place.)

There is a kernel of truth in this idea, but the reason I'm attracted to teching as a mechanic is because it gives the player the feeling of agency; instead of waiting for the game to reassign them control, it's on them to get it back as soon as possible. If you shoot for the earliest possible input, you can recover nearly half a second earlier than normal (varying up or down depending on stats), which I think is pretty dramatic when the whole pack is so close together. The boost is also slightly longer, which helps angle correction and heavier characters a little more.

== TECH-CHASING ==

"Tech-chasing" could be kinda contentious. I don't think the defender actually has super interesting mixup options in that situation, at least in the current version of the mod, and if I stripped more iframes to balance a more "explosive" techboost I think people would eat random body-slam orbitals a lot, especially if wiping out near the gate path.

If I were to do this, my instinct is to leave Quick Recovery as a "safe" recovery option with the current iframes—choices!—but the actual risk-assessment there seems hard to judge and would likely lead to players just taking the safe option every time. Dunno. Since hits strip your items, I don't think there's currently an issue with players taking hits and immediately abusing their invincibility, but I might play around with these ideas indev next time feature updates are on the table.

(An early tech from some types of attacks leaves you relatively near the attacker anyway.)

== TECHBOOST STRENGTH ==

The overall power of techboosting is balanced for overtake hits by necessity; there is no way to avoid the bad lizard-brain feedback if you hit a player from behind and they still end up in front of you. (I know this for a fact because I had to frontrun-duel Trail's Chao indev, when accel characters were basically invincible. Oops.)

I'm currently exploring ways to make recovery more consistent even in extremely unfortunate situations, but the netgame community is highly motivated and very diligent, so I also have to make sure that anything I add doesn't allow for self-hit lawnmower exploits or nonsense like that. (Hell, people were doing this with the original drafts of Haste...)

==

This has nothing to do with the above, but you're the first person to actively mention Hyudoro here and I'm really glad you did—Hyudoro Spy was an idea I instantly loved as a ridiculous high-power concept, and tuning it in a way that didn't feel disruptive or punitive to the rest of the race is a weirdly involved task from a technical perspective.

Again, super glad you're having fun with it. Regarding the changes "putting people off," while this isn't my main area of focus, I have been showing up in tons of Juicebox games to try and get feedback from players who don't vibe with the mod just yet; I've done a lot of tuning on this front, and a lot of people who weren't convinced during public tests seem to be on board with my insane person ideas now, but I'm not convinced this is the final form.

WEW. Big wall. If you actually read all this instead of skipping to the bottom, you're insane but pretty cool.
Upvote 0
What i've found surprising about juicebox is how on paper it seems like various balance changes, but in practice it really makes a significant change to how kart is played.

The highlights for me:
- Trying to frontrun is a lot more engaging, and you really have to fight if you want to hold on to first. (I especially enjoy taking tight lines/difficult paths to try and put gates in awkward spots)
- Those towards the front of the pack usually see a lot of action, there's rarely a dull moment if you're placing high.
- Lots of up-time! With fast respawn/tech/catch-up you spend longer in the actual race fighting against other players

Some minor gripes/general thoughts:
- I'm finding juicebox most enjoyable on normal speed with probably up to 10 players. Hard speed + 12 players can feel a bit too chaotic, and the overall increase in speed can be difficult to deal with on tighter maps.
- Slightly related note, Aqua did initially have his juicebox server open for 16 people, but that really did feel too frantic and people were reporting frame-drops (this might not be a concern as I think you recommend juicebox for up to 12 players anyway)
- Being towards the back of the pack can feel a bit more frustrating than vanilla kart. With vanilla it's usually more of a slow steady climb to the top; with juicebox it feels more like there's a wall of players you have to make a sudden break through. With everyone being so close most of the time, it can be difficult to climb ranks without immediately getting punted back down.
- In terms of power items I do think rocket sneakers are lagging behind a bit. I think the item protection from grow and invinci is even more important in juicebox, so it's easier to gain a few positions and maintain that.
- It feels a bit strange that the quick-recovery timing when you're in low grav happens mid-air. Intuitively it feels like something that should only happen when you're on the ground.
- Sometimes the quick-recovery prompt can get lost in the chaos of explosions etc. It would be nice if it was always visible over other effects, no idea if this is possible :P

Hopefully I haven't forgotten anything for my wall of text. Initially I was concerned that juicebox was gonna kill the skill aspect of kart, but I think it just encourages you to rely on other skills in comparison to vanilla.
Hopefully it carves a niche for itself on kart servers as it's a fun and refreshing way to play kart, I could see myself returning to juicebox servers for a long while.
Tyron
Tyron
I'm working on extra tech-timing cues for when you lose the primary visual, and I'm considering my options w/r/t Rocket Sneakers. Midair teching will probably stay functionally where it is, since it's functionally important that you boost the moment you hit the ground—but I can't actually make that the timing cue, or it's not possible to lag compensate and it introduces inconsistency between ground and air teching. There will probably be a second pass on some of the feedback and visuals here.

Agreed that 12p is a little chaotic, I think the genuine sweetspot is 4-10p. Server owners have a weird incentive to keep maxplayers high, since each additional player reduces the chance that people drop out of an empty/near-empty game—servers where the game gets more "chances" before going dead are always going to be more active than servers with fewer chances, so I didn't want to scare anyone off by suggesting that Juicebox was unplayable above 10p. I think everyone who runs 14/15p games has already acecpted a little chaos into their lives, LOL.

As for the rest, I'm keeping an eye on these things. I still get the chance to play pretty regularly, fortunately, and most of my sessions these days are for data gathering—specifically regarding pack-escape dynamics and whether item interactions consistently feel fair. If something comes across to me as an outlier, I'll give it a second look.

Thanks for the comprehensive review, and thanks for playing!
Upvote 2
As a big balance conversion on v1 Kart, it does a massively, surprisingly good job at what it does. It's incredibly hectic and fun, and it really makes it so everyone has a good chance of winning.

The dash gates mechanic is an amazing idea to keep everyone in front, teching is a really good idea to keep the pace of the race, and every other small tweak on the top keeps it all neat and tidy in a really fast package.

I want to highlight that, despite being branded as a highly-opinionated mod (what isn't, really), Tyron was a massively good sport about balance suggestions on the beta test before release, and was able to find many compromises to keep the spirit of this mod alive and everyone happy as a result.

Having spent about 6 hours of netgames playing this in 15-player lobbies (unlike the 10-player cap that was in the beta test server), I want to comment on things that particularly stuck out to me that felt strange:
- The Eggbox "anti-cheese" fix: makes sense in theory, since dying with an eggbox removes it in Vanilla, but in practice, I've seen players getting "combo'd" thanks to this - getting dunked by an Orbi or Jawz (which is easier than ever thanks to the Dash Gates), and then blowing up later because the Eggbox was kept after your death. It feels uncharacteristically punishing for such a mod that is so lenient on mistakes, but it can be as easily fixed too with a spin-out check.
- Not being able to tech after getting squished by Grow. This is not mentioned anywhere in the changelog, so it has to be unintentional.
- The Rocket Sneakers tweaks: makes sense in theory, but they're over-nerfed, specially considering how they compare to Invincibility and Grow - Grow benefits a lot from Dash Gates because of the built-in handling buff from mini-turbos (so much so that it's possible to get 1st straight away thanks to the system mechanics), and Invincibility is as strong as ever because it allows you to get away with *a lot* of punishment that would happen otherwise in this mod. Because of this, Rocket Sneakers feel comparatively gimped and no better than Vanilla Triple Sneakers. Worse still, Eggboxes are low-key really strong, and Rocket Sneakers are the only power item that can go poof from an explosion, so that can mess things up as well. Firm Sneakers doesn't justify nerfing Rocket Sneakers, so I really wish for this to be tweaked in a future update.

Also, "init.lua" has been the source of some desyncs in this mod (or so it seems), mostly happening as a player joins mid-race. I was able to catch one warning before it crashed me to death:
"WARNING: [path/to/mod]|init.lua:145: divide by zero error"

All in all, I can expect this to be the go-to gamemode for months in servers, and most deservingly so. Cheers and amazing job on everyone who worked on this!
Tyron
Tyron
Eggbox weirdness hasn't happened to me yet, so thanks for the observation. A spinout check is a good idea, but I do wonder about situations where you recover from spinout in the process of dying...I'll iterate on this for a bit and see if I can come up with something that feels right, Extended death combos suck, and it seems appropriate to soften this where possible, but the core behavior has to stay in—without it, it is almost always better to deathpit after picking up an eggbox, which is unintuitive and lame. Consider this on the todo list.

Teching isn't possible during squish because squish isn't credibly reactable, and the effect of squish is so short that the ability to tech would effectively nullify it completely based on a random mash chance. You can still hold Accel to Quick Recover in this situation—I'll see about clarifying this in the changelog or adding some better visuals for Quick Recovery in general, there are a lot of potential directions for better conveyance here.

In most internal test games, and the handful of games I've played since release, Rocket Sneakers still put you within striking distance of 1st basically every time, and often give you a lead of a few seconds. Whether or not they're hugely powerful seems to depend strongly on the course—how cuts are spaced and how much distance you gain—but the higher drain rate requires you to think much differently about how you want to use the limited charges. I'm not convinced they're in a bad place right now, I still personally prefer seeing them to Invinc and Grow most of the time, but I'm monitoring this and will keep an eye on feedback; as one of the only nerfs in Juicebox, it was always going to be contentious, and if this is a common complaint I can think of a few ways to proceed.

The divide-by-zero is resolved in the next version, which will be released basically as soon as I finish typing this.

I'm definitely not finished with this just yet, and conversation more nuanced than "THIS MOD IS SUCKS" is always appreciated, given how loud and abrasive netgame chat can sometimes be. Thanks for your detailed feedback!
Upvote 0
This plays really well. I especially like the instant respawn. The gate mechanic is great as it makes frontrunners worry even more whilst keeping everyone in the pack. So anyone has a chance at 1st.

Since gates get pooped out behind the person ahead it adds pressure to you. You have too go through the gates and risk being hit by a trap to get ahead which increase the skill needed to play. BUT i think, even if you play poorly you can still remain in the pack and have a shot at winning/placing.

I hope we stay on apple juice cos its the best juice type. Dont @ me
Upvote 1
Pretty good, I was quite parched until I got some of this juice.
Upvote 0
Back
Top