|
|
|
@@ -1,11 +1,11 @@ |
|
|
|
<template> |
|
|
|
<div class="combat-layout"> |
|
|
|
<div @wheel="horizWheelLeft" class="statblock-row" id="left-stats"> |
|
|
|
<Statblock @selectPredator="right = combatant.containedIn.owner" @selectAlly="right = combatant" @select="doSelectLeft(combatant)" class="left-stats" :data-destroyed="combatant.destroyed" :data-disabled="encounter.currentMove.side === combatant.side && encounter.currentMove !== combatant" :data-current-turn="encounter.currentMove === combatant" :data-active="combatant === left" :data-active-ally="combatant === right" :data-eaten="combatant.containedIn !== null" :data-dead="combatant.vigors.Health <= 0" v-for="(combatant, index) in combatants.filter(c => c.side == Side.Heroes).slice().reverse()" v-bind:key="'left-stat-' + index" :subject="combatant" :initiative="encounter.initiatives.get(combatant)" /> |
|
|
|
<Statblock @selectPredator="right = combatant.containedIn.owner" @select="doSelectLeft(combatant)" class="left-stats" :data-ally="combatant.side === encounter.currentMove.side" :data-destroyed="combatant.destroyed" :data-current-turn="encounter.currentMove === combatant" :data-active="combatant === left" :data-active-ally="combatant === right" :data-eaten="combatant.containedIn !== null" :data-dead="combatant.vigors.Health <= 0" v-for="(combatant, index) in combatants.filter(c => c.side == Side.Heroes).slice().reverse()" v-bind:key="'left-stat-' + index" :subject="combatant" :initiative="encounter.initiatives.get(combatant)" /> |
|
|
|
<div class="spacer"></div> |
|
|
|
</div> |
|
|
|
<div @wheel="horizWheelRight" class="statblock-row" id="right-stats"> |
|
|
|
<Statblock @selectPredator="left = combatant.containedIn.owner" @selectAlly="left = combatant" @select="doSelectRight(combatant)" class="right-stats" :data-destroyed="combatant.destroyed" :data-disabled="encounter.currentMove.side === combatant.side && encounter.currentMove !== combatant" :data-current-turn="encounter.currentMove === combatant" :data-active="combatant === right" :data-active-ally="combatant === left" :data-eaten="combatant.containedIn !== null" :data-dead="combatant.vigors.Health <= 0" v-for="(combatant, index) in combatants.filter(c => c.side == Side.Monsters)" v-bind:key="'right-stat-' + index" :subject="combatant" :initiative="encounter.initiatives.get(combatant)" /> |
|
|
|
<Statblock @selectPredator="left = combatant.containedIn.owner" @select="doSelectRight(combatant)" class="right-stats" :data-ally="combatant.side === encounter.currentMove.side" :data-destroyed="combatant.destroyed" :data-current-turn="encounter.currentMove === combatant" :data-active="combatant === right" :data-active-ally="combatant === left" :data-eaten="combatant.containedIn !== null" :data-dead="combatant.vigors.Health <= 0" v-for="(combatant, index) in combatants.filter(c => c.side == Side.Monsters)" v-bind:key="'right-stat-' + index" :subject="combatant" :initiative="encounter.initiatives.get(combatant)" /> |
|
|
|
<div class="spacer"></div> |
|
|
|
</div> |
|
|
|
<div class="statblock-separator" id="statblock-separator-left"></div> |
|
|
|
@@ -184,14 +184,22 @@ export default class Combat extends Vue { |
|
|
|
} |
|
|
|
|
|
|
|
doSelectLeft (combatant: Creature) { |
|
|
|
if (combatant.side !== this.$props.encounter.currentMove.side && this.selectable(combatant)) { |
|
|
|
this.$data.left = combatant |
|
|
|
if (this.selectable(combatant)) { |
|
|
|
if (combatant.side !== this.$props.encounter.currentMove.side) { |
|
|
|
this.$data.left = combatant |
|
|
|
} else { |
|
|
|
this.$data.right = combatant |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
doSelectRight (combatant: Creature) { |
|
|
|
if (combatant.side !== this.$props.encounter.currentMove.side && this.selectable(combatant)) { |
|
|
|
this.$data.right = combatant |
|
|
|
if (this.selectable(combatant)) { |
|
|
|
if (combatant.side !== this.$props.encounter.currentMove.side) { |
|
|
|
this.$data.right = combatant |
|
|
|
} else { |
|
|
|
this.$data.left = combatant |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|