Diverses ameliorations
This commit is contained in:
@ -146,6 +146,11 @@ export class HeritiersActorSheet extends ActorSheet {
|
||||
let armeId = li.data("item-id")
|
||||
this.actor.rollAttaqueArme(armeId)
|
||||
})
|
||||
html.find('.roll-pouvoir').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
let pouvoirId = li.data("item-id")
|
||||
this.actor.rollPouvoir(pouvoirId)
|
||||
})
|
||||
|
||||
html.find('.item-add').click((event) => {
|
||||
const itemType = $(event.currentTarget).data("type")
|
||||
|
@ -42,8 +42,8 @@ export class HeritiersActor extends Actor {
|
||||
data.items = []
|
||||
for (let skill of skills) {
|
||||
if (skill.system.categorie == "utile") {
|
||||
data.items.push( skill.toObject())
|
||||
}
|
||||
data.items.push(skill.toObject())
|
||||
}
|
||||
}
|
||||
}
|
||||
if (data.type == 'creature') {
|
||||
@ -162,7 +162,7 @@ export class HeritiersActor extends Actor {
|
||||
prepareUtileSkill(item) {
|
||||
let specList = []
|
||||
if (item.system.categorie == "utile") {
|
||||
for (let spec of item.system.specialites) {
|
||||
for (let spec of item.system.specialites) {
|
||||
specList.push(spec.name)
|
||||
}
|
||||
}
|
||||
@ -190,12 +190,12 @@ export class HeritiersActor extends Actor {
|
||||
return comp
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
organizeContacts( ) {
|
||||
organizeContacts() {
|
||||
let contactList = {}
|
||||
for (let item of this.items) {
|
||||
if (item.type == "contact") {
|
||||
let c = contactList[item.system.contacttype] || { label: game.system.lesheritiers.config.contactType[item.system.contacttype], list: [] }
|
||||
c.list.push( item )
|
||||
c.list.push(item)
|
||||
contactList[item.system.contacttype] = c
|
||||
}
|
||||
}
|
||||
@ -524,7 +524,7 @@ export class HeritiersActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async rollInitiative() {
|
||||
let rollData = this.getCommonRollData(undefined, "Art de la guerre")
|
||||
rollData.mode = "init"
|
||||
rollData.mode = "init"
|
||||
if (this.system.caracteristiques["san"].value > this.system.caracteristiques["per"].value) {
|
||||
rollData.caracKey = "san"
|
||||
} else {
|
||||
@ -534,11 +534,11 @@ export class HeritiersActor extends Actor {
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCarac(key, isInit = false) {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "carac"
|
||||
rollData.mode = "carac"
|
||||
rollData.carac = this.system.caracteristiques[key]
|
||||
rollData.caracKey = key
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
@ -563,13 +563,32 @@ export class HeritiersActor extends Actor {
|
||||
competenceName = "Mêlée"
|
||||
key = "agi"
|
||||
}
|
||||
let rollData = this.getCommonRollData(undefined, competenceName )
|
||||
let rollData = this.getCommonRollData(undefined, competenceName)
|
||||
rollData.carac = this.system.caracteristiques[key]
|
||||
rollData.caracKey = key
|
||||
rollData.arme = duplicate(arme)
|
||||
rollData.mode = "arme"
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollPouvoir(pouvoirId) {
|
||||
let pouvoir = this.items.get(pouvoirId)
|
||||
if (pouvoir) {
|
||||
let rollData = this.getCommonRollData(undefined, undefined)
|
||||
if ( pouvoir.system.feeriemasque != "autre") {
|
||||
rollData.pouvoirBase = duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
|
||||
rollData.pouvoirBase.label = "Féerie"
|
||||
rollData.carac = duplicate(this.system.caracteristiques[pouvoir.system.carac])
|
||||
rollData.caracKey = pouvoir.system.carac
|
||||
}
|
||||
rollData.pouvoir = duplicate(pouvoir)
|
||||
rollData.mode = "pouvoir"
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
}
|
||||
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollArmeOffensif(armeId) {
|
||||
|
@ -8,7 +8,7 @@ export const HERITIERS_CONFIG = {
|
||||
"prec": "Précision",
|
||||
"esp": "Esprit",
|
||||
"per": "Perception",
|
||||
"pres": "Préstance",
|
||||
"pres": "Prestance",
|
||||
"san": "Sang-Froid"
|
||||
},
|
||||
|
||||
@ -34,7 +34,7 @@ export const HERITIERS_CONFIG = {
|
||||
},
|
||||
baseTestPouvoir: {
|
||||
"feerie": "Féerie",
|
||||
"Masque": "Masque",
|
||||
"masque": "Masque",
|
||||
"autre": "Autre"
|
||||
},
|
||||
resistancePouvoir: {
|
||||
|
@ -16,7 +16,8 @@ export const defaultItemImg = {
|
||||
accessoire: "systems/fvtt-les-heritiers/assets/icons/item.webp",
|
||||
protection: "systems/fvtt-les-heritiers/assets/icons/armor.webp",
|
||||
fee: "systems/fvtt-les-heritiers/assets/icons/faery_type.webp",
|
||||
profil: "systems/fvtt-les-heritiers/assets/icons/profil.webp"
|
||||
profil: "systems/fvtt-les-heritiers/assets/icons/profil.webp",
|
||||
equipement: "systems/fvtt-les-heritiers/assets/icons/equipement.webp",
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -362,15 +362,13 @@ export class HeritiersUtility {
|
||||
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
||||
let specBonus = (rollData.useSpecialite) ? 1 : 0
|
||||
rollData.diceFormula += `+${rollData.carac.value}+${rollData.competence.system.niveau}+${specBonus}+${rollData.bonusMalusContext}+${compmod}`
|
||||
} else if (rollData.pouvoirBase) {
|
||||
rollData.diceFormula += `+${rollData.pouvoirBase.value}+${rollData.bonusMalusContext}`
|
||||
} else {
|
||||
rollData.diceFormula += `+${rollData.carac.value}+${rollData.bonusMalusContext}`
|
||||
}
|
||||
rollData.diceFormula += `+${rollData.pvMalus}`
|
||||
|
||||
if (rollData.arme && rollData.arme.type == "arme") {
|
||||
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
||||
}
|
||||
|
||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.roll = myRoll
|
||||
@ -382,6 +380,17 @@ export class HeritiersUtility {
|
||||
actor.setFlag("world", "last-initiative", rollData.finalResult)
|
||||
}
|
||||
|
||||
// Compute damages, cf p 187
|
||||
if (rollData.arme && rollData.isSuccess) {
|
||||
rollData.degatsArme = rollData.arme.system.degats + rollData.marge
|
||||
if (rollData.arme.system.categorie == "lourde" ) {
|
||||
rollData.degatsArme += actor.system.caracteristiques.for.value
|
||||
}
|
||||
if (rollData.arme.system.categorie == "blanche" || rollData.arme.system.categorie == "improvise" ) {
|
||||
rollData.degatsArme += Math.max(0, actor.system.caracteristiques.for.value - 2)
|
||||
}
|
||||
}
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
|
||||
}, rollData)
|
||||
|
Reference in New Issue
Block a user