From 4a039e769b623b25b961c50df95cb8c9fe8b3ffe Mon Sep 17 00:00:00 2001 From: Thaum Rystra Date: Tue, 19 May 2020 00:15:05 +0200 Subject: [PATCH] Added viewers, tree node viewers and fixed forms for new damage schema --- app/imports/api/properties/Adjustments.js | 2 +- app/imports/api/properties/Damages.js | 2 +- app/imports/constants/PROPERTIES.js | 2 +- .../ui/components/computation/Computed.vue | 3 + .../ui/properties/forms/AdjustmentForm.vue | 8 +-- .../ui/properties/forms/DamageForm.vue | 7 +-- .../treeNodeViews/AdjustmentTreeNode.vue | 31 ++++++++++ .../treeNodeViews/DamageTreeNode.vue | 31 ++++++++++ .../treeNodeViews/EffectTreeNode.vue | 62 +++++++++++++++++++ .../treeNodeViews/treeNodeViewIndex.js | 7 +++ .../properties/viewers/AdjustmentViewer.vue | 24 +++++++ .../ui/properties/viewers/DamageViewer.vue | 24 +++++++ .../viewers/shared/propertyViewerIndex.js | 4 ++ 13 files changed, 196 insertions(+), 11 deletions(-) create mode 100644 app/imports/ui/properties/treeNodeViews/AdjustmentTreeNode.vue create mode 100644 app/imports/ui/properties/treeNodeViews/DamageTreeNode.vue create mode 100644 app/imports/ui/properties/treeNodeViews/EffectTreeNode.vue create mode 100644 app/imports/ui/properties/viewers/AdjustmentViewer.vue create mode 100644 app/imports/ui/properties/viewers/DamageViewer.vue diff --git a/app/imports/api/properties/Adjustments.js b/app/imports/api/properties/Adjustments.js index 72d99ab1..8e6b316a 100644 --- a/app/imports/api/properties/Adjustments.js +++ b/app/imports/api/properties/Adjustments.js @@ -2,7 +2,7 @@ import SimpleSchema from 'simpl-schema'; const AdjustmentSchema = new SimpleSchema({ // The roll that determines how much to change the attribute - adjustment: { + amount: { type: String, optional: true, defaultValue: '1', diff --git a/app/imports/api/properties/Damages.js b/app/imports/api/properties/Damages.js index 4aaa2fcb..e5a2e5ee 100644 --- a/app/imports/api/properties/Damages.js +++ b/app/imports/api/properties/Damages.js @@ -3,7 +3,7 @@ import DAMAGE_TYPES from '/imports/constants/DAMAGE_TYPES.js'; const DamageSchema = new SimpleSchema({ // The roll that determines how much to damage the attribute - damage: { + amount: { type: String, optional: true, defaultValue: '1d8 + strength.modifier', diff --git a/app/imports/constants/PROPERTIES.js b/app/imports/constants/PROPERTIES.js index a5adb990..510538df 100644 --- a/app/imports/constants/PROPERTIES.js +++ b/app/imports/constants/PROPERTIES.js @@ -5,7 +5,7 @@ const PROPERTIES = Object.freeze({ }, adjustment: { icon: 'warning', - name: 'Adjustment' + name: 'Attribute damage' }, attack: { icon: 'bolt', diff --git a/app/imports/ui/components/computation/Computed.vue b/app/imports/ui/components/computation/Computed.vue index 5cafdaae..81c94303 100644 --- a/app/imports/ui/components/computation/Computed.vue +++ b/app/imports/ui/components/computation/Computed.vue @@ -79,6 +79,9 @@ export default { diff --git a/app/imports/ui/properties/viewers/DamageViewer.vue b/app/imports/ui/properties/viewers/DamageViewer.vue new file mode 100644 index 00000000..acea0d99 --- /dev/null +++ b/app/imports/ui/properties/viewers/DamageViewer.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/app/imports/ui/properties/viewers/shared/propertyViewerIndex.js b/app/imports/ui/properties/viewers/shared/propertyViewerIndex.js index e318a639..5c3d562d 100644 --- a/app/imports/ui/properties/viewers/shared/propertyViewerIndex.js +++ b/app/imports/ui/properties/viewers/shared/propertyViewerIndex.js @@ -1,9 +1,11 @@ import ActionViewer from '/imports/ui/properties/viewers/ActionViewer.vue'; +import AdjustmentViewer from '/imports/ui/properties/viewers/AdjustmentViewer.vue'; import AttackViewer from '/imports/ui/properties/viewers/AttackViewer.vue'; import AttributeViewer from '/imports/ui/properties/viewers/AttributeViewer.vue'; import BuffViewer from '/imports/ui/properties/viewers/BuffViewer.vue'; import ContainerViewer from '/imports/ui/properties/viewers/ContainerViewer.vue'; import ClassLevelViewer from '/imports/ui/properties/viewers/ClassLevelViewer.vue'; +import DamageViewer from '/imports/ui/properties/viewers/DamageViewer.vue'; import DamageMultiplierViewer from '/imports/ui/properties/viewers/DamageMultiplierViewer.vue'; import EffectViewer from '/imports/ui/properties/viewers/EffectViewer.vue'; import ExperienceViewer from '/imports/ui/properties/viewers/ExperienceViewer.vue'; @@ -19,11 +21,13 @@ import SpellViewer from '/imports/ui/properties/viewers/SpellViewer.vue'; export default { action: ActionViewer, + adjustment: AdjustmentViewer, attack: AttackViewer, attribute: AttributeViewer, buff: BuffViewer, container: ContainerViewer, classLevel: ClassLevelViewer, + damage: DamageViewer, damageMultiplier: DamageMultiplierViewer, experience: ExperienceViewer, effect: EffectViewer,