Fix gears and containers
This commit is contained in:
@@ -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':"" }]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user