@@ -140,18 +140,16 @@ export default class ActorSheetSS2e extends ActorSheet {
140
140
. find ( '.minus-1-initiative' )
141
141
. on ( 'click' , this . _onMinusInitiative . bind ( this ) ) ;
142
142
143
+ //Create Inventory Item
143
144
html . find ( '.item-create' ) . on ( 'click' , this . _onItemCreate . bind ( this ) ) ;
144
145
145
146
// Update Inventory Item
146
- html . find ( '.item-edit' ) . on ( 'click' , ( ev ) => {
147
- const li = $ ( ev . currentTarget ) . parents ( '.item' ) ;
148
- const item = this . actor . getOwnedItem ( li . data ( 'itemId' ) ) ;
149
- item . sheet . render ( true ) ;
150
- } ) ;
147
+ html . find ( '.item-edit' ) . on ( 'click' , this . _onItemEdit . bind ( this ) ) ;
151
148
152
149
// Delete Inventory Item
153
150
html . find ( '.item-delete' ) . on ( 'click' , this . _onItemDelete . bind ( this ) ) ;
154
151
152
+ //Expand item summary
155
153
html
156
154
. find ( '.item h4.item-name' )
157
155
. on ( 'click' , ( event ) => this . _onItemSummary ( event ) ) ;
@@ -351,8 +349,9 @@ export default class ActorSheetSS2e extends ActorSheet {
351
349
/* -------------------------------------------- */
352
350
353
351
/**
354
- * Handle creating a new Owned Item for the actor using initial data defined in the HTML dataset
355
- * @param {Event } event The originating click event
352
+ * Handle creating a new Owned Item for the actor using initial data defined in the HTML dataset.
353
+ * @param {Event } event The originating click event.
354
+ * @returns {Promise<Item5e[]> } The newly created item.
356
355
* @private
357
356
*/
358
357
_onItemCreate ( event ) {
@@ -365,14 +364,30 @@ export default class ActorSheetSS2e extends ActorSheet {
365
364
name : game . i18n . localize ( `SVNSEA2E.New${ type } ` ) ,
366
365
img : `systems/svnsea2e/icons/${ type } .jpg` ,
367
366
type : type ,
368
- data : duplicate ( header . dataset ) ,
367
+ data : foundry . utils . deepClone ( header . dataset ) ,
369
368
} ;
370
369
// Remove the type from the dataset since it's in the itemData.type prop.
371
370
delete itemData . data . type ;
372
371
373
372
// Finally, create the item!
374
- return this . actor . createOwnedItem ( itemData ) ;
373
+ return this . actor . createEmbeddedDocuments ( 'Item' , [ itemData ] ) ;
374
+ }
375
+
376
+ /* -------------------------------------------- */
377
+
378
+ /**
379
+ * Handle editing an existing Owned Item for the Actor.
380
+ * @param {Event } event The originating click event.
381
+ * @returns {ItemSheet5e } The rendered item sheet.
382
+ * @private
383
+ */
384
+ _onItemEdit ( event ) {
385
+ event . preventDefault ( ) ;
386
+ const li = event . currentTarget . closest ( '.item' ) ;
387
+ const item = this . actor . items . get ( li . dataset . itemId ) ;
388
+ return item . sheet . render ( true ) ;
375
389
}
390
+
376
391
/* -------------------------------------------- */
377
392
378
393
/**
@@ -383,13 +398,14 @@ export default class ActorSheetSS2e extends ActorSheet {
383
398
async _onItemDelete ( event ) {
384
399
event . preventDefault ( ) ;
385
400
const li = event . currentTarget . closest ( '.item' ) ;
386
- const itemid = li . dataset . itemId ;
401
+ const item = this . actor . items . get ( li . dataset . itemId ) ;
387
402
388
- const item = this . actor . getOwnedItem ( itemid ) ;
389
- if ( item && item . data . type === 'background' )
390
- await this . _processBackgroundDelete ( item . data . data ) ;
403
+ if ( item ) {
404
+ if ( item . data . type === 'background' )
405
+ await this . _processBackgroundDelete ( item . data . data ) ;
391
406
392
- await this . actor . deleteOwnedItem ( itemid ) ;
407
+ return item . delete ( ) ;
408
+ }
393
409
}
394
410
395
411
/* -------------------------------------------- */
@@ -400,8 +416,8 @@ export default class ActorSheetSS2e extends ActorSheet {
400
416
*/
401
417
async _onItemSummary ( event ) {
402
418
event . preventDefault ( ) ;
403
- const li = $ ( event . currentTarget ) . parents ( '.item' ) ;
404
- const item = this . actor . getOwnedItem ( li . data ( 'item-id ' ) ) ;
419
+ const li = $ ( event . currentTarget ) . closest ( '.item' ) ;
420
+ const item = this . actor . items . get ( li . data ( 'itemId ' ) ) ;
405
421
const chatData = item . getChatData ( { secrets : this . actor . owner } ) ;
406
422
407
423
// Toggle summary
@@ -620,9 +636,9 @@ export default class ActorSheetSS2e extends ActorSheet {
620
636
621
637
for ( let a = 0 ; a < bkgData . advantages . length ; a ++ ) {
622
638
// need to grab the advantage first from world then compendium
623
- let advantage = game . items . entities . find (
624
- ( entry ) => entry . data . name === bkgData . advantages [ a ] ,
625
- ) ;
639
+ let advantage = game . items
640
+ . values ( )
641
+ . find ( ( entry ) => entry . data . name === bkgData . advantages [ a ] ) ;
626
642
if ( ! advantage ) {
627
643
// now we see if it is in a compendium
628
644
for ( var p = 0 ; p < packAdvs . length ; p ++ ) {
@@ -1137,12 +1153,12 @@ export default class ActorSheetSS2e extends ActorSheet {
1137
1153
const rollMode = game . settings . get ( 'core' , 'rollMode' ) ;
1138
1154
// Basic chat message
1139
1155
const chatData = {
1140
- user : game . user . _id ,
1156
+ user : game . user . id ,
1141
1157
type : CONST . CHAT_MESSAGE_TYPES . OTHER ,
1142
1158
content : html ,
1143
1159
image : actor . img ,
1144
1160
speaker : {
1145
- actor : actor . _id ,
1161
+ actor : actor . id ,
1146
1162
token : actor . token ,
1147
1163
alias : actor . name ,
1148
1164
} ,
0 commit comments