diff --git a/docs/.vuepress/store/modules/encounterCalculator.js b/docs/.vuepress/store/modules/encounterCalculator.js
index cf83219..3032306 100644
--- a/docs/.vuepress/store/modules/encounterCalculator.js
+++ b/docs/.vuepress/store/modules/encounterCalculator.js
@@ -47,9 +47,12 @@ export default {
state.creatures = []
},
addCreature: (state, payload) => {
- payload.qty = 1
- state.creatures.push(payload)
- state.creatures.sort((a, b) => { return sortByString(a.title, b.title) })
+ // payload.qty = 1
+ let c = Object.assign({}, payload)
+ c.ally = false
+ state.creatures.push(c)
+ c = null
+ // state.creatures.sort((a, b) => { return sortByString(a.title, b.title) })
},
updateCreatures: (state, payload) => {
let creatureIndex = getResourceIndexInLibrary(payload, state.creatures)
@@ -58,9 +61,13 @@ export default {
}
},
removeCreature: (state, payload) => {
- let creatureIndex = getResourceIndexInLibrary(payload, state.creatures)
- if (creatureIndex >= 0) {
- state.creatures.splice(creatureIndex, 1)
+ if (payload >= 0) {
+ state.creatures.splice(payload, 1)
+ }
+ },
+ switchCampCreature: (state, payload) => {
+ if (payload >= 0) {
+ state.creatures[payload].ally = !state.creatures[payload].ally
}
},
setCreatureQty: (state, payload) => {
diff --git a/docs/.vuepress/theme/components/EncounterCalculator.vue b/docs/.vuepress/theme/components/EncounterCalculator.vue
index f2b9a7c..93cd915 100644
--- a/docs/.vuepress/theme/components/EncounterCalculator.vue
+++ b/docs/.vuepress/theme/components/EncounterCalculator.vue
@@ -24,13 +24,14 @@
>
PX : {{ totalXP }} ({{ Math.floor(totalXP / pc) }} par PJ)
-
+
{{c.title}}
-
+
+
mdi-delete
@@ -58,6 +59,8 @@ export default {
panels: [0],
challenges: CHALLENGES,
encounterLevels: ENCOUNTERLEVELS,
+ totalPC: 0,
+ totalXP: 0,
}
},
@@ -66,9 +69,9 @@ export default {
creatures: state => state.encounterCalculator.creatures,
}),
- ...mapGetters({
- totalPC: 'encounterCalculator/totalPC',
- }),
+ // ...mapGetters({
+ // totalPC: 'encounterCalculator/totalPC',
+ // }),
pc: {
get () {
@@ -110,25 +113,30 @@ export default {
return {label, color}
},
- totalPC () {
- let pc = 0
- for (let c of this.creatures) {
- pc += getPCbyChallenge(Number(c.frontmatter.challenge))
- }
- return pc
- },
+ // totalPC () {
+ // let pc = 0
+ // for (let c of this.creatures) {
+ // if (c.ally) {
+ // pc -= getPCbyChallenge(Number(c.frontmatter.challenge))
+ // } else {
+ // pc += getPCbyChallenge(Number(c.frontmatter.challenge))
+ // }
+ // console.log(c)
+ // }
+ // return pc
+ // },
- totalXP () {
- let xp = 0
- for (let c of this.creatures) {
- if (c.frontmatter.challenge == 0) {
- xp += 10
- } else {
- xp += stats.challenges[c.frontmatter.challenge].xp
- }
- }
- return xp
- },
+ // totalXP () {
+ // let xp = 0
+ // for (let c of this.creatures) {
+ // if (c.frontmatter.challenge == 0) {
+ // xp += 10
+ // } else {
+ // xp += stats.challenges[c.frontmatter.challenge].xp
+ // }
+ // }
+ // return xp
+ // },
challengeForGroup () {
let level = this.encounterLevels[this.encounterLevels.findIndex((item) => { return item.level == this.level })]
@@ -146,13 +154,62 @@ export default {
},
methods: {
- removeCreatureInEncounter (creature) {
- this.$store.commit('encounterCalculator/removeCreature', creature)
- }
+ removeCreatureInEncounter (idx) {
+ this.$store.commit('encounterCalculator/removeCreature', idx)
+ },
+
+ switchCampCreatureInEncounter (idx) {
+ this.$store.commit('encounterCalculator/switchCampCreature', idx)
+ this.setTotalPC()
+ this.setTotalXP()
+ },
+
+ setTotalPC () {
+ let pc = 0
+ for (let c of this.creatures) {
+ if (c.ally) {
+ pc -= getPCbyChallenge(Number(c.frontmatter.challenge))
+ } else {
+ pc += getPCbyChallenge(Number(c.frontmatter.challenge))
+ }
+ // console.log(c)
+ }
+ this.totalPC = pc
+ },
+
+ setTotalXP () {
+ let xp = 0
+ for (let c of this.creatures) {
+ if (c.frontmatter.challenge == 0) {
+ if (c.ally) {
+ xp -= 10
+ } else {
+ xp += 10
+ }
+ } else {
+ if (c.ally) {
+ xp -= stats.challenges[c.frontmatter.challenge].xp
+ } else {
+ xp += stats.challenges[c.frontmatter.challenge].xp
+ }
+ }
+ }
+ if (xp < 0) {
+ xp = 0
+ }
+ this.totalXP = xp
+ },
},
mounted () {
+ },
+
+ watch: {
+ creatures () {
+ this.setTotalPC()
+ this.setTotalXP()
+ }
}
}