ソースを参照

Regive Siege skills when changing active class - tnx House

nBd 17 年 前
コミット
2d2e072505

+ 2 - 5
L2_GameServer/java/net/sf/l2j/gameserver/model/L2ClanMember.java

@@ -18,7 +18,6 @@ import java.sql.PreparedStatement;
 import java.sql.SQLException;
 
 import net.sf.l2j.L2DatabaseFactory;
-import net.sf.l2j.gameserver.instancemanager.SiegeManager;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 
 /**
@@ -116,10 +115,8 @@ public class L2ClanMember
 		    _raceOrdinal = _player.getRace().ordinal();
 		}
 
-		if (player != null) {
-	        if (_clan.getLevel() > 3 && player.isClanLeader())
-	        	SiegeManager.getInstance().addSiegeSkills(player);
-
+		if (player != null)
+		{
 			if (_clan.getReputationScore() >= 0)
 			{
 				L2Skill[] skills = _clan.getAllSkills();

+ 13 - 6
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java

@@ -2227,15 +2227,22 @@ public final class L2PcInstance extends L2PlayableInstance
 		if (isHero())
 			setHero(true);
 
-		// Add clan skills
-		if (getClan() != null && getClan().getReputationScore() >= 0)
+		// Add clan skills 
+		if (getClan() != null)
 		{
-			L2Skill[] skills = getClan().getAllSkills();
-			for (L2Skill sk : skills)
+			L2Clan clan = getClan();
+			if (clan.getReputationScore() >= 0)
 			{
-				if(sk.getMinPledgeClass() <= getPledgeClass())
-					addSkill(sk, false);
+				L2Skill[] skills = getClan().getAllSkills();
+				for (L2Skill sk : skills)
+				{
+					if(sk.getMinPledgeClass() <= getPledgeClass())
+						addSkill(sk, false);
+				}
 			}
+			if (clan.getLevel() >= SiegeManager.getInstance().getSiegeClanMinLevel() &&
+					isClanLeader())
+				SiegeManager.getInstance().addSiegeSkills(this);
 		}
 		
 		// Reload passive skills from armors / jewels / weapons