Lore Attributes
This plugin is no longer in active development by me (Nighteyes604). LordPhrozen has picked it up and you can continue to receive updates here: http://dev.bukkit.org/bukkit-plugins/lore-attrubites-revival/
This plugin allows players to increase affect their stats (health, damage, regen, and attack speed) based on the lore of their items. All lore also applies to mobs - so you challenge your players by giving mobs better stats!
Note: This plugin does not add lore to items, it just reads the lore and affects the player based on it.
Lore Stats
Currently lore can be applied to: attack damage, attack speed, health, health regeneration, dodge chance, critical chance, critical damage, life steal, armor, and even a restriction of items based on permissions!
Read the sections below to see how to boost the stats of your items.
Damage
Damage boosting can be applied to items in one of two ways - a random range, or a fixed increase.
"+5 Damage" on an item will increase damage dealt by 5 "2-6 Damage" on an item will set the player's damage to be a minimum of 2, maximum of 6.
Damage looks at the sum of all items equipped, and the item in the player's hand. Every range applied to an item is summed together, and then boosts are applied afterwards.
Example:
- Helm: 2-3 Damage, Chest: +5 Damage, Sword: 5-10 Damage
- Overall Damage: 12-18
Health
Max health can be increased by fixed values and can be applied to any item the player has equipped.
+50 Health will increase the player's health by 50.
This action just sets the max health, not current health. If the player removes boosting armor and would have more health than their new max, their health will be lowered to their new max.
Regeneration
Health regeneration can be increased by fixed values and can be applied to any item the player has equipped.
+50 Regen will increase their regeneration by 50.
Regeneration boosts are applied when health would typically be regenerated - the player is satiated / has a high food bar.
Attack Speed
Attack speed can be limited / increased and can be applied to any item the player has equipped, and the item in the player's hand.
+2 Attack Speed will increase the player's attack speed by 2.
All player's have a default attack speed of 1, and the "cooldown" between attacks is determined by "base-delay" in the config / attack speed, in seconds.
Example:
- Sword: +1 Attack Speed. Base-Delay in config: 2
- Attack Speed: Can deal damage once per second (2 / 2 = 1)
Attacks faster than the player's cooldown time will display the message in the config. If the message is set to "none" nothing will display. To use attack speed as a lore, it must be enabled in the config. It is disabled by default.
Dodge
A player can gain a % chance to dodge damage taken from another entity. The dodge attribute can be applied to any equipment the player is wearing, and the item in the player's hand.
Example: +5% Evasion will increase the chance to dodge damage from another living entity (such as monster or another player) by 5% (players start at 0%).
Critical Chance and Critical Damage
On dealing damage to another player or entity, players can be given a chance to have a critical attack - which deals critical damage. Players will need both the critical chance lore and the critical damage lore for crits to be noticable.
Example: +5% Critical Chance +10 Critical Damage
Means the player will deal an extra 10 damage on average 5% of the time.
Life Steal
Life steal lore gives players and monsters the ability to heal when they attack. Anyone with the life steal attribute will heal a maximum of their life steal bonus or the damage dealt, whichever is smaller.
Example: +10 Life Steal Any attacks done by this player will heal the attack damage, up to a maximum of 10.
Armor
Armor lore adds defensive traits to the player or monster, and reduces damage done by other entities based on the armor value.
Example: +10 Armor Any damage this player would have taken from another player or monster will be reduced by 10.
Item Restrictions
You can use item restrictions to prevent players from using certain items based on their permissions! Restrictions are checked for players only (so mobs are safe), and are checked: on inventory close, when they try to shoot a bow or damage another entity, and when they craft.
Players trying to equip a restricted armor piece will find the armor moves to their inventory when they close the screen. If their inventory is full it will be dropped at their feet.
Players trying to shoot a bow or deal damage with an item that is restricted will find they deal no damage (though arrows will still be used when trying to shoot a bow).
Players trying to craft using a restricted item will find they're unable to and the items will be reverted. The MineCraft client briefly lets the player think the item has been crafted, but it will change back.
Anytime a player tries to use a restricted item, if enabled the plugin will send them the message from the config. %itemname% will be replaced with the item name that is restricted.
The default permissions to use are "loreattributes." + whatever the restriction is in the lore. The default keyword in the configuration is "type", and the keyword will need to be followed with a colon (:).
Example: Type: Thief Player will need the "loreattributes.thief" permission.
Type: Super.Thief Player will need the "loreattributes.super.thief" permission.
When does Lore get applied?
- Health - Applied on login, closing inventory, respawn, targeting (for mobs).
- Damage, life steal, attack speed, critical chance, critical damage - Applied on attack.
- Regen - Applied when player would normally regenerate health.
- Item Restriction - Checked on inventory close, shooting bow / attacking, and crafting
- Dodge, Armor - Applied on taking damage from another player or mob
How do I change the keywords the plugin is searching for to apply lore attributes?
In the configuration file, under each type of lore there is a "keyword" attribute. The plugin will search for the keyword (with a few other conditions, such as + or % based on the type of lore it is).
Dodge and critical chance require a % sign after the value.
Can I stack multiple lore / have other words in my lore?
Yes!
The plugin will search the entire lore for the particular strings mentioned above, but will only apply the first of each type.
Example:
- Sword: "+50 Health, +2 Attack Speed this sword will never let you down!" would apply +50 health, +2 attack speed.
- Sword: "+50 Health +500 Health you'll be OP with this" would only apply +50 health.
Permissions
Permissions are used dynamically based on the item restrictions you add to items, as mentioned above. There are no other restrictions in this plugin - anyone that can use the item that has lore will have the lore applied to them.
Commands
/hp - Players can type this to find out their current health, and maximum health. /lorestats - Players can type this to list all of the lore that is applied to them.
Plugin Integration
PermissionsHealth
- This plugin can build off of health defined from PermissionsHealth. Just enable "permissionshealth" under integration in the config.yml.
Misellaneous
- Thank you to davidilite for the inspiration behind this plugin!
Upcoming Features
- Heroes integration
- Command to view all lore attributes applied (possible revision of formatting or colors - any suggestions?
- Support for negative values
@nighteyes604
I did make a post in the requests forum regard buying lore with exp. I know it is not the aim of this plugin but if you are looking at other ideas maybe this could get a look in at the same time.
plugin request
Thanks again for the great plugin and work!
What happened to that update?
@nighteyes604 I would use it because i have an RPG/MMO Server like WoW or other MMORPGs and i want to give general buffs and setable damage for each weapon :) So i can create more different weapons, armors etc. :)
@Shelmak
Oh it's definitely a good idea and if there isn't another plugin like it I'll definitely add it somehow - just want to make sure I do it in a way that makes it so people don't have to use it and won't clash with anything else. Thank you for the suggestion! :)
@Jalau
I'm not sure how many people would use it but yeah, I can look into an option for that as well.
Can you add an option that allows to set just the damage of the thing that the option is on? So if you have on a sword 5-7 Damage the sword will do 5-7 Damage no matter if the armor says +5 Damage! I already have a system for it: If there is a + or a - infront of 5-7 Damage or 7 Damage it will make this value global, so it effects the every damage you do with other things If there is nothing infront of 5-7 Damage or 7 Damage it will just set this as the damage, that just the weapons does +/- other damage values that have a +/- infront of it! Would love to see this, this would be really amazing!
@nighteyes604
No problem. It's only a suggestion, but i dont know any plugin that assign a random lore when a player craft a item. I'll search on the plugins page, but it's probable that i wont find any like that.
Think about add a feature like that or make a second plugin that complements this plugin, i think that is a good idea, but you are the plugin developper, not me. It's your decision.
@Shelmak
I may make another plugin that does this, or update this one but it wasn't in the original request of the plugin so for now you'll have to find another.
I have a stupid question: How players obtain objects with lore attributes?
Is it applied a random lore stat when they craft a weapon/armor? I like that, not to need to assign manually the lore stats...
Edit: I tested this plugin and it is awesome, but i like to make that when a player crafts a object "have a % chance" to add a lore positive or negative stat...
Ex:
With that we can make a more fun server with players trying to create good objects.
@nighteyes604
It happens with a clear inventory and just the stone sword. 10-12 damage unbreaking 5
Killing a skeleton boss in dyed blue leather armor set, bow with power 2 and 150 hp. 1 or 2 hits is all it takes
with the same stone sword unbreaking 5, 8-10 damage. it takes about 6 hits which is about 10-30 each time, naked clear inventory besides the sword.
@mr_jacks_1
I'll have to run a test and see why that happens - but the damage should just be added up. Could you list all of the lore the items you have on is, when you're dealing 100-120 damage?
The range just sets damage - so 5-10 would deal somewhere between 5-10. It shouldn't be going above that.
regarding damage on items.
a stone sword that has 8-10 damage does 20-30 damage on a zombie boss all gear being equal but the sword being bumped to 10-12 damage makes it do 100-120.
only enchants on the sword are unbreaking 5
happens with or without armor. seems like quite a large tipping point to me. Is there more information of how damage is applied so we can avoid these large unexpected changes?
@nighteyes604
no change
@ecianice
Not sure why it would spam none, it works in my environment. Try adding the quotes around it after all? But next version will have the boolean config.
I will add an internal reload command.
is spamming "none" in chat.
@nighteyes604
Thanks, I thought I should change my request to simply make it
message: ""
would default to a 'disabled' state- or just not print anything. Your fix is just as fine.
The issue was he had no priority handling so your damage was first and his overwrote it going after.
Here is the commit- Changed damage event's priority
On another note- Is an internal reload command too much trouble? No one will use it besides that initial config save but it's still really nice to not reload everything.
@ecianice
I will add a configuration option to make it more clear, but for now you can just set the string to be "none" (without quotes) and it won't appear.
What was the issue with the normal event priority?
@nighteyes604
Cooldown period, yes. I tried setting the field to blank but I believe it overwrote the config thinking it was invalid. I saw no console errors but the changes won't save. Let me try again I just got thinkofdeath to fix damage calcs with your lore +5 or whatever. You were using event priorities but now they are working. :D
Yea, I can't leave it like
message:
and doing
messge: ""
spams an empty line which I figured would happen. I had to have AntiBuild make this same change. For an MMO experience you don't want any feedback in the chat like that. Can you please add the message-enable: true/false? :]
@ecianice
If you set the message to none, nothing will display. And it is only once per attack - or do you mean once per cooldown period?
IMO a huge oversight- Spam control on the attack speed messages (one message per attack). Also the option to not print any feedback.
@ecianice
@noraver
@C0nd3mn3d
No problem thank you for your help! Yeah I'm available for discussion, just pm and we can talk there or on skype. I've taken a look at the Heroes api and I see some ways I might be able to work in at least limited integration, we'll see what I can come up with tomorrow.
Edit: Plugin doesn't work with negatives yet, but I will add in the future.