forked from GitHub-Mirrors/foundry-sw5e
Change subclass references to archetype references
converting DND subclass to SW archetype
This commit is contained in:
parent
3fae34cc43
commit
e6a0cc8066
8 changed files with 33 additions and 33 deletions
|
@ -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",
|
||||||
|
|
|
@ -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 ) {
|
||||||
|
|
|
@ -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
|
@ -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": {
|
||||||
|
|
|
@ -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}}
|
||||||
|
|
|
@ -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}}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue