diff --git a/src/services/PlayerService.java b/src/services/PlayerService.java index fc2de27c..be544185 100644 --- a/src/services/PlayerService.java +++ b/src/services/PlayerService.java @@ -719,7 +719,7 @@ public class PlayerService implements INetworkDispatch { return; } - if (profession == null || !Professions.isProfession(profession)) { + if (profession == null || !Professions.isProfession(profession) || player.getProfession().equals(profession)) { return; } diff --git a/src/services/SkillService.java b/src/services/SkillService.java index 0d77a24a..453dfbbe 100644 --- a/src/services/SkillService.java +++ b/src/services/SkillService.java @@ -323,25 +323,8 @@ public class SkillService implements INetworkDispatch { SetProfessionTemplate profTemplate = new SetProfessionTemplate(); profTemplate.deserialize(buffer); - String profession = profTemplate.getProfession(); - Client client = core.getClient(session); - if(client == null) { - System.out.println("NULL Client"); - return; - } - - if(client.getParent() == null) - return; - - CreatureObject creature = (CreatureObject) client.getParent(); - PlayerObject player = (PlayerObject) creature.getSlottedObject("ghost"); - - //System.out.println(profession); - if(player == null || player.getProfession().equals(profession) || profession == null) - return; - - core.playerService.respec(creature, profession); + core.playerService.respec((CreatureObject) core.objectService.getObject(profTemplate.getCharacterId()), profTemplate.getProfession()); });