Start 0.8 support

This commit is contained in:
2021-05-22 23:42:53 +02:00
parent 6ebc11c518
commit 3d23807820
6 changed files with 57 additions and 42 deletions

View File

@ -175,9 +175,9 @@ export class SoSActorSheet extends ActorSheet {
});
html.find('.consequence-severity').click((event) => {
const li = $(event.currentTarget).parents(".item");
const item = this.actor.getOwnedItem(li.data("item-id"));
const item = this.actor.items.get(li.data("item-id"));
let severity = $(event.currentTarget).val();
this.actor.updateOwnedItem( { id: item.id, 'data.severity': severity});
this.actor.updateEmbeddedDocuments( "Item", [ { _id: item.id, 'data.severity': severity} ] );
this.render(true);
});
html.find('.lock-unlock-sheet').click((event) => {

View File

@ -171,8 +171,8 @@ export class SoSActor extends Actor {
async wornObject( itemID) {
let item = this.getOwnedItem(itemID);
if (item && item.data.data) {
let update = { _id: item._id, "data.worn": !item.data.data.worn };
await this.updateEmbeddedEntity("OwnedItem", update);
let update = { _id: item.id, "data.worn": !item.data.data.worn };
await this.updateEmbeddedDocuments("Item", [update]);
}
}
@ -180,8 +180,8 @@ export class SoSActor extends Actor {
async equipObject(itemID) {
let item = this.getOwnedItem(itemID);
if (item && item.data.data) {
let update = { _id: item._id, "data.equiped": !item.data.data.equiped };
await this.updateEmbeddedEntity("OwnedItem", update);
let update = { _id: item.id, "data.equiped": !item.data.data.equiped };
await this.updateEmbeddedDocuments("Item", [update]);
}
}
@ -222,16 +222,16 @@ export class SoSActor extends Actor {
async updateSkill(skillName, value) {
let skill = this.data.items.find( item => item.name == skillName);
if (skill) {
const update = { _id: skill._id, 'data.value': value };
const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity
const update = { _id: skill.id, 'data.value': value };
const updated = await this.updateEmbeddedDocuments("Item", [ update] ); // Updates one EmbeddedEntity
}
}
/* -------------------------------------------- */
async updateSkillExperience(skillName, value) {
let skill = this.data.items.find( item => item.name == skillName);
if (skill) {
const update = { _id: skill._id, 'data.xp': value };
const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity
const update = { _id: skill.id, 'data.xp': value };
const updated = await this.updateEmbeddedDocuments("Item", [update]); // Updates one EmbeddedEntity
}
}
@ -387,10 +387,10 @@ export class SoSActor extends Actor {
if ( alreadyInside.length >= container.data.container ) {
ui.notifications.warn("Container is already full !");
} else {
await this.updateOwnedItem( { _id: object._id, 'data.containerid':containerId });
await this.updateOwnedItem( { _id: object.id, 'data.containerid':containerId });
}
} else if ( object && object.data.containerid) { // remove from container
await this.updateOwnedItem( { _id: object._id, 'data.containerid':"" });
await this.updateOwnedItem( { _id: object.id, 'data.containerid':"" });
}
}
@ -416,7 +416,7 @@ export class SoSActor extends Actor {
if ( sumWound >= this.data.data.scores.wound.value) {
let bleeding = this.data.items.find( item => item.type == 'consequence' && item.name == 'Bleeding');
let newSeverity = SoSUtility.increaseConsequenceSeverity( bleeding.severity );
await this.updateOwnedItem( { _id: bleeding._id, 'data.severity': newSeverity});
await this.updateOwnedItem( { _id: bleeding.id, 'data.severity': newSeverity});
flipData.isBleeding = newSeverity;
}
// Stun consequence
@ -426,7 +426,7 @@ export class SoSActor extends Actor {
for(i=0; i<flipData.nbStun; i++) {
newSeverity = SoSUtility.increaseConsequenceSeverity( newSeverity );
}
await this.updateOwnedItem( { _id: stun._id, 'data.severity': newSeverity});
await this.updateOwnedItem( { _id: stun.id, 'data.severity': newSeverity});
flipData.isStun = newSeverity;
}
await this.update( { 'data.scores.currentwounds': currentWounds, 'data.wounds': wounds } );

View File

@ -43,15 +43,30 @@ export class SoSItemSheet extends ItemSheet {
/* -------------------------------------------- */
async getData() {
let data = super.getData();
data.isGM = game.user.isGM;
if ( data.item.type == 'skillexperience') {
data.skillList = await SoSUtility.loadCompendiumNames("foundryvtt-shadows-over-sol.skills");
const objectData = SoSUtility.data(this.object);
let formData = {
title: this.title,
id: objectData.id,
type: objectData.type,
img: objectData.img,
name: objectData.name,
editable: this.isEditable,
cssClass: this.isEditable ? "editable" : "locked",
data: foundry.utils.deepClone(this.object.data),
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
limited: this.object.limited,
options: this.options,
owner: this.document.isOwner
};
formData.isGM = game.user.isGM;
if ( objectData.type == 'skillexperience') {
formData.skillList = await SoSUtility.loadCompendiumNames("foundryvtt-shadows-over-sol.skills");
}
if ( data.item.type == 'skill' && this.object.options?.actor) {
data.skillExperienceList = this.object.options.actor.getSkillExperience( data.item.name );
if ( objectData.type == 'skill' && this.object.options?.actor) {
formData.skillExperienceList = this.object.options.actor.getSkillExperience( data.item.name );
}
return data;
return formData;
}
/* -------------------------------------------- */