Merge remote-tracking branch 'refs/remotes/ProjectKorra/master'

This commit is contained in:
Matt 2016-02-19 18:30:23 -05:00
commit 0cc79f226f
2 changed files with 53 additions and 7 deletions

View file

@ -64,6 +64,7 @@ import com.projectkorra.projectkorra.firebending.Combustion;
import com.projectkorra.projectkorra.firebending.FireBlast;
import com.projectkorra.projectkorra.firebending.FireBlastCharged;
import com.projectkorra.projectkorra.firebending.FireBurst;
import com.projectkorra.projectkorra.firebending.FireCombo;
import com.projectkorra.projectkorra.firebending.FireDamageTimer;
import com.projectkorra.projectkorra.firebending.FireJet;
import com.projectkorra.projectkorra.firebending.FireShield;
@ -508,6 +509,46 @@ public class PKListener implements Listener {
event.getDrops().addAll(newdrops);
MetalClips.getEntityClipsCount().remove(event.getEntity());
}
for (FireCombo fc : CoreAbility.getAbilities(event.getEntity().getKiller(), FireCombo.class)) {
if (!fc.getAffectedEntities().contains(event.getEntity())) continue;
List<ItemStack> drops = event.getDrops();
List<ItemStack> newDrops = new ArrayList<>();
for (int i = 0; i < drops.size(); i++) {
ItemStack cooked = drops.get(i);
Material material = drops.get(i).getType();
switch (material) {
case RAW_BEEF:
cooked = new ItemStack(Material.COOKED_BEEF, 1);
break;
case RAW_FISH:
ItemStack salmon = new ItemStack(Material.RAW_FISH, 1, (short) 1);
if (drops.get(i).getDurability() == salmon.getDurability()) {
cooked = new ItemStack(Material.COOKED_FISH, 1, (short) 1);
} else {
cooked = new ItemStack(Material.COOKED_FISH, 1);
}
break;
case RAW_CHICKEN:
cooked = new ItemStack(Material.COOKED_CHICKEN, 1);
break;
case PORK:
cooked = new ItemStack(Material.GRILLED_PORK, 1);
break;
case MUTTON:
cooked = new ItemStack(Material.COOKED_MUTTON);
break;
case RABBIT:
cooked = new ItemStack(Material.COOKED_RABBIT);
break;
default:
break;
}
newDrops.add(cooked);
}
event.getDrops().clear();
event.getDrops().addAll(newDrops);
}
}
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)

View file

@ -177,19 +177,24 @@ public class FireCombo extends FireAbility implements ComboAbility {
entity.getLocation().getWorld().playSound(entity.getLocation(), Sound.VILLAGER_HIT, 0.3f, 0.3f);
if (ability.equalsIgnoreCase("FireKick")) {
GeneralMethods.damageEntity(this, entity, damage);
fstream.remove();
if (!affectedEntities.contains(entity)) {
affectedEntities.add(entity);
GeneralMethods.damageEntity(this, entity, damage);
fstream.remove();
}
} else if (ability.equalsIgnoreCase("FireSpin")) {
if (entity instanceof Player) {
if (Commands.invincible.contains(((Player) entity).getName())) {
return;
}
}
double newKnockback = bPlayer.isAvatarState() ? knockback + 0.5 : knockback;
GeneralMethods.damageEntity(this, entity, damage);
entity.setVelocity(direction.normalize().multiply(newKnockback));
fstream.remove();
if (!affectedEntities.contains(entity)) {
affectedEntities.add(entity);
double newKnockback = bPlayer.isAvatarState() ? knockback + 0.5 : knockback;
GeneralMethods.damageEntity(this, entity, damage);
entity.setVelocity(direction.normalize().multiply(newKnockback));
fstream.remove();
}
} else if (ability.equalsIgnoreCase("JetBlaze")) {
if (!affectedEntities.contains(entity)) {
affectedEntities.add(entity);