[REQ] [MECH] Karma - PvP... For a Price.

Discussion in 'Archived: Plugin Requests' started by Hunt800, May 10, 2011.

  1. Offline

    Hunt800

    On my server, we use Factions to handle area protection. Because of this, and because recently an incredibly powerful faction filled with the servers most elite players was created, I have to deal with n00bs complaining about their land being taken almost everyday. Not only that, but the n00bs that don't get their land back within 5 minutes tend to go and troll on our forum explaining what a horrible crappy server our server is, when in reality, it's just part of the game. To fix this, I came up with an idea: Karma. Basically, Karma is as follows:

    Purpose:
    The main purpose of Karma is to reduce the overall hostility of players, while still giving them complete and total freedom. They will still be able to go on a mass-killing-murder-rampage, but thanks to Karma, they might not be as inclined to do so. It also saves Admins from MASSIVE headaches when a handful of weaker players complain about the actions of other players, and provides an alternative punishment system to Jail/Time-Outs.

    Gaining and Losing Karma:
    Every user starts out with 0 Karma. If Player A (let Karma = 'a') kills Player B (let Karma = 'b') then:

    Code:
    a = a - 0.5 - 0.5b
    b = b + 1
    (formula not final, and open for suggestions)

    So, killing a player that is more 'evil' than you, results in a gain of Karma, while killing one that is better than you results in a loss. The actual values scale depending on the difference between both player's Karma levels. Aside from killing, there will be other ways to gain/lose Karma:
    • Remaining Neutral (for every consecutive 10 mobs that a player kills without killing another player (good or bad) that player will receive "1 + 0.5x" Karma. Let x represent the number of sets of 10 that the player has killed since their last PvP kill)
    • Pacifist (if the player plays for x (undetermined) minutes without killing ANYTHING, that player will gain 1 Karma)
    • Provocation (if a player kills 5 things that are completely unnecessary (no gain, simple killing) they will lose 1 Karma (this includes UNTAMED/NON-HOSTILE Wolves, Chickens, and possibly more)
    • Admin Intervention (since our server is largely about freedom, and banning a player for capturing land owned by a much weaker faction than there own would be unreasonable, we've decided to implement a set of "guidelines": if a player goes against a guideline and does something that an admin deems unfair/unkind/whatever then the admin can manually subtract Karma. On the other hand, if a player is especially nice, admins can add Karma.
    Asides from Admin Intervention none of these extra gain/lose methods are completely essential. They are, for the most part, simply ideas that may be nice to implement somewhere along the road.

    Consequences of Karma:
    Depending on your Karma level, your gameplay can be affected in a variety of ways. Depending on how low your Karma is, several things can happen to you. If you Karma is barely below 0, these negative effects may be as simple as being struck by a non-lethal amount of lightning. However, as the player's Karma gets lower and lower, the effects become more annoying. This will encourage players to behave, while still giving them the freedom to do bad things here and there. Below are some of my ideas for negative Karma consequences that could be part of a random event system (every x minutes, a number is chosen. Each consequence is assigned a number, lesser consequences being given more numbers, with more numbers given to greater consequences if the player has a very low Karma. At the same time, there is a chance that nothing will happen):
    • Randomly struck by lightning
    • "Dropping" some iConomy cash (depending on Plugin's dependencies, since there's really no point in actually hooking this in with an economy plugin)
    • At night, a pack of hostile wolves (or other monsters) may suddenly spawn around the player
    • Chance of not getting a diamond when they mine
    • Chance of temporarily losing their voice (chat messages replaced with "[Unable to speak, time remaining: ##:##]")
    • Randomly being lit on fire
    • Taking more fall damage
    • Less time to breath underwater
    • More?

    On the other hand, players with positive Karma will receive positive benefits. Similar to above, here is a list of possible benefits:
    • "Armor" (taking less damage)
    • Chance of a wolf spawning nearby, so that they can tame it (possibly already tamed? Not sure if that was added in the newest RB, I only glanced for version notes)
    • Less fall damage (possibly none?)
    • Timed fire immunity (let player know when their time starts (*suddenly, you feel resistant to fire for x minutes*) and when it ends (*you feel your fire immunity slowly fade away*))
    • Chance of mobs becoming non-hostile (show messages, just like with fire immunity)
    • Ability to heal in special "sacred zones" (purely a suggestion, I understand that the cuboids involves in setting this up might be more of a hassle than anything)
    • Chance of getting ores when they mine stone (ie Iron, Gold, Diamond, etc)
    • "Finding" some iConomy cash on the ground
    • More?

    Notes:
    While just having the above would be more than amazing, and I would give the creator of such a plugin 1,000,000 diamonds, there are some more features that would be an added plus. These are as follows, and while I totally understand that most of you have lives and have better things to be doing, it would be nice if you could consider reading this list:
    • Ability to set "Karma-Free Zones" (we use War, and if you were to lose Karma for killing people during Capture the Flag, the game might seem less fun)
    • A MySQL Database (while I myself would probably turn to flatfile (I have no knowledge of other databases) it would be very nice to have all the information stored in an efficient manner)
    • Permissions (for commands like giving/taking Karma and for controlling whether or not the plugin will "ignore" a certain group, and let their Karma stay at a static level)
    • Karma Level Bases Permissions (I had an idea where at certain Karma levels, different commands would be unlocked, but since I myself wouldn't even know how to go about creating a config file for that, I can't expect anyone else to do it)

    Extra Notes:
    I would just like to say that I would greatly appreciate any plugin developer that feels this is a worthwhile plugin to attempt creating. While I do know some Java myself, and I had originally planned to work on this plugin myself, I realize that I just wouldn't be able to handle it on my own. At the moment, I have just got my computer back (completely wiped) and need to spend some time getting it back to where it was (which includes setting up my workspace for development). As if that weren't enough of a setback, this plugin also employs a bunch of stuff that I just don't think I could handle. I've never added MySQL to a Java program, and I'm not even sure how I would go about setting up a random event system (any ideas I have would probably end up incredibly inefficient and completely unorganized). Finally, I just don't see myself, between managing my server to possibly continuing work on Jackpot (my plugin) to all the other stuff I have to do, trying to start up another plugin. Karma is something I would really enjoy seeing, and I just can't see how it'll happen if I try to take on the project myself.

    If you actually read that whole thing: I congratulate you.
     
    Olof Larsson likes this.
  2. Offline

    Hunt800

    Is there some flaw in this idea that I'm missing, or are no dev's bothering to look at requests?

    (sorry if this counts as a bump without enough patience : / )
     
  3. Offline

    Tealk

    yes this is a n1 plugin
     
  4. Offline

    Hunt800

    ... n1?
     
  5. Offline

    valdark

    Brilliant idea.
     
  6. Offline

    Tealk

    n1 = nice^^
     
  7. Offline

    themanman0

    I like this. Considering the possibilities. But your equation is kind of confusing, in my opinion it would be best to stick to something like a = a - 5 and b = b - 5 and have the 5 be replace by a number defined by the user. As for a MySQL database, in this case I think it would be unnecessary because the only thing being stored would be the amount of Karma the player has. It would be more efficient to use either flatfile or SQLite if you really want a database. The plugin would be pretty simple to make although the challenge would be the benefits. I would like to start developement on this, is that ok with you (it would exclude the benefits for now to save time)?
     
  8. Offline

    Hunt800

    If you think you're up to it then go ahead. I'm excited to see what you work out. I'm not very experienced with Java, but if you need any help, just ask and I'll try my best.

    EDIT: Realized something: If the equation is static like that, then even if you killed the worst player in existence who everyone hated, you would lose Karma. I'm not sure that makes sense. :/
     
  9. Offline

    themanman0

    Yeah but technically if you kill someone, no matter how evil they are, you yourslf are performing an evil act. It was just a suggestion I was thinking that would allow the user to define how much the player would lose/gain. I'm open to whatever suggestions you have.

    http://forums.bukkit.org/threads/admn-misc-karma-the-behavioral-plugin.17221/ This is the WIP thread topic.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 16, 2016
  10. Offline

    Hunt800

    @themanman0 All right then, thanks. I'll be sure to keep an eye on this.
     
  11. Offline

    dak393

    This reminds me of PVPReward although this has many more unique ideas such as the random events seems like a good idea maybe Codisimus or another plugin author will pick this up :)
    edit: opps didn't see that themanman0 already got it XD nice hope it turns out well I'll be watching it :)
     
  12. Offline

    Hunt800

    It's the opposite of PVPReward :p I'm trying to stop the incredibly amount of killing. PVPReward rewars players for it.
     
  13. Offline

    dak393

    it rewards players for killing outlaws more than anything and if you kill people above you in karma you lose lots of karma so that if you get killed then you lose lots of money. Risk vs Reward type of setup although I do see what you are saying the karma reminded me of it, however your idea is defiantly different
     
  14. Offline

    Olof Larsson

    Hello :) I created the Factions plugin and yes you are right @Hunt800
    The factions plugin is flawed :p (I must admit that). What I wanted to create was a plugin that would control PVP and griefing on the server. I think a karma system, something like you are describing here, is the way to go. After using the factions plugin on my own server for a while I realize that one of the core ideas: "Beeing able to fight another faction to take over their territory" is no fun. Players never like to loose their buildings to another more powerful faction. What's important on a big server is build protection so no-one can grief your buildings AND a PVP karma system.

    I am somewhat interested in creating this plugin. The first issue in creating it is that we must know the reason for a death. It is a bit problematic in bukkit. There are ways to find out though. The following plugins does just that:
    HeroicDeath, DeathTPPlus, ServerEvents

    So the first step on the path to glory would be to create a solution for "Death reason detection". As I envision it it should be an API plugin. Perhaps called "DeathReasonAPI". It would do nothing but supply info to other plugins. I will talk to the creators of the plugins above :)

    With the karma idea in mind I made this up:
    http://massivecraft.com/dev/drafts/factions-v2

    What do you think?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 16, 2016
  15. Offline

    Sleaker

    https://github.com/MilkBowl/CombatEventsKarma
    It's not 100% complete - and has been only mildly tested with my new Combat system I've been working on. I do not believe that it is the Karma systems job to Provide any extra functionality beyond Titles - and Karma Addition/Subtraction. Plugins that want to modify how much a player is punished for being killed should hook into the system and do their own logic on this.

    Karma consequences in my mind are something that detracts from the overall gameplay. (We run a PvP server). Karma as I see it is just a system to track how good/evil a player is in relation to what they are killing. - If you want to do extra stuff based on those ratings it shouldn't necessarily be built into the same plugin at all.


    Now before you think mine is based around PvP - it actually is designed to allow the server to configure it however they want. And then allow plugins to pull the rankings of the karma and do stuff with them.. Such as if you wanted a plugin to punish evil players, you could set it up so that all monsters gave players karma, and that players lost karma for killing each other.

    Right now it only supports combat based karma, and doesn't have any form of decay, but I'm working on getting it all together to allow different decay settings and will also add other ways to gain/lose karma.

    The karma gain/loss uses the UO calculations.
     
    Olof Larsson likes this.
  16. Offline

    Hunt800

    @Sleaker
    Well, first off, I'd like to say that I'm not in incredible need for this kind of plugin at the moment. My server is... Well, dying. If anyone would like to develop it for the purpose of developing it, be my guest, but my server is dying and I can't promise that I would still use it. Still, I think that consequences, while not essential, would be important even on PVP server. Heck, it may just be the lack of consequences that caused my server to become this close to death. We've got a single, unbeatable faction that has basically crushed every noob in its path. Whatever though, I greatly appreciate that you've put the time in to do what you did.
     
  17. Offline

    Sleaker

    I happened to see your post and threw up the link, It is still pretty buggy, but the primary reason I was making it was for my server, so don't feel like I just went out and did something that you didn't need ;)
     
  18. Offline

    Hunt800

    All right, cool. Good luck on the project and who knows, maybe I will need this someday. :)
     
  19. Offline

    Hunt800

    Believe it or not, I found my way back to this thread while reading your post. I'm glad that you see the value in this idea and I hope that you're able to integrate into the next version of Factions in a way that gets rid of all of the existing issues.

    Who knows, maybe someday I'll be able to find more free-time and I'll start another server, if Factions V2 is out by then, I'm definitely going to look at using it for land protection.

    EDIT: The way you're looking at it reminds me of FaceOfMankind's PP system. The game (which used to be good, it sucks now) gave points to players who committed crimes such as murder. Then, if a player had enough points, any player in the law enforcement faction could attempt to stun and arrest the criminal which would send him to the in game jail. At the jail, they had 2 choices. They could either perform simple goals (such as mining ores that go directly to the government or whatnot; basic community service) which would go towards getting them out of the jail. On the other hand, they prisoner could attempt a prison break and escape the jail. It's just a thought you might want to consider (especially cause it might be interesting to have criminals work in a mine, where all of the ores go to the city that they were captured in (or to the city of the player that captured them))
     
  20. I remember an addon to WoW when I played that years ago that was called karma. You can't really do it the way that it was done in WoW since the gameplay are completely different, but some of the things from that addon "inspired" som other ideas in my crazy brain.

    One thing would be to add a +1 karma (somewhat like G+). What I mean by this is that players can give other players +1 or -1 karma. No more, no less. If I play online and a player helps me out or in some other way I just typ /karma <player> +1 (or something like that) and one karma gets added to his karmapool. Now since I have given him 1 karma, I can never give him any more, but I can remove the karmapoint I've given him or even change it to -1 karma, if he changes gameplay and start ruining my gameplay. :p

    This can be extended further. If someone I give +1 karma write in the chat, his name can be colored green and if Ive given him -1 his name is colored red. This way you vill know if a player is someone you would trust or not no matter if you remember his name or not.

    I also like the idea of spawning angry wolfs around players with low karma, but I think i'd prefer if players with low karma get more "aggro" from the mobs than the people with good karma. I'm sure this is something that probably can't be done, but if it could it would be great. No extra spawning or anything like that, just that if a player with good karma and a player with bad karma are standing besides some wolfs (for example) then the bad karma player see them as aggro and the player with good karma see them as neutral.

    The part about finding more/less diamonds. I think it's easier to make it so that a player with good karma manage to get more ore from one block than the one with bad karma. Something like:
    Player with zero karma mines like normal.
    Player with good karma mines an ore and get a message like "You managed to get som extra ore"
    Player with bad karma mines an ore and get a message like "You fumbled the ore"

    Well.. som thoughts. :)

    You have to read everything above with an open mind and use it as half-minded inspiration on your own ideas since my (lack of) English doesn't really allow me to explain what my mind is telling me :p
     

Share This Page