rendered paste bodyIndex: 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>