Ni Karma System

A loot distribution system
System designed by Vuelhering and Qed of Icecrown
Plugin written by Mavios of Icecrown

Updates to the Ni Karma System and this document located at the Knights who say Ni website.

The Ni Karma System (NKS) is a point-based roll bonus system which tends towards zero-sum. Players can /roll 100, and it adds the character's "karma" (the accumulated points) to each character's roll. There are plenty of similar systems, but the key elements of NKS are

You must read the separate file "Ni Karma Description" in the Documentation folder to administer NKS correctly. This plugin cannot help a poorly-administered system. Read it and understand it before trying to implement it!


The NKS Roll Window

Installing the Plugin

The master looter or raid leader should install the plugin folder (Ni_Karma), in the standard place, <wowdir>/Interface/AddOns. Create the AddOns folder if it doesn't exist.

Check to make sure it's in the "addons" section at the character select screen. If you have been running it a while or have many other plugins installed, you might need to increase the memory used by plugins. This is also in the addons section from the character select screen, in the upper right corner.

Running the Plugin

NKS uses a loader, so that the plugin will not be taking up addon space while you're not in a raid. It will normally load NKS when you enter a raid dungeon, and there are options to manually load it at other times (or all the time). Use /ni load karma to activate it when you're outside a raid zone. /ni help will give you some other options.

The first thing you must do is select which database to use. NKS can use separate karma databases for different dungeons. This is case sensitive! For your initial tests, enter the command /km use Test and it will create the "Test" database. You can always turn off the plugin with /km off. I recommend having different databases for different "levels" of dungeon. I use a separate database for BWL and one for Molten Core. Make sure "Open Roll" is unchecked - this is only used for things such as greed rolls.

Bring up the NKS roll window with /km roll. You can also set a keymap for this in the interface options.

When distributing loot, use a shift-click in raidchat on each item on the corpse, to link everything first so that people have time to decide what to roll on. Start with the non-class items first, and ask for people to declare "bonus" or "nobonus" on the first item. If you have rules on who may roll on non-class items, you should also state which classes may roll (I recommend Kaliban's loot list, but I use my own). The NKS roll window should automatically select the link when you link it in chat, and add people to the list as they send you tells.

You can broadcast it to the raid with the raid warning command:
/rw declare on [Nightslayer Pants] now


To declare intent to roll on an item, each player sends the word "bonus" or "nobonus" to the loot master, and nothing else. If you want your karma added to your roll, tell him "bonus"; if you want to roll on the item but don't want to use your karma, tell him "nobonus". The loot master should watch his tells for misspellings and have those people re-send the tell. Note that you cannot even roll on an item unless you send a tell to the loot master.

Nightslayer is a class item, so there's a 25 point minimum karma loss. There's also a max loss of 100 karma on class items (but no min/max limits on non-class items). The plugin automatically adjusts for class items. You can see the min karma shown in the roll window. As people send direct tells declaring if they're using their karma, the roll window populates with the name, class, bonus, and current roll. It also sorts it.






Give time for everyone to send tells of "bonus" or "nobonus"

Everyone is using bonus in this case, but if someone sent a "nobonus" tell, it would use up to 50 karma on class items, or 0 on non-class items. (This is because class items cost 25 points minimum, which is the same loss as if you used 50 points of karma.) Only the people within 50 points of the highest bonus are allowed to roll, so only the top 4 may roll in this case. You can right-click a name to remove it from the roll window.



Tell those that can roll, to do so with /roll.






At this point, double-check the name of the item in the roll window and the final karma. (If you clicked on anything in the meantime, it will change the item listed in the NKS roll window!) (Also, check to see if the winner is tied... if so have a straight /roll to break the tie.) Then, click on the winner's name to select him, and click "Declare Winner" which subtracts the final karma from his total. Notice that with 150 karma, it cost him half: 75. Have him loot the item, or give it to him with Master Looter, then go to the next item and repeat the process.



If only one person is rolling and declared "bonus",
adjust the final karma to the minimum cost.
(25 for class items, 0 for non-class items).


Local and Remote commands

The list of commands is available with /km help. Some of these commands can be run remotely... people can query their own karma and different classes in the current raid. Useful commands to examine Vuelhering's karma are /km show vuelhering items to see what he's gotten, /km show vuelhering history to see the full database record on him, /km show warlock rd to broadcast the karma of all warlocks in the raid, to the raid.

To award karma to the entire raid, such as adding 5 points for those that showed up on time, you would enter the command /km add 5 all ontime. This will add 5 points to everyone in the raid with the comment "ontime". Only those in the raid and online will get this karma. You might need to add karma to specific people if they went link-dead and missed out.

I used this command after killing both Lucifron and Magmadar

To award individual karma, you can use the example command /km add 5 vuelhering helping with Majordomo, which will give 5 karma to "Vuelhering" with the comment "helping with Majordomo".

If you don't use the roll window for assigning items, you can do it individually, too. For instance, if Vuelhering won the Felheart Gloves but the 25 karma cost didn't get entered for whatever reason, you could manually enter it with /km additem -25 vuelhering [Felheart Gloves] (shift-click the felheart gloves to enter a link). This will subtract 25 points from vuelhering's karma, and record that the gloves went to him. Note you must have a minus sign to subtract karma... otherwise it would ADD karma. You can enter other comments instead of the item link, but if you link the item it will show up as a hyperlink on the karma webpage display.

Use /km option show to see the current settings, and /km option name=value to change them. This includes things like showing whispers to you, and other tunable options. I strongly suggest you stick with the defaults, except for things such as "notify_on_change" or "show_whispers".

Remote commands are issued by direct tells to the lootmaster, /t lootmaster km command. For instance, sending the lootmaster a direct tell with km show karma rogue (without a /) will send a tell with the karma of all rogues in the raid. km show will send a tell back with your own karma. These commands will show only the current database, so the lootmaster must issue the /km use database command before they will function.


At the end of the raid, if you installed the karma.php script on your website, you can upload the new data to your website. These data are in a file located in "<wowdir>/WTF/Account/<your login name>/SavedVariables/Ni_Karma.lua". Upload that file to the same directory of the php scripts you installed. You should now be able to go to http://www.yourwebsite.com/karma.php and see the updated totals. This file can also be downloaded to the same directory on a different computer or by a different raid leader, if someone else is running a raid. This file is your entire database ... be careful you never delete your WTF folder without preserving this file! If you have been uploading the file to your website, the website will serve as a backup.

One last note...

You must understand the system before implementing it. Really. Go read the description of it. The important thing to remember is that it requires some maintenance to ensure its integrity. Notice in the example above that our raid got 5 karma for killing BOTH Lucifron and Magmadar. We used to get 5 points for each, but we're killing them so fast that the points needed adjustment DOWN. If you're defeating only 4 bosses, you should award 5 points each. If more than that, you should start combining them. If you're clearing all of MC in one run, you might consider 2 points per boss, and 5 points each for Majordomo and Ragnaros.

I'd really like to thank Mavios for taking the initiative to write this plugin, and giving me permission to modify and distribute it. I'd also like to thank the officers of the Knights who say Ni for their (often heated) input, specifically Awitch, Kosh, Jana, Shauden, Shalazar, Terrian, Lilia, Arywinn, and Gwenyvere; and thanks to the entire Knights guild for being such willing test subjects; and Qed for doing much of the design and math behind it. Coming up with a real, workable loot distribution system can be very trying, and requires a good grasp of math and the game. I hope this system will help other guilds.