Merge branch 'v1.4' into 'dev_0.8'
# Conflicts: # module/actor-sheet.js # system.json # templates/actor-sheet.html
This commit is contained in:
@@ -114,6 +114,16 @@ export class RdDActor extends Actor {
|
||||
if (actorData.type === 'vehicule') this._prepareVehiculeData(actorData);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
setRollWindowsOpened( flag ) {
|
||||
this.rollWindowsOpened = flag;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
isRollWindowsOpened( ) {
|
||||
return this.rollWindowsOpened;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_prepareCreatureData(actorData) {
|
||||
this.computeEncombrementTotalEtMalusArmure();
|
||||
@@ -305,18 +315,19 @@ export class RdDActor extends Actor {
|
||||
}
|
||||
return duplicate(list[0]);
|
||||
}
|
||||
getDemiReve() {
|
||||
return this.data.data.reve.tmrpos.coord;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async deleteSortReserve(sortReserve) {
|
||||
let reserve = duplicate(this.data.data.reve.reserve);
|
||||
let len = reserve.list.length;
|
||||
let i = 0;
|
||||
let newTable = [];
|
||||
for (i = 0; i < len; i++) {
|
||||
if (reserve.list[i].coord != sortReserve.coord && reserve.list[i].sort.name != sortReserve.sort.name)
|
||||
newTable.push(reserve.list[i]);
|
||||
}
|
||||
if (newTable.length != len) {
|
||||
reserve.list = newTable;
|
||||
let tmr = TMRUtility.getTMR(sortReserve.coord);
|
||||
let index = reserve.list.findIndex(tmr.type == 'fleuve'
|
||||
? sort => (TMRUtility.getTMR(sort.coord).type == 'fleuve' && sort.sort.name == sortReserve.sort.name)
|
||||
: sort => (sort.coord == sortReserve.coord && sort.sort.name == sortReserve.sort.name)
|
||||
);
|
||||
if (index >=0 ) {
|
||||
reserve.list.splice(index,1);
|
||||
await this.update({ "data.reve.reserve": reserve });
|
||||
}
|
||||
}
|
||||
@@ -486,7 +497,7 @@ export class RdDActor extends Actor {
|
||||
async dormir(heures = 1) {
|
||||
let message = {
|
||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
|
||||
content: this.name + ": Vous dormez " + heures + (heures > 1 ? " heures. " : "heure. ")
|
||||
content: `${this.name}: Vous dormez ${heures == 1 ? 'une': heures} heure${heures == 1 ? '': 's'}.`
|
||||
};
|
||||
await this.recupereEndurance(message);
|
||||
for (let i = 0; i < heures; i++) {
|
||||
@@ -1151,26 +1162,6 @@ export class RdDActor extends Actor {
|
||||
return tmrInnaccessibles.map(it => it.data.coord);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
displayTMRQueueSouffleInformation() {
|
||||
let messages = [];
|
||||
for (let item of this.data.items) {
|
||||
if (EffetsDraconiques.isUrgenceDraconique(item)) {
|
||||
messages.push("Vous souffrez d'une <strong>Urgence Draconique</strong> : " + item.data.description);
|
||||
}
|
||||
if (EffetsDraconiques.isPeriple(item)) {
|
||||
messages.push("Vous souffrez du Souffle <strong>Périple</strong>. Vous devez gérer manuellement le détail du Périple.<br>" + item.data.description);
|
||||
}
|
||||
}
|
||||
|
||||
if (messages.length > 0) {
|
||||
ChatMessage.create({
|
||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
||||
content: "RAPPEL !<br>" + messages.join('<hr>')
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getTMRRencontres() {
|
||||
return this.data.data.reve.rencontre;
|
||||
@@ -1184,7 +1175,7 @@ export class RdDActor extends Actor {
|
||||
//console.log("List", rencontres, len);
|
||||
let newTable = [];
|
||||
for (i = 0; i < len; i++) {
|
||||
if (rencontres.list[i].coord != this.data.data.reve.tmrpos.coord)
|
||||
if (rencontres.list[i].coord != this.getDemiReve())
|
||||
newTable.push(rencontres.list[i]);
|
||||
}
|
||||
if (newTable.length != len) {
|
||||
@@ -1201,7 +1192,7 @@ export class RdDActor extends Actor {
|
||||
let i = 0;
|
||||
let already = false;
|
||||
for (i = 0; i < len; i++) {
|
||||
if (rencontres.list[i].coord == this.data.data.reve.tmrpos.coord)
|
||||
if (rencontres.list[i].coord == this.getDemiReve())
|
||||
already = true;
|
||||
}
|
||||
if (!already) {
|
||||
@@ -1223,9 +1214,7 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async updateCoordTMR(coord) {
|
||||
let tmrPos = duplicate(this.data.data.reve.tmrpos);
|
||||
tmrPos.coord = coord;
|
||||
await this.update({ "data.reve.tmrpos": tmrPos });
|
||||
await this.update({ "data.reve.tmrpos.coord": coord });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -2784,6 +2773,14 @@ export class RdDActor extends Actor {
|
||||
await this.setFlag('foundryvtt-reve-de-dragon', 'itemUse', {} );
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async decItemUse( itemId ) {
|
||||
let itemUse = duplicate(this.getFlag('foundryvtt-reve-de-dragon', 'itemUse') ?? {});
|
||||
itemUse[itemId] = (itemUse[itemId] ?? 0) - 1;
|
||||
await this.setFlag( 'foundryvtt-reve-de-dragon', 'itemUse', itemUse);
|
||||
console.log("ITEM USE DEC", itemUse);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async incItemUse( itemId ) {
|
||||
let itemUse = duplicate(this.getFlag('foundryvtt-reve-de-dragon', 'itemUse') ?? {});
|
||||
@@ -3186,6 +3183,9 @@ export class RdDActor extends Actor {
|
||||
case 'souffle':
|
||||
await this.onDeleteOwnedDraconique(item, options, id);
|
||||
break;
|
||||
case 'casetmr':
|
||||
await this.onDeleteOwnedCaseTmr(item, options, id);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3207,6 +3207,13 @@ export class RdDActor extends Actor {
|
||||
}
|
||||
}
|
||||
|
||||
async onDeleteOwnedCaseTmr(item, options, id) {
|
||||
let draconique = Draconique.all().find(it => it.isCase(item));
|
||||
if (draconique) {
|
||||
draconique.onActorDeleteCaseTmr(this, item)
|
||||
}
|
||||
}
|
||||
|
||||
notifyGestionTeteSouffleQueue(item, manualMessage=true){
|
||||
ChatMessage.create({
|
||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
||||
|
||||
Reference in New Issue
Block a user