Soins des blessures
Maintenant, les tâches peuvent être créées directement dans l'onglet combat, à côté des blessures. Les tâches des oins sont dans cet onglet
This commit is contained in:
		| @@ -151,6 +151,15 @@ export class RdDActorSheet extends RdDBaseActorSheet { | |||||||
|     this.html.find('.creer-tache').click(async event => { |     this.html.find('.creer-tache').click(async event => { | ||||||
|       this.createEmptyTache(); |       this.createEmptyTache(); | ||||||
|     }); |     }); | ||||||
|  |     this.html.find('.creer-tache-blessure-legere').click(async event => { | ||||||
|  |       this.actor.createTacheBlessure('legere'); | ||||||
|  |     }); | ||||||
|  |     this.html.find('.creer-tache-blessure-grave').click(async event => { | ||||||
|  |       this.actor.createTacheBlessure('grave'); | ||||||
|  |     }); | ||||||
|  |     this.html.find('.creer-tache-blessure-critique').click(async event => { | ||||||
|  |       this.actor.createTacheBlessure('critique'); | ||||||
|  |     }); | ||||||
|     this.html.find('.creer-une-oeuvre').click(async event => { |     this.html.find('.creer-une-oeuvre').click(async event => { | ||||||
|       this.selectTypeOeuvreToCreate(); |       this.selectTypeOeuvreToCreate(); | ||||||
|     }); |     }); | ||||||
| @@ -477,7 +486,6 @@ export class RdDActorSheet extends RdDBaseActorSheet { | |||||||
|   async createEmptyTache() { |   async createEmptyTache() { | ||||||
|     await this.actor.createItem('tache', 'Nouvelle tache'); |     await this.actor.createItem('tache', 'Nouvelle tache'); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   _optionRecherche(target) { |   _optionRecherche(target) { | ||||||
|     if (!target.value?.length) { |     if (!target.value?.length) { | ||||||
|       return undefined; |       return undefined; | ||||||
|   | |||||||
| @@ -35,6 +35,7 @@ import { Targets } from "./targets.js"; | |||||||
| import { DialogRepos } from "./dialog-repos.js"; | import { DialogRepos } from "./dialog-repos.js"; | ||||||
| import { RdDBaseActor } from "./actor/base-actor.js"; | import { RdDBaseActor } from "./actor/base-actor.js"; | ||||||
| import { RdDTimestamp } from "./rdd-timestamp.js"; | import { RdDTimestamp } from "./rdd-timestamp.js"; | ||||||
|  | import { RdDItemTache } from "./item-tache.js"; | ||||||
|  |  | ||||||
| const POSSESSION_SANS_DRACONIC = { | const POSSESSION_SANS_DRACONIC = { | ||||||
|   img: 'systems/foundryvtt-reve-de-dragon/icons/entites/possession.webp', |   img: 'systems/foundryvtt-reve-de-dragon/icons/entites/possession.webp', | ||||||
| @@ -46,7 +47,6 @@ const POSSESSION_SANS_DRACONIC = { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| const PAS_DE_BLESSURE = { "active": false, "psdone": false, "scdone": false, "premiers_soins": 0, "soins_complets": 0, "jours": 0, "loc": "" }; | const PAS_DE_BLESSURE = { "active": false, "psdone": false, "scdone": false, "premiers_soins": 0, "soins_complets": 0, "jours": 0, "loc": "" }; | ||||||
|  |  | ||||||
| export const MAINS_DIRECTRICES = ['Droitier', 'Gaucher', 'Ambidextre'] | export const MAINS_DIRECTRICES = ['Droitier', 'Gaucher', 'Ambidextre'] | ||||||
|  |  | ||||||
| /* -------------------------------------------- */ | /* -------------------------------------------- */ | ||||||
| @@ -2325,6 +2325,13 @@ export class RdDActor extends RdDBaseActor { | |||||||
|     return tachesExistantes.length > 0 ? tachesExistantes[0] : undefined; |     return tachesExistantes.length > 0 ? tachesExistantes[0] : undefined; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   async createTacheBlessure(gravite) { | ||||||
|  |     const tache = RdDItemTache.prepareTacheSoin(gravite) | ||||||
|  |     if (tache) { | ||||||
|  |       await this.createEmbeddedDocuments('Item', [tache], { renderSheet: false }); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async rollTache(id) { |   async rollTache(id) { | ||||||
|     const tacheData = this.getTache(id) |     const tacheData = this.getTache(id) | ||||||
|   | |||||||
| @@ -1,4 +1,18 @@ | |||||||
|  | const BASE_TACHE_SOIN_BLESSURE = { type: "tache", img: 'systems/foundryvtt-reve-de-dragon/icons/competence_chirurgie.webp', system: { carac: "dexterite", competence: "Chirurgie", periodicite: "1 round", fatigue: 0, } } | ||||||
|  | const TACHES_SOIN_BLESSURE = { | ||||||
|  |   'critique': { name: 'Blessure critique', system: { difficulte: -6, points_de_tache: 6 } }, | ||||||
|  |   'grave': { name: 'Blessure grave', system: { difficulte: -4, points_de_tache: 4 } }, | ||||||
|  |   'legere': { name: 'Blessure légère', system: { difficulte: -2, points_de_tache: 2 } }, | ||||||
|  | } | ||||||
|  |  | ||||||
| export class RdDItemTache extends Item { | export class RdDItemTache extends Item { | ||||||
|  |  | ||||||
|  |   static prepareTacheSoin(gravite) { | ||||||
|  |     const blessure = TACHES_SOIN_BLESSURE[gravite] | ||||||
|  |     if (blessure) { | ||||||
|  |       return mergeObject(duplicate(BASE_TACHE_SOIN_BLESSURE), blessure) | ||||||
|  |     } | ||||||
|  |     ui.notifications.warn(`Pas de tâche de soins pour une blessure ${gravite}`) | ||||||
|  |     return undefined; | ||||||
|  |   } | ||||||
| } | } | ||||||
| @@ -149,6 +149,7 @@ export class RdDUtility { | |||||||
|       'systems/foundryvtt-reve-de-dragon/templates/actor/jeux.html', |       'systems/foundryvtt-reve-de-dragon/templates/actor/jeux.html', | ||||||
|       'systems/foundryvtt-reve-de-dragon/templates/actor/alchimie.html', |       'systems/foundryvtt-reve-de-dragon/templates/actor/alchimie.html', | ||||||
|       'systems/foundryvtt-reve-de-dragon/templates/actor/astrologie.html', |       'systems/foundryvtt-reve-de-dragon/templates/actor/astrologie.html', | ||||||
|  |       'systems/foundryvtt-reve-de-dragon/templates/actor/chirurgie.html', | ||||||
|       'systems/foundryvtt-reve-de-dragon/templates/actor/non-haut-revant.html', |       'systems/foundryvtt-reve-de-dragon/templates/actor/non-haut-revant.html', | ||||||
|       'systems/foundryvtt-reve-de-dragon/templates/actor/haut-revant.html', |       'systems/foundryvtt-reve-de-dragon/templates/actor/haut-revant.html', | ||||||
|       'systems/foundryvtt-reve-de-dragon/templates/actor/dragon-queues.html', |       'systems/foundryvtt-reve-de-dragon/templates/actor/dragon-queues.html', | ||||||
|   | |||||||
| @@ -89,6 +89,7 @@ | |||||||
|       {{#if options.isObserver}}{{!-- Combat Tab --}} |       {{#if options.isObserver}}{{!-- Combat Tab --}} | ||||||
|       <div class="tab combat" data-group="primary" data-tab="combat"> |       <div class="tab combat" data-group="primary" data-tab="combat"> | ||||||
|         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/combat.html"}}<hr> |         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/combat.html"}}<hr> | ||||||
|  |         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/chirurgie.html"}} | ||||||
|         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html"}} |         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html"}} | ||||||
|         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/maladies-poisons.html"}} |         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/maladies-poisons.html"}} | ||||||
|         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/possessions.html"}} |         {{> "systems/foundryvtt-reve-de-dragon/templates/actor/possessions.html"}} | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								templates/actor/chirurgie.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								templates/actor/chirurgie.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | <h3>Soins</h3> | ||||||
|  | <a class="chat-card-button creer-tache-blessure-legere">Blessure légère</a> | ||||||
|  | <a class="chat-card-button creer-tache-blessure-grave">Blessure grave</a> | ||||||
|  | <a class="chat-card-button creer-tache-blessure-critique">Blessure critique</a> | ||||||
|  | <ul class="item-list alterne-list"> | ||||||
|  |   {{#each taches as |tache id|}} | ||||||
|  |     {{#if (eq tache.system.competence 'Chirurgie')}} | ||||||
|  |     <li class="item flexrow list-item" data-item-id="{{tache._id}}"> | ||||||
|  |       <img class="sheet-competence-img" src="{{tache.img}}" /> | ||||||
|  |       <span class="competence-title tache-label"><a>{{tache.name}} | ||||||
|  |         ({{tache.system.points_de_tache_courant}}{{#if | ||||||
|  |           (or @root.options.isGM (not tache.system.cacher_points_de_tache)) | ||||||
|  |         }}/{{tache.system.points_de_tache}}{{/if}})</a></span> | ||||||
|  |       <div class="item-controls flex-shrink"> | ||||||
|  |         <a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> | ||||||
|  |         <a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> | ||||||
|  |       </div> | ||||||
|  |     </li> | ||||||
|  |     {{/if}} | ||||||
|  |   {{/each}} | ||||||
|  | </ul> | ||||||
| @@ -1,16 +1,18 @@ | |||||||
| <h3>Tâches</h3><a class="chat-card-button creer-tache">Nouvelle Tâche</a> | <h3>Tâches</h3><a class="chat-card-button creer-tache">Nouvelle Tâche</a> | ||||||
| <ul class="item-list alterne-list"> | <ul class="item-list alterne-list"> | ||||||
|   {{#each taches as |tache id|}} |   {{#each taches as |tache id|}} | ||||||
|   <li class="item flexrow list-item" data-item-id="{{tache._id}}"> |     {{#unless (eq tache.system.competence 'Chirurgie')}} | ||||||
|     <img class="sheet-competence-img" src="{{tache.img}}" /> |     <li class="item flexrow list-item" data-item-id="{{tache._id}}"> | ||||||
|     <span class="competence-title tache-label"><a>{{tache.name}} |       <img class="sheet-competence-img" src="{{tache.img}}" /> | ||||||
|     ({{tache.system.points_de_tache_courant}}{{#if |       <span class="competence-title tache-label"><a>{{tache.name}} | ||||||
|        (or @root.options.isGM (not tache.system.cacher_points_de_tache)) |         ({{tache.system.points_de_tache_courant}}{{#if | ||||||
|     }}/{{tache.system.points_de_tache}}{{/if}})</a></span> |           (or @root.options.isGM (not tache.system.cacher_points_de_tache)) | ||||||
|     <div class="item-controls flex-shrink"> |         }}/{{tache.system.points_de_tache}}{{/if}})</a></span> | ||||||
|       <a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> |       <div class="item-controls flex-shrink"> | ||||||
|       <a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> |         <a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> | ||||||
|     </div> |         <a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> | ||||||
|   </li> |       </div> | ||||||
|  |     </li> | ||||||
|  |     {{/unless}} | ||||||
|   {{/each}} |   {{/each}} | ||||||
| </ul> | </ul> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user