mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-11-25 11:06:54 +01:00
[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).
This commit is contained in:
parent
0c9d64c0f0
commit
00e2eb580c
@ -13,3 +13,8 @@ moduleMatches = 0x218F6E07, 0xF882D5CF
|
||||
[XCXFOVV102U]
|
||||
moduleMatches = 0x30B6E091
|
||||
0x10190C7C = .float $fov
|
||||
|
||||
[XCXFOVV101U]
|
||||
moduleMatches = 0xAB97DE6B
|
||||
0x10190B7C = .float $fov
|
||||
|
||||
|
@ -17,3 +17,23 @@ _damages = 0x00000004
|
||||
0x00000010 = blr
|
||||
|
||||
0x025D896C = bla _damages
|
||||
|
||||
[XCX_DAMAGES_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x14
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfCompoPropertyEnemy::addDamage((int))
|
||||
; WHAT : Multiply the ground damage (skells not included) given to enemy
|
||||
|
||||
0x00000000 = .byte $mult
|
||||
_multiplicator = 0x00000000
|
||||
|
||||
_damages = 0x00000004
|
||||
0x00000004 = lis r4, _multiplicator@ha
|
||||
0x00000008 = lbz r4, _multiplicator@l(r4)
|
||||
0x0000000C = mullw r4, r4, r31
|
||||
0x00000010 = blr
|
||||
|
||||
0x025D88FC = bla _damages
|
@ -1,8 +1,13 @@
|
||||
[XCX_ENEMIESTATS]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : calcEnParam__3cfsFPQ2_3cfs7SChrPrmUiT2
|
||||
; WHAT : Apply modificator on enemies stats (HP, Melee Attack, Melee Accuracy, Ranged Attack, Ranged Accuracy, Potential and Evasion)
|
||||
|
||||
; 100% = 0.001 - default value
|
||||
; 70% = 0.0007
|
||||
; 50% = 0.0005
|
||||
; 1% = 0.00001 ; GAME CRASH (enemis are too weak)
|
||||
|
||||
0x1003206C = .float $mod
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_RELEASEDIST]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x20
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_CHALLENGE]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : Battle::CSoulVoiceButtonChallenge::updateInternal((float))
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_OVERDRIVE]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : Gear::CGear::IsPermit((void))
|
||||
|
@ -5,3 +5,8 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
; WHO : collectQuestInfoDL__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo
|
||||
; WHAT : Disable endgame check to unlock DLC missions
|
||||
0x022C6B50 = nop
|
||||
|
||||
[XCX_DLC_1U]
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
0x022C6AE0 = nop
|
@ -1,4 +1,4 @@
|
||||
[XCX_TICKETS_DLC_EU]
|
||||
[XCX_TICKETS_DLC_1E]
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
codeCaveSize = 0x60
|
||||
@ -48,7 +48,7 @@ _ticketsValue = 0x00000050
|
||||
0x02B9FE2C = bla _ticketsDispAfter
|
||||
0x023CC654 = bla _ticketsValue
|
||||
|
||||
[XCX_TICKETS_DLC_US] ############################################################################################
|
||||
[XCX_TICKETS_DLC_2U] ############################################################################################
|
||||
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||
|
||||
codeCaveSize = 0x60
|
||||
@ -90,3 +90,46 @@ _ticketsValue = 0x00000050
|
||||
0x02B94708 = bla _ticketsDispBefore
|
||||
0x02B9FE1C = bla _ticketsDispAfter
|
||||
0x023CC654 = bla _ticketsValue
|
||||
|
||||
[XCX_TICKETS_DLC_1U] ############################################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x60
|
||||
|
||||
0x0000005C = .byte $mission
|
||||
_mission = 0x0000005C
|
||||
|
||||
_shareAddr = 0x1039C080
|
||||
|
||||
_ticketsDispBefore = 0x00000000
|
||||
0x00000000 = lwz r24, 0x47C(r30)
|
||||
0x00000004 = lwz r24, 8(r24)
|
||||
0x00000008 = lis r26, _mission@ha
|
||||
0x0000000C = lbz r26, _mission@l(r26)
|
||||
0x00000010 = cmplw r24, r26
|
||||
0x00000014 = li r26, 0
|
||||
0x00000018 = lis r21, _shareAddr@ha
|
||||
0x0000001C = stw r26, _shareAddr@l(r21)
|
||||
0x00000020 = bnelr
|
||||
0x00000024 = mr r26, r23
|
||||
0x00000028 = cmpwi r24, 5
|
||||
0x0000002C = bne .+0xC
|
||||
0x00000030 = li r24, 100
|
||||
0x00000034 = divw r26, r22, r24 ; r23 = exp, r22 = money
|
||||
0x00000038 = lis r21, _shareAddr@ha
|
||||
0x0000003C = stw r26, _shareAddr@l(r21)
|
||||
0x00000040 = blr
|
||||
|
||||
_ticketsDispAfter = 0x00000044
|
||||
0x00000044 = lis r5, _shareAddr@ha
|
||||
0x00000048 = lwz r5, _shareAddr@l(r5)
|
||||
0x0000004C = blr
|
||||
|
||||
_ticketsValue = 0x00000050
|
||||
0x00000050 = lis r27, _shareAddr@ha
|
||||
0x00000054 = lwz r27, _shareAddr@l(r27)
|
||||
0x00000058 = blr
|
||||
|
||||
0x02B9468C = bla _ticketsDispBefore
|
||||
0x02B9FD2C = bla _ticketsDispAfter
|
||||
0x023CC5E4 = bla _ticketsValue
|
||||
|
@ -1,4 +1,4 @@
|
||||
[XCX_UNLOCKPOSTSKELLS_EU]
|
||||
[XCX_UNLOCKPOSTSKELLS_1E] ################################################################
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
@ -32,8 +32,7 @@ _checkRes = 0x00000010
|
||||
;0x02A7A9FC = li r3, 0 ; 4
|
||||
;0x02A7AA24 = li r3, 0 ; 5
|
||||
|
||||
;#####################################################################################
|
||||
[XCX_UNLOCKPOSTSKELLS_US]
|
||||
[XCX_UNLOCKPOSTSKELLS_2U] ################################################################
|
||||
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
@ -60,3 +59,28 @@ _checkRes = 0x00000010
|
||||
0x00000014 = lbz r3, _resource@l(r3)
|
||||
0x00000018 = blr
|
||||
0x02A7A944 = bla _checkRes
|
||||
|
||||
[XCX_UNLOCKPOSTSKELLS_1U] ################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
|
||||
0x02A6B7AC = li r3, 1 ; always returns true
|
||||
0x02A7B194 = li r30, 0 ; unlock everything
|
||||
|
||||
0x00000000 = .byte $miranium
|
||||
0x00000001 = .byte $resource
|
||||
_miranium = 0x00000000
|
||||
_resource = 0x00000001
|
||||
|
||||
_checkMir = 0x00000004
|
||||
0x00000004 = lis r3, _miranium@ha
|
||||
0x00000008 = lbz r3, _miranium@l(r3)
|
||||
0x0000000C = blr
|
||||
0x02A7A6F8 = bla _checkMir
|
||||
|
||||
_checkRes = 0x00000010
|
||||
0x00000010 = lis r3, _resource@ha
|
||||
0x00000014 = lbz r3, _resource@l(r3)
|
||||
0x00000018 = blr
|
||||
0x02A7A8C8 = bla _checkRes
|
||||
|
@ -1,9 +1,7 @@
|
||||
[XCX_SQUADMISSIONS]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x44
|
||||
|
||||
_getLocalTimeSec = 0x02892000
|
||||
codeCaveSize = 0x6C
|
||||
|
||||
# cfs::CfSocialManager::update((float))
|
||||
0x022879D0 = nop ; (network test?) allow call to cfs::CfSocialQuestManager::update((void))
|
||||
@ -58,6 +56,10 @@ _mult = 0x00000014
|
||||
0x00000018 = .byte $uncap
|
||||
_uncap = 0x00000018
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int))
|
||||
; WHAT : Multiply the reward tickets given in many occasions
|
||||
|
||||
_moreTickets = 0x0000001C
|
||||
0x0000001C = lis r28, _mult@ha
|
||||
0x00000020 = lhz r28, _mult@l(r28)
|
||||
@ -66,6 +68,10 @@ _moreTickets = 0x0000001C
|
||||
|
||||
0x022CA874 = bla _moreTickets
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int))
|
||||
; WHAT : Ignore the max number of tickets we can get
|
||||
|
||||
_uncapTickets = 0x0000002C
|
||||
0x0000002C = lis r5, _uncap@ha
|
||||
0x00000030 = lbz r5, _uncap@l(r5)
|
||||
@ -76,8 +82,34 @@ _uncapTickets = 0x0000002C
|
||||
|
||||
0x022CAC5C = bla _uncapTickets
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000044
|
||||
0x00000044 = lhz r26, 0x8C(r1)
|
||||
0x00000048 = lis r24, _mult@ha
|
||||
0x0000004C = lhz r24, _mult@l(r24)
|
||||
0x00000050 = mullw r26, r26, r24
|
||||
0x00000054 = blr
|
||||
|
||||
0x02B94718 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000058
|
||||
0x00000058 = lhz r5, 0x5778(r29)
|
||||
0x0000005C = lis r3, _mult@ha
|
||||
0x00000060 = lhz r3, _mult@l(r3)
|
||||
0x00000064 = mullw r5, r5, r3
|
||||
0x00000068 = blr
|
||||
|
||||
0x02B9FE2C = bla _dispAfter
|
||||
|
||||
#####################################################################################################
|
||||
[XCX_SQUADMISSIONS_EU]
|
||||
[XCX_SQUADMISSIONS_1E]
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
# getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
@ -110,7 +142,7 @@ _savePtr = 0x00000000
|
||||
0x02B850A8 = li r11, 1
|
||||
|
||||
#####################################################################################################
|
||||
[XCX_SQUADMISSIONS_US]
|
||||
[XCX_SQUADMISSIONS_2U]
|
||||
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||
|
||||
# getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
@ -141,3 +173,136 @@ _savePtr = 0x00000000
|
||||
|
||||
0x02B85074 = li r11, 1
|
||||
0x02B85098 = li r11, 1
|
||||
|
||||
#####################################################################################################
|
||||
[XCX_SQUADMISSIONS_1U]
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x7C
|
||||
|
||||
0x02287960 = nop
|
||||
|
||||
0x023AB814 = nop ; 0x6B8(r12) == 0
|
||||
0x023AB844 = nop ; isHost
|
||||
0x023AB9F8 = li r5, 60 ; force 0x24 - UNLOCK
|
||||
0x023ABBA0 = nop ; isHost
|
||||
0x023A0414 = nop ; isHost
|
||||
0x023ABC24 = nop ; getServerTimeSecRegion - UNLOCK
|
||||
0x023ABC3C = nop ; compare with 0x28 - UNLOCK
|
||||
0x023ABC48 = nop ; compare with 0x2C - UNLOCK
|
||||
_gotoJoin = 0x023ABC90 - UNLOCK
|
||||
0x023ABC4C = b _gotoJoin - UNLOCK
|
||||
|
||||
0x022C7FEC = nop ; test réseau : lwz r10, 0x1B0(r30) --> rlwinm. r9, r10, 0,30,30
|
||||
0x022C7FF0 = nop ; test réseau
|
||||
0x022C584C = nop ; rlwinm. r10, r11, 0,29,29
|
||||
|
||||
#################### Change Squad Mission using main menu
|
||||
|
||||
_shareAddr = 0x1039C07C
|
||||
|
||||
_iniPtr = 0x00000000
|
||||
0x00000000 = li r5, 0
|
||||
0x00000004 = lis r30, _shareAddr@ha
|
||||
0x00000008 = stw r5, _shareAddr@l(r30)
|
||||
0x0000000C = mr r30, r3
|
||||
0x00000010 = blr
|
||||
|
||||
0x023B7430 = bla _iniPtr
|
||||
|
||||
_gotoTimeout = 0x023ABD84
|
||||
_gotoNext = 0x023ABDE4
|
||||
|
||||
0x023ABD58 = lis r3, _shareAddr@ha
|
||||
0x023ABD5C = lwz r7, _shareAddr@l(r3)
|
||||
0x023ABD60 = cmpwi r7, 1
|
||||
0x023ABD64 = beq _gotoTimeout
|
||||
0x023ABD68 = b _gotoNext
|
||||
|
||||
######################## More Tickets
|
||||
|
||||
0x00000014 = .short $mult
|
||||
_mult = 0x00000014
|
||||
0x00000018 = .byte $uncap
|
||||
_uncap = 0x00000018
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int))
|
||||
; WHAT : Multiply the reward tickets given in many occasions
|
||||
|
||||
_moreTickets = 0x0000001C
|
||||
0x0000001C = lis r28, _mult@ha
|
||||
0x00000020 = lhz r28, _mult@l(r28)
|
||||
0x00000024 = mullw r28, r4, r28
|
||||
0x00000028 = blr
|
||||
|
||||
0x022CA804 = bla _moreTickets
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int))
|
||||
; WHAT : Ignore the max number of tickets we can get
|
||||
|
||||
_uncapTickets = 0x0000002C
|
||||
0x0000002C = lis r5, _uncap@ha
|
||||
0x00000030 = lbz r5, _uncap@l(r5)
|
||||
0x00000034 = cmpwi r5, 1
|
||||
0x00000038 = beqlr
|
||||
0x0000003C = mr r3, r25
|
||||
0x00000040 = blr
|
||||
|
||||
0x022CABEC = bla _uncapTickets
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000044
|
||||
0x00000044 = lhz r26, 0x8C(r1)
|
||||
0x00000048 = lis r24, _mult@ha
|
||||
0x0000004C = lhz r24, _mult@l(r24)
|
||||
0x00000050 = mullw r26, r26, r24
|
||||
0x00000054 = blr
|
||||
|
||||
0x02B9468C = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000058
|
||||
0x00000058 = lhz r5, 0x5778(r29)
|
||||
0x0000005C = lis r3, _mult@ha
|
||||
0x00000060 = lhz r3, _mult@l(r3)
|
||||
0x00000064 = mullw r5, r5, r3
|
||||
0x00000068 = blr
|
||||
|
||||
0x02B9FD2C = bla _dispAfter
|
||||
|
||||
#####################################################################################################
|
||||
# getServerTimeSec__Q2_2nt10CNetLibNexCFRUL
|
||||
0x0295E984 = nop
|
||||
0x0295E988 = li r0, 42
|
||||
|
||||
# menu::MenuSquadMission::process((void))
|
||||
0x02BFC6C0 = li r11, 1
|
||||
|
||||
##################### BLADE Home Terminal (for Squad Quest Selection)
|
||||
|
||||
0x02AC5C10 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
|
||||
|
||||
#################### Change Squad Mission using main menu
|
||||
|
||||
0x02AC5B84 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
|
||||
|
||||
_savePtr = 0x0000006C
|
||||
0x0000006C = li r3, 1
|
||||
0x00000070 = lis r30, _shareAddr@ha
|
||||
0x00000074 = stw r3, _shareAddr@l(r30)
|
||||
0x00000078 = blr
|
||||
|
||||
0x02B850A8 = bla _savePtr
|
||||
0x02B850C0 = bla _savePtr
|
||||
|
||||
0x02B84FF8 = li r11, 1
|
||||
0x02B8501C = li r11, 1
|
||||
|
||||
|
@ -63,3 +63,69 @@ _itemHeightFlight = 0x00000050
|
||||
0x02389C74 = bla _itemHeightDoll
|
||||
0x02389CEC = bla _itemRangeFlight
|
||||
0x02389D30 = bla _itemHeightFlight
|
||||
#################################################################################################
|
||||
[XCX_COLLECTIBLESRANGE_1U]
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x100
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfPopManagerItem::updateTouchItem((void))
|
||||
; WHAT : Initialize collectibles distance
|
||||
|
||||
0x00000060 = .float 40.0 ; _rangeInnerConst
|
||||
0x00000064 = .float 8.0 ; _heightInnerConst
|
||||
0x00000068 = .float 64.0 ; _rangeDollConst
|
||||
0x0000006C = .float 64.0 ; _heightDollConst
|
||||
0x00000070 = .float 64.0 ; _rangeFlightConst
|
||||
0x00000074 = .float 52.0 ; _heightFlightConst
|
||||
|
||||
_rangeInnerConst = 0x00000060
|
||||
_heightInnerConst = 0x00000064
|
||||
_rangeDollConst = 0x00000068
|
||||
_heightDollConst = 0x0000006C
|
||||
_rangeFlightConst = 0x00000070
|
||||
_heightFlightConst = 0x00000074
|
||||
|
||||
_itemRangeInner = 0x00000000
|
||||
0x00000000 = lis r5, _rangeInnerConst@ha
|
||||
0x00000004 = lfs f10, _rangeInnerConst@l(r5)
|
||||
0x00000008 = fadd f10, f9, f10
|
||||
0x0000000C = blr
|
||||
|
||||
_itemHeightInner = 0x00000010
|
||||
0x00000010 = lis r5, _heightInnerConst@ha
|
||||
0x00000014 = lfs f12, _heightInnerConst@l(r5)
|
||||
0x00000018 = fadd f12, f10, f12
|
||||
0x0000001C = blr
|
||||
|
||||
_itemRangeDoll = 0x00000020
|
||||
0x00000020 = lis r5, _rangeDollConst@ha
|
||||
0x00000024 = lfs f9, _rangeDollConst@l(r5)
|
||||
0x00000028 = fadd f9, f6, f9
|
||||
0x0000002C = blr
|
||||
|
||||
_itemHeightDoll = 0x00000030
|
||||
0x00000030 = lis r5, _heightDollConst@ha
|
||||
0x00000034 = lfs f10, _heightDollConst@l(r5)
|
||||
0x00000038 = fadd f10, f7, f10
|
||||
0x0000003C = blr
|
||||
|
||||
_itemRangeFlight = 0x00000040
|
||||
0x00000040 = lis r5, _rangeFlightConst@ha
|
||||
0x00000044 = lfs f10, _rangeFlightConst@l(r5)
|
||||
0x00000048 = fadd f10, f12, f10
|
||||
0x0000004C = blr
|
||||
|
||||
_itemHeightFlight = 0x00000050
|
||||
0x00000050 = lis r5, _heightFlightConst@ha
|
||||
0x00000054 = lfs f0, _heightFlightConst@l(r5)
|
||||
0x00000058 = fadd f0, f13, f0
|
||||
0x0000005C = blr
|
||||
|
||||
0x02389B10 = bla _itemRangeInner
|
||||
0x02389B48 = bla _itemHeightInner
|
||||
0x02389BCC = bla _itemRangeDoll
|
||||
0x02389C04 = bla _itemHeightDoll
|
||||
0x02389C7C = bla _itemRangeFlight
|
||||
0x02389CC0 = bla _itemHeightFlight
|
||||
|
@ -14,3 +14,10 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
_exit = 0x0238A1BC
|
||||
0x02389EF8 = beq _exit
|
||||
|
||||
[XCX_NOITEMSELL_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
0x02365A24 = li r31, 0 ; sellItem
|
||||
|
||||
_exit = 0x0238A14C
|
||||
0x02389E88 = beq _exit
|
||||
|
@ -1,13 +1,18 @@
|
||||
[XCX_MAXSLOTS_EU]
|
||||
[XCX_MAXSLOTS_1E] ######################################################################
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; NAME : Cshop::updateLuItem((void))
|
||||
; PURPO : max 3 slots per armor L shop
|
||||
; WHO : Cshop::updateLuItem((void))
|
||||
; WHAT : max 3 slots per armor L shop
|
||||
|
||||
0x02A3AA18 = li r0, 3
|
||||
|
||||
[XCX_MAXSLOTS_US]
|
||||
[XCX_MAXSLOTS_2U] ######################################################################
|
||||
moduleMatches = 0x30B6E091 ;1.0.2U
|
||||
|
||||
0x02A3AA08 = li r0, 3
|
||||
|
||||
[XCX_MAXSLOTS_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
0x02A3A9FC = li r0, 3
|
@ -1,4 +1,4 @@
|
||||
[XCX_UPGRADENOLIMIT_EU]
|
||||
[XCX_UPGRADENOLIMIT_1E]
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
@ -32,8 +32,8 @@ _checkStrengthen = 0x00000010
|
||||
0x02A72134 = li r10, 99 ; Ignore upgrades counter
|
||||
0x02A723B4 = bla _checkStrengthen
|
||||
|
||||
;#####################################################################################
|
||||
[XCX_UPGRADENOLIMIT_US]
|
||||
#####################################################################################
|
||||
[XCX_UPGRADENOLIMIT_2U]
|
||||
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
@ -58,3 +58,30 @@ _checkStrengthen = 0x00000010
|
||||
|
||||
0x02A72124 = li r10, 99 ; Ignore upgrades counter
|
||||
0x02A723A4 = bla _checkStrengthen
|
||||
|
||||
#####################################################################################
|
||||
[XCX_UPGRADENOLIMIT_1U]
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
|
||||
0x00000000 = .byte $checkSelectItem
|
||||
0x00000001 = .byte $checkStrengthen
|
||||
_selectItem = 0x00000000
|
||||
_strengthen = 0x00000001
|
||||
|
||||
_checkSelectItem = 0x00000004
|
||||
0x00000004 = lis r4, _selectItem@ha
|
||||
0x00000008 = lbz r3, _selectItem@l(r4)
|
||||
0x0000000C = blr
|
||||
|
||||
_checkStrengthen = 0x00000010
|
||||
0x00000010 = lis r3, _strengthen@ha
|
||||
0x00000014 = lbz r3, _strengthen@l(r3)
|
||||
0x00000018 = blr
|
||||
|
||||
0x02A6DC1C = li r3, 0 ; Ignore upgrades counter
|
||||
0x02A6DF70 = bla _checkSelectItem
|
||||
|
||||
0x02A720A8 = li r10, 99 ; Ignore upgrades counter
|
||||
0x02A72328 = bla _checkStrengthen
|
||||
|
@ -1,4 +1,4 @@
|
||||
[XCX_UNLOCKAUGMENTS_EU]
|
||||
[XCX_UNLOCKAUGMENTS_1E]
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
@ -26,8 +26,8 @@ _checkIgnoreEnd = 0x00000010
|
||||
0x02A817C8 = bla _checkIgnore ; ignore requirements
|
||||
0x02A81A3C = bla _checkIgnoreEnd ; ignore requirements (end game)
|
||||
|
||||
;#####################################################################################
|
||||
[XCX_UNLOCKAUGMENTS_US]
|
||||
#####################################################################################
|
||||
[XCX_UNLOCKAUGMENTS_2U]
|
||||
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
@ -50,3 +50,28 @@ _checkIgnoreEnd = 0x00000010
|
||||
0x02A81790 = li r3, 0 ; all augments are known
|
||||
0x02A817B8 = bla _checkIgnore ; ignore requirements
|
||||
0x02A81A2C = bla _checkIgnoreEnd ; ignore requirements (end game)
|
||||
|
||||
#####################################################################################
|
||||
[XCX_UNLOCKAUGMENTS_1U]
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
|
||||
0x00000000 = .byte $checkIgnore
|
||||
0x00000001 = .byte $checkIgnoreEnd
|
||||
_ignore = 0x00000000
|
||||
_end = 0x00000001
|
||||
|
||||
_checkIgnore = 0x00000004
|
||||
0x00000004 = lis r4, _ignore@ha
|
||||
0x00000008 = lbz r3, _ignore@l(r4)
|
||||
0x0000000C = blr
|
||||
|
||||
_checkIgnoreEnd = 0x00000010
|
||||
0x00000010 = lis r3, _end@ha
|
||||
0x00000014 = lbz r3, _end@l(r3)
|
||||
0x00000018 = blr
|
||||
|
||||
0x02A81714 = li r3, 0 ; all augments are known
|
||||
0x02A8173C = bla _checkIgnore ; ignore requirements
|
||||
0x02A819B0 = bla _checkIgnoreEnd ; ignore requirements (end game)
|
||||
|
@ -1,34 +1,172 @@
|
||||
[XCX_BATTLEPOINTSX]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x30
|
||||
codeCaveSize = 0x9C
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
0x00000000 = .short $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1
|
||||
; WHAT : Multiply the battle points given in... battles
|
||||
; WHAT : Multiply the battle points gained when a new class level is reached
|
||||
|
||||
_exp = 0x00000004
|
||||
0x00000004 = lis r3, _mod@ha
|
||||
0x00000008 = lbz r3, _mod@l(r3)
|
||||
0x00000008 = lhz r3, _mod@l(r3)
|
||||
0x0000000C = mullw r0, r0, r3
|
||||
0x00000010 = blr
|
||||
0x00000010 = mulli r0, r0, 3
|
||||
0x00000014 = blr
|
||||
|
||||
0x020C4A74 = bla _exp
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addInnerExpChara__Q2_6Battle14CBattleManagerFUiN21
|
||||
; WHAT : Multiply the battle points given in... battles
|
||||
; WHAT : Multiply the battle points gained when a new level is reached
|
||||
|
||||
_exp2 = 0x00000014
|
||||
0x00000014 = lis r4, _mod@ha
|
||||
0x00000018 = lbz r4, _mod@l(r4)
|
||||
0x0000001C = li r3, 3
|
||||
0x00000020 = divw r4, r4, r3
|
||||
0x00000024 = mullw r9, r9, r4
|
||||
0x00000028 = add r11, r11, r9
|
||||
0x0000002C = blr
|
||||
_exp2 = 0x00000018
|
||||
0x00000018 = lis r4, _mod@ha
|
||||
0x0000001C = lhz r4, _mod@l(r4)
|
||||
0x00000020 = mullw r9, r9, r4
|
||||
0x00000024 = add r11, r11, r9
|
||||
0x00000028 = blr
|
||||
|
||||
0x020C1C48 = bla _exp2
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addTreasure__Q2_3cfs10CfTBoxUtilSFUib
|
||||
; WHAT : Multiply the battle points given by treasures or exploration
|
||||
|
||||
_expTreasure = 0x00000050
|
||||
0x00000050 = lis r3, _mod@ha
|
||||
0x00000054 = lhz r3, _mod@l(r3)
|
||||
0x00000058 = mullw r3, r31, r3
|
||||
0x0000005C = blr
|
||||
|
||||
0x022D8EDC = bla _expTreasure
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT : Multiply the battle points displayed in quest popup information.
|
||||
|
||||
_dispBefore = 0x00000060
|
||||
0x00000060 = lhz r24, 0x90(r1)
|
||||
0x00000064 = lis r25, _mod@ha
|
||||
0x00000068 = lhz r25, _mod@l(r25)
|
||||
0x0000006C = mullw r24, r24, r25
|
||||
0x00000070 = blr
|
||||
|
||||
0x02B94730 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT : Multiply the battle points displayed in quest popup results.
|
||||
|
||||
_dispAfter = 0x00000074
|
||||
0x00000074 = lis r5, _mod@ha
|
||||
0x00000078 = lhz r5, _mod@l(r5)
|
||||
0x0000007C = mullw r3, r3, r5
|
||||
0x00000080 = stw r3, 0x7C(r1)
|
||||
0x00000084 = blr
|
||||
|
||||
0x02B9FEE0 = bla _dispAfter
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
|
||||
_expSquadValue = 0x00000088
|
||||
0x00000088 = lis r4, _mod@ha
|
||||
0x0000008C = lhz r4, _mod@l(r4)
|
||||
0x00000090 = mullw r3, r3, r4
|
||||
0x00000094 = stw r3, 0x1C(r1)
|
||||
0x00000098 = blr
|
||||
|
||||
0x023CC770 = bla _expSquadValue
|
||||
0x023CC834 = bla _expSquadValue
|
||||
|
||||
[XCX_BATTLEPOINTSX_1U] ############################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x9C
|
||||
|
||||
0x00000000 = .short $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1
|
||||
; WHAT : Multiply the battle points gained when a new class level is reached
|
||||
|
||||
_exp = 0x00000004
|
||||
0x00000004 = lis r3, _mod@ha
|
||||
0x00000008 = lhz r3, _mod@l(r3)
|
||||
0x0000000C = mullw r0, r0, r3
|
||||
0x00000010 = mulli r0, r0, 3
|
||||
0x00000014 = blr
|
||||
|
||||
0x020C4A74 = bla _exp
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addInnerExpChara__Q2_6Battle14CBattleManagerFUiN21
|
||||
; WHAT : Multiply the battle points gained when a new level is reached
|
||||
|
||||
_exp2 = 0x00000018
|
||||
0x00000018 = lis r4, _mod@ha
|
||||
0x0000001C = lhz r4, _mod@l(r4)
|
||||
0x00000020 = mullw r9, r9, r4
|
||||
0x00000024 = add r11, r11, r9
|
||||
0x00000028 = blr
|
||||
|
||||
0x020C1C48 = bla _exp2
|
||||
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addTreasure__Q2_3cfs10CfTBoxUtilSFUib
|
||||
; WHAT : Multiply the battle points given by treasures or exploration
|
||||
|
||||
_expTreasure = 0x00000050
|
||||
0x00000050 = lis r3, _mod@ha
|
||||
0x00000054 = lhz r3, _mod@l(r3)
|
||||
0x00000058 = mullw r3, r31, r3
|
||||
0x0000005C = blr
|
||||
|
||||
0x022D8E6C = bla _expTreasure
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT : Multiply the battle points displayed in quest popup information.
|
||||
|
||||
_dispBefore = 0x00000060
|
||||
0x00000060 = lhz r24, 0x90(r1)
|
||||
0x00000064 = lis r25, _mod@ha
|
||||
0x00000068 = lhz r25, _mod@l(r25)
|
||||
0x0000006C = mullw r24, r24, r25
|
||||
0x00000070 = blr
|
||||
|
||||
0x02B946A4 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT : Multiply the battle points displayed in quest popup results.
|
||||
|
||||
_dispAfter = 0x00000074
|
||||
0x00000074 = lis r5, _mod@ha
|
||||
0x00000078 = lhz r5, _mod@l(r5)
|
||||
0x0000007C = mullw r3, r3, r5
|
||||
0x00000080 = stw r3, 0x7C(r1)
|
||||
0x00000084 = blr
|
||||
|
||||
0x02B9FDE0 = bla _dispAfter
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
|
||||
_expSquadValue = 0x00000088
|
||||
0x00000088 = lis r4, _mod@ha
|
||||
0x0000008C = lhz r4, _mod@l(r4)
|
||||
0x00000090 = mullw r3, r3, r4
|
||||
0x00000094 = stw r3, 0x1C(r1)
|
||||
0x00000098 = blr
|
||||
|
||||
0x023CC700 = bla _expSquadValue
|
||||
0x023CC700 = bla _expSquadValue
|
||||
|
@ -2,21 +2,30 @@
|
||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||
name = "Battle Points X"
|
||||
path = "Xenoblade Chronicles X/Mods/Experience/Battle Points"
|
||||
description = Change the amount of Battle points gained in battle.
|
||||
description = Change the amount of Battle points gained when a new level (or class level) is reached, when completing missions or exploring.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
name = "Quantity x2"
|
||||
$mod = 6
|
||||
$mod = 2
|
||||
|
||||
[Preset]
|
||||
name = "Quantity x5"
|
||||
$mod = 15
|
||||
$mod = 5
|
||||
|
||||
[Preset]
|
||||
name = "Quantity x10"
|
||||
$mod = 30
|
||||
$mod = 10
|
||||
|
||||
[Preset]
|
||||
name = "Quantity x50"
|
||||
$mod = 150
|
||||
$mod = 50
|
||||
|
||||
[Preset]
|
||||
name = "Quantity x100"
|
||||
$mod = 100
|
||||
|
||||
[Preset]
|
||||
name = "Quantity x1000"
|
||||
$mod = 1000
|
||||
|
||||
|
@ -17,3 +17,23 @@ _exp = 0x00000004
|
||||
|
||||
0x0288E610 = nop
|
||||
0x0288E614 = bla _exp
|
||||
|
||||
[XCX_BLADEX_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x10
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
_exp = 0x00000004
|
||||
0x00000004 = lis r3, _mod@ha
|
||||
0x00000008 = lbz r3, _mod@l(r3)
|
||||
0x0000000C = blr
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : fw::SocialUnion::getUnionBasePoint((int))
|
||||
; WHAT : Multiply the BLADE points rewarded
|
||||
|
||||
0x0288E594 = nop
|
||||
0x0288E598 = bla _exp
|
@ -1,12 +1,12 @@
|
||||
[XCX_CLASSEXPX]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x20
|
||||
codeCaveSize = 0x50
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
_exp = 0x00000004
|
||||
_expBattle = 0x00000004
|
||||
0x00000004 = lis r12, _mod@ha
|
||||
0x00000008 = lbz r12, _mod@l(r12)
|
||||
0x0000000C = mullw r31, r3, r12
|
||||
@ -16,5 +16,44 @@ _exp = 0x00000004
|
||||
; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1
|
||||
; WHAT : Multiply the class experience given during combat
|
||||
|
||||
0x020C4A28 = bla _exp
|
||||
0x020C4A28 = bla _expBattle
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoSub::displayInfoDL((menu::MenuObject *))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000014
|
||||
0x00000014 = lis r5, _mod@ha
|
||||
0x00000018 = lbz r5, _mod@l(r5)
|
||||
0x0000001C = mullw r3, r3, r5
|
||||
0x00000020 = stw r3, 0x34(r1)
|
||||
0x00000024 = blr
|
||||
|
||||
0x02B91324 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x00000028
|
||||
0x00000028 = lis r5, _mod@ha
|
||||
0x0000002C = lbz r5, _mod@l(r5)
|
||||
0x00000030 = mullw r3, r3, r5
|
||||
0x00000034 = stw r3, 0x80(r1)
|
||||
0x00000038 = blr
|
||||
|
||||
0x02B9FF44 = bla _dispAfter
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
|
||||
_expSquadValue = 0x0000003C
|
||||
0x0000003C = lis r4, _mod@ha
|
||||
0x00000040 = lbz r4, _mod@l(r4)
|
||||
0x00000044 = mullw r3, r3, r4
|
||||
0x00000048 = stw r3, 0x18(r1)
|
||||
0x0000004C = blr
|
||||
|
||||
0x023CC750 = bla _expSquadValue
|
||||
0x023CC814 = bla _expSquadValue
|
||||
|
@ -2,7 +2,7 @@
|
||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||
name = "Class Exp Points X"
|
||||
path = "Xenoblade Chronicles X/Mods/Experience/Class Exp Points"
|
||||
description = Change the amount of Class Exp points gained in battle.
|
||||
description = Change the amount of Class Exp points gained in battle, missions, quests and exploration.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
@ -20,3 +20,7 @@ $mod = 10
|
||||
[Preset]
|
||||
name = "x50"
|
||||
$mod = 50
|
||||
|
||||
[Preset]
|
||||
name = "x100"
|
||||
$mod = 100
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_FRIENDPOINTSX]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x10
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||
name = "Friends Points X"
|
||||
path = "Xenoblade Chronicles X/Mods/Experience/Friends Points"
|
||||
description = Set the Friends points gained in battle (flat amount).
|
||||
description = More Friends points gained when activating a Soul Voice Link during battle.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
|
@ -1,19 +1,175 @@
|
||||
[XCX_EXPX]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x14
|
||||
codeCaveSize = 0x84
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
_exp = 0x00000004
|
||||
0x00000004 = lis r30, _mod@ha
|
||||
0x00000008 = lbz r30, _mod@l(r30)
|
||||
0x0000000C = mullw r30, r3, r30
|
||||
0x00000010 = blr
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfCompoCtrlEnemy::execRequestCommon
|
||||
; WHAT : Multiply the experience points given in battles
|
||||
|
||||
0x025624E4 = bla _exp
|
||||
_expBattle = 0x00000004
|
||||
0x00000004 = lis r30, _mod@ha
|
||||
0x00000008 = lbz r30, _mod@l(r30)
|
||||
0x0000000C = lwz r3, 0x3184(r28)
|
||||
0x00000010 = mullw r3, r3, r30
|
||||
0x00000014 = stw r3, 0x3184(r28)
|
||||
0x00000018 = mr r3, r28
|
||||
0x0000001C = blr
|
||||
|
||||
0x025624D4 = bla _expBattle
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addTreasure__Q2_3cfs10CfTBoxUtilSFUib
|
||||
; WHAT : Multiply the experience points given by treasures or exploration
|
||||
|
||||
_expTreasure = 0x00000020
|
||||
0x00000020 = lis r3, _mod@ha
|
||||
0x00000024 = lbz r3, _mod@l(r3)
|
||||
0x00000028 = lhz r31, 0x1C(r1)
|
||||
0x0000002C = mullw r31, r31, r3
|
||||
0x00000030 = blr
|
||||
|
||||
0x022D8E64 = bla _expTreasure
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfQuestUtilSFUiQ2_3cfs17CfQuestRewardType
|
||||
; WHAT : Multiply the experience points given by quests ?
|
||||
|
||||
_expQuest = 0x00000034
|
||||
0x00000034 = lis r4, _mod@ha
|
||||
0x00000038 = lbz r4, _mod@l(r4)
|
||||
0x0000003C = mullw r3, r3, r4
|
||||
0x00000040 = stw r3, 0x60(r1)
|
||||
0x00000044 = blr
|
||||
|
||||
0x0229560C = bla _expQuest
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000048
|
||||
0x00000048 = lwz r23, 0x88(r1)
|
||||
0x0000004C = lis r24, _mod@ha
|
||||
0x00000050 = lbz r24, _mod@l(r24)
|
||||
0x00000054 = mullw r23, r23, r24
|
||||
0x00000058 = blr
|
||||
|
||||
0x02B94700 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x0000005C
|
||||
0x0000005C = lis r5, _mod@ha
|
||||
0x00000060 = lbz r5, _mod@l(r5)
|
||||
0x00000064 = mullw r3, r3, r5
|
||||
0x00000068 = stw r3, 0x78(r1)
|
||||
0x0000006C = blr
|
||||
|
||||
0x02B9FDD4 = bla _dispAfter
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
|
||||
_expSquadValue = 0x00000070
|
||||
0x00000070 = lis r4, _mod@ha
|
||||
0x00000074 = lbz r4, _mod@l(r4)
|
||||
0x00000078 = mullw r3, r3, r4
|
||||
0x0000007C = stw r3, 0x10(r1)
|
||||
0x00000080 = blr
|
||||
|
||||
0x023CC6D4 = bla _expSquadValue
|
||||
|
||||
[XCX_EXPX_1U] ############################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x90
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : cfs::CfCompoCtrlEnemy::execRequestCommon
|
||||
; WHAT : Multiply the experience points given in battles
|
||||
|
||||
_expBattle = 0x00000004
|
||||
0x00000004 = lis r30, _mod@ha
|
||||
0x00000008 = lbz r30, _mod@l(r30)
|
||||
0x0000000C = lwz r3, 0x3184(r28)
|
||||
0x00000010 = mullw r3, r3, r30
|
||||
0x00000014 = stw r3, 0x3184(r28)
|
||||
0x00000018 = mr r3, r28
|
||||
0x0000001C = blr
|
||||
|
||||
0x02562464 = bla _expBattle
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addTreasure__Q2_3cfs10CfTBoxUtilSFUib
|
||||
; WHAT : Multiply the experience points given by treasures or exploration
|
||||
|
||||
_expTreasure = 0x00000020
|
||||
0x00000020 = lis r3, _mod@ha
|
||||
0x00000024 = lbz r3, _mod@l(r3)
|
||||
0x00000028 = lhz r31, 0x1C(r1)
|
||||
0x0000002C = mullw r31, r31, r3
|
||||
0x00000030 = blr
|
||||
|
||||
0x022D8DF4 = bla _expTreasure
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfQuestUtilSFUiQ2_3cfs17CfQuestRewardType
|
||||
; WHAT : Multiply the experience points given by quests ?
|
||||
|
||||
_expQuest = 0x00000034
|
||||
0x00000034 = lis r4, _mod@ha
|
||||
0x00000038 = lbz r4, _mod@l(r4)
|
||||
0x0000003C = mullw r3, r3, r4
|
||||
0x00000040 = stw r3, 0x60(r1)
|
||||
0x00000044 = blr
|
||||
|
||||
0x0229559C = bla _expQuest
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool))
|
||||
; WHAT :
|
||||
|
||||
_dispBefore = 0x00000048
|
||||
0x00000048 = lwz r23, 0x88(r1)
|
||||
0x0000004C = lis r24, _mod@ha
|
||||
0x00000050 = lbz r24, _mod@l(r24)
|
||||
0x00000054 = mullw r23, r23, r24
|
||||
0x00000058 = blr
|
||||
|
||||
0x02B94674 = bla _dispBefore
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : menu::MenuMultiQuestResult::setup((void))
|
||||
; WHAT :
|
||||
|
||||
_dispAfter = 0x0000005C
|
||||
0x0000005C = lis r5, _mod@ha
|
||||
0x00000060 = lbz r5, _mod@l(r5)
|
||||
0x00000064 = mullw r3, r3, r5
|
||||
0x00000068 = stw r3, 0x78(r1)
|
||||
0x0000006C = blr
|
||||
|
||||
0x02B9FCD4 = bla _dispAfter
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1
|
||||
; WHAT : Multiply the experience points given by Squad missions
|
||||
|
||||
_expSquadValue = 0x00000070
|
||||
0x00000070 = lis r4, _mod@ha
|
||||
0x00000074 = lbz r4, _mod@l(r4)
|
||||
0x00000078 = mullw r3, r3, r4
|
||||
0x0000007C = stw r3, 0x10(r1)
|
||||
0x00000080 = blr
|
||||
|
||||
0x023CC664 = bla _expSquadValue
|
||||
|
@ -1,8 +1,8 @@
|
||||
[Definition]
|
||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||
name = "Inner Exp Points X"
|
||||
name = "Inner Exp Points"
|
||||
path = "Xenoblade Chronicles X/Mods/Experience/Inner Exp Points"
|
||||
description = Change the amount of Inner Exp points gained in battle.
|
||||
description = Change the amount of Inner Exp points gained in battle, missions, quests and exploration. [1.0.1E/1.0.2U]
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
@ -20,3 +20,7 @@ $mod = 10
|
||||
[Preset]
|
||||
name = "x50"
|
||||
$mod = 50
|
||||
|
||||
[Preset]
|
||||
name = "x100"
|
||||
$mod = 100
|
||||
|
@ -22,3 +22,28 @@ _miranium = 0x00000004
|
||||
0x00000020 = blr
|
||||
|
||||
0x027D5250 = bla _miranium
|
||||
|
||||
[XCX_FN_MIR_FREQ_1U] ##################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x24
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||
; WHY : Affect the frequency of the FrontierNav income for the Miranium
|
||||
; Frequency unit is 1 minute (so by default income is every 30 minutes)
|
||||
|
||||
_miranium = 0x00000004
|
||||
0x00000004 = lis r8, _mod@ha
|
||||
0x00000008 = lbz r8, _mod@l(r8)
|
||||
0x0000000C = addi r10, r3, 1
|
||||
0x00000010 = divwu r0, r10, r8
|
||||
0x00000014 = mullw r0, r0, r8
|
||||
0x00000018 = subf r3, r0, r10
|
||||
0x0000001C = cmpwi r3, 0
|
||||
0x00000020 = blr
|
||||
|
||||
0x027D51F0 = bla _miranium
|
@ -44,3 +44,50 @@ _ignoreMax = 0x00000038
|
||||
0x00000044 = beqlr
|
||||
0x00000048 = mr r31, r0
|
||||
0x0000004C = blr
|
||||
|
||||
[XCX_FN_MIR_QTY_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x50
|
||||
|
||||
0x00000000 = .short $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
_miranium = 0x00000004
|
||||
0x00000004 = lwzx r31, r3, r28
|
||||
0x00000008 = lis r4, _mod@ha
|
||||
0x0000000C = lhz r4, _mod@l(r4)
|
||||
0x00000010 = mullw r31, r31, r4
|
||||
0x00000014 = blr
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||
; WHAT : Affect the quantity of the NavFrontier income for the Miranium
|
||||
|
||||
0x027D520C = bla _miranium
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : fnet::CFnetData::toStorage(const(unsigned int))
|
||||
; WHAT : Ignore max quantity
|
||||
|
||||
0x00000018 = .byte $uncap
|
||||
_uncap = 0x00000018
|
||||
|
||||
0x027D0F98 = bla _getMiranium
|
||||
_getMiranium = 0x0000001C
|
||||
0x0000001C = lis r12, _uncap@ha
|
||||
0x00000020 = lbz r12, _uncap@l(r12)
|
||||
0x00000024 = cmpwi r12, 0
|
||||
0x00000028 = addis r12, r30, 1
|
||||
0x0000002C = beqlr
|
||||
0x00000030 = li r3, 0
|
||||
0x00000034 = blr
|
||||
|
||||
0x027D0FD0 = bla _ignoreMax
|
||||
_ignoreMax = 0x00000038
|
||||
0x00000038 = lis r12, _uncap@ha
|
||||
0x0000003C = lbz r12, _uncap@l(r12)
|
||||
0x00000040 = cmpwi r12, 1
|
||||
0x00000044 = beqlr
|
||||
0x00000048 = mr r31, r0
|
||||
0x0000004C = blr
|
||||
|
@ -17,3 +17,24 @@ _money = 0x00000004
|
||||
; Frequency unit is 1 minute (so by default income is every 15 minutes)
|
||||
|
||||
0x027D554C = bla _money
|
||||
|
||||
[XCX_FN_MNY_FREQ_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
codeCaveSize = 0x10
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
_money = 0x00000004
|
||||
0x00000004 = lis r12, _mod@ha
|
||||
0x00000008 = lbz r12, _mod@l(r12)
|
||||
0x0000000C = blr
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||
; WHY : Affect the frequency of the NavFrontier income for the money
|
||||
; Frequency unit is 1 minute (so by default income is every 15 minutes)
|
||||
|
||||
0x027D54EC = bla _money
|
@ -13,3 +13,19 @@ _money = 0x00000004
|
||||
0x00000010 = blr
|
||||
|
||||
0x027D5588 = bla _money
|
||||
|
||||
[XCX_FN_MNY_QTY_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x14
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
_money = 0x00000004
|
||||
0x00000004 = lis r31, _mod@ha
|
||||
0x00000008 = lbz r31, _mod@l(r31)
|
||||
0x0000000C = mullw. r31, r31, r3
|
||||
0x00000010 = blr
|
||||
|
||||
0x027D5528 = bla _money
|
||||
|
@ -17,3 +17,23 @@ _res = 0x00000004
|
||||
; Frequency unit is 1 minute (so by default income is every 5 minutes)
|
||||
|
||||
0x027D534C = bla _res
|
||||
|
||||
[XCX_FN_RES_FREQ_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x10
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
_res = 0x00000004
|
||||
0x00000004 = lis r12, _mod@ha
|
||||
0x00000008 = lbz r12, _mod@l(r12)
|
||||
0x0000000C = blr
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||
; WHY : Affect the frequency of the NavFrontier income for the resources
|
||||
; Frequency unit is 1 minute (so by default income is every 5 minutes)
|
||||
|
||||
0x027D52EC = bla _res
|
||||
|
@ -19,3 +19,25 @@ _multCount = 0x00000004
|
||||
0x00000018 = blr
|
||||
|
||||
0x027D5428 = bla _multCount
|
||||
|
||||
[XCX_FN_RES_QTY_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_mod = 0x00000000
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1
|
||||
; WHY :
|
||||
|
||||
_multCount = 0x00000004
|
||||
0x00000004 = lbz r0, 6(r31)
|
||||
0x00000008 = lis r3, _mod@ha
|
||||
0x0000000C = lbz r3, _mod@l(r3)
|
||||
0x00000010 = mullw r0, r0, r3
|
||||
0x00000014 = stb r0, 6(r31)
|
||||
0x00000018 = blr
|
||||
|
||||
0x027D53C8 = bla _multCount
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_CAMERA_DIST]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x4
|
||||
|
||||
|
@ -58,3 +58,49 @@ _info_obtained = 0x00000060
|
||||
; WHY : display bubbles even in skell
|
||||
|
||||
0x0238745C = li r3, 0
|
||||
|
||||
[XCX_DISTMOBINFO_1U] ###########################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x100
|
||||
|
||||
_init_react = 0x00000000
|
||||
0x00000000 = lis r3, 0x4300
|
||||
0x00000004 = addi r3, r3, 0x0000
|
||||
0x00000008 = mr r5, r27
|
||||
0x0000000C = blr
|
||||
|
||||
0x023871F0 = bla _init_react
|
||||
|
||||
_info_default = 0x00000020
|
||||
0x00000020 = cmpwi r6, 2
|
||||
0x00000024 = beq .+0x20
|
||||
0x00000028 = lhz r8, 0x20(r29)
|
||||
0x0000002C = cmpwi r8, 0x4300
|
||||
0x00000030 = blt .+0x14
|
||||
0x00000034 = lis r8, 0x4120
|
||||
0x00000038 = addi r8, r8, 0x0000
|
||||
0x0000003C = stw r8, 0x20(r29)
|
||||
0x00000040 = li r6, 0
|
||||
0x00000044 = stw r6, 0x40(r29)
|
||||
0x00000048 = blr
|
||||
|
||||
_info_obtained = 0x00000060
|
||||
0x00000060 = lhz r8, 0x20(r29)
|
||||
0x00000064 = cmpwi r8, 0x4300
|
||||
0x00000068 = blt .+0x14
|
||||
0x0000006C = lis r8, 0x4120
|
||||
0x00000070 = addi r8, r8, 0x0000
|
||||
0x00000074 = stw r8, 0x20(r29)
|
||||
0x00000078 = li r10, 0
|
||||
0x0000007C = stw r10, 0x40(r29)
|
||||
0x00000080 = blr
|
||||
|
||||
|
||||
0x02386E94 = bla _info_obtained
|
||||
0x02386EC4 = bla _info_default
|
||||
|
||||
0x0238EE50 = nop ; Disable the call of cfs::CfMobInfo::update function (may have side effects)
|
||||
0x0238EEC0 = nop ; Disable altitude check
|
||||
|
||||
0x023873EC = li r3, 0
|
||||
|
@ -1,4 +1,4 @@
|
||||
[XCX_EMANUAL_EU]
|
||||
[XCX_EMANUAL_1E]
|
||||
moduleMatches = 0xF882D5CF ; 1.0.1E
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
@ -15,7 +15,7 @@ _isFinishTM = 0x02C7A4CC # MenuTask::isFinishTimeManipulate((void))
|
||||
0x02B83C98 = bl _isFinishTM
|
||||
|
||||
#################################################################################
|
||||
[XCX_EMANUAL_US]
|
||||
[XCX_EMANUAL_2U]
|
||||
moduleMatches = 0x30B6E091 ; 1.0.2U
|
||||
|
||||
_openTimeManipulate = 0x02C7A290
|
||||
@ -26,3 +26,16 @@ _isFinishTM = 0x02C7A46C # MenuTask::isFinishTimeManipulate((void))
|
||||
|
||||
0x02B83C6C = bl _isFinishTM
|
||||
0x02B83C88 = bl _isFinishTM
|
||||
|
||||
#################################################################################
|
||||
[XCX_EMANUAL_1U]
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
_openTimeManipulate = 0x02C7A118
|
||||
_isFinishTM = 0x02C7A2F4 # MenuTask::isFinishTimeManipulate((void))
|
||||
|
||||
0x02B83C28 = bl _openTimeManipulate
|
||||
0x02B83C40 = bl _openTimeManipulate
|
||||
|
||||
0x02B83BF0 = bl _isFinishTM
|
||||
0x02B83C0C = bl _isFinishTM
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_LOOT_EQUIPMENT_BESTQUALITY]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs
|
||||
@ -14,6 +14,5 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
; WHO : ItemDrop::CItemDropManager::calcAfxSltNum((unsigned short))
|
||||
; WHAT : Control of the loot quality (always orange/yellow)
|
||||
|
||||
0x021AB380 = li r28, 100
|
||||
0x021AB394 = li r29, 100
|
||||
0x021AB3AC = li r30, 100
|
||||
0x021AEE7C = li r3, 3
|
||||
0x021AF280 = li r3, 3
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_LOOT_EQUIPMENT_COUNT]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||
name = "Equipment - Force Count"
|
||||
path = "Xenoblade Chronicles X/Mods/Loot/Equipment - Force Count"
|
||||
description = Force the count of equipment looted (IF and only IF you get a Silver or Gold treasure of course).
|
||||
description = Force the count of equipment looted in Silver or Gold treasures.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
|
@ -1,7 +1,7 @@
|
||||
[XCX_LOOT_EQUIPMENT_TYPE]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x1C
|
||||
codeCaveSize = 0x7C
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs
|
||||
@ -11,19 +11,59 @@ codeCaveSize = 0x1C
|
||||
; 6 = Skell weapons
|
||||
; 8 = Skell armors
|
||||
|
||||
0x00000000 = .byte $mod
|
||||
_ratio = 0x00000000
|
||||
0x00000000 = .byte $type
|
||||
_type = 0x00000000
|
||||
|
||||
_setEquipR4 = 0x00000004
|
||||
0x00000004 = lis r4, _ratio@ha
|
||||
0x00000008 = lbz r4, _ratio@l(r4)
|
||||
0x00000004 = lis r4, _type@ha
|
||||
0x00000008 = lbz r4, _type@l(r4)
|
||||
0x0000000C = blr
|
||||
|
||||
0x021AEB88 = bla _setEquipR4
|
||||
|
||||
_setEquipR27 = 0x00000010
|
||||
0x00000010 = lis r27, _ratio@ha
|
||||
0x00000014 = lbz r27, _ratio@l(r27)
|
||||
0x00000010 = lis r27, _type@ha
|
||||
0x00000014 = lbz r27, _type@l(r27)
|
||||
0x00000018 = blr
|
||||
|
||||
0x021AEB5C = bla _setEquipR27
|
||||
|
||||
0x0000001C = .byte $sub
|
||||
_sub = 0x0000001C
|
||||
|
||||
; Ground Weapons
|
||||
_notRand = 0x00000020
|
||||
0x00000020 = clrlwi r3, r3, 24
|
||||
0x00000024 = lis r4, _sub@ha
|
||||
0x00000028 = lbz r4, _sub@l(r4)
|
||||
0x0000002C = cmpwi r4, 0
|
||||
0x00000030 = beqlr
|
||||
0x00000034 = li r3, 0x64
|
||||
0x00000038 = blr
|
||||
|
||||
0x021AC27C = bla _notRand
|
||||
|
||||
_setSubGW = 0x0000003C
|
||||
0x0000003C = clrlwi r30, r3, 24
|
||||
0x00000040 = lis r3, _sub@ha
|
||||
0x00000044 = lbz r3, _sub@l(r3)
|
||||
0x00000048 = cmpwi r3, 0
|
||||
0x0000004C = beqlr
|
||||
0x00000050 = subi r3, r3, 1
|
||||
0x00000054 = clrlwi r30, r3, 24
|
||||
0x00000058 = blr
|
||||
|
||||
_setSubGA = 0x0000005C
|
||||
0x0000005C = clrlwi r4, r3, 24
|
||||
0x00000060 = lis r3, _sub@ha
|
||||
0x00000064 = lbz r3, _sub@l(r3)
|
||||
0x00000068 = cmpwi r3, 0
|
||||
0x0000006C = beqlr
|
||||
0x00000070 = subi r3, r3, 1
|
||||
0x00000074 = clrlwi r4, r3, 24
|
||||
0x00000078 = blr
|
||||
|
||||
0x021ADD24 = bla _setSubGA
|
||||
|
||||
0x021AE41C = bla _setSubGA
|
||||
|
||||
|
@ -5,18 +5,135 @@ path = "Xenoblade Chronicles X/Mods/Loot/Equipment - Force Type"
|
||||
description = Force the type of equipment looted.
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons"
|
||||
$mod = 2
|
||||
[Preset] ###########################################
|
||||
name = "Ground weapons - ANY ____________________________________________"
|
||||
$type = 2
|
||||
$sub = 0
|
||||
|
||||
[Preset]
|
||||
name = "Ground armors"
|
||||
$mod = 4
|
||||
name = "Ground weapons - Photon Sabers"
|
||||
$type = 2
|
||||
$sub = 1
|
||||
|
||||
[Preset]
|
||||
name = "Skell weapons"
|
||||
$mod = 6
|
||||
name = "Ground weapons - Assault Rifles"
|
||||
$type = 2
|
||||
$sub = 2
|
||||
|
||||
[Preset]
|
||||
name = "Skell armors"
|
||||
$mod = 8
|
||||
name = "Ground weapons - Sniper Rifles"
|
||||
$type = 2
|
||||
$sub = 3
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Dual Guns"
|
||||
$type = 2
|
||||
$sub = 4
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Gatling Guns"
|
||||
$type = 2
|
||||
$sub = 5
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Rayguns"
|
||||
$type = 2
|
||||
$sub = 6
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Psycho Launchers"
|
||||
$type = 2
|
||||
$sub = 7
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Longswords"
|
||||
$type = 2
|
||||
$sub = 8
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Javelins"
|
||||
$type = 2
|
||||
$sub = 9
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Dual Swords"
|
||||
$type = 2
|
||||
$sub = 10
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Shields"
|
||||
$type = 2
|
||||
$sub = 11
|
||||
|
||||
[Preset]
|
||||
name = "Ground weapons - Knives"
|
||||
$type = 2
|
||||
$sub = 12
|
||||
|
||||
[Preset] ###########################################
|
||||
name = "Ground armors - ANY ____________________________________________"
|
||||
$type = 4
|
||||
$sub = 0
|
||||
|
||||
[Preset]
|
||||
name = "Ground armors - Head"
|
||||
$type = 4
|
||||
$sub = 1
|
||||
|
||||
[Preset]
|
||||
name = "Ground armors - Torso"
|
||||
$type = 4
|
||||
$sub = 2
|
||||
|
||||
[Preset]
|
||||
name = "Ground armors - Right arm"
|
||||
$type = 4
|
||||
$sub = 3
|
||||
|
||||
[Preset]
|
||||
name = "Ground armors - Left arm"
|
||||
$type = 4
|
||||
$sub = 4
|
||||
|
||||
[Preset]
|
||||
name = "Ground armors - Leg"
|
||||
$type = 4
|
||||
$sub = 5
|
||||
|
||||
[Preset] ###########################################
|
||||
name = "Skell weapons - ANY ____________________________________________"
|
||||
$type = 6
|
||||
$sub = 0
|
||||
|
||||
[Preset] ###########################################
|
||||
name = "Skell armors - ANY ____________________________________________"
|
||||
$type = 8
|
||||
$sub = 0
|
||||
|
||||
[Preset]
|
||||
name = "Skell armors - Head"
|
||||
$type = 8
|
||||
$sub = 1
|
||||
|
||||
[Preset]
|
||||
name = "Skell armors - Torso"
|
||||
$type = 8
|
||||
$sub = 2
|
||||
|
||||
[Preset]
|
||||
name = "Skell armors - Right arm"
|
||||
$type = 8
|
||||
$sub = 3
|
||||
|
||||
[Preset]
|
||||
name = "Skell armors - Left arm"
|
||||
$type = 8
|
||||
$sub = 4
|
||||
|
||||
[Preset]
|
||||
name = "Skell armors - Leg"
|
||||
$type = 8
|
||||
$sub = 5
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_LOOT_EQUIPMENT_BROKEN]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; WHO : __CPR129__calcItem__Q2_8ItemDrop16CItemDropManagerFRQ3_J13JJ22J9SDropInfoUcRCQ3_J13JJ22J11SCreateInfo
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_LOOT_MATERIALS]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
[XCX_LOOT_FORCECHEST]
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0xAB97DE6B ; 1.0.1E, 1.0.2U, 1.0.1U
|
||||
|
||||
codeCaveSize = 0x30
|
||||
|
||||
|
9
Mods/XenobladeX_mod_LootTreasureQuality/readme.txt
Normal file
9
Mods/XenobladeX_mod_LootTreasureQuality/readme.txt
Normal file
@ -0,0 +1,9 @@
|
||||
About presets with [FORCED]:
|
||||
It's a bit tough to explain, but here's how the game selects the chest quality:
|
||||
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)
|
||||
--> By default, the mod 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. That means quests which forces a quest quality will not be broken.
|
||||
|
||||
But presets with [FORCED] will always give you the wanted treasure quality. This is very usefule for loot grinding, but can break quests whose need a different quality.
|
@ -2,7 +2,7 @@
|
||||
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||
name = "Treasure Quality"
|
||||
path = "Xenoblade Chronicles X/Mods/Loot/Treasure Quality"
|
||||
description = Select the preferred treasure quality you want to loot (see patches.txt for explanation). Presets with [FORCED] will always give you the wanted treasure but this will break quests whose need a different quality (but is very useful for loot grinding).
|
||||
description = Select the preferred treasure quality you want to loot (see readme.txt for explanation).
|
||||
version = 3
|
||||
|
||||
[Preset]
|
||||
|
@ -6,3 +6,8 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
; WHAT : Never process this function so that Overdrive music is never played
|
||||
|
||||
0x022AB1F4 = blr
|
||||
|
||||
[XCX_BGMNOOVER_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
0x022AB184 = blr
|
||||
|
@ -7,3 +7,9 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
|
||||
|
||||
_skip = 0x22A4DD4
|
||||
0x022A4DC0 = b _skip
|
||||
|
||||
[XCX_BGMNOFLIGHT_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
_skip = 0x022A4D64
|
||||
0x022A4D50 = b _skip
|
||||
|
@ -25,3 +25,31 @@ _setHorizVelocity = 0x00000010
|
||||
|
||||
# chr::CIL_BaseJump::decideLandingType((void))
|
||||
0x024714E0 = li r3, 5
|
||||
|
||||
[XCX_MOONJUMP_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x28
|
||||
|
||||
0x00000020 = .float $vert ; vertical velocity (default is 1.00, speedrun is 1.05)
|
||||
0x00000024 = .float $horz ; horizontal velocity (default is 1.00, speedrun is 2.0)
|
||||
|
||||
_velocity = 0x00000020
|
||||
_hvelocity = 0x00000024
|
||||
|
||||
_setVelocity = 0x00000000
|
||||
0x00000000 = lis r3, _velocity@ha
|
||||
0x00000004 = lfs f30, _velocity@l(r3)
|
||||
0x00000008 = fdivs f30, f1, f30
|
||||
0x0000000C = blr
|
||||
0x0264A690 = bla _setVelocity
|
||||
|
||||
_setHorizVelocity = 0x00000010
|
||||
0x00000010 = lis r12, _hvelocity@ha
|
||||
0x00000014 = lfs f31, _hvelocity@l(r12)
|
||||
0x00000018 = fdivs f31, f1, f31
|
||||
0x0000001C = blr
|
||||
0x0264C07C = bla _setHorizVelocity
|
||||
|
||||
# chr::CIL_BaseJump::decideLandingType((void))
|
||||
0x02471470 = li r3, 5
|
@ -16,9 +16,20 @@ _setSpeed = 0x00000004
|
||||
# chr::CInnerLabelState::applyFieldMoveWeight((float))
|
||||
0x02643330 = bla _setSpeed ; SetVariableFloat(0xBD,float)
|
||||
|
||||
;0x026431C8 = bla _setSpeed
|
||||
;0x026431D8 = bla _setSpeed
|
||||
;0x026431E8 = bla _setSpeed
|
||||
;0x026431F8 = bla _setSpeed
|
||||
;0x02643208 = bla _setSpeed
|
||||
;0x02643218 = bla _setSpeed
|
||||
[XCX_MOVESPEED_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x18
|
||||
|
||||
0x00000000 = .float $mod ; dash speed (smallest means fastest, default is 1.0)
|
||||
_speed = 0x00000000
|
||||
|
||||
_setSpeed = 0x00000004
|
||||
0x00000004 = lis r3, _speed@ha
|
||||
0x00000008 = lfs f13, _speed@l(r3)
|
||||
0x0000000C = fdivs f1, f1, f13
|
||||
0x00000010 = lwz r3, 0(r31)
|
||||
0x00000014 = blr
|
||||
|
||||
# chr::CInnerLabelState::applyFieldMoveWeight((float))
|
||||
0x026432C0 = bla _setSpeed ; SetVariableFloat(0xBD,float)
|
||||
|
@ -17,3 +17,23 @@ _forceWeather = 0x00000004
|
||||
|
||||
; cfs::CfWtrManager::update((float))
|
||||
0x022B587C = nop
|
||||
|
||||
[XCX_CHANGEWEATHER_1U] ######################################################################
|
||||
moduleMatches = 0xAB97DE6B ; 1.0.1U
|
||||
|
||||
codeCaveSize = 0x10
|
||||
|
||||
0x00000000 = .byte $wtr
|
||||
_weather = 0x00000000
|
||||
|
||||
; cfs::CfWtrManager::setWeatherID((unsigned int, int))
|
||||
|
||||
0x0229F08C = bla _forceWeather
|
||||
|
||||
_forceWeather = 0x00000004
|
||||
0x00000004 = lis r28, _weather@ha
|
||||
0x00000008 = lbz r28, _weather@l(r28)
|
||||
0x0000000C = blr
|
||||
|
||||
; cfs::CfWtrManager::update((float))
|
||||
0x022B580C = nop
|
||||
|
Loading…
Reference in New Issue
Block a user