Correção do Drop Boss
Este Mod permite a você separar o Drop de Boss & Raid Boss do Drop Rate, incluindo o Drop de Boss Jewels. Feito para L2jFree.
Abra o arquivo config/rates.properties
Código:
RateDropAdena = 1.
+// Adane Drop Rate For Raidboss,Boss
+RateDropAdenaBoss = 1.
+RateDropAdenaRaid = 1.
RateDropItems = 1.
+// Item Drop Rate For Raidboss,Boss
+RateDropItemsBoss = 1.
+RateDropItemsRaid = 1.
+// Jewels Drop Rate For Boss Jewels
+RateDropItemsJewel = 1.
RateDropSpoil = 1.
+// Spoil Rate For Raidboss,Boss
+RateDropSpoilRaid = 1.
+RateDropSpoilBoss = 1.
Arquivo com/l2jfree/Config.java
Código:
public static float RATE_DROP_ADENA;
+// Adane Drop Rate For Raidboss,Boss
+public static float RATE_DROP_ADENA_RAID;
+public static float RATE_DROP_ADENA_BOSS;
public static float RATE_DROP_ITEMS;
+// Item Drop Rate For Raidboss,Boss
+public static float RATE_DROP_ITEMS_BOSS;
+public static float RATE_DROP_ITEMS_RAID;
+// Jewels Drop Rate For Boss Jewels
+public static float RATE_DROP_ITEMS_JEWEL;
public static float RATE_DROP_SPOIL;
+// Spoil Rate For Raidboss,Boss
+public static float RATE_DROP_SPOIL_BOSS;
+public static float RATE_DROP_SPOIL_RAID;
RATE_DROP_ADENA = Float.parseFloat(ratesSettings.getProperty("RateDropAdena", "1."));
+// Adane Drop Rate For Raidboss,Boss
+RATE_DROP_ADENA_BOSS = Float.parseFloat(ratesSettings.getProperty("RateDropAdenaBoss", "1."));
+RATE_DROP_ADENA_RAID = Float.parseFloat(ratesSettings.getProperty("RateDropAdenaRaid", "1."));
RATE_DROP_ITEMS = Float.parseFloat(ratesSettings.getProperty("RateDropItems", "1."));
+// Item Drop Rate For Raidboss,Boss
+RATE_DROP_ITEMS_RAID = Float.parseFloat(ratesSettings.getProperty("RateDropItemsRaid", "1."));
+RATE_DROP_ITEMS_BOSS = Float.parseFloat(ratesSettings.getProperty("RateDropItemsBoss", "1."));
+// Jewels Drop Rate For Boss Jewels
+RATE_DROP_ITEMS_JEWEL = Float.parseFloat(ratesSettings.getProperty("RateDropItemsJewels", "1."));
RATE_DROP_SPOIL = Float.parseFloat(ratesSettings.getProperty("RateDropSpoil", "1."));
+// Spoil Rate For Raidboss,Boss
+RATE_DROP_SPOIL_BOSS = Float.parseFloat(ratesSettings.getProperty("RateDropSpoilBoss", "1."));
+RATE_DROP_SPOIL_RAID = Float.parseFloat(ratesSettings.getProperty("RateDropSpoilRaid", "1."));
Arquivo gameserver/model/L2Attackable.java
Código:
+import net.sf.l2j.gameserver.model.actor.instance.L2BossInstance;
private RewardItem calculateRewardItem(L2PcInstance lastAttacker, L2DropData drop, int levelModifier, boolean isSweep)
-// Applies Drop rates
-if (drop.getItemId() == 57) dropChance *= Config.RATE_DROP_ADENA;
-else if (isSweep) dropChance *= Config.RATE_DROP_SPOIL;
-else dropChance *= Config.RATE_DROP_ITEMS;
+// Applies Drop rates
+if (drop.getItemId() == 57)
+{
+ if (this instanceof L2RaidBossInstance) dropChance *= Config.RATE_DROP_ADENA_RAID; //other raid boss
+ else if (this instanceof L2BossInstance) dropChance *= Config.RATE_DROP_ADENA_BOSS; //Baium , Antharas , Valakas.....
+ else dropChance *= Config.RATE_DROP_ADENA;
+}
+else if (isSweep)
+{
+ if (this instanceof L2RaidBossInstance) dropChance *= Config.RATE_DROP_SPOIL_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.RATE_DROP_SPOIL_BOSS;
+ else dropChance *= Config.RATE_DROP_SPOIL;
+}
+else
+{
+ if (drop.getItemId() == 6656 || drop.getItemId() == 6657 || drop.getItemId() == 6658 || drop.getItemId() == 6659 || drop.getItemId() == 6660 || drop.getItemId() == 6661 || drop.getItemId() == 6662 || drop.getItemId() == 8191 ) dropChance *= Config.RATE_DROP_ITEMS_JEWEL;
+ else if (this instanceof L2RaidBossInstance) dropChance *= Config.RATE_DROP_ITEMS_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.RATE_DROP_ITEMS_BOSS;
+ else dropChance *= Config.RATE_DROP_ITEMS;
+}
private RewardItem calculateCategorizedRewardItem(L2PcInstance lastAttacker, L2DropCategory categoryDrops, int levelModifier)
-// Applies Drop rates
-categoryDropChance *= Config.RATE_DROP_ITEMS;
+// Applies Drop rates
+if (this instanceof L2RaidBossInstance) categoryDropChance *= Config.RATE_DROP_ITEMS_RAID;
+else if (this instanceof L2BossInstance) categoryDropChance *= Config.RATE_DROP_ITEMS_BOSS;
+else categoryDropChance *= Config.RATE_DROP_ITEMS;
-int dropChance = drop.getChance();
-if (drop.getItemId() == 57) dropChance *= Config.RATE_DROP_ADENA;
-else dropChance *= Config.RATE_DROP_ITEMS;
+int dropChance = drop.getChance();
+dropChance *= champRate;
+if (drop.getItemId() == 57)
+{
+ if (this instanceof L2RaidBossInstance) dropChance *= Config.RATE_DROP_ADENA_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.RATE_DROP_ADENA_BOSS;
+ else dropChance *= Config.RATE_DROP_ADENA;
+}
+ else
+{
+ if (drop.getItemId() == 6656 || drop.getItemId() == 6657 || drop.getItemId() == 6658 || drop.getItemId() == 6659 || drop.getItemId() == 6660 || drop.getItemId() == 6661 || drop.getItemId() == 6662 || drop.getItemId() == 8191 ) dropChance *= Config.RATE_DROP_ITEMS_JEWEL;
+ else if (this instanceof L2RaidBossInstance) dropChance *= Config.RATE_DROP_ITEMS_RAID;
+ else if (this instanceof L2BossInstance) dropChance *= Config.RATE_DROP_ITEMS_BOSS;
+ else dropChance *= Config.RATE_DROP_ITEMS;
+}
Creditos : psYch0 (tecdnb)
|