Guest User

Untitled

a guest
May 20th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 22.90 KB | None | 0 0
  1. ### Eclipse Workspace Patch 1.0
  2. #P L2jFrozen_GameServer
  3. Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java
  4. ===================================================================
  5. --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java  (revision 904)
  6. +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java  (working copy)
  7. @@ -36,6 +36,7 @@
  8.  import com.l2jfrozen.gameserver.model.L2Skill.SkillType;
  9.  import com.l2jfrozen.gameserver.model.L2Summon;
  10.  import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
  11. +import com.l2jfrozen.gameserver.model.actor.instance.L2PetInstance;
  12.  import com.l2jfrozen.gameserver.model.actor.instance.L2SiegeSummonInstance;
  13.  import com.l2jfrozen.gameserver.model.base.Experience;
  14.  import com.l2jfrozen.gameserver.network.SystemMessageId;
  15. @@ -318,8 +319,8 @@
  16.                 case ERASE:
  17.                 {
  18.                     if(Formulas.getInstance().calcSkillSuccess(activeChar, target, skill, ss, sps, bss)
  19. -                   // doesn't affect siege golem or wild hog cannon
  20. -                   && !(target instanceof L2SiegeSummonInstance))
  21. +                   // Doesn't affect siege golem, wild hog cannon and Pets
  22. +                   && !(target instanceof L2SiegeSummonInstance) && !(target instanceof L2PetInstance))
  23.                     {
  24.                         L2PcInstance summonOwner = null;
  25.                         L2Summon summonPet = null;
  26. Index: head-src/com/l2jfrozen/gameserver/model/entity/olympiad/L2OlympiadGame.java
  27. ===================================================================
  28. --- head-src/com/l2jfrozen/gameserver/model/entity/olympiad/L2OlympiadGame.java (revision 904)
  29. +++ head-src/com/l2jfrozen/gameserver/model/entity/olympiad/L2OlympiadGame.java (working copy)
  30. @@ -388,13 +388,19 @@
  31.  
  32.             OlympiadStadiaManager.getInstance().getStadiumByLoc(_stadiumPort[0], _stadiumPort[1], _stadiumPort[2]).oustAllPlayers();
  33.  
  34. -           if(_playerOne.isSitting())
  35. +           // Check if player one is in private store or sitting
  36. +           if(_playerOne.getPrivateStoreType() == 1 || _playerOne.getPrivateStoreType() == 8 || _playerOne.getPrivateStoreType() == 3 || _playerOne.getPrivateStoreType() == 5 ||_playerOne.isSitting())
  37.             {
  38. +               _playerOne.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_NONE);
  39. +               _playerOne.broadcastUserInfo();
  40.                 _playerOne.standUp();
  41.             }
  42.  
  43. -           if(_playerTwo.isSitting())
  44. +           // Check if player two is in private store or sitting
  45. +           if(_playerTwo.getPrivateStoreType() == 1 || _playerTwo.getPrivateStoreType() == 8 || _playerTwo.getPrivateStoreType() == 3 || _playerTwo.getPrivateStoreType() == 5 || _playerTwo.isSitting())
  46.             {
  47. +               _playerTwo.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_NONE);
  48. +               _playerTwo.broadcastUserInfo();
  49.                 _playerTwo.standUp();
  50.             }
  51.  
  52. Index: head-src/com/l2jfrozen/gameserver/model/L2Character.java
  53. ===================================================================
  54. --- head-src/com/l2jfrozen/gameserver/model/L2Character.java    (revision 904)
  55. +++ head-src/com/l2jfrozen/gameserver/model/L2Character.java    (working copy)
  56. @@ -1649,14 +1649,22 @@
  57.        
  58.         if(isSkillDisabled(skill.getId()))
  59.         {
  60. -           if(activeChar instanceof L2PcInstance)
  61. +           if(activeChar instanceof L2PcInstance && !(skill.getId() == 2166))
  62.             {
  63.                 SystemMessage sm = new SystemMessage(SystemMessageId.S1_PREPARED_FOR_REUSE);
  64.                 sm.addSkillName(skill.getId(), skill.getLevel());
  65.                 sendPacket(sm);
  66.                 sm = null;
  67.             }
  68. -
  69. +           // Cp potion message
  70. +           else if(activeChar instanceof L2PcInstance && (skill.getId() == 2166))
  71. +           {
  72. +               if (skill.getLevel() == 2)
  73. +               ((L2PcInstance) activeChar).sendMessage("Greater CP Potion is not available at this time: being prepared for reuse.");
  74. +               else if (skill.getLevel() == 1)
  75. +               ((L2PcInstance) activeChar).sendMessage("CP Potion is not available at this time: being prepared for reuse."); 
  76. +           }
  77. +          
  78.             return;
  79.         }
  80.  
  81. @@ -1824,7 +1832,8 @@
  82.  
  83.             //Because the following are magic skills that do not actively 'eat' BSpS/SpS,
  84.             //I must 'eat' them here so players don't take advantage of infinite speed increase
  85. -           if(skill.getSkillType() == SkillType.MANAHEAL || skill.getSkillType() == SkillType.RESURRECT || skill.getSkillType() == SkillType.RECALL)
  86. +           /* MANAHEAL, MANARECHARGE, RESURRECT, RECALL*/
  87. +           if(skill.getSkillType() == SkillType.MANAHEAL || skill.getSkillType() == SkillType.MANARECHARGE || skill.getSkillType() == SkillType.RESURRECT || skill.getSkillType() == SkillType.RECALL)
  88.             {
  89.                 if(checkBss())
  90.                     removeBss();
  91. @@ -2182,6 +2191,10 @@
  92.         {
  93.             killer
  94.         });
  95. +      
  96. +       // Update active skills in progress (In Use and Not In Use because stacked) icones on client
  97. +       updateEffectIcons();
  98. +      
  99.         return true;
  100.     }
  101.  
  102. @@ -8029,7 +8042,10 @@
  103.             getAI().notifyEvent(CtrlEvent.EVT_FINISH_CASTING);
  104.  
  105.             notifyQuestEventSkillFinished(skill, getTarget());
  106. -
  107. +          
  108. +           // Like L2OFF after a skill the player must stop the movement, also with toggle
  109. +           stopMove(null);
  110. +          
  111.             /*
  112.              * If character is a player, then wipe their current cast state and
  113.              * check if a skill is queued.
  114. @@ -8212,18 +8228,59 @@
  115.         if(this instanceof L2PcInstance){
  116.             L2PcInstance activeChar = (L2PcInstance) this;
  117.            
  118. -           if((skill.getSkillType()==SkillType.PUMPING || skill.getSkillType()==SkillType.REELING) && !activeChar.isFishing()){
  119. -               activeChar.sendMessage("You can use fishing skills just while fishing");
  120. +           if((skill.getSkillType()==SkillType.FISHING || skill.getSkillType()==SkillType.REELING || skill.getSkillType()==SkillType.PUMPING) && !activeChar.isFishing() && (activeChar.getActiveWeaponItem() != null && activeChar.getActiveWeaponItem().getItemType()!=L2WeaponType.ROD))
  121. +           {
  122. +               if(skill.getSkillType()==SkillType.PUMPING)
  123. +               {
  124. +                   // Pumping skill is available only while fishing
  125. +                   activeChar.sendPacket(new SystemMessage(SystemMessageId.CAN_USE_PUMPING_ONLY_WHILE_FISHING));
  126. +               }
  127. +               else if(skill.getSkillType()==SkillType.REELING)
  128. +               {
  129. +                   // Reeling skill is available only while fishing
  130. +                   activeChar.sendPacket(new SystemMessage(SystemMessageId.CAN_USE_REELING_ONLY_WHILE_FISHING));
  131. +               }
  132. +               else if(skill.getSkillType()==SkillType.FISHING)
  133. +               {
  134. +                   // Player hasn't fishing pole equiped
  135. +                   activeChar.sendPacket(new SystemMessage(SystemMessageId.FISHING_POLE_NOT_EQUIPPED));
  136. +               }
  137. +              
  138. +               SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
  139. +               sm.addString(skill.getName());
  140. +               activeChar.sendPacket(sm);
  141. +               return true;
  142. +           }
  143. +          
  144. +           if((skill.getSkillType()==SkillType.FISHING || skill.getSkillType()==SkillType.REELING || skill.getSkillType()==SkillType.PUMPING) && activeChar.getActiveWeaponItem() == null)
  145. +           {
  146. +               SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
  147. +               sm.addString(skill.getName());
  148. +               activeChar.sendPacket(sm);
  149.                 return true;
  150.             }
  151.            
  152. -           if(skill.getSkillType()==SkillType.FISHING && (activeChar.getActiveWeaponItem() == null || activeChar.getActiveWeaponItem().getItemType()!=L2WeaponType.ROD)){
  153. -               activeChar.sendMessage("You can use fishing skill just with Rod Weapon");
  154. +           if((skill.getSkillType()==SkillType.REELING || skill.getSkillType()==SkillType.PUMPING) && !activeChar.isFishing() && (activeChar.getActiveWeaponItem() != null && activeChar.getActiveWeaponItem().getItemType()==L2WeaponType.ROD))
  155. +           {
  156. +               if(skill.getSkillType()==SkillType.PUMPING)
  157. +               {
  158. +                   // Pumping skill is available only while fishing
  159. +                   activeChar.sendPacket(new SystemMessage(SystemMessageId.CAN_USE_PUMPING_ONLY_WHILE_FISHING));
  160. +               }
  161. +               else if(skill.getSkillType()==SkillType.REELING)
  162. +               {
  163. +                   // Reeling skill is available only while fishing
  164. +                   activeChar.sendPacket(new SystemMessage(SystemMessageId.CAN_USE_REELING_ONLY_WHILE_FISHING));
  165. +               }
  166. +              
  167. +               SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
  168. +               sm.addString(skill.getName());
  169. +               activeChar.sendPacket(sm);
  170.                 return true;
  171.             }
  172.            
  173.             if(activeChar.isHero() && HeroSkillTable.isHeroSkill(skillId) && activeChar.isInOlympiadMode() && activeChar.isOlympiadStart()){
  174. -               activeChar.sendMessage("You can't use Hero skills during Olympiad match");
  175. +               activeChar.sendMessage("You can't use Hero skills during Olympiad match.");
  176.                 return true;
  177.             }
  178.         }
  179. Index: head-src/com/l2jfrozen/gameserver/Shutdown.java
  180. ===================================================================
  181. --- head-src/com/l2jfrozen/gameserver/Shutdown.java (revision 904)
  182. +++ head-src/com/l2jfrozen/gameserver/Shutdown.java (working copy)
  183. @@ -38,6 +38,7 @@
  184.  import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad;
  185.  import com.l2jfrozen.gameserver.model.entity.sevensigns.SevenSigns;
  186.  import com.l2jfrozen.gameserver.model.entity.sevensigns.SevenSignsFestival;
  187. +import com.l2jfrozen.gameserver.network.L2GameClient;
  188.  import com.l2jfrozen.gameserver.network.SystemMessageId;
  189.  import com.l2jfrozen.gameserver.network.gameserverpackets.ServerStatus;
  190.  import com.l2jfrozen.gameserver.network.serverpackets.ServerClose;
  191. @@ -615,10 +616,10 @@
  192.            
  193.             _log.log(Level.SEVERE,"Error saving offline shops.",t);
  194.          }
  195. -
  196. +        
  197.          try
  198.         {
  199. -           Thread.sleep(5000);
  200. +           Thread.sleep(1000);
  201.         }
  202.         catch(InterruptedException e1)
  203.         {
  204. @@ -702,13 +703,22 @@
  205.     {
  206.         for(L2PcInstance player : L2World.getInstance().getAllPlayers())
  207.         {
  208. +           if (player == null)
  209. +               continue;
  210. +
  211.             //Logout Character
  212.             try
  213.             {
  214. +               // Save player status
  215.                 player.store();
  216. -               //SystemMessage sm = new SystemMessage(SystemMessage.YOU_HAVE_WON_THE_WAR_OVER_THE_S1_CLAN);
  217. -               //player.sendPacket(sm);
  218. -               player.sendPacket(ServerClose.STATIC_PACKET);
  219. +              
  220. +               // Player Disconnect
  221. +               if(player.getClient() != null)
  222. +               {
  223. +                  player.getClient().sendPacket(ServerClose.STATIC_PACKET);
  224. +                  player.getClient().setActiveChar(null);
  225. +                  player.setClient(null);     
  226. +               }
  227.             }
  228.             catch(Throwable t)
  229.             {
  230. @@ -719,7 +729,7 @@
  231.        
  232.         try
  233.         {
  234. -           Thread.sleep(5000);
  235. +           Thread.sleep(10000);
  236.         }
  237.         catch(Throwable t)
  238.         {
  239. Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestAutoSoulShot.java
  240. ===================================================================
  241. --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestAutoSoulShot.java    (revision 904)
  242. +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestAutoSoulShot.java    (working copy)
  243. @@ -72,6 +72,9 @@
  244.                         // Attempt to charge first shot on activation
  245.                         if(_itemId == 6645 || _itemId == 6646 || _itemId == 6647)
  246.                         {
  247. +                           // Like L2OFF you can active automatic SS only if you have a pet
  248. +                           if (activeChar.getPet() != null)
  249. +                           {
  250.                             //activeChar.addAutoSoulShot(_itemId);
  251.                             //ExAutoSoulShot atk = new ExAutoSoulShot(_itemId, _type);
  252.                             //activeChar.sendPacket(atk);
  253. @@ -82,6 +85,14 @@
  254.                             activeChar.sendPacket(sm);
  255.  
  256.                             activeChar.rechargeAutoSoulShot(true, true, true);
  257. +                           }
  258. +                           else
  259. +                           {
  260. +                               SystemMessage sm = new SystemMessage(SystemMessageId.NO_SERVITOR_CANNOT_AUTOMATE_USE);
  261. +                               sm.addString(item.getItemName());
  262. +                               activeChar.sendPacket(sm);
  263. +                               return;
  264. +                           }
  265.                         }
  266.                         else
  267.                         {
  268. Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java
  269. ===================================================================
  270. --- head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java    (revision 904)
  271. +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java    (working copy)
  272. @@ -578,10 +578,6 @@
  273.  
  274.             sm = null;
  275.  
  276. -           activeChar.refreshExpertisePenalty();
  277. -           activeChar.refreshMasteryPenality();
  278. -           activeChar.refreshMasteryWeapPenality();
  279. -
  280.             /*
  281.             if(item.getItem().getType2() == L2Item.TYPE2_WEAPON)
  282.             {
  283. Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/Action.java
  284. ===================================================================
  285. --- head-src/com/l2jfrozen/gameserver/network/clientpackets/Action.java (revision 904)
  286. +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/Action.java (working copy)
  287. @@ -120,6 +120,9 @@
  288.         }
  289.         else
  290.             getClient().sendPacket(ActionFailed.STATIC_PACKET); // Actions prohibited when in trade
  291. +      
  292. +   // Update the status after the target  
  293. +   activeChar.broadcastStatusUpdate();
  294.     }
  295.  
  296.     @Override
  297. Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java
  298. ===================================================================
  299. --- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java    (revision 904)
  300. +++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java    (working copy)
  301. @@ -2808,10 +2808,12 @@
  302.             if(newPenalty > 0)
  303.             {
  304.                 super.addSkill(SkillTable.getInstance().getInfo(4267, 1)); // level used to be newPenalty
  305. +               sendSkillList(); // Update skill list
  306.             }
  307.             else
  308.             {
  309.                 super.removeSkill(getKnownSkill(4267));
  310. +               sendSkillList(); // Update skill list
  311.             }
  312.             sendPacket(new EtcStatusUpdate(this));
  313.         }
  314. @@ -3589,6 +3591,10 @@
  315.     {
  316.         if(isFakeDeath())
  317.         {
  318. +           broadcastPacket(new ChangeWaitType(this, ChangeWaitType.WT_STANDING));
  319. +           // Schedule a stand up task to wait for the animation to finish
  320. +           setIsImobilised(true);
  321. +           ThreadPoolManager.getInstance().scheduleGeneral(new StandUpTask(this), 2500);
  322.             stopFakeDeath(null);
  323.         }
  324.        
  325. @@ -10603,11 +10609,11 @@
  326.         //************************************* Check skill availability *******************************************
  327.  
  328.         // Check if this skill is enabled (ex : reuse time)
  329. -       if(isSkillDisabled(skill_id) && !getAccessLevel().allowPeaceAttack())
  330. +       if(isSkillDisabled(skill_id) /* && !getAccessLevel().allowPeaceAttack() */)
  331.         {
  332. -           SystemMessage sm = new SystemMessage(SystemMessageId.SKILL_NOT_AVAILABLE);
  333. -           sm.addString(skill.getName());
  334. -           sendPacket(sm);
  335. +           // SystemMessage sm = new SystemMessage(SystemMessageId.SKILL_NOT_AVAILABLE);
  336. +           // sm.addString(skill.getName());
  337. +           // sendPacket(sm);
  338.  
  339.             // Send a Server->Client packet ActionFailed to the L2PcInstance
  340.             sendPacket(ActionFailed.STATIC_PACKET);
  341. @@ -10683,6 +10689,16 @@
  342.                 }
  343.             }
  344.         }
  345. +      
  346. +       // Like L2OFF if you have a summon you can't summon another one
  347. +       if(sklType == L2Skill.SkillType.SUMMON)
  348. +       {
  349. +           if (getPet() != null)
  350. +           {
  351. +               sendPacket(new SystemMessage(SystemMessageId.YOU_ALREADY_HAVE_A_PET));
  352. +               return;
  353. +           }
  354. +       }
  355.  
  356.         if(skill.getNumCharges() > 0
  357.             && skill.getSkillType() != SkillType.CHARGE
  358. Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/FishingSkill.java
  359. ===================================================================
  360. --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/FishingSkill.java   (revision 904)
  361. +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/FishingSkill.java   (working copy)
  362. @@ -55,12 +55,12 @@
  363.             if(skill.getSkillType()==SkillType.PUMPING)
  364.             {
  365.                 //Pumping skill is available only while fishing
  366. -               player.sendPacket(new SystemMessage(SystemMessageId.CAN_USE_PUMPING_ONLY_WHILE_FISHING));
  367. +               //player.sendPacket(new SystemMessage(SystemMessageId.CAN_USE_PUMPING_ONLY_WHILE_FISHING));
  368.             }
  369.             else if(skill.getSkillType()==SkillType.REELING)
  370.             {
  371.                 //Reeling skill is available only while fishing
  372. -               player.sendPacket(new SystemMessage(SystemMessageId.CAN_USE_REELING_ONLY_WHILE_FISHING));
  373. +               //player.sendPacket(new SystemMessage(SystemMessageId.CAN_USE_REELING_ONLY_WHILE_FISHING));
  374.             }
  375.             player.sendPacket(ActionFailed.STATIC_PACKET);
  376.             return;
  377. @@ -69,7 +69,12 @@
  378.         L2Weapon weaponItem = player.getActiveWeaponItem();
  379.         L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
  380.         if(weaponInst == null || weaponItem == null || weaponItem.getItemType() != L2WeaponType.ROD)
  381. +       {
  382. +           SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
  383. +           activeChar.sendPacket(sm);
  384. +           sm = null;
  385.             return;
  386. +       }
  387.  
  388.         int SS = 1;
  389.         int pen = 0;
  390. Index: head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Escape.java
  391. ===================================================================
  392. --- head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Escape.java   (revision 904)
  393. +++ head-src/com/l2jfrozen/gameserver/handler/usercommandhandlers/Escape.java   (working copy)
  394. @@ -146,6 +146,7 @@
  395.         activeChar.disableAllSkills();
  396.  
  397.         MagicSkillUser msk = new MagicSkillUser(activeChar, 1050, 1, unstuckTimer, 0);
  398. +       activeChar.setTarget(null); // Like retail we haven't self target
  399.         Broadcast.toSelfAndKnownPlayersInRadius(activeChar, msk, 810000/*900*/);
  400.         SetupGauge sg = new SetupGauge(0, unstuckTimer);
  401.         activeChar.sendPacket(sg);
  402. Index: head-src/com/l2jfrozen/gameserver/model/Inventory.java
  403. ===================================================================
  404. --- head-src/com/l2jfrozen/gameserver/model/Inventory.java  (revision 904)
  405. +++ head-src/com/l2jfrozen/gameserver/model/Inventory.java  (working copy)
  406. @@ -367,8 +367,16 @@
  407.  
  408.             L2Item it = item.getItem();
  409.             if(it instanceof L2Weapon)
  410. -           {
  411. -               passiveSkill = ((L2Weapon) it).getSkill();
  412. +           {                  
  413. +               // Check for Penality
  414. +               player.refreshExpertisePenalty();
  415. +               player.refreshMasteryWeapPenality();
  416. +               // If player get penality he will not recive SA bonus like retail
  417. +               if (player.getExpertisePenalty() == 0)
  418. +                { 
  419. +                   // Passive skills from Weapon (SA)
  420. +                    passiveSkill = ((L2Weapon) it).getSkill();
  421. +               }
  422.  
  423.                 if(item.getEnchantLevel() >= 4)
  424.                 {
  425. @@ -377,6 +385,10 @@
  426.             }
  427.             else if(it instanceof L2Armor)
  428.             {
  429. +               // Check for Penality
  430. +               player.refreshExpertisePenalty();
  431. +               player.refreshMasteryPenality();
  432. +               // Passive skills from Armor
  433.                 passiveSkill = ((L2Armor) it).getSkill();
  434.             }
  435.  
  436. Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java
  437. ===================================================================
  438. --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java (revision 904)
  439. +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java (working copy)
  440. @@ -97,14 +97,7 @@
  441.             return;
  442.         }
  443.  
  444. -       if(activeChar.isMoving())
  445. -       {
  446. -           activeChar.setActiveEnchantItem(null);
  447. -           activeChar.sendMessage("Can't enchant while moving");
  448. -           return;
  449. -       }
  450. -
  451. -       //fix enchant transactions
  452. +       // Fix enchant transactions
  453.         if(activeChar.isProcessingTransaction())
  454.         {
  455.             activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
  456. Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Fishing.java
  457. ===================================================================
  458. --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Fishing.java    (revision 904)
  459. +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Fishing.java    (working copy)
  460. @@ -77,7 +77,7 @@
  461.         if((weaponItem == null || weaponItem.getItemType() != L2WeaponType.ROD))
  462.         {
  463.             // Fishing poles are not installed
  464. -           player.sendPacket(new SystemMessage(SystemMessageId.FISHING_POLE_NOT_EQUIPPED));
  465. +           // player.sendPacket(new SystemMessage(SystemMessageId.FISHING_POLE_NOT_EQUIPPED));
  466.             return;
  467.         }
  468.         weaponItem = null;
  469. @@ -86,7 +86,10 @@
  470.         if(lure == null)
  471.         {
  472.             // Bait not equiped.
  473. -           player.sendPacket(new SystemMessage(SystemMessageId.BAIT_ON_HOOK_BEFORE_FISHING));
  474. +           player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_FISH_HERE));
  475. +           SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
  476. +           sm.addString(skill.getName());
  477. +           player.sendPacket(sm);
  478.             return;
  479.         }
  480.  
  481. @@ -104,8 +107,7 @@
  482.         {
  483.             // You can't fish while you are on boat
  484.             player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_FISH_ON_BOAT));
  485. -           //if(!player.isGM())
  486. -               return;
  487. +           return;
  488.         }
  489.  
  490.         if(player.isInCraftMode() || player.isInStoreMode())
  491. @@ -149,8 +151,10 @@
  492.         else
  493.         {
  494.             //You can't fish here
  495. -           player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_FISH_HERE));
  496. -           //if(!player.isGM()){ return; }
  497. +           player.sendPacket(new SystemMessage(SystemMessageId.BAIT_ON_HOOK_BEFORE_FISHING));
  498. +           SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
  499. +           sm.addString(skill.getName());
  500. +           player.sendPacket(sm);
  501.             return;
  502.         }
  503.  
  504. Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/MoveBackwardToLocation.java
  505. ===================================================================
  506. --- head-src/com/l2jfrozen/gameserver/network/clientpackets/MoveBackwardToLocation.java (revision 904)
  507. +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/MoveBackwardToLocation.java (working copy)
  508. @@ -22,6 +22,7 @@
  509.  import com.l2jfrozen.gameserver.model.actor.position.L2CharPosition;
  510.  import com.l2jfrozen.gameserver.network.SystemMessageId;
  511.  import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
  512. +import com.l2jfrozen.gameserver.network.serverpackets.EnchantResult;
  513.  import com.l2jfrozen.gameserver.network.serverpackets.StopMove;
  514.  import com.l2jfrozen.gameserver.thread.TaskPriority;
  515.  import com.l2jfrozen.gameserver.util.IllegalPlayerAction;
  516. @@ -82,11 +83,17 @@
  517.             return;
  518.         }
  519.        
  520. +       // Movements prohibited when in store
  521.         if(activeChar.getPrivateStoreType() != 0){
  522. -           getClient().sendPacket(ActionFailed.STATIC_PACKET); // movements prohibited when in store
  523. +           getClient().sendPacket(ActionFailed.STATIC_PACKET);
  524.             return;
  525.         }
  526.        
  527. +       // Like L2OFF the enchant window will close
  528. +       if(activeChar.getActiveEnchantItem() != null){
  529. +            activeChar.sendPacket(new EnchantResult(0));
  530. +            activeChar.setActiveEnchantItem(null);
  531. +       }
  532.        
  533.         if (_targetX == _originX && _targetY == _originY && _targetZ == _originZ)
  534.         {
  535. Index: head-src/com/l2jfrozen/gameserver/network/SystemMessageId.java
  536. ===================================================================
  537. --- head-src/com/l2jfrozen/gameserver/network/SystemMessageId.java  (revision 904)
  538. +++ head-src/com/l2jfrozen/gameserver/network/SystemMessageId.java  (working copy)
  539. @@ -4844,6 +4844,14 @@
  540.      */
  541.     A_MANOR_CANNOT_BE_SET_UP_BETWEEN_6_AM_AND_8_PM(1675),
  542.  
  543. +  
  544. +   /**
  545. +    * ID: 1676<br>
  546. +    * Message: You do not have a servitor or pet and therefore cannot use the automatic-use function.
  547. +    */
  548. +   NO_SERVITOR_CANNOT_AUTOMATE_USE(1676),
  549. +  
  550. +  
  551.     /**
  552.      * ID: 2013<br>
  553.      * Message: Your seed or remaining purchase amount is inadequate.
  554. Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2NpcInstance.java
  555. ===================================================================
  556. --- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2NpcInstance.java   (revision 904)
  557. +++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2NpcInstance.java   (working copy)
  558. @@ -2385,6 +2385,10 @@
  559.      */
  560.     public void showChatWindow(L2PcInstance player, int val)
  561.     {
  562. +       // Like L2OFF if char is dead, is sitting or is in fakedeath can't speak with npcs
  563. +       if(player.isSitting() || player.isDead() || player.isFakeDeath())
  564. +           return;
  565. +      
  566.         if(player.getKarma() > 0)
  567.         {
  568.             if(!Config.ALT_GAME_KARMA_PLAYER_CAN_SHOP && this instanceof L2MerchantInstance)
Add Comment
Please, Sign In to add comment