Secret Experience

Secret Experience (https://secretexperience.net/)
-   [Lineage] Java Mods (https://secretexperience.net/lineage-java-mods/)
-   -   [L2JServer] Correção do Drop Boss (https://secretexperience.net/lineage-java-mods/32762-correcao-do-drop-boss.html)

allanalcantara 31-08-2011 04:32 PM

Correção do Drop Boss
 
Código:

Abra o arquivo config/rates.properties

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

 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
+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;
+                        }

créditos : desconhecido.

troya83 20-09-2011 09:33 PM

Parabens! seus Mod javas realmente são diferenciais.


Horários baseados na GMT -3. Agora são 09:46 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.