@@ -438,9 +438,9 @@ export function initConfig() {
438
438
}
439
439
440
440
async _getButtons ( ) {
441
- const spellItems = this . actor . items . filter ( ( item ) => itemTypes . spell . includes ( item . type ) && actionTypes . action . includes ( item . system . activation ?. type ) ) ;
442
- const featItems = this . actor . items . filter ( ( item ) => itemTypes . feat . includes ( item . type ) && actionTypes . action . includes ( item . system . activation ?. type ) ) ;
443
- const consumableItems = this . actor . items . filter ( ( item ) => itemTypes . consumable . includes ( item . type ) && actionTypes . action . includes ( item . system . activation ?. type ) ) ;
441
+ const spellItems = this . actor . items . filter ( ( item ) => itemTypes . spell . includes ( item . type ) && actionTypes . action . includes ( item . system . activation ?. type ) && ! CoreHUD . DND5E . mainBarFeatures . includes ( item . system . type ?. value ) ) ;
442
+ const featItems = this . actor . items . filter ( ( item ) => itemTypes . feat . includes ( item . type ) && actionTypes . action . includes ( item . system . activation ?. type ) && ! CoreHUD . DND5E . mainBarFeatures . includes ( item . system . type ?. value ) ) ;
443
+ const consumableItems = this . actor . items . filter ( ( item ) => itemTypes . consumable . includes ( item . type ) && actionTypes . action . includes ( item . system . activation ?. type ) && ! CoreHUD . DND5E . mainBarFeatures . includes ( item . system . type ?. value ) ) ;
444
444
445
445
const specialActions = Object . values ( ECHItems ) ;
446
446
@@ -482,7 +482,7 @@ export function initConfig() {
482
482
async _getButtons ( ) {
483
483
const buttons = [ new DND5eItemButton ( { item : null , isWeaponSet : true , isPrimary : false } ) ] ;
484
484
for ( const [ type , types ] of Object . entries ( itemTypes ) ) {
485
- const items = this . actor . items . filter ( ( item ) => types . includes ( item . type ) && actionTypes . bonus . includes ( item . system . activation ?. type ) ) ;
485
+ const items = this . actor . items . filter ( ( item ) => types . includes ( item . type ) && actionTypes . bonus . includes ( item . system . activation ?. type ) && ! CoreHUD . DND5E . mainBarFeatures . includes ( item . system . type ?. value ) ) ;
486
486
if ( ! items . length ) continue ;
487
487
buttons . push ( new DND5eButtonPanelButton ( { type, items, color : 1 } ) ) ;
488
488
}
@@ -522,7 +522,7 @@ export function initConfig() {
522
522
const buttons = [ new DND5eItemButton ( { item : null , isWeaponSet : true , isPrimary : true } ) ] ;
523
523
//buttons.push(new DND5eEquipmentButton({slot: 1}));
524
524
for ( const [ type , types ] of Object . entries ( itemTypes ) ) {
525
- const items = this . actor . items . filter ( ( item ) => types . includes ( item . type ) && actionTypes . reaction . includes ( item . system . activation ?. type ) ) ;
525
+ const items = this . actor . items . filter ( ( item ) => types . includes ( item . type ) && actionTypes . reaction . includes ( item . system . activation ?. type ) && ! CoreHUD . DND5E . mainBarFeatures . includes ( item . system . type ?. value ) ) ;
526
526
if ( ! items . length ) continue ;
527
527
buttons . push ( new DND5eButtonPanelButton ( { type, items, color : 3 } ) ) ;
528
528
}
@@ -562,7 +562,7 @@ export function initConfig() {
562
562
const buttons = [ ] ;
563
563
564
564
for ( const [ type , types ] of Object . entries ( itemTypes ) ) {
565
- const items = this . actor . items . filter ( ( item ) => types . includes ( item . type ) && actionTypes . free . includes ( item . system . activation ?. type ) ) ;
565
+ const items = this . actor . items . filter ( ( item ) => types . includes ( item . type ) && actionTypes . free . includes ( item . system . activation ?. type ) && ! CoreHUD . DND5E . mainBarFeatures . includes ( item . system . type ?. value ) ) ;
566
566
if ( ! items . length ) continue ;
567
567
buttons . push ( new DND5eButtonPanelButton ( { type, items, color : 2 } ) ) ;
568
568
}
@@ -636,6 +636,11 @@ export function initConfig() {
636
636
return null ;
637
637
}
638
638
639
+ get visible ( ) {
640
+ if ( ! this . _isWeaponSet || this . _isPrimary ) return super . visible ;
641
+ return super . visible && ! this . item ?. system ?. armor ?. type === "shield" ;
642
+ }
643
+
639
644
async getTooltipData ( ) {
640
645
const tooltipData = await getTooltipDetails ( this . item ) ;
641
646
tooltipData . propertiesLabel = "enhancedcombathud-dnd5e.tooltip.properties.name" ;
@@ -703,7 +708,7 @@ export function initConfig() {
703
708
return Math . floor ( ( chargesItem . system . uses ?. value ?? 0 ) / this . item . system . consume . amount ) ;
704
709
} else if ( showQuantityItemTypes . includes ( this . item . type ) ) {
705
710
return this . item . system . uses ?. value ?? this . item . system . quantity ;
706
- } else if ( this . item . system . uses . value !== null ) {
711
+ } else if ( this . item . system . uses . value !== null && this . item . system . uses . per !== null ) {
707
712
return this . item . system . uses . value ;
708
713
}
709
714
return null ;
@@ -845,8 +850,18 @@ export function initConfig() {
845
850
}
846
851
847
852
class DND5eMovementHud extends ARGON . MovementHud {
853
+
854
+ constructor ( ...args ) {
855
+ super ( ...args ) ;
856
+ this . getMovementMode = game . modules . get ( 'elevation-drag-ruler' ) ?. api ?. getMovementMode ;
857
+ }
858
+
859
+ get movementMode ( ) {
860
+ return this . getMovementMode ? this . getMovementMode ( this . token ) : 'walk' ;
861
+ }
862
+
848
863
get movementMax ( ) {
849
- return this . actor . system . attributes . movement . walk / canvas . scene . dimensions . distance ;
864
+ return this . actor . system . attributes . movement [ this . movementMode ] / canvas . scene . dimensions . distance ;
850
865
}
851
866
}
852
867
0 commit comments