All pastes #344425 Raw Edit

Someone

public text v1 · immutable
·published 2007-02-07 19:03 UTC
rendered paste body
Index: C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java
===================================================================
--- C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	(revision 528)
+++ C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	(working copy)
@@ -50,6 +50,7 @@
 import net.sf.l2j.gameserver.model.entity.CTF;
 import net.sf.l2j.gameserver.model.entity.Castle;
 import net.sf.l2j.gameserver.model.entity.Couple;
+import net.sf.l2j.gameserver.model.entity.FactionMember;
 import net.sf.l2j.gameserver.model.entity.Hero;
 import net.sf.l2j.gameserver.model.entity.L2Event;
 import net.sf.l2j.gameserver.model.entity.TvT;
Index: C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2CraftManagerInstance.java
===================================================================
--- C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2CraftManagerInstance.java	(revision 528)
+++ C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2CraftManagerInstance.java	(working copy)
@@ -29,8 +29,8 @@
 
 public class L2CraftManagerInstance extends L2FolkInstance
 {
-    private static final int ADENA_ID = 57;
-    private static final int ITEMS_PER_PAGE = 5;    // items list size in craft and crystallize pages
+    public static final int ADENA_ID = 57;
+    public static final int ITEMS_PER_PAGE = 5;    // items list size in craft and crystallize pages
     
     public L2CraftManagerInstance(int objectId, L2NpcTemplate template)
     {
@@ -628,7 +628,7 @@
         super.onBypassFeedback(player,command);
     }
     
-    private String getRecipeIcon(int grade)
+    public String getRecipeIcon(int grade)
     {
         return  "icon.etc_recipe_"+(
          grade==1?"blue":
@@ -638,7 +638,7 @@
                         grade==5?"black":"white")+"_i00";
     }
     
-    private String getCrystalIcon(int grade)
+    public String getCrystalIcon(int grade)
     {
         return  "icon.etc_crystal_"+(grade==1?"blue":
             grade==2?"green":
@@ -646,7 +646,7 @@
                     grade==4?"silver":"gold")+"_i00";
     }
    
-    private void sendOutOfItems(L2PcInstance player, String count, String itemname)
+    public void sendOutOfItems(L2PcInstance player, String count, String itemname)
     {
         NpcHtmlMessage npcReply = new NpcHtmlMessage(1);
         
@@ -661,7 +661,7 @@
         player.sendPacket(npcReply);
     }
     
-    private void sendCraftedItems(L2PcInstance player, int success, int failed, String itemname)
+    public void sendCraftedItems(L2PcInstance player, int success, int failed, String itemname)
     {
         NpcHtmlMessage npcReply = new NpcHtmlMessage(1);
         
Index: C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/model/L2Attackable.java
===================================================================
--- C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/model/L2Attackable.java	(revision 528)
+++ C:/dev/workspace/L2jfree_gameserver_c5/src/main/java/net/sf/l2j/gameserver/model/L2Attackable.java	(working copy)
@@ -54,6 +54,7 @@
 import net.sf.l2j.gameserver.templates.L2EtcItemType;
 import net.sf.l2j.gameserver.templates.L2NpcTemplate;
 import net.sf.l2j.gameserver.util.Util;
+import net.sf.l2j.gameserver.templates.L2Item;
 
 /**
  * This class manages all NPC that can be attacked.<BR><BR>
@@ -724,6 +725,8 @@
         if (getHaveToDrop()) doItemDrop(lastAttacker);
         // Manage drop of Special Events created by GM for a defined period
         doEventDrop(lastAttacker);
+        // soulshot drop
+        doSpecialDrop(lastAttacker);
     }
     
     
@@ -1487,6 +1490,35 @@
              }
          }
      }
+
+     public void doSpecialDrop(L2Character lastAttacker)
+     {
+         L2PcInstance player = null;
+         if (lastAttacker instanceof L2PcInstance)
+             player = (L2PcInstance)lastAttacker;
+         else if (lastAttacker instanceof L2Summon)
+             player = ((L2Summon)lastAttacker).getOwner();
+
+         if (player == null) return; // Don't drop anything if the last attacker or ownere isn't L2PcInstance
+         
+         // mob is zwischen 20 bis bis40
+         if (getLevel()>20 && getLevel()<40)
+                 // level unterschied zwischen player/mob max 9
+             if(player.getLevel()-getLevel() >9)
+                 return;
+             else
+                 // chance 2 zu 100000
+                 if (Rnd.get(100000) < 2)
+                 {
+                     int itemId=57;
+                     int maxDrop=5000;
+                     DropItem(player, itemId, maxDrop); 
+                 }
+                 else
+                     return;
+             else
+                 return;
+     }
      
      /**
       * Drop reward item.<BR><BR>