mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-29 16:46:46 +01:00
More work on Impact. Tweaked Unarmed's disarm chance to be 2x better.
This commit is contained in:
parent
ed2e9a993d
commit
0f8a418efd
@ -45,6 +45,7 @@ Version 1.3.00-dev
|
|||||||
! Changed Unarmed to start with a +3 DMG (1 Heart = 2 DMG) bonus from Iron Arm Style to make leveling it more viable
|
! Changed Unarmed to start with a +3 DMG (1 Heart = 2 DMG) bonus from Iron Arm Style to make leveling it more viable
|
||||||
! Changed Unarmed to gain bonus damage every 50 skill levels
|
! Changed Unarmed to gain bonus damage every 50 skill levels
|
||||||
! Changed Unarmed to gain more bonus damage total than before
|
! Changed Unarmed to gain more bonus damage total than before
|
||||||
|
! Changed Unarmed to disarm twice as often as before
|
||||||
! Changed Tree Feller to take down entire trees
|
! Changed Tree Feller to take down entire trees
|
||||||
! Changed mob spawn tracking to use Unique Entity ID instead of Entity Object
|
! Changed mob spawn tracking to use Unique Entity ID instead of Entity Object
|
||||||
! Changed stats command name to mcstats for better plugin compatibility
|
! Changed stats command name to mcstats for better plugin compatibility
|
||||||
|
@ -83,8 +83,8 @@ public class Combat
|
|||||||
Axes.axeCriticalCheck(attacker, event, pluginx); //Critical hit
|
Axes.axeCriticalCheck(attacker, event, pluginx); //Critical hit
|
||||||
|
|
||||||
//Impact
|
//Impact
|
||||||
//if(event.getEntity() instanceof LivingEntity)
|
if(event.getEntity() instanceof LivingEntity)
|
||||||
// Axes.impact(attacker, (LivingEntity)event.getEntity());
|
Axes.impact(attacker, (LivingEntity)event.getEntity());
|
||||||
|
|
||||||
if (!(event instanceof FakeEntityDamageByEntityEvent) && PPa.getSkullSplitterMode())
|
if (!(event instanceof FakeEntityDamageByEntityEvent) && PPa.getSkullSplitterMode())
|
||||||
Axes.applyAoeDamage(attacker, event, pluginx);
|
Axes.applyAoeDamage(attacker, event, pluginx);
|
||||||
@ -99,6 +99,7 @@ public class Combat
|
|||||||
Unarmed.unarmedBonus(attacker, event);
|
Unarmed.unarmedBonus(attacker, event);
|
||||||
if(PPa.getBerserkMode())
|
if(PPa.getBerserkMode())
|
||||||
event.setDamage(event.getDamage() + (event.getDamage() / 2));
|
event.setDamage(event.getDamage() + (event.getDamage() / 2));
|
||||||
|
|
||||||
if(target instanceof Player)
|
if(target instanceof Player)
|
||||||
Unarmed.disarmProcCheck(attacker, (Player) target); //Disarm
|
Unarmed.disarmProcCheck(attacker, (Player) target); //Disarm
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ public class UnarmedCommand implements CommandExecutor {
|
|||||||
float skillvalue = (float) PP.getSkillLevel(SkillType.UNARMED);
|
float skillvalue = (float) PP.getSkillLevel(SkillType.UNARMED);
|
||||||
|
|
||||||
if (PP.getSkillLevel(SkillType.UNARMED) < 1000)
|
if (PP.getSkillLevel(SkillType.UNARMED) < 1000)
|
||||||
percentage = String.valueOf((skillvalue / 4000) * 100);
|
percentage = String.valueOf((skillvalue / 2000) * 100);
|
||||||
else
|
else
|
||||||
percentage = "25";
|
percentage = "25";
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
package com.gmail.nossr50.skills;
|
package com.gmail.nossr50.skills;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
@ -25,6 +26,7 @@ import org.bukkit.entity.Wolf;
|
|||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import com.gmail.nossr50.Combat;
|
import com.gmail.nossr50.Combat;
|
||||||
import com.gmail.nossr50.Users;
|
import com.gmail.nossr50.Users;
|
||||||
@ -94,7 +96,6 @@ public class Axes {
|
|||||||
|
|
||||||
for(ItemStack x : targetPlayer.getInventory().getArmorContents())
|
for(ItemStack x : targetPlayer.getInventory().getArmorContents())
|
||||||
{
|
{
|
||||||
System.out.println("[mcMMO] DEBUG: "+x.getType().toString());
|
|
||||||
if(x.getType() == Material.AIR)
|
if(x.getType() == Material.AIR)
|
||||||
{
|
{
|
||||||
emptySlots++;
|
emptySlots++;
|
||||||
@ -105,12 +106,13 @@ public class Axes {
|
|||||||
|
|
||||||
if(emptySlots == 4)
|
if(emptySlots == 4)
|
||||||
{
|
{
|
||||||
|
didImpact = applyImpact(attacker, target);
|
||||||
|
if(didImpact)
|
||||||
targetPlayer.sendMessage("**HIT BY IMPACT**");
|
targetPlayer.sendMessage("**HIT BY IMPACT**");
|
||||||
didImpact = applyImpact(target);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//Since mobs are technically unarmored this will always trigger
|
//Since mobs are technically unarmored this will always trigger
|
||||||
didImpact = applyImpact(target);
|
didImpact = applyImpact(attacker, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(didImpact)
|
if(didImpact)
|
||||||
@ -119,12 +121,12 @@ public class Axes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean applyImpact(LivingEntity target)
|
public static boolean applyImpact(Player attacker, LivingEntity target)
|
||||||
{
|
{
|
||||||
if(Math.random() * 100 > 75)
|
if(Math.random() * 100 > 75)
|
||||||
{
|
{
|
||||||
target.teleport(target.getLocation());
|
|
||||||
target.damage(2);
|
target.damage(2);
|
||||||
|
target.setVelocity(attacker.getLocation().getDirection().normalize().multiply(1.5D));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -46,7 +46,7 @@ public class Unarmed {
|
|||||||
{
|
{
|
||||||
if(skillLevel >= 1000)
|
if(skillLevel >= 1000)
|
||||||
{
|
{
|
||||||
if(Math.random() * 4000 <= 1000)
|
if(Math.random() * 2000 <= 1000)
|
||||||
{
|
{
|
||||||
ItemStack item = defender.getItemInHand();
|
ItemStack item = defender.getItemInHand();
|
||||||
if(item != null)
|
if(item != null)
|
||||||
@ -59,7 +59,7 @@ public class Unarmed {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(Math.random() * 4000 <= skillLevel)
|
if(Math.random() * 2000 <= skillLevel)
|
||||||
{
|
{
|
||||||
ItemStack item = defender.getItemInHand();
|
ItemStack item = defender.getItemInHand();
|
||||||
if(item != null)
|
if(item != null)
|
||||||
|
Loading…
Reference in New Issue
Block a user