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(""); sb.append("
Amount:"); - 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;