From e2c8a0d6a2d84c093ff683bdff9df20b2016e803 Mon Sep 17 00:00:00 2001 From: lasyan3 Date: Sat, 3 Nov 2018 18:22:34 +0100 Subject: [PATCH] [XCX] Update lasyan3's mods to v3 and add new mod to force weather. (#247) --- .../patches.txt | 13 +- .../rules.txt | 18 +- .../patches.txt | 7 +- .../XenobladeX_mod_BattleEnemyStats/rules.txt | 23 ++- .../patches.txt | 15 +- .../rules.txt | 14 +- .../XenobladeX_mod_BattleNoQTE/patches.txt | 10 +- .../XenobladeX_mod_BattleNoQTE/rules.txt | 6 +- .../rules.txt | 6 +- .../patches.txt | 0 .../rules.txt | 7 + .../patches.txt | 92 +++++++++++ .../rules.txt | 14 ++ .../patches.txt | 62 +++++++ .../rules.txt | 16 ++ .../patches.txt | 56 +++---- .../rules.txt | 41 +++++ .../rules.txt | 7 +- .../rules.txt | 6 +- .../rules.txt | 4 - .../patches.txt | 23 --- .../rules.txt | 4 - .../rules.txt | 6 +- .../patches.txt | 51 +++++- .../rules.txt | 16 +- .../patches.txt | 29 +++- .../XenobladeX_mod_ExpBattlePointsX/rules.txt | 23 ++- .../patches.txt | 14 +- .../XenobladeX_mod_ExpBladePointsX/rules.txt | 23 ++- .../patches.txt | 13 +- .../rules.txt | 23 ++- .../patches.txt | 12 +- .../rules.txt | 23 ++- .../patches.txt | 15 +- .../rules.txt | 23 ++- .../patches.txt | 54 ------ .../rules.txt | 5 - .../patches.txt | 24 +++ .../rules.txt | 31 ++++ .../patches.txt | 46 ++++++ .../rules.txt | 36 ++++ .../patches.txt | 19 +++ .../rules.txt | 27 +++ .../patches.txt | 15 ++ .../rules.txt | 27 +++ .../patches.txt | 19 +++ .../rules.txt | 15 ++ .../patches.txt | 21 +++ .../rules.txt | 27 +++ .../patches.txt | 12 ++ .../rules.txt | 23 +++ .../patches.txt | 20 --- .../rules.txt | 4 - .../patches.txt | 12 ++ .../rules.txt | 22 +++ .../patches.txt | 1 - .../rules.txt | 7 +- .../rules.txt | 6 +- .../patches.txt | 47 +++--- .../rules.txt | 26 +++ .../XenobladeX_mod_LootForceChest/patches.txt | 27 +++ .../XenobladeX_mod_LootForceChest/rules.txt | 22 +++ .../patches.txt | 42 ++--- .../rules.txt | 27 ++- .../rules.txt | 5 - .../patches.txt | 39 ----- .../rules.txt | 5 - .../rules.txt | 7 +- .../rules.txt | 7 +- .../patches.txt | 4 +- .../rules.txt | 72 +++++++- .../patches.txt | 5 +- .../rules.txt | 18 +- .../patches.txt | 72 -------- .../rules.txt | 4 - .../patches.txt | 72 -------- .../rules.txt | 4 - .../patches.txt | 55 ------- .../rules.txt | 4 - .../rules.txt | 4 - .../patches.txt | 19 +++ .../rules.txt | 154 ++++++++++++++++++ 82 files changed, 1378 insertions(+), 551 deletions(-) rename Modifications/{XenobladeX_mod_EndGameContentDLCQuestsUnlocked => XenobladeX_mod_BladeDLCQuestsUnlocked}/patches.txt (100%) create mode 100644 Modifications/XenobladeX_mod_BladeDLCQuestsUnlocked/rules.txt create mode 100644 Modifications/XenobladeX_mod_BladeGainTicketsFromMissions/patches.txt create mode 100644 Modifications/XenobladeX_mod_BladeGainTicketsFromMissions/rules.txt create mode 100644 Modifications/XenobladeX_mod_BladeLv60SkellsUnlocked/patches.txt create mode 100644 Modifications/XenobladeX_mod_BladeLv60SkellsUnlocked/rules.txt rename Modifications/{XenobladeX_mod_SquadTasksAndMissionsOffline => XenobladeX_mod_BladeTasksAndMissionsOffline}/patches.txt (74%) create mode 100644 Modifications/XenobladeX_mod_BladeTasksAndMissionsOffline/rules.txt delete mode 100644 Modifications/XenobladeX_mod_EndGameContentDLCQuestsUnlocked/rules.txt delete mode 100644 Modifications/XenobladeX_mod_EndGameContentLv60SkellsUnlocked/patches.txt delete mode 100644 Modifications/XenobladeX_mod_EndGameContentLv60SkellsUnlocked/rules.txt delete mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeIncomeFrequency/patches.txt delete mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeIncomeFrequency/rules.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/patches.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/rules.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/patches.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/rules.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeMoneyFrequency/patches.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeMoneyFrequency/rules.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeMoneyQuantity/patches.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeMoneyQuantity/rules.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeResourceFrequency/patches.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeResourceFrequency/rules.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeResourceQuantity/patches.txt create mode 100644 Modifications/XenobladeX_mod_FrontierNavProbeResourceQuantity/rules.txt create mode 100644 Modifications/XenobladeX_mod_GraphicsCameraDistance/patches.txt create mode 100644 Modifications/XenobladeX_mod_GraphicsCameraDistance/rules.txt delete mode 100644 Modifications/XenobladeX_mod_GraphicsCameraDistanceAndFov/patches.txt delete mode 100644 Modifications/XenobladeX_mod_GraphicsCameraDistanceAndFov/rules.txt create mode 100644 Modifications/XenobladeX_mod_GraphicsCameraFov/patches.txt create mode 100644 Modifications/XenobladeX_mod_GraphicsCameraFov/rules.txt rename Modifications/{XenobladeX_mod_LootOnlyEquipment => XenobladeX_mod_LootEquipmentsType}/patches.txt (68%) create mode 100644 Modifications/XenobladeX_mod_LootEquipmentsType/rules.txt create mode 100644 Modifications/XenobladeX_mod_LootForceChest/patches.txt create mode 100644 Modifications/XenobladeX_mod_LootForceChest/rules.txt delete mode 100644 Modifications/XenobladeX_mod_LootOnlyEquipment/rules.txt delete mode 100644 Modifications/XenobladeX_mod_LootOnlyMaterials/patches.txt delete mode 100644 Modifications/XenobladeX_mod_LootOnlyMaterials/rules.txt delete mode 100644 Modifications/XenobladeX_mod_SquadGainTicketsFromDlcMissions/patches.txt delete mode 100644 Modifications/XenobladeX_mod_SquadGainTicketsFromDlcMissions/rules.txt delete mode 100644 Modifications/XenobladeX_mod_SquadGainTicketsFromTaMissions/patches.txt delete mode 100644 Modifications/XenobladeX_mod_SquadGainTicketsFromTaMissions/rules.txt delete mode 100644 Modifications/XenobladeX_mod_SquadGlobalNemesisMissionsOffline/patches.txt delete mode 100644 Modifications/XenobladeX_mod_SquadGlobalNemesisMissionsOffline/rules.txt delete mode 100644 Modifications/XenobladeX_mod_SquadTasksAndMissionsOffline/rules.txt create mode 100644 Modifications/XenobladeX_mod_WeatherForceWeather/patches.txt create mode 100644 Modifications/XenobladeX_mod_WeatherForceWeather/rules.txt diff --git a/Modifications/XenobladeX_mod_BattleDamageModGround/patches.txt b/Modifications/XenobladeX_mod_BattleDamageModGround/patches.txt index e07f332e..46eb945f 100644 --- a/Modifications/XenobladeX_mod_BattleDamageModGround/patches.txt +++ b/Modifications/XenobladeX_mod_BattleDamageModGround/patches.txt @@ -1,8 +1,19 @@ [XCX_DAMAGES] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U +codeCaveSize = 0x14 + ; ---------------------------------------------------------------------------- ; WHO : cfs::CfCompoPropertyEnemy::addDamage((int)) ; WHAT : Multiply the ground damage (skells not included) given to enemy -0x025D896C = mulli r4, r31, 10 +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 + +0x025D896C = bla _damages diff --git a/Modifications/XenobladeX_mod_BattleDamageModGround/rules.txt b/Modifications/XenobladeX_mod_BattleDamageModGround/rules.txt index 714c5246..bad222a0 100644 --- a/Modifications/XenobladeX_mod_BattleDamageModGround/rules.txt +++ b/Modifications/XenobladeX_mod_BattleDamageModGround/rules.txt @@ -1,4 +1,18 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Battle - Damage mod (ground)" -version=2 \ No newline at end of file +name = "Ground damage multiplicator" +path = "Xenoblade Chronicles X/Modifications/Battle/Damage multiplicator (on foot)" +description = "Increase the damage done by your team on foot (skells not impacted)." +version = 3 + +[Preset] +name = Damage x 2 +$mult = 2 + +[Preset] +name = Damage x 10 +$mult = 10 + +[Preset] +name = Damage x 100 +$mult = 100 diff --git a/Modifications/XenobladeX_mod_BattleEnemyStats/patches.txt b/Modifications/XenobladeX_mod_BattleEnemyStats/patches.txt index f3f302fc..3faf3de3 100644 --- a/Modifications/XenobladeX_mod_BattleEnemyStats/patches.txt +++ b/Modifications/XenobladeX_mod_BattleEnemyStats/patches.txt @@ -5,9 +5,4 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U ; 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 0.00075 +0x1003206C = .float $mod diff --git a/Modifications/XenobladeX_mod_BattleEnemyStats/rules.txt b/Modifications/XenobladeX_mod_BattleEnemyStats/rules.txt index 7cb6cc2c..929a445d 100644 --- a/Modifications/XenobladeX_mod_BattleEnemyStats/rules.txt +++ b/Modifications/XenobladeX_mod_BattleEnemyStats/rules.txt @@ -1,4 +1,23 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Battle - Enemy stats mod" -version=2 \ No newline at end of file +name = "Enemy Statistics modificator" +path = "Xenoblade Chronicles X/Modifications/Battle/Enemy Statistics modificator" +description = "Apply a percent modificator on enemies stats (HP, Melee Attack, Melee Accuracy, Ranged Attack, Ranged Accuracy, Potential and Evasion). You can consult the new values in the Bestiary menu." +version = 3 + +[Preset] +name = Set at 75% +$mod = 0.00075 + +[Preset] +name = Set at 50% +$mod = 0.0005 + +[Preset] +name = Set at 125% +$mod = 0.00125 + +[Preset] +name = Set at 150% +$mod = 0.0015 + diff --git a/Modifications/XenobladeX_mod_BattleEscapeDistance/patches.txt b/Modifications/XenobladeX_mod_BattleEscapeDistance/patches.txt index 78326d7e..7d0e42b1 100644 --- a/Modifications/XenobladeX_mod_BattleEscapeDistance/patches.txt +++ b/Modifications/XenobladeX_mod_BattleEscapeDistance/patches.txt @@ -5,16 +5,17 @@ codeCaveSize = 0x20 ; ---------------------------------------------------------------------------- ; WHO : cfs::CfCompoPropertyEnemy::getReleasePcDistanceXZ -; WHAT : Reduce (by default /2) escape distance from enemies (to lose aggro) +; WHAT : Reduce escape distance from enemies (to lose aggro) -0x00000000 = .float 2.0 ; default is 1.0 +0x00000000 = .float $mod ; default is 1.0 _distanceConst = 0x00000000 _getRelease = 0x00000004 -0x00000004 = lis r4, _distanceConst@ha -0x00000008 = lfs f0, _distanceConst@l(r4) -0x0000000C = fdivs f1, f1, f0 -0x00000010 = frsp f1, f1 +0x00000004 = lis r3, _distanceConst@ha +0x00000008 = lfs f29, _distanceConst@l(r3) +0x0000000C = fdivs f1, f1, f29 +0x00000010 = mr r3, r21 0x00000014 = blr -0x025D8B2C = b _getRelease ; cfs::CfCompoPropertyEnemy::getReleasePcDistanceXZ +# AI::CAIData::chkHoming +0x02030BE4 = bla _getRelease ; cfs::CfCompoPropertyEnemy::getReleasePcDistanceXZ diff --git a/Modifications/XenobladeX_mod_BattleEscapeDistance/rules.txt b/Modifications/XenobladeX_mod_BattleEscapeDistance/rules.txt index 50045af1..b2616a4c 100644 --- a/Modifications/XenobladeX_mod_BattleEscapeDistance/rules.txt +++ b/Modifications/XenobladeX_mod_BattleEscapeDistance/rules.txt @@ -1,4 +1,14 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Battle - Escape distance mod" -version=2 \ No newline at end of file +name = "Escape distance reducer" +path = "Xenoblade Chronicles X/Modifications/Battle/Escape distance reducer" +description = "Reduce escape distance needed to lose aggro from enemies." +version = 3 + +[Preset] +name = Apply -25% +$mod = 1.333 + +[Preset] +name = Apply -50% +$mod = 2.0 diff --git a/Modifications/XenobladeX_mod_BattleNoQTE/patches.txt b/Modifications/XenobladeX_mod_BattleNoQTE/patches.txt index 84ea25de..687d567e 100644 --- a/Modifications/XenobladeX_mod_BattleNoQTE/patches.txt +++ b/Modifications/XenobladeX_mod_BattleNoQTE/patches.txt @@ -5,5 +5,11 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U ; WHO : Battle::CSoulVoiceButtonChallenge::updateInternal((float)) ; WHAT : Disable QTE (calling Battle::CButtonChallengeManager::CallUI) -0x0209D6F0 = nop -0x0209D720 = nop +# Battle::CSoulVoiceButtonChallenge::applyResult((void)) +# |- SoulVoice::CSoulVoice::addStageLevel((unsigned int, float)) +0x0209BA38 = li r9, 1 ; always good result + +; Auto Apply QTE +_apply = 0x0209D764 +0x0209D6F0 = b _apply +0x0209D720 = b _apply diff --git a/Modifications/XenobladeX_mod_BattleNoQTE/rules.txt b/Modifications/XenobladeX_mod_BattleNoQTE/rules.txt index 3ea4296d..9fa3a66d 100644 --- a/Modifications/XenobladeX_mod_BattleNoQTE/rules.txt +++ b/Modifications/XenobladeX_mod_BattleNoQTE/rules.txt @@ -1,4 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Battle - No QTE" -version=2 \ No newline at end of file +name = "Automatic QTE" +path = "Xenoblade Chronicles X/Modifications/Battle/Automatic QTE" +description = "The QTE challenges are automatic and silent success (no preset needed)." +version = 3 diff --git a/Modifications/XenobladeX_mod_BattleOverdriveUnlocked/rules.txt b/Modifications/XenobladeX_mod_BattleOverdriveUnlocked/rules.txt index e5993d15..5181ad3e 100644 --- a/Modifications/XenobladeX_mod_BattleOverdriveUnlocked/rules.txt +++ b/Modifications/XenobladeX_mod_BattleOverdriveUnlocked/rules.txt @@ -1,4 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Battle - Overdrive unlocked" -version=2 \ No newline at end of file +name = "Overdrive unlocked pre-Chapter 5" +path = "Xenoblade Chronicles X/Modifications/Battle/Overdrive unlocked" +description = "Unleashed the power of Overdrive before Chapter 5." +version = 3 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_EndGameContentDLCQuestsUnlocked/patches.txt b/Modifications/XenobladeX_mod_BladeDLCQuestsUnlocked/patches.txt similarity index 100% rename from Modifications/XenobladeX_mod_EndGameContentDLCQuestsUnlocked/patches.txt rename to Modifications/XenobladeX_mod_BladeDLCQuestsUnlocked/patches.txt diff --git a/Modifications/XenobladeX_mod_BladeDLCQuestsUnlocked/rules.txt b/Modifications/XenobladeX_mod_BladeDLCQuestsUnlocked/rules.txt new file mode 100644 index 00000000..8c751a75 --- /dev/null +++ b/Modifications/XenobladeX_mod_BladeDLCQuestsUnlocked/rules.txt @@ -0,0 +1,7 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "DLC Quests unlocked" +path = "Xenoblade Chronicles X/Modifications/BLADE/DLC Quests unlocked" +description = "DLC Support quests are unlocked and accessible right after you are a BLADE member." +version = 3 + \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_BladeGainTicketsFromMissions/patches.txt b/Modifications/XenobladeX_mod_BladeGainTicketsFromMissions/patches.txt new file mode 100644 index 00000000..620f8727 --- /dev/null +++ b/Modifications/XenobladeX_mod_BladeGainTicketsFromMissions/patches.txt @@ -0,0 +1,92 @@ +[XCX_TICKETS_DLC_EU] +moduleMatches = 0xF882D5CF ; 1.0.1E + +codeCaveSize = 0x60 + +0x0000005C = .byte $mission +_mission = 0x0000005C + +; ---------------------------------------------------------------------------- +; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool)) +; menu::MenuMultiQuestResult::setup((void)) +; addReward__Q2_3cfs11CfSquadUtilSFUiT1 +; WHAT : Override the Tickets rewarded for a DLC mission. +; By default, the number of tickets is the money divided by 100. + +_shareAddr = 0x1039C180 + +_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 + +0x02B94718 = bla _ticketsDispBefore +0x02B9FE2C = bla _ticketsDispAfter +0x023CC654 = bla _ticketsValue + +[XCX_TICKETS_DLC_US] ############################################################################################ +moduleMatches = 0x30B6E091 ; 1.0.2U + +codeCaveSize = 0x60 + +0x0000005C = .byte $mission +_mission = 0x0000005C + +_shareAddr = 0x1039C180 + +_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 + +0x02B94708 = bla _ticketsDispBefore +0x02B9FE1C = bla _ticketsDispAfter +0x023CC654 = bla _ticketsValue diff --git a/Modifications/XenobladeX_mod_BladeGainTicketsFromMissions/rules.txt b/Modifications/XenobladeX_mod_BladeGainTicketsFromMissions/rules.txt new file mode 100644 index 00000000..7e1de06d --- /dev/null +++ b/Modifications/XenobladeX_mod_BladeGainTicketsFromMissions/rules.txt @@ -0,0 +1,14 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Gain Reward Tickets from DLC/TA offline missions" +path = "Xenoblade Chronicles X/Modifications/BLADE/Gain Tickets from DLC or TA missions" +description = "Gain Reward Tickets from DLC or Time Attack missions." +version = 3 + +[Preset] +name = "Gain from DLC missions (money/100)" +$mission = 5 + +[Preset] +name = "Gain from TA missions (exp)" +$mission = 2 diff --git a/Modifications/XenobladeX_mod_BladeLv60SkellsUnlocked/patches.txt b/Modifications/XenobladeX_mod_BladeLv60SkellsUnlocked/patches.txt new file mode 100644 index 00000000..757732e2 --- /dev/null +++ b/Modifications/XenobladeX_mod_BladeLv60SkellsUnlocked/patches.txt @@ -0,0 +1,62 @@ +[XCX_UNLOCKPOSTSKELLS_EU] +moduleMatches = 0xF882D5CF ; 1.0.1E + +codeCaveSize = 0x1C + +# menu::MenuArmsCompany::IsDollLicense(const(void)) +0x02A6B838 = li r3, 1 ; always returns true + +# menu::MenuArmsCompanyDevelopSelectBlueprint::InitializeItemData((void)) +0x02A7B220 = li r30, 0 ; unlock everything + +# menu::MenuArmsCompanyDevelopSelectBlueprint::CheckEnableDevelop(const(int, bool)) +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 +0x02A7A784 = bla _checkMir + +_checkRes = 0x00000010 +0x00000010 = lis r3, _resource@h +0x00000014 = lbz r3, _resource@l(r3) +0x00000018 = blr +0x02A7A954 = bla _checkRes +;0x02A7A6E8 = li r3, 0 ; 1 +;0x02A7A70C = li r3, 0 ; 6 +;0x02A7A75C = li r3, 0 ; 7 +;0x02A7A9FC = li r3, 0 ; 4 +;0x02A7AA24 = li r3, 0 ; 5 + +;##################################################################################### +[XCX_UNLOCKPOSTSKELLS_US] +moduleMatches = 0x30B6E091 ; 1.0.2U + +codeCaveSize = 0x1C + +# menu::MenuArmsCompany::IsDollLicense(const(void)) +0x02A6B828 = li r3, 1 ; always returns true + +# menu::MenuArmsCompanyDevelopSelectBlueprint::InitializeItemData((void)) +0x02A7B210 = 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 +0x02A7A774 = bla _checkMir + +_checkRes = 0x00000010 +0x00000010 = lis r3, _resource@h +0x00000014 = lbz r3, _resource@l(r3) +0x00000018 = blr +0x02A7A944 = bla _checkRes diff --git a/Modifications/XenobladeX_mod_BladeLv60SkellsUnlocked/rules.txt b/Modifications/XenobladeX_mod_BladeLv60SkellsUnlocked/rules.txt new file mode 100644 index 00000000..cd257f68 --- /dev/null +++ b/Modifications/XenobladeX_mod_BladeLv60SkellsUnlocked/rules.txt @@ -0,0 +1,16 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Lv60 Skells unlocked" +path = "Xenoblade Chronicles X/Modifications/BLADE/Lv60 Skells unlocked" +description = "Lv60 Skells and equipment are unlocked and accessible right after you are a BLADE member." +version = 3 + +[Preset] +name = Normal +$miranium = 2 +$resource = 3 + +[Preset] +name = CHEAT - Ignore Miranium and resources requirements +$miranium = 0 +$resource = 0 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_SquadTasksAndMissionsOffline/patches.txt b/Modifications/XenobladeX_mod_BladeTasksAndMissionsOffline/patches.txt similarity index 74% rename from Modifications/XenobladeX_mod_SquadTasksAndMissionsOffline/patches.txt rename to Modifications/XenobladeX_mod_BladeTasksAndMissionsOffline/patches.txt index 11881aa3..eeb9dce1 100644 --- a/Modifications/XenobladeX_mod_SquadTasksAndMissionsOffline/patches.txt +++ b/Modifications/XenobladeX_mod_BladeTasksAndMissionsOffline/patches.txt @@ -1,7 +1,7 @@ [XCX_SQUADMISSIONS] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U -codeCaveSize = 0x20 +codeCaveSize = 0x44 _getLocalTimeSec = 0x02892000 @@ -9,17 +9,6 @@ _getLocalTimeSec = 0x02892000 0x022879D0 = nop ; (network test?) allow call to cfs::CfSocialQuestManager::update((void)) # cfs::CfSocialQuestManager::update((void)) -_loopUpdate9 = 0x023AC194 -_loopUpdate8 = 0x023AC060 -_loopUpdate7 = 0x023ABFAC -_loopUpdate6 = 0x023ABF80 -_loopUpdate5 = 0x023ABF28 -_loopUpdate4 = 0x023ABF0C -_loopUpdate3 = 0x023ABD90 -_loopUpdate2 = 0x023ABC88 -_loopUpdate1 = 0x023ABBF4 -_loopUpdate0 = 0x023AB86C - 0x023AB884 = nop ; 0x6B8(r12) == 0 0x023AB8B4 = nop ; isHost 0x023ABA68 = li r5, 60 ; force 0x24 - UNLOCK @@ -63,36 +52,29 @@ _gotoNext = 0x023ABE54 0x023ABDD8 = b _gotoNext ######################## More Tickets -;0x022CAC5C = nop ; no limit -;0x022CA874 = mulli r28, r4, 10 ; tickets multiplier -######################## Nemesis +0x00000014 = .short $mult +_mult = 0x00000014 +0x00000018 = .byte $uncap +_uncap = 0x00000018 -# collectQuestInfoWE__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo -0x022C6284 = li r30, 2 -_loopWE = 0x022C6348 -0x022C634C = b _loopWE -0x022C62A4 = nop -0x022C62B0 = nop -0x022C62BC = nop -0x022C6304 = nop -0x022C6314 = nop +_moreTickets = 0x0000001C +0x0000001C = lis r28, _mult@ha +0x00000020 = lhz r28, _mult@l(r28) +0x00000024 = mullw r28, r4, r28 +0x00000028 = blr -# cfs::CfSocialManager::getQuestDetailWE((cfs::CfSocialQuestInfoWE &)) -_loopgetQuestDetailWE = 0x022895B4 -0x022895B8 = beq _loopgetQuestDetailWE +0x022CA874 = bla _moreTickets +_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 -# cfs::CfSocialManager::update((float)) -0x02288014 = nop - -# cfs::CfSocialManager::onUpdatedWorldEnemy((void)) -_loopUpdateWE = 0x0228705C -0x02287060 = b _loopUpdateWE - -# __CPR86__getWorldEnemyInfo__Q2_2fw15SocialDataStoreCFUiRQ3_2fwJ25J14WorldEnemyInfo -0x0282B0F0 = nop -0x0282B0FC = li r0, 1 +0x022CAC5C = bla _uncapTickets ##################################################################################################### [XCX_SQUADMISSIONS_EU] diff --git a/Modifications/XenobladeX_mod_BladeTasksAndMissionsOffline/rules.txt b/Modifications/XenobladeX_mod_BladeTasksAndMissionsOffline/rules.txt new file mode 100644 index 00000000..e116f26a --- /dev/null +++ b/Modifications/XenobladeX_mod_BladeTasksAndMissionsOffline/rules.txt @@ -0,0 +1,41 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Squad tasks and missions are available offline" +path = "Xenoblade Chronicles X/Modifications/BLADE/Offline tasks and missions" +description = "Squad tasks and missions are available offline. Uncapped presets ignore max tickets." +version = 3 + +[Preset] +name = "Normal" +$mult = 1 +$uncap = 0 + +[Preset] +name = "Gain more Tickets (x10)" +$mult = 10 +$uncap = 0 + +[Preset] +name = "Gain more Tickets (x100)" +$mult = 100 +$uncap = 0 + +[Preset] +name = "Gain more Tickets (x1000)" +$mult = 1000 +$uncap = 0 + +[Preset] +name = "Gain more Tickets (x10 Uncapped)" +$mult = 10 +$uncap = 1 + +[Preset] +name = "Gain more Tickets (x100 Uncapped)" +$mult = 100 +$uncap = 1 + +[Preset] +name = "Gain more Tickets (x1000 Uncapped)" +$mult = 1000 +$uncap = 1 diff --git a/Modifications/XenobladeX_mod_CollectiblesCatchRange/rules.txt b/Modifications/XenobladeX_mod_CollectiblesCatchRange/rules.txt index fa22ec17..07b5f4c7 100644 --- a/Modifications/XenobladeX_mod_CollectiblesCatchRange/rules.txt +++ b/Modifications/XenobladeX_mod_CollectiblesCatchRange/rules.txt @@ -1,5 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Collectibles - Catch range mod" -version=2 - \ No newline at end of file +name = "Catch range mod" +path = "Xenoblade Chronicles X/Modifications/Collectibles/Catch range mod" +description = "Increase the distance from which collectibles are looted." +version = 3 diff --git a/Modifications/XenobladeX_mod_CollectiblesIgnore100th/rules.txt b/Modifications/XenobladeX_mod_CollectiblesIgnore100th/rules.txt index c2ed7f0f..e2f31a67 100644 --- a/Modifications/XenobladeX_mod_CollectiblesIgnore100th/rules.txt +++ b/Modifications/XenobladeX_mod_CollectiblesIgnore100th/rules.txt @@ -1,5 +1,7 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Collectibles - Ignore 100th" -version=2 +name = "Ignore 100th" +path = "Xenoblade Chronicles X/Modifications/Collectibles/Ignore 100th" +description = "Do not collect if you have 99 of the items (and don't sell it)." +version = 3 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_EndGameContentDLCQuestsUnlocked/rules.txt b/Modifications/XenobladeX_mod_EndGameContentDLCQuestsUnlocked/rules.txt deleted file mode 100644 index b2b9d6cb..00000000 --- a/Modifications/XenobladeX_mod_EndGameContentDLCQuestsUnlocked/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - End Game Content - DLC Quests unlocked" -version=2 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_EndGameContentLv60SkellsUnlocked/patches.txt b/Modifications/XenobladeX_mod_EndGameContentLv60SkellsUnlocked/patches.txt deleted file mode 100644 index dfe2a1a0..00000000 --- a/Modifications/XenobladeX_mod_EndGameContentLv60SkellsUnlocked/patches.txt +++ /dev/null @@ -1,23 +0,0 @@ -[XCX_UNLOCKPOSTSKELLS_EU] -moduleMatches = 0xF882D5CF ; 1.0.1E - -# menu::MenuArmsCompany::IsDollLicense(const(void)) -0x02A6B838 = li r3, 1 ; always returns true - -# menu::MenuArmsCompanyDevelopSelectBlueprint::InitializeItemData((void)) -0x02A7B220 = li r30, 0 ; unlock everything - -# menu::MenuArmsCompanyDevelopSelectBlueprint::CheckEnableDevelop(const(int, bool)) -;0x02A7A784 = li r3, 0 ; [CHEAT] ignore miranium and resources requirements - -;##################################################################################### -[XCX_UNLOCKPOSTSKELLS_US] -moduleMatches = 0x30B6E091 ; 1.0.2U - -# menu::MenuArmsCompany::IsDollLicense(const(void)) -0x02A6B828 = li r3, 1 ; always returns true - -# menu::MenuArmsCompanyDevelopSelectBlueprint::InitializeItemData((void)) -0x02A7B210 = li r30, 0 ; unlock everything - -;0x02A7A774 = li r3, 0 ; [CHEAT] ignore miranium and resources requirements diff --git a/Modifications/XenobladeX_mod_EndGameContentLv60SkellsUnlocked/rules.txt b/Modifications/XenobladeX_mod_EndGameContentLv60SkellsUnlocked/rules.txt deleted file mode 100644 index c6117a55..00000000 --- a/Modifications/XenobladeX_mod_EndGameContentLv60SkellsUnlocked/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - End Game Content - Lv60 Skells unlocked" -version=2 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_EquipmentArmorsCanHave3AugmentSlots/rules.txt b/Modifications/XenobladeX_mod_EquipmentArmorsCanHave3AugmentSlots/rules.txt index 40710a1c..b6cd1ec7 100644 --- a/Modifications/XenobladeX_mod_EquipmentArmorsCanHave3AugmentSlots/rules.txt +++ b/Modifications/XenobladeX_mod_EquipmentArmorsCanHave3AugmentSlots/rules.txt @@ -1,4 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Equipment - Armors can have 3 augment slots" -version=2 \ No newline at end of file +name = "Armors can have 3 augment slots" +path = "Xenoblade Chronicles X/Modifications/Equipment/Armors can have 3 augment slots" +description = "Using L's shop, you can have 3 augment slots on your EQUIPPED armors (ground and skell)." +version = 3 diff --git a/Modifications/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/patches.txt b/Modifications/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/patches.txt index dea8fd33..c758852d 100644 --- a/Modifications/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/patches.txt +++ b/Modifications/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/patches.txt @@ -1,23 +1,60 @@ [XCX_UPGRADENOLIMIT_EU] moduleMatches = 0xF882D5CF ; 1.0.1E -; ---------------------------------------------------------------------------- -; WHO : menu::MenuArmsCompanyAffixStrengthen::CheckAffixStrengthen -; WHAT : Unlimited upgrades (affix selection menu) +codeCaveSize = 0x1C -0x02A72134 = li r10, 99 ; Ignore upgrades counter -;0x02A723B4 = li r3, 0 ; [CHEAT] Ignore materials requirements +0x00000000 = .byte $checkSelectItem +0x00000001 = .byte $checkStrengthen +_selectItem = 0x00000000 +_strengthen = 0x00000001 + +_checkSelectItem = 0x00000004 +0x00000004 = lis r4, _selectItem@h +0x00000008 = lbz r3, _selectItem@l(r4) +0x0000000C = blr + +_checkStrengthen = 0x00000010 +0x00000010 = lis r3, _strengthen@h +0x00000014 = lbz r3, _strengthen@l(r3) +0x00000018 = blr ; ---------------------------------------------------------------------------- ; WHO : menu::MenuArmsCompanyAffixSelectItem::CheckAffixStrengthen ; WHAT : Unlimited upgrades (equipment selection menu) 0x02A6DCA8 = li r3, 0 ; Ignore upgrades counter -;0x02A6DFFC = li r3, 0 ; [CHEAT] Ignore materials requirements +0x02A6DFFC = bla _checkSelectItem + +; ---------------------------------------------------------------------------- +; WHO : menu::MenuArmsCompanyAffixStrengthen::CheckAffixStrengthen +; WHAT : Unlimited upgrades (affix selection menu) + +0x02A72134 = li r10, 99 ; Ignore upgrades counter +0x02A723B4 = bla _checkStrengthen ;##################################################################################### [XCX_UPGRADENOLIMIT_US] moduleMatches = 0x30B6E091 ; 1.0.2U -0x02A72124 = li r10, 99 ; Ignore upgrades counter +codeCaveSize = 0x1C + +0x00000000 = .byte $checkSelectItem +0x00000001 = .byte $checkStrengthen +_selectItem = 0x00000000 +_strengthen = 0x00000001 + +_checkSelectItem = 0x00000004 +0x00000004 = lis r4, _selectItem@h +0x00000008 = lbz r3, _selectItem@l(r4) +0x0000000C = blr + +_checkStrengthen = 0x00000010 +0x00000010 = lis r3, _strengthen@h +0x00000014 = lbz r3, _strengthen@l(r3) +0x00000018 = blr + 0x02A6DC98 = li r3, 0 ; Ignore upgrades counter +0x02A6DFEC = bla _checkSelectItem + +0x02A72124 = li r10, 99 ; Ignore upgrades counter +0x02A723A4 = bla _checkStrengthen diff --git a/Modifications/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/rules.txt b/Modifications/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/rules.txt index a979cc09..cd2b40cf 100644 --- a/Modifications/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/rules.txt +++ b/Modifications/XenobladeX_mod_EquipmentUnlimitedAugmentUpgrades/rules.txt @@ -1,4 +1,16 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Equipment - Unlimited augment upgrades" -version=2 \ No newline at end of file +name = "Unlimited augment upgrades" +path = "Xenoblade Chronicles X/Modifications/Equipment/Unlimited augment upgrades" +description = "You can upgrade infinitely all the augments inside a piece of equipment." +version = 3 + +[Preset] +name = "Normal" +$checkSelectItem = 5 +$checkStrengthen = 7 + +[Preset] +name = "CHEAT - Ignore Miranium and resources requirements" +$checkSelectItem = 0 +$checkStrengthen = 0 diff --git a/Modifications/XenobladeX_mod_ExpBattlePointsX/patches.txt b/Modifications/XenobladeX_mod_ExpBattlePointsX/patches.txt index fde8d682..f0b74b01 100644 --- a/Modifications/XenobladeX_mod_ExpBattlePointsX/patches.txt +++ b/Modifications/XenobladeX_mod_ExpBattlePointsX/patches.txt @@ -1,9 +1,34 @@ [XCX_BATTLEPOINTSX] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U +codeCaveSize = 0x30 + +0x00000000 = .byte $mod +_mod = 0x00000000 + ; ---------------------------------------------------------------------------- ; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1 ; WHAT : Multiply the battle points given in... battles -;0x020C4A74 = li r0, 20 ; alternative: always gives +20 battle points -0x020C4A74 = mulli r0, r0, 30 +_exp = 0x00000004 +0x00000004 = lis r3, _mod@ha +0x00000008 = lbz r3, _mod@l(r3) +0x0000000C = mullw r0, r0, r3 +0x00000010 = blr + +0x020C4A74 = bla _exp + +; ---------------------------------------------------------------------------- +; WHO : addInnerExpChara__Q2_6Battle14CBattleManagerFUiN21 +; WHAT : Multiply the battle points given in... battles + +_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 + +0x020C1C48 = bla _exp2 diff --git a/Modifications/XenobladeX_mod_ExpBattlePointsX/rules.txt b/Modifications/XenobladeX_mod_ExpBattlePointsX/rules.txt index 000785ee..a08ac24e 100644 --- a/Modifications/XenobladeX_mod_ExpBattlePointsX/rules.txt +++ b/Modifications/XenobladeX_mod_ExpBattlePointsX/rules.txt @@ -1,5 +1,22 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Exp - Battle Points X" -version=2 - \ No newline at end of file +name = "Battle Points X" +path = "Xenoblade Chronicles X/Modifications/Experience/Battle Points" +description = "Change the amount of Battle points gained in battle." +version = 3 + +[Preset] +name = "Quantity x2" +$mod = 6 + +[Preset] +name = "Quantity x5" +$mod = 15 + +[Preset] +name = "Quantity x10" +$mod = 30 + +[Preset] +name = "Quantity x50" +$mod = 150 diff --git a/Modifications/XenobladeX_mod_ExpBladePointsX/patches.txt b/Modifications/XenobladeX_mod_ExpBladePointsX/patches.txt index 99809aa9..69a4fea7 100644 --- a/Modifications/XenobladeX_mod_ExpBladePointsX/patches.txt +++ b/Modifications/XenobladeX_mod_ExpBladePointsX/patches.txt @@ -1,9 +1,19 @@ [XCX_BLADEX] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U +codeCaveSize = 0x20 + +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 (default is by 10) +; WHAT : Multiply the BLADE points rewarded 0x0288E610 = nop -0x0288E614 = li r3, 10 \ No newline at end of file +0x0288E614 = bla _exp \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_ExpBladePointsX/rules.txt b/Modifications/XenobladeX_mod_ExpBladePointsX/rules.txt index c2ea7914..93bc5480 100644 --- a/Modifications/XenobladeX_mod_ExpBladePointsX/rules.txt +++ b/Modifications/XenobladeX_mod_ExpBladePointsX/rules.txt @@ -1,5 +1,22 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Exp - Blade Points X" -version=2 - \ No newline at end of file +name = "BLADE Points X" +path = "Xenoblade Chronicles X/Modifications/Experience/BLADE Points" +description = "Change the amount of BLADE points gained in various situations." +version = 3 + +[Preset] +name = "x2" +$mod = 2 + +[Preset] +name = "x5" +$mod = 5 + +[Preset] +name = "x10" +$mod = 10 + +[Preset] +name = "x50" +$mod = 50 diff --git a/Modifications/XenobladeX_mod_ExpClassExpPointsX/patches.txt b/Modifications/XenobladeX_mod_ExpClassExpPointsX/patches.txt index 1307c397..a6099430 100644 --- a/Modifications/XenobladeX_mod_ExpClassExpPointsX/patches.txt +++ b/Modifications/XenobladeX_mod_ExpClassExpPointsX/patches.txt @@ -1,9 +1,20 @@ [XCX_CLASSEXPX] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U +codeCaveSize = 0x20 + +0x00000000 = .byte $mod +_mod = 0x00000000 + +_exp = 0x00000004 +0x00000004 = lis r12, _mod@ha +0x00000008 = lbz r12, _mod@l(r12) +0x0000000C = mullw r31, r3, r12 +0x00000010 = blr + ; ---------------------------------------------------------------------------- ; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1 ; WHAT : Multiply the class experience given during combat -0x020C4A28 = mulli r31, r3, 2 +0x020C4A28 = bla _exp diff --git a/Modifications/XenobladeX_mod_ExpClassExpPointsX/rules.txt b/Modifications/XenobladeX_mod_ExpClassExpPointsX/rules.txt index 6ee06b3c..44a44b7b 100644 --- a/Modifications/XenobladeX_mod_ExpClassExpPointsX/rules.txt +++ b/Modifications/XenobladeX_mod_ExpClassExpPointsX/rules.txt @@ -1,5 +1,22 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Exp - Class Exp Points X" -version=2 - \ No newline at end of file +name = "Class Exp Points X" +path = "Xenoblade Chronicles X/Modifications/Experience/Class Exp Points" +description = "Change the amount of Class Exp points gained in battle." +version = 3 + +[Preset] +name = "x2" +$mod = 2 + +[Preset] +name = "x5" +$mod = 5 + +[Preset] +name = "x10" +$mod = 10 + +[Preset] +name = "x50" +$mod = 50 diff --git a/Modifications/XenobladeX_mod_ExpFriendsPointsX/patches.txt b/Modifications/XenobladeX_mod_ExpFriendsPointsX/patches.txt index 5afffc6c..d4fa7fae 100644 --- a/Modifications/XenobladeX_mod_ExpFriendsPointsX/patches.txt +++ b/Modifications/XenobladeX_mod_ExpFriendsPointsX/patches.txt @@ -1,9 +1,19 @@ [XCX_FRIENDPOINTSX] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U +codeCaveSize = 0x20 + +0x00000000 = .short $mod +_mod = 0x00000000 + +_exp = 0x00000004 +0x00000004 = lis r31, _mod@ha +0x00000008 = lhz r31, _mod@l(r31) +0x0000000C = blr + ; ---------------------------------------------------------------------------- ; WHO : RegistDamage_SoulVoiceLink__Q2_12DamageSystem7FactorySFRCQ2_3cfs30CfHandleKey__tm__11_XCUiL_2_12T1Ui ; WHAT : Gives a lot of friend points when activating a Soul Voice Link during combat ; : BEWARE as this can lead to freeze of the emulator when opening the Affinity Chart (not sure if this is related) -0x02179908 = li r31, 500 +0x02179908 = bla _exp diff --git a/Modifications/XenobladeX_mod_ExpFriendsPointsX/rules.txt b/Modifications/XenobladeX_mod_ExpFriendsPointsX/rules.txt index 97be4488..f9eadbd1 100644 --- a/Modifications/XenobladeX_mod_ExpFriendsPointsX/rules.txt +++ b/Modifications/XenobladeX_mod_ExpFriendsPointsX/rules.txt @@ -1,5 +1,22 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Exp - Friends Points X" -version=2 - \ No newline at end of file +name = "Friends Points X" +path = "Xenoblade Chronicles X/Modifications/Experience/Friends Points" +description = "Set the Friends points gained in battle (flat amount)." +version = 3 + +[Preset] +name = "+100" +$mod = 100 + +[Preset] +name = "+250" +$mod = 250 + +[Preset] +name = "+500" +$mod = 500 + +[Preset] +name = "+1000" +$mod = 1000 diff --git a/Modifications/XenobladeX_mod_ExpInnerExpPointsX/patches.txt b/Modifications/XenobladeX_mod_ExpInnerExpPointsX/patches.txt index e02293aa..9a1f082c 100644 --- a/Modifications/XenobladeX_mod_ExpInnerExpPointsX/patches.txt +++ b/Modifications/XenobladeX_mod_ExpInnerExpPointsX/patches.txt @@ -1,10 +1,19 @@ [XCX_EXPX] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U +codeCaveSize = 0x20 + +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 = mulli r30, r3, 2 ; mulli or divi -;0x020C1BC0 = nop; always +3000xp (+9999px) from battle (addInnerExpChara__Q2_6Battle14CBattleManagerFUiN21) -;0x022953A4 = li r4, 0x270F ; always +9999xp from exploration (addInnerExp__Q2_3cfs10CfTBoxUtilSFUi) +0x025624E4 = bla _exp diff --git a/Modifications/XenobladeX_mod_ExpInnerExpPointsX/rules.txt b/Modifications/XenobladeX_mod_ExpInnerExpPointsX/rules.txt index f6f2019d..b5e57f2f 100644 --- a/Modifications/XenobladeX_mod_ExpInnerExpPointsX/rules.txt +++ b/Modifications/XenobladeX_mod_ExpInnerExpPointsX/rules.txt @@ -1,5 +1,22 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Exp - Inner Exp Points X" -version=2 - \ No newline at end of file +name = "Inner Exp Points X" +path = "Xenoblade Chronicles X/Modifications/Experience/Inner Exp Points" +description = "Change the amount of Inner Exp points gained in battle." +version = 3 + +[Preset] +name = "x2" +$mod = 2 + +[Preset] +name = "x5" +$mod = 5 + +[Preset] +name = "x10" +$mod = 10 + +[Preset] +name = "x50" +$mod = 50 diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeIncomeFrequency/patches.txt b/Modifications/XenobladeX_mod_FrontierNavProbeIncomeFrequency/patches.txt deleted file mode 100644 index 48f38c8b..00000000 --- a/Modifications/XenobladeX_mod_FrontierNavProbeIncomeFrequency/patches.txt +++ /dev/null @@ -1,54 +0,0 @@ -[XCX_PROBEINCOME] -moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U - -codeCaveSize = 0x100 - -; ---------------------------------------------------------------------------- -; 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 = 0x00000000 -0x00000000 = li r8, 30 ; default is 30 for miranium -0x00000004 = addi r10, r3, 1 -0x00000008 = divwu r0, r10, r8 -0x0000000C = mullw r0, r0, r8 -0x00000010 = subf r3, r0, r10 -0x00000014 = cmpwi r3, 0 -0x00000018 = blr - -0x027D5250 = bla _miranium - -; ---------------------------------------------------------------------------- -; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1 -; WHY : Affect the quantity of the NavFrontier income for the Miranium - -0x027D5278 = mulli r4, r31, 100 - -; ---------------------------------------------------------------------------- -; 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) - -0x027D534C = li r12, 1 ; default is 5 for resources - -; ---------------------------------------------------------------------------- -; 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) - -0x027D554C = li r12, 5 ; default is 15 for money (5 for speedrun) - -0x027D5590 = mulli r3, r31, 100 ; quantity - -; ---------------------------------------------------------------------------- -; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1 -; WHY : - -_multCount = 0x00000020 -0x00000020 = lbz r0, 6(r31) -0x00000024 = mulli r0, r0, 5 ; Change this number to multiply the number of each resource mined -0x00000028 = stb r0, 6(r31) -0x0000002C = blr - -0x027D5428 = bla _multCount \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeIncomeFrequency/rules.txt b/Modifications/XenobladeX_mod_FrontierNavProbeIncomeFrequency/rules.txt deleted file mode 100644 index f5b7ca9c..00000000 --- a/Modifications/XenobladeX_mod_FrontierNavProbeIncomeFrequency/rules.txt +++ /dev/null @@ -1,5 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - FrontierNav - Probe income frequency mod" -version=2 - \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/patches.txt b/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/patches.txt new file mode 100644 index 00000000..230a930c --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/patches.txt @@ -0,0 +1,24 @@ +[XCX_FN_MIR_FREQ] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +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 + +0x027D5250 = bla _miranium diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/rules.txt b/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/rules.txt new file mode 100644 index 00000000..139a369a --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumFrequency/rules.txt @@ -0,0 +1,31 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Miranium income frequency mod" +path = "Xenoblade Chronicles X/Modifications/FrontierNav/Miranium income frequency mod" +description = "Affect the frequency of the FrontierNav income for the Miranium (Vanilla is every 30 minutes)." +version = 3 + +[Preset] +name = "Every minute" +$mod = 1 + +[Preset] +name = "Every 2 minutes" +$mod = 2 + +[Preset] +name = "Every 5 minutes" +$mod = 5 + +[Preset] +name = "Every 10 minutes" +$mod = 10 + +[Preset] +name = "Every 15 minutes" +$mod = 15 + +[Preset] +name = "Every 20 minutes" +$mod = 20 + diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/patches.txt b/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/patches.txt new file mode 100644 index 00000000..29718a27 --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/patches.txt @@ -0,0 +1,46 @@ +[XCX_FN_MIR_QTY] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +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 + +0x027D526C = bla _miranium + +; ---------------------------------------------------------------------------- +; WHO : fnet::CFnetData::toStorage(const(unsigned int)) +; WHAT : Ignore max quantity + +0x00000018 = .byte $uncap +_uncap = 0x00000018 + +0x027D0FF8 = 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 + +0x027D1030 = 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/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/rules.txt b/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/rules.txt new file mode 100644 index 00000000..1312646b --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeMiraniumQuantity/rules.txt @@ -0,0 +1,36 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Miranium income quantity mod" +path = "Xenoblade Chronicles X/Modifications/FrontierNav/Miranium income quantity mod" +description = "Affect the quantity of the FrontierNav income for the Miranium." +version = 3 + +[Preset] +name = "Miranium x2" +$mod = 2 +$uncap = 0 + +[Preset] +name = "Miranium x5" +$mod = 5 +$uncap = 0 + +[Preset] +name = "Miranium x10" +$mod = 10 +$uncap = 0 + +[Preset] +name = "Miranium x10 (Uncapped)" +$mod = 10 +$uncap = 1 + +[Preset] +name = "Miranium x50 (Uncapped)" +$mod = 50 +$uncap = 1 + +[Preset] +name = "Miranium x100 (Uncapped)" +$mod = 100 +$uncap = 1 diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeMoneyFrequency/patches.txt b/Modifications/XenobladeX_mod_FrontierNavProbeMoneyFrequency/patches.txt new file mode 100644 index 00000000..3f478a79 --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeMoneyFrequency/patches.txt @@ -0,0 +1,19 @@ +[XCX_FN_MNY_FREQ] +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) + +0x027D554C = bla _money \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeMoneyFrequency/rules.txt b/Modifications/XenobladeX_mod_FrontierNavProbeMoneyFrequency/rules.txt new file mode 100644 index 00000000..14efff69 --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeMoneyFrequency/rules.txt @@ -0,0 +1,27 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Money income frequency mod" +path = "Xenoblade Chronicles X/Modifications/FrontierNav/Money income frequency mod" +description = "Affect the frequency of the FrontierNav income for the Money (Vanilla is 15 minutes)." +version = 3 + +[Preset] +name = "Every minute" +$mod = 1 + +[Preset] +name = "Every 2 minutes" +$mod = 2 + +[Preset] +name = "Every 5 minutes" +$mod = 5 + +[Preset] +name = "Every 7 minutes" +$mod = 7 + +[Preset] +name = "Every 10 minutes" +$mod = 10 + diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeMoneyQuantity/patches.txt b/Modifications/XenobladeX_mod_FrontierNavProbeMoneyQuantity/patches.txt new file mode 100644 index 00000000..2b97b58f --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeMoneyQuantity/patches.txt @@ -0,0 +1,15 @@ +[XCX_FN_MNY_QTY] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +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 + +0x027D5588 = bla _money diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeMoneyQuantity/rules.txt b/Modifications/XenobladeX_mod_FrontierNavProbeMoneyQuantity/rules.txt new file mode 100644 index 00000000..d0a49f54 --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeMoneyQuantity/rules.txt @@ -0,0 +1,27 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Money income quantity mod" +path = "Xenoblade Chronicles X/Modifications/FrontierNav/Money income quantity mod" +description = "Affect the quantity of the FrontierNav income for the Money." +version = 3 + +[Preset] +name = "x2" +$mod = 2 + +[Preset] +name = "x5" +$mod = 5 + +[Preset] +name = "x10" +$mod = 10 + +[Preset] +name = "x50" +$mod = 50 + +[Preset] +name = "x100" +$mod = 100 + diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeResourceFrequency/patches.txt b/Modifications/XenobladeX_mod_FrontierNavProbeResourceFrequency/patches.txt new file mode 100644 index 00000000..e382299e --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeResourceFrequency/patches.txt @@ -0,0 +1,19 @@ +[XCX_FN_RES_FREQ] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +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) + +0x027D534C = bla _res diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeResourceFrequency/rules.txt b/Modifications/XenobladeX_mod_FrontierNavProbeResourceFrequency/rules.txt new file mode 100644 index 00000000..006076ad --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeResourceFrequency/rules.txt @@ -0,0 +1,15 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Xenoblade Chronicles X - FrontierNav - Probe income frequency mod" +name = "Resources income frequency mod" +path = "Xenoblade Chronicles X/Modifications/FrontierNav/Resources income frequency mod" +description = "Affect the frequency of the FrontierNav income for the resources (Vanilla is every 5 minutes)." +version = 3 + +[Preset] +name = "Every 2 minutes" +$mod = 2 + +[Preset] +name = "Every 1 minute" +$mod = 1 diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeResourceQuantity/patches.txt b/Modifications/XenobladeX_mod_FrontierNavProbeResourceQuantity/patches.txt new file mode 100644 index 00000000..47130f1f --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeResourceQuantity/patches.txt @@ -0,0 +1,21 @@ +[XCX_FN_RES_QTY] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +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 + +0x027D5428 = bla _multCount \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_FrontierNavProbeResourceQuantity/rules.txt b/Modifications/XenobladeX_mod_FrontierNavProbeResourceQuantity/rules.txt new file mode 100644 index 00000000..a5c0cab7 --- /dev/null +++ b/Modifications/XenobladeX_mod_FrontierNavProbeResourceQuantity/rules.txt @@ -0,0 +1,27 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Resources income quantity mod" +path = "Xenoblade Chronicles X/Modifications/FrontierNav/Resources income quantity mod" +description = "Affect the quantity of the FrontierNav income for the resources." +version = 3 + +[Preset] +name = "x2" +$mod = 2 + +[Preset] +name = "x5" +$mod = 5 + +[Preset] +name = "x10" +$mod = 10 + +[Preset] +name = "x50" +$mod = 50 + +[Preset] +name = "x100" +$mod = 100 + diff --git a/Modifications/XenobladeX_mod_GraphicsCameraDistance/patches.txt b/Modifications/XenobladeX_mod_GraphicsCameraDistance/patches.txt new file mode 100644 index 00000000..d54d7c69 --- /dev/null +++ b/Modifications/XenobladeX_mod_GraphicsCameraDistance/patches.txt @@ -0,0 +1,12 @@ +[XCX_CAMERA_DIST] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +codeCaveSize = 0x4 + +0x00000000 = .float $mod ; zoom (default is 0.0) +_zoom = 0x00000000 + +# CamData::CCamDataManager::getParamsZoomDefault((CamData::eTargetTypes, unsigned char)) +0x0222A19C = lis r12, _zoom@h +0x0222A1B0 = lfs f1, _zoom@l(r12) +0x0222A1CC = nop diff --git a/Modifications/XenobladeX_mod_GraphicsCameraDistance/rules.txt b/Modifications/XenobladeX_mod_GraphicsCameraDistance/rules.txt new file mode 100644 index 00000000..53e3692e --- /dev/null +++ b/Modifications/XenobladeX_mod_GraphicsCameraDistance/rules.txt @@ -0,0 +1,23 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Camera mod (distance)" +path = "Xenoblade Chronicles X/Modifications/Graphics/Camera mod (distance)" +description = "Affect the default distance of the camera (Vanilla zoom is 0)." +version = 3 + +[Preset] +name = "Zoom 0" +$mod = 0.0 + +[Preset] +name = "Zoom 2" +$mod = 2.0 + +[Preset] +name = "Zoom 5" +$mod = 5.0 + +[Preset] +name = "Zoom 10" +$mod = 10.0 + diff --git a/Modifications/XenobladeX_mod_GraphicsCameraDistanceAndFov/patches.txt b/Modifications/XenobladeX_mod_GraphicsCameraDistanceAndFov/patches.txt deleted file mode 100644 index 076510b5..00000000 --- a/Modifications/XenobladeX_mod_GraphicsCameraDistanceAndFov/patches.txt +++ /dev/null @@ -1,20 +0,0 @@ -[XCX_CAMERA] -moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U - -codeCaveSize = 0x8 - -0x00000000 = .float 5.0 ; zoom (default is 0.0) -_zoom = 0x00000000 - -0x00000004 = .float 50.0 ; fov (default is 40.0) -_fov = 0x00000004 - -# CamData::CCamDataManager::getParamsZoomDefault((CamData::eTargetTypes, unsigned char)) -0x0222A19C = lis r12, _zoom@h -0x0222A1B0 = lfs f1, _zoom@l(r12) -0x0222A1CC = nop - -# CamData::CCamDataManager::getFov((CamData::eTargetTypes)) -0x02229CE0 = lis r11, _fov@h -0x02229CF8 = lfs f1, _fov@l(r11) -0x02229D14 = nop \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_GraphicsCameraDistanceAndFov/rules.txt b/Modifications/XenobladeX_mod_GraphicsCameraDistanceAndFov/rules.txt deleted file mode 100644 index a12a8584..00000000 --- a/Modifications/XenobladeX_mod_GraphicsCameraDistanceAndFov/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Graphics - Camera mod" -version=2 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_GraphicsCameraFov/patches.txt b/Modifications/XenobladeX_mod_GraphicsCameraFov/patches.txt new file mode 100644 index 00000000..dcc98736 --- /dev/null +++ b/Modifications/XenobladeX_mod_GraphicsCameraFov/patches.txt @@ -0,0 +1,12 @@ +[XCX_CAMERA_FOV] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +codeCaveSize = 0x4 + +0x00000000 = .float $mod ; fov (default is 40.0) +_fov = 0x00000000 + +# CamData::CCamDataManager::getFov((CamData::eTargetTypes)) +0x02229CE0 = lis r11, _fov@h +0x02229CF8 = lfs f1, _fov@l(r11) +0x02229D14 = nop \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_GraphicsCameraFov/rules.txt b/Modifications/XenobladeX_mod_GraphicsCameraFov/rules.txt new file mode 100644 index 00000000..e087c746 --- /dev/null +++ b/Modifications/XenobladeX_mod_GraphicsCameraFov/rules.txt @@ -0,0 +1,22 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Camera mod (fov)" +path = "Xenoblade Chronicles X/Modifications/Graphics/Camera mod (fov)" +description = "Affect the default fov of the camera (Vanilla fov is 40)." +version = 3 + +[Preset] +name = "Fov 50" +$mod = 50.0 + +[Preset] +name = "Fov 60" +$mod = 60.0 + +[Preset] +name = "Fov 70" +$mod = 70.0 + +[Preset] +name = "Fov 80" +$mod = 80.0 diff --git a/Modifications/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/patches.txt b/Modifications/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/patches.txt index 3f68dcbe..c9567898 100644 --- a/Modifications/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/patches.txt +++ b/Modifications/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/patches.txt @@ -43,7 +43,6 @@ _info_obtained = 0x00000060 0x0000007C = stw r10, 0x40(r29) 0x00000080 = blr - 0x02386F04 = bla _info_obtained 0x02386F34 = bla _info_default diff --git a/Modifications/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/rules.txt b/Modifications/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/rules.txt index fdc59bf1..cadd9f72 100644 --- a/Modifications/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/rules.txt +++ b/Modifications/XenobladeX_mod_GraphicsNpcInfoBubblesDistance/rules.txt @@ -1,5 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Graphics - NPC info bubbles distance mod" -version=2 - \ No newline at end of file +name = "NPC info bubbles distance mod" +path = "Xenoblade Chronicles X/Modifications/Graphics/NPC info bubbles distance mod" +description = "Increase view distance for yellow information bubbles from NPC." +version = 3 diff --git a/Modifications/XenobladeX_mod_HudChangeTimeFromEmanual/rules.txt b/Modifications/XenobladeX_mod_HudChangeTimeFromEmanual/rules.txt index 221c393c..b0e34a8c 100644 --- a/Modifications/XenobladeX_mod_HudChangeTimeFromEmanual/rules.txt +++ b/Modifications/XenobladeX_mod_HudChangeTimeFromEmanual/rules.txt @@ -1,4 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - HUD - Change time from eManual" -version=2 \ No newline at end of file +name = "Change time from eManual" +path = "Xenoblade Chronicles X/Modifications/HUD/Change time from eManual" +description = "Allow to change time from the eManual entry of the main menu." +version = 3 diff --git a/Modifications/XenobladeX_mod_LootOnlyEquipment/patches.txt b/Modifications/XenobladeX_mod_LootEquipmentsType/patches.txt similarity index 68% rename from Modifications/XenobladeX_mod_LootOnlyEquipment/patches.txt rename to Modifications/XenobladeX_mod_LootEquipmentsType/patches.txt index b004d53f..eac03f9e 100644 --- a/Modifications/XenobladeX_mod_LootOnlyEquipment/patches.txt +++ b/Modifications/XenobladeX_mod_LootEquipmentsType/patches.txt @@ -1,26 +1,7 @@ -[XCX_DROPONLYEQUIPMENT] +[XCX_LOOT_EQUIPMENT] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U -; ---------------------------------------------------------------------------- -; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int)) -; WHAT : Affect the chance of chests - -0x021AADB8 = li r3, 1 ; always GOLD chests -0x021AADBC = blr - -; ---------------------------------------------------------------------------- -; WHO : __CPR90__calcItemBronze__Q2_8ItemDrop16CItemDropManagerFRQ3_J19JJ28J9SDropInfoUc -; WHAT : Affect the drop ratio of materials - -0x021AF5D8 = li r31, 0 -0x021AF5F4 = li r31, 0 -0x021AF610 = li r31, 0 - -; ---------------------------------------------------------------------------- -; WHO : ItemDrop::CItemDropManager::calcItemNum((uchar)) -; WHAT : Chances to loot multiples equipments (3 max) - -0x021AB238 = li r11, 100 ; DRP_ItemNumTable - Lot_3 +codeCaveSize = 0x1C ; ---------------------------------------------------------------------------- ; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs @@ -30,8 +11,28 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U ; 6 = Skell weapons ; 8 = Skell armors -0x021AEB88 = li r4, 6 -0x021AEB5C = li r27, 6 +0x00000000 = .byte $mod +_ratio = 0x00000000 + +_setEquipR4 = 0x00000004 +0x00000004 = lis r4, _ratio@ha +0x00000008 = lbz r4, _ratio@l(r4) +0x0000000C = blr + +0x021AEB88 = bla _setEquipR4 + +_setEquipR27 = 0x00000010 +0x00000010 = lis r27, _ratio@ha +0x00000014 = lbz r27, _ratio@l(r27) +0x00000018 = blr + +0x021AEB5C = bla _setEquipR27 + +; ---------------------------------------------------------------------------- +; WHO : ItemDrop::CItemDropManager::calcItemNum((uchar)) +; WHAT : Chances to loot multiples equipments (3 max) + +0x021AB238 = li r11, 100 ; DRP_ItemNumTable - Lot_3 ; ---------------------------------------------------------------------------- ; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs diff --git a/Modifications/XenobladeX_mod_LootEquipmentsType/rules.txt b/Modifications/XenobladeX_mod_LootEquipmentsType/rules.txt new file mode 100644 index 00000000..ffa0e226 --- /dev/null +++ b/Modifications/XenobladeX_mod_LootEquipmentsType/rules.txt @@ -0,0 +1,26 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Force equipment loot mod" +path = "Xenoblade Chronicles X/Modifications/Loot/Force equipment loot mod" +description = "Force the type of equipment looted (always 3 pieces of best quality possible)." +version = 3 + +[Preset] +name = "Ground weapons" +$mod = 2 + +[Preset] +name = "Ground armors" +$mod = 4 + +[Preset] +name = "Skell weapons" +$mod = 6 + +[Preset] +name = "Skell armors" +$mod = 8 + +[Preset] +name = "Never drop equipment! (unexpected results if chest quality is forced)" +$mod = 0 diff --git a/Modifications/XenobladeX_mod_LootForceChest/patches.txt b/Modifications/XenobladeX_mod_LootForceChest/patches.txt new file mode 100644 index 00000000..ff1a2f85 --- /dev/null +++ b/Modifications/XenobladeX_mod_LootForceChest/patches.txt @@ -0,0 +1,27 @@ +[XCX_LOOT_FORCECHEST] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +codeCaveSize = 0x10 + +0x00000000 = .byte $mod +_chest = 0x00000000 + +_changeQuality = 0x00000004 +0x00000004 = lis r3, _chest@ha +0x00000008 = lbz r3, _chest@l(r3) +0x0000000C = blr + +0x021AADB8 = bla _changeQuality +0x021AADBC = blr + +; ---------------------------------------------------------------------------- +; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int)) +; WHAT : Override the chest quality you get when the game initially decided you get no chest at all +; : It's a bit tough to explain, but the function calcRank does this: +; : 1) Calculate luck for gold chest, if success exit with gold quality (1), else process next step +; : 2) Calculate luck for silver chest, if success exit with silver quality (2), else process next step +; : 3) Calculate luck for bronze chest, if success exit with bronze quality (3), else process next step +; : 4) No chest at all, exit with no chest (0) +; : --> The mod below only changes this last step. So even if you put 1 value (gold chest), you'll still get a silver chest if the game succeeded the step 2. + +;0x21AAF18 = li r3, 1 ; 0 = nothing (default), 1 = gold, 2 = silver, 3 = bronze diff --git a/Modifications/XenobladeX_mod_LootForceChest/rules.txt b/Modifications/XenobladeX_mod_LootForceChest/rules.txt new file mode 100644 index 00000000..05b8564d --- /dev/null +++ b/Modifications/XenobladeX_mod_LootForceChest/rules.txt @@ -0,0 +1,22 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Force chest quality mod" +path = "Xenoblade Chronicles X/Modifications/Loot/Force chest quality mod" +description = "Force the chest quality (WARNING: this will break quests which need another quality loot)." +version = 3 + +[Preset] +name = "Always Gold chests" +$mod = 1 + +[Preset] +name = "Always Silver chests" +$mod = 2 + +[Preset] +name = "Always Bronze chests" +$mod = 3 + +[Preset] +name = "No chest at all!" +$mod = 0 diff --git a/Modifications/XenobladeX_mod_LootMaterialsChance/patches.txt b/Modifications/XenobladeX_mod_LootMaterialsChance/patches.txt index 0725673c..8a8d795e 100644 --- a/Modifications/XenobladeX_mod_LootMaterialsChance/patches.txt +++ b/Modifications/XenobladeX_mod_LootMaterialsChance/patches.txt @@ -1,35 +1,27 @@ -[XCX_CUSTOMDROPRATIO] +[XCX_LOOT_MATERIALS] moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U -codeCaveSize = 0x50 - -; Uncomment those TWO lines to affect the chest chance to appear -;0x021AADB8 = li r3, 0 ; 0 = no drop, 1 = always gold, 2 = always silver, 3 = always bronze -;0x021AADBC = blr - -; ---------------------------------------------------------------------------- -; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int)) -; WHAT : Override the chest quality you get when the game initially decided you get no chest at all -; : It's a bit tough to explain, but the function calcRank does this: -; : 1) Calculate luck for gold chest, if success exit with gold quality (1), else process next step -; : 2) Calculate luck for silver chest, if success exit with silver quality (2), else process next step -; : 3) Calculate luck for bronze chest, if success exit with bronze quality (3), else process next step -; : 4) No chest at all, exit with no chest (0) -; : --> The mod below only changes this last step. So even if you put 1 value (gold chest), you'll still get a silver chest if the game succeeded the step 2. - -0x21AAF18 = li r3, 1 ; 0 = nothing (default), 1 = gold, 2 = silver, 3 = bronze +codeCaveSize = 0x30 ; ---------------------------------------------------------------------------- ; WHO : __CPR90__calcItemBronze__Q2_8ItemDrop16CItemDropManagerFRQ3_J19JJ28J9SDropInfoUc ; WHAT : Affect the drop ratio of materials -_minDropRate = 0x00000000 -0x00000000 = cmpwi r31, 100 ; this value is the default drop ratio under which we want to set a new drop ratio (logically equal or greater) -0x00000008 = blt .+0x8 -0x0000000C = b .+0x8 -0x00000010 = li r31, 100 ; here you set the new drop ratio -0x00000014 = cmpw r3, r31 -0x00000018 = blr +0x00000000 = .byte $mod +_ratio = 0x00000000 + +_minDropRate = 0x00000004 +0x00000004 = lis r11, _ratio@ha +0x00000008 = lbz r11, _ratio@l(r11) +0x0000000C = li r31, 0 +0x00000010 = cmpwi r11, 0 +0x00000014 = beqlr +0x00000018 = cmpw r31, r11 ; this value is the default drop ratio under which we want to set a new drop ratio (logically equal or greater) +0x0000001C = blt .+0x8 +0x00000020 = b .+0x8 +0x00000024 = mr r31, r11 ; here you set the new drop ratio +0x00000028 = cmpw r3, r31 +0x0000002C = blr 0x021AF5DC = bla _minDropRate ; modify drop ratio for gold chests 0x021AF5F8 = bla _minDropRate ; modify drop ratio for silver chests diff --git a/Modifications/XenobladeX_mod_LootMaterialsChance/rules.txt b/Modifications/XenobladeX_mod_LootMaterialsChance/rules.txt index 0e626783..685e744e 100644 --- a/Modifications/XenobladeX_mod_LootMaterialsChance/rules.txt +++ b/Modifications/XenobladeX_mod_LootMaterialsChance/rules.txt @@ -1,5 +1,26 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Loot - Materials chance mod" -version=2 - \ No newline at end of file +name = "Materials drop ratio mod" +path = "Xenoblade Chronicles X/Modifications/Loot/Materials drop ratio" +description = "Affect the materials minimum drop ratio in the loots." +version = 3 + +[Preset] +name = "Set minimum drop to 100% (always drop)" +$mod = 100 + +[Preset] +name = "Set minimum drop to 70%" +$mod = 70 + +[Preset] +name = "Set minimum drop to 50%" +$mod = 50 + +[Preset] +name = "Set minimum drop to 30%" +$mod = 30 + +[Preset] +name = "Set minimum drop to 0% (never drop)" +$mod = 0 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_LootOnlyEquipment/rules.txt b/Modifications/XenobladeX_mod_LootOnlyEquipment/rules.txt deleted file mode 100644 index 23d55b75..00000000 --- a/Modifications/XenobladeX_mod_LootOnlyEquipment/rules.txt +++ /dev/null @@ -1,5 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Loot - Only equipment" -version=2 - \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_LootOnlyMaterials/patches.txt b/Modifications/XenobladeX_mod_LootOnlyMaterials/patches.txt deleted file mode 100644 index 71530561..00000000 --- a/Modifications/XenobladeX_mod_LootOnlyMaterials/patches.txt +++ /dev/null @@ -1,39 +0,0 @@ -[XCX_DROPONLYMATERIALS] -moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U - -codeCaveSize = 0x20 - -; ---------------------------------------------------------------------------- -; WHO : __CPR129__calcItem__Q2_8ItemDrop16CItemDropManagerFRQ3_J13JJ22J9SDropInfoUcRCQ3_J13JJ22J11SCreateInfo -; WHAT : No equipment loot - -_21AF30C = 0x021AF30C -0x021AEAA8 = b _21AF30C - -; ---------------------------------------------------------------------------- -; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int)) -; WHAT : Override the chest quality you get when the game initially decided you get no chest at all -; : It's a bit tough to explain, but the function calcRank does this: -; : 1) Calculate luck for gold chest, if success exit with gold quality (1), else process next step -; : 2) Calculate luck for silver chest, if success exit with silver quality (2), else process next step -; : 3) Calculate luck for bronze chest, if success exit with bronze quality (3), else process next step -; : 4) No chest at all, exit with no chest (0) -; : --> The mod below only changes this last step. So even if you put 1 value (gold chest), you'll still get a silver chest if the game succeeded the step 2. - -0x21AAF18 = li r3, 3 ; 0 = nothing (default), 1 = gold, 2 = silver, 3 = bronze - -; ---------------------------------------------------------------------------- -; WHO : __CPR90__calcItemBronze__Q2_8ItemDrop16CItemDropManagerFRQ3_J19JJ28J9SDropInfoUc -; WHAT : Affect the drop ratio of materials - -_minDropRate = 0x00000000 -0x00000000 = cmpwi r31, 100 ; this value is the default drop ratio under which we want to set a new drop ratio (logically equal or greater) -0x00000008 = blt .+0x8 -0x0000000C = b .+0x8 -0x00000010 = li r31, 100 ; here you set the new drop ratio -0x00000014 = cmpw r3, r31 -0x00000018 = blr - -0x021AF5DC = bla _minDropRate ; modify drop ratio for gold chests -0x021AF5F8 = bla _minDropRate ; modify drop ratio for silver chests -0x021AF614 = bla _minDropRate ; modify drop ratio for bronze chests diff --git a/Modifications/XenobladeX_mod_LootOnlyMaterials/rules.txt b/Modifications/XenobladeX_mod_LootOnlyMaterials/rules.txt deleted file mode 100644 index a5846948..00000000 --- a/Modifications/XenobladeX_mod_LootOnlyMaterials/rules.txt +++ /dev/null @@ -1,5 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Loot - Only materials" -version=2 - \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_MusicOverdriveDisabled/rules.txt b/Modifications/XenobladeX_mod_MusicOverdriveDisabled/rules.txt index 2ab51706..bd7805cd 100644 --- a/Modifications/XenobladeX_mod_MusicOverdriveDisabled/rules.txt +++ b/Modifications/XenobladeX_mod_MusicOverdriveDisabled/rules.txt @@ -1,5 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Music - Overdrive disabled" -version=2 - \ No newline at end of file +name = "No Overdrive music" +path = "Xenoblade Chronicles X/Modifications/Music/No Overdrive music" +description = "Disable the music when Overdrive is activated." +version = 3 diff --git a/Modifications/XenobladeX_mod_MusicSkellFlightDisabled/rules.txt b/Modifications/XenobladeX_mod_MusicSkellFlightDisabled/rules.txt index cbff0c64..e8c174eb 100644 --- a/Modifications/XenobladeX_mod_MusicSkellFlightDisabled/rules.txt +++ b/Modifications/XenobladeX_mod_MusicSkellFlightDisabled/rules.txt @@ -1,5 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Music - Skell Flight disabled" -version=2 - \ No newline at end of file +name = "No Skell Flight music" +path = "Xenoblade Chronicles X/Modifications/Music/No Skell Flight music" +description = "Disable the music when in flight." +version = 3 diff --git a/Modifications/XenobladeX_mod_PhysicsJumpToTheMoon!/patches.txt b/Modifications/XenobladeX_mod_PhysicsJumpToTheMoon!/patches.txt index 2f003b27..c37c86a5 100644 --- a/Modifications/XenobladeX_mod_PhysicsJumpToTheMoon!/patches.txt +++ b/Modifications/XenobladeX_mod_PhysicsJumpToTheMoon!/patches.txt @@ -3,8 +3,8 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U codeCaveSize = 0x28 -0x00000020 = .float 1.05 ; vertical velocity (default is 1.00, speedrun is 1.05) -0x00000024 = .float 2.0 ; horizontal velocity (default is 1.00, speedrun is 2.0) +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 diff --git a/Modifications/XenobladeX_mod_PhysicsJumpToTheMoon!/rules.txt b/Modifications/XenobladeX_mod_PhysicsJumpToTheMoon!/rules.txt index edc68ff0..a0567c2c 100644 --- a/Modifications/XenobladeX_mod_PhysicsJumpToTheMoon!/rules.txt +++ b/Modifications/XenobladeX_mod_PhysicsJumpToTheMoon!/rules.txt @@ -1,4 +1,72 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Physics - Jump to the Moon!" -version=2 \ No newline at end of file +name = "Jump higher" +path = "Xenoblade Chronicles X/Modifications/Physics/Jump to the Moon!" +description = "Increase horizontal and vertical velocity of jump (Vanilla values are 1.0 for both)." +version = 3 + +[Preset] +name = "Horizontal 3.0 / Vertical 1.10" +$horz = 3.0 +$vert = 1.10 + +[Preset] +name = "Horizontal 2.0 / Vertical 1.10" +$horz = 2.0 +$vert = 1.10 + +[Preset] +name = "Horizontal 1.5 / Vertical 1.10" +$horz = 1.5 +$vert = 1.10 + +[Preset] +name = "Horizontal 1.5 / Vertical 1.05" +$horz = 1.5 +$vert = 1.05 + +[Preset] +name = "Horizontal 1.5 / Vertical 1.03" +$horz = 1.5 +$vert = 1.03 + +[Preset] +name = "Horizontal 2.0 / Vertical 1.05" +$horz = 2.0 +$vert = 1.05 + + +[Preset] +name = "[TEST] Horizontal 1.0 / Vertical 1.02" +$horz = 1.0 +$vert = 1.02 + +[Preset] +name = "[TEST] Horizontal 1.0 / Vertical 1.05" +$horz = 1.0 +$vert = 1.05 + +[Preset] +name = "[TEST] Horizontal 1.0 / Vertical 1.10" +$horz = 1.0 +$vert = 1.10 + +[Preset] +name = "[TEST] Horizontal 1.0 / Vertical 2.0" +$horz = 1.0 +$vert = 2.0 + +[Preset] +name = "[TEST] Horizontal 1.5 / Vertical 1.0" +$horz = 1.5 +$vert = 1.0 + +[Preset] +name = "[TEST] Horizontal 2.0 / Vertical 1.0" +$horz = 2.0 +$vert = 1.0 + +[Preset] +name = "[TEST] Horizontal 3.0 / Vertical 1.0" +$horz = 3.0 +$vert = 1.0 diff --git a/Modifications/XenobladeX_mod_PhysicsRunForrestRun!/patches.txt b/Modifications/XenobladeX_mod_PhysicsRunForrestRun!/patches.txt index 0b700147..76161333 100644 --- a/Modifications/XenobladeX_mod_PhysicsRunForrestRun!/patches.txt +++ b/Modifications/XenobladeX_mod_PhysicsRunForrestRun!/patches.txt @@ -3,7 +3,7 @@ moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U codeCaveSize = 0x18 -0x00000014 = .float 0.7 ; dash speed (smallest means fastest, default is 1.0) +0x00000014 = .float $mod ; dash speed (smallest means fastest, default is 1.0) _speed = 0x00000014 _setSpeed = 0x00000000 @@ -12,3 +12,6 @@ _setSpeed = 0x00000000 0x00000008 = fdivs f1, f1, f13 0x0000000C = lwz r3, 0(r31) 0x00000010 = blr + +# chr::CInnerLabelState::applyFieldMoveWeight((float)) +0x02643330 = bla _setSpeed ; SetVariableFloat(0xBD,float) diff --git a/Modifications/XenobladeX_mod_PhysicsRunForrestRun!/rules.txt b/Modifications/XenobladeX_mod_PhysicsRunForrestRun!/rules.txt index ae0131bb..8a30fa39 100644 --- a/Modifications/XenobladeX_mod_PhysicsRunForrestRun!/rules.txt +++ b/Modifications/XenobladeX_mod_PhysicsRunForrestRun!/rules.txt @@ -1,4 +1,18 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Physics - Run Forrest, run! -version=2 \ No newline at end of file +name = "Sprint faster" +path = "Xenoblade Chronicles X/Modifications/Physics/Run Forrest, run!" +description = "Increase the speed of sprint." +version = 3 + +[Preset] +name = "Speed x1.5" +$mod = 0.75 + +[Preset] +name = "Speed x2" +$mod = 0.5 + +[Preset] +name = "Speed x3" +$mod = 0.3 diff --git a/Modifications/XenobladeX_mod_SquadGainTicketsFromDlcMissions/patches.txt b/Modifications/XenobladeX_mod_SquadGainTicketsFromDlcMissions/patches.txt deleted file mode 100644 index 4a999b76..00000000 --- a/Modifications/XenobladeX_mod_SquadGainTicketsFromDlcMissions/patches.txt +++ /dev/null @@ -1,72 +0,0 @@ -[XCX_TICKETS_DLC_EU] -moduleMatches = 0xF882D5CF ; 1.0.1E - -codeCaveSize = 0x50 - -; ---------------------------------------------------------------------------- -; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool)) -; menu::MenuMultiQuestResult::setup((void)) -; addReward__Q2_3cfs11CfSquadUtilSFUiT1 -; WHAT : Override the Tickets rewarded for a DLC mission. -; By default, the number of tickets is the money divided by 100. - -_shareAddr = 0x1039C180 - -_ticketsDispBefore = 0x00000000 -0x00000000 = lhz r26, 0x8C(r1) -0x00000004 = lwz r7, 0x47C(r30) -0x00000008 = lwz r4, 8(r7) -0x0000000C = cmpwi r4, 5 ; QuestType == 2 (TA), QuestType == 5 (DLC) -0x00000010 = bne .+0xC -0x00000014 = li r4, 10 -0x00000018 = divw r26, r22, r4 ; r23 = exp, r22 = money -0x0000001C = lis r24, _shareAddr@ha -0x00000020 = stw r26, _shareAddr@l(r24) ; lwz r26, _shareAddr@l(r24); -0x00000024 = blr - -_ticketsDispAfter = 0x00000030 -0x00000030 = lis r5, _shareAddr@ha -0x00000034 = lwz r5, _shareAddr@l(r5) -0x00000038 = blr - -_ticketsValue = 0x00000040 -0x00000040 = lis r27, _shareAddr@ha -0x00000044 = lwz r27, _shareAddr@l(r27) -0x00000048 = blr - -0x02B94718 = bla _ticketsDispBefore -0x02B9FE2C = bla _ticketsDispAfter -0x023CC654 = bla _ticketsValue - -[XCX_TICKETS_DLC_US] ############################################################################################ -moduleMatches = 0x30B6E091 ; 1.0.2U - -codeCaveSize = 0x50 - -_shareAddr = 0x1039C180 - -_ticketsDispBefore = 0x00000000 -0x00000000 = lhz r26, 0x8C(r1) -0x00000004 = lwz r7, 0x47C(r30) -0x00000008 = lwz r4, 8(r7) -0x0000000C = cmpwi r4, 5 -0x00000010 = bne .+0xC -0x00000014 = li r4, 100 -0x00000018 = divw r26, r22, r4 -0x0000001C = lis r24, _shareAddr@ha -0x00000020 = stw r26, _shareAddr@l(r24) -0x00000024 = blr - -_ticketsDispAfter = 0x00000030 -0x00000030 = lis r5, _shareAddr@ha -0x00000034 = lwz r5, _shareAddr@l(r5) -0x00000038 = blr - -_ticketsValue = 0x00000040 -0x00000040 = lis r27, _shareAddr@ha -0x00000044 = lwz r27, _shareAddr@l(r27) -0x00000048 = blr - -0x02B94708 = bla _ticketsDispBefore -0x02B9FE1C = bla _ticketsDispAfter -0x023CC654 = bla _ticketsValue diff --git a/Modifications/XenobladeX_mod_SquadGainTicketsFromDlcMissions/rules.txt b/Modifications/XenobladeX_mod_SquadGainTicketsFromDlcMissions/rules.txt deleted file mode 100644 index 98de7f01..00000000 --- a/Modifications/XenobladeX_mod_SquadGainTicketsFromDlcMissions/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Squad - Gain tickets from DLC missions" -version=2 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_SquadGainTicketsFromTaMissions/patches.txt b/Modifications/XenobladeX_mod_SquadGainTicketsFromTaMissions/patches.txt deleted file mode 100644 index 5407f363..00000000 --- a/Modifications/XenobladeX_mod_SquadGainTicketsFromTaMissions/patches.txt +++ /dev/null @@ -1,72 +0,0 @@ -[XCX_TICKETS_TA_EU] -moduleMatches = 0xF882D5CF ; 1.0.1E - -codeCaveSize = 0x50 - -; ---------------------------------------------------------------------------- -; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool)) -; menu::MenuMultiQuestResult::setup((void)) -; addReward__Q2_3cfs11CfSquadUtilSFUiT1 -; WHAT : Override the Tickets rewarded for a Time Attack mission. -; By default, the number of tickets is the experience divided by 10. - -_shareAddr = 0x1039C180 - -_ticketsDispBefore = 0x00000000 -0x00000000 = lhz r26, 0x8C(r1) -0x00000004 = lwz r7, 0x47C(r30) -0x00000008 = lwz r4, 8(r7) -0x0000000C = cmpwi r4, 2 ; QuestType == 2 (TA), QuestType == 5 (DLC) -0x00000010 = bne .+0xC -0x00000014 = li r4, 2 -0x00000018 = mullw r26, r23, r4 ; r23 = exp, r22 = money -0x0000001C = lis r24, _shareAddr@ha -0x00000020 = stw r26, _shareAddr@l(r24);stw r26, _shareAddr@l(r24) ; lwz r26, _shareAddr@l(r24); -0x00000024 = blr - -_ticketsDispAfter = 0x00000030 -0x00000030 = lis r5, _shareAddr@ha -0x00000034 = lwz r5, _shareAddr@l(r5) -0x00000038 = blr - -_ticketsValue = 0x00000040 -0x00000040 = lis r27, _shareAddr@ha -0x00000044 = lwz r27, _shareAddr@l(r27) -0x00000048 = blr - -0x02B94718 = bla _ticketsDispBefore -0x02B9FE2C = bla _ticketsDispAfter -0x023CC654 = bla _ticketsValue - -[XCX_TICKETS_TA_US] ############################################################################################ -moduleMatches = 0x30B6E091 ; 1.0.2U - -codeCaveSize = 0x50 - -_shareAddr = 0x1039C180 - -_ticketsDispBefore = 0x00000000 -0x00000000 = lhz r26, 0x8C(r1) -0x00000004 = lwz r7, 0x47C(r30) -0x00000008 = lwz r4, 8(r7) -0x0000000C = cmpwi r4, 2 -0x00000010 = bne .+0xC -0x00000014 = li r4, 10 -0x00000018 = divw r26, r23, r4 -0x0000001C = lis r24, _shareAddr@ha -0x00000020 = stw r26, _shareAddr@l(r24) -0x00000024 = blr - -_ticketsDispAfter = 0x00000030 -0x00000030 = lis r5, _shareAddr@ha -0x00000034 = lwz r5, _shareAddr@l(r5) -0x00000038 = blr - -_ticketsValue = 0x00000040 -0x00000040 = lis r27, _shareAddr@ha -0x00000044 = lwz r27, _shareAddr@l(r27) -0x00000048 = blr - -0x02B94708 = bla _ticketsDispBefore -0x02B9FE1C = bla _ticketsDispAfter -0x023CC654 = bla _ticketsValue diff --git a/Modifications/XenobladeX_mod_SquadGainTicketsFromTaMissions/rules.txt b/Modifications/XenobladeX_mod_SquadGainTicketsFromTaMissions/rules.txt deleted file mode 100644 index 6d3a697e..00000000 --- a/Modifications/XenobladeX_mod_SquadGainTicketsFromTaMissions/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Squad - Gain tickets from TA missions" -version=2 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_SquadGlobalNemesisMissionsOffline/patches.txt b/Modifications/XenobladeX_mod_SquadGlobalNemesisMissionsOffline/patches.txt deleted file mode 100644 index 53a4a983..00000000 --- a/Modifications/XenobladeX_mod_SquadGlobalNemesisMissionsOffline/patches.txt +++ /dev/null @@ -1,55 +0,0 @@ -[XCX_OFFLINEWE] -moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U - -codeCaveSize = 0x10 - -; ---------------------------------------------------------------------------- -; WHAT : cfs::CfSocialManager::isNeedRefreshSquadQuest(const(void)) -; WHY : Disable the online check - -0x022C8CC8 = li r3, 0 - -; ---------------------------------------------------------------------------- -; WHAT : collectQuestInfoTA__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo -; WHY : Override the requirements for displaying the Global Nemesis missions - -_keepQuestType = 0x00000000 -0x00000000 = mr r25, r31 -0x00000004 = cmpwi r31, 4 -0x00000008 = blr - -# collectQuestInfoTA__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo - CONTRE LA MONTRE -0x022C5F5C = bla _keepQuestType -_22C6128 = 0x022C6128 -0x022C5F60 = bgt _22C6128 - -0x023BF578 = li r3, 10 # cfs::CfSquadQuestObject::getWorldEnemyLP(const(void)) -0x023B9630 = li r3, 10 # getEnemyLP__Q2_3cfs11CfSquadUtilSFUi - -[XCX_OFFLINEWE_EU] ############################################################################################ -moduleMatches = 0xF882D5CF ; 1.0.1E - -codeCaveSize = 0x40 - -# menu::MenuMultiQuestOrder::move((void)) -; skip BLADE medals requirement -0x02B9B0B0 = li r3, 1 ; Disable call to menu::MenuMultiQuestOrder::canOrderWorldEnemy - -# menu::CTerminalMenu_PieceExchange::offline((void)) -_single = 0x00000000 -0x00000000 = li r3, 0 -0x00000004 = blr -0x02AC613C = b _single ; menu::CBladeHomuMenu::single((void)) - -[XCX_OFFLINEWE_US] ############################################################################################ -moduleMatches = 0x30B6E091 ; 1.0.2U - -codeCaveSize = 0x10 - -0x02B9B0A0 = li r3, 1 # Disable call to menu::MenuMultiQuestOrder::canOrderWorldEnemy - -_single = 0x00000000 -0x00000000 = li r3, 0 -0x00000004 = blr - -0x02AC612C = b _single diff --git a/Modifications/XenobladeX_mod_SquadGlobalNemesisMissionsOffline/rules.txt b/Modifications/XenobladeX_mod_SquadGlobalNemesisMissionsOffline/rules.txt deleted file mode 100644 index 49bd36ba..00000000 --- a/Modifications/XenobladeX_mod_SquadGlobalNemesisMissionsOffline/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Squad - Global Nemesis missions offline" -version=2 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_SquadTasksAndMissionsOffline/rules.txt b/Modifications/XenobladeX_mod_SquadTasksAndMissionsOffline/rules.txt deleted file mode 100644 index 6ba038d6..00000000 --- a/Modifications/XenobladeX_mod_SquadTasksAndMissionsOffline/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Squad - Tasks and missions offline" -version=2 \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_WeatherForceWeather/patches.txt b/Modifications/XenobladeX_mod_WeatherForceWeather/patches.txt new file mode 100644 index 00000000..c74eaa63 --- /dev/null +++ b/Modifications/XenobladeX_mod_WeatherForceWeather/patches.txt @@ -0,0 +1,19 @@ +[XCX_CHANGEWEATHER] +moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U + +codeCaveSize = 0x10 + +0x00000000 = .byte $wtr +_weather = 0x00000000 + +; cfs::CfWtrManager::setWeatherID((unsigned int, int)) + +0x0229F0FC = bla _forceWeather + +_forceWeather = 0x00000004 +0x00000004 = lis r28, _weather@h +0x00000008 = lbz r28, _weather@l(r28) +0x0000000C = blr + +; cfs::CfWtrManager::update((float)) +0x022B587C = nop \ No newline at end of file diff --git a/Modifications/XenobladeX_mod_WeatherForceWeather/rules.txt b/Modifications/XenobladeX_mod_WeatherForceWeather/rules.txt new file mode 100644 index 00000000..d3ed635c --- /dev/null +++ b/Modifications/XenobladeX_mod_WeatherForceWeather/rules.txt @@ -0,0 +1,154 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Force Weather" +path = "Xenoblade Chronicles X/Modifications/Weather/Force Weather" +description = "Force selected weather. Just select a preset and unload/reload the pack." +version = 3 + +[Preset] +name = "Primordia - Clear" +$wtr = 1 + +[Preset] +name = "Primordia - Rain" +$wtr = 2 + +;[Preset] +;name = "Primordia - Lightning" +;$wtr = 3 + +[Preset] +name = "Primordia - Heavy Rain" +$wtr = 4 + +[Preset] +name = "Primordia - Thunderstorms" +$wtr = 5 + +[Preset] +name = "Primordia - Aurora" +$wtr = 6 + +[Preset] +name = "Primordia - Meteor Showers" +$wtr = 7 + +[Preset] +name = "Primordia - Rainbow" +$wtr = 8 + +########################################## + +[Preset] +name = "Noctilum - Clear" +$wtr = 1 + +[Preset] +name = "Noctilum - Dense Fog" +$wtr = 2 + +[Preset] +name = "Noctilum - Rain" +$wtr = 3 + +[Preset] +name = "Noctilum - Thunderstorms" +$wtr = 4 + +[Preset] +name = "Noctilum - Energy Mist" +$wtr = 5 + +;[Preset] +;name = "Noctilum - Rainbow1?" +;$wtr = 13 + +########################################## + +[Preset] +name = "Oblivia - Clear" +$wtr = 1 + +[Preset] +name = "Oblivia - Rain" +$wtr = 2 + +[Preset] +name = "Oblivia - Heat Wave" +$wtr = 3 + +[Preset] +name = "Oblivia - Sandstorms" +$wtr = 4 + +;[Preset] +;name = "Oblivia - Thunderstorms (*)" +;$wtr = 5 + +[Preset] +name = "Oblivia - Electromagnetic Storms" +$wtr = 6 + +[Preset] +name = "Oblivia - Aurora" +$wtr = 7 + +[Preset] +name = "Oblivia - Meteor Showers" +$wtr = 8 + +[Preset] +name = "Oblivia - Rainbow" +$wtr = 9 + +########################################## + +[Preset] +name = "Sylvalum - Cloudy" +$wtr = 1 + +;[Preset] +;name = "Sylvalum - Thunderstorms (*)" +;$wtr = 2 + +[Preset] +name = "Sylvalum - Rising Energy Mist" +$wtr = 3 + +[Preset] +name = "Sylvalum - Spores" +$wtr = 4 + +[Preset] +name = "Sylvalum - Crimson Aurora" +$wtr = 5 + +;[Preset] +;name = "Sylvalum - Brimstone Rain (*)" +;$wtr = 6 + +########################################## + +[Preset] +name = "Cauldros - Clear" +$wtr = 1 + +[Preset] +name = "Cauldros - Cloudy" +$wtr = 2 + +;[Preset] +;name = "Cauldros - Thunderstorms (*)" +;$wtr = 3 + +[Preset] +name = "Cauldros - Electromagnetic Storms" +$wtr = 4 + +[Preset] +name = "Cauldros - Brimstone Rain" +$wtr = 5 + +[Preset] +name = "Cauldros - Rainbow" +$wtr = 6