Modifications. Fixes to Creeper damage formula.

This commit is contained in:
sigonasr2 2016-08-23 20:02:22 -05:00
parent 39ab8994b1
commit 3a93081315
7 changed files with 61 additions and 9 deletions

Binary file not shown.

View File

@ -1568,7 +1568,8 @@ public class CustomDamage {
case LIGHTNING:
if (damager instanceof Creeper) {
Creeper c = (Creeper)damager;
double damage_mult = 2.0d/(c.getLocation().distance(target.getLocation())+1.0);
//double damage_mult = 2.0d/(c.getLocation().distance(target.getLocation())+1.0);
double damage_mult = Math.max(0d, 1 - damager.getLocation().distanceSquared(target.getLocation())/49);
damage_mult*=TwosideKeeper.EXPLOSION_DMG_MULT;
difficulty_damage = (c.isPowered())?new double[]{48.0*damage_mult,72.0*damage_mult,98.0*damage_mult}:new double[]{24.0*damage_mult,36.0*damage_mult,49.0*damage_mult};
} else {

View File

@ -39,6 +39,7 @@ import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.material.MaterialData;
@ -3224,6 +3225,7 @@ public class GenericFunctions {
}
int tier = 1;
UpdateSetLore(set,tier,item);
rangerarmor=true;
/*List<String> currentlore = item.getItemMeta().getLore();
ItemMeta m = item.getItemMeta();
currentlore.add(0,ChatColor.LIGHT_PURPLE+"Ranger Gear");
@ -3236,6 +3238,24 @@ public class GenericFunctions {
lore.add();
lore.add();*/
}
if (rangerarmor && item.getType().name().contains("LEATHER")) {
LeatherArmorMeta lm = (LeatherArmorMeta)item.getItemMeta();
if (lm.getColor()==null) {
if (item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Jamdak Set")) {
lm.setColor(org.bukkit.Color.fromRGB(128, 64, 0));
}
if (item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Darnys Set")) {
lm.setColor(org.bukkit.Color.fromRGB(224, 224, 224));
}
if (item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Alikahn Set")) {
lm.setColor(org.bukkit.Color.fromRGB(64, 0, 64));
}
if (item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Lorasaadi Set")) {
lm.setColor(org.bukkit.Color.fromRGB(0, 64, 0));
}
}
item.setItemMeta(lm);
}
}
}
@ -3300,7 +3320,7 @@ public class GenericFunctions {
damage_mult*=CalculateBlastResistance((LivingEntity)ent);
TwosideKeeper.log("dmg mult is "+damage_mult,2);
dmg = basedmg * damage_mult;
if (ent instanceof Player) {TwosideKeeper.log("Damage is "+dmg, 2);}
if (ent instanceof Player) {TwosideKeeper.log("Damage is "+dmg, 5);}
CustomDamage.ApplyDamage(dmg, null, (LivingEntity)ent, null, "Explosion", CustomDamage.NONE);
//subtractHealth((LivingEntity)nearbyentities.get(i),null,NewCombat.CalculateDamageReduction(dmg, (LivingEntity)nearbyentities.get(i), null));
}

View File

@ -147,6 +147,7 @@ public class Loot {
switch (type) {
case 0:{
set = ItemSet.PANROS;
tierbonus = modifyTierBonus(item,tierbonus);
set_name = prefix+"Panros Striker "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Striker set.
}break;
case 1:{
@ -154,6 +155,7 @@ public class Loot {
if (item.getType().toString().contains("SWORD")) {
item.setType(Material.SHIELD);
}
tierbonus = modifyTierBonus(item,tierbonus);
set_name = prefix+"Songsteel Defender "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Defender set.
}break;
case 2:{
@ -161,6 +163,7 @@ public class Loot {
if (item.getType().toString().contains("SWORD")) {
item.setType(Material.valueOf(item.getType().toString().replace("SWORD","")+"AXE"));
}
tierbonus = modifyTierBonus(item,tierbonus);
set_name = prefix+"Dawntracker Barbarian "+GenericFunctions.UserFriendlyMaterialName(item.getType());
}break;
case 3:{
@ -168,6 +171,7 @@ public class Loot {
if (item.getType().toString().contains("SWORD")) {
//Convert Slayer weapon here. ???
}
tierbonus = modifyTierBonus(item,tierbonus);
set_name = prefix+"Lorasys Slayer "+GenericFunctions.UserFriendlyMaterialName(item.getType());
}break;
case 4:{
@ -224,6 +228,25 @@ public class Loot {
return item;
}
private static int modifyTierBonus(ItemStack item, int tierbonus) {
if (item.getType().name().contains("IRON")) {
if (Math.random()<=0.5) {
tierbonus+=2;
}
} else
if (item.getType().name().contains("DIAMOND")) {
if (Math.random()<=0.5) {
tierbonus+=1;
}
} else
if (item.getType().name().contains("GOLD")) {
if (tierbonus>0 && Math.random()<=0.5) {
tierbonus=0;
}
}
return tierbonus;
}
private static int GetHardenedBreaks(Material type) {
if (type.toString().contains("STONE")) {
return (int)((Math.random()*3)+2);

View File

@ -40,7 +40,7 @@ public class ShopPurchase {
public String getPlayer() {
return player;
}
public String getCustomer() {
public String getSeller() {
return customer;
}
public ItemStack getItem() {

View File

@ -1135,6 +1135,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}*/
/*Monster m = MonsterController.convertMonster((Monster)p.getWorld().spawnEntity(p.getLocation(),EntityType.ZOMBIE), MonsterDifficulty.ELITE);
m.setHealth(m.getMaxHealth()/16d);*/
p.getWorld().dropItemNaturally(p.getLocation(), TwosideKeeperAPI.generateMegaPiece(Material.IRON_CHESTPLATE, true, true, 5));
p.getWorld().dropItemNaturally(p.getLocation(), TwosideKeeperAPI.generateMegaPiece(Material.IRON_CHESTPLATE, true, true, 5));
p.getWorld().dropItemNaturally(p.getLocation(), TwosideKeeperAPI.generateMegaPiece(Material.DIAMOND_CHESTPLATE, true, true, 5));
p.getWorld().dropItemNaturally(p.getLocation(), TwosideKeeperAPI.generateMegaPiece(Material.DIAMOND_CHESTPLATE, true, true, 5));
p.getWorld().dropItemNaturally(p.getLocation(), TwosideKeeperAPI.generateMegaPiece(Material.GOLD_CHESTPLATE, true, true, 5));
p.getWorld().dropItemNaturally(p.getLocation(), TwosideKeeperAPI.generateMegaPiece(Material.GOLD_CHESTPLATE, true, true, 5));
/*p.getWorld().dropItemNaturally(p.getLocation(), UPGRADE_SHARD.getItemStack());
ItemStack upgrade = UPGRADE_SHARD.getItemStack();
GenericFunctions.setUpgradeShardTier(upgrade,3);

View File

@ -282,12 +282,14 @@ public class WorldShopManager {
//workable.set("recycling_center.count", nodes.size());
for (int i=0;i<purchases.size();i++) {
workable.set("player"+i, purchases.get(i).getPlayer());
workable.set("customer"+i, purchases.get(i).getCustomer());
workable.set("item"+i, purchases.get(i).getItem());
workable.set("money"+i, purchases.get(i).getMoney());
workable.set("amt"+i, purchases.get(i).getAmt());
workable.set("sell"+i, purchases.get(i).getSell());
if (!purchases.get(i).getSeller().equalsIgnoreCase("admin")) {
workable.set("player"+i, purchases.get(i).getPlayer());
workable.set("customer"+i, purchases.get(i).getSeller());
workable.set("item"+i, purchases.get(i).getItem());
workable.set("money"+i, purchases.get(i).getMoney());
workable.set("amt"+i, purchases.get(i).getAmt());
workable.set("sell"+i, purchases.get(i).getSell());
}
}
try {