Skip to content

Commit 93330f3

Browse files
committed
code cleanup, skill added using new actor.reset method
1 parent bbd284a commit 93330f3

File tree

5 files changed

+25
-48
lines changed

5 files changed

+25
-48
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@
1111
- v1.0.8: Fixed regression with tidy 5e sheet.
1212
- v1.1.0: First FVTT v10 release.
1313
- v1.1.1: Changed inner skill structure to reflect dnd5e system latest update + bugfix
14+
- v1.1.2: Using new core actor.reset() to apply skills. Code cleanup.

dnd5e-custom-skills.js

+7-43
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Handlebars.registerHelper("inObject", (object, value) => {
1414
* ▄▀▀░█▒█░▄▀▀░▀█▀░▄▀▄░█▄▒▄█░░░▄▀▀░█▄▀░█░█▒░░█▒░░▄▀▀░░▒▄▀▄▒█▀▄▒█▀▄░█▒░░█░▄▀▀▒▄▀▄░▀█▀░█░▄▀▄░█▄░█░░░▄▀▀▒██▀░▀█▀░▀█▀░█░█▄░█░▄▀▒░▄▀▀░░▒█▀░▄▀▄▒█▀▄░█▄▒▄█
1515
░* ▀▄▄░▀▄█▒▄██░▒█▒░▀▄▀░█▒▀▒█▒░▒▄██░█▒█░█▒█▄▄▒█▄▄▒▄██▒░░█▀█░█▀▒░█▀▒▒█▄▄░█░▀▄▄░█▀█░▒█▒░█░▀▄▀░█▒▀█▒░▒▄██░█▄▄░▒█▒░▒█▒░█░█▒▀█░▀▄█▒▄██▒░░█▀░▀▄▀░█▀▄░█▒▀▒█
1616
*/
17+
1718
class CustomSkillsForm extends FormApplication {
1819

1920
static get defaultOptions() {
@@ -31,7 +32,6 @@ class CustomSkillsForm extends FormApplication {
3132
{ abilities: CONFIG.DND5E.abilities, skills: CONFIG.DND5E.skills },
3233
this.reset ? mergeObject(CustomSkills.defaultSettings, {requireSave:true}) : mergeObject(CustomSkills.settings, {requireSave:false}));
3334
this.reset = false;
34-
// console.log('getData', data);
3535
return data;
3636
}
3737

@@ -76,43 +76,26 @@ class CustomSkillsForm extends FormApplication {
7676
} else {
7777
newAbilities = mergeObject(oldSettings.customAbilitiesList, Form.customAbilitiesList, { insertKeys: true, insertValues: true, overwrite:true });
7878
};
79-
79+
// modify system variables
80+
CustomSkills.applyToSystem();
81+
8082
await this.update(newSkills, newAbilities);
8183

8284
return this.render();
8385
}
8486

8587
async update(newSkills, newAbilities) {
86-
const keys_sk = Object.keys(newSkills);
87-
const keys_ab = Object.keys(newAbilities);
88-
89-
const total = keys_sk.length + keys_ab.length;
90-
91-
let message = game.i18n.localize(MODULE_NAME + '.processingSkills');;
92-
let percent = 0;
93-
let count = 0;
94-
95-
// finally add skills and abilities to actors
88+
// add skills and abilities to actors
9689
for (let s in newSkills) {
9790
if(newSkills[s].applied)
9891
CustomSkills.addSkillToActors(s);
99-
count++;
100-
percent = Math.round((count / total) * 100);
101-
SceneNavigation.displayProgressBar({label: message, pct: percent });
10292
}
10393

104-
message = game.i18n.localize(MODULE_NAME + '.processingAbilities');
10594
for (let a in newAbilities) {
10695
if(newAbilities[a].applied == true)
10796
CustomSkills.addAbilityToActor(a);
108-
count++;
109-
percent = Math.round((count / total) * 100);
110-
SceneNavigation.displayProgressBar({label: message, pct: percent });
11197
}
11298

113-
// modify system variables
114-
CustomSkills.applyToSystem();
115-
11699
// clean leftovers on players actors
117100
await CustomSkills.cleanActors();
118101
ui.notifications.info(game.i18n.localize(MODULE_NAME + '.updateDone'));
@@ -289,19 +272,7 @@ class CustomSkills {
289272
}
290273

291274
static getBaseSkill() {
292-
return {
293-
value: 0,
294-
ability: "str",
295-
bonuses: {
296-
check: '',
297-
passive: '',
298-
},
299-
mod: 0,
300-
passive: 0,
301-
total: 0,
302-
label: "",
303-
applied: 0
304-
};
275+
return foundry.utils.deepClone(game.system.template.Actor.templates.creature.skills.acr);
305276
}
306277

307278
static debug(string) {
@@ -527,10 +498,7 @@ class CustomSkills {
527498
if (total > 0) {
528499
keys.forEach((key, index) => {
529500
let Actor = charactersToAddSkill[key];
530-
let updatedData = {
531-
[`system.skills.${skillCode}`]: skillToAdd
532-
};
533-
Actor.update(updatedData);
501+
Actor.reset();
534502
})
535503
}
536504
}
@@ -546,7 +514,6 @@ class CustomSkills {
546514
}
547515

548516
let characters = this.getPlayerActors();
549-
//console.log('CHARACTErS:',characters);
550517
let charactersToAddAbility = characters.filter(s => s.system.abilities.hasOwnProperty(abilityCode) == false);
551518
const keys = Object.keys(charactersToAddAbility);
552519

@@ -586,7 +553,6 @@ class CustomSkills {
586553
}
587554

588555
function addLabels(app, html, data) {
589-
//console.log(data);
590556
// new classes for ui and css purposes
591557
html.find(".skills-list").addClass("custom-skills");
592558
html.find(".ability-scores").addClass("custom-abilities");
@@ -596,8 +562,6 @@ function addLabels(app, html, data) {
596562
const hiddenAbilities = CustomSkills.getHiddenAbilities();
597563
const skillRowSelector = ".skills-list .skill";
598564

599-
//console.log(skillList);
600-
601565
html.find(skillRowSelector).each(function() {
602566
const skillElem = $(this);
603567
const skillKey = $(this).attr("data-skill");

lang/en.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
"dnd5e-custom-skills.hideAbilities": "Hide Abilities",
1616
"dnd5e-custom-skills.save": "Apply changes to world",
1717
"dnd5e-custom-skills.reset": "Reset",
18-
"dnd5e-custom-skills.afterReset": "Please click 'Apply changes to world' after reset."
19-
18+
"dnd5e-custom-skills.afterReset": "Please click 'Apply changes to world' after reset.",
19+
"dnd5e-custom-skills.updateDone": "Update Completed."
2020
}

lang/it.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"dnd5e-custom-skills.hideAbilities": "Nascondi Caratteristiche",
1616
"dnd5e-custom-skills.save": "Applica modifiche al Mondo",
1717
"dnd5e-custom-skills.reset": "Reset",
18-
"dnd5e-custom-skills.afterReset": "Dopo il 'Reset' clicca di nuovo su 'Applica modifiche al mondo'."
18+
"dnd5e-custom-skills.afterReset": "Dopo il 'Reset' clicca di nuovo su 'Applica modifiche al mondo'.",
19+
"dnd5e-custom-skills.updateDone": "Aggiornamento completato."
1920

2021
}

module.json

+13-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,21 @@
22
"id": "dnd5e-custom-skills",
33
"title": "5e - Custom Abilities & Skills",
44
"description": "FoundryVTT module for adding new character skills and abilities",
5-
"version": "1.1.1",
5+
"version": "1.1.2",
66
"compatibility": {
77
"minimum": "10",
8-
"maximum": "10"
8+
"maximum": "10",
9+
"verified": "10.285"
10+
},
11+
"relationships": {
12+
"systems": [{
13+
"id": "dnd5e",
14+
"type": "system",
15+
"manifest": "https://raw.githubusercontent.com/foundryvtt/dnd5e/master/system.json",
16+
"compatibility": {
17+
"verified": "2.0.3"
18+
}
19+
}]
920
},
1021
"url": "https://github.com/misthero/dnd5e-custom-skills",
1122
"manifest": "https://raw.githubusercontent.com/misthero/dnd5e-custom-skills/main/module.json",

0 commit comments

Comments
 (0)