From 7a11a4aa2266e0f97a6a78d5cd982ad9f1517b82 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Mon, 18 Oct 2021 12:48:26 +0200 Subject: [PATCH] Improved action viewer, fixed bugs found along the way --- .../applyPropertyByType/applyAction.js | 17 +- app/imports/ui/components/propertyToolbar.vue | 7 +- .../CreaturePropertyDialog.vue | 36 +-- .../components/actions/ItemConsumedView.vue | 17 +- .../ui/properties/viewers/ActionViewer.vue | 214 +++++++++--------- .../ui/properties/viewers/AttributeViewer.vue | 4 +- .../ui/properties/viewers/SkillViewer.vue | 11 +- .../viewers/shared/PropertyDescription.vue | 4 +- .../viewers/shared/PropertyField.vue | 5 +- 9 files changed, 167 insertions(+), 148 deletions(-) diff --git a/app/imports/api/engine/actions/applyPropertyByType/applyAction.js b/app/imports/api/engine/actions/applyPropertyByType/applyAction.js index 3b6ac32e..776e2f15 100644 --- a/app/imports/api/engine/actions/applyPropertyByType/applyAction.js +++ b/app/imports/api/engine/actions/applyPropertyByType/applyAction.js @@ -147,20 +147,23 @@ function spendResources({prop, log, scope}){ if (!item.equipped){ throw 'The selected ammo is not equipped'; } - if (!itemConsumed.quantity) return; + if ( + !itemConsumed.quantity.value || + !isFinite(itemConsumed.quantity.value) + ) return; itemQuantityAdjustments.push({ property: item, operation: 'increment', - value: itemConsumed.quantity, + value: itemConsumed.quantity.value, }); let logName = item.name; - if (itemConsumed.quantity > 1 || itemConsumed.quantity < -1){ + if (itemConsumed.quantity.value > 1 || itemConsumed.quantity.value < -1){ logName = item.plural || logName; } - if (itemConsumed.quantity > 0){ - spendLog.push(logName + ': ' + itemConsumed.quantity); - } else if (itemConsumed.quantity < 0){ - gainLog.push(logName + ': ' + -itemConsumed.quantity); + if (itemConsumed.quantity.value > 0){ + spendLog.push(logName + ': ' + itemConsumed.quantity.value); + } else if (itemConsumed.quantity.value < 0){ + gainLog.push(logName + ': ' + -itemConsumed.quantity.value); } }); } catch (e){ diff --git a/app/imports/ui/components/propertyToolbar.vue b/app/imports/ui/components/propertyToolbar.vue index c6b474be..32282734 100644 --- a/app/imports/ui/components/propertyToolbar.vue +++ b/app/imports/ui/components/propertyToolbar.vue @@ -102,21 +102,26 @@ /> + + {{ editing ? 'Done' : 'Edit' }} + mdi-check mdi-pencil diff --git a/app/imports/ui/creature/creatureProperties/CreaturePropertyDialog.vue b/app/imports/ui/creature/creatureProperties/CreaturePropertyDialog.vue index 93692c6b..f3dfc0b4 100644 --- a/app/imports/ui/creature/creatureProperties/CreaturePropertyDialog.vue +++ b/app/imports/ui/creature/creatureProperties/CreaturePropertyDialog.vue @@ -41,18 +41,23 @@ This property can't be viewed yet.

- - - + + + +
- mdi-plus - Property + + mdi-plus + + Child Property - Done + Close
diff --git a/app/imports/ui/properties/components/actions/ItemConsumedView.vue b/app/imports/ui/properties/components/actions/ItemConsumedView.vue index 083292e6..3363c5a4 100644 --- a/app/imports/ui/properties/components/actions/ItemConsumedView.vue +++ b/app/imports/ui/properties/components/actions/ItemConsumedView.vue @@ -12,12 +12,11 @@ >