Modifications. Fixes to Creeper damage formula.
This commit is contained in:
parent
39ab8994b1
commit
3a93081315
Binary file not shown.
@ -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 {
|
||||||
|
@ -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));
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -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() {
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user