@@ -1,11 +1,11 @@  
														
													
														
															
																<template> <template>  
														
													
														
															
																  <div class="combat-layout">   <div class="combat-layout">  
														
													
														
															
																    <div @wheel="horizWheelLeft" class="statblock-row left-stats">     <div @wheel="horizWheelLeft" class="statblock-row left-stats">  
														
													
														
															
																      <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 && 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 @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)" />  
														
													
														
															
																      <div class="spacer"></div>       <div class="spacer"></div>  
														
													
														
															
																    </div>     </div>  
														
													
														
															
																    <div @wheel="horizWheelRight" class="statblock-row right-stats">     <div @wheel="horizWheelRight" class="statblock-row right-stats">  
														
													
														
															
																      <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 && 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 @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)" />  
														
													
														
															
																      <div class="spacer"></div>       <div class="spacer"></div>  
														
													
														
															
																    </div>     </div>  
														
													
														
															
																    <div class="statblock-separator statblock-separator-left"></div>     <div class="statblock-separator statblock-separator-left"></div>  
														
													
												
													
														
															
																
																	
																		 
																@@ -151,7 +151,7 @@ export default class Combat extends Vue {  
														
													
														
															
																    this.$nextTick(() => {     this.$nextTick(() => {  
														
													
														
															
																      const creature: HTMLElement|null = this.$el.querySelector("[data-current-turn]")       const creature: HTMLElement|null = this.$el.querySelector("[data-current-turn]")  
														
													
														
															
																      if (creature !== null) {       if (creature !== null) {  
														
													
														
															
																        creature.scrollIntoView( )  
														
													
														
															
																        this.scrollParentTo(creature )  
														
													
														
															
																      }       }  
														
													
														
															
																    })     })  
														
													
														
															
																  }   }  
														
													
												
													
														
															
																
																	
																		 
																@@ -183,7 +183,18 @@ export default class Combat extends Vue {  
														
													
														
															
																    }     }  
														
													
														
															
																  }   }  
														
													
														
															
																 
														
													
														
															
																  doSelectLeft (combatant: Creature) {  
														
													
														
															
																  scrollParentTo (element: HTMLElement): void {  
														
													
														
															
																    if (element.parentElement !== null) {  
														
													
														
															
																      const pos = (element.offsetLeft - element.parentElement.offsetLeft)  
														
													
														
															
																      const width = element.getBoundingClientRect().width / 2  
														
													
														
															
																      const offset = element.parentElement.getBoundingClientRect().width / 2  
														
													
														
															
																      console.log(pos, offset)  
														
													
														
															
																 
														
													
														
															
																      element.parentElement.scrollTo({ left: pos + width - offset, behavior: "smooth" })  
														
													
														
															
																    }  
														
													
														
															
																  }  
														
													
														
															
																 
														
													
														
															
																  doSelectLeft (combatant: Creature, element: HTMLElement) {  
														
													
														
															
																    if (this.selectable(combatant)) {     if (this.selectable(combatant)) {  
														
													
														
															
																      if (combatant.side !== this.$props.encounter.currentMove.side) {       if (combatant.side !== this.$props.encounter.currentMove.side) {  
														
													
														
															
																        this.$data.left = combatant         this.$data.left = combatant  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -191,9 +202,11 @@ export default class Combat extends Vue {  
														
													
														
															
																        this.$data.right = combatant         this.$data.right = combatant  
														
													
														
															
																      }       }  
														
													
														
															
																    }     }  
														
													
														
															
																 
														
													
														
															
																    this.scrollParentTo(element)  
														
													
														
															
																  }   }  
														
													
														
															
																 
														
													
														
															
																  doSelectRight (combatant: Creature) {  
														
													
														
															
																  doSelectRight (combatant: Creature, element: HTMLElement ) {  
														
													
														
															
																    if (this.selectable(combatant)) {     if (this.selectable(combatant)) {  
														
													
														
															
																      if (combatant.side !== this.$props.encounter.currentMove.side) {       if (combatant.side !== this.$props.encounter.currentMove.side) {  
														
													
														
															
																        this.$data.right = combatant         this.$data.right = combatant  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -201,6 +214,8 @@ export default class Combat extends Vue {  
														
													
														
															
																        this.$data.left = combatant         this.$data.left = combatant  
														
													
														
															
																      }       }  
														
													
														
															
																    }     }  
														
													
														
															
																 
														
													
														
															
																    this.scrollParentTo(element)  
														
													
														
															
																  }   }  
														
													
														
															
																 
														
													
														
															
																  created () {   created () {  
														
													
												
													
														
															
																
																	
																		 
																@@ -229,6 +244,7 @@ export default class Combat extends Vue {  
														
													
														
															
																  min-width: 2px;   min-width: 2px;  
														
													
														
															
																  min-height: 100%;   min-height: 100%;  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																.combat-layout { .combat-layout {  
														
													
														
															
																  position: relative;   position: relative;  
														
													
														
															
																  display: grid;   display: grid;  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -237,7 +253,8 @@ export default class Combat extends Vue {  
														
													
														
															
																  width: 100%;   width: 100%;  
														
													
														
															
																  height: 100%;   height: 100%;  
														
													
														
															
																  flex: 10;   flex: 10;  
														
													
														
															
																  overflow: hidden;  
														
													
														
															
																  overflow-x: hidden;  
														
													
														
															
																  overflow-y: hidden;  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																.log { .log {