forked from public/foundryvtt-reve-de-dragon
		
	Jet V2 pour les créatures
This commit is contained in:
		| @@ -176,10 +176,11 @@ export class RdDBaseActorReve extends RdDBaseActor { | ||||
|   } | ||||
|  | ||||
|   getCompetences(name = undefined, options = { onMessage: message => { } }) { | ||||
|     const all = [...this.itemTypes[ITEM_TYPES.competence], ...this.itemTypes[ITEM_TYPES.competencecreature]] | ||||
|     if (name == undefined) { | ||||
|       return this.itemTypes[ITEM_TYPES.competence] | ||||
|       return all | ||||
|     } | ||||
|     return RdDItemCompetence.findCompetences(this.itemTypes[ITEM_TYPES.competence], name, options) | ||||
|     return RdDItemCompetence.findCompetences(all, name, options) | ||||
|   } | ||||
|  | ||||
|   getCompetenceCorpsACorps(options = { onMessage: message => { } }) { | ||||
| @@ -246,10 +247,10 @@ export class RdDBaseActorReve extends RdDBaseActor { | ||||
|     if (this.isEffectAllowed(statusId)) { | ||||
|       const effect = this.getEffectByStatus(statusId); | ||||
|       if (!status && effect) { | ||||
|         await this.deleteEmbeddedDocuments('ActiveEffect', [effect.id], { render: true}) | ||||
|         await this.deleteEmbeddedDocuments('ActiveEffect', [effect.id], { render: true }) | ||||
|       } | ||||
|       if (status && !effect) { | ||||
|         await this.createEmbeddedDocuments("ActiveEffect", [StatusEffects.prepareActiveEffect(statusId)], { render: true}) | ||||
|         await this.createEmbeddedDocuments("ActiveEffect", [StatusEffects.prepareActiveEffect(statusId)], { render: true }) | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| @@ -309,6 +310,22 @@ export class RdDBaseActorReve extends RdDBaseActor { | ||||
|  | ||||
|   async rollCaracCompetence(caracName, compName, diff, options = { title: "" }) { | ||||
|     RdDEmpoignade.checkEmpoignadeEnCours(this) | ||||
|  | ||||
|     if (OptionsAvancees.isUsing(ROLL_DIALOG_V2)) { | ||||
|       const competence = this.getCompetence(compName); | ||||
|       const rollData = { | ||||
|         ids: { actorId: this.id }, | ||||
|         type: { allowed: DEFAULT_ROLL_TYPES, current: PART_COMP }, | ||||
|         selected: { | ||||
|           carac: { key: caracName }, | ||||
|           comp: { key: competence.name }, | ||||
|           diff: { value: diff } | ||||
|         } | ||||
|       } | ||||
|       RollDialog.create(rollData, options) | ||||
|       return | ||||
|     } | ||||
|  | ||||
|     const competence = this.getCompetence(compName); | ||||
|     await this.openRollDialog({ | ||||
|       name: 'jet-competence', | ||||
| @@ -423,32 +440,22 @@ export class RdDBaseActorReve extends RdDBaseActor { | ||||
|     await RdDRollResult.displayRollData(rollData, this, 'chat-resultat-general.hbs'); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   async rollCompetenceV2(rollData) { | ||||
|     rollData.ids = rollData?.ids ?? {} | ||||
|     rollData.type = rollData.type ?? { allowed: DEFAULT_ROLL_TYPES } | ||||
|     rollData.ids.actorId = this.id | ||||
|     await RollDialog.create(rollData) | ||||
|   } | ||||
|  | ||||
|   async rollCompetence(idOrName, options = { tryTarget: true, arme: undefined }) { | ||||
|     RdDEmpoignade.checkEmpoignadeEnCours(this) | ||||
|  | ||||
|     const competence = this.getCompetence(idOrName); | ||||
|     if (competence.type != ITEM_TYPES.competencecreature && OptionsAvancees.isUsing(ROLL_DIALOG_V2)) { | ||||
|     if (OptionsAvancees.isUsing(ROLL_DIALOG_V2)) { | ||||
|       const rollData = { | ||||
|         ids: { actorId: this.id }, | ||||
|         type: { allowed: options.arme ? ATTAQUE_ROLL_TYPES : DEFAULT_ROLL_TYPES }, | ||||
|         selected: { | ||||
|           carac: competence.type == ITEM_TYPES.competencecreature ? { key: competence.name } : undefined, | ||||
|           comp: { key: competence.name }, | ||||
|           diff: { type: DIFF.LIBRE, value: competence.system.default_diffLibre ?? 0 } | ||||
|           diff: { type: options.arme ? DIFF.ATTAQUE : DIFF.LIBRE, value: competence.system.default_diffLibre ?? 0 }, | ||||
|           attaque: options.arme ? { arme: { key: options.arme.id } } : undefined | ||||
|         } | ||||
|       } | ||||
|       if (options.arme) { | ||||
|         rollData.selected.attaque = { arme: { id: options.arme.id }, comp: { id: competence.id } } | ||||
|         rollData.type = { allowed: ATTAQUE_ROLL_TYPES } | ||||
|       } | ||||
|  | ||||
|       await this.rollCompetenceV2(rollData) | ||||
|       return | ||||
|       return await RollDialog.create(rollData) | ||||
|     } | ||||
|  | ||||
|     let rollData = { | ||||
| @@ -512,19 +519,13 @@ export class RdDBaseActorReve extends RdDBaseActor { | ||||
|         title: 'Ne pas utiliser les automatisation de combat', | ||||
|         buttonLabel: "Pas d'automatisation", | ||||
|         onAction: async () => { | ||||
|           this.rollCompetenceV2({ | ||||
|             ids: { | ||||
|               actorId: this.id, | ||||
|               actorTokenId: token?.id, | ||||
|             }, | ||||
|             selected: { | ||||
|               conditions: { value: 0 } | ||||
|             }, | ||||
|           const rollData = { | ||||
|             ids: { actorId: this.id, actorTokenId: token?.id, }, | ||||
|             type: { | ||||
|               allowed: [ROLL_TYPE_COMP, ROLL_TYPE_ATTAQUE, ROLL_TYPE_OEUVRE, ROLL_TYPE_TACHE, ROLL_TYPE_JEU], | ||||
|               current: ROLL_TYPE_COMP | ||||
|               allowed: [ROLL_TYPE_ATTAQUE], current: ROLL_TYPE_ATTAQUE | ||||
|             } | ||||
|           }) | ||||
|           }; | ||||
|           return await RollDialog.create(rollData) | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user