Merge branch 'master' of github.com:mcMMO-Dev/mcMMO

This commit is contained in:
nossr50 2012-02-27 03:53:46 -08:00
commit d7d1d0b58d
2 changed files with 77 additions and 71 deletions

View File

@ -381,38 +381,54 @@ public class Combat
else
xpinc = damage;
if(entity instanceof Animals)
xp = (int) (xpinc * LoadProperties.animalXP);
else
{
if(entity instanceof Enderman)
xp = (int) (xpinc * LoadProperties.endermanXP);
else if(entity instanceof Creeper)
xp = (int) (xpinc * LoadProperties.creeperXP);
else if(entity instanceof Silverfish)
xp = (int) (xpinc * LoadProperties.silverfishXP);
else if(entity instanceof CaveSpider)
xp = (int) (xpinc * LoadProperties.cavespiderXP);
else if(entity instanceof Spider)
xp = (int) (xpinc * LoadProperties.spiderXP);
else if(entity instanceof Skeleton)
xp = (int) (xpinc * LoadProperties.skeletonXP);
else if(entity instanceof Zombie)
xp = (int) (xpinc * LoadProperties.zombieXP);
else if(entity instanceof PigZombie)
xp = (int) (xpinc * LoadProperties.pigzombieXP);
else if(entity instanceof Slime)
xp = (int) (xpinc * LoadProperties.slimeXP);
else if(entity instanceof Ghast)
xp = (int) (xpinc * LoadProperties.ghastXP);
else if(entity instanceof Blaze)
xp = (int) (xpinc * LoadProperties.blazeXP);
else if(entity instanceof EnderDragon)
xp = (int) (xpinc * LoadProperties.enderdragonXP);
else if(entity instanceof MagmaCube)
xp = (int) (xpinc * LoadProperties.magmacubeXP);
}
}
return xp;
if(entity instanceof Animals)
xp = (int) (xpinc * LoadProperties.animalXP);
else
{
EntityType type = entity.getType();
switch(type){
case BLAZE:
xp = (int) (xpinc * LoadProperties.blazeXP);
break;
case CAVE_SPIDER:
xp = (int) (xpinc * LoadProperties.cavespiderXP);
break;
case CREEPER:
xp = (int) (xpinc * LoadProperties.creeperXP);
break;
case ENDER_DRAGON:
xp = (int) (xpinc * LoadProperties.enderdragonXP);
break;
case ENDERMAN:
xp = (int) (xpinc * LoadProperties.endermanXP);
break;
case GHAST:
xp = (int) (xpinc * LoadProperties.ghastXP);
break;
case MAGMA_CUBE:
xp = (int) (xpinc * LoadProperties.magmacubeXP);
break;
case PIG_ZOMBIE:
xp = (int) (xpinc * LoadProperties.pigzombieXP);
break;
case SILVERFISH:
xp = (int) (xpinc * LoadProperties.silverfishXP);
break;
case SKELETON:
xp = (int) (xpinc * LoadProperties.skeletonXP);
break;
case SLIME:
xp = (int) (xpinc * LoadProperties.slimeXP);
break;
case SPIDER:
xp = (int) (xpinc * LoadProperties.spiderXP);
break;
case ZOMBIE:
xp = (int) (xpinc * LoadProperties.zombieXP);
break;
}
}
}
return xp;
}
}

View File

@ -16,7 +16,6 @@
*/
package com.gmail.nossr50.skills;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.inventory.ItemStack;
@ -32,12 +31,11 @@ public class Unarmed {
public static void berserkActivationCheck(Player player)
{
PlayerProfile PP = Users.getProfile(player);
if(player.getItemInHand().getTypeId() == 0)
AbilityType ability = AbilityType.BERSERK;
if(player.getItemInHand() == null)
{
if(PP.getFistsPreparationMode())
{
PP.setFistsPreparationMode(false);
}
int ticks = 2;
int x = PP.getSkillLevel(SkillType.UNARMED);
@ -48,16 +46,16 @@ public class Unarmed {
ticks++;
}
if(!PP.getBerserkMode() && Skills.cooldownOver(player, PP.getSkillDATS(AbilityType.BERSERK), LoadProperties.berserkCooldown))
if(!PP.getBerserkMode() && Skills.cooldownOver(player, PP.getSkillDATS(ability), LoadProperties.berserkCooldown))
{
player.sendMessage(mcLocale.getString("Skills.BerserkOn"));
for(Player y : player.getWorld().getPlayers())
{
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
y.sendMessage(mcLocale.getString("Skills.BerserkPlayer", new Object[] {player.getName()}));
}
PP.setSkillDATS(AbilityType.BERSERK, System.currentTimeMillis()+(ticks*1000));
System.out.println("getSkillDATS(): "+PP.getSkillDATS(AbilityType.BERSERK));
PP.setSkillDATS(ability, System.currentTimeMillis()+(ticks*1000));
PP.setBerserkMode(true);
}
}
@ -65,56 +63,48 @@ public class Unarmed {
public static void unarmedBonus(Player attacker, EntityDamageByEntityEvent event)
{
PlayerProfile PPa = Users.getProfile(attacker);
int bonus = 3;
//Add 1 DMG for every 50 skill levels
bonus += PPa.getSkillLevel(SkillType.UNARMED)/50;
bonus += Users.getProfile(attacker).getSkillLevel(SkillType.UNARMED)/50;
if(bonus > 8)
bonus = 8;
event.setDamage(event.getDamage()+bonus);
event.setDamage(event.getDamage() + bonus);
}
public static void disarmProcCheck(Player attacker, Player defender)
{
PlayerProfile PP = Users.getProfile(attacker);
if(attacker.getItemInHand().getTypeId() == 0)
int skillLevel = Users.getProfile(attacker).getSkillLevel(SkillType.UNARMED);
if(attacker.getItemInHand() == null)
{
if(PP.getSkillLevel(SkillType.UNARMED) >= 1000)
if(skillLevel >= 1000)
{
if(Math.random() * 4000 <= 1000)
{
Location loc = defender.getLocation();
if(defender.getItemInHand() != null && defender.getItemInHand().getTypeId() != 0)
if(Math.random() * 4000 <= 1000)
{
ItemStack item = defender.getItemInHand();
if(item != null)
{
defender.sendMessage(mcLocale.getString("Skills.Disarmed"));
ItemStack item = defender.getItemInHand();
if(item != null)
{
m.mcDropItem(loc, item);
ItemStack itemx = null;
defender.setItemInHand(itemx);
}
m.mcDropItem(defender.getLocation(), item);
defender.setItemInHand(null);
}
}
} else {
if(Math.random() * 4000 <= PP.getSkillLevel(SkillType.UNARMED)){
Location loc = defender.getLocation();
if(defender.getItemInHand() != null && defender.getItemInHand().getTypeId() != 0)
}
}
else
{
if(Math.random() * 4000 <= skillLevel)
{
ItemStack item = defender.getItemInHand();
if(item != null)
{
defender.sendMessage(mcLocale.getString("Skills.Disarmed"));
ItemStack item = defender.getItemInHand();
if(item != null)
{
m.mcDropItem(loc, item);
ItemStack itemx = null;
defender.setItemInHand(itemx);
}
m.mcDropItem(defender.getLocation(), item);
defender.setItemInHand(null);
}
}
}
}
}
}
}
}