Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 1428) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (working copy) @@ -31,9 +31,12 @@ import net.sf.l2j.gameserver.ClientThread; import net.sf.l2j.gameserver.LoginServerThread; import net.sf.l2j.gameserver.SevenSigns; +import net.sf.l2j.gameserver.SkillTable; import net.sf.l2j.gameserver.model.L2Clan; import net.sf.l2j.gameserver.model.L2Effect; +import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.L2World; +import net.sf.l2j.gameserver.model.Race; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.quest.Quest; import net.sf.l2j.gameserver.serverpackets.CreatureSay; @@ -196,6 +199,24 @@ activeChar.setNameColor(Config.GM_NAME_COLOUR); } } + + if(activeChar.getSkillLevel(1320) < 1) + { + activeChar.rewardSkills(); + } + + if(activeChar.getSkillLevel(1321) < 1 && activeChar.getRace() == Race.dwarf) + { + L2Skill skill = SkillTable.getInstance().getInfo(1321,1); + activeChar.addSkill(skill); + } + + if(activeChar.getSkillLevel(1322) < 1) + { + L2Skill skill = SkillTable.getInstance().getInfo(1322,1); + activeChar.addSkill(skill); + } + } /** Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/clientpackets/RequestActionUse.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/clientpackets/RequestActionUse.java (revision 1428) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/clientpackets/RequestActionUse.java (working copy) @@ -24,8 +24,8 @@ import net.sf.l2j.Config; import net.sf.l2j.gameserver.ClientThread; -import net.sf.l2j.gameserver.RecipeController; import net.sf.l2j.gameserver.ai.CtrlIntention; +import net.sf.l2j.gameserver.model.L2CharPosition; import net.sf.l2j.gameserver.model.L2ManufactureList; import net.sf.l2j.gameserver.model.L2Object; import net.sf.l2j.gameserver.model.L2Skill; @@ -340,6 +340,20 @@ activeChar.sendPacket(new RecipeShopManageList(activeChar)); break; } + case 52: // unsummon + { + activeChar.getPet().unSummon(activeChar); + break; + } + case 54: // move to target + { + if(activeChar.getTarget() != null) + { + L2Object target = activeChar.getTarget(); + activeChar.getPet().getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, + new L2CharPosition(target.getX(),target.getY(), target.getZ(), 0 )); + } + } case 1000: //Siege Hammer { UseSkill(4079); Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2CastleChamberlainInstance.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2CastleChamberlainInstance.java (revision 1428) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2CastleChamberlainInstance.java (working copy) @@ -5,6 +5,7 @@ import net.sf.l2j.gameserver.ItemTable; import net.sf.l2j.gameserver.model.CropProcure; +import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.serverpackets.ActionFailed; import net.sf.l2j.gameserver.serverpackets.MyTargetSelected; import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; @@ -154,6 +155,15 @@ this.sendHtmlMessage(player, msg.toString()); return; } + else if(actualCommand.equalsIgnoreCase("give_crown")) // give a crown ^^ + { + if(player.getInventory().findItemByItemId(6841) == null && player.getWarehouse().findItemId(6841) == null) + { + L2ItemInstance crown = ItemTable.getInstance().createItem(6841); + player.getInventory().addItem(crown); + player.sendMessage("Crown has been placed in your inventory"); + } + } } super.onBypassFeedback(player, command); Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 1428) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -199,6 +199,10 @@ SkillTreeTable.getExpertiseLevel(5), //S }; + private static final int[] COMMONCRAFT_LEVELS = + { + 5,20,28,36,43,49,55,62 + }; private static Logger _log = Logger.getLogger(L2PcInstance.class.getName()); @@ -1546,6 +1550,15 @@ setExpertiseIndex(i); } + for(int i=0;i= COMMONCRAFT_LEVELS[i] && getSkillLevel(1320) < (i+1)) + { + L2Skill skill = SkillTable.getInstance().getInfo(1320, (i+1)); + addSkill(skill); + } + } + // Add the Expertise skill corresponding to its Expertise level if (getExpertiseIndex() > 0) { Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/entity/Castle.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/entity/Castle.java (revision 1428) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/entity/Castle.java (working copy) @@ -208,6 +208,13 @@ { oldOwner.setHasCastle(0); // Unset has castle flag for old owner new Announcements().announceToAll(oldOwner.getName() + " has lost " + getName() + " castle!"); + + // remove crown + try + { + oldOwner.getLeader().getPlayerInstance().getInventory().destroyItemByItemId(6841,1); + oldOwner.getLeader().getPlayerInstance().getWarehouse().destroyItem(6841,1); + }catch(Exception e){} } } Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java (revision 1428) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java (working copy) @@ -42,8 +42,8 @@ public class SoulShots implements IItemHandler { // All the item IDs that this handler knows. - private static int[] _itemIds = {5789, 1835, 1463, 1464, 1465, 1466, 1467 }; - private static int[] _skillIds = {2039, 2150, 2151, 2152, 2153, 2154 }; + private static int[] _itemIds = {5789, 1835, 1463, 1464, 1465, 1466, 1467,6645,6646,6647 }; + private static int[] _skillIds = {2039, 2150, 2151, 2152, 2153, 2154,2008,2009,2033 }; /* (non-Javadoc) * @see net.sf.l2j.gameserver.handler.IItemHandler#useItem(net.sf.l2j.gameserver.model.L2PcInstance, net.sf.l2j.gameserver.model.L2ItemInstance) @@ -149,6 +149,15 @@ L2Object oldTarget = activeChar.getTarget(); activeChar.setTarget(activeChar); + // Pet soulshots + if(SoulshotId == 2008 || SoulshotId == 2009 || SoulshotId == 2033) + { + if(activeChar.getPet() != null) + { + + } + } + activeChar.sendPacket(new SystemMessage(SystemMessage.ENABLED_SOULSHOT)); MagicSkillUser MSU = new MagicSkillUser(activeChar, _skillIds[grade], 1, 0, 0); Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAdmin.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAdmin.java (revision 1428) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAdmin.java (working copy) @@ -28,7 +28,6 @@ import net.sf.l2j.gameserver.model.L2Multisell; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; -import net.sf.l2j.gameserver.script.fscript.AIScriptManager; import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; import net.sf.l2j.gameserver.serverpackets.PlaySound; import net.sf.l2j.gameserver.serverpackets.ServerBasePacket; Index: C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/PrivateSellListSell.java =================================================================== --- C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/PrivateSellListSell.java (revision 1428) +++ C:/eclipse/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/PrivateSellListSell.java (working copy) @@ -82,11 +82,18 @@ } + /* + * 0000: 9a a2 83 20 48 00 00 00 00 7e 00 00 00 01 00 00 ... H....~...... + * 0010: 00 05 00 00 00 bd ff 14 40 d4 15 00 00 01 00 00 ........@....... + * 0020: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 ................ + * 0030: 00 00 00 + * */ final void writeImpl() { writeC(0x9a); //section 1 writeD(_seller.getObjectId()); + writeD(0); writeD(_sellerAdena); int count = _list.getItems().size();