diff --git a/trunk/dist/game/config/Custom.properties b/trunk/dist/game/config/Custom.properties
index dafc712235..347060321e 100644
--- a/trunk/dist/game/config/Custom.properties
+++ b/trunk/dist/game/config/Custom.properties
@@ -682,7 +682,7 @@ BalancePlayerExceedLimit = 20
# Enable premium system.
# Default: False
-EnablePremiumSystem = True
+EnablePremiumSystem = False
# Xp rate for premium players.
PremiumRateXp = 2
@@ -704,18 +704,8 @@ PremiumRateSpoilAmount = 2
# List of items affected by custom drop rate by id, used now for Adena rate too.
# Usage: itemId1,multiplier1;itemId2,multiplier2;...
-PremiumRateDropChanceByItemId = 57,2
-PremiumRateDropAmountByItemId = 57,2
-
-
-# ---------------------------------------------------------------------------
-# Anti feed inside Battalion zone
-# ---------------------------------------------------------------------------
-
-# Delay time when killing the same person multiple times (calculated in seconds).
-# Example: 30
-# 0 for no delay (disable)
-BTZDelay = 10
+PremiumDropChanceMultiplierByItemId = 57,1
+PremiumDropAmountMultiplierByItemId = 57,2
# ---------------------------------------------------------------------------
diff --git a/trunk/dist/game/data/scripts/handlers/bypasshandlers/NpcViewMod.java b/trunk/dist/game/data/scripts/handlers/bypasshandlers/NpcViewMod.java
index 840401dabc..0d27c514c8 100644
--- a/trunk/dist/game/data/scripts/handlers/bypasshandlers/NpcViewMod.java
+++ b/trunk/dist/game/data/scripts/handlers/bypasshandlers/NpcViewMod.java
@@ -322,7 +322,7 @@ public class NpcViewMod implements IBypassHandler
sb.append(item.getName());
sb.append("
| ");
sb.append("Amount: | ");
- MinMax minMax = getPreciseMinMax(normalized.getChance(), generalDropItem.getMin(npc, activeChar), generalDropItem.getMax(npc, activeChar), generalDropItem.isPreciseCalculated());
+ MinMax minMax = getPreciseMinMax(normalized.getChance(), generalDropItem.getMin(npc, null), generalDropItem.getMax(npc, null), generalDropItem.isPreciseCalculated());
final long min = minMax.min;
final long max = minMax.max;
if (min == max)
@@ -401,7 +401,7 @@ public class NpcViewMod implements IBypassHandler
sb.append(" | | ");
sb.append("Amount: | ");
sb.append("");
- MinMax minMax = getPreciseMinMax(dropItem.getChance(npc, activeChar), dropItem.getMin(npc, activeChar), dropItem.getMax(npc, activeChar), dropItem.isPreciseCalculated());
+ MinMax minMax = getPreciseMinMax(dropItem.getChance(npc, activeChar), dropItem.getMin(npc, null), dropItem.getMax(npc, null), dropItem.isPreciseCalculated());
final long min = minMax.min;
final long max = minMax.max;
diff --git a/trunk/java/com/l2jserver/Config.java b/trunk/java/com/l2jserver/Config.java
index cd75cfd489..38b27c2581 100644
--- a/trunk/java/com/l2jserver/Config.java
+++ b/trunk/java/com/l2jserver/Config.java
@@ -842,13 +842,12 @@ public final class Config
public static boolean PREMIUM_SYSTEM_ENABLED;
public static float PREMIUM_RATE_XP;
public static float PREMIUM_RATE_SP;
- public static Map PREMIUM_RATE_DROP_ITEMS_ID;
public static float PREMIUM_RATE_DROP_CHANCE;
public static float PREMIUM_RATE_DROP_AMOUNT;
public static float PREMIUM_RATE_SPOIL_CHANCE;
public static float PREMIUM_RATE_SPOIL_AMOUNT;
- public static Map PREMIUM_RATE_DROP_CHANCE_BY_ID;
- public static Map PREMIUM_RATE_DROP_AMOUNT_BY_ID;
+ public static Map PREMIUM_RATE_DROP_CHANCE_MULTIPLIER;
+ public static Map PREMIUM_RATE_DROP_AMOUNT_MULTIPLIER;
public static boolean PC_BANG_ENABLED;
public static int PC_BANG_MAX_POINTS;
public static boolean PC_BANG_ENABLE_DOUBLE_POINTS;
@@ -2626,8 +2625,8 @@ public final class Config
PREMIUM_RATE_DROP_AMOUNT = CustomSettings.getFloat("PremiumRateDropAmount", 2);
PREMIUM_RATE_SPOIL_CHANCE = CustomSettings.getFloat("PremiumRateSpoilChance", 1);
PREMIUM_RATE_SPOIL_AMOUNT = CustomSettings.getFloat("PremiumRateSpoilAmount", 2);
- String[] premiumDropChanceMultiplier = CustomSettings.getString("PremiumRateDropChanceByItemId", "").split(";");
- PREMIUM_RATE_DROP_CHANCE_BY_ID = new HashMap<>(premiumDropChanceMultiplier.length);
+ String[] premiumDropChanceMultiplier = CustomSettings.getString("PremiumDropChanceMultiplierByItemId", "").split(";");
+ PREMIUM_RATE_DROP_CHANCE_MULTIPLIER = new HashMap<>(premiumDropChanceMultiplier.length);
if (!premiumDropChanceMultiplier[0].isEmpty())
{
for (String item : premiumDropChanceMultiplier)
@@ -2635,26 +2634,26 @@ public final class Config
String[] itemSplit = item.split(",");
if (itemSplit.length != 2)
{
- _log.warning(StringUtil.concat("Config.load(): invalid config property -> PremiumRateDropChanceByItemId \"", item, "\""));
+ _log.warning(StringUtil.concat("Config.load(): invalid config property -> PremiumDropChanceMultiplierByItemId \"", item, "\""));
}
else
{
try
{
- PREMIUM_RATE_DROP_CHANCE_BY_ID.put(Integer.valueOf(itemSplit[0]), Float.valueOf(itemSplit[1]));
+ PREMIUM_RATE_DROP_CHANCE_MULTIPLIER.put(Integer.valueOf(itemSplit[0]), Float.valueOf(itemSplit[1]));
}
catch (NumberFormatException nfe)
{
if (!item.isEmpty())
{
- _log.warning(StringUtil.concat("Config.load(): invalid config property -> PremiumRateDropChanceByItemId \"", item, "\""));
+ _log.warning(StringUtil.concat("Config.load(): invalid config property -> PremiumDropChanceMultiplierByItemId \"", item, "\""));
}
}
}
}
}
- String[] premiumDropAmountMultiplier = CustomSettings.getString("PremiumRateDropAmountByItemId", "").split(";");
- PREMIUM_RATE_DROP_AMOUNT_BY_ID = new HashMap<>(premiumDropAmountMultiplier.length);
+ String[] premiumDropAmountMultiplier = CustomSettings.getString("PremiumDropAmountMultiplierByItemId", "").split(";");
+ PREMIUM_RATE_DROP_AMOUNT_MULTIPLIER = new HashMap<>(premiumDropAmountMultiplier.length);
if (!premiumDropAmountMultiplier[0].isEmpty())
{
for (String item : premiumDropAmountMultiplier)
@@ -2662,19 +2661,19 @@ public final class Config
String[] itemSplit = item.split(",");
if (itemSplit.length != 2)
{
- _log.warning(StringUtil.concat("Config.load(): invalid config property -> PremiumRateDropAmountByItemId \"", item, "\""));
+ _log.warning(StringUtil.concat("Config.load(): invalid config property -> PremiumDropAmountMultiplierByItemId \"", item, "\""));
}
else
{
try
{
- PREMIUM_RATE_DROP_AMOUNT_BY_ID.put(Integer.valueOf(itemSplit[0]), Float.valueOf(itemSplit[1]));
+ PREMIUM_RATE_DROP_AMOUNT_MULTIPLIER.put(Integer.valueOf(itemSplit[0]), Float.valueOf(itemSplit[1]));
}
catch (NumberFormatException nfe)
{
if (!item.isEmpty())
{
- _log.warning(StringUtil.concat("Config.load(): invalid config property -> PremiumRateDropAmountByItemId \"", item, "\""));
+ _log.warning(StringUtil.concat("Config.load(): invalid config property -> PremiumDropAmountMultiplierByItemId \"", item, "\""));
}
}
}
diff --git a/trunk/java/com/l2jserver/gameserver/model/drops/strategy/IAmountMultiplierStrategy.java b/trunk/java/com/l2jserver/gameserver/model/drops/strategy/IAmountMultiplierStrategy.java
index 82ca996527..9e8a25fc39 100644
--- a/trunk/java/com/l2jserver/gameserver/model/drops/strategy/IAmountMultiplierStrategy.java
+++ b/trunk/java/com/l2jserver/gameserver/model/drops/strategy/IAmountMultiplierStrategy.java
@@ -39,7 +39,7 @@ public interface IAmountMultiplierStrategy
double multiplier = 1;
final Float dropChanceMultiplier = Config.RATE_DROP_AMOUNT_MULTIPLIER.get(item.getItemId());
- final Float premiumAmountMultiplier = Config.PREMIUM_RATE_DROP_AMOUNT_BY_ID.get(item.getItemId());
+ final Float premiumAmountMultiplier = Config.PREMIUM_RATE_DROP_AMOUNT_MULTIPLIER.get(item.getItemId());
if (Config.PREMIUM_SYSTEM_ENABLED && (premiumAmountMultiplier != null) && (killer != null) && killer.isPlayer() && killer.getActingPlayer().hasPremiumStatus())
{
multiplier *= premiumAmountMultiplier;
diff --git a/trunk/java/com/l2jserver/gameserver/model/drops/strategy/IChanceMultiplierStrategy.java b/trunk/java/com/l2jserver/gameserver/model/drops/strategy/IChanceMultiplierStrategy.java
index 77f332d3b0..9a342c72db 100644
--- a/trunk/java/com/l2jserver/gameserver/model/drops/strategy/IChanceMultiplierStrategy.java
+++ b/trunk/java/com/l2jserver/gameserver/model/drops/strategy/IChanceMultiplierStrategy.java
@@ -58,7 +58,7 @@ public interface IChanceMultiplierStrategy
multiplier *= item.getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS : Config.L2JMOD_CHAMPION_ADENAS_REWARDS;
}
final Float dropChanceMultiplier = Config.RATE_DROP_CHANCE_MULTIPLIER.get(item.getItemId());
- final Float premiumChanceMultiplier = Config.PREMIUM_RATE_DROP_CHANCE_BY_ID.get(item.getItemId());
+ final Float premiumChanceMultiplier = Config.PREMIUM_RATE_DROP_CHANCE_MULTIPLIER.get(item.getItemId());
if (Config.PREMIUM_SYSTEM_ENABLED && (premiumChanceMultiplier != null) && (killer != null) && killer.isPlayer() && killer.getActingPlayer().hasPremiumStatus())
{
multiplier *= premiumChanceMultiplier;
| | |