[INACTIVE][MECH] afraidSkills - Skills for CraftBukkit [531]

Discussion in 'Inactive/Unsupported Plugins' started by igmolicious, Mar 8, 2011.

  1. Offline

    igmolicious

    afraidSkills - A skills plugin for CraftBukkit
    Version: v0.3.21

    afraidSkills is the product of my love for mcMMO, tempered by my problems with modifying it to add additional functionality. Just so we're clear, nossr50 is a hero. Please note that this is a total re-write, aimed at aiding in extensibility as well as some new functionality.

    Features:
    • Skills! Adds Acrobatics, archery, axes, diving, excavation, healing, herbalism, mining, repair, swords, unarmed, and woodcutting!
    • Skills are handled as classes, and the master list is easily appended.
    • Overhauled combat system -- combat takes in to account skill level, weapon quality, and armor quality. New abilities are present, with more coming soon!
    • Magical items -- gold items are considered magical, and include benefits above the "mundane" varieties.
    Download The Plugin

    afraidSkills Wiki

    Dev Build

    Both classes and java source files should be included in the jar.

    Current To Do List:
    • Implement special abilities (a few of these are active: Sword parries, Axe Criticals, Unarmed Dodges, Unarmed weapon/armor level scaling based on level, Chi-strikes -- eventually all skills will have special abilities gained every 25 levels).
    • Implement Permissions support
    • Test/Improve hooks for adding skills via external pluggins.
    • Implement secondary crafting/deconstruction system (for crafting items not natively craftable, and converting "finished" items into components)
    Changelog:
    Version 0.4.1
    • IMPORTANT: The users file has been moved to a sub-folder of the plugins folder. To keep your users' skill profiles, please copy the old afraid.users file into the /plugins/afraidSkills/ directory!
    • Combat has been updated a little to lessen the damage modifications in weapon level vs. armor level calculations. A few changes have also been made to base damage numbers. This is still in flux.
    • Special Abilities Added!
      • Archery
        • Level 75: Point-blank shot: Arrows fired from within 3 blocks do additional damage
        • Level 100: Pinning: Arrows fired from 10 or more blocks away have a chance to pin the target in place.
      • Axes:
        • Level 25: Cleave: Attacks have a chance to damage all nearby enemies -- the damage will be divided up between them.
        • Level 50: Rend Armor: Attacks have a chance to do durability damage to an opponent's armor.
        • Level 75: Spin-Attack: By crouching and attacking, you can attack all enemies in a large swathe (heavily damages your weapon).
        • Level 100: Axe Master: Killing an enemy will restore some durability to your axe.
      • Swords:
        • Level 25: Defensive Posture: While crouching, damage received and dealt is lowered.
        • Level 50: Riposte: While in defensive posture, parries will instead be counted as ripostes, damaging a nearby enemy.
        • Level 75: Disarm: Attacks have a chance to disarm your opponent's weapon. It will be dumped to their inventory, if the have space, and dropped otherwise.
        • Level 100: Sword Master: Parries and Ripostes will restore some of your sword's durability.
      • Unarmed:
        • Level 25: Dodge: While unarmed and unarmored, you have a chance to dodge attack, negating the damage.
        • Level 50: Chi-strike: Your unarmed attacks have a chance to burn your opponents with burning chi.
        • Level 75: Tough Skin: When unarmed and unarmored, attacks against you will deal less damage.
        • Level 100: Quivering Palm: While crouching, your unarmed attacks will deal considerably more damage, but you will take damage as well.
      • Acrobatics
        • Level 25: Super Jump: Jumping while crouching will launch you into the air, allowing you to reach great heights.
        • Level 50: Leaping: You springy legs increase your normal jumping ability a little.
    Show Spoiler

    Version 0.3.21 (Bugfixes!)
    • Fixed bug with item removal removing more items than it should have.
    • Fixed the golden axes' tree chopping algorithm. Now chops the entire tree.
    Version 0.3.19
    • Fixed issue with gold tools not breaking properly, decreased durability for gold tools.
    • Gold armor now provides the added bonus of a 25% chance to avoid fire damage per piece (does NOT negate lava damage!)
    • Archery gained two new abilities:
      • Level 25 Flaming arrows: when carrying arrows, coal, and a flint & steel, arrows fired normally will be burning, and ignite enemies that they hit.
      • Level 50 Multi-shot: when sneaking, you will fire a group of up to 5 arrows.
    • Harvesting sugarcane no longer drops reeds on a successful herbalism proc.
    • Errant gains for herbalism when activating TNT have been addressed.
    Version 0.3.12
    • Added in the remainder of the gold tools
      • gold axes will chop down a whole tree (chop out at the base, or you'll wind up with a stump :D)
      • golden picks will mine out a 3x3x3 chunk of stone (all mined stones will drop materials)
      • golden shovels quadruple your chance to find items while excavating
      • golden hoes will till a 7x7 area and drop seeds.
    • Basic diving skill added, however this will most likely get changed around. Currently, it'll extend the time between taking damage from drowning.
    • Fixed a bug that allowed chi-strikes even if you were not unarmed.
    Version 0.3.7 (Bugfixes!)
    • Fixed foods affected by herbalism skill from granting proper benefit, and not being properly removed after use.
    • Removed annoying debug messages from combat.
    • Problem with NPC errors should be addressed! (Needs better testing)
    • PvP checking works now! No more free skill gains!
    • Repair should no longer throw errors when right-clicking with a repairable object on air. Whoops!
    Version 0.3.2

    • First public release.
    • Anvils are tiered (wood, iron, diamond, gold) and (except for leather repairs) require a heat source (furnace with fuel, lava, or burning netherrack).
    • Skill benefits are handled with scaling returns based on your skill level.
    • Healing is performed by attacking another player with a flower or wool (wool bandaging is more effective than herbal remedies at higher levels)
    • Gold weapons are considered magical, and have a chance to ignite the target.
    • Unarmed combat requires the user to be unarmed and unarmored for greatest effect.
    • Archery gains benefit from light (leather/chainmail) or no armor.
    • Axe durability loss from attacking is handled, so using an axe as a weapon won't penalize player.
    • Weapon level (wood, stone, iron, diamond, gold) is checked vs. armor level for bonus damage.
     
    thecoolwolf, Lolmen, Flawm and 3 others like this.
  2. Offline

    mdskizy

    I don't know how or where everything is saved but I had a couple of suggestions/questions, I already have it installed on our server. I haven't reloaded plugins while the server is going but I know that use to make McMMO freak out and every block that was hit would spam the console. Is there anyway you could make a config.yml or settings so that vvvv doesn't spam the console every time someone attacks a mob. Is there any way to check skill level? And what are the benefits of each skill?
    23:44:31 [INFO] Axe attack.
    23:44:31 [INFO] Pre-Reduction: 5
    23:44:31 [INFO] Damage multiplier: 1.5
    23:44:31 [INFO] Weapon Durability: 88
    23:44:31 [INFO] Post-reduction: 8
    23:44:31 [INFO] Axe attack.
    23:44:31 [INFO] Pre-Reduction: 5
    23:44:31 [INFO] Damage multiplier: 1.5
    23:44:31 [INFO] Weapon Durability: 89
    23:44:31 [INFO] Post-reduction: 8
    23:44:31 [INFO] Axe attack.
    23:44:31 [INFO] Pre-Reduction: 5
    23:44:31 [INFO] Damage multiplier: 1.5
    23:44:31 [INFO] Weapon Durability: 90
    23:44:31 [INFO] Post-reduction: 9
    23:47:25 [INFO] (Monster) Pre-reduction: 4
    23:47:25 [INFO] (Monster) Post-reduction: 1
    23:47:25 [INFO] (Monster) Pre-reduction: 1
    23:47:25 [INFO] (Monster) Post-reduction: 0
    23:47:26 [INFO] (Monster) Pre-reduction: 4
    23:47:26 [INFO] (Monster) Post-reduction: 1
    23:47:26 [INFO] (Monster) Pre-reduction: 1
    23:47:26 [INFO] (Monster) Post-reduction: 0
     
  3. Offline

    nossr50

    A modmod based on my mcMMO plugin?
    I feel special [​IMG]
     
    Finwe likes this.
  4. Offline

    igmolicious

    Reloading works fine. It'll reset the watched blocks, but it'll reload the user profiles fine.

    Whoops! I'll get my debugging stuff removed during my next release. Sorry for the spam! To check skill levels, just do a /stats command. Also, I'm working on a wiki for it. I'll post a link here when I get some stuff added. :)


    You are my hero, nossr50. Just so you know. :)

    P.S. Sorry for a lack of documentation for the time being. I'm working on getting that up.
     
  5. Offline

    nossr50

    You liked my plugin that much? That makes me happy
     
  6. Offline

    M1sT3rM4n

    So.... a clone of Nossr's mod?
     
  7. Offline

    mdskizy

    Also, are loaves of bread permanent or do they have a certain number of uses? We also were getting errors when we attacked NPC's on our server by accident. And we had the ability to rack up unarmed skills on other players with pvp off.

    2011-03-09 08:51:18 [SEVERE] Could not pass event ENTITY_DAMAGED to afraidSkills
    java.lang.NullPointerException
    at com.igmolicious.afraidSkills.afraidCombat.getArmorLevel(afraidCombat.java:263)
    at com.igmolicious.afraidSkills.afraidCombat.playerDefenseCheck(afraidCombat.java:283)
    at com.igmolicious.afraidSkills.afraidCombat.meleeCheck(afraidCombat.java:139)
    at com.igmolicious.afraidSkills.afraidSkillsEntityListener.onEntityDamage(afraidSkillsEntityListener.java:70)
    at org.bukkit.plugin.java.JavaPluginLoader$39.execute(JavaPluginLoader.java:329)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:225)
    at net.minecraft.server.EntityHuman.d(EntityHuman.java:439)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:752)
    at net.minecraft.server.Packet7UseEntity.a(SourceFile:33)
    at net.minecraft.server.NetworkManager.a(SourceFile:230)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:70)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:338)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:253)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
     
  8. Offline

    belarm

    Not entirely. One of the first goals was to reimplement mcMMO's functionality, but with a more extensible code base, and a more linear reward:level relationship; instead of jumping up at certain increments, afraidSkills uses a 100-level system, with damage, healing, and extra drops scaling up smoothly as you progress. After that, we added additional skills, increased the complexity of the repair system, made gold weapons and armor worth-while, changed the drop tables for excavation, and implemented per-skill difficulty multipliers (the last two of which will be moved out to configuration files so they can easily be modified).
     
  9. Offline

    igmolicious

    Interesting. I'll have to put some thought towards how to handle the NPCs, since they're handled sort of weird -- I'll need to figure out how to distinguish between NPCs and normal players. Also, thanks for the heads up on the PVP thing. I'll get that fixed for the next release as well -- the server that we use this plugin on is PVP enabled, so that went totally unnoticed :)

    Edit: re-read your comment -- are loaves not being consumed on use?

    Dude, you have no idea. mcMMO multiplies the fun of minecraft. It's a brilliant concept.
     
  10. Offline

    mdskizy

    Loaves of bread are not consumed, they'll heal for like half a heart but they don't disappear from your inventory after using them. If you'd like to check our server to see if its just us this is our IP 46.37.184.154
     
  11. Offline

    Nytemare3701

    @igmolicious: You sir are amazing. This is exactly what I wanted from McMMO in the first place!
    Request: attributes unlock permissions as well?
     
  12. Offline

    belarm

    Can you clarify what you mean by this a bit?
     
  13. Offline

    mdskizy

    I'm not quite sure if he means like if you get to x level you can use certain tools or if you get to x level you can you /heal or whatever.
     
  14. Offline

    Nytemare3701

    Clarification: If you reach 50 mining you gain a permission from another plugin, determined by the config.

    Mining50: permission.whatever: You learned /Whatever!
     
  15. Offline

    mdskizy

    Idk that sounds like a lot of work that really isn't related specifically to this plugin that would be a mix between permissions or whatever and the plugin that you want to get permissions for and then link it to this plugin.
     
  16. Offline

    captainbinary

    This is amazing! Is there permissions support coming this way? That way i could give certain jobs the ability to level up in certain skills.

    A bold concept but maybe an idea would be to allow certain permissions groups to level up in a skill much quicker then others would be able too. This way i dont have to restrict what people do, it will just be more beneficial to them if they do what there job is :)
     
  17. Offline

    igmolicious

    Permissions support is something I'm working toward :) I like the idea of having some sort of configuration setup that could maybe augment the experience modifier for skills, and have several different configurations for basic classes... I'll look into a good way to implement that!
     
  18. Offline

    Nytemare3701

    ...what?

    I'm saying that the plugin could grant a player a permission node when they reach a certain level in a skill. That's not particularly hard.

    Edit: It is VERY related. It means that commands from other plugins can be used as class abilities, thereby making this plugin the ONLY PLUGIN AROUND that can tie together all of the cool commands into one RPG system.
     
  19. Offline

    mdskizy

    Igmo mushroom soup, regular apples, and bread don't go away after consuming them. Golden Apples, Pork cooked/raw, and fish cooked and raw do disappear with use. Also any clue why this is spamming our console? The things being done on the server are super pickaxe replace 0 on world guard, and placing grass blocks.

    15:52:44 [SEVERE] Could not pass event PLAYER_ITEM to afraidSkills
    java.lang.NullPointerException
    at com.igmolicious.afraidSkills.afraidRepairs.repairCheck(afraidRepairs.java:56)
    at com.igmolicious.afraidSkills.afraidSkillsPlayerListener.onPlayerItem(afraidSkillsPlayerListener.java:80)
    at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:202)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:448)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.a(SourceFile:230)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
     
  20. Offline

    igmolicious

    Yeah, it's on my bug fix list for tonight :) Thanks for the heads up :)
    [MERGETIME="1299704619"][/MERGETIME]
    Hmm... it may be possible. I'm still looking at the permissions hooks, so if I can reset the settings for the permissions handled by it from this plugin, it may be doable. I'm thinking it'd go something like this:

    1. Read config file to find skill, level, and command settings.
    2. Check user skill level.
    3. Set permission to true for that user if minimum level is met.
     
  21. Offline

    Nytemare3701

  22. Offline

    igmolicious

    Bugfix version 0.3.5 is up, folks! Give it a shot -- it should address the problems mentioned thus far. Thanks for the feedback! I'll be working on the next minor version, and will hopefully have something up a bit later tonight.

    Edit: Whoops! Realized I didn't address PvP skill gains on a non-PvP server. I'll get that fixed real quick. Stand by!

    Edit 2: Alright! Made a couple more fixes, and Non-PvP Server checks work properly for combat!

    Edit 3: One more small bug fix to keep repair from throwing up errors when a repairable item is "used" on a block of air. Guh.
     
  23. hi there,

    like your plugin very much, but I have a problem: nobody gets any damage from any mobs.. everything else seems to work (falling dmg, leveling up skills etc)

    I tried updating from the version of yesterday to your last release but still no change. Please fix that asap! :)

    Other than that, marvelous work dude..
     
  24. Offline

    igmolicious

    Alright, we're not seeing that problem on the dev server, which has the same version of combat handling as the latest release. Couple questions, so I can figure out what's going on for you:

    1. What other plugins are you currently using?
    2. Are the people experiencing this heavily armored? Armor is much better at reducing damage in afraidSkills, and higher tiers will negate low damage altogether until the armor degrades enough for it to get through.
     
  25. Offline

    Taurondir

    Assumption: If permissions from levelling can be tied to other plugin permissions, would that mean that (on say a fantasy themed RPG server) you could unlock classes selections? If that was the case people would be able to create a class entry that once selected would allow a class to craft certain things (but not another class) etc etc, so people could specialize? A template would allow classes to be made without changing MMO as it would just dump a whole bunch of permissions lines into a file ... or would that be better left inside the MMO plugin to begin with?

    ... I'm not sure I'm even making sense here, so go easy.
     
  26. 1. No other plugin was running - I deactivated all other plugins and restarted server to be sure.
    2. It doesnt matter if fully armored or not. Fully naked: no dmg from 5 spiders and 3 zombies attacking at the same time. Fully armored: no degrading as expected, armor stays at full health.
     
  27. Offline

    igmolicious

    I have no idea what could be going wrong... do me a favor, if you would, and see if the dev build works for you. You can grab a copy here: Download
    [MERGETIME="1299803016"][/MERGETIME]
    Yep, this should be possible. One of my short-term goals is to get most of the variable stuff moved out to config files, so people who aren't programmers can still customize their server.
    [MERGETIME="1299811410"][/MERGETIME]
    0.3.12 is up! A small update, but I got a late start today.
     
  28. ok, i tried your dev build.. fully naked we now receive dmg as intended.
    but after I put on a diamond helmet and diamond breast i get 0 dmg again, and no armor degradation. I tried the same scenario with around 6-8 mobs constantly hitting me for over 10 min -> no dmg, armor still at full life
     
  29. Offline

    igmolicious

    Alrighty. I'll either bump up mob attack levels, or lower protection vs. mobs. Thanks for the heads up!
    [MERGETIME="1299886648"][/MERGETIME]
    Alright, I just tested mob damage on the current build, and I can't replicate the issue -- mobs damage just fine through armor (diamond helm/chestplate, as per your description). What version of CraftBukkit are you running?
     
  30. Offline

    filthyklean

    Love the plugin :)

    Just using it on my server, we noticed that after using up the golden pickaxe, when we tried to place another item in the slot, it spawned a brand new gold pickaxe?

    Another thing, are you able to add in commands so users can see their levels ingame? Or am i missing the obvious and you can already do that? Sorry if i have XD
     

Share This Page