Barotrauma – Karma Guide

We’ve all been there once or twice in our career: we just want a nice workplace where people can get on and do their jobs in peace, but then along comes some marauding clown shouting in a language you can’t speak, and the next thing you know, your whole sub is unwired, there’s oxygen in your welding tools, water in your command deck and a small mushroom cloud in your reactor compartment.

If you belong to the demographic of Europan submariners who don’t enjoy that scenario, this guide will help you understand and setup the karma system so that peace may once again reign aboard your sub.

The first thing to understand is that karma is a very flexible thing, and even if you’ve forgone it in the past, we invite you to give it another go with this guide and with the recent changes we’ve made to the system. In fact, even if you enjoy your Barotrauma a little more on the anarchic, honktastic side, karma could still be your friend, because almost every part of it can be customized to fit the desired atmosphere of your sub. That’s to say, we leave it to you to decide what constitutes griefing and what is just acceptable messing around.

With this in mind, let’s have a look at what karma actually is. As of the Rusted Remnants update, karma is on by default when anyone creates a server, and we hope many players will opt to keep it that way.

What is Karma?

Karma is a value between 0 and 100 that determines what kind of automatic moderation may be applied to a player. The thresholds at which moderation will kick in as well as the severity of punishment can be adjusted by the server host; karma itself is just a number. It starts at 100 and decays towards a point of equilibrium, a neutral point of sorts – this happens regardless of players’ actions and will never result in punishment – and it is further influenced by a player’s actions, which are categorized simply as “good” or “bad”.

In other words, karma is generally a fickle thing with no concept of context, so the karma value will ebb and flow as normal work is done aboard a sub. Karma is also forgiving: you can always redeem yourself over time and by doing good work. Finally, there are certain situations in which karma is affected directly by context: the penalty for hurting a low karma crewmember is lower than for hurting a high karma crewmember, as is the penalty for hurting a crewmember who’s aiming a firearm or other handheld weapon.

As such, players are not notified about the vast majority of changes in their current karma. Only when you’re approaching a danger zone will you see karma messages: Time to clean up your act or get the boot, or worse! If they do no intentional harm, a crewmember need never think about karma. Defending oneself from an aggressor should not get you kicked – unless you’ve done a bunch of very bad things leading up to that moment.

And What is Space Herpes?

The herpesvirus hominis caelestis, or the common space herpes, is the universe’s way of telling you to stop being an ♥. In many cases it comes on slowly, barely showing any symptoms at all, and if no additional misbehavior occurs for a few moments, it can clear right up and you’ll be good as new. Should you have done something really stupid or continue to misbehave, however, the symptoms will become more apparent.

While space herpes does not spread person to person, the scabby green skin, ungraceful hunched lurch, sudden ragdolling and a general inability to control one’s own body properly should be taken as a warning not to get too close – they’re the mark of a crewmate you can’t trust to keep you alive.

Your Ship, Your Karma

Karma comes with ready-made presets so you don’t have to design your own cosmic justice from the stardust up if you don’t want to. Find the ‘Strict’ and ‘Default’ presets in a drop-down under Karma in the Anti-Griefing tab of the server settings menu. In the same drop-down, you can see the ‘Custom’ configuration that allows you to fine-tune the system as much as you like.

All the karma settings can then be set as desired with the many sliders you see in front of you, and then you’re good to go! Have fun and don’t get space herpes.

If you want your settings to be stored as their own preset, there’s an .xml to edit. Our chief karma officer will walk you through that next.

Karmasettings.xml

Open karmasettings.xml (found in the Content\Data directory) with your favorite karma editing tool (notepad will do, or something like notepad++ if you want to keep the formatting nice and neat) and add your preset there.

Let’s create a preset here, going through each parameter, to give you an idea of what you might like to have running on your own subs.

First create something like this and give your preset a clever name:

<Preset
name=”My super good karma settings”
/>

Next, add a line to control the rate at which karma will decay down to its point of equilibrium. This value will be subtracted from every crewmember’s karma per second till they hit that magical point of perfect moral balance. Mine looks like this:

karmadecay=”0.1″

Now let’s set the point of karmic equilibrium. The higher you set it, the more room your crewmates will have to mess around; the lower you set it, the more quickly they’ll tend to notice the consequences of their negative behavior. I run a tight ship so mine looks like this:

karmadecaythreshold=”40″

Next up is the rate at which karma restores itself when someone’s karma value is below the point of equilibrium. I might run a tight ship, but I also believe in forgiveness, so this is what I use:

karmaincrease=”0.1″

Now set the point that karma can restore itself to. I’m going to set mine to the same as karmadelaythreshold, perfectly balanced as all things should be:

karmaincreasethreshold=”40″

And the same fashion, add the following:

structurerepairkarmaincrease=”0.01″

(How much karma you get for welding holes in the hull closed).

structuredamagekarmadecrease=”0.05″

(How much karma you lose for making holes in the hull with bullets, grenades, explosives, and plasma cutters).

itemrepairkarmaincrease=”0.03″

(How much karma you get for fixing stuff).

reactoroverheatkarmadecrease=”0.5″

(How much karma you lose for letting the reactor get too hot).

reactormeltdownkarmadecrease=”35″

(How much karma you lose for causing a meltdown).

damageenemykarmaincrease=”0.1″

(How much karma you get for hurting hostile creatures).

damagefriendlykarmadecrease=”0.2″

(How much karma you lose for hurting your crewmates).

extinguishfirekarmaincrease=”1″

(How much karma you get for being helpful and putting out that nasty fire).

allowedwiredisconnectionsperminute=”3″

(How often you can unwire things per minute before your intentions start to appear less than noble).

wiredisconnectionkarmadecrease=”10.0″

(How much karma you lose for unwiring things after exceeding allowedwiredisconnectionsperminute).

steersubkarmaincrease=”0.15″

(How much karma you get for driving the sub).

spamfilterkarmadecrease=”15″

(Don’t spam, nobody likes a spammer).

herpesthreshold=”30″

(The point at which you begin to exhibit the first subtle signs of space herpes – the further below this value you get, the worse the herpes symptoms become).

kickbanthreshold=”1″

(The point at which your karma is low enough that you’re given a timeout and sent to look at the main menu for a while).

kicksbeforeban=”2″

(How many times you need to get kicked before being automagically banned).

resetkarmabetweenrounds=”true”

(Whether your karma should persist from round to round or reset after each mission).

dangerousitemstealkarmadecrease=”15″

(How much karma you lose for taking dangerous things from a stunned or unconscious crewmate).

dangerousitemstealbots=”false”

(Whether there’s a penalty for stealing dangerous things from bots).

And there you have it, the tools required to tame as much of the misbehavior on your sub as you care to see tamed. This doesn’t replace good human moderation, but it gives something of a helping hand at least, and lets you get on with being the best submarine owner you can be! Enjoy, experiment and have fun.