Special Fusions

Last Updated: 14 January 2025

There are some combination of fusions that guarantee the result, attaining an otherwise unobtainable E.G.O gift.

There is an additional tag for each entry, requiredEgoGiftIds. However, it is either always a concatenation of the inputs.

For Mixed Special Fusions, Req Input 1 Num tells you how many of the E.G.O gifts from Input 1 you require, and similary for Input 2. For example, Lunar Memory, requires 3 “Memory” E.G.O gifts and 2 “Fragment” E.G.O gifts.

List of Fixed Special Fusions

Input 1 Input 2 Input 3 Output
Ashes to Ashes 9003 Dust to Dust 9053 Secret Cookbook 9157 Soothe the Dead 9088
Ashes to Ashes 9003 Dust to Dust 9053 Secret Cookbook 9157 Soothe the Dead 9088
Smokes and Wires 9042 Rusted Muzzle 9089 Devotion 9161 Bloody Mist 9090
Smokes and Wires 9042 Rusted Muzzle 9089 Devotion 9161 Bloody Mist 9090
Venomous Skin 9112 Clockwork Spring 9115 Epicenter 9166 Omnivibro-octovecti-bell 9167
Venomous Skin 9112 Clockwork Spring 9115 Epicenter 9166 Omnivibro-octovecti-bell 9167
Thunderbranch 9023 Broken Revolver 9064 Eerie Effigy 9170 Ruin 9171
Thunderbranch 9023 Broken Revolver 9064 Eerie Effigy 9170 Ruin 9171
Thorny Path 9049 Distant Star 9125 Surging Globe 9175 Impending Wave 9176
Thorny Path 9049 Distant Star 9125 Surging Globe 9175 Impending Wave 9176
Four-leaf Clover 9056 Ornamental Horseshoe 9097 Reminiscence 9179 Lucky Pouch 9098
Four-leaf Clover 9056 Ornamental Horseshoe 9097 Reminiscence 9179 Lucky Pouch 9098
Curriculum Vitae 9062 Lightning Rod 9072 Insulator 9183 T-5 Perpetual Motion Machine 9184
Curriculum Vitae 9062 Lightning Rod 9072 Insulator 9183 T-5 Perpetual Motion Machine 9184
Charred Disk 9071 Burning Intellect 9087 Decamillennial Hearthflame 9156 Purloined Flame 9158
Grimy Iron Stake 9008 Rusted Cutting Knife 9048 Ruptured Blood Sac 9160 Hemorrhagic Shock 9162
Nixie Divergence 9031 Bell of Truth 9091 Interlocked Cogs 9165 Coupled Oscillation 9092
Talisman Bundle 9013 Standard-duty Battery 9033 Thorny Rope Cuffs 9169 Enrapturing Trance 9094
Midwinter Nightmare 9059 Headless Portrait 9074 Tangled Bones 9174 Black Sheet Music 9096
Endorphin Kit 9073 Devil’s Share 9127 Angel’s Cut 9178 Cask Spirits 9180
Wrist Guards 9069 Material Interference Force Field 9099 T-1B Octagonal Bolt 9182 T-1 Perpetual Motion Machine 9100
Melted Paraffin 9101 Decamillennial Stewpot 9155 N.A. Secret Cookbook 9157
Arrested Hymn 9106 Millarca 9159 N.A. Devotion 9161
Gemstone Oscillator 9163 Wobbling Keg 9164 N.A. Epicenter 9166
Bone Stake 9118 Shard of Apocalypse 9168 N.A. Eerie Effigy 9170
Cantabile 9172 Faded Overcoat 9173 N.A. Surging Globe 9175
Pendant of Nostalgia 9063 Recollection of a Certain Day 9177 N.A. Reminiscence 9179
UPS System 9132 Miniature Telepole 9181 N.A. Insulator 9183
Haunted Shoes 9408 Frozen Cries 9409 N.A. Hoarfrost Footprint 9410
Nagel und Hammer Scriptures 9413 Squalidity 9415 N.A. Wholeness 9416
Ragged Umbrella 9119 Broken Glasses 9423 N.A. Unmailed Letter 9424
Nebulizer 9066 Harpoon Prosthetic Leg 9429 N.A. Guiding Gas Lamp 9430
Mirror Tactile Synaesthesia 9114 Chief Butler’s Secret Arts 9433 N.A. Handheld Mirror 9434
Rusted Hilt 2028 Fractured Blade 2029 N.A. Sublimity 2032
Rusted Hilt 2028 Broken Blade 2030 N.A. Unbending 2033
Rusted Hilt 9713 Fractured Blade 9714 N.A. Sublimity 9717
Rusted Hilt 9713 Broken Blade 9715 N.A. Unbending 9718
Silver Watch Case 2036 Etched Clock Hands 2039 N.A. Pocket Watch : Type L 2043
Silver Watch Case 2036 Rusted Clock Hands 2040 N.A. Pocket Watch : Type E 2044
Faded Watch Case 2037 Etched Clock Hands 2039 N.A. Pocket Watch : Type Y 2045
Faded Watch Case 2037 Rusted Clock Hands 2040 N.A. Pocket Watch : Type P 2046
Silver Watch Case 9721 Etched Clock Hands 9724 N.A. Pocket Watch : Type L 9728
Silver Watch Case 9721 Rusted Clock Hands 9725 N.A. Pocket Watch : Type E 9729
Faded Watch Case 9722 Etched Clock Hands 9724 N.A. Pocket Watch : Type Y 9730
Faded Watch Case 9722 Rusted Clock Hands 9725 N.A. Pocket Watch : Type P 9731
Biogenerative Battery 9736 Prosthetic Joint Servos 9738 N.A. Automated Joints 9740
Biogenerative Battery 9736 Crystallized Blood 9739 N.A. Overcharged Battery 9741
Cardiovascular Reactive Module 9737 Prosthetic Joint Servos 9738 N.A. Perpetual Generator Servos 9742
Cardiovascular Reactive Module 9737 Crystallized Blood 9739 N.A. Hearts-powered Jewel 9743
Snuffed Lantern 9759 Snuffed Candlestick 9760 N.A. Shadow Monster 9761
Packaging Box 9762 Packaging Ribbon 9763 N.A. Gift 9764
Pom-pom Hat 9709 Huge Gift Sack 9710 Sad Plushie 9711 Jolly Plushie 9765

List of Mixed Special Fusion

Input 1 Req Input 1 Num Input 2 Req Input 2 Num Output
Fragment of Hellfire 9105
Fragment of Allurement 9110
Fragment of Inertia 9116
Fragment of Desire 9121
Fragment of Decay 9126
Fragment of Conceit 9131
Fragment of Friction 9136
2 Sundered Memory 9142
Punctured Memory 9147
Crushed memory 9152
3 Lunar Memory 9083

Appendix

using JSON3

function getLocalized(egoGiftID)
    fileList = "data/Extracted/Localize/RemoteLocalizeFileList.json"
    fileListData = JSON3.read(read(fileList, String))

    for file in fileListData[:egoGifts]
        data = JSON3.read(read("data/Extracted/Localize/en/EN_$(file).json", String))
        haskey(data, :dataList) || continue
        for entry in data[:dataList]
            entry["id"] == egoGiftID && return entry
        end
    end

    # @error "EgoGift ID not found: $(egoGiftID)"
end

function getData()
    dataFile = "data/Extracted/StaticData/static-data/mirror-dungeon-common-data/mirror-dungeon-common-data.json"
    data = JSON3.read(read(dataFile, String))
end

function getLocalizedName(egoGiftID)
    entry = getLocalized(egoGiftID)

    return entry["name"]
end

function outputFixedFusions()
    data = getData()

    println("| Input 1 | Input 2 | Input 3 | Output |")
    println("| --- | --- | --- | --- |")

    for entry in data[:egoGiftCombineFixedTable][:combineFixed]
        Input1 = getLocalizedName(entry["aEgoGiftId"]) * " `$(entry["aEgoGiftId"])`"
        Input2 = getLocalizedName(entry["bEgoGiftId"]) * " `$(entry["bEgoGiftId"])`"
        Input3 = haskey(entry, "cEgoGiftId") ? getLocalizedName(entry["cEgoGiftId"]) * " `$(entry["cEgoGiftId"])`" : "N.A."

        Output = getLocalizedName(entry["resultEgoGiftId"]) * " `$(entry["resultEgoGiftId"])`"

        println("| $(Input1) | $(Input2) | $(Input3) | $(Output) |")
    end
end

function outputMixedFusions()
    data = getData()

    println("| Input 1 | Req Input 1 Num | Input 2 | Req Input 2 Num | Output |")
    println("| --- | --- | --- | --- | --- |")

    for entry in data[:egoGiftCombineFixedTable][:combineMixed]
        Input1 = join(map(x -> getLocalizedName(x) * " `$(x)`", entry["aEgoGiftIds"]), "<br>")
        Input2 = join(map(x -> getLocalizedName(x) * " `$(x)`", entry["bEgoGiftIds"]), "<br>")    
        Input1Num = entry["aEgoGiftRequiredNum"]
        Input2Num = entry["bEgoGiftRequiredNum"]

        Output = getLocalizedName(entry["resultEgoGiftId"]) * " `$(entry["resultEgoGiftId"])`"

        println("| $(Input1) | $(Input1Num) | $(Input2) | $(Input2Num) | $(Output) |")
    end
en