forked from public/foundryvtt-reve-de-dragon
		
	Remplacement progressif rencontres
This commit is contained in:
		
							
								
								
									
										111
									
								
								module/effets-rencontres.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								module/effets-rencontres.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,111 @@ | ||||
| import { ChatUtility } from "./chat-utility.js"; | ||||
| import { Poetique } from "./poetique.js"; | ||||
| import { RdDDice } from "./rdd-dice.js"; | ||||
| import { TMRUtility } from "./tmr-utility.js"; | ||||
|  | ||||
| export class EffetsRencontre { | ||||
|  | ||||
|   static messager = async (dialog, context) => { | ||||
|     dialog.setRencontreState('messager', TMRUtility.getTMRPortee(context.tmr.coord, context.rencontre.system.force)); | ||||
|   } | ||||
|    | ||||
|   static passeur = async (dialog, context) => { | ||||
|     dialog.setRencontreState('passeur', TMRUtility.getTMRPortee(context.tmr.coord, context.rencontre.system.force)); | ||||
|   } | ||||
|  | ||||
|   static teleportation_typecase = async (dialog, context) => { | ||||
|     dialog.setRencontreState('changeur', TMRUtility.getCasesType(context.tmr.type)); | ||||
|   } | ||||
|  | ||||
|   static rencontre_persistante = async (dialog, context) => { | ||||
|     dialog.setRencontreState('persistant', []); | ||||
|   } | ||||
|  | ||||
|   static reve_plus_f = async (dialog, context) => { await EffetsRencontre.$reve_plus(context.actor, context.rencontre.system.force) } | ||||
|   static reve_plus_1 = async (dialog, context) => { await EffetsRencontre.$reve_plus(context.actor, 1) } | ||||
|   static reve_moins_f = async (dialog, context) => { await EffetsRencontre.$reve_plus(context.actor, -context.rencontre.system.force) } | ||||
|   static reve_moins_1 = async (dialog, context) => { await EffetsRencontre.$reve_plus(context.actor, -1) } | ||||
|  | ||||
|   static vie_moins_1 = async (dialog, context) => { await EffetsRencontre.$vie_plus(context.actor, -1) } | ||||
|  | ||||
|  | ||||
|   static reinsertion = async (dialog, context) => { | ||||
|     await EffetsRencontre.$reinsertion(dialog, context.actor, it => true) | ||||
|   } | ||||
|  | ||||
|   static teleportation_aleatoire_typecase = async (dialog, context) => { | ||||
|     await EffetsRencontre.$reinsertion(dialog, context.actor, it => it.type == context.tmr.type && it.coord != context.tmr.coord) | ||||
|   } | ||||
|  | ||||
|   static demireve_rompu = async (dialog, context) => { | ||||
|     dialog.close() | ||||
|    } | ||||
|  | ||||
|   static sort_aleatoire = async (dialog, context) => { | ||||
|     context.sortReserve = await RdDDice.rollOneOf(context.actor.itemTypes['sortreserve']); | ||||
|     if (context.sortReserve) { | ||||
|       context.newTMR = TMRUtility.getTMR(context.sortReserve.system.coord); | ||||
|       await dialog.positionnerDemiReve(context.newTMR.coord); | ||||
|       await dialog.processSortReserve(context.sortReserve); | ||||
|       dialog.close(); | ||||
|     } | ||||
|     else { | ||||
|       await EffetsRencontre.$reinsertion(dialog, context.actor, it => true); | ||||
|     } | ||||
|   } | ||||
|    | ||||
|   static deplacement_aleatoire = async (dialog, context) => { | ||||
|     const oldCoord = context.actor.system.reve.tmrpos.coord; | ||||
|     const newTmr = await TMRUtility.deplaceTMRAleatoire(context.actor, oldCoord); | ||||
|     await dialog.positionnerDemiReve(newTmr.coord) | ||||
|   } | ||||
|  | ||||
|   static rdd_part_tete = async (dialog, context) => { | ||||
|     mergeObject(context, { | ||||
|       tete: context.rolled.isPart, | ||||
|       poesie: await Poetique.getExtrait() | ||||
|     }) | ||||
|     ChatMessage.create({ | ||||
|       whisper: ChatUtility.getWhisperRecipientsAndGMs(context.actor.name), | ||||
|       content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-resultat-reve-de-dragon.html`, context) | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   static rdd_echec_queue = async (dialog, context) => { | ||||
|     mergeObject(context, { | ||||
|       queues: [await context.actor.ajouterQueue()], | ||||
|       poesie: await Poetique.getExtrait() | ||||
|     }) | ||||
|     if (context.rolled.isETotal) { | ||||
|       context.queues.push(await context.actor.ajouterQueue()); | ||||
|     } | ||||
|      | ||||
|     ChatMessage.create({ | ||||
|       whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name), | ||||
|       content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-resultat-reve-de-dragon.html`, context) | ||||
|     }); | ||||
|   } | ||||
|    | ||||
|   static experience_particuliere = async (dialog, context) => { | ||||
|     await context.actor.appliquerAjoutExperience(context) | ||||
|   } | ||||
|  | ||||
|   static regain_seuil = async (dialog, context) => { | ||||
|     await context.actor.regainPointDeSeuil() | ||||
|    } | ||||
|  | ||||
|   static $reve_plus = async (actor, valeur) => { | ||||
|     await actor.reveActuelIncDec(valeur); | ||||
|   } | ||||
|  | ||||
|   static $vie_plus = async (actor, valeur) => { | ||||
|     await actor.santeIncDec("vie", valeur); | ||||
|   } | ||||
|  | ||||
|   static async $reinsertion(dialog, actor, filter) { | ||||
|     const newTMR = await TMRUtility.getTMRAleatoire(filter); | ||||
|     await actor.forcerPositionTMRInconnue(newTMR); | ||||
|     await dialog.positionnerDemiReve(newTMR.coord); | ||||
|   } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user