Unhardcoded bonus enchant scrolls.
This commit is contained in:
@ -60,6 +60,8 @@ public abstract class AbstractEnchantItem
|
||||
private final int _minEnchantLevel;
|
||||
private final int _maxEnchantLevel;
|
||||
private final int _safeEnchantLevel;
|
||||
private final int _randomEnchantMin;
|
||||
private final int _randomEnchantMax;
|
||||
private final double _bonusRate;
|
||||
|
||||
public AbstractEnchantItem(StatSet set)
|
||||
@ -77,6 +79,8 @@ public abstract class AbstractEnchantItem
|
||||
_minEnchantLevel = set.getInt("minEnchant", 0);
|
||||
_maxEnchantLevel = set.getInt("maxEnchant", 127);
|
||||
_safeEnchantLevel = set.getInt("safeEnchant", 0);
|
||||
_randomEnchantMin = set.getInt("randomEnchantMin", 1);
|
||||
_randomEnchantMax = set.getInt("randomEnchantMax", _randomEnchantMin);
|
||||
_bonusRate = set.getDouble("bonusRate", 0);
|
||||
}
|
||||
|
||||
@ -141,6 +145,22 @@ public abstract class AbstractEnchantItem
|
||||
return _safeEnchantLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the minimum random enchant level of this scroll/item
|
||||
*/
|
||||
public int getRandomEnchantMin()
|
||||
{
|
||||
return _randomEnchantMin;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the maximum random enchant level of this scroll/item
|
||||
*/
|
||||
public int getRandomEnchantMax()
|
||||
{
|
||||
return _randomEnchantMax;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param itemToEnchant the item to be enchanted
|
||||
* @param supportItem
|
||||
|
@ -185,20 +185,13 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
||||
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
||||
if (scrollTemplate.getChance(player, item) > 0)
|
||||
{
|
||||
if (scrollTemplate.isGiant())
|
||||
if (supportTemplate != null)
|
||||
{
|
||||
if (((supportTemplate != null) && (supportTemplate.getId() == 23785)) || ((supportTemplate != null) && (supportTemplate.getId() == 23786))) // Lesser Giant's Lucky Enchant Stones. Increase from +2 to +4
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 2 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + 1 + Rnd.get(3), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + Rnd.get(supportTemplate.getRandomEnchantMin(), supportTemplate.getRandomEnchantMax()), supportTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
else
|
||||
{
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
item.setEnchantLevel(Math.min(item.getEnchantLevel() + Rnd.get(scrollTemplate.getRandomEnchantMin(), scrollTemplate.getRandomEnchantMax()), scrollTemplate.getMaxEnchantLevel()));
|
||||
}
|
||||
item.updateDatabase();
|
||||
}
|
||||
|
Reference in New Issue
Block a user