diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a766b3..4e91c1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a These files were always supposed to match interfaces in `schema`. Every json file has a corresponding type in `schema` e.g. ´data/items.json` is of type `schema.Items`. ([#72](https://github.com/eps1lon/poe-mods/pull/72)) +### Fixed +- Fixed master meta mods not being applicable to items. + ([#77](https://github.com/eps1lon/poe-mods/pull/77)) ## [1.11.0](https://github.com/eps1lon/poe-mods/compare/v1.10.0...v1.11.0) (2018-06-31) ### Added diff --git a/src/generators/MasterBenchOption.ts b/src/generators/MasterBenchOption.ts index a281731..69db00a 100644 --- a/src/generators/MasterBenchOption.ts +++ b/src/generators/MasterBenchOption.ts @@ -72,7 +72,7 @@ export default class MasterBenchOption extends Generator { } /** - * every item is welcome + * Can accept only certain itemclasses */ public applicableTo(item: Item): ApplicableFlags { const applicable_flags = { @@ -81,6 +81,8 @@ export default class MasterBenchOption extends Generator { const { item_classes } = this.props; applicable_flags.wrong_itemclass = + // no item classes means every item is welcome + item_classes.length > 0 && item_classes.find( item_class => item_class === item.baseitem.item_class, ) === undefined; diff --git a/src/generators/__tests__/__snapshots__/mod_list.ts.snap b/src/generators/__tests__/__snapshots__/mod_list.ts.snap index 6af2d5f..aba890d 100644 --- a/src/generators/__tests__/__snapshots__/mod_list.ts.snap +++ b/src/generators/__tests__/__snapshots__/mod_list.ts.snap @@ -5106,6 +5106,32 @@ Array [ "mod": "StrMasterWeaponElementalDamageCrafted1_", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrMasterItemGenerationCannotChangePrefixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrIntMasterItemGenerationCanHaveMultipleCraftedMods", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -5132,6 +5158,45 @@ Array [ "mod": "DexMasterMovementVelocityCrafted3", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "DexMasterItemGenerationCannotChangeSuffixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "IntMasterItemGenerationCannotRollAttackAffixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrDexMasterItemGenerationCannotRollCasterAffixes", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -5145,6 +5210,19 @@ Array [ "mod": "PvPMasterKnockbackAvoidanceChanceCrafted", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "PvPMasterLevel28Crafting", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -8310,6 +8388,45 @@ Array [ "mod": "StrMasterAttackSpeedCrafted1", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrMasterItemGenerationCannotChangePrefixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrIntMasterItemGenerationCanHaveMultipleCraftedMods", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "DexMasterItemGenerationCannotChangeSuffixes", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -8336,6 +8453,32 @@ Array [ "mod": "IntMasterMinionDamageCrafted", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "IntMasterItemGenerationCannotRollAttackAffixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrDexMasterItemGenerationCannotRollCasterAffixes", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -8388,6 +8531,19 @@ Array [ "mod": "PvPMasterIgniteAvoidanceChanceCrafted", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "PvPMasterLevel28Crafting", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -12558,6 +12714,71 @@ Array [ "mod": "StrMasterDamageReflection", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrMasterItemGenerationCannotChangePrefixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrIntMasterItemGenerationCanHaveMultipleCraftedMods", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "DexMasterItemGenerationCannotChangeSuffixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "IntMasterItemGenerationCannotRollAttackAffixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrDexMasterItemGenerationCannotRollCasterAffixes", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -12571,6 +12792,19 @@ Array [ "mod": "PvPMasterStunAvoidanceChanceCrafted__", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "PvPMasterLevel28Crafting", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -31270,6 +31504,32 @@ Array [ "mod": "IntMasterAddedLightningDamageSpellsCrafted2", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrMasterItemGenerationCannotChangePrefixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrIntMasterItemGenerationCanHaveMultipleCraftedMods", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -31582,6 +31842,19 @@ Array [ "mod": "DexMasterAttackProjectilesReturnCrafted", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "DexMasterItemGenerationCannotChangeSuffixes", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -31699,6 +31972,32 @@ Array [ "mod": "IntMasterChanceToFreezeCrafted", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "IntMasterItemGenerationCannotRollAttackAffixes", + "type": "Mod", + }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "StrDexMasterItemGenerationCannotRollCasterAffixes", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false, @@ -31725,6 +32024,19 @@ Array [ "mod": "PvPMasterDegenerationDamageCrafted", "type": "Mod", }, + Object { + "applicable": Object { + "above_lld_level": false, + "already_present": false, + "domain_full": false, + "lower_ilvl": false, + "no_multimod": false, + "wrong_domain": false, + "wrong_itemclass": false, + }, + "mod": "PvPMasterLevel28Crafting", + "type": "Mod", + }, Object { "applicable": Object { "above_lld_level": false,