restores drag and drop functionality for items onto character sheet
Pull Request Check / testing (pull_request) Successful in 21s
Details
Pull Request Check / testing (pull_request) Successful in 21s
Details
parent
ad28cf48f3
commit
321ba7d3d6
|
|
@ -1,12 +1,12 @@
|
|||
import {Equipment} from "../documents/equipment.mjs";
|
||||
|
||||
const {
|
||||
SchemaField,
|
||||
NumberField,
|
||||
StringField,
|
||||
HTMLField,
|
||||
EmbeddedDocumentField,
|
||||
DocumentIdField,
|
||||
ArrayField,
|
||||
ForeignDocumentField
|
||||
} = foundry.data.fields;
|
||||
|
||||
export class PlayerCharacterDataModel extends foundry.abstract.TypeDataModel {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import BaseItem from "./base-item.mjs";
|
||||
import {Equipment} from "../documents/equipment.mjs";
|
||||
|
||||
const {
|
||||
ArrayField, NumberField, StringField, HTMLField
|
||||
ArrayField, EmbeddedCollectionField, SchemaField, NumberField, StringField, HTMLField
|
||||
} = foundry.data.fields;
|
||||
|
||||
export class EquipmentDataModel extends BaseItem {
|
||||
|
|
@ -34,9 +35,23 @@ export class EquipmentDataModel extends BaseItem {
|
|||
rangedAttackDamage: new StringField(),
|
||||
rangedReloadTime: new NumberField({required: false}),
|
||||
|
||||
armorValue: new NumberField({required: false}),
|
||||
armorValue: new SchemaField({
|
||||
total: new NumberField({required: true, initial: 0}),
|
||||
arme: new NumberField({required: true, initial: 0}),
|
||||
beine: new NumberField({required: true, initial: 0}),
|
||||
rücken: new NumberField({required: true, initial: 0}),
|
||||
bauch: new NumberField({required: true, initial: 0}),
|
||||
brust: new NumberField({required: true, initial: 0}),
|
||||
kopf: new NumberField({required: true, initial: 0}),
|
||||
}, {required: false}),
|
||||
armorHandicap: new NumberField({required: false}),
|
||||
|
||||
ammunition: new SchemaField({
|
||||
max: new NumberField({required: true, initial: 1}),
|
||||
count: new NumberField({required: true, initial: 1}),
|
||||
}, {required: false}),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,8 +35,16 @@ export default {
|
|||
|
||||
return context
|
||||
},
|
||||
_onRender: (context, options) => {
|
||||
|
||||
_onRender: (context, options, thisObject) => {
|
||||
new foundry.applications.ux.DragDrop.implementation({
|
||||
dropSelector: ".advantages, .special-abilities",
|
||||
permissions: {
|
||||
drop: thisObject._canDragDrop.bind(thisObject)
|
||||
},
|
||||
callbacks: {
|
||||
drop: thisObject._onDrop.bind(thisObject),
|
||||
}
|
||||
}).bind(thisObject.element);
|
||||
},
|
||||
_getTabConfig: (group) => {
|
||||
group.tabs.push({id: "advsf", group: "sheet", label: "Vorteile"})
|
||||
|
|
|
|||
|
|
@ -137,7 +137,8 @@ export default {
|
|||
},
|
||||
callbacks: {
|
||||
dragstart: thisObject._onDragStart.bind(thisObject),
|
||||
drop: thisObject._onDrop.bind(thisObject)
|
||||
drop: thisObject._onDrop.bind(thisObject),
|
||||
dragover: thisObject._onDragOver.bind(thisObject)
|
||||
}
|
||||
}).bind(thisObject.element);
|
||||
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) {
|
|||
_onRender(context, options) {
|
||||
Meta._onRender(context, options, this.element)
|
||||
Social._onRender(context, options, this.element)
|
||||
Advsf._onRender(context, options, this.element)
|
||||
Advsf._onRender(context, options, this)
|
||||
Combat._onRender(context, options, this.element)
|
||||
Effects._onRender(context, options, this.element)
|
||||
Equipment._onRender(context, options, this)
|
||||
|
|
@ -378,6 +378,11 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) {
|
|||
Spells._onRender(context, options, this.element)
|
||||
}
|
||||
|
||||
async _canDragDrop() {
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
// TODO needs to be fixed once Character Sheet is migrated to ActorSheetV2
|
||||
async _onDrop(event) {
|
||||
const data = TextEditor.implementation.getDragEventData(event);
|
||||
|
|
@ -389,12 +394,15 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) {
|
|||
const documentClass = foundry.utils.getDocumentClass(data.type);
|
||||
if (documentClass) {
|
||||
const document = await documentClass.fromDropData(data);
|
||||
await this._onDropDocument(event, document);
|
||||
|
||||
if (document.type === "Equipment" || document.type === "Advantage" || document.type === "Spell" || document.type === "Liturgy" || document.type === "ActiveEffect" || document.type === "SpecialAbility") {
|
||||
// No duplication by moving items from one actor to another
|
||||
if (document.parent) {
|
||||
if (document.parent && document.parent !== this.actor) {
|
||||
document.parent.items.get(document._id).delete()
|
||||
}
|
||||
|
||||
await this._onDropDocument(event, document);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,12 +56,16 @@ export class EquipmentSheet extends HandlebarsApplicationMixin(DocumentSheetV2)
|
|||
ranged: {
|
||||
template: `systems/DSA_4-1/templates/item/equipment/tab-ranged.hbs`
|
||||
},
|
||||
container: {
|
||||
template: `systems/DSA_4-1/templates/item/equipment/tab-container.hbs`
|
||||
ammunition: {
|
||||
template: `systems/DSA_4-1/templates/item/equipment/tab-ammunition.hbs`
|
||||
},
|
||||
armor: {
|
||||
template: `systems/DSA_4-1/templates/item/equipment/tab-armor.hbs`
|
||||
}
|
||||
},
|
||||
settings: {
|
||||
template: `systems/DSA_4-1/templates/item/equipment/tab-settings.hbs`
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -84,6 +88,17 @@ export class EquipmentSheet extends HandlebarsApplicationMixin(DocumentSheetV2)
|
|||
}
|
||||
})
|
||||
|
||||
// manage categories into array
|
||||
normalisedFormData['system.category'] = []
|
||||
if (normalisedFormData.isMelee) normalisedFormData['system.category'].push("Nahkampfwaffe")
|
||||
delete normalisedFormData.isMelee
|
||||
if (normalisedFormData.isRanged) normalisedFormData['system.category'].push("Fernkampfwaffe")
|
||||
delete normalisedFormData.isRanged
|
||||
if (normalisedFormData.isAmmunition) normalisedFormData['system.category'].push("Munition")
|
||||
delete normalisedFormData.isAmmunition
|
||||
if (normalisedFormData.isArmor) normalisedFormData['system.category'].push("Rüstung")
|
||||
delete normalisedFormData.isArmor
|
||||
|
||||
await this.document.update(normalisedFormData) // Note: formData.object
|
||||
}
|
||||
|
||||
|
|
@ -98,12 +113,12 @@ export class EquipmentSheet extends HandlebarsApplicationMixin(DocumentSheetV2)
|
|||
case 'ranged':
|
||||
this.#prepareRangedContext(context)
|
||||
break;
|
||||
case 'container':
|
||||
this.#prepareContainerContext(context)
|
||||
break;
|
||||
case 'armor':
|
||||
this.#prepareArmorContext(context)
|
||||
break;
|
||||
case 'settings':
|
||||
this.#prepareSettingsContext(context)
|
||||
break;
|
||||
}
|
||||
context.tab = context.tabs[partId]
|
||||
return context
|
||||
|
|
@ -123,7 +138,6 @@ export class EquipmentSheet extends HandlebarsApplicationMixin(DocumentSheetV2)
|
|||
Nahkampfwaffe: "Nahkampfwaffe",
|
||||
Fernkampfwaffe: "Fernkampfwaffe",
|
||||
Behälter: "Behälter",
|
||||
Rüstung: "Rüstung",
|
||||
},
|
||||
entries: equipmentData.category,
|
||||
targetField: "category"
|
||||
|
|
@ -171,7 +185,7 @@ export class EquipmentSheet extends HandlebarsApplicationMixin(DocumentSheetV2)
|
|||
}
|
||||
}
|
||||
|
||||
#prepareContainerContext(context) {
|
||||
#prepareAmmunitionContext(context) {
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -179,44 +193,49 @@ export class EquipmentSheet extends HandlebarsApplicationMixin(DocumentSheetV2)
|
|||
|
||||
}
|
||||
|
||||
#prepareSettingsContext(context) {
|
||||
context.isMelee = this.document.system.category.includes("Nahkampfwaffe")
|
||||
context.isRanged = this.document.system.category.includes("Fernkampfwaffe")
|
||||
context.isAmmunition = this.document.system.category.includes("Munition")
|
||||
context.isArmor = this.document.system.category.includes("Rüstung")
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds Tabs based on the items nature
|
||||
*
|
||||
* @param {String} tabGroup
|
||||
* @param {String} group
|
||||
* @private
|
||||
*/
|
||||
_prepareTabs(tabGroup) {
|
||||
_getTabsConfig(group) {
|
||||
|
||||
const currentTabs = super._prepareTabs(tabGroup)
|
||||
const tabs = foundry.utils.deepClone(super._getTabsConfig(group))
|
||||
|
||||
const category = this.document.system.category
|
||||
/**
|
||||
*
|
||||
* @type {[{ApplicationTab}]}
|
||||
*/
|
||||
let tabs = currentTabs
|
||||
|
||||
if (category.includes("Nahkampfwaffe")) {
|
||||
tabs.melee = {
|
||||
id: 'melee', group: tabGroup, label: 'Nahkampfwaffe'
|
||||
}
|
||||
tabs.tabs.push({
|
||||
id: 'melee', group: group, label: 'Nahkampfwaffe'
|
||||
})
|
||||
}
|
||||
if (category.includes("Fernkampfwaffe")) {
|
||||
tabs.ranged = {
|
||||
id: 'ranged', group: tabGroup, label: 'Fernkampfwaffe'
|
||||
}
|
||||
}
|
||||
if (category.includes("Behälter")) {
|
||||
tabs.container = {
|
||||
id: 'container', group: tabGroup, label: 'Behälter'
|
||||
}
|
||||
tabs.tabs.push({
|
||||
id: 'ranged', group: group, label: 'Fernkampfwaffe'
|
||||
})
|
||||
}
|
||||
if (category.includes("Rüstung")) {
|
||||
tabs.armor = {
|
||||
id: 'armor', group: tabGroup, label: 'Rüstung'
|
||||
}
|
||||
tabs.tabs.push({
|
||||
id: 'armor', group: group, label: 'Rüstung'
|
||||
})
|
||||
}
|
||||
|
||||
tabs.tabs.push({
|
||||
id: 'settings', group: group, label: 'Einstellungen'
|
||||
})
|
||||
|
||||
return tabs
|
||||
}
|
||||
|
||||
|
|
@ -226,6 +245,8 @@ export class EquipmentSheet extends HandlebarsApplicationMixin(DocumentSheetV2)
|
|||
const context = await super._prepareContext(options)
|
||||
context.price = context.document.system.price
|
||||
context.weight = context.document.system.weight
|
||||
context.inventoryItems = []
|
||||
context.containerVolume = context.document.system.containerVolume
|
||||
|
||||
return context
|
||||
}
|
||||
|
|
@ -238,14 +259,38 @@ export class EquipmentSheet extends HandlebarsApplicationMixin(DocumentSheetV2)
|
|||
* @protected
|
||||
*/
|
||||
_onRender(context, options) {
|
||||
this.element.querySelector('.array-editor select').addEventListener('change', (evt) => {
|
||||
const addingValue = evt.currentTarget.value
|
||||
const fieldToTarget = evt.currentTarget.dataset.targetField
|
||||
const newSkills = [...this.document.system[fieldToTarget], addingValue]
|
||||
|
||||
this.document.update({system: {[fieldToTarget]: newSkills}})
|
||||
evt.currentTarget.value = ""
|
||||
})
|
||||
new foundry.applications.ux.DragDrop.implementation({
|
||||
dropSelector: ".inventory-table",
|
||||
permissions: {
|
||||
drop: this._canDragDrop.bind(this)
|
||||
},
|
||||
callbacks: {
|
||||
drop: this._onDrop.bind(this)
|
||||
}
|
||||
}).bind(this.element);
|
||||
}
|
||||
|
||||
_canDragDrop(event) {
|
||||
console.log(event)
|
||||
return true
|
||||
}
|
||||
|
||||
async _onDrop(event) {
|
||||
const data = TextEditor.implementation.getDragEventData(event);
|
||||
|
||||
// Dropped Documents
|
||||
const documentClass = foundry.utils.getDocumentClass(data.type);
|
||||
if (documentClass) {
|
||||
|
||||
const document = await documentClass.fromDropData(data)
|
||||
|
||||
console.log(document, document.parent)
|
||||
|
||||
// Dropped Documents
|
||||
|
||||
document.update({"parent": this.document})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Balläster)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow3.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0.125,
|
||||
"price": 0.6,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 1,
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Eisenwalder)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow3.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0,
|
||||
"price": 1.5,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 10,
|
||||
"count": 10
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Elfenbogen)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow2.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0.075,
|
||||
"price": 0.4,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 1,
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Kompositbogen)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow1.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0.05,
|
||||
"price": 0.25,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 1,
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Kriegsbogen)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow1.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0.1,
|
||||
"price": 0.6,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 1,
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Kurzbogen)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow1.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0.05,
|
||||
"price": 0.25,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 1,
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Langbogen)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow1.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0.075,
|
||||
"price": 0.4,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 1,
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Leichte Armbrust)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow3.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0.075,
|
||||
"price": 1.5,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 1,
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,14 @@
|
|||
"name": "Munition (Windenarmbrust)",
|
||||
"image": "systems/DSA_4-1/assets/arsenal/arrow3.png",
|
||||
"category": [
|
||||
"Gegenstand"
|
||||
"Gegenstand",
|
||||
"Munition"
|
||||
],
|
||||
"weight": 0.1,
|
||||
"price": 2,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 0,
|
||||
"armorHandicap": 0,
|
||||
"description": ""
|
||||
"description": "",
|
||||
"ammunition": {
|
||||
"max": 1,
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,21 +8,13 @@
|
|||
"weight": 1,
|
||||
"price": 40,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 1,
|
||||
"iniModifier": -1,
|
||||
"attackModifier": -2,
|
||||
"parryModifier": -1,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [
|
||||
"Schilde"
|
||||
],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 1,
|
||||
"armorHandicap": 1,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 3,
|
||||
"price": 0,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 1,
|
||||
"armorValue": {
|
||||
"total": 1,
|
||||
"kopf": 0,
|
||||
"brust": 1,
|
||||
"rücken": 1,
|
||||
"bauch": 1,
|
||||
"arme": 1,
|
||||
"beine": 1
|
||||
},
|
||||
"armorHandicap": 1,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 14,
|
||||
"price": 750,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 6,
|
||||
"armorValue": {
|
||||
"total": 5,
|
||||
"kopf": 0,
|
||||
"brust": 6,
|
||||
"rücken": 5,
|
||||
"bauch": 6,
|
||||
"arme": 5,
|
||||
"beine": 4
|
||||
},
|
||||
"armorHandicap": 4,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 17,
|
||||
"price": 1000,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 8,
|
||||
"armorHandicap": 5,
|
||||
"armorValue": {
|
||||
"total": 6,
|
||||
"kopf": 3,
|
||||
"brust": 7,
|
||||
"rücken": 5,
|
||||
"bauch": 7,
|
||||
"arme": 5,
|
||||
"beine": 5
|
||||
},
|
||||
"armorHandicap": 4,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 6.5,
|
||||
"price": 150,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 3,
|
||||
"armorHandicap": 3,
|
||||
"armorValue": {
|
||||
"total": 3,
|
||||
"kopf": 0,
|
||||
"brust": 4,
|
||||
"rücken": 4,
|
||||
"bauch": 4,
|
||||
"arme": 2,
|
||||
"beine": 1
|
||||
},
|
||||
"armorHandicap": 2,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 30,
|
||||
"price": 2500,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 12,
|
||||
"armorHandicap": 10,
|
||||
"armorValue": {
|
||||
"total": 8,
|
||||
"kopf": 8,
|
||||
"brust": 8,
|
||||
"rücken": 7,
|
||||
"bauch": 8,
|
||||
"arme": 7,
|
||||
"beine": 7
|
||||
},
|
||||
"armorHandicap": 8,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 4,
|
||||
"price": 60,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 3,
|
||||
"armorValue": {
|
||||
"total": 2,
|
||||
"kopf": 0,
|
||||
"brust": 3,
|
||||
"rücken": 2,
|
||||
"bauch": 2,
|
||||
"arme": 1,
|
||||
"beine": 0
|
||||
},
|
||||
"armorHandicap": 2,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 4,
|
||||
"price": 110,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 3,
|
||||
"armorHandicap": 2,
|
||||
"armorValue": {
|
||||
"total": 2,
|
||||
"kopf": 0,
|
||||
"brust": 5,
|
||||
"rücken": 1,
|
||||
"bauch": 2,
|
||||
"arme": 0,
|
||||
"beine": 0
|
||||
},
|
||||
"armorHandicap": 1,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 10,
|
||||
"price": 180,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 4,
|
||||
"armorHandicap": 4,
|
||||
"armorValue": {
|
||||
"total": 3,
|
||||
"kopf": 0,
|
||||
"brust": 4,
|
||||
"rücken": 4,
|
||||
"bauch": 4,
|
||||
"arme": 3,
|
||||
"beine": 2
|
||||
},
|
||||
"armorHandicap": 2,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 4.5,
|
||||
"price": 80,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 3,
|
||||
"armorHandicap": 3,
|
||||
"armorValue": {
|
||||
"total": 2,
|
||||
"kopf": 0,
|
||||
"brust": 3,
|
||||
"rücken": 3,
|
||||
"bauch": 3,
|
||||
"arme": 0,
|
||||
"beine": 0
|
||||
},
|
||||
"armorHandicap": 1,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 7.5,
|
||||
"price": 250,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 4,
|
||||
"armorHandicap": 3,
|
||||
"armorValue": {
|
||||
"total": 3,
|
||||
"kopf": 0,
|
||||
"brust": 5,
|
||||
"rücken": 4,
|
||||
"bauch": 5,
|
||||
"arme": 0,
|
||||
"beine": 2
|
||||
},
|
||||
"armorHandicap": 2,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 12,
|
||||
"price": 1000,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 5,
|
||||
"armorHandicap": 5,
|
||||
"armorValue": {
|
||||
"total": 4,
|
||||
"kopf": 0,
|
||||
"brust": 5,
|
||||
"rücken": 5,
|
||||
"bauch": 5,
|
||||
"arme": 3,
|
||||
"beine": 3
|
||||
},
|
||||
"armorHandicap": 4,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 10,
|
||||
"price": 1000,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 5,
|
||||
"armorHandicap": 4,
|
||||
"armorValue": {
|
||||
"total": 4,
|
||||
"kopf": 0,
|
||||
"brust": 5,
|
||||
"rücken": 5,
|
||||
"bauch": 5,
|
||||
"arme": 3,
|
||||
"beine": 2
|
||||
},
|
||||
"armorHandicap": 3,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,15 @@
|
|||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 1,
|
||||
"armorValue": {
|
||||
"total": 1.5,
|
||||
"kopf": 0,
|
||||
"brust": 1,
|
||||
"rücken": 1,
|
||||
"bauch": 1,
|
||||
"arme": 1,
|
||||
"beine": 1
|
||||
},
|
||||
"armorHandicap": 1,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,20 +7,15 @@
|
|||
],
|
||||
"weight": 3,
|
||||
"price": 40,
|
||||
"breakFactor": 0,
|
||||
"iniModifier": 0,
|
||||
"attackModifier": 0,
|
||||
"parryModifier": 0,
|
||||
"meleeAttackModifier": 0,
|
||||
"meleeAttackModifierIncrement": 0,
|
||||
"meleeSkills": [],
|
||||
"meleeAttackDamage": "",
|
||||
"rangedSkills": [],
|
||||
"rangedRangeModifier": "",
|
||||
"rangedRangeDamageModifier": "",
|
||||
"rangedAttackDamage": "",
|
||||
"rangedReloadTime": 0,
|
||||
"armorValue": 2,
|
||||
"armorValue": {
|
||||
"total": 2,
|
||||
"kopf": 0,
|
||||
"brust": 2,
|
||||
"rücken": 2,
|
||||
"bauch": 2,
|
||||
"arme": 1,
|
||||
"beine": 1
|
||||
},
|
||||
"armorHandicap": 2,
|
||||
"description": ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
.droppable {
|
||||
|
||||
.inventory-table {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.inventory-table::after {
|
||||
|
||||
content: 'Gegenstände hier fallen lassen';
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
border-radius: 8px;
|
||||
border-style: dashed;
|
||||
border-color: gray;
|
||||
line-height: 34px;
|
||||
height: 34px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
color: gray;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<section class="tab {{tabs.ammunition.id}} {{tabs.ammunition.cssClass}}"
|
||||
data-tab="{{tabs.ammunition.id}}"
|
||||
data-group="{{tabs.ammunition.group}}">
|
||||
<div>
|
||||
<div>
|
||||
<label>Kapazität (1 wenn es sich hierbei um kein Magazin handelt)
|
||||
<input type="text" name="system.ammunition.max" value="{{system.ammunition.max}}"/>
|
||||
</label>
|
||||
<label>
|
||||
Geschossanzahl
|
||||
<input type="text" name="system.ammunition.count" value="{{system.ammunition.count}}"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -3,11 +3,48 @@
|
|||
data-group="{{tabs.armor.group}}">
|
||||
<div>
|
||||
|
||||
<fieldset>
|
||||
<legend>Rüstungswerte</legend>
|
||||
|
||||
<div>
|
||||
<label>Gesamt Rüstungswert
|
||||
<input type="text" name="system.armorValue" value="{{system.armorValue}}"/>
|
||||
<input type="text" name="system.armorValue.total" value="{{system.armorValue.total}}"/>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Arme
|
||||
<input type="text" name="system.armorValue.arme" value="{{system.armorValue.arme}}"/>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>Beine
|
||||
<input type="text" name="system.armorValue.beine" value="{{system.armorValue.beine}}"/>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Bauch
|
||||
<input type="text" name="system.armorValue.bauch" value="{{system.armorValue.bauch}}"/>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>Brust
|
||||
<input type="text" name="system.armorValue.brust" value="{{system.armorValue.brust}}"/>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>Rücken
|
||||
<input type="text" name="system.armorValue.rücken" value="{{system.armorValue.rücken}}"/>
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<label>Kopf
|
||||
<input type="text" name="system.armorValue.kopf" value="{{system.armorValue.kopf}}"/>
|
||||
</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<div>
|
||||
<label>Gesamt Behinderung
|
||||
<input type="text" name="system.armorHandicap" value="{{system.armorHandicap}}"/>
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
<section class="tab {{tabs.container.id}} {{tabs.container.cssClass}}"
|
||||
data-tab="{{tabs.container.id}}"
|
||||
data-group="{{tabs.container.group}}">
|
||||
<div>
|
||||
Behälter Specs
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -14,9 +14,7 @@
|
|||
value="{{quantity}}"/>
|
||||
</label>
|
||||
</div>
|
||||
<div class="category"><label>Kategorie:
|
||||
{{> "systems/DSA_4-1/templates/ui/partial-array-editor.hbs" this.categoryAndOptions}}
|
||||
</label></div>
|
||||
{{!-- categories are now in their on tab --}}
|
||||
<div class="description">
|
||||
<label>Beschreibungstext</label>
|
||||
<prose-mirror
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
<section class="tab {{tabs.settings.id}} {{tabs.settings.cssClass}}"
|
||||
data-tab="{{tabs.settings.id}}"
|
||||
data-group="{{tabs.settings.group}}">
|
||||
<div>
|
||||
<fieldset>
|
||||
<legend>Art des Gegenstands</legend>
|
||||
<label>
|
||||
<input type="checkbox" name="isMelee" {{checked isMelee}}>
|
||||
<span>Nahkampfwaffe</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="isRanged" {{checked isRanged}}>
|
||||
<span>Fernkampfwaffe</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="isAmmunition" {{checked isAmmunition}}>
|
||||
<span>Munition</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="isArmor" {{checked isArmor}}>
|
||||
<span>Rüstzeug</span>
|
||||
</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
{{#each this}}
|
||||
<tr class="equipment" data-item-id="{{this.id}}" draggable="true" data-action="openEmbeddedDocument">
|
||||
<td class="icon"><img alt="" src="{{this.icon}}" width="16" height="16"></td>
|
||||
<td class="icon"><img alt="" src="{{this.icon}}" width="32" height="32"></td>
|
||||
<td class="name">{{this.name}}</td>
|
||||
<td class="quantity">{{this.quantity}}</td>
|
||||
<td class="weight">{{#if this.worn}}({{/if}}{{this.weight}}{{#if this.worn}}){{/if}}</td>
|
||||
|
|
|
|||
Loading…
Reference in New Issue