Browse Source

Another WIP update

nossr50 14 years ago
parent
commit
d32ff935db

+ 3 - 1
mcMMO/Changelog.txt

@@ -3,10 +3,12 @@ Changelog:
 Version 0.9
 --NEW CONTENT--
 Woodcutting now has the "Tree Feller" Ability
+Unarmed now has the "Berserk" Ability
+Swords now has the "Serrated Strikes" Ability
 Mining now has the "Super Breaker" Ability
 Axes now has the "Skull Splitter" Ability
 Excavation now has the "Giga Drill Breaker" Ability
-Added /mcrefresh tool for refreshing cooldowns
+Added /mcrefresh <playername> - tool for refreshing cooldowns
 Unarmed now has the "Deflect Arrows" passive skill
 Chimaera Wing Item Added
 

+ 14 - 1
mcMMO/com/gmail/nossr50/mcBlockListener.java

@@ -68,6 +68,19 @@ public class mcBlockListener extends BlockListener {
 			block.setType(Material.AIR);
 			block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
     	}
+    	/*
+    	 * BERSERK MODE CHECKS
+    	 */
+    	if(mcUsers.getProfile(player).getBerserkMode() && player.getItemInHand().getTypeId() == 0 && dmg == 0 && mcExcavation.getInstance().canBeGigaDrillBroken(block)){
+    		Material mat = Material.getMaterial(block.getTypeId());
+    		if(block.getTypeId() == 2)
+    			mat = Material.DIRT;
+			byte type = block.getData();
+			ItemStack item = new ItemStack(mat, 1, (byte)0, type);
+			block.setType(Material.AIR);
+			block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
+    	}
+    	
     	/*
     	 * SUPER BREAKER CHECKS
     	 */
@@ -120,7 +133,7 @@ public class mcBlockListener extends BlockListener {
 	    			/*
 	    			 * IF PLAYER IS USING TREEFELLER
 	   				 */
-	   				if(mcPermissions.getInstance().woodcuttingability(player) && mcUsers.getProfile(player).getTreeFellerMode() && block.getTypeId() == 17){
+	   				if(mcPermissions.getInstance().woodCuttingAbility(player) && mcUsers.getProfile(player).getTreeFellerMode() && block.getTypeId() == 17){
 	    				mcWoodCutting.getInstance().treeFeller(block, player);
 	    				for(Block blockx : mcConfig.getInstance().getTreeFeller()){
 	    					if(blockx != null){

+ 32 - 1
mcMMO/com/gmail/nossr50/mcCombat.java

@@ -498,7 +498,7 @@ public class mcCombat {
     }
     public void applyAoeDamage(Player attacker, EntityDamageByEntityEvent event, Entity x){
     	for(Entity derp : x.getWorld().getEntities()){
-    		if(mcm.getInstance().getDistance(x.getLocation(), derp.getLocation()) < 5){
+    		if(mcm.getInstance().getDistance(x.getLocation(), derp.getLocation()) < 7){
     			if(derp instanceof Player){
     				Player target = (Player)derp;
     				if(mcParty.getInstance().inSameParty(attacker, target))
@@ -519,6 +519,37 @@ public class mcCombat {
     		}
     	}
     }
+    public void applySerratedStrikes(Player attacker, EntityDamageByEntityEvent event, Entity x){
+    	for(Entity derp : x.getWorld().getEntities()){
+    		if(mcm.getInstance().getDistance(x.getLocation(), derp.getLocation()) < 7){
+    			if(derp instanceof Player){
+    				Player target = (Player)derp;
+    				if(mcParty.getInstance().inSameParty(attacker, target))
+    					continue;
+    				if(!target.getName().equals(attacker.getName())){
+    					target.damage(event.getDamage() / 4);
+    					target.sendMessage(ChatColor.DARK_RED+"Struck by Serrated Strike!");
+    					if(!mcConfig.getInstance().isBleedTracked(derp)){
+        					mcConfig.getInstance().addBleedTrack(x);
+        					mcUsers.getProfile(target).setBleedTicks(12);
+    					}
+    				}
+    			}
+    			if(derp instanceof Monster){
+    				if(!mcConfig.getInstance().isBleedTracked(derp))
+    					mcConfig.getInstance().addBleedTrack(x);
+    				Monster target = (Monster)derp;
+    				target.damage(event.getDamage() / 4);
+    			}
+    			if(derp instanceof Animals){
+    				if(!mcConfig.getInstance().isBleedTracked(derp))
+    					mcConfig.getInstance().addBleedTrack(x);
+    				Animals target = (Animals)derp;
+    				target.damage(event.getDamage() / 4);
+    			}
+    		}
+    	}
+    }
     public void axeCriticalCheck(Player attacker, EntityDamageByEntityEvent event, Entity x){
     	if(mcm.getInstance().isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
     		if(mcUsers.getProfile(attacker).getAxesInt() >= 750){

+ 7 - 0
mcMMO/com/gmail/nossr50/mcEntityListener.java

@@ -96,6 +96,11 @@ public class mcEntityListener extends EntityListener {
         		Player attacker = (Player)f;
         		if(mcUsers.getProfile(attacker).getAxePreparationMode())
         			mcSkills.getInstance().skullSplitterCheck(attacker);
+        		/*
+        		 * BERSERK DAMAGE MODIFIER
+        		 */
+        		if(mcUsers.getProfile(attacker).getBerserkMode())
+        			event.setDamage(event.getDamage() + (event.getDamage() / 2));
         		/*
         		 * Player versus Monster checks, this handles all skill damage modifiers and any procs.
         		 */
@@ -118,6 +123,8 @@ public class mcEntityListener extends EntityListener {
         		 */
         		if(!event.isCancelled() && mcUsers.getProfile(attacker).getSkullSplitterMode())
             		mcCombat.getInstance().applyAoeDamage(attacker, eventb, x);
+        		if(!event.isCancelled() && mcUsers.getProfile(attacker).getSerratedStrikesMode())
+            		mcCombat.getInstance().applyAoeDamage(attacker, eventb, x);
         	}
         	
         	if(e instanceof Monster || e instanceof Animals){

+ 10 - 3
mcMMO/com/gmail/nossr50/mcPermissions.java

@@ -65,7 +65,7 @@ public class mcPermissions {
             return true;
         }
     }
-    public boolean miningability(Player player){
+    public boolean miningAbility(Player player){
     	if (permissionsEnabled) {
             return permission(player, "mcmmo.ability.mining");
         } else {
@@ -79,14 +79,14 @@ public class mcPermissions {
             return true;
         }
     }
-    public boolean swordsability(Player player){
+    public boolean swordsAbility(Player player){
     	if (permissionsEnabled) {
             return permission(player, "mcmmo.ability.swords");
         } else {
             return true;
         }
     }
-    public boolean woodcuttingability(Player player) {
+    public boolean woodCuttingAbility(Player player) {
     	if (permissionsEnabled) {
             return permission(player, "mcmmo.ability.woodcutting");
         } else {
@@ -128,6 +128,13 @@ public class mcPermissions {
             return true;
         }
     }
+    public boolean setMySpawnOther(Player player) {
+        if (permissionsEnabled) {
+            return permission(player, "mcmmo.commands.setmyspawnother");
+        } else {
+            return true;
+        }
+    }
     public boolean partyChat(Player player) {
         if (permissionsEnabled) {
             return permission(player, "mcmmo.chat.partychat");

+ 12 - 2
mcMMO/com/gmail/nossr50/mcPlayerListener.java

@@ -61,7 +61,7 @@ public class mcPlayerListener extends PlayerListener {
     public void onPlayerJoin(PlayerEvent event) {
     	Player player = event.getPlayer();
     	if(mcPermissions.getInstance().motd(player)){
-    	player.sendMessage(ChatColor.BLUE + "This server is running mcMMO "+plugin.getDescription().getVersion()+" type /"+ChatColor.YELLOW+mcLoadProperties.mcmmo+ChatColor.BLUE+ " for help.");
+    		player.sendMessage(ChatColor.BLUE + "This server is running mcMMO "+plugin.getDescription().getVersion()+" type /"+ChatColor.YELLOW+mcLoadProperties.mcmmo+ChatColor.BLUE+ " for help.");
     	}
     }
     //Check if string is a player
@@ -131,6 +131,12 @@ public class mcPlayerListener extends PlayerListener {
     		mcUsers.getProfile(player).setTreeFellerCooldown(0);
     		mcUsers.getProfile(player).setTreeFellerMode(false);
     		mcUsers.getProfile(player).setTreeFellerTicks(0);
+    		/*
+    		 * BERSERK
+    		 */
+    		mcUsers.getProfile(player).setBerserkCooldown(0);
+    		mcUsers.getProfile(player).setBerserkMode(false);
+    		mcUsers.getProfile(player).setBerserkTicks(0);
     		
     		player.sendMessage(ChatColor.GREEN+"**ABILITIES REFRESHED!**");
     	}
@@ -300,13 +306,17 @@ public class mcPlayerListener extends PlayerListener {
     			player.sendMessage(ChatColor.YELLOW+"[mcMMO]"+ChatColor.DARK_RED +" Insufficient permissions.");
     			return;
     		}
+    		if((mcPermissions.getInstance().setMySpawnOther(player) || player.isOp()) && split.length >= 2 && isPlayer(split[1])){
+    			player.sendMessage("You have set "+split[1]+"'s spawn!");
+    			player = getPlayer(split[1]);
+    		}
     		event.setCancelled(true);
     		double x = player.getLocation().getX();
     		double y = player.getLocation().getY();
     		double z = player.getLocation().getZ();
     		String myspawnworld = player.getWorld().getName();
     		mcUsers.getProfile(player).setMySpawn(x, y, z, myspawnworld);
-    		player.sendMessage(ChatColor.DARK_AQUA + "Myspawn has been set to your current location.");
+    		player.sendMessage(ChatColor.DARK_AQUA + "Myspawn has been set.");
     	}
     	/*
     	 * STATS COMMAND

+ 89 - 5
mcMMO/com/gmail/nossr50/mcSkills.java

@@ -49,10 +49,16 @@ public class mcSkills {
     	}
     	if(mcUsers.getProfile(player).getSerratedStrikesCooldown() >= 1){
     		mcUsers.getProfile(player).decreaseSerratedStrikesCooldown();
-			if(mcUsers.getProfile(player).getSuperBreakerCooldown() == 0){
+			if(mcUsers.getProfile(player).getSerratedStrikesCooldown() == 0){
 				player.sendMessage(ChatColor.GREEN+"Your "+ChatColor.YELLOW+"Serrated Strikes "+ChatColor.GREEN+"ability is refreshed!");
 			}
     	}
+    	if(mcUsers.getProfile(player).getBerserkCooldown() >= 1){
+    		mcUsers.getProfile(player).decreaseBerserkCooldown();
+			if(mcUsers.getProfile(player).getBerserkCooldown() == 0){
+				player.sendMessage(ChatColor.GREEN+"Your "+ChatColor.YELLOW+"Berserk "+ChatColor.GREEN+"ability is refreshed!");
+			}
+    	}
     	if(mcUsers.getProfile(player).getSkullSplitterCooldown() >= 1){
     		mcUsers.getProfile(player).decreaseSkullSplitterCooldown();
 			if(mcUsers.getProfile(player).getSkullSplitterCooldown() == 0){
@@ -82,14 +88,92 @@ public class mcSkills {
     	}
     }
     public void abilityActivationCheck(Player player, Block block){
-    	if(mcPermissions.getInstance().miningability(player)){
+    	if(mcPermissions.getInstance().miningAbility(player)){
     		mcMining.getInstance().superBreakerCheck(player, block);
     	}
     	if(mcPermissions.getInstance().excavationAbility(player)){
     		mcExcavation.getInstance().gigaDrillBreakerActivationCheck(player, block);
     	}
+    	if(mcPermissions.getInstance().unarmed(player)){
+    		berserkActivationCheck(player, block);
+    	}
+    	if(mcPermissions.getInstance().swords(player)){
+    		serratedStrikesActivationCheck(player, block);
+    	}
     	axeActivationCheck(player, block);
     }
+    public void serratedStrikesActivationCheck(Player player, Block block){
+		if(mcm.getInstance().isSwords(player.getItemInHand())){
+	    	if(block != null){
+		    	if(!mcm.getInstance().abilityBlockCheck(block))
+		    		return;
+	    	}
+	    	
+	    	int ticks = 2;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 50)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 150)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 250)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 350)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 450)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 550)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 650)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 750)
+    			ticks++;
+    		
+	    	if(!mcUsers.getProfile(player).getSerratedStrikesMode() && mcUsers.getProfile(player).getSerratedStrikesCooldown() == 0){
+	    		player.sendMessage(ChatColor.GREEN+"**SERRATED STRIKES ACTIVATED**");
+	    		mcUsers.getProfile(player).setSerratedStrikesTicks(ticks);
+	    		mcUsers.getProfile(player).setSerratedStrikesMode(true);
+	    	}
+	    	
+	    	if(!mcUsers.getProfile(player).getGigaDrillBreakerMode() && mcUsers.getProfile(player).getGigaDrillBreakerCooldown() >= 1){
+	    		player.sendMessage(ChatColor.RED+"You are too tired to use that ability again.");
+	    	}
+	    }
+	}
+    public void berserkActivationCheck(Player player, Block block){
+		if(player.getItemInHand().getTypeId() == 0){
+	    	if(block != null){
+		    	if(!mcm.getInstance().abilityBlockCheck(block))
+		    		return;
+	    	}
+	    	
+	    	int ticks = 2;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 50)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 150)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 250)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 350)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 450)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 550)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 650)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 750)
+    			ticks++;
+    		
+	    	if(!mcUsers.getProfile(player).getBerserkMode() && mcUsers.getProfile(player).getBerserkCooldown() == 0){
+	    		player.sendMessage(ChatColor.GREEN+"**BERSERK ACTIVATED**");
+	    		mcUsers.getProfile(player).setBerserkTicks(ticks);
+	    		mcUsers.getProfile(player).setBerserkMode(true);
+	    	}
+	    	
+	    	if(!mcUsers.getProfile(player).getGigaDrillBreakerMode() && mcUsers.getProfile(player).getGigaDrillBreakerCooldown() >= 1){
+	    		player.sendMessage(ChatColor.RED+"You are too tired to use that ability again.");
+	    	}
+	    }
+	}
     public void skullSplitterCheck(Player player){
     	if(mcm.getInstance().isAxes(player.getItemInHand())){
     		/*
@@ -131,7 +215,7 @@ public class mcSkills {
     	/*
     	 * AXE PREPARATION MODE
     	 */
-    	if(mcPermissions.getInstance().woodcuttingability(player) && mcPermissions.getInstance().axes(player)){
+    	if(mcPermissions.getInstance().woodCuttingAbility(player) && mcPermissions.getInstance().axes(player)){
 			//Monitor the length of TreeFeller mode
 			if(mcUsers.getProfile(player).getAxePreparationMode()){
 				mcUsers.getProfile(player).decreaseAxePreparationTicks();
@@ -158,7 +242,7 @@ public class mcSkills {
     	/*
 		 * WOODCUTTING ABILITY
 		 */
-		if(mcPermissions.getInstance().woodcuttingability(player)){
+		if(mcPermissions.getInstance().woodCuttingAbility(player)){
 			//Monitor the length of TreeFeller mode
 			if(mcUsers.getProfile(player).getTreeFellerMode()){
 				mcUsers.getProfile(player).decreaseTreeFellerTicks();
@@ -172,7 +256,7 @@ public class mcSkills {
 		/*
 		 * MINING ABILITY
 		 */
-		if(mcPermissions.getInstance().miningability(player)){
+		if(mcPermissions.getInstance().miningAbility(player)){
 			//Monitor the length of SuperBreaker mode
 			if(mcUsers.getProfile(player).getSuperBreakerMode()){
 				mcUsers.getProfile(player).decreaseSuperBreakerTicks();

+ 1 - 2
mcMMO/com/gmail/nossr50/mcTimer.java

@@ -53,8 +53,7 @@ public class mcTimer extends TimerTask{
 			/*
 			 * COOLDOWN MONITORING
 			 */
-			if(mcUsers.getProfile(player).hasCooldowns())
-				mcSkills.getInstance().decreaseCooldowns(player);
+			mcSkills.getInstance().decreaseCooldowns(player);
 		}
 		if(thecount < 20){
 			thecount++;

+ 33 - 2
mcMMO/com/gmail/nossr50/mcUsers.java

@@ -156,8 +156,8 @@ class PlayerList
 	    protected final Logger log = Logger.getLogger("Minecraft");
 		private String playerName, gather, wgather, woodcutting, repair, mining, party, myspawn, myspawnworld, unarmed, herbalism, excavation,
 		archery, swords, axes, invite, acrobatics, repairgather, unarmedgather, herbalismgather, excavationgather, archerygather, swordsgather, axesgather, acrobaticsgather;
-		private boolean dead, treeFellerMode, superBreakerMode, gigaDrillBreakerMode, serratedStrikesMode, axePreparationMode, skullSplitterMode;
-		private int recentlyhurt = 0, bleedticks = 0, gigaDrillBreaker = 0, gigaDrillBreakerCooldown = 0, gigaDrillBreakerTicks = 0, superBreakerTicks = 0, superBreakerCooldown = 0, 
+		private boolean dead, treeFellerMode, superBreakerMode, gigaDrillBreakerMode, serratedStrikesMode, axePreparationMode, skullSplitterMode, berserkMode;
+		private int recentlyhurt = 0, bleedticks = 0, gigaDrillBreakerCooldown = 0, gigaDrillBreakerTicks = 0, berserkTicks = 0, berserkCooldown = 0, superBreakerTicks = 0, superBreakerCooldown = 0, 
 		serratedStrikesTicks = 0, skullSplitterTicks = 0, skullSplitterCooldown = 0, serratedStrikesCooldown = 0, treeFellerTicks = 0, treeFellerCooldown = 0,
 		axePreparationTicks = 0;
 		Player thisplayer;
@@ -462,6 +462,37 @@ class PlayerList
 				axePreparationTicks--;
 			}
 		}
+		/*
+		 * BERSERK MODE
+		 */
+		public boolean getBerserkMode(){
+			return berserkMode;
+		}
+		public void setBerserkMode(Boolean bool){
+			berserkMode = bool;
+		}
+		public Integer getBerserkTicks(){
+			return berserkTicks;
+		}
+		public void setBerserkTicks(Integer newvalue){
+			berserkTicks = newvalue;
+		}
+		public void decreaseBerserkTicks(){
+			if(berserkTicks >= 1){
+				berserkTicks--;
+			}
+		}
+		public void setBerserkCooldown(Integer newvalue){
+			berserkCooldown = newvalue;
+		}
+		public int getBerserkCooldown(){
+			return berserkCooldown;
+		}
+		public void decreaseBerserkCooldown(){
+			if(berserkCooldown >= 1){
+				berserkCooldown--;
+			}
+		}
 		/*
 		 * SKULL SPLITTER
 		 */

+ 42 - 0
mcMMO/com/gmail/nossr50/mcm.java

@@ -294,14 +294,34 @@ public class mcm {
 			} else {
 				parrypercentage = "0";
 			}
+			int ticks = 2;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 50)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 150)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 250)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 350)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 450)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 550)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 650)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getSwordsInt() >= 750)
+    			ticks++;
 			player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"SWORDS"+ChatColor.RED+"[]-----");
 			player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
 			player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
+			player.sendMessage(ChatColor.DARK_AQUA+"Serrated Strikes (ABILITY): "+ChatColor.GREEN+"25% DMG AoE, Bleed+ AoE");
+			player.sendMessage(ChatColor.DARK_GRAY+"Serrated Strikes Bleed+: "+ChatColor.GREEN+"Enemies Bleed Longer");
 			player.sendMessage(ChatColor.DARK_AQUA+"Parrying: "+ChatColor.GREEN+"Negates Damage");
 			player.sendMessage(ChatColor.DARK_AQUA+"Bleed: "+ChatColor.GREEN+"Apply a 2 second bleed DoT to enemies");
 			player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"YOUR STATS"+ChatColor.RED+"[]---");
 			player.sendMessage(ChatColor.RED+"Bleed Chance: "+ChatColor.YELLOW+percentage+"%");
 			player.sendMessage(ChatColor.RED+"Parry Chance:"+ChatColor.YELLOW+parrypercentage+"%");
+			player.sendMessage(ChatColor.RED+"Serrated Strikes Length: "+ChatColor.YELLOW+(ticks * 2)+"s");
     	}
     	if(split[0].equalsIgnoreCase("/acrobatics")){
 			event.setCancelled(true);
@@ -391,9 +411,29 @@ public class mcm {
 				rank++;
 			if(mcUsers.getProfile(player).getUnarmedInt() >= 950)
 				rank++;
+			
+			int ticks = 2;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 50)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 150)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 250)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 350)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 450)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 550)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 650)
+    			ticks++;
+    		if(mcUsers.getProfile(player).getUnarmedInt() >= 750)
+    			ticks++;
+    		
 			player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"UNARMED"+ChatColor.RED+"[]-----");
 			player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
 			player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
+			player.sendMessage(ChatColor.DARK_AQUA+"Berserk (ABILITY): "+ChatColor.GREEN+"+50% DMG, Breaks weak materials");
 			player.sendMessage(ChatColor.DARK_AQUA+"Disarm (Players): "+ChatColor.GREEN+"Drops the foes item held in hand");
 			player.sendMessage(ChatColor.DARK_AQUA+"Damage+: "+ChatColor.GREEN+"Modifies Damage");
 			player.sendMessage(ChatColor.DARK_AQUA+"Arrow Deflect: "+ChatColor.GREEN+"Deflect arrows");
@@ -401,6 +441,7 @@ public class mcm {
 			player.sendMessage(ChatColor.RED+"Arrow Deflect Chance: "+ChatColor.YELLOW+arrowpercentage+"%");
 			player.sendMessage(ChatColor.RED+"Disarm Chance: "+ChatColor.YELLOW+percentage+"%");
 			player.sendMessage(ChatColor.RED+"Damage+ (Rank"+rank+"): Bonus "+rank+" damage");
+			player.sendMessage(ChatColor.RED+"Berserk Length: "+ChatColor.YELLOW+(ticks * 2)+"s");
     	}
     	if(split[0].equalsIgnoreCase("/herbalism")){
 			event.setCancelled(true);
@@ -457,6 +498,7 @@ public class mcm {
 			player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
 			player.sendMessage(ChatColor.DARK_AQUA+"Giga Drill Breaker (ABILITY): "+ChatColor.GREEN+"3x Drop Rate, 3x EXP, +Speed");
 			player.sendMessage(ChatColor.DARK_AQUA+"Treasure Hunter: "+ChatColor.GREEN+"Ability to dig for treasure");
+			player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"YOUR STATS"+ChatColor.RED+"[]---");
 			player.sendMessage(ChatColor.RED+"Giga Drill Breaker Length: "+ChatColor.YELLOW+(ticks * 2)+"s");
     	}
 		if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcmmo)){