Sante et autrs
This commit is contained in:
@ -39,7 +39,7 @@ export class MournbladeActor extends Actor {
|
||||
|
||||
if (data.type == 'personnage') {
|
||||
const skills = await MournbladeUtility.loadCompendium("fvtt-mournblade.skills")
|
||||
data.items = skills.map(i => i.toObject())
|
||||
data.items = skills.map(i => i.toObject())
|
||||
}
|
||||
if (data.type == 'pnj') {
|
||||
}
|
||||
@ -48,20 +48,20 @@ export class MournbladeActor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareArme( arme){
|
||||
arme = duplicate(arme)
|
||||
prepareArme(arme) {
|
||||
arme = duplicate(arme)
|
||||
let combat = this.getCombatValues()
|
||||
if (arme.data.typearme == "contact" || arme.data.typearme == "contactjet") {
|
||||
arme.data.competence = duplicate(this.data.items.find( item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||
arme.data.competence = duplicate(this.data.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||
arme.data.attrKey = "pui"
|
||||
arme.data.totalDegats = arme.data.degats + "+" + combat.bonusDegatsTotal
|
||||
arme.data.totalOffensif = this.data.data.attributs.pui.value + arme.data.competence.data.niveau + arme.data.bonusmaniementoff
|
||||
if (arme.data.isdefense) {
|
||||
arme.data.totalDefensif = combat.defenseTotal + arme.data.competence.data.niveau + arme.data.bonusmaniementdef
|
||||
arme.data.totalDefensif = combat.defenseTotal + arme.data.competence.data.niveau + arme.data.bonusmaniementdef
|
||||
}
|
||||
}
|
||||
if (arme.data.typearme == "jet" || arme.data.typearme == "tir") {
|
||||
arme.data.competence = duplicate(this.data.items.find( item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
||||
arme.data.competence = duplicate(this.data.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
||||
arme.data.attrKey = "adr"
|
||||
arme.data.totalOffensif = this.data.data.attributs.adr.value + arme.data.competence.data.niveau + arme.data.bonusmaniementoff
|
||||
arme.data.totalDegats = arme.data.degats
|
||||
@ -75,9 +75,9 @@ export class MournbladeActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
getWeapons() {
|
||||
let armes = []
|
||||
for (let arme of this.data.items ) {
|
||||
for (let arme of this.data.items) {
|
||||
if (arme.type == "arme") {
|
||||
armes.push(this.prepareArme( arme) )
|
||||
armes.push(this.prepareArme(arme))
|
||||
}
|
||||
}
|
||||
return armes
|
||||
@ -88,6 +88,13 @@ export class MournbladeActor extends Actor {
|
||||
return this.data.items.filter(item => item.type == "don")
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getTendances() {
|
||||
return this.data.items.filter(item => item.type == "tendance")
|
||||
}
|
||||
getRunes() {
|
||||
return this.data.items.filter(item => item.type == "rune")
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getEquipments() {
|
||||
return this.data.items.filter(item => item.type == "equipement")
|
||||
}
|
||||
@ -95,6 +102,15 @@ export class MournbladeActor extends Actor {
|
||||
getArmors() {
|
||||
return this.data.items.filter(item => item.type == "protection")
|
||||
}
|
||||
getOrigine() {
|
||||
return this.data.items.find(item => item.type == "origine")
|
||||
}
|
||||
getMetier() {
|
||||
return this.data.items.find(item => item.type == "metier")
|
||||
}
|
||||
getHeritage() {
|
||||
return this.data.items.find(item => item.type == "heritage")
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getSkills() {
|
||||
let comp = []
|
||||
@ -115,7 +131,17 @@ export class MournbladeActor extends Actor {
|
||||
comp.push(item)
|
||||
}
|
||||
}
|
||||
return comp
|
||||
return comp.sort(function (a, b) {
|
||||
let fa = a.name.toLowerCase(),
|
||||
fb = b.name.toLowerCase();
|
||||
if (fa < fb) {
|
||||
return -1;
|
||||
}
|
||||
if (fa > fb) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -125,12 +151,12 @@ export class MournbladeActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getDefenseBase() {
|
||||
return this.data.data.attributs.tre.value + 5
|
||||
return this.data.data.attributs.tre.value + 5
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getVitesseBase() {
|
||||
return __vitesseBonus[this.data.data.attributs.adr.value]
|
||||
return 5 + __vitesseBonus[this.data.data.attributs.adr.value]
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -160,13 +186,13 @@ export class MournbladeActor extends Actor {
|
||||
prepareDerivedData() {
|
||||
|
||||
if (this.type == 'personnage') {
|
||||
let newSante = (this.data.data.attributs.pui.value + this.data.data.attributs.tre.value)*2 + 5
|
||||
if (this.data.data.sante.base!=newSante ) {
|
||||
this.update( {'data.sante.base': newSante} )
|
||||
let newSante = this.data.data.sante.bonus + (this.data.data.attributs.pui.value + this.data.data.attributs.tre.value) * 2 + 5
|
||||
if (this.data.data.sante.base != newSante) {
|
||||
this.update({ 'data.sante.base': newSante })
|
||||
}
|
||||
let newAme = (this.data.data.attributs.cla.value + this.data.data.attributs.tre.value)*2 + 5
|
||||
if (this.data.data.ame.base!=newAme ) {
|
||||
this.update( {'data.ame.base': newAme} )
|
||||
let newAme = (this.data.data.attributs.cla.value + this.data.data.attributs.tre.value) * this.data.data.biodata.amemultiplier + 5
|
||||
if (this.data.data.ame.base != newAme) {
|
||||
this.update({ 'data.ame.base': newAme })
|
||||
}
|
||||
}
|
||||
|
||||
@ -261,7 +287,7 @@ export class MournbladeActor extends Actor {
|
||||
getBonusDegats() {
|
||||
return __degatsBonus[this.data.data.attributs.pui.value]
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async equipGear(equipmentId) {
|
||||
let item = this.data.items.find(item => item.id == equipmentId);
|
||||
@ -306,16 +332,16 @@ export class MournbladeActor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCompetence( compId ) {
|
||||
getCompetence(compId) {
|
||||
return this.data.items.get(compId)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async setPredilectionUsed( compId, predIdx) {
|
||||
async setPredilectionUsed(compId, predIdx) {
|
||||
let comp = this.data.items.get(compId)
|
||||
let pred = duplicate(comp.data.data.predilections)
|
||||
pred[predIdx].used = true
|
||||
await this.updateEmbeddedDocuments('Item', [ {_id: compId, 'data.predilections': pred}])
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'data.predilections': pred }])
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -362,7 +388,7 @@ export class MournbladeActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async rollArmeOffensif(armeId) {
|
||||
let arme = this.data.items.get(armeId)
|
||||
arme = this.prepareArme( arme )
|
||||
arme = this.prepareArme(arme)
|
||||
let rollData = this.getCommonRollData(arme.data.attrKey, arme.data.competence._id)
|
||||
rollData.arme = arme
|
||||
console.log("ARME!", rollData)
|
||||
@ -373,16 +399,16 @@ export class MournbladeActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async rollArmeDegats(armeId) {
|
||||
let arme = this.data.items.get(armeId)
|
||||
arme = this.prepareArme( arme )
|
||||
let roll = new Roll(arme.data.totalDegats).roll( {async:false})
|
||||
arme = this.prepareArme(arme)
|
||||
let roll = new Roll(arme.data.totalDegats).roll({ async: false })
|
||||
await MournbladeUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
||||
let rollData = {
|
||||
arme:arme,
|
||||
arme: arme,
|
||||
finalResult: roll.total,
|
||||
alias : this.name,
|
||||
actorImg : this.img,
|
||||
actorId : this.id,
|
||||
actionImg : arme.img,
|
||||
alias: this.name,
|
||||
actorImg: this.img,
|
||||
actorId: this.id,
|
||||
actionImg: arme.img,
|
||||
}
|
||||
MournbladeUtility.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-degats-result.html`, rollData)
|
||||
|
Reference in New Issue
Block a user