Change subclass references to archetype references

converting DND subclass to SW archetype
This commit is contained in:
supervj 2020-11-25 14:09:47 -05:00
parent 3fae34cc43
commit e6a0cc8066
8 changed files with 33 additions and 33 deletions

View file

@ -770,7 +770,7 @@
"SW5E.SpeciesDescription": "Description", "SW5E.SpeciesDescription": "Description",
"SW5E.SpeciesTraits": "Species Traits", "SW5E.SpeciesTraits": "Species Traits",
"SW5E.StealthDisadvantage": "Stealth Disadvantage", "SW5E.StealthDisadvantage": "Stealth Disadvantage",
"SW5E.SubclassName": "Subclass Name", "SW5E.ArchetypeName": "Archetype Name",
"SW5E.Supply": "Supply", "SW5E.Supply": "Supply",
"SW5E.Target": "Target", "SW5E.Target": "Target",
"SW5E.TargetAlly": "Ally", "SW5E.TargetAlly": "Ally",

View file

@ -142,14 +142,14 @@ export default class Actor5e extends Actor {
/** /**
* Return the features which a character is awarded for each class level * Return the features which a character is awarded for each class level
* @param {string} className The class name being added * @param {string} className The class name being added
* @param {string} subclassName The subclass of the class being added, if any * @param {string} archetypeName The archetype of the class being added, if any
* @param {number} level The number of levels in the added class * @param {number} level The number of levels in the added class
* @param {number} priorLevel The previous level of the added class * @param {number} priorLevel The previous level of the added class
* @return {Promise<Item5e[]>} Array of Item5e entities * @return {Promise<Item5e[]>} Array of Item5e entities
*/ */
static async getClassFeatures({className="", subclassName="", level=1, priorLevel=0}={}) { static async getClassFeatures({className="", archetypeName="", level=1, priorLevel=0}={}) {
className = className.toLowerCase(); className = className.toLowerCase();
subclassName = subclassName.slugify(); archetypeName = archetypeName.slugify();
// Get the configuration of features which may be added // Get the configuration of features which may be added
const clsConfig = CONFIG.SW5E.classFeatures[className]; const clsConfig = CONFIG.SW5E.classFeatures[className];
@ -162,8 +162,8 @@ export default class Actor5e extends Actor {
if ( (l <= level) && (l > priorLevel) ) ids = ids.concat(f); if ( (l <= level) && (l > priorLevel) ) ids = ids.concat(f);
} }
// Acquire subclass features // Acquire archetype features
const subConfig = clsConfig.subclasses[subclassName] || {}; const subConfig = clsConfig.archetypees[archetypeName] || {};
for ( let [l, f] of Object.entries(subConfig.features || {}) ) { for ( let [l, f] of Object.entries(subConfig.features || {}) ) {
l = parseInt(l); l = parseInt(l);
if ( (l <= level) && (l > priorLevel) ) ids = ids.concat(f); if ( (l <= level) && (l > priorLevel) ) ids = ids.concat(f);
@ -207,7 +207,7 @@ export default class Actor5e extends Actor {
const updateData = expandObject(u); const updateData = expandObject(u);
const config = { const config = {
className: updateData.name || item.data.name, className: updateData.name || item.data.name,
subclassName: updateData.data.subclass || item.data.data.subclass, archetypeName: updateData.data.archetype || item.data.data.archetype,
level: getProperty(updateData, "data.levels"), level: getProperty(updateData, "data.levels"),
priorLevel: item ? item.data.data.levels : 0 priorLevel: item ? item.data.data.levels : 0
} }
@ -215,7 +215,7 @@ export default class Actor5e extends Actor {
// Get and create features for an increased class level // Get and create features for an increased class level
let changed = false; let changed = false;
if ( config.level && (config.level > config.priorLevel)) changed = true; if ( config.level && (config.level > config.priorLevel)) changed = true;
if ( config.subclassName !== item.data.data.subclass ) changed = true; if ( config.archetypeName !== item.data.data.archetype ) changed = true;
// Get features to create // Get features to create
if ( changed ) { if ( changed ) {

View file

@ -285,7 +285,7 @@ export default class ActorSheet5eCharacter extends ActorSheet5e {
if ( !hasClass || addLevel ) { if ( !hasClass || addLevel ) {
const features = await Actor5e.getClassFeatures({ const features = await Actor5e.getClassFeatures({
className: itemData.name, className: itemData.name,
subclassName: itemData.data.subclass, archetypeName: itemData.data.archetype,
level: itemData.levels, level: itemData.levels,
priorLevel: priorLevel priorLevel: priorLevel
}); });

File diff suppressed because one or more lines are too long

View file

@ -591,7 +591,7 @@
"templates": ["classDescription"], "templates": ["classDescription"],
"className": "", "className": "",
"levels": 1, "levels": 1,
"subclass": "", "archetype": "",
"hitDice": "d6", "hitDice": "d6",
"hitDiceUsed": 0, "hitDiceUsed": 0,
"skills": { "skills": {

View file

@ -58,7 +58,7 @@
{{else if section.isClass}} {{else if section.isClass}}
<div class="item-detail player-class"> <div class="item-detail player-class">
{{item.data.subclass}} {{item.data.archetype}}
</div> </div>
<div class="item-detail player-class-levels"> <div class="item-detail player-class-levels">
Level {{item.data.levels}} Level {{item.data.levels}}

View file

@ -96,7 +96,7 @@
{{else if section.isClass}} {{else if section.isClass}}
<div class="item-detail player-class"> <div class="item-detail player-class">
{{item.data.subclass}} {{item.data.archetype}}
</div> </div>
<div class="item-detail item-action"> <div class="item-detail item-action">
Level {{item.data.levels}} Level {{item.data.levels}}

View file

@ -53,11 +53,11 @@
</div> </div>
</div> </div>
{{!-- Subclass Name --}} {{!-- Archetype Name --}}
<div class="form-group"> <div class="form-group">
<label>{{ localize "SW5E.SubclassName" }}</label> <label>{{ localize "SW5E.ArchetypeName" }}</label>
<div class="form-fields"> <div class="form-fields">
<input type="text" name="data.subclass" value="{{data.subclass}}"/> <input type="text" name="data.archetype" value="{{data.archetype}}"/>
</div> </div>
</div> </div>