cemu_graphic_packs/Mods/XenobladeX_mod_LootTreasureQuality/patches.txt
lasyan3 00e2eb580c [XCX] 1.0.1U Compatibility.
Mod "Equipment - Force Type" now allows to select a specific sub-type (for example only loot dual guns ground weapon). But this works only for ground weapons, ground armors and skells armors (not skells weapons).
Experience mods (Inner, Class and Battle) now affect points gained in battle, missions, quests and exploration (previously only battle was affected).
2019-03-16 14:25:25 +01:00

41 lines
1.6 KiB
Plaintext

[XCX_LOOT_FORCECHEST]
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
codeCaveSize = 0x30
0x00000000 = .byte $forced
0x00000004 = .byte $treasure
_forced = 0x00000000
_treasure = 0x00000004
; ----------------------------------------------------------------------------
; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int))
; WHAT : Force the chest quality
_goForced = 0x00000008
0x00000008 = lis r28, _forced@ha
0x0000000C = lbz r28, _forced@l(r28)
0x00000010 = cmpwi r28, 0
0x00000014 = bnelr
0x00000018 = mr. r28, r3
0x0000001C = blr
0x021AAFA4 = bla _goForced
; ----------------------------------------------------------------------------
; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int))
; WHAT : Override the chest quality you get when the game initially decided you get no chest at all
; : It's a bit tough to explain, but the function calcRank does this:
; : 1) Calculate luck for gold chest, if success exit with gold quality (1), else process next step
; : 2) Calculate luck for silver chest, if success exit with silver quality (2), else process next step
; : 3) Calculate luck for bronze chest, if success exit with bronze quality (3), else process next step
; : 4) No chest at all, exit with no chest (0)
; : --> The mod below only changes this last step. So even if you put value 1 (gold chest), you'll still get a silver chest if the game succeeded the step 2.
_goTreasure = 0x00000020
0x00000020 = lis r3, _treasure@ha
0x00000024 = lbz r3, _treasure@l(r3)
0x00000028 = blr
0x21AAF18 = bla _goTreasure ; li r3, 1 ; 0 = nothing (default), 1 = gold, 2 = silver, 3 = bronze