diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index 4d60f425..7717b4bd 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -232,10 +232,12 @@ public class CharacterService implements INetworkDispatch { if (constitution >= 1) core.skillModService.addSkillMod(object, "constitution", (int) constitution); if (stamina >= 1) core.skillModService.addSkillMod(object, "stamina", (int) stamina); if (agility >= 1) core.skillModService.addSkillMod(object, "agility", (int) agility); + object.createTransaction(core.getCreatureODB().getEnvironment()); PlayerObject player = (PlayerObject) core.objectService.createObject("object/player/shared_player.iff", object.getPlanet()); object._add(player); + core.skillService.addSkill(object, "species_" + object.getStfName()); player.setProfession(clientCreateCharacter.getProfession()); player.setProfessionWheelPosition(clientCreateCharacter.getProfessionWheelPosition()); if(clientCreateCharacter.getHairObject().length() > 0) { diff --git a/src/services/EntertainmentService.java b/src/services/EntertainmentService.java index 8d253fde..ee88e386 100644 --- a/src/services/EntertainmentService.java +++ b/src/services/EntertainmentService.java @@ -258,9 +258,6 @@ public class EntertainmentService implements INetworkDispatch { } public boolean canDance(CreatureObject actor, Performance dance) { - for (String x : actor.getAbilities() ) { - System.out.println(x); - } if (actor.hasAbility(dance.getRequiredDance())) { return true; } diff --git a/src/services/SkillService.java b/src/services/SkillService.java index a6cd92c4..e4f970e3 100644 --- a/src/services/SkillService.java +++ b/src/services/SkillService.java @@ -87,6 +87,8 @@ public class SkillService implements INetworkDispatch { String[] schematicsGranted = ((String) skillTable.getObject(s, 23)).split(","); String[] schematicsRevoked = ((String) skillTable.getObject(s, 24)).split(","); + boolean speciesSkill = skill.matches("^species.+$"); + if (isTitle == true) { core.playerService.addPlayerTitle(player, skill); Console.println("Gave skill title: " + skill); @@ -95,8 +97,9 @@ public class SkillService implements INetworkDispatch { if (isProfession) { return; } - - if (godOnly || isHidden) { + + //exempt species skills from being returned -- they're marked godOnly but really meant to be granted + if ((!speciesSkill) && ( godOnly || isHidden)) { return; }