|
|
|
@@ -1,11 +1,11 @@ |
|
|
|
<template> |
|
|
|
<div class="combat-layout"> |
|
|
|
<div @wheel="horizWheelLeft" class="statblock-row left-stats"> |
|
|
|
<Statblock @selectPredator="right = combatant.containedIn.owner" @select="doSelectLeft(combatant, $event)" class="left-stats" :data-ally="combatant.side === encounter.currentMove.side" :data-destroyed="combatant.destroyed" :data-current-turn="encounter.currentMove === combatant" :data-active="combatant === left && combatant !== encounter.currentMove" :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 @selected="scrollParentTo($event)" @select="doSelectLeft(combatant, $event)" class="left-stats" :data-ally="combatant.side === encounter.currentMove.side" :data-destroyed="combatant.destroyed" :data-current-turn="encounter.currentMove === combatant" :data-active="combatant === left && combatant !== encounter.currentMove" :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 right-stats"> |
|
|
|
<Statblock @selectPredator="left = combatant.containedIn.owner" @select="doSelectRight(combatant, $event)" class="right-stats" :data-ally="combatant.side === encounter.currentMove.side" :data-destroyed="combatant.destroyed" :data-current-turn="encounter.currentMove === combatant" :data-active="combatant === right && combatant !== encounter.currentMove" :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 @selected="scrollParentTo($event)" @select="doSelectRight(combatant, $event)" class="right-stats" :data-ally="combatant.side === encounter.currentMove.side" :data-destroyed="combatant.destroyed" :data-current-turn="encounter.currentMove === combatant" :data-active="combatant === right && combatant !== encounter.currentMove" :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 statblock-separator-left"></div> |
|
|
|
@@ -143,16 +143,27 @@ export default class Combat extends Vue { |
|
|
|
pickNext () { |
|
|
|
if (this.encounter.currentMove.side === Side.Heroes) { |
|
|
|
this.$data.left = this.encounter.currentMove |
|
|
|
|
|
|
|
if (this.encounter.currentMove.containedIn !== null) { |
|
|
|
this.$data.right = this.encounter.currentMove.containedIn.owner |
|
|
|
} |
|
|
|
} else if (this.encounter.currentMove.side === Side.Monsters) { |
|
|
|
this.$data.right = this.encounter.currentMove |
|
|
|
} |
|
|
|
|
|
|
|
if (this.encounter.currentMove.containedIn !== null) { |
|
|
|
this.$data.left = this.encounter.currentMove.containedIn.owner |
|
|
|
} |
|
|
|
} |
|
|
|
// scroll to the newly selected creature |
|
|
|
this.$nextTick(() => { |
|
|
|
const creature: HTMLElement|null = this.$el.querySelector("[data-current-turn]") |
|
|
|
if (creature !== null) { |
|
|
|
this.scrollParentTo(creature) |
|
|
|
} |
|
|
|
const target: HTMLElement|null = this.$el.querySelector("[data-active]") |
|
|
|
if (creature !== null) { |
|
|
|
this.scrollParentTo(target) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
|