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: case LIGHTNING:
if (damager instanceof Creeper) { if (damager instanceof Creeper) {
Creeper c = (Creeper)damager; 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; 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}; 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 { } else {

View File

@ -39,6 +39,7 @@ import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.material.MaterialData; import org.bukkit.material.MaterialData;
@ -3224,6 +3225,7 @@ public class GenericFunctions {
} }
int tier = 1; int tier = 1;
UpdateSetLore(set,tier,item); UpdateSetLore(set,tier,item);
rangerarmor=true;
/*List<String> currentlore = item.getItemMeta().getLore(); /*List<String> currentlore = item.getItemMeta().getLore();
ItemMeta m = item.getItemMeta(); ItemMeta m = item.getItemMeta();
currentlore.add(0,ChatColor.LIGHT_PURPLE+"Ranger Gear"); currentlore.add(0,ChatColor.LIGHT_PURPLE+"Ranger Gear");
@ -3236,6 +3238,24 @@ public class GenericFunctions {
lore.add(); lore.add();
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); damage_mult*=CalculateBlastResistance((LivingEntity)ent);
TwosideKeeper.log("dmg mult is "+damage_mult,2); TwosideKeeper.log("dmg mult is "+damage_mult,2);
dmg = basedmg * damage_mult; 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); CustomDamage.ApplyDamage(dmg, null, (LivingEntity)ent, null, "Explosion", CustomDamage.NONE);
//subtractHealth((LivingEntity)nearbyentities.get(i),null,NewCombat.CalculateDamageReduction(dmg, (LivingEntity)nearbyentities.get(i), null)); //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) { switch (type) {
case 0:{ case 0:{
set = ItemSet.PANROS; set = ItemSet.PANROS;
tierbonus = modifyTierBonus(item,tierbonus);
set_name = prefix+"Panros Striker "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Striker set. set_name = prefix+"Panros Striker "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Striker set.
}break; }break;
case 1:{ case 1:{
@ -154,6 +155,7 @@ public class Loot {
if (item.getType().toString().contains("SWORD")) { if (item.getType().toString().contains("SWORD")) {
item.setType(Material.SHIELD); item.setType(Material.SHIELD);
} }
tierbonus = modifyTierBonus(item,tierbonus);
set_name = prefix+"Songsteel Defender "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Defender set. set_name = prefix+"Songsteel Defender "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Defender set.
}break; }break;
case 2:{ case 2:{
@ -161,6 +163,7 @@ public class Loot {
if (item.getType().toString().contains("SWORD")) { if (item.getType().toString().contains("SWORD")) {
item.setType(Material.valueOf(item.getType().toString().replace("SWORD","")+"AXE")); item.setType(Material.valueOf(item.getType().toString().replace("SWORD","")+"AXE"));
} }
tierbonus = modifyTierBonus(item,tierbonus);
set_name = prefix+"Dawntracker Barbarian "+GenericFunctions.UserFriendlyMaterialName(item.getType()); set_name = prefix+"Dawntracker Barbarian "+GenericFunctions.UserFriendlyMaterialName(item.getType());
}break; }break;
case 3:{ case 3:{
@ -168,6 +171,7 @@ public class Loot {
if (item.getType().toString().contains("SWORD")) { if (item.getType().toString().contains("SWORD")) {
//Convert Slayer weapon here. ??? //Convert Slayer weapon here. ???
} }
tierbonus = modifyTierBonus(item,tierbonus);
set_name = prefix+"Lorasys Slayer "+GenericFunctions.UserFriendlyMaterialName(item.getType()); set_name = prefix+"Lorasys Slayer "+GenericFunctions.UserFriendlyMaterialName(item.getType());
}break; }break;
case 4:{ case 4:{
@ -224,6 +228,25 @@ public class Loot {
return item; 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) { private static int GetHardenedBreaks(Material type) {
if (type.toString().contains("STONE")) { if (type.toString().contains("STONE")) {
return (int)((Math.random()*3)+2); return (int)((Math.random()*3)+2);

View File

@ -40,7 +40,7 @@ public class ShopPurchase {
public String getPlayer() { public String getPlayer() {
return player; return player;
} }
public String getCustomer() { public String getSeller() {
return customer; return customer;
} }
public ItemStack getItem() { 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); /*Monster m = MonsterController.convertMonster((Monster)p.getWorld().spawnEntity(p.getLocation(),EntityType.ZOMBIE), MonsterDifficulty.ELITE);
m.setHealth(m.getMaxHealth()/16d);*/ 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()); /*p.getWorld().dropItemNaturally(p.getLocation(), UPGRADE_SHARD.getItemStack());
ItemStack upgrade = UPGRADE_SHARD.getItemStack(); ItemStack upgrade = UPGRADE_SHARD.getItemStack();
GenericFunctions.setUpgradeShardTier(upgrade,3); GenericFunctions.setUpgradeShardTier(upgrade,3);

View File

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