player was hit while invulnerable.
->Essences no longer spawn due to projectiles causing teleports and
water causing teleports.
->Armor penetration formula has been fixed.
->If /dps is on, damage per hit is displayed on screen.
->Rangers that shoot Endermen send them to oblivion...
->Damage from explosions is now x1.0 intended value (Up from x0.375)
->Damage dealt from Line Drive now scales from x1-x5, based on how much
health the mob is missing when performed.
->Line Drive Cooldown increased by 4 seconds.
->Habitats influence nearby habitats now.
->Killing a mob with Line Drive now lowers the cooldown of Line Drive by
2 seconds per kill.
->Improved internal settings for cleaning up the monster list of
despawned monsters.
->Leaders now gain their red glow back if they lost it after a few
seconds.
->'Greed' perk nerfed heavily. Requires a lot of point investments and
knocks off of items frequently. Only divides stats for each piece that
has Greed on it, instead of how many levels of greed exist.
->Fixed a bug where Greed divided all stats more than one time per
piece.
->Death count now shows in player list.
DEATHMARK("Death Mark","Applies a Death Mark stack to enemies hit. Death mark stacks last for 5 seconds, and refresh on each hit.\n\nMarks can be detonated at any time by right-clicking. Each death mark stack applied deals [VAL] true damage.",newdouble[]{0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0},
CRIPPLE("Cripple","Every 10 death marks applied on a monster increases damage dealt from all damage sources by [VAL]%.",newdouble[]{1,2,3,4,5,6,7,8,10,12},
AUTOREPAIR("Auto Repair","1% chance every second to repair [VAL] durability to the artifact item\n\nThe item must be sitting in your hotbar or must be equipped for this ability to work. This ability is less effective with no sunlight!",newdouble[]{3,3.5,4,4.5,5,5.5,6,6.5,7,7.5},
GREED("Greed","Increases Drop rate by [VAL]% . Health is halved, health regeneration is halved, and damage reduction is halved. Consumes one level of Greed per level up.",newdouble[]{50,55,60,65,70,75,80,85,90,95},
GREED("Greed","Increases Drop rate by [VAL]% . Health is halved, health regeneration is halved. Each hit has a [GREEDCHANCE]% chance to consume the Greed buff.\n\n"+ChatColor.RED+"Costs 1 Artifact Level.",newdouble[]{1,2,3,4,5,7,9,11,13,15},
/*GROWTH("Growth",ChatColor.GRAY+"[Unimplemented] Increases artifact EXP gained by [VAL]% . Health is halved, health regeneration is halved, and damage reduction is halved. Consumes one level of Growth per level up.",newdouble[]{100,100,100,100,100,100,100,100,100,100},
REMOVE_CURSE("Remove Curse",ChatColor.GRAY+"[Unimplemented] Removes a level of a curse from the Artifact.",newdouble[]{-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0},
publicstaticStringdisplayDescriptionUpgrade(ArtifactAbilityability,inttier,intfromlv,inttolv,doubleplayerdmgval){//Level to display information for.
@ -592,8 +599,9 @@ public enum ArtifactAbility {
msg=msg.replace("[PENDMG]",DisplayChangedValue(df.format(calculateValue(ability,tier,fromlv)/100*playerdmgval),df.format(calculateValue(ability,tier,tolv)/100*playerdmgval)));//Based on multiplying [VAL] by the base damage value.
if(Math.random()<=((11-tier)*5)/100d){p.sendMessage(ChatColor.DARK_AQUA+"A level of "+ChatColor.YELLOW+"Greed"+ChatColor.DARK_AQUA+" has been knocked off of your "+((item.hasItemMeta()&&item.getItemMeta().hasDisplayName())?item.getItemMeta().getDisplayName():UserFriendlyMaterialName(item)));
if(Math.random()<=((11-tier)*5)/100d){p.sendMessage(ChatColor.DARK_AQUA+"A level of "+ChatColor.YELLOW+"Greed"+ChatColor.DARK_AQUA+" has been knocked off of your "+((item.hasItemMeta()&&item.getItemMeta().hasDisplayName())?item.getItemMeta().getDisplayName():UserFriendlyMaterialName(item)));
//A fix to make achievemnt announcements not show the healthbar!
@ -3860,17 +3887,31 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
if(ev.getEntityType()==EntityType.ENDERMAN){
//There is a small chance to drop a Mysterious Essence.
if(/*Math.random()<=0.0625*ARTIFACT_RARITY &&*/((Monster)ev.getEntity()).getTarget()==null){//We won't drop it when they are targeting a player, only when they are doing their own thing.
monsterdata.get(ev.getEntity().getUniqueId()).GetTarget()==null)){//We won't drop it when they are targeting a player, only when they are doing their own thing.