Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
efc35ea
Add Orbs of Rebirth / Sinistral Rebirth / Dextral Rebirth
AltimorTASDK Aug 23, 2025
920228d
fix dextral rebirth using wrong mod
AltimorTASDK Aug 23, 2025
79e7de0
tweak sprites
AltimorTASDK Aug 23, 2025
5dbbe50
fix affix requirement on sinistral/dextral
AltimorTASDK Aug 23, 2025
e11a344
adjust rarity and potential cost of rebirth orbs
AltimorTASDK Aug 23, 2025
1b0d530
add shading to outline on sprites
AltimorTASDK Aug 23, 2025
c563589
Add Orb of Ascension (rarity upgrade)
AltimorTASDK Aug 24, 2025
66d2034
improve orb of ascension description
AltimorTASDK Aug 24, 2025
399d46a
remove sockets when upgrading rarity
AltimorTASDK Aug 24, 2025
e574413
add orb of colors (common to random rarity)
AltimorTASDK Aug 24, 2025
1d943cb
update orb of colors sprite
AltimorTASDK Aug 24, 2025
39d23a0
another sprite tweak
AltimorTASDK Aug 24, 2025
c315e22
fix off by one in socket removal
AltimorTASDK Aug 24, 2025
f0cfb60
fix message for HAS_HIGHER_RARITY
AltimorTASDK Aug 24, 2025
39b9fac
add Orb of Runic Invocation
AltimorTASDK Oct 8, 2025
74208d4
new texture for orb of runic invocation
AltimorTASDK Oct 8, 2025
4108844
add chance to destroy for runic invocation
AltimorTASDK Oct 8, 2025
8e28c10
remove unused imports
AltimorTASDK Oct 9, 2025
50bb8d7
add Orb of Introspection (base stat reroll)
AltimorTASDK Oct 9, 2025
76ecb60
add Orb of Revelation (implicit reroll)
AltimorTASDK Oct 9, 2025
c65a2b4
improve shading on Orbs of Rebirth
AltimorTASDK Oct 9, 2025
9a53cbb
Add Orb of Western/Eastern Ciphers
AltimorTASDK Oct 9, 2025
58e0d05
add outline to top of orb of ascension
AltimorTASDK Oct 9, 2025
34d9955
add extra flame pixel on Orb of Revelation
AltimorTASDK Oct 9, 2025
332d54d
remove unused import
AltimorTASDK Oct 9, 2025
b5ea289
another small shading improvement
AltimorTASDK Oct 9, 2025
fbdbab4
remove redundant has implicit req on orb of revelation
AltimorTASDK Oct 9, 2025
32dd6c4
center western/eastern ciphers sprites
AltimorTASDK Oct 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,36 @@ public ExileCurrencies(ModRequiredRegisterInfo modRegisterInfo) {
.weight(CodeCurrency.Weights.COMMON)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_ALL_AFFIXES = ExileCurrency.Builder.of("affix_reroll_all", "Orb of Rebirth", ItemReqs.INSTANCE.IS_GEAR)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.rarity(IRarity.RARE_ID)
.addRequirement(ItemReqs.INSTANCE.HAS_AFFIXES)
.addAlwaysUseModification(ItemMods.INSTANCE.REROLL_ALL_AFFIXES)
.potentialCost(10)
.weight(CodeCurrency.Weights.COMMON)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_ALL_PREFIXES = ExileCurrency.Builder.of("prefix_reroll_all", "Orb of Sinistral Rebirth", ItemReqs.INSTANCE.IS_GEAR)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.rarity(IRarity.EPIC_ID)
.addRequirement(ItemReqs.INSTANCE.HAS_PREFIXES)
.addAlwaysUseModification(ItemMods.INSTANCE.REROLL_ALL_PREFIXES)
.potentialCost(20)
.weight(CodeCurrency.Weights.RARE)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_ALL_SUFFIXES = ExileCurrency.Builder.of("suffix_reroll_all", "Orb of Dextral Rebirth", ItemReqs.INSTANCE.IS_GEAR)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.rarity(IRarity.EPIC_ID)
.addRequirement(ItemReqs.INSTANCE.HAS_SUFFIXES)
.addAlwaysUseModification(ItemMods.INSTANCE.REROLL_ALL_SUFFIXES)
.potentialCost(20)
.weight(CodeCurrency.Weights.RARE)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_RANDOM_AFFIX_TO_MYTHIC = ExileCurrency.Builder.of("affix_random_mythic_reroll", "Orb of Divine Benevolence", ItemReqs.INSTANCE.IS_GEAR)
.rarity(IRarity.MYTHIC_ID)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
Expand Down Expand Up @@ -216,6 +246,26 @@ public ExileCurrencies(ModRequiredRegisterInfo modRegisterInfo) {
.weight(CodeCurrency.Weights.COMMON)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_PREFIX_NUMBERS = ExileCurrency.Builder.of("prefix_number_reroll", "Orb of Western Ciphers", ItemReqs.INSTANCE.IS_GEAR)
.rarity(IRarity.EPIC_ID)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.addRequirement(ItemReqs.INSTANCE.HAS_PREFIXES)
.addAlwaysUseModification(ItemMods.INSTANCE.REROLL_PREFIX_NUMBERS)
.potentialCost(10)
.weight(CodeCurrency.Weights.RARE)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_SUFFIX_NUMBERS = ExileCurrency.Builder.of("suffix_number_reroll", "Orb of Eastern Ciphers", ItemReqs.INSTANCE.IS_GEAR)
.rarity(IRarity.EPIC_ID)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.addRequirement(ItemReqs.INSTANCE.HAS_SUFFIXES)
.addAlwaysUseModification(ItemMods.INSTANCE.REROLL_SUFFIX_NUMBERS)
.potentialCost(10)
.weight(CodeCurrency.Weights.RARE)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_IMPLICIT_NUMBERS = ExileCurrency.Builder.of("implicit_number_reroll", "Orb of Genesis", ItemReqs.INSTANCE.IS_GEAR)
.rarity(IRarity.LEGENDARY_ID)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
Expand All @@ -226,6 +276,16 @@ public ExileCurrencies(ModRequiredRegisterInfo modRegisterInfo) {
.weight(CodeCurrency.Weights.RARE)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_IMPLICIT_AFFIX = ExileCurrency.Builder.of("implicit_affix_reroll", "Orb of Revelation", ItemReqs.INSTANCE.IS_GEAR)
.rarity(IRarity.MYTHIC_ID)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.addRequirement(ItemReqs.INSTANCE.HAS_OTHER_IMPLICIT)
.addAlwaysUseModification(ItemMods.INSTANCE.REROLL_IMPLICIT_AFFIX)
.potentialCost(15)
.weight(CodeCurrency.Weights.UBER)
.build(this);

public ExileKey<ExileCurrency, IdKey> UPGRADE_CORRUPTION_AFFIX = ExileCurrency.Builder.of("up_corrupt_affix", "Orb of Foolish Risk",
ItemReqs.INSTANCE.IS_GEAR, ItemReqs.INSTANCE.IS_JEWEL)
.rarity(IRarity.EPIC_ID)
Expand Down Expand Up @@ -268,6 +328,46 @@ public ExileCurrencies(ModRequiredRegisterInfo modRegisterInfo) {
.weight(CodeCurrency.Weights.RARE)
.build(this);

public ExileKey<ExileCurrency, IdKey> UPGRADE_GEAR_RARITY = ExileCurrency.Builder.of("gear_rarity_upgrade", "Orb of Ascension", ItemReqs.INSTANCE.IS_GEAR)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.rarity(IRarity.MYTHIC_ID)
.addRequirement(ItemReqs.INSTANCE.HAS_HIGHER_RARITY)
.addAlwaysUseModification(ItemMods.INSTANCE.UPGRADE_GEAR_RARITY)
.potentialCost(35)
.weight(CodeCurrency.Weights.UBER)
.build(this);

public ExileKey<ExileCurrency, IdKey> RANDOMIZE_GEAR_RARITY = ExileCurrency.Builder.of("gear_rarity_random", "Orb of Colors", ItemReqs.INSTANCE.IS_GEAR)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.rarity(IRarity.UNCOMMON)
.addRequirement(ItemReqs.INSTANCE.IS_RARITY.get(new RarityKeyInfo(IRarity.COMMON_ID)))
.addAlwaysUseModification(ItemMods.INSTANCE.RANDOMIZE_GEAR_RARITY)
.potentialCost(1)
.weight(CodeCurrency.Weights.COMMON)
.build(this);

public ExileKey<ExileCurrency, IdKey> COMMON_TO_RUNED = ExileCurrency.Builder.of("common_to_runed", "Orb of Runic Invocation", ItemReqs.INSTANCE.IS_GEAR)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.rarity(IRarity.RUNEWORD_ID)
.addRequirement(ItemReqs.INSTANCE.IS_RARITY.get(new RarityKeyInfo(IRarity.COMMON_ID)))
.addModification(ItemMods.INSTANCE.COMMON_TO_RUNED, 75)
.addModification(Modifications.INSTANCE.DESTROY_ITEM, 25)
.potentialCost(20)
.weight(CodeCurrency.Weights.RARE)
.build(this);

public ExileKey<ExileCurrency, IdKey> REROLL_BASE_NUMBERS = ExileCurrency.Builder.of("base_number_reroll", "Orb of Introspection", ItemReqs.INSTANCE.IS_GEAR)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_CORRUPTED)
.addRequirement(ItemReqs.INSTANCE.IS_NOT_MIRRORED)
.rarity(IRarity.LEGENDARY_ID)
.addAlwaysUseModification(ItemMods.INSTANCE.REROLL_BASE_NUMBERS)
.potentialCost(15)
.weight(CodeCurrency.Weights.UBER)
.build(this);

public ExileKey<ExileCurrency, IdKey> UPGRADE_MAP_RARITY = ExileCurrency.Builder.of("map_rarity_upgrade", "Orb of Map Rarity", ItemReqs.INSTANCE.IS_MAP)
.rarity(IRarity.EPIC_ID)
.addAlwaysUseModification(ItemMods.INSTANCE.UPGRADE_MAP_RARITY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ public class ItemModificationSers {
public static String UPGRADE_JEWEL_AFFIX_RARITY = "upgrade_jewel_affix_rarity";
public static String SET_AFFIX_RARITY = "set_affix_rarity";
public static String DOWNGRADE_AFFIX_RARITY = "downgrade_affix_rarity";
public static String UPGRADE_GEAR_RARITY = "upgrade_gear_rarity";
public static String COMMON_TO_RUNED = "common_to_runed";
public static String CORRUPT_GEAR = "corrupt_gear";
public static String MIRROR = "mirror";

Expand All @@ -22,6 +24,8 @@ public class ItemModificationSers {
public static String JEWEL_CORRUPT = "corrupt_jewel";
public static String REROLL_AFFIX_NUMBERS = "reroll_affix_numbers";
public static String REROLL_IMPLICIT_NUMBERS = "reroll_implicit_numbers";
public static String REROLL_IMPLICIT_AFFIX = "reroll_implicit_affix";
public static String REROLL_BASE_NUMBERS = "reroll_base_numbers";
public static String EXTRACT_SOCKET = "extract_socket";
public static String FORCE_SOUL_TAG = "force_soul_tag";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,22 @@ public ItemMods(ModRequiredRegisterInfo modRegisterInfo) {
public ExileKey<ItemModification, KeyInfo> REROLL_RANDOM_AFFIX = ExileKey.ofId(this, "reroll_random_affix", x -> new RerollAffixItemMod(x.GUID(), new RerollAffixItemMod.Data(UpgradeAffixItemMod.AffixFinder.RANDOM_AFFIX.get(), "random"), ""));
public ExileKey<ItemModification, KeyInfo> REROLL_LOWEST_AFFIX = ExileKey.ofId(this, "reroll_lowest_affix", x -> new RerollAffixItemMod(x.GUID(), new RerollAffixItemMod.Data(UpgradeAffixItemMod.AffixFinder.LOWEST_RARITY_AFFIX.get(), "random"), ""));
public ExileKey<ItemModification, KeyInfo> REROLL_RANDOM_AFFIX_INTO_MYTHIC = ExileKey.ofId(this, "reroll_random_affix_to_mythic", x -> new RerollAffixItemMod(x.GUID(), new RerollAffixItemMod.Data(UpgradeAffixItemMod.AffixFinder.RANDOM_AFFIX.get(), IRarity.MYTHIC_ID), "Mythic"));
public ExileKey<ItemModification, KeyInfo> REROLL_ALL_AFFIXES = ExileKey.ofId(this, "reroll_all_affixes", x -> new RerollAffixItemMod(x.GUID(), new RerollAffixItemMod.Data(UpgradeAffixItemMod.AffixFinder.ALL_AFFIXES.get(), "random"), ""));
public ExileKey<ItemModification, KeyInfo> REROLL_ALL_PREFIXES = ExileKey.ofId(this, "reroll_all_prefixes", x -> new RerollAffixItemMod(x.GUID(), new RerollAffixItemMod.Data(UpgradeAffixItemMod.AffixFinder.ALL_PREFIXES.get(), "random"), ""));
public ExileKey<ItemModification, KeyInfo> REROLL_ALL_SUFFIXES = ExileKey.ofId(this, "reroll_all_suffixes", x -> new RerollAffixItemMod(x.GUID(), new RerollAffixItemMod.Data(UpgradeAffixItemMod.AffixFinder.ALL_SUFFIXES.get(), "random"), ""));
public ExileKey<ItemModification, KeyInfo> REROLL_INFUSION = ExileKey.ofId(this, "reroll_infusion", x -> new RerollInfusionItemMod(x.GUID()));
public ExileKey<ItemModification, KeyInfo> UPGRADE_MAP_RARITY = ExileKey.ofId(this, "map_rarity_upgrade", x -> new UpgradeMapRarityItemMod(x.GUID()));
public ExileKey<ItemModification, KeyInfo> UPGRADE_GEAR_RARITY = ExileKey.ofId(this, "gear_rarity_upgrade", x -> new UpgradeRarityItemMod(x.GUID(), UpgradeRarityItemMod.UpgradeType.UPGRADE));
public ExileKey<ItemModification, KeyInfo> RANDOMIZE_GEAR_RARITY = ExileKey.ofId(this, "gear_rarity_random", x -> new UpgradeRarityItemMod(x.GUID(), UpgradeRarityItemMod.UpgradeType.RANDOMIZE));
public ExileKey<ItemModification, KeyInfo> COMMON_TO_RUNED = ExileKey.ofId(this, "common_to_runed", x -> new CommonToRunedItemMod(x.GUID()));
public ExileKey<ItemModification, KeyInfo> ADD_25_POTENTIAL = ExileKey.ofId(this, "add_potential", x -> new AddPotentialItemMod(x.GUID(), new AddPotentialItemMod.Data(25)));
public ExileKey<ItemModification, KeyInfo> JEWEL_CORRUPTION = ExileKey.ofId(this, "jewel_corrupt", x -> new CorruptJewelItemMod(x.GUID()));
public ExileKey<ItemModification, KeyInfo> REROLL_AFFIX_NUMBERS = ExileKey.ofId(this, "affix_number_reroll", x -> new RerollAffixNumbersItemMod(x.GUID()));
public ExileKey<ItemModification, KeyInfo> REROLL_AFFIX_NUMBERS = ExileKey.ofId(this, "affix_number_reroll", x -> new RerollAffixNumbersItemMod(x.GUID(), RerollAffixNumbersItemMod.AffixFinder.AFFIX));
public ExileKey<ItemModification, KeyInfo> REROLL_PREFIX_NUMBERS = ExileKey.ofId(this, "prefix_number_reroll", x -> new RerollAffixNumbersItemMod(x.GUID(), RerollAffixNumbersItemMod.AffixFinder.PREFIX));
public ExileKey<ItemModification, KeyInfo> REROLL_SUFFIX_NUMBERS = ExileKey.ofId(this, "suffix_number_reroll", x -> new RerollAffixNumbersItemMod(x.GUID(), RerollAffixNumbersItemMod.AffixFinder.SUFFIX));
public ExileKey<ItemModification, KeyInfo> REROLL_IMPLICIT_NUMBERS = ExileKey.ofId(this, "implicit_number_reroll", x -> new RerollImplicitNumbersItemMod(x.GUID()));
public ExileKey<ItemModification, KeyInfo> REROLL_IMPLICIT_AFFIX = ExileKey.ofId(this, "implicit_affix_reroll", x -> new RerollImplicitAffixItemMod(x.GUID()));
public ExileKey<ItemModification, KeyInfo> REROLL_BASE_NUMBERS = ExileKey.ofId(this, "base_number_reroll", x -> new RerollBaseNumbersItemMod(x.GUID()));
public ExileKey<ItemModification, KeyInfo> EXTRACT_GEM = ExileKey.ofId(this, "extract_gem", x -> new ExtractSocketItemMod(x.GUID(), ExtractSocketItemMod.SocketedType.GEM));
public ExileKey<ItemModification, KeyInfo> EXTRACT_RUNE = ExileKey.ofId(this, "extract_rune", x -> new ExtractSocketItemMod(x.GUID(), ExtractSocketItemMod.SocketedType.RUNE));
public ExileKey<ItemModification, KeyInfo> MIRROR = ExileKey.ofId(this, "mirror", x -> new MirrorItemMod(x.GUID()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ public void applyINTERNAL(StackHolder stack, ItemModificationResult r) {
ExileStack ex = ExileStack.of(stack.stack);

ex.get(StackKeys.GEAR).editIfHas(gear -> {
data.finder().getAffix(gear.affixes.cor, data).ifPresent(affix -> {
data.finder().getAffixes(gear.affixes.cor, data).forEach(affix -> {
affix.upgradeRarity();
});
});
ex.get(StackKeys.JEWEL).editIfHas(jewel -> {
data.finder().getAffix(jewel.cor, data).ifPresent(affix -> {
data.finder().getAffixes(jewel.cor, data).forEach(affix -> {
affix.upgradeRarity();
});
});
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package com.robertx22.addons.orbs_of_crafting.currency.reworked.item_mod.gear;

import com.robertx22.addons.orbs_of_crafting.currency.reworked.item_mod.GearModification;
import com.robertx22.addons.orbs_of_crafting.currency.reworked.item_mod.ItemModificationSers;
import com.robertx22.library_of_exile.localization.ExileTranslation;
import com.robertx22.library_of_exile.localization.TranslationBuilder;
import com.robertx22.library_of_exile.localization.TranslationType;
import com.robertx22.mine_and_slash.database.data.rarities.GearRarity;
import com.robertx22.mine_and_slash.itemstack.ExileStack;
import com.robertx22.mine_and_slash.itemstack.StackKeys;
import com.robertx22.mine_and_slash.mmorpg.SlashRef;
import com.robertx22.mine_and_slash.uncommon.interfaces.data_items.IRarity;
import com.robertx22.orbs_of_crafting.register.mods.base.ItemModificationResult;
import net.minecraft.network.chat.MutableComponent;

public class CommonToRunedItemMod extends GearModification {
public CommonToRunedItemMod(String id) {
super(ItemModificationSers.COMMON_TO_RUNED, id);
}

@Override
public void modifyGear(ExileStack stack, ItemModificationResult r) {
stack.get(StackKeys.GEAR).edit(gear -> {
GearRarity oldRarity = gear.getRarity();
gear.rar = IRarity.RUNEWORD_ID;
GearRarity newRarity = gear.getRarity();

// Remove affixes
gear.affixes.pre.clear();
gear.affixes.suf.clear();

// Rescale base stats to upgraded roll range
gear.baseStats.p = UpgradeRarityItemMod.uniformRescaleInt(gear.baseStats.p, oldRarity.base_stat_percents, newRarity.base_stat_percents);

// Add rune sockets
int sockets = newRarity.sockets.random();

for (int index = gear.sockets.getTotalSockets(); index < sockets; index++) {
gear.sockets.addSocket();
}
});
}

@Override
public OutcomeType getOutcomeType() {
return OutcomeType.GOOD;
}

@Override
public Class<?> getClassForSerialization() {
return CommonToRunedItemMod.class;
}


@Override
public MutableComponent getDescWithParams() {
return this.getTranslation(TranslationType.DESCRIPTION).getTranslatedName();
}

@Override
public TranslationBuilder createTranslationBuilder() {
return TranslationBuilder.of(SlashRef.MODID)
.desc(ExileTranslation.registry(this, "Turns Common Item into Runed Item, adding sockets"));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public DowngradeAffixItemMod(String id, Data data) {
@Override
public void modifyGear(ExileStack stack, ItemModificationResult r) {
stack.get(StackKeys.GEAR).edit(gear -> {
data.finder_data.finder().getAffix(gear.affixes.getPrefixesAndSuffixes(), data.finder_data).ifPresent(affix -> {
data.finder_data.finder().getAffixes(gear.affixes.getPrefixesAndSuffixes(), data.finder_data).forEach(affix -> {
affix.downgradeRarity();
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import com.robertx22.mine_and_slash.itemstack.ExileStack;
import com.robertx22.mine_and_slash.itemstack.StackKeys;
import com.robertx22.mine_and_slash.mmorpg.SlashRef;
import com.robertx22.mine_and_slash.saveclasses.gearitem.gear_parts.AffixData;
import com.robertx22.mine_and_slash.uncommon.localization.Words;
import com.robertx22.orbs_of_crafting.register.mods.base.ItemModificationResult;
import net.minecraft.network.chat.MutableComponent;
Expand All @@ -35,17 +34,14 @@ public RerollAffixItemMod(String id, Data data, String rarname) {
@Override
public void modifyGear(ExileStack stack, ItemModificationResult r) {
stack.get(StackKeys.GEAR).edit(gear -> {
var opt = data.finder_data.finder().getAffix(gear.affixes.getPrefixesAndSuffixes(), data.finder_data);

if (opt.isPresent()) {
AffixData affixData = opt.get();
affixData.RerollFully(gear);
data.finder_data.finder().getAffixes(gear.affixes.getPrefixesAndSuffixes(), data.finder_data).forEach(affix -> {
affix.RerollFully(gear);

if (ExileDB.GearRarities().isRegistered(data.result_rar)) {
affixData.rar = data.result_rar;
affixData.RerollNumbers();
affix.rar = data.result_rar;
affix.RerollNumbers();
}
}
});
});

}
Expand Down
Loading