From 6cb8f40793aed6bcffd7747fec770b2afcadd88c Mon Sep 17 00:00:00 2001 From: Seefo Date: Sun, 11 May 2014 22:54:15 -0400 Subject: [PATCH] Small fix to last commit --- src/services/PlayerService.java | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/services/PlayerService.java b/src/services/PlayerService.java index 69d3a554..74b690ec 100644 --- a/src/services/PlayerService.java +++ b/src/services/PlayerService.java @@ -576,7 +576,27 @@ public class PlayerService implements INetworkDispatch { String xpType = ((profession.contains("entertainer")) ? "entertainer" : ((profession.contains("trader")) ? "crafting" : "combat_general")); int experience = player.getXp(xpType); - resetLevel(creature); // Clears old profession abilities + // Remove old profession abilties - resetLevel wont due because resetLevel grants basic specials for level 1 + try + { + String[] skills; + + DatatableVisitor skillTemplate = ClientFileManager.loadFile("datatables/skill_template/skill_template.iff", DatatableVisitor.class); + + for (int s = 0; s < skillTemplate.getRowCount(); s++) + { + if (skillTemplate.getObject(s, 0) != null) { + if (((String) skillTemplate.getObject(s, 0)).equals(player.getProfession())) + { + skills = ((String) skillTemplate.getObject(s, 4)).split(","); + for (String skill : skills) core.skillService.removeSkill(creature, skill); + + break; + } + } + } + } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace(); } + core.skillService.resetExpertise(creature); player.setProfession(profession);