Fix bonustier when creating set pieces. Add shield enchantments.
This commit is contained in:
parent
4038c1182e
commit
7ca285d95f
Binary file not shown.
@ -442,10 +442,16 @@ public class Loot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ItemStack GenerateSetPiece(Material item, ItemSet set, boolean hardened, int tierbonus) {
|
public static ItemStack GenerateSetPiece(Material item, ItemSet set, boolean hardened, int tierbonus) {
|
||||||
return GenerateSetPiece(new ItemStack(item),set,hardened,tierbonus);
|
return GenerateSetPiece(new ItemStack(item),set,hardened,tierbonus,true);
|
||||||
|
}
|
||||||
|
public static ItemStack GenerateSetPiece(ItemStack item, ItemSet set, boolean hardened, int tierbonus) {
|
||||||
|
return GenerateSetPiece(item,set,hardened,tierbonus,true);
|
||||||
|
}
|
||||||
|
public static ItemStack GenerateSetPiece(Material item, ItemSet set, boolean hardened, int tierbonus, boolean custom) {
|
||||||
|
return GenerateSetPiece(new ItemStack(item),set,hardened,tierbonus,custom);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemStack GenerateSetPiece(ItemStack item, ItemSet set, boolean hardened, int tierbonus) {
|
public static ItemStack GenerateSetPiece(ItemStack item, ItemSet set, boolean hardened, int tierbonus, boolean custom) {
|
||||||
item = GenerateMegaPiece(item.getType(),hardened).clone();
|
item = GenerateMegaPiece(item.getType(),hardened).clone();
|
||||||
List<String> lore = new ArrayList<String>();
|
List<String> lore = new ArrayList<String>();
|
||||||
String set_name = "";
|
String set_name = "";
|
||||||
@ -459,63 +465,63 @@ public class Loot {
|
|||||||
case SONGSTEEL:{
|
case SONGSTEEL:{
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
item.setType(Material.SHIELD);
|
item.setType(Material.SHIELD);
|
||||||
tierbonus/=2;
|
tierbonus/=(custom)?1:2;
|
||||||
}
|
}
|
||||||
tierbonus = modifyTierBonus(item,tierbonus);
|
tierbonus = (custom)?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 DAWNTRACKER:{
|
case DAWNTRACKER:{
|
||||||
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);
|
tierbonus = (custom)?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 LORASYS:{
|
case LORASYS:{
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
//Convert Slayer weapon here. ???
|
//Convert Slayer weapon here. ???
|
||||||
}
|
}
|
||||||
tierbonus = modifyTierBonus(item,tierbonus);
|
tierbonus = (custom)?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 JAMDAK:{
|
case JAMDAK:{
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
item.setType(Material.BOW);
|
item.setType(Material.BOW);
|
||||||
tierbonus/=2;
|
tierbonus/=(custom)?1:2;
|
||||||
}
|
}
|
||||||
set_name = prefix+"Jamdak Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Jamdak Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
if (Math.random()<=0.5 && tierbonus<2) {
|
if (Math.random()<=0.5 && tierbonus<2) {
|
||||||
tierbonus+=2;
|
tierbonus+=(custom)?0:2;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
case DARNYS:{
|
case DARNYS:{
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
item.setType(Material.BOW);
|
item.setType(Material.BOW);
|
||||||
tierbonus/=2;
|
tierbonus/=(custom)?1:2;
|
||||||
}
|
}
|
||||||
set_name = prefix+"Darnys Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Darnys Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
if (Math.random()<=0.5 && tierbonus<1) {
|
if (Math.random()<=0.5 && tierbonus<1) {
|
||||||
tierbonus+=1;
|
tierbonus+=(custom)?0:1;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
case ALIKAHN:{
|
case ALIKAHN:{
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
item.setType(Material.BOW);
|
item.setType(Material.BOW);
|
||||||
tierbonus/=2;
|
tierbonus/=(custom)?1:2;
|
||||||
}
|
}
|
||||||
set_name = prefix+"Alikahn Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Alikahn Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
if (Math.random()<=0.1 && tierbonus<1) {
|
if (Math.random()<=0.1 && tierbonus<1) {
|
||||||
tierbonus+=1;
|
tierbonus+=(custom)?0:1;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
case LORASAADI:{
|
case LORASAADI:{
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
item.setType(Material.BOW);
|
item.setType(Material.BOW);
|
||||||
tierbonus/=2;
|
tierbonus/=(custom)?1:2;
|
||||||
}
|
}
|
||||||
set_name = prefix+"Lorasaadi Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Lorasaadi Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
if (tierbonus>0 && Math.random()<=0.5) {
|
if (tierbonus>0 && Math.random()<=0.5) {
|
||||||
tierbonus=0;
|
tierbonus=(custom)?tierbonus:0;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
@ -633,6 +639,20 @@ public class Loot {
|
|||||||
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_MOBS, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_MOBS, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
} else
|
} else
|
||||||
|
if (item.getType()==Material.SHIELD) {
|
||||||
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.DURABILITY, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
if (Math.random()<0.08*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 2);}
|
||||||
|
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.SILK_TOUCH, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
item.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_FIRE, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_EXPLOSIONS, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_PROJECTILE, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
if (Math.random()<0.08*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.THORNS, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
//item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 1);
|
||||||
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
} else
|
||||||
if (GenericFunctions.isArmor(item)) {
|
if (GenericFunctions.isArmor(item)) {
|
||||||
item.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_FIRE, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_FIRE, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
@ -298,7 +298,7 @@ public enum MonsterDifficulty {
|
|||||||
PlayerMode pm = PlayerMode.getPlayerMode(p);
|
PlayerMode pm = PlayerMode.getPlayerMode(p);
|
||||||
ItemSet set = PickAnItemSet(pm);
|
ItemSet set = PickAnItemSet(pm);
|
||||||
goodie = ConvertSetPieceIfNecessary(goodie, set);
|
goodie = ConvertSetPieceIfNecessary(goodie, set);
|
||||||
goodie = Loot.GenerateSetPiece(goodie.getType(), set, (Math.random()<0.1)?true:false, 0);
|
goodie = Loot.GenerateSetPiece(goodie.getType(), set, (Math.random()<0.1)?true:false, 0, false);
|
||||||
} else {
|
} else {
|
||||||
//Convert it to a mega piece.
|
//Convert it to a mega piece.
|
||||||
PlayerMode pm = PlayerMode.getPlayerMode(p);
|
PlayerMode pm = PlayerMode.getPlayerMode(p);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user