Compare commits
	
		
			2 Commits
		
	
	
		
			3963d5ecc8
			...
			7ed18a1613
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7ed18a1613 | |||
| 02baa50ef2 | 
| @ -6,14 +6,14 @@ Discord Link: TESTING NOT YET OPEN. | ||||
| 
 | ||||
| ## Release Tracker | ||||
| ### Current Release Version: | ||||
| Draft 1 | ||||
| Draft 2 | ||||
| 
 | ||||
| ### Next Target Release Version: | ||||
| Draft 2 | ||||
| Draft 3 | ||||
| 
 | ||||
| ## How to Use | ||||
| ### Installation | ||||
| You can install the sytem using the latest manifest file, found [here](https://raw.githubusercontent.com/walcutt/hench/refs/heads/develop/system.json). | ||||
| You can install the sytem using the latest manifest file, found [here](https://git.chloeherd.codes/walcutt/hench/raw/branch/develop/system.json). | ||||
| 
 | ||||
| ### Gameplay | ||||
| - Make sure to add a deck in the cards section, using one of the presets. | ||||
| @ -25,4 +25,4 @@ You can install the sytem using the latest manifest file, found [here](https://r | ||||
| - Make sure to give your players "Owner" access to the deck so they can use it! Even with that, only GMs can edit the deck. | ||||
| 
 | ||||
| ### Bugs? | ||||
| Report them on the [issues](https://github.com/walcutt/hench/issues) page! | ||||
| Report them on the [issues](https://git.chloeherd.codes/walcutt/hench/issues) page! | ||||
| @ -13,6 +13,7 @@ export class HenchCardDataModel  extends foundry.abstract.TypeDataModel { | ||||
|         return { | ||||
|             cue: new StringField({required: true, blank: true, initial: ""}), | ||||
|             zone: new StringField({required: true, blank: false, initial: CARD_ZONES.DECK, options: CARD_ZONES}), | ||||
|             note: new StringField({required: false, blank: true, initial: ""}), | ||||
|         }; | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -134,6 +134,7 @@ export class HenchCards extends Cards { | ||||
|                 return { | ||||
|                     _id: c._id, | ||||
|                     ['system.zone']: zone, | ||||
|                     ['system.note']: "", | ||||
|                     sort: destIndex | ||||
|                 }; | ||||
|             } | ||||
|  | ||||
| @ -25,9 +25,9 @@ export class HenchCardsSheet extends CardsConfig { | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         html.find('.hench-cards-action-play').on('click', async (event) => { | ||||
|         html.find('.hench-cards-action-spread-play').on('click', async (event) => { | ||||
|             const element = event.currentTarget; | ||||
|             const index = element.dataset.cardIndex; | ||||
|             const index = parseInt(element.dataset.cardIndex); | ||||
| 
 | ||||
|             // play the card!
 | ||||
|             const card = this.document.spread[index]; | ||||
| @ -36,6 +36,23 @@ export class HenchCardsSheet extends CardsConfig { | ||||
|             await this.document.sendCards(this.document.spread, CARD_ZONES.DECK, CONST.CARD_DRAW_MODES.BOTTOM); | ||||
|         }); | ||||
| 
 | ||||
|         html.find('.hench-cards-action-hold-play').on('click', async (event) => { | ||||
|             const element = event.currentTarget; | ||||
|             const index = parseInt(element.dataset.cardIndex); | ||||
| 
 | ||||
|             // play the card!
 | ||||
|             const card = this.document.held[index]; | ||||
|             this.playCard(card); | ||||
|             await this.document.sendCards(this.document.held.slice(index, index + 1), CARD_ZONES.DISCARD, CONST.CARD_DRAW_MODES.TOP); | ||||
|         }); | ||||
| 
 | ||||
|         html.find('.hench-cards-action-spread-hold').on('click', async (event) => { | ||||
|             const element = event.currentTarget; | ||||
|             const index = parseInt(element.dataset.cardIndex); | ||||
| 
 | ||||
|             await this.document.sendCards(this.document.spread.slice(index, index + 1), CARD_ZONES.HELD); | ||||
|         }); | ||||
| 
 | ||||
|         html.find('.hench-card-action-play-held').on('click', async (event) => { | ||||
|             // play the card!
 | ||||
|             const card = this.document.held[0]; | ||||
| @ -66,6 +83,23 @@ export class HenchCardsSheet extends CardsConfig { | ||||
|             const discard = new HenchDiscardView(this.document); | ||||
|             discard.render(true); | ||||
|         }); | ||||
| 
 | ||||
|         html.find('.hench-cards-held-note').on('change', async (event) => { | ||||
|             const element = event.currentTarget; | ||||
|             const id = element.dataset.cardId; | ||||
| 
 | ||||
|             const value = element.value; | ||||
|             const subPath = element.dataset.field; | ||||
| 
 | ||||
|             const mutation = [ | ||||
|                 { | ||||
|                     _id: id, | ||||
|                     [subPath]: value, | ||||
|                 } | ||||
|             ]; | ||||
| 
 | ||||
|             await this.document.updateCards(mutation); | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|     /** @override */ | ||||
|  | ||||
| @ -29,11 +29,6 @@ | ||||
|                             </span> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                     {{#topCard document "HELD"}} | ||||
|                     <div class="hench-box hench-flex-resizeable hench-card-fixed-item {{#if hasTopCard}}hench-card-action-play-held hench-clickable{{/if}}"> | ||||
|                         <img class="hench-image-resize-vertical" src="{{#if hasTopCard}}{{topCardImage}}{{/if}}" /> | ||||
|                     </div> | ||||
|                     {{/topCard}} | ||||
|                     <div class="hench-box hench-flex-resizeable hench-gap-narrow hench-row-even"> | ||||
|                         <div class="hench-row hench-padding-narrow hench-white hench-centered hench-clickable hench-cards-action-reset"> | ||||
|                             <span class="hench-flex-resizeable"> | ||||
| @ -62,10 +57,44 @@ | ||||
|         <!-- Spread --> | ||||
|         <div class="hench-row hench-flex-resizeable hench-gap-wide"> | ||||
|             <div class="hench-box hench-m-grey hench-flex-resizeable hench-padding-wide hench-gap-narrow"> | ||||
|                 <div class="hench-title hench-centered"> | ||||
|                     Spread | ||||
|                 </div> | ||||
|                 <div class="hench-row hench-row-even hench-gap-narrow"> | ||||
|                     {{#each document.spread}} | ||||
|                         <div class="hench-box hench-flex-resizeable hench-card-fixed-item hench-clickable hench-cards-action-play" data-card-index="{{@index}}"> | ||||
|                             <img class="hench-image-resize-vertical" src="{{this.currentFace.img}}" title="{{this.system.cue}}" /> | ||||
|                         <div class="hench-box hench-flex-resizeable hench-card-fixed-item hench-gap-narrow" data-card-index="{{@index}}"> | ||||
|                             <img class="hench-image-resize-vertical hench-clickable hench-cards-action-spread-play" src="{{this.currentFace.img}}" title="{{this.system.cue}}" data-card-index="{{@index}}" /> | ||||
|                             <div class="hench-row hench-gap-narrow"> | ||||
|                                 <div class="hench-flex-resizeable hench-white hench-padding-narrow hench-centered hench-clickable hench-cards-action-spread-hold" data-card-index="{{@index}}"> | ||||
|                                     <span> | ||||
|                                         Hold | ||||
|                                     </span> | ||||
|                                 </div> | ||||
|                                 <div class="hench-flex-resizeable hench-white hench-padding-narrow hench-centered hench-clickable hench-cards-action-spread-play" data-card-index="{{@index}}"> | ||||
|                                     <span> | ||||
|                                         Play | ||||
|                                     </span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     {{else}} | ||||
|                         <div class="hench-box hench-flex-resizeable hench-card-fixed-item hench-card-empty"></div> | ||||
|                     {{/each}} | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|         <div class="hench-row hench-flex-resizeable hench-gap-wide"> | ||||
|             <div class="hench-box hench-m-grey hench-flex-resizeable hench-padding-wide hench-gap-narrow"> | ||||
|                 <div class="hench-title hench-centered"> | ||||
|                     Held Cards | ||||
|                 </div> | ||||
|                 <div class="hench-row hench-row-even hench-gap-narrow"> | ||||
|                     {{#each document.held}} | ||||
|                         <div class="hench-box hench-flex-resizeable hench-card-fixed-item"> | ||||
|                             <img class="hench-image-resize-vertical hench-clickable hench-cards-action-hold-play" src="{{this.currentFace.img}}" title="{{this.system.cue}}" data-card-index="{{@index}}" /> | ||||
|                             <div> | ||||
|                                 <input type="text" name="hold-{{@index}}-note" class="hench-text-input hench-flex-resizeable hench-cards-held-note" value="{{this.system.note}}" data-card-id="{{this._id}}" data-field="system.note" /> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     {{else}} | ||||
|                         <div class="hench-box hench-flex-resizeable hench-card-fixed-item hench-card-empty"></div> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user