From a6ed1004bebb3c3bacecfc7082a4e7c8223e9bfe Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Fri, 21 Aug 2020 16:27:01 +0200 Subject: [PATCH] Added Resistance, Vulnerability, and Immunity to the health bar card --- .../components/attributes/HealthBarCard.vue | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/app/imports/ui/properties/components/attributes/HealthBarCard.vue b/app/imports/ui/properties/components/attributes/HealthBarCard.vue index f6531e3c..4a4de6e5 100644 --- a/app/imports/ui/properties/components/attributes/HealthBarCard.vue +++ b/app/imports/ui/properties/components/attributes/HealthBarCard.vue @@ -10,6 +10,25 @@ @change="e => $emit('change', {_id: attribute._id, change: e})" @click="e => $emit('click', {_id: attribute._id})" /> +
+ + Vulnerability: {{ multipliers.vulnerabilities.join(', ') }} + + + Resistance: {{ multipliers.resistances.join(', ') }} + + + Immunity: {{ multipliers.immunities.join(', ') }} + +
@@ -17,11 +36,33 @@ import HealthBar from '/imports/ui/properties/components/attributes/HealthBar.vue'; export default { + inject: { + context: { default: {} } + }, components: { HealthBar, }, props: { - attributes: Array, + attributes: { + type: Array, + required: true + }, }, + computed: { + multipliers() { + let damageMultipliers = this.context.creature.damageMultipliers; + let vulnerabilities = []; + let resistances = []; + let immunities = []; + for (let key in damageMultipliers){ + switch(damageMultipliers[key]){ + case 2: vulnerabilities.push(key); break; + case 0.5: resistances.push(key); break; + case 0: immunities.push(key); break; + } + } + return {vulnerabilities, resistances, immunities}; + } + }, }