Skip to content

Commit b95eeba

Browse files
committed
Merge pull request #246 from bhollis/rerollable
is:rerollable filter
2 parents 7f6bb84 + e0d84ef commit b95eeba

File tree

3 files changed

+35
-11
lines changed

3 files changed

+35
-11
lines changed

app/scripts/services/dimStoreService.factory.js

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,7 @@
573573
visible: true,
574574
hasAscendNode: false,
575575
ascended: false,
576+
hasReforgeNode: false,
576577
lockable: item.lockable,
577578
locked: item.locked,
578579
weaponClass: weaponClass || '',
@@ -608,21 +609,31 @@
608609

609610
var talents = talentDefs.data[item.talentGridHash];
610611

611-
var ascendNode = (talents) ? _.filter(talents.nodes, function(node) {
612-
return _.some(node.steps, function(step) {
613-
return step.nodeStepName === 'Ascend';
612+
if (talents) {
613+
var ascendNode = _.filter(talents.nodes, function(node) {
614+
return _.any(node.steps, function(step) {
615+
return step.nodeStepName === 'Ascend';
616+
});
614617
});
615-
}) : undefined;
616618

617-
if (!_.isUndefined(ascendNode) && _.size(ascendNode) > 0) {
618-
createdItem.hasAscendNode = true;
619-
createdItem.ascended = _.filter(item.nodes, function(node) {
620-
return node.nodeHash === ascendNode[0].nodeHash;
621-
})[0].isActivated;
619+
if (!_.isEmpty(ascendNode)) {
620+
createdItem.hasAscendNode = true;
621+
createdItem.ascended = _.filter(item.nodes, function(node) {
622+
return node.nodeHash === ascendNode[0].nodeHash;
623+
})[0].isActivated;
622624

623-
if (!createdItem.ascended) {
624-
createdItem.complete = false;
625+
if (!createdItem.ascended) {
626+
createdItem.complete = false;
627+
}
625628
}
629+
630+
var reforgeNodes = _.filter(talents.nodes, function(node) {
631+
return _.any(node.steps, function(step) {
632+
return step.nodeStepName === 'Reforge Ready';
633+
});
634+
});
635+
636+
createdItem.hasReforgeNode = !_.isEmpty(reforgeNodes);
626637
}
627638

628639
_.each(createdItem.perks, function(perk) {

app/scripts/shell/dimSearchFilter.directive.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@
146146
'dupe': ['dupe', 'duplicate'],
147147
'unascended': ['unascended', 'unassended', 'unasscended'],
148148
'ascended': ['ascended', 'assended', 'asscended'],
149+
'reforgeable': ['reforgeable', 'reforge', 'rerollable', 'reroll'],
149150
'locked': ['locked'],
150151
'unlocked': ['unlocked'],
151152
'stackable': ['stackable'],
@@ -198,6 +199,9 @@
198199
'unascended': function(predicate, item) {
199200
return !filterFns.ascended(predicate, item);
200201
},
202+
'reforgeable': function(predicate, item) {
203+
return item.hasReforgeNode;
204+
},
201205
'unlocked': function(predicate, item) {
202206
return item.lockable && !item.locked;
203207
},

app/views/filters.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,15 @@ <h1 class="orange">Filters</h1>
7272
</td>
7373
<td>Shows items that have an ascend node and if they have been ascended or not.</td>
7474
</tr>
75+
<tr>
76+
<td>
77+
<span>is:reforgeable</span>
78+
<span>is:reforge</span>
79+
<span>is:rerollable</span>
80+
<span>is:reroll</span>
81+
</td>
82+
<td>Shows items that can be reforged at the Gunsmith.</td>
83+
</tr>
7584
<tr>
7685
<td>
7786
<span>is:incomplete</span>

0 commit comments

Comments
 (0)