diff --git a/Mods/XenobladeX_FOVSetting/patches.txt b/Mods/XenobladeX_FOVSetting/patches.txt index 025a881d..081779fb 100644 --- a/Mods/XenobladeX_FOVSetting/patches.txt +++ b/Mods/XenobladeX_FOVSetting/patches.txt @@ -12,4 +12,9 @@ moduleMatches = 0x218F6E07, 0xF882D5CF [XCXFOVV102U] moduleMatches = 0x30B6E091 -0x10190C7C = .float $fov \ No newline at end of file +0x10190C7C = .float $fov + +[XCXFOVV101U] +moduleMatches = 0xAB97DE6B +0x10190B7C = .float $fov + diff --git a/Mods/XenobladeX_mod_BattleDamageModGround/patches.txt b/Mods/XenobladeX_mod_BattleDamageModGround/patches.txt index 46eb945f..e744275f 100644 --- a/Mods/XenobladeX_mod_BattleDamageModGround/patches.txt +++ b/Mods/XenobladeX_mod_BattleDamageModGround/patches.txt @@ -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 \ No newline at end of file diff --git a/Mods/XenobladeX_mod_BattleEnemyStats/patches.txt b/Mods/XenobladeX_mod_BattleEnemyStats/patches.txt index 3faf3de3..d5af7516 100644 --- a/Mods/XenobladeX_mod_BattleEnemyStats/patches.txt +++ b/Mods/XenobladeX_mod_BattleEnemyStats/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_BattleEscapeDistance/patches.txt b/Mods/XenobladeX_mod_BattleEscapeDistance/patches.txt index 7d0e42b1..6e1e83fe 100644 --- a/Mods/XenobladeX_mod_BattleEscapeDistance/patches.txt +++ b/Mods/XenobladeX_mod_BattleEscapeDistance/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_BattleNoQTE/patches.txt b/Mods/XenobladeX_mod_BattleNoQTE/patches.txt index 687d567e..fccee723 100644 --- a/Mods/XenobladeX_mod_BattleNoQTE/patches.txt +++ b/Mods/XenobladeX_mod_BattleNoQTE/patches.txt @@ -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)) diff --git a/Mods/XenobladeX_mod_BattleOverdriveUnlocked/patches.txt b/Mods/XenobladeX_mod_BattleOverdriveUnlocked/patches.txt index 658b4ae1..4f6307ff 100644 --- a/Mods/XenobladeX_mod_BattleOverdriveUnlocked/patches.txt +++ b/Mods/XenobladeX_mod_BattleOverdriveUnlocked/patches.txt @@ -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)) diff --git a/Mods/XenobladeX_mod_BladeDLCQuestsUnlocked/patches.txt b/Mods/XenobladeX_mod_BladeDLCQuestsUnlocked/patches.txt index 8811c9e8..e272d9e6 100644 --- a/Mods/XenobladeX_mod_BladeDLCQuestsUnlocked/patches.txt +++ b/Mods/XenobladeX_mod_BladeDLCQuestsUnlocked/patches.txt @@ -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 \ No newline at end of file diff --git a/Mods/XenobladeX_mod_BladeGainTicketsFromMissions/patches.txt b/Mods/XenobladeX_mod_BladeGainTicketsFromMissions/patches.txt index 620f8727..69fbc93a 100644 --- a/Mods/XenobladeX_mod_BladeGainTicketsFromMissions/patches.txt +++ b/Mods/XenobladeX_mod_BladeGainTicketsFromMissions/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_BladeLv60SkellsUnlocked/patches.txt b/Mods/XenobladeX_mod_BladeLv60SkellsUnlocked/patches.txt index 6862d33c..0ff89ba7 100644 --- a/Mods/XenobladeX_mod_BladeLv60SkellsUnlocked/patches.txt +++ b/Mods/XenobladeX_mod_BladeLv60SkellsUnlocked/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_BladeTasksAndMissionsOffline/patches.txt b/Mods/XenobladeX_mod_BladeTasksAndMissionsOffline/patches.txt index eeb9dce1..fa2ec894 100644 --- a/Mods/XenobladeX_mod_BladeTasksAndMissionsOffline/patches.txt +++ b/Mods/XenobladeX_mod_BladeTasksAndMissionsOffline/patches.txt @@ -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 + diff --git a/Mods/XenobladeX_mod_CollectiblesCatchRange/patches.txt b/Mods/XenobladeX_mod_CollectiblesCatchRange/patches.txt index ca57f6f1..0294f31f 100644 --- a/Mods/XenobladeX_mod_CollectiblesCatchRange/patches.txt +++ b/Mods/XenobladeX_mod_CollectiblesCatchRange/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_CollectiblesIgnore100th/patches.txt b/Mods/XenobladeX_mod_CollectiblesIgnore100th/patches.txt index be4410c6..bc02bead 100644 --- a/Mods/XenobladeX_mod_CollectiblesIgnore100th/patches.txt +++ b/Mods/XenobladeX_mod_CollectiblesIgnore100th/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_EquipmentArmorsCanHave3AugmentSlots/patches.txt b/Mods/XenobladeX_mod_EquipmentArmorsCanHave3AugmentSlots/patches.txt index 98406ea4..8f9134bb 100644 --- a/Mods/XenobladeX_mod_EquipmentArmorsCanHave3AugmentSlots/patches.txt +++ b/Mods/XenobladeX_mod_EquipmentArmorsCanHave3AugmentSlots/patches.txt @@ -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 \ No newline at end of file diff --git a/Mods/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/patches.txt b/Mods/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/patches.txt index 3f8114ee..b2202302 100644 --- a/Mods/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/patches.txt +++ b/Mods/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_EquipmentUnlockAugments/patches.txt b/Mods/XenobladeX_mod_EquipmentUnlockAugments/patches.txt index c49ffa82..106e3be1 100644 --- a/Mods/XenobladeX_mod_EquipmentUnlockAugments/patches.txt +++ b/Mods/XenobladeX_mod_EquipmentUnlockAugments/patches.txt @@ -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) diff --git a/Mods/XenobladeX_mod_ExpBattlePointsX/patches.txt b/Mods/XenobladeX_mod_ExpBattlePointsX/patches.txt index f0b74b01..4ac7e7ba 100644 --- a/Mods/XenobladeX_mod_ExpBattlePointsX/patches.txt +++ b/Mods/XenobladeX_mod_ExpBattlePointsX/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_ExpBattlePointsX/rules.txt b/Mods/XenobladeX_mod_ExpBattlePointsX/rules.txt index b414ea83..d25ab39e 100644 --- a/Mods/XenobladeX_mod_ExpBattlePointsX/rules.txt +++ b/Mods/XenobladeX_mod_ExpBattlePointsX/rules.txt @@ -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 + diff --git a/Mods/XenobladeX_mod_ExpBladePointsX/patches.txt b/Mods/XenobladeX_mod_ExpBladePointsX/patches.txt index 6ac72b2f..126177cb 100644 --- a/Mods/XenobladeX_mod_ExpBladePointsX/patches.txt +++ b/Mods/XenobladeX_mod_ExpBladePointsX/patches.txt @@ -16,4 +16,24 @@ _exp = 0x00000004 ; WHAT : Multiply the BLADE points rewarded 0x0288E610 = nop -0x0288E614 = bla _exp \ No newline at end of file +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 \ No newline at end of file diff --git a/Mods/XenobladeX_mod_ExpClassExpPointsX/patches.txt b/Mods/XenobladeX_mod_ExpClassExpPointsX/patches.txt index a6099430..943ef4fa 100644 --- a/Mods/XenobladeX_mod_ExpClassExpPointsX/patches.txt +++ b/Mods/XenobladeX_mod_ExpClassExpPointsX/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_ExpClassExpPointsX/rules.txt b/Mods/XenobladeX_mod_ExpClassExpPointsX/rules.txt index fcee47ee..b23f1762 100644 --- a/Mods/XenobladeX_mod_ExpClassExpPointsX/rules.txt +++ b/Mods/XenobladeX_mod_ExpClassExpPointsX/rules.txt @@ -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 diff --git a/Mods/XenobladeX_mod_ExpFriendsPointsX/patches.txt b/Mods/XenobladeX_mod_ExpFriendsPointsX/patches.txt index 76b687aa..35ad43c9 100644 --- a/Mods/XenobladeX_mod_ExpFriendsPointsX/patches.txt +++ b/Mods/XenobladeX_mod_ExpFriendsPointsX/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_ExpFriendsPointsX/rules.txt b/Mods/XenobladeX_mod_ExpFriendsPointsX/rules.txt index ce59057e..d2d0acab 100644 --- a/Mods/XenobladeX_mod_ExpFriendsPointsX/rules.txt +++ b/Mods/XenobladeX_mod_ExpFriendsPointsX/rules.txt @@ -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] diff --git a/Mods/XenobladeX_mod_ExpInnerExpPointsX/patches.txt b/Mods/XenobladeX_mod_ExpInnerExpPointsX/patches.txt index e353bc00..d357ab62 100644 --- a/Mods/XenobladeX_mod_ExpInnerExpPointsX/patches.txt +++ b/Mods/XenobladeX_mod_ExpInnerExpPointsX/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_ExpInnerExpPointsX/rules.txt b/Mods/XenobladeX_mod_ExpInnerExpPointsX/rules.txt index bde88df9..a8c96c11 100644 --- a/Mods/XenobladeX_mod_ExpInnerExpPointsX/rules.txt +++ b/Mods/XenobladeX_mod_ExpInnerExpPointsX/rules.txt @@ -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 diff --git a/Mods/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/patches.txt b/Mods/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/patches.txt index 230a930c..58befe29 100644 --- a/Mods/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/patches.txt +++ b/Mods/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/patches.txt @@ -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 \ No newline at end of file diff --git a/Mods/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/patches.txt b/Mods/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/patches.txt index 29718a27..02717a1a 100644 --- a/Mods/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/patches.txt +++ b/Mods/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_FrontierNavProbeMoneyFrequency/patches.txt b/Mods/XenobladeX_mod_FrontierNavProbeMoneyFrequency/patches.txt index 3f478a79..d17284be 100644 --- a/Mods/XenobladeX_mod_FrontierNavProbeMoneyFrequency/patches.txt +++ b/Mods/XenobladeX_mod_FrontierNavProbeMoneyFrequency/patches.txt @@ -16,4 +16,25 @@ _money = 0x00000004 ; WHY : Affect the frequency of the NavFrontier income for the money ; Frequency unit is 1 minute (so by default income is every 15 minutes) -0x027D554C = bla _money \ No newline at end of file +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 \ No newline at end of file diff --git a/Mods/XenobladeX_mod_FrontierNavProbeMoneyQuantity/patches.txt b/Mods/XenobladeX_mod_FrontierNavProbeMoneyQuantity/patches.txt index 2b97b58f..b70dcd81 100644 --- a/Mods/XenobladeX_mod_FrontierNavProbeMoneyQuantity/patches.txt +++ b/Mods/XenobladeX_mod_FrontierNavProbeMoneyQuantity/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_FrontierNavProbeResourceFrequency/patches.txt b/Mods/XenobladeX_mod_FrontierNavProbeResourceFrequency/patches.txt index e382299e..645e65c4 100644 --- a/Mods/XenobladeX_mod_FrontierNavProbeResourceFrequency/patches.txt +++ b/Mods/XenobladeX_mod_FrontierNavProbeResourceFrequency/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_FrontierNavProbeResourceQuantity/patches.txt b/Mods/XenobladeX_mod_FrontierNavProbeResourceQuantity/patches.txt index 47130f1f..c46eda37 100644 --- a/Mods/XenobladeX_mod_FrontierNavProbeResourceQuantity/patches.txt +++ b/Mods/XenobladeX_mod_FrontierNavProbeResourceQuantity/patches.txt @@ -18,4 +18,26 @@ _multCount = 0x00000004 0x00000014 = stb r0, 6(r31) 0x00000018 = blr -0x027D5428 = bla _multCount \ No newline at end of file +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 diff --git a/Mods/XenobladeX_mod_GraphicsCameraDistance/patches.txt b/Mods/XenobladeX_mod_GraphicsCameraDistance/patches.txt index 88618a93..56c2f348 100644 --- a/Mods/XenobladeX_mod_GraphicsCameraDistance/patches.txt +++ b/Mods/XenobladeX_mod_GraphicsCameraDistance/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/patches.txt b/Mods/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/patches.txt index c9567898..2cf73258 100644 --- a/Mods/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/patches.txt +++ b/Mods/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_HudChangeTimeFromEmanual/patches.txt b/Mods/XenobladeX_mod_HudChangeTimeFromEmanual/patches.txt index 26fe18bf..26d303b5 100644 --- a/Mods/XenobladeX_mod_HudChangeTimeFromEmanual/patches.txt +++ b/Mods/XenobladeX_mod_HudChangeTimeFromEmanual/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_LootEquipmentsBestQuality/patches.txt b/Mods/XenobladeX_mod_LootEquipmentsBestQuality/patches.txt index 90108d58..0c8ace5c 100644 --- a/Mods/XenobladeX_mod_LootEquipmentsBestQuality/patches.txt +++ b/Mods/XenobladeX_mod_LootEquipmentsBestQuality/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_LootEquipmentsForceCount/patches.txt b/Mods/XenobladeX_mod_LootEquipmentsForceCount/patches.txt index bde64f3f..7e7b2c30 100644 --- a/Mods/XenobladeX_mod_LootEquipmentsForceCount/patches.txt +++ b/Mods/XenobladeX_mod_LootEquipmentsForceCount/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_LootEquipmentsForceCount/rules.txt b/Mods/XenobladeX_mod_LootEquipmentsForceCount/rules.txt index 1f532875..e075becf 100644 --- a/Mods/XenobladeX_mod_LootEquipmentsForceCount/rules.txt +++ b/Mods/XenobladeX_mod_LootEquipmentsForceCount/rules.txt @@ -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] diff --git a/Mods/XenobladeX_mod_LootEquipmentsForceType/patches.txt b/Mods/XenobladeX_mod_LootEquipmentsForceType/patches.txt index b578a79e..acc739fd 100644 --- a/Mods/XenobladeX_mod_LootEquipmentsForceType/patches.txt +++ b/Mods/XenobladeX_mod_LootEquipmentsForceType/patches.txt @@ -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 + diff --git a/Mods/XenobladeX_mod_LootEquipmentsForceType/rules.txt b/Mods/XenobladeX_mod_LootEquipmentsForceType/rules.txt index 56fea03b..2e04c767 100644 --- a/Mods/XenobladeX_mod_LootEquipmentsForceType/rules.txt +++ b/Mods/XenobladeX_mod_LootEquipmentsForceType/rules.txt @@ -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 + + + diff --git a/Mods/XenobladeX_mod_LootEquipmentsIgnoreBroken/patches.txt b/Mods/XenobladeX_mod_LootEquipmentsIgnoreBroken/patches.txt index c1651d96..1de2a1f1 100644 --- a/Mods/XenobladeX_mod_LootEquipmentsIgnoreBroken/patches.txt +++ b/Mods/XenobladeX_mod_LootEquipmentsIgnoreBroken/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_LootMaterialsDrop/patches.txt b/Mods/XenobladeX_mod_LootMaterialsDrop/patches.txt index 8a8d795e..87fd7113 100644 --- a/Mods/XenobladeX_mod_LootMaterialsDrop/patches.txt +++ b/Mods/XenobladeX_mod_LootMaterialsDrop/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_LootTreasureQuality/patches.txt b/Mods/XenobladeX_mod_LootTreasureQuality/patches.txt index 0f5c6026..5bc3cfd3 100644 --- a/Mods/XenobladeX_mod_LootTreasureQuality/patches.txt +++ b/Mods/XenobladeX_mod_LootTreasureQuality/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_LootTreasureQuality/readme.txt b/Mods/XenobladeX_mod_LootTreasureQuality/readme.txt new file mode 100644 index 00000000..f4c87647 --- /dev/null +++ b/Mods/XenobladeX_mod_LootTreasureQuality/readme.txt @@ -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. \ No newline at end of file diff --git a/Mods/XenobladeX_mod_LootTreasureQuality/rules.txt b/Mods/XenobladeX_mod_LootTreasureQuality/rules.txt index d2a3a5e1..1a235678 100644 --- a/Mods/XenobladeX_mod_LootTreasureQuality/rules.txt +++ b/Mods/XenobladeX_mod_LootTreasureQuality/rules.txt @@ -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] diff --git a/Mods/XenobladeX_mod_MusicOverdriveDisabled/patches.txt b/Mods/XenobladeX_mod_MusicOverdriveDisabled/patches.txt index d19356c4..dd93ea42 100644 --- a/Mods/XenobladeX_mod_MusicOverdriveDisabled/patches.txt +++ b/Mods/XenobladeX_mod_MusicOverdriveDisabled/patches.txt @@ -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 diff --git a/Mods/XenobladeX_mod_MusicSkellFlightDisabled/patches.txt b/Mods/XenobladeX_mod_MusicSkellFlightDisabled/patches.txt index 44d5e687..5a9d23f1 100644 --- a/Mods/XenobladeX_mod_MusicSkellFlightDisabled/patches.txt +++ b/Mods/XenobladeX_mod_MusicSkellFlightDisabled/patches.txt @@ -6,4 +6,10 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U ; WHAT : Never call function cfs::CfSoundManager::fbgmChangeNameDoll((bool)) so that Skell Flight music is never played _skip = 0x22A4DD4 -0x022A4DC0 = b _skip \ No newline at end of file +0x022A4DC0 = b _skip + +[XCX_BGMNOFLIGHT_1U] ###################################################################### +moduleMatches = 0xAB97DE6B ; 1.0.1U + +_skip = 0x022A4D64 +0x022A4D50 = b _skip diff --git a/Mods/XenobladeX_mod_PhysicsJumpToTheMoon/patches.txt b/Mods/XenobladeX_mod_PhysicsJumpToTheMoon/patches.txt index c9509d98..a00dfc26 100644 --- a/Mods/XenobladeX_mod_PhysicsJumpToTheMoon/patches.txt +++ b/Mods/XenobladeX_mod_PhysicsJumpToTheMoon/patches.txt @@ -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 \ No newline at end of file diff --git a/Mods/XenobladeX_mod_PhysicsRunForrestRun/patches.txt b/Mods/XenobladeX_mod_PhysicsRunForrestRun/patches.txt index 21fc22a4..26698290 100644 --- a/Mods/XenobladeX_mod_PhysicsRunForrestRun/patches.txt +++ b/Mods/XenobladeX_mod_PhysicsRunForrestRun/patches.txt @@ -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) diff --git a/Mods/XenobladeX_mod_WeatherForceWeather/patches.txt b/Mods/XenobladeX_mod_WeatherForceWeather/patches.txt index a07175d8..d161a4ba 100644 --- a/Mods/XenobladeX_mod_WeatherForceWeather/patches.txt +++ b/Mods/XenobladeX_mod_WeatherForceWeather/patches.txt @@ -16,4 +16,24 @@ _forceWeather = 0x00000004 0x0000000C = blr ; cfs::CfWtrManager::update((float)) -0x022B587C = nop \ No newline at end of file +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