Fix gears and containers

This commit is contained in:
2022-03-05 23:39:35 +01:00
parent e608945133
commit ae2d926324
5 changed files with 19 additions and 17 deletions

View File

@@ -169,7 +169,7 @@ export class SoSActor extends Actor {
/* -------------------------------------------- */
async wornObject( itemID) {
let item = this.getOwnedItem(itemID);
let item = this.items.get(itemID);
if (item && item.data.data) {
let update = { _id: item.id, "data.worn": !item.data.data.worn };
await this.updateEmbeddedDocuments("Item", [update]);
@@ -178,7 +178,7 @@ export class SoSActor extends Actor {
/* -------------------------------------------- */
async equipObject(itemID) {
let item = this.getOwnedItem(itemID);
let item = this.items.get(itemID)
if (item && item.data.data) {
let update = { _id: item.id, "data.equiped": !item.data.data.equiped };
await this.updateEmbeddedDocuments("Item", [update]);
@@ -376,21 +376,22 @@ export class SoSActor extends Actor {
/* -------------------------------------------- */
async addObjectToContainer( itemId, containerId ) {
let container = this.data.items.find( item => item._id == containerId && item.type == 'container');
let object = this.data.items.find( item => item._id == itemId );
let container = this.data.items.find( item => item.id == containerId && item.type == 'container')
let object = this.data.items.find( item => item.id == itemId )
//console.log("Found", container, object)
if ( container ) {
if ( object.type == 'container') {
ui.notifications.warn("Only 1 level of container... sorry");
return
}
let alreadyInside = this.data.items.filter( item => item.data.containerid && item.data.containerid == containerId);
if ( alreadyInside.length >= container.data.container ) {
let alreadyInside = this.data.items.filter( item => item.data.data.containerid && item.data.data.containerid == containerId);
if ( alreadyInside.length >= container.data.data.container ) {
ui.notifications.warn("Container is already full !");
} else {
await this.updateOwnedItem( { _id: object.id, 'data.containerid':containerId });
await this.updateEmbeddedDocuments( "Item", [{ _id: object.id, 'data.containerid':containerId }]);
}
} else if ( object && object.data.containerid) { // remove from container
await this.updateOwnedItem( { _id: object.id, 'data.containerid':"" });
} else if ( object && object.data.data.containerid) { // remove from container
await this.updateEmbeddedDocuments( "Item", [{ _id: object.id, 'data.containerid':"" }]);
}
}