public Weapon enchant() { Class<? extends Enchantment> oldEnchantment = enchantment != null ? enchantment.getClass() : null; Enchantment ench = Enchantment.random(); while (ench.getClass() == oldEnchantment) { ench = Enchantment.random(); } return enchant( ench ); }
@Override public boolean isUpgradable() { if (enchantment != null && enchantment.getClass() == Ancient.class) { return false; } return super.isUpgradable(); }
public Item upgrade( boolean enchant ) { if (enchantment != null) { if (!enchant && Random.Int( level ) > 0 && (enchantment.getClass() != Ancient.class)) { GLog.w( TXT_INCOMPATIBLE ); enchant( null ); } } else { if (enchant) { enchant( ); } } return super.upgrade(); }