forked from GitHub-Mirrors/foundry-sw5e
Merge branch 'Develop' into professorbunbury-sw5e
This commit is contained in:
commit
b383a5a382
10 changed files with 658 additions and 1473 deletions
|
@ -81,7 +81,7 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Partition items by category
|
// Partition items by category
|
||||||
let [items, powers, feats, classes, species, archetypes, classfeatures, backgrounds, lightsaberforms] = data.items.reduce((arr, item) => {
|
let [items, powers, feats, classes, species, archetypes, classfeatures, backgrounds, lightsaberforms, fightingstyles] = data.items.reduce((arr, item) => {
|
||||||
|
|
||||||
// Item details
|
// Item details
|
||||||
item.img = item.img || DEFAULT_TOKEN;
|
item.img = item.img || DEFAULT_TOKEN;
|
||||||
|
@ -100,14 +100,15 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
||||||
if ( item.type === "power" ) arr[1].push(item);
|
if ( item.type === "power" ) arr[1].push(item);
|
||||||
else if ( item.type === "feat" ) arr[2].push(item);
|
else if ( item.type === "feat" ) arr[2].push(item);
|
||||||
else if ( item.type === "class" ) arr[3].push(item);
|
else if ( item.type === "class" ) arr[3].push(item);
|
||||||
else if ( item.type === "species" ) arr[4].push(item);
|
else if ( item.type === "species" ) arr[4].push(item);
|
||||||
else if ( item.type === "archetype" ) arr[5].push(item);
|
else if ( item.type === "archetype" ) arr[5].push(item);
|
||||||
else if ( item.type === "classfeature" ) arr[6].push(item);
|
else if ( item.type === "classfeature" ) arr[6].push(item);
|
||||||
else if ( item.type === "background" ) arr[7].push(item);
|
else if ( item.type === "background" ) arr[7].push(item);
|
||||||
else if ( item.type === "lightsaberform" ) arr[8].push(item);
|
else if ( item.type === "lightsaberform" ) arr[8].push(item);
|
||||||
|
else if (item.type === "fightingstyle") arr[9].push(item);
|
||||||
else if ( Object.keys(inventory).includes(item.type ) ) arr[0].push(item);
|
else if ( Object.keys(inventory).includes(item.type ) ) arr[0].push(item);
|
||||||
return arr;
|
return arr;
|
||||||
}, [[], [], [], [], [], [], [], [], []]);
|
}, [[], [], [], [], [], [], [], [], [], []]);
|
||||||
|
|
||||||
// Apply active item filters
|
// Apply active item filters
|
||||||
items = this._filterItems(items, this._filters.inventory);
|
items = this._filterItems(items, this._filters.inventory);
|
||||||
|
@ -131,11 +132,13 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
||||||
// Organize Features
|
// Organize Features
|
||||||
const features = {
|
const features = {
|
||||||
classes: { label: "SW5E.ItemTypeClassPl", items: [], hasActions: false, dataset: {type: "class"}, isClass: true },
|
classes: { label: "SW5E.ItemTypeClassPl", items: [], hasActions: false, dataset: {type: "class"}, isClass: true },
|
||||||
|
|
||||||
classfeatures: { label: "SW5E.ItemTypeClassFeats", items: [], hasActions: true, dataset: {type: "classfeature"}, isClassfeature: true },
|
classfeatures: { label: "SW5E.ItemTypeClassFeats", items: [], hasActions: true, dataset: {type: "classfeature"}, isClassfeature: true },
|
||||||
archetype: { label: "SW5E.ItemTypeArchetype", items: [], hasActions: false, dataset: {type: "archetype"}, isArchetype: true },
|
archetype: { label: "SW5E.ItemTypeArchetype", items: [], hasActions: false, dataset: {type: "archetype"}, isArchetype: true },
|
||||||
species: { label: "SW5E.ItemTypeSpecies", items: [], hasActions: false, dataset: {type: "species"}, isSpecies: true },
|
species: { label: "SW5E.ItemTypeSpecies", items: [], hasActions: false, dataset: {type: "species"}, isSpecies: true },
|
||||||
background: { label: "SW5E.ItemTypeBackground", items: [], hasActions: false, dataset: {type: "background"}, isBackground: true },
|
background: { label: "SW5E.ItemTypeBackground", items: [], hasActions: false, dataset: {type: "background"}, isBackground: true },
|
||||||
lightsaberform: { label: "SW5E.ItemTypeLightsaberForm", items: [], hasActions: false, dataset: {type: "lightsaberform"}, isLightsaberform: true },
|
lightsaberform: { label: "SW5E.ItemTypeLightsaberForm", items: [], hasActions: false, dataset: {type: "lightsaberform"}, isLightsaberform: true },
|
||||||
|
|
||||||
active: { label: "SW5E.FeatureActive", items: [], hasActions: true, dataset: {type: "feat", "activation.type": "action"} },
|
active: { label: "SW5E.FeatureActive", items: [], hasActions: true, dataset: {type: "feat", "activation.type": "action"} },
|
||||||
passive: { label: "SW5E.FeaturePassive", items: [], hasActions: false, dataset: {type: "feat"} }
|
passive: { label: "SW5E.FeaturePassive", items: [], hasActions: false, dataset: {type: "feat"} }
|
||||||
};
|
};
|
||||||
|
@ -145,11 +148,12 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
||||||
}
|
}
|
||||||
classes.sort((a, b) => b.levels - a.levels);
|
classes.sort((a, b) => b.levels - a.levels);
|
||||||
features.classes.items = classes;
|
features.classes.items = classes;
|
||||||
features.classfeatures.items = classfeatures;
|
features.classfeatures.items = classfeatures;
|
||||||
features.archetype.items = archetypes;
|
features.archetype.items = archetypes;
|
||||||
features.species.items = species;
|
features.species.items = species;
|
||||||
features.background.items = backgrounds;
|
features.background.items = backgrounds;
|
||||||
features.lightsaberform.items = lightsaberforms;
|
features.lightsaberform.items = lightsaberforms;
|
||||||
|
features.fightingstyles.items = fightingstyles;
|
||||||
|
|
||||||
// Assign and return
|
// Assign and return
|
||||||
data.inventory = Object.values(inventory);
|
data.inventory = Object.values(inventory);
|
||||||
|
|
|
@ -135,3 +135,4 @@ export default class ActorSheet5eNPCNew extends ActorSheet5e {
|
||||||
this.actor.update({"data.attributes.hp.value": hp, "data.attributes.hp.max": hp});
|
this.actor.update({"data.attributes.hp.value": hp, "data.attributes.hp.max": hp});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,36 +1,4 @@
|
||||||
export const ClassFeatures = {
|
export const ClassFeatures = {
|
||||||
/* TO BE FIXED
|
|
||||||
/* "berserker": {
|
|
||||||
"archetypes": {
|
|
||||||
"addicted-approach": {
|
|
||||||
"label": "Addicted Approach",
|
|
||||||
"source": "PHB",
|
|
||||||
"features": {
|
|
||||||
"3": ["Compendium.sw5e.archetypes.PCwepUZqHYlxr4T3", "Compendium.sw5e.classfeatures.efOA0nrvUqKJOOeP", "Compendium.sw5e.classfeatures.nT6AfpQXSZ4IeChO"],
|
|
||||||
"6": ["Compendium.sw5e.classfeatures.GbJDWzoTKWL7sEpR"],
|
|
||||||
"10": ["Compendium.sw5e.classfeatures.3jqPPd5qJBBnonPw"],
|
|
||||||
"14": ["Compendium.sw5e.classfeatures.xzRNHB2M2HdOZzr7"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"features": {
|
|
||||||
"1": ["Compendium.sw5e.classfeatures.IDt6duVrBzL8euRc", "Compendium.sw5e.classfeatures.rPOLy96fW96N2UPg"],
|
|
||||||
"2": ["Compendium.sw5e.classfeatures.DlYiCiG39R0goG9u", "Compendium.sw5e.classfeatures.FbSpxpXm1xONn0na", "Compendium.sw5e.classfeatures.KDiQ8O2evV2Z1YTo", "Compendium.sw5e.classfeatures.Q1JyHnVs9iIEBs91", "Compendium.sw5e.classfeatures.ROdICoWR82v6A2Rf", "Compendium.sw5e.classfeatures.cdCx5Hvq2rYRMzRj", "Compendium.sw5e.classfeatures.dTdbL8dypa6BAdnP", "Compendium.sw5e.classfeatures.h1uDhP1tEOuvjRw6", "Compendium.sw5e.classfeatures.hMiA075EKBBOL2cv", "Compendium.sw5e.classfeatures.sgJdISZMtwv08WPJ", "Compendium.sw5e.classfeatures.v4CZJ8LBMl5PYZCO"],
|
|
||||||
"3": ["Compendium.sw5e.classfeatures.kzwSN9SabKgWZZvU"],
|
|
||||||
"4": ["Compendium.sw5e.classfeatures.9oyy0MMqEws2qoil"],
|
|
||||||
"5": ["Compendium.sw5e.classfeatures.dPWmHiWmpnhHTsgd"],
|
|
||||||
"7": ["Compendium.sw5e.classfeatures.Cid5ujSdnooH0vMm", "Compendium.sw5e.classfeatures.WTBhKJgkArQI3Tgv", "Compendium.sw5e.classfeatures.oiT3TJxzRWPKAX9E", "Compendium.sw5e.classfeatures.pMEmIt3NWThbee8k", "Compendium.sw5e.classfeatures.qWV5YogZcpZ3Y3xj"],
|
|
||||||
"9": ["Compendium.sw5e.classfeatures.bi8G8H5Ur9B3BAyM"],
|
|
||||||
"11": ["Compendium.sw5e.classfeatures.eWbTifdXJvvXT4CV"],
|
|
||||||
"13": ["Compendium.sw5e.classfeatures.Hg8zYh1iXL0DGUVq", "Compendium.sw5e.classfeatures.QRnYiJmRk18ekE9v", "Compendium.sw5e.classfeatures.sfEr8ZBFVddlfLeF", "Compendium.sw5e.classfeatures.yGC9VzT840qQWxca"],
|
|
||||||
"15": ["Compendium.sw5e.classfeatures.YHPUv9lN3nCapAgP"],
|
|
||||||
"18": ["Compendium.sw5e.classfeatures.fFKNqUAWh0ZOhvRc"],
|
|
||||||
"20": ["Compendium.sw5e.classfeatures.IWTDawTUf79eWbEV"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"consular": {
|
|
||||||
"features": {
|
|
||||||
"20": ["Compendium.sw5e.classfeatures.gSGeitc98ItAwhfF"]
|
|
||||||
}
|
|
||||||
} */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
packs/Icons/Simple Blasters/Wristblaster.webp
Normal file
BIN
packs/Icons/Simple Blasters/Wristblaster.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.7 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -183,7 +183,7 @@ body.dark-theme .notification-pip {
|
||||||
color: #0d99cc;
|
color: #0d99cc;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.chat-card .card-header h3,
|
body.dark-theme .sw5e.chat-card .card-header h3,
|
||||||
body.dark-tehem .midi-qol-item-card .card-header h3 {
|
body.dark-theme .midi-qol-item-card .card-header h3 {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.chat-card .card-header h3:hover,
|
body.dark-theme .sw5e.chat-card .card-header h3:hover,
|
||||||
|
@ -199,7 +199,7 @@ body.dark-theme .midi-qol-item-card .card-footer {
|
||||||
border-top: 1px solid #7ed6f7;
|
border-top: 1px solid #7ed6f7;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.chat-card .card-footer span,
|
body.dark-theme .sw5e.chat-card .card-footer span,
|
||||||
ody.dark-theme .midi-qol-item-card .card-footer span {
|
body.dark-theme .midi-qol-item-card .card-footer span {
|
||||||
border-right: 1px solid #D6D6D6;
|
border-right: 1px solid #D6D6D6;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.chat-card .card-footer span:last-child,
|
body.dark-theme .sw5e.chat-card .card-footer span:last-child,
|
||||||
|
|
9
sw5e.js
9
sw5e.js
|
@ -26,6 +26,7 @@ import ActorSheet5eCharacter from "./module/actor/sheets/oldSheets/character.js"
|
||||||
import ActorSheet5eNPC from "./module/actor/sheets/oldSheets/npc.js";
|
import ActorSheet5eNPC from "./module/actor/sheets/oldSheets/npc.js";
|
||||||
import ActorSheet5eVehicle from "./module/actor/sheets/oldSheets/vehicle.js";
|
import ActorSheet5eVehicle from "./module/actor/sheets/oldSheets/vehicle.js";
|
||||||
import ActorSheet5eCharacterNew from "./module/actor/sheets/newSheet/character.js";
|
import ActorSheet5eCharacterNew from "./module/actor/sheets/newSheet/character.js";
|
||||||
|
import ActorSheet5eNPCNew from "./module/actor/sheets/newSheet/npc.js";
|
||||||
import ItemSheet5e from "./module/item/sheet.js";
|
import ItemSheet5e from "./module/item/sheet.js";
|
||||||
import ShortRestDialog from "./module/apps/short-rest.js";
|
import ShortRestDialog from "./module/apps/short-rest.js";
|
||||||
import TraitSelector from "./module/apps/trait-selector.js";
|
import TraitSelector from "./module/apps/trait-selector.js";
|
||||||
|
@ -52,6 +53,7 @@ Hooks.once("init", function() {
|
||||||
ActorSheet5eCharacter,
|
ActorSheet5eCharacter,
|
||||||
ActorSheet5eCharacterNew,
|
ActorSheet5eCharacterNew,
|
||||||
ActorSheet5eNPC,
|
ActorSheet5eNPC,
|
||||||
|
ActorSheet5eNPCNew,
|
||||||
ActorSheet5eVehicle,
|
ActorSheet5eVehicle,
|
||||||
ItemSheet5e,
|
ItemSheet5e,
|
||||||
ShortRestDialog,
|
ShortRestDialog,
|
||||||
|
@ -101,11 +103,16 @@ Hooks.once("init", function() {
|
||||||
makeDefault: false,
|
makeDefault: false,
|
||||||
label: "SW5E.SheetClassCharacterOld"
|
label: "SW5E.SheetClassCharacterOld"
|
||||||
});
|
});
|
||||||
Actors.registerSheet("sw5e", ActorSheet5eNPC, {
|
Actors.registerSheet("sw5e", ActorSheet5eNPCNew, {
|
||||||
types: ["npc"],
|
types: ["npc"],
|
||||||
makeDefault: true,
|
makeDefault: true,
|
||||||
label: "SW5E.SheetClassNPC"
|
label: "SW5E.SheetClassNPC"
|
||||||
});
|
});
|
||||||
|
Actors.registerSheet("sw5e", ActorSheet5eNPC, {
|
||||||
|
types: ["npc"],
|
||||||
|
makeDefault: false,
|
||||||
|
label: "SW5E.SheetClassNPCOld"
|
||||||
|
});
|
||||||
Actors.registerSheet('sw5e', ActorSheet5eVehicle, {
|
Actors.registerSheet('sw5e', ActorSheet5eVehicle, {
|
||||||
types: ['vehicle'],
|
types: ['vehicle'],
|
||||||
makeDefault: true,
|
makeDefault: true,
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{ localize "SW5E.ArchetypeName" }}</label>
|
<label>{{ localize "SW5E.ArchetypeName" }}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input type="text" name="data.archetype" 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