7.1.6 system compatibility
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
"description": "Functions to print actor sheet",
|
||||
"version": "${MODULE_VERSION}",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"minimum": "11",
|
||||
"verified": "11.315",
|
||||
"maximum": "11"
|
||||
},
|
||||
@@ -20,7 +20,8 @@
|
||||
"id": "wfrp4e",
|
||||
"type": "system",
|
||||
"compatibility": {
|
||||
"verified": "6.5.9"
|
||||
"minimum": "7.1.6",
|
||||
"verified": "7.1.6"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
3242
package-lock.json
generated
3242
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
42
src/main.ts
42
src/main.ts
@@ -98,10 +98,16 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.skill
|
||||
actor._itemTypes.skill
|
||||
.map((item) => {
|
||||
const key = item.characteristic.key
|
||||
const i18nKey = key.length > 1 ? key.charAt(0).toUpperCase() + key.substring(1) : key.toUpperCase()
|
||||
let i18nResult = i18nLocalize('CHARAbbrev.' + i18nKey)
|
||||
if (i18nResult.includes('CHARAbbrev')) {
|
||||
i18nResult = i18nLocalize('CHARAbbrev.' + i18nKey.toUpperCase())
|
||||
}
|
||||
return {
|
||||
label: `${item.name} (${i18nLocalize(item.characteristic.abrev)})`,
|
||||
label: `${item.name} (${i18nResult})`,
|
||||
value: item.system.total.value,
|
||||
};
|
||||
})
|
||||
@@ -113,7 +119,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
|
||||
const talentsByName: { [name: string]: { count: number; test: string } } = {};
|
||||
|
||||
actor.itemCategories.talent.forEach((item) => {
|
||||
actor._itemTypes.talent.forEach((item) => {
|
||||
const name = item.name;
|
||||
if (talentsByName[name] == null) {
|
||||
talentsByName[name] = { count: 1, test: item.system.tests.value };
|
||||
@@ -142,7 +148,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.trait
|
||||
actor._itemTypes.trait
|
||||
.map((item) => {
|
||||
return item.name;
|
||||
})
|
||||
@@ -158,7 +164,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
.filter((w) => w.isMelee)
|
||||
.map((item) => {
|
||||
return `${item.name} : ${item.WeaponGroup}, ${item.Reach}, ${
|
||||
item.system.damage.meleeValue
|
||||
item.system.damage.value
|
||||
} (${item.mountDamage}), ${item.OriginalQualities.concat(
|
||||
item.OriginalFlaws
|
||||
).join(', ')}`;
|
||||
@@ -177,7 +183,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
.map((item) => {
|
||||
return `${item.name} : ${item.WeaponGroup}, ${
|
||||
item.system.range.value
|
||||
} (${item.Range}), ${item.system.damage.rangedValue} (${
|
||||
} (${item.Range}), ${item.system.damage.value} (${
|
||||
item.Damage
|
||||
}), ${item.OriginalQualities.concat(item.OriginalFlaws).join(', ')}`;
|
||||
})
|
||||
@@ -208,7 +214,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
const armourLocation: string[] = [];
|
||||
const armourLabels: { [key: string]: string[] } = {};
|
||||
for (const armour of Util.getActorItems(actor, 'armour')) {
|
||||
const maxAp = armour.system.maxAP;
|
||||
const maxAp = armour.system.AP;
|
||||
for (const key of Object.keys(maxAp)) {
|
||||
if (maxAp[key] > 0) {
|
||||
if (!armourLocation.includes(key)) {
|
||||
@@ -243,7 +249,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.spell
|
||||
actor._itemTypes.spell
|
||||
.filter((s) => s.lore.value === 'petty')
|
||||
.map((s) => {
|
||||
return `${s.name} : ${s.cn.value}, ${s.Range}, ${s.Target}, ${s.Duration}`;
|
||||
@@ -256,7 +262,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.spell
|
||||
actor._itemTypes.spell
|
||||
.filter((s) => s.lore.value !== 'petty')
|
||||
.map((s) => {
|
||||
return `${s.name} : ${s.cn.value}, ${s.Range}, ${s.Target}, ${s.Duration}, ${s.ingredientList.length}`;
|
||||
@@ -269,7 +275,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.prayer
|
||||
actor._itemTypes.prayer
|
||||
.filter((s) => s.prayerType.value === 'blessing')
|
||||
.map((s) => {
|
||||
return `${s.name} : ${s.Range}, ${s.Target}, ${s.Duration}`;
|
||||
@@ -282,7 +288,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.prayer
|
||||
actor._itemTypes.prayer
|
||||
.filter((s) => s.prayerType.value !== 'blessing')
|
||||
.map((s) => {
|
||||
return `${s.name} : ${s.Range}, ${s.Target}, ${s.Duration}`;
|
||||
@@ -327,7 +333,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
.map((t) => {
|
||||
const location = t.location.value;
|
||||
let prefix = '';
|
||||
if (location != null && location !== 0) {
|
||||
if (location != null && location !== 0 && location !== '') {
|
||||
prefix = `${actor.getEmbeddedDocument('Item', location).name} : `;
|
||||
}
|
||||
const qteLabel = t.quantity.value > 1 ? `${t.quantity.value} ` : '';
|
||||
@@ -342,7 +348,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.critical.map((i) => {
|
||||
actor._itemTypes.critical.map((i) => {
|
||||
return i.name;
|
||||
}),
|
||||
3
|
||||
@@ -352,7 +358,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.disease.map((i) => {
|
||||
actor._itemTypes.disease.map((i) => {
|
||||
return i.name;
|
||||
}),
|
||||
3
|
||||
@@ -362,7 +368,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.injury.map((i) => {
|
||||
actor._itemTypes.injury.map((i) => {
|
||||
return i.name;
|
||||
}),
|
||||
3
|
||||
@@ -372,7 +378,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.mutation
|
||||
actor._itemTypes.mutation
|
||||
.filter((i) => i.mutationType.value === 'physical')
|
||||
.map((i) => {
|
||||
return i.name;
|
||||
@@ -384,7 +390,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.mutation
|
||||
actor._itemTypes.mutation
|
||||
.filter((i) => i.mutationType.value === 'mental')
|
||||
.map((i) => {
|
||||
return i.name;
|
||||
@@ -396,7 +402,7 @@ async function generate(actor: Actor & any, docBuilder: AbstractBuilder) {
|
||||
docBuilder.getGenerateType(),
|
||||
0,
|
||||
0,
|
||||
actor.itemCategories.psychology.map((i) => {
|
||||
actor._itemTypes.psychology.map((i) => {
|
||||
return i.name;
|
||||
}),
|
||||
3
|
||||
|
||||
@@ -17,12 +17,12 @@ export class Util {
|
||||
}
|
||||
|
||||
public static getActorItems(actor: Actor & any, key: string): (Item & any)[] {
|
||||
if (actor.itemCategories[key] == null) {
|
||||
if (actor._itemTypes[key] == null) {
|
||||
return [];
|
||||
}
|
||||
return actor.itemCategories[key].filter((it) => {
|
||||
return actor._itemTypes[key].filter((it) => {
|
||||
const location = it.location.value;
|
||||
if (location != null && location !== 0) {
|
||||
if (location != null && location !== 0 && location !== '') {
|
||||
return actor.getEmbeddedDocument('Item', location) != null;
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user