|
12 | 12 | import com.wurmonline.server.behaviours.ActionEntry; |
13 | 13 | import com.wurmonline.server.behaviours.Actions; |
14 | 14 | import com.wurmonline.server.behaviours.Behaviour; |
| 15 | +import com.wurmonline.server.creatures.Creature; |
| 16 | +import com.wurmonline.server.skills.NoSuchSkillException; |
| 17 | +import com.wurmonline.server.skills.Skill; |
15 | 18 |
|
16 | 19 | import javassist.CannotCompileException; |
17 | 20 | import javassist.ClassPool; |
@@ -129,7 +132,7 @@ public void edit(FieldAccess f) throws CannotCompileException { |
129 | 132 | code.append(" com.wurmonline.server.creatures.Creature creature = comm.getPlayer();\n"); |
130 | 133 | code.append(" com.wurmonline.server.behaviours.Behaviour behaviour = com.wurmonline.server.behaviours.Action.getBehaviour(target, creature.isOnSurface());\n"); |
131 | 134 | code.append(" org.gotti.wurmunlimited.modsupport.actions.BehaviourProvider behaviourProvider = org.gotti.wurmunlimited.modsupport.actions.ModActions.getBehaviourProvider(behaviour);\n"); |
132 | | - code.append(" com.wurmonline.server.skills.Skill skill = creature.getSkills().getSkill(skillid);\n"); |
| 135 | + code.append(" com.wurmonline.server.skills.Skill skill = org.gotti.wurmunlimited.modsupport.actions.ModActions.getSkillOrNull(creature, skillid);\n"); |
133 | 136 | code.append(" if (skill != null && behaviourProvider != null) {\n"); |
134 | 137 | code.append(" $_ = behaviourProvider.getBehavioursFor(creature, skill);\n"); |
135 | 138 | code.append(" } else {\n"); |
@@ -180,4 +183,12 @@ public static BehaviourProvider getBehaviourProvider(Behaviour behaviour) { |
180 | 183 |
|
181 | 184 | return new ChainedBehaviourProvider(new WrappedBehaviourProvider(behaviour), behaviourProviders); |
182 | 185 | } |
| 186 | + |
| 187 | + public static Skill getSkillOrNull(Creature creature, int skillId) { |
| 188 | + try { |
| 189 | + return creature.getSkills().getSkill(skillId); |
| 190 | + } catch (NoSuchSkillException e) { |
| 191 | + return null; |
| 192 | + } |
| 193 | + } |
183 | 194 | } |
0 commit comments