forked from MagicBane/Server
ABS char skill system
This commit is contained in:
@@ -378,7 +378,7 @@ public class CharacterSkill extends AbstractGameObject {
|
||||
|
||||
if (pc == null)
|
||||
return 0;
|
||||
if (pc.getRace() == null || pc.getBaseClass() == null) {
|
||||
if (pc.race == null || pc.baseClass == null) {
|
||||
Logger.error("Race or BaseClass not found for player " + pc.getObjectUUID());
|
||||
return 0;
|
||||
}
|
||||
@@ -388,12 +388,12 @@ public class CharacterSkill extends AbstractGameObject {
|
||||
int available = 0;
|
||||
|
||||
//get racial bonus;
|
||||
if (pc.getRace().getRaceType().equals(Enum.RaceType.HUMANMALE) ||
|
||||
pc.getRace().getRaceType().equals(Enum.RaceType.HUMANFEMALE))
|
||||
if (pc.race.getRaceType().equals(Enum.RaceType.HUMANMALE) ||
|
||||
pc.race.getRaceType().equals(Enum.RaceType.HUMANFEMALE))
|
||||
raceBonus = 1; //Human racial bonus;
|
||||
|
||||
//get base class trains
|
||||
if (pc.getBaseClass().getObjectUUID() == 2500 || pc.getBaseClass().getObjectUUID() == 2502) {
|
||||
if (pc.baseClass.getObjectUUID() == 2500 || pc.baseClass.getObjectUUID() == 2502) {
|
||||
baseMod = 4; //Fighter or Rogue
|
||||
} else {
|
||||
baseMod = 5; //Healer or Mage
|
||||
@@ -480,24 +480,26 @@ public class CharacterSkill extends AbstractGameObject {
|
||||
* This iterates through players runes and adds and removes skills as needed
|
||||
* Don't Call this directly. Instead call pc.calculateSkills().
|
||||
*/
|
||||
public static void calculateSkills(PlayerCharacter pc) {
|
||||
if (pc == null)
|
||||
public static void calculateSkills(AbstractCharacter absChar) {
|
||||
if (absChar == null && absChar.getObjectType().equals(Enum.GameObjectType.PlayerCharacter) == false)
|
||||
return;
|
||||
|
||||
PlayerCharacter pc = (PlayerCharacter)absChar;
|
||||
|
||||
ConcurrentHashMap<String, CharacterSkill> skills = pc.getSkills();
|
||||
|
||||
//First add skills that don't exist
|
||||
Race race = pc.getRace();
|
||||
Race race = pc.race;
|
||||
if (race != null) {
|
||||
CharacterSkill.grantSkills(race.getSkillsGranted(), pc);
|
||||
} else
|
||||
Logger.error("Failed to find Race for player " + pc.getObjectUUID());
|
||||
BaseClass bc = pc.getBaseClass();
|
||||
BaseClass bc = pc.baseClass;
|
||||
if (bc != null) {
|
||||
CharacterSkill.grantSkills(bc.getSkillsGranted(), pc);
|
||||
} else
|
||||
Logger.error("Failed to find BaseClass for player " + pc.getObjectUUID());
|
||||
PromotionClass promo = pc.getPromotionClass();
|
||||
PromotionClass promo = pc.promotionClass;
|
||||
if (promo != null)
|
||||
CharacterSkill.grantSkills(promo.getSkillsGranted(), pc);
|
||||
ArrayList<CharacterRune> runes = pc.getRunes();
|
||||
|
||||
Reference in New Issue
Block a user