Browse Source

BETA: Fixed passive skill effects for non player creatures.

Reported by: pandragon
Reviewed by: Zoey76, Nos
Patch by: UnAfraid
Tested by: pandragon
Nos 11 năm trước cách đây
mục cha
commit
1077f5a8df

+ 4 - 12
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -82,7 +82,6 @@ import com.l2jserver.gameserver.model.actor.tasks.character.NotifyAITask;
 import com.l2jserver.gameserver.model.actor.tasks.character.QueuedMagicUseTask;
 import com.l2jserver.gameserver.model.actor.tasks.character.UsePotionTask;
 import com.l2jserver.gameserver.model.actor.templates.L2CharTemplate;
-import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.actor.transform.Transform;
 import com.l2jserver.gameserver.model.actor.transform.TransformTemplate;
 import com.l2jserver.gameserver.model.effects.AbnormalEffect;
@@ -432,14 +431,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 			// Copy the skills of the L2NPCInstance from its template to the L2Character Instance
 			// The skills list can be affected by spell effects so it's necessary to make a copy
 			// to avoid that a spell affecting a L2NpcInstance, affects others L2NPCInstance of the same type too.
-			if (template.getSkills() != null)
+			for (L2Skill skill : template.getSkills().values())
 			{
-				_skills.putAll(template.getSkills());
-			}
-			
-			for (L2Skill skill : _skills.values())
-			{
-				addStatFuncs(skill.getStatFuncs(null, this));
+				addSkill(skill);
 			}
 		}
 		else
@@ -452,11 +446,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 				// Copy the skills of the L2Summon from its template to the L2Character Instance
 				// The skills list can be affected by spell effects so it's necessary to make a copy
 				// to avoid that a spell affecting a L2Summon, affects others L2Summon of the same type too.
-				_skills.putAll(((L2NpcTemplate) template).getSkills());
-				
-				for (L2Skill skill : _skills.values())
+				for (L2Skill skill : template.getSkills().values())
 				{
-					addStatFuncs(skill.getStatFuncs(null, this));
+					addSkill(skill);
 				}
 			}
 			

+ 2 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/templates/L2CharTemplate.java

@@ -19,6 +19,7 @@
 package com.l2jserver.gameserver.model.actor.templates;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Map;
 
 import com.l2jserver.gameserver.model.StatsSet;
@@ -614,6 +615,6 @@ public class L2CharTemplate
 	 */
 	public Map<Integer, L2Skill> getSkills()
 	{
-		return null;
+		return Collections.emptyMap();
 	}
 }