All pastes #795932 Raw Edit

Untitled

public text v1 · immutable
#795932 ·published 2007-11-24 16:31 UTC
rendered paste body
Index: java/net/sf/l2j/gameserver/clientpackets/RequestExEnchantSkill.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/RequestExEnchantSkill.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/clientpackets/RequestExEnchantSkill.java	(working copy)
@@ -186,6 +186,7 @@
         	{
         		_skillLvl = _baseLvl;
         		player.addSkill(SkillTable.getInstance().getInfo(_skillId, _skillLvl), true);
+        		player.sendSkillList(); 
         	}
         	SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_FAILED_TO_ENCHANT_THE_SKILL_S1);
         	sm.addSkillName(_skillId);
Index: java/net/sf/l2j/gameserver/clientpackets/RequestSkillList.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/RequestSkillList.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/clientpackets/RequestSkillList.java	(working copy)
@@ -53,22 +53,7 @@
         if (cha == null)
             return;
 
-		SkillList response = new SkillList();
-		L2Skill[] skills = cha.getAllSkills();
-		
-		for (int i = 0; i < skills.length; i++)
-		{
-			L2Skill s = skills[i];
-            
-            if (s == null) 
-                continue;
-			if (s.getId() > 9000)
-				continue; // fake skills to change base stats
-            
-			response.addSkill(s.getId(), s.getLevel(), s.isPassive());
-		}
-		
-		sendPacket(response);
+        cha.sendSkillList(); 
 	}
 
 	/* (non-Javadoc)
Index: java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java	(working copy)
@@ -37,6 +37,7 @@
 import net.sf.l2j.gameserver.network.SystemMessageId;
 import net.sf.l2j.gameserver.serverpackets.ExStorageMaxCount;
 import net.sf.l2j.gameserver.serverpackets.PledgeShowInfoUpdate;
+import net.sf.l2j.gameserver.serverpackets.PledgeSkillList;
 import net.sf.l2j.gameserver.serverpackets.ShortCutRegister;
 import net.sf.l2j.gameserver.serverpackets.StatusUpdate;
 import net.sf.l2j.gameserver.serverpackets.SystemMessage;
@@ -294,8 +295,12 @@
             player.sendPacket(sm);
             sm = null;
             
-            player.getClan().broadcastToOnlineMembers(new PledgeShowInfoUpdate(player.getClan()));
+            player.getClan().broadcastToOnlineMembers(new PledgeSkillList(player.getClan()));
             
+            for(L2PcInstance member: player.getClan().getOnlineMembers("")) 
+            {
+            	member.sendSkillList();
+            }
             ((L2VillageMasterInstance)trainer).showPledgeSkillList(player); //Maybe we shoud add a check here...
             
             return;
Index: /java/net/sf/l2j/gameserver/Olympiad.java
===================================================================
--- java/net/sf/l2j/gameserver/Olympiad.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/Olympiad.java	(working copy)
@@ -1466,6 +1466,11 @@
 					for(L2Skill skill: player.getClan().getAllSkills())
 						player.removeSkill(skill,false);
 				}
+				//Abort casting if player casting  
+				if (player.isCastingNow())
+				{
+					player.abortCast();  
+				}  
 
 				//Remove Hero Skills
 				if (player.isHero())
@@ -1545,7 +1550,7 @@
 				Map<Integer, Integer> activeSoulShots = player.getAutoSoulShot();
 				for (int itemId : activeSoulShots.values())
 					player.removeAutoSoulShot(itemId);
-
+				player.sendSkillList(); 
     		  } catch (Exception e) {}
     		}
             
@@ -1703,6 +1708,7 @@
 					for(L2Skill skill: HeroSkillTable.GetHeroSkills())
 						player.addSkill(skill,false);
 				}
+				player.sendSkillList();
     		  } catch (Exception e) {}
     		}
     	}
Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -171,6 +171,7 @@
 import net.sf.l2j.gameserver.serverpackets.SendTradeDone;
 import net.sf.l2j.gameserver.serverpackets.SetupGauge;
 import net.sf.l2j.gameserver.serverpackets.ShortCutInit;
+import net.sf.l2j.gameserver.serverpackets.SkillList;
 import net.sf.l2j.gameserver.serverpackets.Snoop;
 import net.sf.l2j.gameserver.serverpackets.SocialAction;
 import net.sf.l2j.gameserver.serverpackets.StatusUpdate;
@@ -656,6 +657,7 @@
 			_reference = reference;
 			_sendMessage = sendMessage;
 		}
+		@SuppressWarnings("synthetic-access")
 		public void run()
 		{
 			try
@@ -2120,7 +2122,7 @@
 		{
 			giveAvailableSkills();
 		}
-
+		sendSkillList(); 
 		// This function gets called on login, so not such a bad place to check weight
 		refreshOverloaded();		// Update the overloaded status of the L2PcInstance
 		refreshExpertisePenalty();  // Update the expertise status of the L2PcInstance
@@ -8116,6 +8118,8 @@
 				super.removeSkill(s); //Just Remove skills from nonHero characters
 		}
 		_hero = hero;
+		
+		sendSkillList();
 	}
 
 	public void setIsInOlympiadMode(boolean b)
@@ -8233,6 +8237,8 @@
     		for (L2Skill s : NobleSkillTable.getInstance().GetNobleSkills())
     			super.removeSkill(s); //Just Remove skills without deleting from Sql
     	_noble = val;
+    	
+    	sendSkillList();
     }
 
     public void setLvlJoinedAcademy(int lvl)
@@ -8300,6 +8306,27 @@
     {
         return (_alliedVarkaKetra > 0);
     }
+    public void sendSkillList()  
+    {  
+    	sendSkillList(this);  
+    }  
+    
+    public void sendSkillList(L2PcInstance player)  
+    {  
+    	SkillList sl = new SkillList();  
+    	if(player != null)  
+    	{  
+    		for (L2Skill s : player.getAllSkills())  
+    		{  
+    			if (s == null)   
+    				continue;  
+    			if (s.getId() > 9000)  
+    				continue; // Fake skills to change base stats  
+    			sl.addSkill(s.getId(), s.getLevel(), s.isPassive());  
+    		}  
+    	}  
+    	sendPacket(sl);  
+    }  
 
     /**
      * 1. Add the specified class ID as a subclass (up to the maximum number of <b>three</b>)
@@ -8837,6 +8864,7 @@
 		_lastRecomUpdate = update.getTimeInMillis();
 	}
 
+	
 	@Override
 	public void doRevive()
 	{
@@ -10015,7 +10043,7 @@
     public void calculateDeathPenaltyBuffLevel(L2Character killer)
     {
     	if(Rnd.get(100) <= Config.DEATH_PENALTY_CHANCE 
-    			&& !(killer instanceof L2PcInstance) 
+    			&& !(killer instanceof L2PcInstance) && !(this.isGM())
     			&& !(this.getCharmOfLuck() && (killer instanceof L2BossInstance || killer instanceof L2RaidBossInstance))) 
     		
     		increaseDeathPenaltyBuffLevel();
Index: java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java	(working copy)
@@ -229,7 +229,11 @@
         su.addAttribute(StatusUpdate.MAX_HP, getMaxHp());
         su.addAttribute(StatusUpdate.MAX_MP, getMaxMp());
         getActiveChar().sendPacket(su);
-            
+
+        // Update the overloaded status of the L2PcInstance
+        getActiveChar().refreshOverloaded();
+        // Update the expertise status of the L2PcInstance
+        getActiveChar().refreshExpertisePenalty();
         // Send a Server->Client packet UserInfo to the L2PcInstance
         getActiveChar().sendPacket(new UserInfo(getActiveChar()));
 
Index: java/net/sf/l2j/gameserver/model/L2Augmentation.java
===================================================================
--- java/net/sf/l2j/gameserver/model/L2Augmentation.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/model/L2Augmentation.java	(working copy)
@@ -181,7 +181,11 @@
 		_boni.applyBoni(player);
 	
 		// add the skill if any
-		if (_skill != null) player.addSkill(_skill);
+		if (_skill != null)
+		{
+			player.addSkill(_skill);
+			player.sendSkillList();
+		}
 	}
 	
 	/**
@@ -193,6 +197,10 @@
 		_boni.removeBoni(player);
 		
 		// remove the skill if any
-		if (_skill != null) player.removeSkill(_skill);
+		if (_skill != null)
+		{
+			player.removeSkill(_skill);
+			player.sendSkillList();
+		}
 	}
 }
Index: java/net/sf/l2j/gameserver/model/Inventory.java
===================================================================
--- java/net/sf/l2j/gameserver/model/Inventory.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/model/Inventory.java	(working copy)
@@ -233,9 +233,15 @@
 				passiveSkill = ((L2Armor)it).getSkill();
 
 			if(passiveSkill != null)
+			{
 				player.removeSkill(passiveSkill, false);
+				player.sendSkillList();
+			}
 			if(enchant4Skill != null)
+			{
 				player.removeSkill(enchant4Skill, false);
+				player.sendSkillList(); 
+			}
     	}
     	public void notifyEquiped(int slot, L2ItemInstance item)
     	{
@@ -264,9 +270,15 @@
 				passiveSkill = ((L2Armor)it).getSkill();
 
 			if(passiveSkill != null)
+			{
 	    		player.addSkill(passiveSkill, false);
+	    		player.sendSkillList(); 
+			}
 			if(enchant4Skill != null)
+			{
 				player.addSkill(enchant4Skill, false);
+				player.sendSkillList(); 
+			}
 
     	}
     }
@@ -296,7 +308,10 @@
     			{
     	    		L2Skill skill = SkillTable.getInstance().getInfo(armorSet.getSkillId(),1);
     	    		if(skill != null)
+    	    		{
     	    			player.addSkill(skill, false);
+    	    			player.sendSkillList(); 
+    	    		}
     	    		else
     	    			_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getSkillId()+".");
     	    		
@@ -304,7 +319,10 @@
     	    		{
         	    		L2Skill skills = SkillTable.getInstance().getInfo(armorSet.getShieldSkillId(),1);
         	    		if(skills != null)
+        	    		{
         	    			player.addSkill(skills, false);
+        	    			player.sendSkillList(); 
+        	    		}
         	    		else
         	    			_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getShieldSkillId()+".");
     	    		}
@@ -315,7 +333,10 @@
     	    			{
 	        	    		L2Skill skille = SkillTable.getInstance().getInfo(skillId,1);
 	        	    		if(skille != null)
+	        	    		{
 	        	    			player.addSkill(skille, false);
+	        	    			player.sendSkillList(); 
+	        	    		}
 	        	    		else
 	        	    			_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getEnchant6skillId()+".");
     	    			}
@@ -328,7 +349,10 @@
     			{
     				L2Skill skills = SkillTable.getInstance().getInfo(armorSet.getShieldSkillId(),1);
     	    		if(skills != null)
+    	    		{
     	    			player.addSkill(skills, false);
+    	    			player.sendSkillList(); 
+    	    		}
     	    		else
     	    			_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getShieldSkillId()+".");
     			}
@@ -351,6 +375,7 @@
     			removeSkillId1 = armorSet.getSkillId();
     			removeSkillId2 = armorSet.getShieldSkillId();
     			removeSkillId3 = armorSet.getEnchant6skillId();
+    			((L2PcInstance)getOwner()).sendSkillList();
     			
     		}
     		else
@@ -369,11 +394,13 @@
     				removeSkillId1 = armorSet.getSkillId();
     				removeSkillId2 = armorSet.getShieldSkillId();
     				removeSkillId3 = armorSet.getEnchant6skillId();
+    				((L2PcInstance)getOwner()).sendSkillList();
     			}
     			else if(armorSet.containShield(item.getItemId())) // removed shield
     			{
     				remove = true;
     				removeSkillId2 = armorSet.getShieldSkillId();
+    				((L2PcInstance)getOwner()).sendSkillList();
     			}
     		}
     		
@@ -383,7 +410,10 @@
     			{
         			L2Skill skill = SkillTable.getInstance().getInfo(removeSkillId1,1);
         			if(skill != null)
+        			{
         			 ((L2PcInstance)getOwner()).removeSkill(skill);
+        			 ((L2PcInstance)getOwner()).sendSkillList(); 
+        			}
         			else
         				_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+removeSkillId1+".");
     			}
@@ -391,7 +421,10 @@
     			{
         			L2Skill skill = SkillTable.getInstance().getInfo(removeSkillId2,1);
         			if(skill != null)
+        			{
         			 ((L2PcInstance)getOwner()).removeSkill(skill);
+        			 ((L2PcInstance)getOwner()).sendSkillList();
+        			}
         			else
         				_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+removeSkillId2+".");
     			}
@@ -399,7 +432,10 @@
     			{
         			L2Skill skill = SkillTable.getInstance().getInfo(removeSkillId3,1);
         			if(skill != null)
+        			{
         			 ((L2PcInstance)getOwner()).removeSkill(skill);
+        			 ((L2PcInstance)getOwner()).sendSkillList();
+        			}
         			else
         				_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+removeSkillId3+".");
     			}
Index: java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminSkill.java
===================================================================
--- java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminSkill.java	(revision 1356)
+++ java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminSkill.java	(working copy)
@@ -33,6 +33,7 @@
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.network.SystemMessageId;
 import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage;
+import net.sf.l2j.gameserver.serverpackets.PledgeSkillList;
 import net.sf.l2j.gameserver.serverpackets.SystemMessage;
 
 /**
@@ -154,6 +155,7 @@
 					player.removeSkill(skill);
 				activeChar.sendMessage("You removed all skills from " + player.getName());
 				player.sendMessage("Admin removed all skills from you.");
+				player.sendSkillList(); 
 			}
 		}
 		else if (command.startsWith("admin_add_clan_skill"))
@@ -212,6 +214,7 @@
 		//Notify player and admin
 		player.sendMessage("A GM gave you " + skillCounter + " skills.");
 		activeChar.sendMessage("You gave " + skillCounter + " skills to " + player.getName());
+		player.sendSkillList();
 	}
 
 	public String[] getAdminCommandList() {
@@ -329,6 +332,7 @@
 			for (int i=0;i<skills.length;i++)
 				activeChar.addSkill(skills[i], true);
 			activeChar.sendMessage("You now have all the skills of "+player.getName()+".");
+			activeChar.sendSkillList(); 
 		}
 		showMainPage(activeChar);
 	}
@@ -360,6 +364,7 @@
 			player.sendMessage("[GM]"+activeChar.getName()+" updated your skills.");
 			activeChar.sendMessage("You now have all your skills back.");
 			adminSkills=null;
+			activeChar.sendSkillList();
 		}
 		showMainPage(activeChar);
 	}
@@ -402,6 +407,7 @@
 				activeChar.sendMessage("You gave the skill "+name+" to "+player.getName()+".");
 				if (Config.DEBUG)
 					_log.fine("[GM]"+activeChar.getName()+" gave skill "+name+" to "+player.getName()+".");
+				activeChar.sendSkillList(); 
 			}
 			else
 				activeChar.sendMessage("Error: there is no such skill.");
@@ -430,6 +436,7 @@
 			activeChar.sendMessage("You removed the skill "+skillname+" from "+player.getName()+".");
 			if (Config.DEBUG)
 				_log.fine("[GM]"+activeChar.getName()+" removed skill "+skillname+" from "+player.getName()+".");
+			activeChar.sendSkillList(); 
 		}
 		else
 			activeChar.sendMessage("Error: there is no such skill.");
@@ -472,6 +479,13 @@
 				player.getClan().broadcastToOnlineMembers(sm);
 				player.getClan().addNewSkill(skill);
 				activeChar.sendMessage("You gave the Clan Skill: "+skillname+" to the clan "+player.getClan().getName()+".");
+				
+				activeChar.getClan().broadcastToOnlineMembers(new PledgeSkillList(activeChar.getClan()));  
+				for(L2PcInstance member: activeChar.getClan().getOnlineMembers(""))  
+				{  
+					member.sendSkillList();  
+				}  
+
 				showMainPage(activeChar);
 				return;
 			}