Arme à distance
This commit is contained in:
@ -209,6 +209,7 @@ export class TeDeumActor extends Actor {
|
||||
for (let key in combatLoc) {
|
||||
combatLoc[key] = foundry.utils.mergeObject(combatLoc[key], game.system.tedeum.config.LOCALISATION[key])
|
||||
combatLoc[key].armures = []
|
||||
combatLoc[key].blessures = []
|
||||
combatLoc[key].protectionTotal = 0
|
||||
let armures = this.getArmures()
|
||||
for (let armure of armures) {
|
||||
@ -217,6 +218,12 @@ export class TeDeumActor extends Actor {
|
||||
combatLoc[key].protectionTotal += armure.system.protection
|
||||
}
|
||||
}
|
||||
let blessures = this.getBlessures()
|
||||
for (let blessure of blessures) {
|
||||
if (blessure.system.localisation == key) {
|
||||
combatLoc[key].blessures.push(blessure)
|
||||
}
|
||||
}
|
||||
let endurance = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "endurance")
|
||||
combatLoc[key].endurance = endurance.system.score + game.system.tedeum.config.LOCALISATION[key].locMod
|
||||
combatLoc[key].touche = combatLoc[key].endurance + combatLoc[key].protectionTotal
|
||||
@ -272,24 +279,8 @@ export class TeDeumActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async equipItem(itemId) {
|
||||
let item = this.items.find(item => item.id == itemId)
|
||||
if (item?.system) {
|
||||
if (item.type == "armure") {
|
||||
let armor = this.items.find(item => item.id != itemId && item.type == "armor" && item.system.equipped)
|
||||
if (armor) {
|
||||
ui.notifications.warn("You already have an armor equipped!")
|
||||
return
|
||||
}
|
||||
}
|
||||
if (item.type == "shield") {
|
||||
let shield = this.items.find(item => item.id != itemId && item.type == "shield" && item.system.equipped)
|
||||
if (shield) {
|
||||
ui.notifications.warn("You already have a shield equipped!")
|
||||
return
|
||||
}
|
||||
}
|
||||
let update = { _id: item.id, "system.equipped": !item.system.equipped };
|
||||
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
||||
}
|
||||
let update = { _id: item.id, "system.equipe": !item.system.equipe };
|
||||
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
||||
}
|
||||
|
||||
/* ------------------------------------------- */
|
||||
|
@ -31,7 +31,6 @@ export const TEDEUM_CONFIG = {
|
||||
"coupassomant": { label: "Coup assomant", id: "coupassomant", melee: true, tir: false},
|
||||
"peutlancer": { label: "Peut être lancée", id: "peutlancer", melee: true, tir: false},
|
||||
"pasboutportant": { label: "Inutilisable à bout portant", id: "pasboutportant", melee: false, tir: true},
|
||||
"rechargearquebusade": { label: "Retrancher l'Arquebusade au temps de recharge", id: "rechargearquebusade", melee: false, tir: true },
|
||||
"mitraille": { label: "Mitraille", id: "mitraille", melee: false, tir: true },
|
||||
"degatscharge": { label: "Dégâts accrus à la charge", id: "degatscharge", melee: true, tir: false },
|
||||
"crochecavalier": { label: "Croche-cavalier", id: "crochecavalier", melee: true, tir: false },
|
||||
@ -117,14 +116,19 @@ export const TEDEUM_CONFIG = {
|
||||
archerie: { label: "Archerie", value: "archerie" },
|
||||
arquebusade: { label: "Arquebusade", value: "arquebusade" }
|
||||
},
|
||||
competencesRecharge: {
|
||||
aucune: { label: "Aucune", value: "aucune" },
|
||||
archerie: { label: "Archerie", value: "archerie" },
|
||||
arquebusade: { label: "Arquebusade", value: "arquebusade" }
|
||||
},
|
||||
difficulte: {
|
||||
routine: { label: "Routine", value: 3 },
|
||||
facile: { label: "Facile", value: 5 },
|
||||
pardefaut: { label: "Par Défaut", value: 7 },
|
||||
malaise: { label: "Malaisé", value: 9 },
|
||||
difficile: { label: "Difficile", value: 11 },
|
||||
perilleux: { label: "Perilleux", value: 13 },
|
||||
desespere: { label: "Désespéré", value: 15 }
|
||||
routine: { label: "Routine", key: "routine", value: 3 },
|
||||
facile: { label: "Facile", key: "facile",value: 5 },
|
||||
pardefaut: { label: "Par Défaut", key: "pardefaut", value: 7 },
|
||||
malaise: { label: "Malaisé", key: "malaise", value: 9 },
|
||||
difficile: { label: "Difficile", key: "difficile", value: 11 },
|
||||
perilleux: { label: "Perilleux", key: "perilleux", value: 13 },
|
||||
desespere: { label: "Désespéré", key: "desespere", value: 15 }
|
||||
},
|
||||
monnaie: {
|
||||
denier: { label: "Deniers", id: "denier", value: 1 },
|
||||
|
@ -392,7 +392,7 @@ export class TeDeumUtility {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
// Fix difficulty
|
||||
if (!rollData.difficulty || rollData.difficulty == "-") {
|
||||
rollData.difficulty = 7
|
||||
rollData.difficulty = "pardefaut"
|
||||
}
|
||||
rollData.difficulty = game.system.tedeum.config.difficulte[rollData.difficulty].value
|
||||
let diceFormula = this.computeRollFormula(rollData, actor)
|
||||
|
@ -34,6 +34,7 @@ export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
|
||||
});
|
||||
|
||||
schema.tempsRecharge = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
|
||||
schema.competenceRecharge = new fields.StringField({ required: false, choices:["aucune", "archerie", "arquebusade"], initial: "aucune", blank: true });
|
||||
schema.valeurEchecCritique = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 });
|
||||
|
||||
schema.initiativeBonus = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
|
||||
|
Reference in New Issue
Block a user