private void updateTemplateType(Element element, GenericCharacterTemplate characterTemplate) throws PersistenceException { ITemplateType templateType = new TemplateTypeParser().parse(element); characterTemplate.setTemplateType(templateType); boolean isLegacy = ElementUtilities.getBooleanAttribute(element, TAG_LEGACY, false); characterTemplate.setLegacy(isLegacy); ICasteCollection casteCollection = casteCollectionRegistry.get(templateType.getCharacterType()); if (casteCollection != null) characterTemplate.setCasteCollection(casteCollection); }
@Override public IComboRestrictions buildComboRules(Element rulesElement) throws CharmException { Element comboElement = rulesElement.element(TAG_COMBO); if (comboElement == null) { return new ComboRestrictions(); } Boolean allAbilities = ElementUtilities.getBooleanAttribute(comboElement, ATTRIB_ALL_ABILITIES, false); String selectAbilities = comboElement.attributeValue(ATTRIB_SELECT_ABILITIES, ""); ComboRestrictions comboRules = new ComboRestrictions(allAbilities, selectAbilities); Element restrictionElement = comboElement.element(TAG_RESTRICTIONS); if (restrictionElement != null) { buildRestrictionList(comboRules, restrictionElement); } return comboRules; }
public GenericRestrictedTraitTemplate[] parseCasteMinimumTraits( Element element, List<AllocationMinimumRestriction> list) { GenericRestrictedTraitTemplate[] templates; List<GenericRestrictedTraitTemplate> limits = new ArrayList<>(); try { caste = element.attributeValue(ATTRIB_CASTE); isFreebie = ElementUtilities.getBooleanAttribute(element, TAG_FREEBIE, false); parseSpecialTraitTemplates(limits, element); parseAllocationMinimumTraitTemplates(limits, element, list); parseAlternateMinimumTraitTemplates(limits, element); templates = new GenericRestrictedTraitTemplate[limits.size()]; limits.toArray(templates); } catch (PersistenceException e) { return new GenericRestrictedTraitTemplate[0]; } return templates; }