From 20ca17ce51365cdb05bbd60bb61f5a468c8f5372 Mon Sep 17 00:00:00 2001 From: Intra Date: Tue, 8 Apr 2025 12:41:39 -0500 Subject: [PATCH 1/4] initial commit --- .../Enhancements/AntiAliasing/rules.txt | 106 ++-- .../Enhancements/FancyFX/rules.txt | 68 +-- .../Enhancements/NegativeLOD/rules.txt | 16 +- .../Enhancements/ansio/rules.txt | 4 +- .../Mods/BattleEnemyStats/patch_stats.asm | 125 +++- .../Mods/BattleEnemyStats/rules.txt | 540 +++++++++++++++++- .../Mods/BladeFieldSkill/rules.txt | 2 +- .../patch_gainticketsmissions.asm | 1 - .../patch_offline_nemesis.asm | 25 +- .../patch_offline_nemesis.asm.bak | 1 - .../rules.txt | 10 + .../patch_lv60skells.asm | 3 - .../BladeMoreTickets/patch_moretickets.asm | 2 - .../Mods/BladeMoreTickets/rules.txt | 12 +- .../Mods/CharacterLevel/patch_level.asm | 14 +- .../Mods/CharacterLevel/readme.txt | 247 ++++++++ .../Mods/CharacterLevel/rules.txt | 105 ++-- .../patch_augup.asm | 2 - .../patch_unlockaug.asm | 2 - .../ExpBattlePointsX/patch_exp_battle.asm | 31 +- .../Mods/ExpBattlePointsX/rules.txt | 13 +- .../Mods/ExpBladePointsX/patch_exp_blade.asm | 18 +- .../Mods/ExpBladePointsX/rules.txt | 13 +- .../ExpClassExpPointsX/patch_exp_class.asm | 30 +- .../Mods/ExpClassExpPointsX/rules.txt | 13 +- .../ExpFriendsPointsX/patch_exp_friend.asm | 14 +- .../Mods/ExpFriendsPointsX/rules.txt | 6 +- .../Mods/ExpInnerExpPointsX/patch_exp.asm | 33 +- .../Mods/ExpInnerExpPointsX/rules.txt | 7 +- .../patch_miranium_freq.asm | 1 - .../patch_miranium_qu.asm | 2 - .../patch_money_freq.asm | 9 +- .../patch_money_qu.asm | 1 - .../FrontierNavProbeMoneyQuantity/rules.txt | 6 +- .../patch_resource_freq.asm | 9 +- .../patch_resource_qu.asm | 3 +- .../rules.txt | 6 +- .../Mods/GraphicsCameraDistance/rules.txt | 7 +- .../GraphicsNoModelFade/patch_NoModelFade.asm | 23 +- .../patch_RemoveBlur.asm | 7 +- .../patch_randaffix.asm | 3 - .../LootEquipmentsForceType/patch_type.asm | 2 - .../LootMaterialsDrop/patch_materials.asm | 1 - .../LootTreasureQuality/patch_treasure.asm | 2 - .../Mods/LootTreasureQuality/rules.txt | 14 +- .../Mods/MaxItems/patch_maxitems.asm | 1 - .../Mods/MaxMoney/patch_maxmoney.asm | 122 ++-- .../Mods/MaxMoney/rules.txt | 38 +- .../Mods/MaxTickets/patch_maxtickets.asm | 1 - .../WeatherForceWeather/patch_weather.asm | 5 - src/XenobladeChroniclesX/Mods/readme.md | 11 +- .../Workarounds/Brightness/rules.txt | 6 +- .../Workarounds/BrightnessOLD/rules.txt | 2 +- 53 files changed, 1298 insertions(+), 447 deletions(-) create mode 100644 src/XenobladeChroniclesX/Mods/CharacterLevel/readme.txt diff --git a/src/XenobladeChroniclesX/Enhancements/AntiAliasing/rules.txt b/src/XenobladeChroniclesX/Enhancements/AntiAliasing/rules.txt index a60b00cfc..7ca986cc2 100644 --- a/src/XenobladeChroniclesX/Enhancements/AntiAliasing/rules.txt +++ b/src/XenobladeChroniclesX/Enhancements/AntiAliasing/rules.txt @@ -9,9 +9,9 @@ version = 6 [Default] $Preset:int = 0 -$subPix:float = 0.75 -$edgeThreshold:float = 0.166 -$edgeThresholdMin:float = 0.0833 +$subPix:double = 0.75 +$edgeThreshold:double = 0.166 +$edgeThresholdMin:double = 0.0833 $FXAAQUALITYPRESET:int = 12 $FXAAGREENASLUMA:int = 0 $FXAADISCARD:int = 0 @@ -28,197 +28,197 @@ $Preset:int = 0 [Preset] -category = "FXAA sub-pixel aliasing removal:" +category = "FXAA sub-pixel aliasing removal" condition = $Preset == 2 name = "1.00 (upper limit, softer) (recommended)" default = 1 -$subPix:float = 1.00 +$subPix:double = 1.00 [Preset] -category = "FXAA sub-pixel aliasing removal:" +category = "FXAA sub-pixel aliasing removal" condition = $Preset == 2 name = "0.75 (default)" -$subPix:float = 0.75 +$subPix:double = 0.75 [Preset] -category = "FXAA sub-pixel aliasing removal:" +category = "FXAA sub-pixel aliasing removal" condition = $Preset == 2 name = "0.50 (lower limit, sharper, less sub-pixel aliasing removal)" -$subPix:float = 0.50 +$subPix:double = 0.50 [Preset] -category = "FXAA sub-pixel aliasing removal:" +category = "FXAA sub-pixel aliasing removal" condition = $Preset == 2 name = "0.25 (almost off)" -$subPix:float = 0.25 +$subPix:double = 0.25 [Preset] -category = "FXAA sub-pixel aliasing removal:" +category = "FXAA sub-pixel aliasing removal" condition = $Preset == 2 name = "0.00 (completely off)" -$subPix:float = 0.00 +$subPix:double = 0.00 [Preset] -category = "FXAA Edge detection threshold:" +category = "FXAA Edge detection threshold" condition = $Preset == 2 name = "0.333 (too little, faster)" -$edgeThreshold:float = 0.333 +$edgeThreshold:double = 0.333 [Preset] -category = "FXAA Edge detection threshold:" +category = "FXAA Edge detection threshold" condition = $Preset == 2 name = "0.250 (low quality)" -$edgeThreshold:float = 0.250 +$edgeThreshold:double = 0.250 [Preset] -category = "FXAA Edge detection threshold:" +category = "FXAA Edge detection threshold" condition = $Preset == 2 name = "0.166 (default)" -$edgeThreshold:float = 0.166 +$edgeThreshold:double = 0.166 [Preset] -category = "FXAA Edge detection threshold:" +category = "FXAA Edge detection threshold" condition = $Preset == 2 name = "0.125 (high quality) (recommended)" default = 1 -$edgeThreshold:float = 0.125 +$edgeThreshold:double = 0.125 [Preset] -category = "FXAA Edge detection threshold:" +category = "FXAA Edge detection threshold" condition = $Preset == 2 name = "0.063 (overkill, slower)" -$edgeThreshold:float = 0.063 +$edgeThreshold:double = 0.063 [Preset] -category = "FXAA Darkness threshold:" +category = "FXAA Darkness threshold" condition = $Preset == 2 name = "0.0833 (upper limit, the start of visible unfiltered edges) (default)" -$edgeThresholdMin:float = 0.0833 +$edgeThresholdMin:double = 0.0833 [Preset] -category = "FXAA Darkness threshold:" +category = "FXAA Darkness threshold" condition = $Preset == 2 name = "0.0625 (high quality, faster)" -$edgeThresholdMin:float = 0.0625 +$edgeThresholdMin:double = 0.0625 [Preset] -category = "FXAA Darkness threshold:" +category = "FXAA Darkness threshold" condition = $Preset == 2 name = "0.0312 (visible limit, slower)" -$edgeThresholdMin:float = 0.0312 +$edgeThresholdMin:double = 0.0312 [Preset] -category = "FXAA Darkness threshold:" +category = "FXAA Darkness threshold" condition = $Preset == 2 name = "0.0156 (overkill) (recommended)" default = 1 -$edgeThresholdMin:float = 0.0156 +$edgeThresholdMin:double = 0.0156 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "10 (default medium dither) (10=fastest)" $FXAAQUALITYPRESET:int = 10 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "11 (default medium dither)" $FXAAQUALITYPRESET:int = 11 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "12 (default medium dither) (default)" $FXAAQUALITYPRESET:int = 12 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "13 (default medium dither)" $FXAAQUALITYPRESET:int = 13 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "14 (default medium dither) (recommended)" default = 1 $FXAAQUALITYPRESET:int = 14 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "15 (default medium dither) (15=highest quality)" $FXAAQUALITYPRESET:int = 15 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "20 (less dither, more expensive) (20=fastest)" $FXAAQUALITYPRESET:int = 20 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "21 (less dither, more expensive)" $FXAAQUALITYPRESET:int = 21 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "22 (less dither, more expensive)" $FXAAQUALITYPRESET:int = 22 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "23 (less dither, more expensive)" $FXAAQUALITYPRESET:int = 23 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "24 (less dither, more expensive)" $FXAAQUALITYPRESET:int = 24 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "25 (less dither, more expensive)" $FXAAQUALITYPRESET:int = 25 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "26 (less dither, more expensive)" $FXAAQUALITYPRESET:int = 26 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "27 (less dither, more expensive)" $FXAAQUALITYPRESET:int = 27 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "28 (less dither, more expensive)" $FXAAQUALITYPRESET:int = 28 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "29 (less dither, more expensive) (29=highest quality)" $FXAAQUALITYPRESET:int = 29 [Preset] -category = "FXAA Quality Preset:" +category = "FXAA Quality Preset" condition = $Preset == 2 name = "39 (no dither, very expensive)" $FXAAQUALITYPRESET:int = 39 [Preset] -category = "FXAA Green As Luma:" +category = "FXAA Green As Luma" condition = $Preset == 2 name = "On (will turn off AA on anything which lacks some amount of green)" default = 1 @@ -226,19 +226,19 @@ $FXAAGREENASLUMA:int = 1 $FXAADISCARD:int = 0 [Preset] -category = "FXAA Green As Luma:" +category = "FXAA Green As Luma" condition = $Preset == 2 name = "Off" $FXAAGREENASLUMA:int = 0 [Preset] -category = "FXAA discard on pixels which don't need AA:" +category = "FXAA discard on pixels which don't need AA" condition = ($Preset == 2)*($FXAAGREENASLUMA == 0) == 1 -name = "On (not compatable with Green As Luma)" +name = "On (not compatible with Green As Luma)" $FXAADISCARD:int = 1 [Preset] -category = "FXAA discard on pixels which don't need AA:" +category = "FXAA discard on pixels which don't need AA" condition = ($Preset == 2)*($FXAAGREENASLUMA == 0) == 1 name = "Off" default = 1 diff --git a/src/XenobladeChroniclesX/Enhancements/FancyFX/rules.txt b/src/XenobladeChroniclesX/Enhancements/FancyFX/rules.txt index 0168b4f1c..69ca702fc 100644 --- a/src/XenobladeChroniclesX/Enhancements/FancyFX/rules.txt +++ b/src/XenobladeChroniclesX/Enhancements/FancyFX/rules.txt @@ -2,10 +2,43 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = Fancy GFX path = "Xenoblade Chronicles X/Enhancements/Fancy FX" -description = Pretty blur, de-band sky, re-align cinematic etc, maintained on Nvidia. Made by getdls. +description = Pretty blur, de-band sky, re-align cinematic etc.|Made by getdls. #Credits: getdls version = 4 +[Preset] +name = 1080 -> 1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 +$internalRes = 0.75 +$dither = 0.15 +$scaleShader = (1440.0/1080.0) +$scaleBlur = 0.5 + +[Preset] +name = 1440 -> 2880 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 +$internalRes = (1440.0/2160.0) +$dither = 0.25 +$scaleShader = 1.0 #round 1.5 shadow to 2.0 +$scaleBlur = 0.75 + +[Preset] +name = 2880+ (probably won't look good) +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 +$internalRes = 0.5 +$dither = 0.25 +$scaleShader = 1.0 +$scaleBlur = 1.0 + #Disabled, causes gfx errors on 1.15.x Enable if fixed. #[TextureRedefine] #width = 1280 @@ -144,36 +177,3 @@ width = 80 height = 46 formats = 0x816 overwriteFormat = 0x820 - -[Preset] -name = 1080 -> 1440 -$width = 2560 -$height = 1440 -$gameWidth = 1280 -$gameHeight = 720 -$internalRes = 0.75 -$dither = 0.15 -$scaleShader = (1440.0/1080.0) -$scaleBlur = 0.5 - -[Preset] -name = 1440 -> 2880 -$width = 3840 -$height = 2160 -$gameWidth = 1280 -$gameHeight = 720 -$internalRes = (1440.0/2160.0) -$dither = 0.25 -$scaleShader = 1.0 #round 1.5 shadow to 2.0 -$scaleBlur = 0.75 - -[Preset] -name = 2880+ (probably won't look good) -$width = 7680 -$height = 4320 -$gameWidth = 1280 -$gameHeight = 720 -$internalRes = 0.5 -$dither = 0.25 -$scaleShader = 1.0 -$scaleBlur = 1.0 diff --git a/src/XenobladeChroniclesX/Enhancements/NegativeLOD/rules.txt b/src/XenobladeChroniclesX/Enhancements/NegativeLOD/rules.txt index ef994abbd..c1684a9b1 100644 --- a/src/XenobladeChroniclesX/Enhancements/NegativeLOD/rules.txt +++ b/src/XenobladeChroniclesX/Enhancements/NegativeLOD/rules.txt @@ -4,15 +4,25 @@ name = Negative texture LOD bias path = "Xenoblade Chronicles X/Enhancements/Negative Texture LOD" description = Texture LOD override, possible shimmer but sharper textures. #Credits: Crementif -version = 4 +version = 6 -[Preset] -name = LOD Default +[Default] $0x031 = 0 $0x033 = 0 $0x034 = 0 $0x035 = 0 +[Preset] +name = LOD +4 (Funny - Makes the game low poly) +$0x031 = 16 +$0x033 = 16 +$0x034 = 16 +$0x035 = 16 + +[Preset] +name = LOD Default +default = 1 + [Preset] name = LOD -0.5 (Sharper) $0x031 = -.5 diff --git a/src/XenobladeChroniclesX/Enhancements/ansio/rules.txt b/src/XenobladeChroniclesX/Enhancements/ansio/rules.txt index c56c6904e..dd1f70124 100644 --- a/src/XenobladeChroniclesX/Enhancements/ansio/rules.txt +++ b/src/XenobladeChroniclesX/Enhancements/ansio/rules.txt @@ -4,10 +4,10 @@ name = Anisotropic Filtering path = "Xenoblade Chronicles X/Enhancements/Anisotropic Filtering" description = Enables anisotropic filtering for ground, wall and vegetation textures to make them appear clearer when viewed from an angle.|Has a minimal performance impact. #Credits: Crementif -version = 7 +version = 6 [Default] -#Defined seprately so that they can be change individually if desired +#Defined seprately so that they can be changed individually if desired $anisomount = 1 $anisorock = 1 $anisosand = 1 diff --git a/src/XenobladeChroniclesX/Mods/BattleEnemyStats/patch_stats.asm b/src/XenobladeChroniclesX/Mods/BattleEnemyStats/patch_stats.asm index 837808e1d..fb4cdaac2 100644 --- a/src/XenobladeChroniclesX/Mods/BattleEnemyStats/patch_stats.asm +++ b/src/XenobladeChroniclesX/Mods/BattleEnemyStats/patch_stats.asm @@ -1,20 +1,117 @@ -; ------------------------------------------------------------------------ -; WHO : calcEnParam__3cfsFPQ2_3cfs7SChrPrmUiT2 -; WHAT : Apply modificator on enemies stats (HP, Melee Attack, Melee Accuracy, Ranged Attack, Ranged Accuracy, Potential and Evasion) +[XCX_EnemyStats] +moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J +.origin = codecave -; 100% = 0.001 - default value -; 70% = 0.0007 -; 50% = 0.0005 -; 1% = 0.00001 ; GAME CRASH (enemis are too weak) +float_EnemyMeleeAttackMult: +.float $meleeatk +float_EnemyRangedAttackMult: +.float $rangedatk +float_EnemyPotentialMult: +.float $potential +float_EnemyEvasionMult: +.float $evasion +float_EnemyMeleeAccuracyMult: +.float $meleeacc +float_EnemyRangedAccuracyMult: +.float $rangedacc +float_EnemyHPMult: +.float $hp +float_EnemyOtherMult: +.float $other -[XCX_ENEMIESTATS_V101E_V102U_V100U] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07, 0xAB97DE6B, 0x676EB33E ; 1.0.1E, 1.0.2U, 1.0.0E, 1.0.1U, 1.0.0U -0x1003206C = .float $mod +EnemyStatsMultMeleeAttack: +lis r3, float_EnemyMeleeAttackMult@ha +lfs f31, float_EnemyMeleeAttackMult@l(r3) +or r3, r24, r24 +blr -[XCX_ENEMIESTATS_V102J] +EnemyStatsMultRangedAttack: +lis r3, float_EnemyRangedAttackMult@ha +lfs f31, float_EnemyRangedAttackMult@l(r3) +or r3, r24, r24 +blr + +EnemyStatsMultPotential: +lis r3, float_EnemyPotentialMult@ha +lfs f31, float_EnemyPotentialMult@l(r3) +or r3, r24, r24 +blr + +EnemyStatsMultEvasion: +lis r3, float_EnemyEvasionMult@ha +lfs f31, float_EnemyEvasionMult@l(r3) +or r3, r24, r24 +blr + +EnemyStatsMultMeleeAccuracy: +lis r3, float_EnemyMeleeAccuracyMult@ha +lfs f31, float_EnemyMeleeAccuracyMult@l(r3) +or r3, r24, r24 +blr + +EnemyStatsMultRangedAccuracy: +lis r3, float_EnemyRangedAccuracyMult@ha +lfs f31, float_EnemyRangedAccuracyMult@l(r3) +or r3, r23, r23 +blr + +EnemyStatsMultHP: +lis r3, float_EnemyHPMult@ha +lfs f31, float_EnemyHPMult@l(r3) +or r3, r24, r24 +blr + +EnemyStatsMultOther: +lis r9, float_EnemyOtherMult@ha +lfs f31, float_EnemyOtherMult@l(r9) +lis r9, 0x1003 +blr + +[XCX_EnemyStats_v101E_v102U] +moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E +;calcEnParam__3cfsFPQ2_3cfs7SChrPrmUiT2 +0x1003206C = .float $other +0x025D7280 = bla EnemyStatsMultHP +0x025D72C4 = bla EnemyStatsMultMeleeAttack +0x025D7300 = bla EnemyStatsMultRangedAttack +0x025D7344 = bla EnemyStatsMultPotential +0x025D7384 = bla EnemyStatsMultEvasion +0x025D73C0 = bla EnemyStatsMultMeleeAccuracy +0x025D73FC = bla EnemyStatsMultRangedAccuracy +0x025D7414 = bla EnemyStatsMultOther + +[XCX_EnemyStats_v102J] moduleMatches = 0x7672271D ; 1.0.2J -0x1003202C = .float $mod +0x1003202C = .float $other +0x025D685C = bla EnemyStatsMultHP +0x025D68A0 = bla EnemyStatsMultMeleeAttack +0x025D68DC = bla EnemyStatsMultRangedAttack +0x025D6920 = bla EnemyStatsMultPotential +0x025D6960 = bla EnemyStatsMultEvasion +0x025D699C = bla EnemyStatsMultMeleeAccuracy +0x025D69D8 = bla EnemyStatsMultRangedAccuracy +0x025D69F0 = bla EnemyStatsMultOther + +[XCX_EnemyStats_v100U] +moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U +0x1003206C = .float $other +0x025D7210 = bla EnemyStatsMultHP +0x025D7254 = bla EnemyStatsMultMeleeAttack +0x025D7290 = bla EnemyStatsMultRangedAttack +0x025D72D4 = bla EnemyStatsMultPotential +0x025D7314 = bla EnemyStatsMultEvasion +0x025D7350 = bla EnemyStatsMultMeleeAccuracy +0x025D738C = bla EnemyStatsMultRangedAccuracy +0x025D73A4 = bla EnemyStatsMultOther -[XCX_ENEMIESTATS_V100J] +[XCX_EnemyStats_v100J] moduleMatches = 0x785CA8A9 ; 1.0.0J -0x10031FDC = .float $mod +0x10031FDC = .float $other +0x025D5D80 = bla EnemyStatsMultHP +0x025D5DC4 = bla EnemyStatsMultMeleeAttack +0x025D5E00 = bla EnemyStatsMultRangedAttack +0x025D5E44 = bla EnemyStatsMultPotential +0x025D5E84 = bla EnemyStatsMultEvasion +0x025D5EC0 = bla EnemyStatsMultMeleeAccuracy +0x025D5EFC = bla EnemyStatsMultRangedAccuracy +0x025D5F14 = bla EnemyStatsMultOther diff --git a/src/XenobladeChroniclesX/Mods/BattleEnemyStats/rules.txt b/src/XenobladeChroniclesX/Mods/BattleEnemyStats/rules.txt index ff9c033df..782544344 100644 --- a/src/XenobladeChroniclesX/Mods/BattleEnemyStats/rules.txt +++ b/src/XenobladeChroniclesX/Mods/BattleEnemyStats/rules.txt @@ -2,45 +2,563 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = "Enemy Statistics modificator" path = "Xenoblade Chronicles X/Mods/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. -#Credits: lasyan3 +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. +#Credits: lanyas3, Intra version = 6 [Default] -$mod = 0.001 +$meleeatk = 0.001 +$rangedatk = 0.001 +$potential = 0.001 +$evasion = 0.001 +$meleeacc = 0.001 +$rangedacc = 0.001 +$hp = 0.001 +$other = 0.001 +$custom = 0 + +# 100% = 0.001 - default value +# 70% = 0.0007 +# 50% = 0.0005 +# 1% = 0.00001 ; GAME CRASH (enemies are too weak) [Preset] +category = All Enemy Stats name = "Set at 25%" -$mod = 0.00025 +$meleeatk = 0.00025 +$rangedatk = 0.00025 +$potential = 0.00025 +$evasion = 0.00025 +$meleeacc = 0.00025 +$rangedacc = 0.00025 +$hp = 0.00025 +$other = 0.00025 [Preset] +category = All Enemy Stats name = "Set at 50%" -$mod = 0.0005 +$meleeatk = 0.0005 +$rangedatk = 0.0005 +$potential = 0.0005 +$evasion = 0.0005 +$meleeacc = 0.0005 +$rangedacc = 0.0005 +$hp = 0.0005 +$other = 0.0005 [Preset] +category = All Enemy Stats name = "Set at 75%" -$mod = 0.00075 +$meleeatk = 0.00075 +$rangedatk = 0.00075 +$potential = 0.00075 +$evasion = 0.00075 +$meleeacc = 0.00075 +$rangedacc = 0.00075 +$hp = 0.00075 +$other = 0.00075 [Preset] +category = All Enemy Stats name = "Set at 100% (default)" default = 1 [Preset] +category = All Enemy Stats name = "Set at 125%" -$mod = 0.00125 +$meleeatk = 0.00125 +$rangedatk = 0.00125 +$potential = 0.00125 +$evasion = 0.00125 +$meleeacc = 0.00125 +$rangedacc = 0.00125 +$hp = 0.00125 +$other = 0.00125 [Preset] +category = All Enemy Stats name = "Set at 150%" -$mod = 0.0015 +$meleeatk = 0.0015 +$rangedatk = 0.0015 +$potential = 0.0015 +$evasion = 0.0015 +$meleeacc = 0.0015 +$rangedacc = 0.0015 +$hp = 0.0015 +$other = 0.0015 [Preset] +category = All Enemy Stats name = "Set at 200%" -$mod = 0.002 +$meleeatk = 0.002 +$rangedatk = 0.002 +$potential = 0.002 +$evasion = 0.002 +$meleeacc = 0.002 +$rangedacc = 0.002 +$hp = 0.002 +$other = 0.002 [Preset] +category = All Enemy Stats name = "Hell: Set at 300%" -$mod = 0.003 +$meleeatk = 0.003 +$rangedatk = 0.003 +$potential = 0.003 +$evasion = 0.003 +$meleeacc = 0.003 +$rangedacc = 0.003 +$hp = 0.003 +$other = 0.003 [Preset] +category = All Enemy Stats name = "Impossible: Set at 1000%" -$mod = 0.01 +$meleeatk = 0.01 +$rangedatk = 0.01 +$potential = 0.01 +$evasion = 0.003 #setting the evasion too high would actually make it impossible +$meleeacc = 0.01 +$rangedacc = 0.01 +$hp = 0.01 +$other = 0.01 + +[Preset] +category = All Enemy Stats +name = "Custom" +$custom = 1 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Set at 25% " +$hp = 0.00025 +$other = 0.00025 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Set at 50% " +$hp = 0.0005 +$other = 0.0005 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Set at 75% " +$hp = 0.00075 +$other = 0.00075 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Set at 100% (default) " +default = 1 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Set at 125% " +$hp = 0.00125 +$other = 0.00125 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Set at 150% " +$hp = 0.0015 +$other = 0.0015 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Set at 200% " +$hp = 0.002 +$other = 0.002 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Hell: Set at 300% " +$hp = 0.003 +$other = 0.003 + +[Preset] +category = Enemy HP Stat +condition = $custom == 1 +name = "Impossible: Set at 1000% " +$hp = 0.01 +$other = 0.01 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Set at 25% " +$meleeatk = 0.00025 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Set at 50% " +$meleeatk = 0.0005 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Set at 75% " +$meleeatk = 0.00075 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Set at 100% (default) " +default = 1 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Set at 125% " +$meleeatk = 0.00125 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Set at 150% " +$meleeatk = 0.0015 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Set at 200% " +$meleeatk = 0.002 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Hell: Set at 300% " +$meleeatk = 0.003 + +[Preset] +category = Enemy Melee Attack Stat +condition = $custom == 1 +name = "Impossible: Set at 1000% " +$meleeatk = 0.01 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Set at 25% " +$meleeacc = 0.00025 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Set at 50% " +$meleeacc = 0.0005 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Set at 75% " +$meleeacc = 0.00075 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Set at 100% (default) " +default = 1 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Set at 125% " +$meleeacc = 0.00125 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Set at 150% " +$meleeacc = 0.0015 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Set at 200% " +$meleeacc = 0.002 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Hell: Set at 300% " +$meleeacc = 0.003 + +[Preset] +category = Enemy Melee Accuracy Stat +condition = $custom == 1 +name = "Impossible: Set at 1000% " +$meleeacc = 0.01 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Set at 25% " +$rangedatk = 0.00025 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Set at 50% " +$rangedatk = 0.0005 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Set at 75% " +$rangedatk = 0.00075 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Set at 100% (default) " +default = 1 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Set at 125% " +$rangedatk = 0.00125 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Set at 150% " +$rangedatk = 0.0015 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Set at 200% " +$rangedatk = 0.002 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Hell: Set at 300% " +$rangedatk = 0.003 + +[Preset] +category = Enemy Ranged Attack Stat +condition = $custom == 1 +name = "Impossible: Set at 1000% " +$rangedatk = 0.01 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Set at 25% " +$rangedacc = 0.00025 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Set at 50% " +$rangedacc = 0.0005 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Set at 75% " +$rangedacc = 0.00075 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Set at 100% (default) " +default = 1 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Set at 125% " +$rangedacc = 0.00125 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Set at 150% " +$rangedacc = 0.0015 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Set at 200% " +$rangedacc = 0.002 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Hell: Set at 300% " +$rangedacc = 0.003 + +[Preset] +category = Enemy Ranged Accuracy Stat +condition = $custom == 1 +name = "Impossible: Set at 1000% " +$rangedacc = 0.01 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Set at 25% " +$potential = 0.00025 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Set at 50% " +$potential = 0.0005 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Set at 75% " +$potential = 0.00075 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Set at 100% (default) " +default = 1 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Set at 125% " +$potential = 0.00125 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Set at 150% " +$potential = 0.0015 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Set at 200% " +$potential = 0.002 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Hell: Set at 300% " +$potential = 0.003 + +[Preset] +category = Enemy Potential Stat +condition = $custom == 1 +name = "Impossible: Set at 1000% " +$potential = 0.01 + +[Preset] +category = Enemy Evasion Stat +condition = $custom == 1 +name = "Set at 25% " +$evasion = 0.00025 + +[Preset] +category = Enemy Evasion Stat +condition = $custom == 1 +name = "Set at 50% " +$evasion = 0.0005 + +[Preset] +category = Enemy Evasion Stat +condition = $custom == 1 +name = "Set at 75% " +$evasion = 0.00075 + +[Preset] +category = Enemy Evasion Stat +condition = $custom == 1 +name = "Set at 100% (default) " +default = 1 + +[Preset] +category = Enemy Evasion Stat +condition = $custom == 1 +name = "Set at 125% " +$evasion = 0.00125 + +[Preset] +category = Enemy Evasion Stat +condition = $custom == 1 +name = "Set at 150% " +$evasion = 0.0015 + +[Preset] +category = Enemy Evasion Stat +condition = $custom == 1 +name = "Set at 200% " +$evasion = 0.002 + +[Preset] +category = Enemy Evasion Stat +condition = $custom == 1 +name = "Hell: Set at 300% " +$evasion = 0.003 + +#remember to remove the $other from Enemy HP Stats when uncommenting +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Set at 25% " +#$other = 0.00025 +# +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Set at 50% " +#$other = 0.0005 +# +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Set at 75% " +#$other = 0.00075 +# +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Set at 100% (default) " +#default = 1 +# +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Set at 125% " +#$other = 0.00125 +# +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Set at 150% " +#$other = 0.0015 +# +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Set at 200% " +#$other = 0.002 +# +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Hell: Set at 300% " +#$other = 0.003 +# +#[Preset] +#category = Enemy Other Stats +#condition = $custom == 1 +#name = "Impossible: Set at 1000% " +#$other = 0.01 diff --git a/src/XenobladeChroniclesX/Mods/BladeFieldSkill/rules.txt b/src/XenobladeChroniclesX/Mods/BladeFieldSkill/rules.txt index da982db42..1e379f275 100644 --- a/src/XenobladeChroniclesX/Mods/BladeFieldSkill/rules.txt +++ b/src/XenobladeChroniclesX/Mods/BladeFieldSkill/rules.txt @@ -4,7 +4,7 @@ name = Field Skill Level path = "Xenoblade Chronicles X/Mods/BLADE/Field Skill Level" description = "You can change your Mechanical, Archaeological and Biological field skill level." #Credits: Intra -version = 7 +version = 6 [Default] $meclevel = 5 diff --git a/src/XenobladeChroniclesX/Mods/BladeGainTicketsFromMissions/patch_gainticketsmissions.asm b/src/XenobladeChroniclesX/Mods/BladeGainTicketsFromMissions/patch_gainticketsmissions.asm index 294d7f4cc..ba8b079cc 100644 --- a/src/XenobladeChroniclesX/Mods/BladeGainTicketsFromMissions/patch_gainticketsmissions.asm +++ b/src/XenobladeChroniclesX/Mods/BladeGainTicketsFromMissions/patch_gainticketsmissions.asm @@ -1,7 +1,6 @@ [XCX_TICKETS_DLC] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mission VarTicketsAmount: .int 0 diff --git a/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/patch_offline_nemesis.asm b/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/patch_offline_nemesis.asm index 2ad2aa2f8..69580bfa3 100644 --- a/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/patch_offline_nemesis.asm +++ b/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/patch_offline_nemesis.asm @@ -1,10 +1,8 @@ -[XCX_OFFLINEWE] +[XCX_OfflineWorldEnemy] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $ygg ;0x400D | mission ID for ygg -.int $teli ;0x4008 or 0x4009 | mission ID's for teli -.int $nemesiscost ;sets blade medals cost of nemesis mission -.int $minmedals ;sets minimum blade medal count +;0x400D | mission ID for ygg +;0x4008 or 0x4009 | mission ID's for teli ; Manage RPs & Appraisal VarShareRP: @@ -14,8 +12,9 @@ VarShareAP: .int 0 _loadRP: -lis r12, 0x0022 -ori r12, r12, 0x5510 +RPAmmount = $RPAmmount +lis r12, RPAmmount@hi +ori r12, r12, RPAmmount@l blr ; menu::CTerminalMenu_PieceExchange::offline((void)) @@ -24,7 +23,7 @@ _single: li r3, 0 blr -[XCX_OFFLINEWE_V101E_V102U] ; ###################################################################################### +[XCX_OfflineWorldEnemy_v101E_v102U] ; ###################################################################################### moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E ; cfs::CfSocialManager::update((float)) 0x022879D0 = nop ; (network test?) allow call to cfs::CfSocialQuestManager::update((void)) @@ -72,7 +71,7 @@ moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E 0x02888E00 = bge 0x02888E08 ;LAB_02888e08 0x02888E04 = li r3, $minmedals -[XCX_OFFLINEWE_V101E] ; ############################################################################################ +[XCX_OfflineWorldEnemy_v101E] ; ############################################################################################ moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E 0x02AC5C10 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline ; menu::MenuMultiQuestOrder::move((void)) @@ -85,7 +84,7 @@ moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E ; __CPR129__getMultiQuestReward__Q2_3cfs15CfSocialManagerCFUiRQ2_3mtl68fixed_vector__tm__48_Q3_3cfsJ28J11QuestRewardXCUiL_2_46T1 --> OK 0x022CA324 = nop ; always all items? -[XCX_OFFLINEWE_V102U] ; ############################################################################################ +[XCX_OfflineWorldEnemy_v102U] ; ############################################################################################ moduleMatches = 0x30B6E091 ; 1.0.2U 0x02AC5C00 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline 0x02B9B0A0 = li r3, 1 ; Disable call to menu::MenuMultiQuestOrder::canOrderWorldEnemy @@ -93,7 +92,7 @@ moduleMatches = 0x30B6E091 ; 1.0.2U 0x02AC612C = ba _single ; menu::CBladeHomuMenu::single((void)) 0x022CA324 = nop ; always all items? ;; -[XCX_OFFLINEWE_V102J] ; ############################################################################################ +[XCX_OfflineWorldEnemy_v102J] ; ############################################################################################ moduleMatches = 0x7672271D ; 1.0.2J 0x022873E8 = nop ; (network test?) allow call to cfs::CfSocialQuestManager::update((void)) 0x022C7A6C = nop ; network test : lwz r10, 0x1B0(r30) --> rlwinm. r9, r10, 0,30,30 @@ -136,7 +135,7 @@ moduleMatches = 0x7672271D ; 1.0.2J 0x02AC27FC = ba _single ; menu::CBladeHomuMenu::single((void)) 0x022C9D34 = nop ; always all items? -[XCX_OFFLINEWE_V100U] ; ############################################################################################ +[XCX_OfflineWorldEnemy_v100U] ; ############################################################################################ moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x02287960 = nop ; (network test?) allow call to cfs::CfSocialQuestManager::update((void)) 0x022C7FEC = nop ; network test : lwz r10, 0x1B0(r30) --> rlwinm. r9, r10, 0,30,30 @@ -179,7 +178,7 @@ moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x02AC60B0 = ba _single ; menu::CBladeHomuMenu::single((void)) 0x022CA2B4 = nop ; always all items? -[XCX_OFFLINEWE_V100J] ; ############################################################################################ +[XCX_OfflineWorldEnemy_v100J] ; ############################################################################################ moduleMatches = 0x785CA8A9 ; 1.0.0J 0x0228713C = nop ; (network test?) allow call to cfs::CfSocialQuestManager::update((void)) 0x022C78F8 = nop ; network test : lwz r10, 0x1B0(r30) --> rlwinm. r9, r10, 0,30,30 diff --git a/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/patch_offline_nemesis.asm.bak b/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/patch_offline_nemesis.asm.bak index 7e8523ad7..798d90338 100644 --- a/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/patch_offline_nemesis.asm.bak +++ b/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/patch_offline_nemesis.asm.bak @@ -1,4 +1,3 @@ -; not porting this backup file to JP [XCX_OFFLINEWE_V101E_V102U] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E .origin = codecave diff --git a/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/rules.txt b/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/rules.txt index 21e601eba..87b30218b 100644 --- a/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/rules.txt +++ b/src/XenobladeChroniclesX/Mods/BladeGlobalNemesisMissionsOffline/rules.txt @@ -9,6 +9,7 @@ version = 6 [Default] $ygg = 0x4EED $teli = 0x4EE9 +$RPAmmount = 2250000 $nemesiscost = 1 $minmedals = 0 @@ -21,6 +22,15 @@ category = "Telethia Bossfight Version" name = "Friday Telethia (thunderstorms - 15:00)" $teli = 0x4EE8 +[Preset] +category = "RP Ammount" +name = 2250000 (default) + +[Preset] +category = "RP Ammount" +name = 1 +$RPAmmount = 1 + [Preset] category = "CHEAT - BLADE Medals not needed" name = "Cheat not enabled" diff --git a/src/XenobladeChroniclesX/Mods/BladeLv60SkellsUnlocked/patch_lv60skells.asm b/src/XenobladeChroniclesX/Mods/BladeLv60SkellsUnlocked/patch_lv60skells.asm index 1dfa0f36b..6f21f0c7d 100644 --- a/src/XenobladeChroniclesX/Mods/BladeLv60SkellsUnlocked/patch_lv60skells.asm +++ b/src/XenobladeChroniclesX/Mods/BladeLv60SkellsUnlocked/patch_lv60skells.asm @@ -1,9 +1,6 @@ [XCX_UNLOCKPOSTSKELLS] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $miranium -.int $resource -.int $ignoreLevel LbIgnoreLevel: cmpwi r3, $ignoreLevel diff --git a/src/XenobladeChroniclesX/Mods/BladeMoreTickets/patch_moretickets.asm b/src/XenobladeChroniclesX/Mods/BladeMoreTickets/patch_moretickets.asm index 67c6e4483..2a60dcf29 100644 --- a/src/XenobladeChroniclesX/Mods/BladeMoreTickets/patch_moretickets.asm +++ b/src/XenobladeChroniclesX/Mods/BladeMoreTickets/patch_moretickets.asm @@ -1,8 +1,6 @@ [XCX_BLADE_MORETICKETS] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mult -.int $uncap ; ---------------------------------------------------------------------------- ; WHO : cfs::CfSocialManager::addTradeTicket((int, unsigned int)) ; WHAT : Multiply the reward tickets given in many occasions diff --git a/src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt b/src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt index eafae8333..34e4fa286 100644 --- a/src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt +++ b/src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt @@ -3,15 +3,19 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = "More Reward Tickets" path = "Xenoblade Chronicles X/Mods/BLADE/More Reward Tickets" description = Increase the Tickets gained with Squad tasks and missions.|Uncapped presets ignore max tickets. -#Credits: lasyan3, Crementif +#Credits: lasyan3 version = 6 [Default] -$mult = 2 +$mult = 1 $uncap = 0 +[Preset] +name = "Gain more Tickets (x1)" + [Preset] name = "Gain more Tickets (x2)" +$mult = 2 [Preset] name = "Gain more Tickets (x3)" @@ -38,8 +42,8 @@ name = "Gain more Tickets (x1000)" $mult = 1000 [Preset] -name = "Respawn Global Nemesis Yggralith Zero (x500000)" -$mult = 500000 +name = "Respawn Global Nemesis Yggralith Zero (x-1)" +$mult = -1 [Preset] name = Yes diff --git a/src/XenobladeChroniclesX/Mods/CharacterLevel/patch_level.asm b/src/XenobladeChroniclesX/Mods/CharacterLevel/patch_level.asm index 91018369e..a1bac3989 100644 --- a/src/XenobladeChroniclesX/Mods/CharacterLevel/patch_level.asm +++ b/src/XenobladeChroniclesX/Mods/CharacterLevel/patch_level.asm @@ -3,6 +3,7 @@ moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x67 .origin = codecave ; get lv 027e14f ; get exp 027e1504 ; set lv 027e1510 ; set exp 027e151c +; 1b77a520 _levelMemorJP100: ;reads from the static address that stores the address for the start of character info memory section @@ -31,24 +32,29 @@ _charLevelCheat: ; Character Level li r4, $level stb r4, $memoffset (r3) +; Character exp +exp = $exp +lis r4, exp@ha +addi r4, r4, exp@l +stw r4, $memoffset+2 (r3) ;fixes the line we over wrote addi r3,r1,0x8 blr -[XCX_Level_V101E_V102U] +[XCX_Level_v101E_v102U] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E ; Our code applies when the reqMenuCreateParty function is used 0x023429F0 = bla _levelMemorEU101US102 -[XCX_Level_V102J] +[XCX_Level_v102J] moduleMatches = 0x7672271D ; 1.0.2J 0x02342224 = bla _levelMemorJP102 -[XCX_Level_V100U] +[XCX_Level_v100U] moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x02342980 = bla _levelMemorUS100 -[XCX_Level_V100J] +[XCX_Level_v100J] moduleMatches = 0x785CA8A9 ; 1.0.0J 0x023420B0 = bla _levelMemorJP100 diff --git a/src/XenobladeChroniclesX/Mods/CharacterLevel/readme.txt b/src/XenobladeChroniclesX/Mods/CharacterLevel/readme.txt new file mode 100644 index 000000000..438b4b07c --- /dev/null +++ b/src/XenobladeChroniclesX/Mods/CharacterLevel/readme.txt @@ -0,0 +1,247 @@ +this file is documenting all the data about a character that can be changed. +fell free to use this document to help make your own character mods +document made by googlebonker + +The addresses listed are Wii U addresses. +The exact address in cemu changes from update to update +but in 2.4 is 1B77A5C8 and in other versions will be near that address + +1C38E5C8 AAAAAAAA AAAAAAAA +1C38E5D0 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA +1C38E5E0 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA +1C38E5F0 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA +1C38E600 AAAAAAAA AAAAAAAA AAAABBCC DDDDEEEE +1C38E610 FFFFGGHH IIJJKKKK LLLLMMMM NNNNOOOO +1C38E620 PPPPQQQQ RRRRSSSS TTTTUUUU VVVVWWWW +1C38E630 XXXXXXXX YYYYYYYY ZZZZZZZZ AAAAAAAA +1C38E640 BBCCDDEE FFFFFFFF GGGGHHHH IIIIJJJJ +1C38E650 KKKKLLLL MMMMNNNN OOOOPPPP QQQQRRRR +1C38E660 SSSSTTTT UUUUVVVV WWWWXXXX YYYYZZZZ +1C38E670 AAAABBBB CCCCDDDD EEEEFFFF GGGGHHHH +1C38E680 IIIIJJJJ KKKKLLLL MMMMNNNN OOOOPPPP +1C38E690 QQQQRRRR SSSSTTTT UUUUVVVV WWWWXXXX +1C38E6A0 YYYYZZZZ AAAABBBB CCCCDDDD EEEEFFFF +1C38E6B0 GGGGHHHH IIIIJJJJ KKKKLLLL MMMMNNNN +1C38E6C0 OOOOPPPP QQQQRRRR SSSSTTTT UUUUVVVV +1C38E6D0 WWWWXXXX YYYYZZZZ AAAABBBB CCCCDDDD +1C38E6E0 EEEEFFFF GGGGHHHH IIIIJJJJ KKKKLLLL +1C38E6F0 MMNNOOPP QQQQRRSS TTUUVVWW XXYYZZAA +1C38E700 BBCCDDEE FFGGHHII JJKKLLMM NNOOPPQQ +1C38E710 RRRRSSSS TTTTUUUU VVVVWWWW XXXXYYYY +1C38E720 ZZZZAAAA BBBBCCCC DDDDEEEE FFFFGGG +1C38E730 HHHHIIII JJJJKKKK LLLLLLLL + + +1C38E5C8 +A Avatar name +B A 67th unusable character slot. The game always puts "00" after your avatar's name, but the next slot (CC) that would be used for "00" is used to count the characters in your avatar's name. Anything besides "00" in this space will crash your game and cause it to reload. +C Avatar name character count. This automatically readjusts if you try to change it. +D Base Face +E Hair > Style +F Hair > Special (Hair > Specials only go with the corresponding Hair > Style. If you mismatch these, the game will crash and cause it to reload. 00 is always off.) +G Skin > Moles +H Skin > Freckles +I Skin > Cheeks +J Skin > Scars +K Make up > Face Paint +L Eyes > Pupils +M Body Gender (01 male, 02 female) +N ???? +O Voice +P Skin > Color +Q Makeup > Lips +R Makeup > Eye Shadow +S Eyes > Color 1 (iris) +T Eyes > Color 2 (pupil) +U Hair > Roots Color +V Hair > Tips Color +W ???? +X Height +Y Breast Depth (only works on female bodies) (maximum is 400000000. Setting this value to FF800001 or higher will cause your character's breasts to disappear) +Z Breast Height (only works on female bodies) (maximum is 400000000. Setting +this value to FF800001 or higher will cause your character's breasts to disappear) + +1C38E63C +A Breast Width (only works on female bodies) (maximum is 400000000. Setting this value to FF800001 or higher will cause your character's breasts to disappear) +B Protagonist presence (WARNING! Glitchy!) +C Something about a Skell? +D Character level +E ???? +F Character experience on the level +G Ranged Weapon +H Ranged Weapon Trait 1 +I Ranged Weapon Trait 2 +J Ranged Weapon Trait 3 +K Ranged Weapon Augment 1 +L Ranged Weapon Augment 2 +M Ranged Weapon Augment 3 +N Melee Weapon +O Melee Weapon Trait 1 +P Melee Weapon Trait 2 +Q Melee Weapon Trait 3 +R Melee Weapon Augment 1 +S Melee Weapon Augment 2 +T Melee Weapon Augment 3 +U Body Armor +V Body Armor Trait 1 +W Body Armor Trait 2 +X Body Armor Trait 3 +Y Body Armor Augment 1 +Z Body Armor Augment 2 + +1C38E670 +A Body Armor Augment 3 +B Head Armor +C Head Armor Trait 1 +D Head Armor Trait 2 +E Head Armor Trait 3 +F Head Armor Augment 1 +G Head Armor Augment 2 +H Head Armor Augment 3 +I Arm Armor R +J Arm Armor R Trait 1 +K Arm Armor R Trait 2 +L Arm Armor R Trait 3 +M Arm Armor R Augment 1 +N Arm Armor R Augment 2 +O Arm Armor R Augment 3 +P Arm Armor L +Q Arm Armor L Trait 1 +R Arm Armor L Trait 2 +S Arm Armor L Trait 3 +T Arm Armor L Augment 1 +U Arm Armor L Augment 2 +V Arm Armor L Augment 3 +W Leg Armor +X Leg Armor Trait 1 +Y Leg Armor Trait 2 +Z Leg Armor Trait 3 + +1C38E6A4 +A Leg Armor Augment 1 +B Leg Armor Augment 2 +C Leg Armor Augment 3 +D Body Fashion +E Body Fashion Trait 1 +F Body Fashion Trait 2 +G Body Fashion Trait 3 +H Body Fashion Augment 1 +I Body Fashion Augment 2 +J Body Fashion Augment 3 +K Head Fashion +L Head Fashion Trait 1 +M Head Fashion Trait 2 +N Head Fashion Trait 3 +O Head Fashion Augment 1 +P Head Fashion Augment 2 +Q Head Fashion Augment 3 +R Arm Fashion R +S Arm Fashion R Trait 1 +T Arm Fashion R Trait 2 +U Arm Fashion R Trait 3 +V Arm Fashion R Augment 1 +W Arm Fashion R Augment 2 +X Arm Fashion R Augment 3 +Y Arm Fashion L +Z Arm Fashion L Trait 1 + +1C38E6D8 +A Arm Fashion L Trait 2 +B Arm Fashion L Trait 3 +C Arm Fashion L Augment 1 +D Arm Fashion L Augment 2 +E Arm Fashion L Augment 3 +F Leg Fashion +G Leg Fashion Trait 1 +H Leg Fashion Trait 2 +I Leg Fashion Trait 3 +J Leg Fashion Augment 1 +K Leg Fashion Augment 2 +L Leg Fashion Augment 3 +M Class (invalid Classes will crash the game and cause it to reload) +N ???? +O Class Level +P ???? +Q Class experience on the level +R Arts Palette Slot 4 +S Arts Palette Slot 4 Art Level +T Arts Palette Slot 3 +U Arts Palette Slot 3 Art Level +V Arts Palette Slot 2 +W Arts Palette Slot 2 Art Level +X Arts Palette Slot 1 +Y Arts Palette Slot 1 Art Level +Z Arts Palette Slot 8 + +1C38E703 +A Arts Palette Slot 8 Art Level +B Arts Palette Slot 7 +C Arts Palette Slot 7 Art Level +D Arts Palette Slot 6 +E Arts Palette Slot 6 Art Level +F Arts Palette Slot 5 +G Arts Palette Slot 5 Art Level +H Assigned Skills Slot 1 +I Assigned Skills Slot 1 Skill Level +J Assigned Skills Slot 2 +K Assigned Skills Slot 2 Skill Level +L Assigned Skills Slot 3 +M Assigned Skills Slot 3 Skill Level +N Assigned Skills Slot 4 +O Assigned Skills Slot 4 Skill Level +P Assigned Skills Slot 5 +Q Assigned Skills Slot 5 Skill Level +R Soul Voice Custom Voice 1 Category +S Soul Voice Custom Voice 2 Category +T Soul Voice Custom Voice 3 Category +U Soul Voice Custom Voice 4 Category +V Soul Voice 1 +W Soul Voice 2 +X Soul Voice 3 +Y Soul Voice 4 +Z Soul Voice 5 + +1C38E722 +A Soul Voice 6 +B Soul Voice 8 +C Soul Voice 7 +D Soul Voice 9 +E Soul Voice 10 +F Soul Voice 11 +G Soul Voice 12 +H Soul Voice 13 +I Soul Voice 14 +J Soul Voice 15 +K Soul Voice 16 +L Former HP tracker? + +ASCII Table +A 41 61 a +B 42 62 b +C 43 63 c +D 44 64 d +E 45 65 e +F 46 66 f +G 47 67 g +H 48 68 h +I 49 69 i +J 4A 6A j +K 4B 6B k +L 4C 6C l +M 4D 6D m +N 4E 6E n +O 4F 6F o +P 50 70 p +Q 51 71 q +R 52 72 r +S 53 73 s +T 54 74 t +U 55 75 u +V 56 76 v +W 57 77 w +X 58 78 x +Y 59 79 y +Z 5A 7A z +! 21 CF ? +. 2E 2C , +space 20 diff --git a/src/XenobladeChroniclesX/Mods/CharacterLevel/rules.txt b/src/XenobladeChroniclesX/Mods/CharacterLevel/rules.txt index 9971edc32..3253f44ed 100644 --- a/src/XenobladeChroniclesX/Mods/CharacterLevel/rules.txt +++ b/src/XenobladeChroniclesX/Mods/CharacterLevel/rules.txt @@ -9,221 +9,198 @@ version = 7 [Default] $memoffset = 0x122 $level = 1 - +$exp = 0 $characterID = 1 [Preset] -category = "Character:" +category = "Character" name = "Playable Avatar" [Preset] -category = "Character:" +category = "Character" name = "Nagi" $characterID = 2 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "L" $characterID = 3 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Lao" $characterID = 4 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "H.B." $characterID = 5 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Gwin" $characterID = 6 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Frye" $characterID = 7 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Doug" $characterID = 8 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Yelv" $characterID = 9 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Boze" $characterID = 10 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Phog" $characterID = 11 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Elma" $characterID = 12 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Lin" $characterID = 13 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Celica" $characterID = 14 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Irina" $characterID = 15 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Murderess" $characterID = 16 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Alexa" $characterID = 17 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Hope" $characterID = 18 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Character:" +category = "Character" name = "Mia" $characterID = 19 $memoffset = (($characterID-1)*0x57C)+0x122 [Preset] -category = "Level:" +category = "Level" name = lv. 1 [Preset] -category = "Level:" +category = "Level" name = lv. 5 $level = 5 [Preset] -category = "Level:" +category = "Level" name = lv. 10 $level = 10 [Preset] -category = "Level:" +category = "Level" name = lv. 15 $level = 15 [Preset] -category = "Level:" +category = "Level" name = lv. 20 $level = 20 [Preset] -category = "Level:" +category = "Level" name = lv. 25 $level = 25 [Preset] -category = "Level:" +category = "Level" name = lv. 30 $level = 30 [Preset] -category = "Level:" +category = "Level" name = lv. 35 $level = 35 [Preset] -category = "Level:" +category = "Level" name = lv. 40 $level = 40 [Preset] -category = "Level:" +category = "Level" name = lv. 45 $level = 45 [Preset] -category = "Level:" +category = "Level" name = lv. 50 $level = 50 [Preset] -category = "Level:" +category = "Level" name = lv. 55 $level = 55 [Preset] -category = "Level:" +category = "Level" name = lv. 60 $level = 60 +$exp = 23760 [Preset] -category = "Level:" -name = lv. 70 -$level = 70 - -[Preset] -category = "Level:" -name = lv. 80 -$level = 80 - -[Preset] -category = "Level:" -name = lv. 90 -$level = 90 - -[Preset] -category = "Level:" -name = lv. 100 -$level = 100 - -[Preset] -category = "Level:" -name = lv. 150 -$level = 150 - -[Preset] -category = "Level:" -name = lv. 200 -$level = 200 +category = "Level" +name = lv. 99 +$level = 99 [Preset] -category = "Level:" +category = "Level" name = lv. 255 $level = 255 [Preset] -category = "Level:" -name = lv. 0 +category = "Level" +name = lv. 0 (WILL softlock unless you have Max HP Up) $level = 0 +$exp = -1 diff --git a/src/XenobladeChroniclesX/Mods/EquipmentUnlimitedAugmentUpgrades/patch_augup.asm b/src/XenobladeChroniclesX/Mods/EquipmentUnlimitedAugmentUpgrades/patch_augup.asm index c86f79173..cc002884e 100644 --- a/src/XenobladeChroniclesX/Mods/EquipmentUnlimitedAugmentUpgrades/patch_augup.asm +++ b/src/XenobladeChroniclesX/Mods/EquipmentUnlimitedAugmentUpgrades/patch_augup.asm @@ -1,8 +1,6 @@ [XCX_UPGRADENOLIMIT] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $checkSelectItem -.int $checkStrengthen VarUpgradeCount: .int 0 diff --git a/src/XenobladeChroniclesX/Mods/EquipmentUnlockAugments/patch_unlockaug.asm b/src/XenobladeChroniclesX/Mods/EquipmentUnlockAugments/patch_unlockaug.asm index 4d4a15ad0..e321508b9 100644 --- a/src/XenobladeChroniclesX/Mods/EquipmentUnlockAugments/patch_unlockaug.asm +++ b/src/XenobladeChroniclesX/Mods/EquipmentUnlockAugments/patch_unlockaug.asm @@ -1,8 +1,6 @@ [XCX_UNLOCKAUGMENTS] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $checkIgnoreMiranium -.int $checkIgnoreMaterials ChangeMaterialsQuantity: stw r3, 0xC(r1) diff --git a/src/XenobladeChroniclesX/Mods/ExpBattlePointsX/patch_exp_battle.asm b/src/XenobladeChroniclesX/Mods/ExpBattlePointsX/patch_exp_battle.asm index 43c1573f3..2ce808924 100644 --- a/src/XenobladeChroniclesX/Mods/ExpBattlePointsX/patch_exp_battle.asm +++ b/src/XenobladeChroniclesX/Mods/ExpBattlePointsX/patch_exp_battle.asm @@ -1,8 +1,6 @@ -[XCX_BATTLEPOINTSX] +[XCX_BattlePointsX] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mod - ; ---------------------------------------------------------------------------- ; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1 ; WHAT : Multiply the battle points gained when a new class level is reached @@ -11,7 +9,6 @@ li r3, $mod mullw r0, r0, r3 mulli r0, r0, 3 blr - ; ---------------------------------------------------------------------------- ; WHO : addInnerExpChara__Q2_6Battle14CBattleManagerFUiN21 ; WHAT : Multiply the battle points gained when a new level is reached @@ -20,7 +17,6 @@ li r4, $mod mullw r9, r9, r4 add r11, r11, r9 blr - ; ---------------------------------------------------------------------------- ; WHO : addTreasure__Q2_3cfs10CfTBoxUtilSFUib ; WHAT : Multiply the battle points given by treasures or exploration @@ -29,7 +25,6 @@ li r3, $mod mullw r3, r31, r3 mr r31, r3 blr - ; ---------------------------------------------------------------------------- ; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1 ; WHAT : Multiply the experience points given by Squad missions @@ -38,27 +33,25 @@ li r4, $mod mullw r3, r3, r4 stw r3, 0x1C(r1) blr - ; ---------------------------------------------------------------------------- ; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool)) ; WHAT : Multiply the battle points displayed in quest popup information. _dispBefore: -lhz r24, 0x90(r1) -li r25, $mod -mullw r24, r24, r25 +lhz r24, 0x90(r1) +li r25, $mod +mullw r24, r24, r25 blr - ; ---------------------------------------------------------------------------- ; WHO : menu::MenuMultiQuestResult::setup((void)) ; WHAT : Multiply the battle points displayed in quest popup results. _dispAfter: -li r5, $mod -mullw r3, r3, r5 -stw r3, 0x7C(r1) +li r5, $mod +mullw r3, r3, r5 +stw r3, 0x7C(r1) blr -[XCX_BATTLEPOINTSX_V101E] ; ############################################################################ +[XCX_BattlePointsX_v101E] moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E 0x020C4A74 = bla _exp 0x020C1C48 = bla _exp2 @@ -68,7 +61,7 @@ moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E 0x02B94730 = bla _dispBefore 0x02B9FEE0 = bla _dispAfter -[XCX_BATTLEPOINTSX_V102U] ; ############################################################################ +[XCX_BattlePointsX_v102U] moduleMatches = 0x30B6E091 ; 1.0.2U 0x020C4A74 = bla _exp 0x020C1C48 = bla _exp2 @@ -78,7 +71,7 @@ moduleMatches = 0x30B6E091 ; 1.0.2U 0x02B94720 = bla _dispBefore 0x02B9FED0 = bla _dispAfter -[XCX_BATTLEPOINTSX_V102J] ; ############################################################################ +[XCX_BattlePointsX_v102J] moduleMatches = 0x7672271D ; 1.0.2J 0x020C4540 = bla _exp 0x020C1714 = bla _exp2 @@ -88,7 +81,7 @@ moduleMatches = 0x7672271D ; 1.0.2J 0x02B9066C = bla _dispBefore 0x02B9B998 = bla _dispAfter -[XCX_BATTLEPOINTSX_V100U] ; ############################################################################ +[XCX_BattlePointsX_v100U] moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x020C4A74 = bla _exp 0x020C1C48 = bla _exp2 @@ -98,7 +91,7 @@ moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x02B946A4 = bla _dispBefore 0x02B9FDE0 = bla _dispAfter -[XCX_BATTLEPOINTSX_V100J] ; ############################################################################ +[XCX_BattlePointsX_v100J] moduleMatches = 0x785CA8A9 ; 1.0.0J 0x020C42BC = bla _exp 0x020C1490 = bla _exp2 diff --git a/src/XenobladeChroniclesX/Mods/ExpBattlePointsX/rules.txt b/src/XenobladeChroniclesX/Mods/ExpBattlePointsX/rules.txt index 214a84e10..cde68019e 100644 --- a/src/XenobladeChroniclesX/Mods/ExpBattlePointsX/rules.txt +++ b/src/XenobladeChroniclesX/Mods/ExpBattlePointsX/rules.txt @@ -1,16 +1,25 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Battle Points X" +name = "Battle Points Multiplier" path = "Xenoblade Chronicles X/Mods/Experience/Battle Points" description = Change the amount of Battle points gained when a new level (or class level) is reached, when completing missions or exploring. #Credits: lasyan3 version = 6 [Default] -$mod = 2 +$mod = 1 + +[Preset] +name = "Quantity x0" +$mod = 0 + +[Preset] +name = "Quantity x1" +default = 1 [Preset] name = "Quantity x2" +$mod = 2 [Preset] name = "Quantity x3" diff --git a/src/XenobladeChroniclesX/Mods/ExpBladePointsX/patch_exp_blade.asm b/src/XenobladeChroniclesX/Mods/ExpBladePointsX/patch_exp_blade.asm index ac2e832cc..075dd2b29 100644 --- a/src/XenobladeChroniclesX/Mods/ExpBladePointsX/patch_exp_blade.asm +++ b/src/XenobladeChroniclesX/Mods/ExpBladePointsX/patch_exp_blade.asm @@ -1,35 +1,29 @@ -[XCX_BLADEX] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J -.origin = codecave -.int $mod -; ---------------------------------------------------------------------------- +[XCX_BLADEX_v101E] +moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E ; WHO : fw::SocialUnion::getUnionBasePoint((int)) ; WHAT : Multiply the BLADE points rewarded - -[XCX_BLADEX_V101E] -moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E 0x0288E610 = nop 0x02E0C5B0 = li r3, -1 0x0288E614 = li r3, $mod -[XCX_BLADEX_V102U] +[XCX_BLADEX_v102U] moduleMatches = 0x30B6E091 ; 1.0.2U 0x0288E610 = nop 0x02E0C550 = li r3, -1 0x0288E614 = li r3, $mod -[XCX_BLADEX_V102J] +[XCX_BLADEX_v102J] moduleMatches = 0x7672271D ; 1.0.2J 0x0288B470 = nop 0x02E07A78 = li r3, -1 0x0288B474 = li r3, $mod -[XCX_BLADEX_V100U] +[XCX_BLADEX_v100U] moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x0288E594 = nop 0x02E0C3D8 = li r3, -1 0x0288E598 = li r3, $mod -;[XCX_BLADEX_V100J] +;[XCX_BLADEX_v100J] ;moduleMatches = 0x785CA8A9 ; 1.0.0J ;;; ;getUnionBasePoint__Q2_2fw11SocialUnionFi does not exist diff --git a/src/XenobladeChroniclesX/Mods/ExpBladePointsX/rules.txt b/src/XenobladeChroniclesX/Mods/ExpBladePointsX/rules.txt index d20b71557..c77ffec35 100644 --- a/src/XenobladeChroniclesX/Mods/ExpBladePointsX/rules.txt +++ b/src/XenobladeChroniclesX/Mods/ExpBladePointsX/rules.txt @@ -1,16 +1,25 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "BLADE Points X" +name = "BLADE Points Multiplier" path = "Xenoblade Chronicles X/Mods/Experience/BLADE Points" description = Change the amount of BLADE points gained in various situations. #Credits: lasyan3 version = 6 [Default] -$mod = 2 +$mod = 1 + +[Preset] +name = "x0" +$mod = 0 + +[Preset] +name = "x1" +default = 1 [Preset] name = "x2" +$mod = 2 [Preset] name = "x3" diff --git a/src/XenobladeChroniclesX/Mods/ExpClassExpPointsX/patch_exp_class.asm b/src/XenobladeChroniclesX/Mods/ExpClassExpPointsX/patch_exp_class.asm index a80a39d4a..0553fe14e 100644 --- a/src/XenobladeChroniclesX/Mods/ExpClassExpPointsX/patch_exp_class.asm +++ b/src/XenobladeChroniclesX/Mods/ExpClassExpPointsX/patch_exp_class.asm @@ -1,8 +1,6 @@ -[XCX_CLASSEXPX] +[XCX_ClassEXP] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mod - ; ---------------------------------------------------------------------------- ; WHO : addClassExpChara__Q2_6Battle14CBattleManagerFUiT1 ; WHAT : Multiply the class experience given during combat @@ -10,7 +8,6 @@ _expBattle: li r12, $mod mullw r31, r3, r12 blr - ; ---------------------------------------------------------------------------- ; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1 ; WHAT : Multiply the experience points given by Squad missions @@ -21,22 +18,21 @@ stw r3, 0x18(r1) blr _dispBefore: -li r5, $mod -mullw r3, r3, r5 -stw r3, 0x34(r1) +li r5, $mod +mullw r3, r3, r5 +stw r3, 0x34(r1) blr - ; ---------------------------------------------------------------------------- ; WHO : menu::MenuMultiQuestResult::setup((void)) -; WHAT : +; WHAT : _dispAfter: -li r5, $mod -mullw r3, r3, r5 -stw r3, 0x80(r1) +li r5, $mod +mullw r3, r3, r5 +stw r3, 0x80(r1) blr -[XCX_CLASSEXPX_V101E] ; ############################################################################ +[XCX_ClassEXP_v101E] moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E 0x020C4A28 = bla _expBattle 0x023CC750 = bla _expSquadValue @@ -44,7 +40,7 @@ moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E 0x02B91324 = bla _dispBefore 0x02B9FF44 = bla _dispAfter -[XCX_CLASSEXPX_V102U] ; ############################################################################ +[XCX_ClassEXP_v102U] moduleMatches = 0x30B6E091 ; 1.0.2U 0x020C4A28 = bla _expBattle 0x023CC750 = bla _expSquadValue @@ -52,7 +48,7 @@ moduleMatches = 0x30B6E091 ; 1.0.2U 0x02B91314 = bla _dispBefore 0x02B9FF34 = bla _dispAfter -[XCX_CLASSEXPX_V102J] ; ############################################################################ +[XCX_ClassEXP_v102J] moduleMatches = 0x7672271D ; 1.0.2J 0x020C44F4 = bla _expBattle 0x023CBDB4 = bla _expSquadValue @@ -60,7 +56,7 @@ moduleMatches = 0x7672271D ; 1.0.2J 0x02B8D260 = bla _dispBefore 0x02B9B9FC = bla _dispAfter -[XCX_CLASSEXPX_V100U] ; ############################################################################ +[XCX_ClassEXP_v100U] moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x020C4A28 = bla _expBattle 0x023CC6E0 = bla _expSquadValue @@ -68,7 +64,7 @@ moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x02B91298 = bla _dispBefore 0x02B9FE44 = bla _dispAfter -[XCX_CLASSEXPX_V100J] ; ############################################################################ +[XCX_ClassEXP_v100J] moduleMatches = 0x785CA8A9 ; 1.0.0J 0x020C4270 = bla _expBattle 0x023CB8E4 = bla _expSquadValue diff --git a/src/XenobladeChroniclesX/Mods/ExpClassExpPointsX/rules.txt b/src/XenobladeChroniclesX/Mods/ExpClassExpPointsX/rules.txt index e73a84ad8..052bcbe25 100644 --- a/src/XenobladeChroniclesX/Mods/ExpClassExpPointsX/rules.txt +++ b/src/XenobladeChroniclesX/Mods/ExpClassExpPointsX/rules.txt @@ -1,16 +1,25 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Class Exp Points X" +name = "Class Exp Points Multiplier" path = "Xenoblade Chronicles X/Mods/Experience/Class Exp Points" description = Change the amount of Class Exp points gained in battle, missions, quests and exploration. #Credits: lasyan3 version = 6 [Default] -$mod = 2 +$mod = 1 + +[Preset] +name = "x0" +$mod = 0 + +[Preset] +name = "x1" +default = 1 [Preset] name = "x2" +$mod = 2 [Preset] name = "x3" diff --git a/src/XenobladeChroniclesX/Mods/ExpFriendsPointsX/patch_exp_friend.asm b/src/XenobladeChroniclesX/Mods/ExpFriendsPointsX/patch_exp_friend.asm index 7154c4f9a..036165111 100644 --- a/src/XenobladeChroniclesX/Mods/ExpFriendsPointsX/patch_exp_friend.asm +++ b/src/XenobladeChroniclesX/Mods/ExpFriendsPointsX/patch_exp_friend.asm @@ -1,20 +1,14 @@ -[XCX_FRIENDPOINTSX] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J -.origin = codecave -.int $mod -; ---------------------------------------------------------------------------- +[XCX_FriendPoints_v101E_v102U_v100U] +moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07, 0xAB97DE6B, 0x676EB33E ; 1.0.1E, 1.0.2U, 1.0.0E, 1.0.1U, 1.0.0U ; 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) - -[XCX_FRIENDPOINTSX_V101E_V102U_V100U] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07, 0xAB97DE6B, 0x676EB33E ; 1.0.1E, 1.0.2U, 1.0.0E, 1.0.1U, 1.0.0U 0x02179908 = li r31, $mod -[XCX_FRIENDPOINTSX_V102J] +[XCX_FriendPoints_v102J] moduleMatches = 0x7672271D ; 1.0.2J 0x021793D4 = li r31, $mod -[XCX_FRIENDPOINTSX_V100J] +[XCX_FriendPoints_v100J] moduleMatches = 0x785CA8A9 ; 1.0.0J 0x02179150 = li r31, $mod diff --git a/src/XenobladeChroniclesX/Mods/ExpFriendsPointsX/rules.txt b/src/XenobladeChroniclesX/Mods/ExpFriendsPointsX/rules.txt index 5f1cade7d..cefc63a94 100644 --- a/src/XenobladeChroniclesX/Mods/ExpFriendsPointsX/rules.txt +++ b/src/XenobladeChroniclesX/Mods/ExpFriendsPointsX/rules.txt @@ -1,8 +1,8 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Friends Points X" -path = "Xenoblade Chronicles X/Mods/Experience/Friends Points" -description = More Friends points gained when activating a Soul Voice Link during battle. +name = "More Affinity Points From Soul Voices" +path = "Xenoblade Chronicles X/Mods/Experience/Affinity Points" +description = More Affinity points gained when activating a Soul Voice during battle. #Credits: lasyan3 version = 6 diff --git a/src/XenobladeChroniclesX/Mods/ExpInnerExpPointsX/patch_exp.asm b/src/XenobladeChroniclesX/Mods/ExpInnerExpPointsX/patch_exp.asm index 130f3eeb4..36f6f58e9 100644 --- a/src/XenobladeChroniclesX/Mods/ExpInnerExpPointsX/patch_exp.asm +++ b/src/XenobladeChroniclesX/Mods/ExpInnerExpPointsX/patch_exp.asm @@ -1,8 +1,6 @@ [XCX_EXPX] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mod - ; ---------------------------------------------------------------------------- ; WHO : cfs::CfCompoCtrlEnemy::execRequestCommon ; WHAT : Multiply the experience points given in battles @@ -12,7 +10,6 @@ mulli r3, r3, $mod stw r3, 0x3184(r28) mr r3, r28 blr - ; ---------------------------------------------------------------------------- ; WHO : addTreasure__Q2_3cfs10CfTBoxUtilSFUib ; WHAT : Multiply the experience points given by treasures or exploration @@ -21,7 +18,6 @@ li r3, $mod lhz r31, 0x1C(r1) mullw r31, r31, r3 blr - ; ---------------------------------------------------------------------------- ; WHO : addReward__Q2_3cfs11CfQuestUtilSFUiQ2_3cfs17CfQuestRewardType ; WHAT : Multiply the experience points given by quests ? @@ -30,7 +26,6 @@ li r4, $mod mullw r3, r3, r4 stw r3, 0x60(r1) blr - ; ---------------------------------------------------------------------------- ; WHO : addReward__Q2_3cfs11CfSquadUtilSFUiT1 ; WHAT : Multiply the experience points given by Squad missions @@ -39,27 +34,25 @@ li r4, $mod mullw r3, r3, r4 stw r3, 0x10(r1) blr - ; ---------------------------------------------------------------------------- ; WHO : menu::MenuMultiQuestInfoWindow::displayInfo((menu::MenuObject *,bool)) -; WHAT : +; WHAT : _dispBefore: -lwz r23, 0x88(r1) -li r24, $mod -mullw r23, r23, r24 +lwz r23, 0x88(r1) +li r24, $mod +mullw r23, r23, r24 blr - ; ---------------------------------------------------------------------------- ; WHO : menu::MenuMultiQuestResult::setup((void)) -; WHAT : +; WHAT : _dispAfter: -li r5, $mod -mullw r3, r3, r5 -stw r3, 0x78(r1) +li r5, $mod +mullw r3, r3, r5 +stw r3, 0x78(r1) blr -[XCX_EXPX_V101E] ; ############################################################################ +[XCX_EXPX_v101E] moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E 0x025624D4 = bla _expBattle 0x022D8E64 = bla _expTreasure @@ -70,7 +63,7 @@ moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E ; unlimited exp (no 9999 limit) loops around 140000 0x020C1BC4 = nop -[XCX_EXPX_V102U] ; ############################################################################ +[XCX_EXPX_v102U] moduleMatches = 0x30B6E091 ; 1.0.2U 0x025624D4 = bla _expBattle 0x022D8E64 = bla _expTreasure @@ -81,7 +74,7 @@ moduleMatches = 0x30B6E091 ; 1.0.2U ; unlimited exp (no 9999 limit) loops around 140000 0x020C1BC4 = nop -[XCX_EXPX_V102J] ; ############################################################################ +[XCX_EXPX_v102J] moduleMatches = 0x7672271D ; 1.0.2J 0x02561AB0 = bla _expBattle 0x022D8694 = bla _expTreasure @@ -92,7 +85,7 @@ moduleMatches = 0x7672271D ; 1.0.2J ; unlimited exp (no 9999 limit) loops around 140000 0x020C1690 = nop -[XCX_EXPX_V100U] ; ############################################################################ +[XCX_EXPX_v100U] moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U 0x02562464 = bla _expBattle 0x022D8DF4 = bla _expTreasure @@ -103,7 +96,7 @@ moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U ; unlimited exp (no 9999 limit) loops around 140000 0x020C1BC4 = nop -[XCX_EXPX_V100J] ; ############################################################################ +[XCX_EXPX_v100J] moduleMatches = 0x785CA8A9 ; 1.0.0J 0x02560FD4 = bla _expBattle 0x022D8520 = bla _expTreasure diff --git a/src/XenobladeChroniclesX/Mods/ExpInnerExpPointsX/rules.txt b/src/XenobladeChroniclesX/Mods/ExpInnerExpPointsX/rules.txt index 16e3747c2..0d691db41 100644 --- a/src/XenobladeChroniclesX/Mods/ExpInnerExpPointsX/rules.txt +++ b/src/XenobladeChroniclesX/Mods/ExpInnerExpPointsX/rules.txt @@ -1,6 +1,6 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Lv Exp Points" +name = "Lv Exp Points Multiplier" path = "Xenoblade Chronicles X/Mods/Experience/Lv Exp Points" description = Change the amount of Level Exp points gained in battle, missions, quests and exploration.|Ignores the 9999 exp cap. #Credits: lasyan3 @@ -9,8 +9,13 @@ version = 6 [Default] $mod = 1 +[Preset] +name = "x0" +$mod = 0 + [Preset] name = "x1" +default = 1 [Preset] name = "x2" diff --git a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMiraniumFrequency/patch_miranium_freq.asm b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMiraniumFrequency/patch_miranium_freq.asm index 1fe545a1e..640bd237f 100644 --- a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMiraniumFrequency/patch_miranium_freq.asm +++ b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMiraniumFrequency/patch_miranium_freq.asm @@ -1,7 +1,6 @@ [XCX_FN_MIR_FREQ] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mod ; ---------------------------------------------------------------------------- ; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1 diff --git a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMiraniumQuantity/patch_miranium_qu.asm b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMiraniumQuantity/patch_miranium_qu.asm index 709c497e1..c8e518f3f 100644 --- a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMiraniumQuantity/patch_miranium_qu.asm +++ b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMiraniumQuantity/patch_miranium_qu.asm @@ -1,8 +1,6 @@ [XCX_FN_MIR_QTY] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mod -.int $uncap ; ---------------------------------------------------------------------------- ; WHO : changeTime__Q2_4fnet9CFnetTaskFUiT1 diff --git a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyFrequency/patch_money_freq.asm b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyFrequency/patch_money_freq.asm index f92fd8ed6..4ae847755 100644 --- a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyFrequency/patch_money_freq.asm +++ b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyFrequency/patch_money_freq.asm @@ -1,14 +1,9 @@ -[XCX_FN_MNY_FREQ] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J -.origin = codecave -.int $mod +[XCX_FN_MNY_FREQ_V101E_V102U] +moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E ; ---------------------------------------------------------------------------- ; 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) - -[XCX_FN_MNY_FREQ_V101E_V102U] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E 0x027D554C = li r12, $mod [XCX_FN_MNY_FREQ_V102J] diff --git a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyQuantity/patch_money_qu.asm b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyQuantity/patch_money_qu.asm index cefb9050b..d4fc2807b 100644 --- a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyQuantity/patch_money_qu.asm +++ b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyQuantity/patch_money_qu.asm @@ -1,7 +1,6 @@ [XCX_FN_MNY_QTY] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mod _money: li r31, $mod diff --git a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyQuantity/rules.txt b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyQuantity/rules.txt index 0300daf4d..b9245b4e7 100644 --- a/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyQuantity/rules.txt +++ b/src/XenobladeChroniclesX/Mods/FrontierNavProbeMoneyQuantity/rules.txt @@ -7,10 +7,14 @@ description = Affect the quantity of the FrontierNav income for the Money. version = 6 [Default] -$mod = 2 +$mod = 1 + +[Preset] +name = "x1" [Preset] name = "x2" +$mod = 2 [Preset] name = "x3" diff --git a/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceFrequency/patch_resource_freq.asm b/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceFrequency/patch_resource_freq.asm index 760bd6c56..ffc336323 100644 --- a/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceFrequency/patch_resource_freq.asm +++ b/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceFrequency/patch_resource_freq.asm @@ -1,14 +1,9 @@ -[XCX_FN_RES_FREQ] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J -.origin = codecave -.int $mod +[XCX_FN_RES_FREQ_V101E_V102U] +moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E ; ---------------------------------------------------------------------------- ; 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) - -[XCX_FN_RES_FREQ_V101E_V102U] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E 0x027D534C = li r12, $mod [XCX_FN_RES_FREQ_V102J] diff --git a/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceQuantity/patch_resource_qu.asm b/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceQuantity/patch_resource_qu.asm index d1969e330..1d7f13bc5 100644 --- a/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceQuantity/patch_resource_qu.asm +++ b/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceQuantity/patch_resource_qu.asm @@ -1,11 +1,10 @@ [XCX_FN_RES_QTY] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $mod ; ---------------------------------------------------------------------------- ; WHAT : changeTime__Q2_4fnet9CFnetTaskFUiT1 -; WHY : +; WHY : _multCount: lbz r0, 6(r31) li r3, $mod diff --git a/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceQuantity/rules.txt b/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceQuantity/rules.txt index e3ae80044..199f23a60 100644 --- a/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceQuantity/rules.txt +++ b/src/XenobladeChroniclesX/Mods/FrontierNavProbeResourceQuantity/rules.txt @@ -7,10 +7,14 @@ description = Affect the quantity of the FrontierNav income for the resources. version = 6 [Default] -$mod = 2 +$mod = 1 + +[Preset] +name = "x1" [Preset] name = "x2" +$mod = 2 [Preset] name = "x3" diff --git a/src/XenobladeChroniclesX/Mods/GraphicsCameraDistance/rules.txt b/src/XenobladeChroniclesX/Mods/GraphicsCameraDistance/rules.txt index 3fe192b6a..c3ea24501 100644 --- a/src/XenobladeChroniclesX/Mods/GraphicsCameraDistance/rules.txt +++ b/src/XenobladeChroniclesX/Mods/GraphicsCameraDistance/rules.txt @@ -1,16 +1,17 @@ [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Camera distance mod" -path = "Xenoblade Chronicles X/Mods/Graphics/Camera distance mod" +name = "Default Camera Distance Mod" +path = "Xenoblade Chronicles X/Mods/Graphics/Default Camera Distance" description = Affect the default distance of the camera (Vanilla zoom is 0).|Does not affect max zoom possible. #Credits: lasyan3 version = 6 [Default] -$mod = 2.0 +$mod = 0.0 [Preset] name = "Zoom 2" +$mod = 2.0 [Preset] name = "Zoom 5" diff --git a/src/XenobladeChroniclesX/Mods/GraphicsNoModelFade/patch_NoModelFade.asm b/src/XenobladeChroniclesX/Mods/GraphicsNoModelFade/patch_NoModelFade.asm index 3849f4fda..4a4a6f006 100644 --- a/src/XenobladeChroniclesX/Mods/GraphicsNoModelFade/patch_NoModelFade.asm +++ b/src/XenobladeChroniclesX/Mods/GraphicsNoModelFade/patch_NoModelFade.asm @@ -1,29 +1,16 @@ [XCX_NoModelFade_V101E_V102U] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E -; in func setCameraAlphaMount__Q2_3cfs5CfObjFf -0x023EAC38 = nop ;setCameraAlphaMount__Q2_3cfs5CfObjFf -0x023EB5A4 = nop ;setCameraAlphaMount__Q2_3cfs5CfObjFf -; in func updateAlpha__Q2_3cfs17CfCompoAssetActorFv -0x02483E14 = nop ;setCameraAlphaMount__Q2_3cfs5CfObjFf -0x02484018 = nop ;setCameraAlphaMount__Q2_3cfs5CfObjFf +; mod prevents setCameraAlphaMount function from ever being called +0x023EA1F0 = blr [XCX_NoModelFade_V102J] moduleMatches = 0x7672271D ; 1.0.2J -0x023EA278 = nop -0x023EABE4 = nop -0x02483454 = nop -0x02483658 = nop +0x023E9830 = blr [XCX_NoModelFade_V100U] moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U -0x023EABC8 = nop -0x023EB534 = nop -0x02483DA4 = nop -0x02483FA8 = nop +0x023EA180 = blr [XCX_NoModelFade_V100J] moduleMatches = 0x785CA8A9 ; 1.0.0J -0x023E9DA8 = nop -0x023EA714 = nop -0x02482978 = nop -0x02482B7C = nop +0x023E9360 = blr diff --git a/src/XenobladeChroniclesX/Mods/GraphicsRemoveOverdriveBlur/patch_RemoveBlur.asm b/src/XenobladeChroniclesX/Mods/GraphicsRemoveOverdriveBlur/patch_RemoveBlur.asm index 09bc4ea73..1eb59908f 100644 --- a/src/XenobladeChroniclesX/Mods/GraphicsRemoveOverdriveBlur/patch_RemoveBlur.asm +++ b/src/XenobladeChroniclesX/Mods/GraphicsRemoveOverdriveBlur/patch_RemoveBlur.asm @@ -1,16 +1,11 @@ [XCX_REMOVEBLUR_V101E_V102U_V100U] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07, 0xAB97DE6B, 0x676EB33E ; 1.0.1E, 1.0.2U, 1.0.0E, 1.0.1U, 1.0.0U -; in func update__Q2_4Gear5CGearFf +;mod prevents updateBlur, startBlur, endBlur, and IsEndBlur functions from ever being called 0x021BC970 = nop ;_updateBlur__Q2_4Gear5CGearFf -; in func Update__Q2_4Gear5CModeFf 0x021E208C = nop ;_updateBlur__Q2_4Gear5CModeFf -; in func _startDecorate__Q2_4Gear5CGearFUi 0x021BEDAC = nop ;_startBlur__Q2_4Gear5CGearFv -; in func _startDecorate__Q2_4Gear5CModeFUi 0x021CFCCC = nop ;_startBlur__Q2_4Gear5CModeFv -; in func _endDecorate__Q2_4Gear5CGearFUi 0x021B4294 = nop ;_endBlur__Q2_4Gear5CGearFv -; in func _tailStatus__Q2_6Battle14CBattleManagerFv 0x020B6404 = nop ;IsEndBlur__Q2_4Gear5CGearFv [XCX_REMOVEBLUR_V102J] diff --git a/src/XenobladeChroniclesX/Mods/LootEquipmentsAlternateRandomAffix/patch_randaffix.asm b/src/XenobladeChroniclesX/Mods/LootEquipmentsAlternateRandomAffix/patch_randaffix.asm index 1327caba8..941335bf2 100644 --- a/src/XenobladeChroniclesX/Mods/LootEquipmentsAlternateRandomAffix/patch_randaffix.asm +++ b/src/XenobladeChroniclesX/Mods/LootEquipmentsAlternateRandomAffix/patch_randaffix.asm @@ -1,9 +1,6 @@ [XCX_LOOT_RANDOM_AFFIX] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $var1 ; 80 -.int $var2 ; 80 -.int $var3 ; 20 ; ---------------------------------------------------------------------------- ; WHO : calcAffix__Q2_8ItemDrop16CItemDropManagerFUsRQ2_3mtl32fixed_vector__tm__12_UsXCUiL_1_3 ; WHAT : Affix random truly diff --git a/src/XenobladeChroniclesX/Mods/LootEquipmentsForceType/patch_type.asm b/src/XenobladeChroniclesX/Mods/LootEquipmentsForceType/patch_type.asm index 5dee7d05c..6cb7f4f60 100644 --- a/src/XenobladeChroniclesX/Mods/LootEquipmentsForceType/patch_type.asm +++ b/src/XenobladeChroniclesX/Mods/LootEquipmentsForceType/patch_type.asm @@ -1,8 +1,6 @@ [XCX_LOOT_EQUIPMENT_TYPE] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $type -.int $sub ; ---------------------------------------------------------------------------- ; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs ; WHAT : Force some kind of equipment to be looted in Gold chests diff --git a/src/XenobladeChroniclesX/Mods/LootMaterialsDrop/patch_materials.asm b/src/XenobladeChroniclesX/Mods/LootMaterialsDrop/patch_materials.asm index 73f3069ca..e621f3e4c 100644 --- a/src/XenobladeChroniclesX/Mods/LootMaterialsDrop/patch_materials.asm +++ b/src/XenobladeChroniclesX/Mods/LootMaterialsDrop/patch_materials.asm @@ -1,7 +1,6 @@ [XCX_LOOT_MATERIALS] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $ratio ; ---------------------------------------------------------------------------- ; WHO : __CPR90__calcItemBronze__Q2_8ItemDrop16CItemDropManagerFRQ3_J19JJ28J9SDropInfoUc diff --git a/src/XenobladeChroniclesX/Mods/LootTreasureQuality/patch_treasure.asm b/src/XenobladeChroniclesX/Mods/LootTreasureQuality/patch_treasure.asm index 98ede25ff..1627d7f95 100644 --- a/src/XenobladeChroniclesX/Mods/LootTreasureQuality/patch_treasure.asm +++ b/src/XenobladeChroniclesX/Mods/LootTreasureQuality/patch_treasure.asm @@ -1,8 +1,6 @@ [XCX_LOOT_FORCECHEST] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $forced -.int $treasure ; ---------------------------------------------------------------------------- ; WHO : ItemDrop::CItemDropManager::calcRank((unsigned short, int)) diff --git a/src/XenobladeChroniclesX/Mods/LootTreasureQuality/rules.txt b/src/XenobladeChroniclesX/Mods/LootTreasureQuality/rules.txt index 833552e5a..0075e76ba 100644 --- a/src/XenobladeChroniclesX/Mods/LootTreasureQuality/rules.txt +++ b/src/XenobladeChroniclesX/Mods/LootTreasureQuality/rules.txt @@ -2,25 +2,25 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = "Treasure Quality" path = "Xenoblade Chronicles X/Mods/Loot/Treasure Quality" -description = Select the preferred treasure quality you want to loot (see readme.txt for explanation).|Forced can make the story and/or sidequests impossible to complete. (Most key items come from silver treasures) +description = Select preferred treasure quality.|(if forced = no, then only overwrite if enemy drops no loot).||**FORCED = YES, CAN PERMANENTLY SOFTLOCK YOUR SAVE**|Key items come from silver treasures, so if the story enemy fails to drop a silver then you don't get the key item. #Credits: lasyan3 version = 6 [Default] -$treasure:int = 0 -$forced:int = 0 +$treasure = 0 +$forced = 0 [Preset] name = "Gold quality" -$treasure:int = 1 +$treasure = 1 [Preset] name = "Silver quality" -$treasure:int = 2 +$treasure = 2 [Preset] name = "Bronze quality" -$treasure:int = 3 +$treasure = 3 [Preset] name = "No treasure" @@ -32,4 +32,4 @@ category = Forced [Preset] name = "Yes" category = Forced -$forced:int = 1 +$forced = 1 diff --git a/src/XenobladeChroniclesX/Mods/MaxItems/patch_maxitems.asm b/src/XenobladeChroniclesX/Mods/MaxItems/patch_maxitems.asm index 6f96c4afd..361069b4f 100644 --- a/src/XenobladeChroniclesX/Mods/MaxItems/patch_maxitems.asm +++ b/src/XenobladeChroniclesX/Mods/MaxItems/patch_maxitems.asm @@ -1,7 +1,6 @@ [XCX_MAXITEMS] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $max _testsub: lwz r29, 0xC(r1) diff --git a/src/XenobladeChroniclesX/Mods/MaxMoney/patch_maxmoney.asm b/src/XenobladeChroniclesX/Mods/MaxMoney/patch_maxmoney.asm index b522bba16..ba86c7420 100644 --- a/src/XenobladeChroniclesX/Mods/MaxMoney/patch_maxmoney.asm +++ b/src/XenobladeChroniclesX/Mods/MaxMoney/patch_maxmoney.asm @@ -1,87 +1,91 @@ [XCX_MAXMONEY_V101E_V102U] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E +maxMoney = $maxAmount ; fw::Util::addMoney((int)) -0x027F6C28 = lis r12, 0x3B9B -0x027F6C30 = addi r12, r12, -0x3601 -0x027F6C3C = lis r3, 0x3B9B -0x027F6C40 = addi r3, r3, -0x3601 +0x027F6C28 = lis r12, maxMoney@ha +0x027F6C30 = addi r12, r12, maxMoney@l +0x027F6C3C = lis r3, maxMoney@ha +0x027F6C40 = addi r3, r3, maxMoney@l ; fw::Util::setMoney((unsigned int)) -0x027F6BA8 = lis r4, 0x3B9B -0x027F6BAC = addi r4, r4, -0x3601 +0x027F6BA8 = lis r4, maxMoney@ha +0x027F6BAC = addi r4, r4, maxMoney@l ; fw::Util::setTradeTicket((unsigned int)) -0x027F6D00 = lis r0, 0x3B9A -0x027F6D04 = ori r0, r0, 0xC9FF +0x027F6D00 = lis r0, maxMoney@ha +0x027F6D04 = addi r0, r0, maxMoney@l ; fw::Util::setMiranium((unsigned int)) -0x027F6D9C = lis r0, 0x3B9A -0x027F6DA0 = ori r0, r0, 0xC9FF +0x027F6D9C = lis r0, maxMoney@ha +0x027F6DA0 = addi r0, r0, maxMoney@l ; fw::Util::addMiranium((int)) -0x027F6DFC = lis r0, 0x3B9A -0x027F6E04 = ori r0, r0, 0xC9FF -0x027F6E14 = lis r12, 0x3B9B -0x027F6E18 = addi r12, r12, -0x3601 +0x027F6DFC = lis r0, maxMoney@ha +0x027F6E04 = addi r0, r0, maxMoney@l +0x027F6E14 = lis r12, maxMoney@ha +0x027F6E18 = addi r12, r12, maxMoney@l -[XCX_MAXMONEY_V102J] ; ########################################################### +[XCX_MAXMONEY_V102J] moduleMatches = 0x7672271D ; 1.0.2J +maxMoney = $maxAmount ; fw::Util::addMoney((int)) -0x027F47CC = lis r12, 0x3B9B -0x027F47D4 = addi r12, r12, -0x3601 -0x027F47E0 = lis r3, 0x3B9B -0x027F47E4 = addi r3, r3, -0x3601 +0x027F47CC = lis r12, maxMoney@ha +0x027F47D4 = addi r12, r12, maxMoney@l +0x027F47E0 = lis r3, maxMoney@ha +0x027F47E4 = addi r3, r3, maxMoney@l ; fw::Util::setMoney((unsigned int)) -0x027F474C = lis r4, 0x3B9B -0x027F4750 = addi r4, r4, -0x3601 +0x027F474C = lis r4, maxMoney@ha +0x027F4750 = addi r4, r4, maxMoney@l ; fw::Util::setTradeTicket((unsigned int)) -0x027f48A4 = lis r0, 0x3B9A -0x027f48A8 = ori r0, r0, 0xC9FF +0x027f48A4 = lis r0, maxMoney@ha +0x027f48A8 = addi r0, r0, maxMoney@l ; fw::Util::setMiranium((unsigned int)) -0x027F4940 = lis r0, 0x3B9A -0x027F4944 = ori r0, r0, 0xC9FF +0x027F4940 = lis r0, maxMoney@ha +0x027F4944 = addi r0, r0, maxMoney@l ; fw::Util::addMiranium((int)) -0x027F49A0 = lis r0, 0x3B9A -0x027f49A8 = ori r0, r0, 0xC9FF -0x027f49B8 = lis r12, 0x3B9B -0x027f49BC = addi r12, r12, -0x3601 +0x027F49A0 = lis r0, maxMoney@ha +0x027f49A8 = addi r0, r0, maxMoney@l +0x027f49B8 = lis r12, maxMoney@ha +0x027f49BC = addi r12, r12, maxMoney@l -[XCX_MAXMONEY_V100U] ; ########################################################### +[XCX_MAXMONEY_V100U] moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U +maxMoney = $maxAmount ; fw::Util::addMoney((int)) -0x027F6BAC = lis r12, 0x3B9B -0x027F6BB4 = addi r12, r12, -0x3601 -0x027F6BC0 = lis r3, 0x3B9B -0x027F6BC4 = addi r3, r3, -0x3601 +0x027F6BAC = lis r12, maxMoney@ha +0x027F6BB4 = addi r12, r12, maxMoney@l +0x027F6BC0 = lis r3, maxMoney@ha +0x027F6BC4 = addi r3, r3, maxMoney@l ; fw::Util::setMoney((unsigned int)) -0x027F6B2C = lis r4, 0x3B9B -0x027F6B30 = addi r4, r4, -0x3601 +0x027F6B2C = lis r4, maxMoney@ha +0x027F6B30 = addi r4, r4, maxMoney@l ; fw::Util::setTradeTicket((unsigned int)) -0x027F6C84 = lis r0, 0x3B9A -0x027F6C88 = ori r0, r0, 0xC9FF +0x027F6C84 = lis r0, maxMoney@ha +0x027F6C88 = addi r0, r0, maxMoney@l ; fw::Util::setMiranium((unsigned int)) -0x027F6D20 = lis r0, 0x3B9A -0x027F6D24 = ori r0, r0, 0xC9FF +0x027F6D20 = lis r0, maxMoney@ha +0x027F6D24 = addi r0, r0, maxMoney@l ; fw::Util::addMiranium((int)) -0x027F6D80 = lis r0, 0x3B9A -0x027F6D88 = ori r0, r0, 0xC9FF -0x027F6D98 = lis r12, 0x3B9B -0x027F6D9C = addi r12, r12, -0x3601 +0x027F6D80 = lis r0, maxMoney@ha +0x027F6D88 = addi r0, r0, maxMoney@l +0x027F6D98 = lis r12, maxMoney@ha +0x027F6D9C = addi r12, r12, maxMoney@l -[XCX_MAXMONEY_V100J] ; ########################################################### +[XCX_MAXMONEY_V100J] moduleMatches = 0x785CA8A9 ; 1.0.0J +maxMoney = $maxAmount ; fw::Util::addMoney((int)) -0x027F37A0 = lis r12, 0x3B9B -0x027F37A8 = addi r12, r12, -0x3601 -0x027F37B4 = lis r3, 0x3B9B -0x027F37B8 = addi r3, r3, -0x3601 +0x027F37A0 = lis r12, maxMoney@ha +0x027F37A8 = addi r12, r12, maxMoney@l +0x027F37B4 = lis r3, maxMoney@ha +0x027F37B8 = addi r3, r3, maxMoney@l ; fw::Util::setMoney((unsigned int)) -0x027F3720 = lis r4, 0x3B9B -0x027F3724 = addi r4, r4, -0x3601 +0x027F3720 = lis r4, maxMoney@ha +0x027F3724 = addi r4, r4, maxMoney@l ; fw::Util::setTradeTicket((unsigned int)) -0x027F3878 = lis r0, 0x3B9A -0x027F387C = ori r0, r0, 0xC9FF +0x027F3878 = lis r0, maxMoney@ha +0x027F387C = addi r0, r0, maxMoney@l ; fw::Util::setMiranium((unsigned int)) -0x027F3914 = lis r0, 0x3B9A -0x027F3918 = ori r0, r0, 0xC9FF +0x027F3914 = lis r0, maxMoney@ha +0x027F3918 = addi r0, r0, maxMoney@l ; fw::Util::addMiranium((int)) -0x027F3974 = lis r0, 0x3B9A -0x027F397C = ori r0, r0, 0xC9FF -0x027F398C = lis r12, 0x3B9B -0x027F3990 = addi r12, r12, -0x3601 +0x027F3974 = lis r0, maxMoney@ha +0x027F397C = addi r0, r0, maxMoney@l +0x027F398C = lis r12, maxMoney@ha +0x027F3990 = addi r12, r12, maxMoney@l diff --git a/src/XenobladeChroniclesX/Mods/MaxMoney/rules.txt b/src/XenobladeChroniclesX/Mods/MaxMoney/rules.txt index 88a97eac7..868dda6bd 100644 --- a/src/XenobladeChroniclesX/Mods/MaxMoney/rules.txt +++ b/src/XenobladeChroniclesX/Mods/MaxMoney/rules.txt @@ -2,6 +2,42 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = "Max Money" path = "Xenoblade Chronicles X/Mods/Maximus/Max Money" -description = "Increase maximum money to 999 999 999." +description = "Increase (or decrease) the maximum money you can hold." #Credits: lasyan3 version = 6 + +[Default] +$maxAmount = 0x3B9AC9FF #999999999 + +[Preset] +name = 0 +$maxAmount = 0 + +[Preset] +name = 9,999 +$maxAmount = 0x270F + +[Preset] +name = 99,999 +$maxAmount = 0x1869F + +[Preset] +name = 999,999 +$maxAmount = 0xF423F + +[Preset] +name = 9,999,999 +$maxAmount = 0x98967F + +[Preset] +name = 99,999,999 (Default) +$maxAmount = 0x5F5E0FF + +[Preset] +name = 999,999,999 (Recommended) +$maxAmount = 0x3B9AC9FF +default = 1 + +[Preset] +name = 2,140,000,000 #2147483647 risk negative money +$maxAmount = 0x7F8DCF00 diff --git a/src/XenobladeChroniclesX/Mods/MaxTickets/patch_maxtickets.asm b/src/XenobladeChroniclesX/Mods/MaxTickets/patch_maxtickets.asm index f0a999d06..145fdd98f 100644 --- a/src/XenobladeChroniclesX/Mods/MaxTickets/patch_maxtickets.asm +++ b/src/XenobladeChroniclesX/Mods/MaxTickets/patch_maxtickets.asm @@ -1,7 +1,6 @@ [XCX_MAXTICKETS] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J .origin = codecave -.int $cap ; cfs::CfSocialManager::getTradeTicketMax(const(void)) _maxtickets: diff --git a/src/XenobladeChroniclesX/Mods/WeatherForceWeather/patch_weather.asm b/src/XenobladeChroniclesX/Mods/WeatherForceWeather/patch_weather.asm index 5f4e6ab6a..ec36f953d 100644 --- a/src/XenobladeChroniclesX/Mods/WeatherForceWeather/patch_weather.asm +++ b/src/XenobladeChroniclesX/Mods/WeatherForceWeather/patch_weather.asm @@ -1,8 +1,3 @@ -[XCX_CHANGEWEATHER] -moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J -.origin = codecave -.int $wtr - [XCX_CHANGEWEATHER_V101E_V102U] moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E ; cfs::CfWtrManager::setWeatherID((unsigned int, int)) diff --git a/src/XenobladeChroniclesX/Mods/readme.md b/src/XenobladeChroniclesX/Mods/readme.md index 4dffcf85c..531e00807 100644 --- a/src/XenobladeChroniclesX/Mods/readme.md +++ b/src/XenobladeChroniclesX/Mods/readme.md @@ -4,13 +4,10 @@ - **Enemy Statistics mod**: Apply a global percent modificator on all enemies stats (HP, Melee Attack, Melee Accuracy, Ranged Attack, Ranged Accuracy, Potential and Evasion). - **Enemy De-aggro reducer**: Reduce escape distance needed to lose aggro from enemies. - **Ground Damage multiplicator**: Increase the ground damage dealt by your team (skells not impacted). -- **Overdrive unlocked**: Overdrive is unlocked and can be used before Chapter 5. -- **Skell Flight Unlocked**: Flight Module is unlocked and can be used before A Girl's Wings. -- **Infinite Fuel**: Never run out of fuel for your skell. +- **Overdrive unlocked**: Overdrive is unlocked and can be used before Chapter 3. - **Soul Challenges - AutoBattles**: The Soul Challenges QTE are hidden and automatically successful (only affect ground battles, not the QTE on Skell binding and destroying). - **Soul Challenges - Difficulty**: The Soul Challenge's difficulty (the time left for doing the QTE) does not increase over time during a battle. - **Soul Challenges - Skell restored**: When your Skell is destroyed during battle, it is restored automatically (you may need to fast travel). -- **TP & HP functionality**: The mod by default only applies 2 Quality of Life changes. It sets your Tension points to their max once at boot, and prevents your Skell GP from draining while your outside it. ### BLADE mods - **BLADE Medal Count Mod**: sets the number of BLADE Medals you currently have. @@ -21,17 +18,14 @@ > 2. Adds (money/100) tickets to DLC missions - **Lv60 skells unlocked (+cheat)**: Unlock the post-game skells and equipment as soon as you become a BLADE member (it also considers you have a Skell Flight License). The "Cheat" preset ignores all requirements for crafting, and also the level requirement to use a Skell. Yes, that means you can get an Ares 90 for free, right after Chapter 2! - **More Reward Tickets**: Increase the amount of Tickets you get from Squad tasks and missions. Presets with "uncapped" means they ignore the max amount of Tickets you can have. -- **Infinite Tickets**: Force the game to read that you have a certain ammount of tickets and Miranium. - **Offline Global Nemesis missions**: Global Nemesis (both Telethia Plume and Yggralith Zero) are available anytime in the BLADE console. There is an optional cheat to make BLADE Medals not needed. - **Offline Squad tasks and missions**: Squad tasks and missions become available for offline play! When the game starts, a Squad quest is randomly selected (with "Random" preset) and the timer is stopped. > Other presets allow to choose a specific tasks list. (c ) stands for collectible and (t) for Tyrant. > When "Random" preset is selected, you can randomly change the active mission by opening the main menu and select "Social entry" > "Select Squad" command. - **Field Skill Level Mod**: Can change your Mechanical, Biological, Archeaological field level. -- **Offline Change Division**: Can force change your BLADE Division, which is normally only possible online. ### Character mods - **Character Level**: Can change any characters current level. -- **Character Class**: Can change any characters current class & rank. - **Character Size**: Can change any characters size, and even has some glitch size values. - **Change Character Name**: Can change any characters name and can rename your avatar. - **Unlock Character Arts**: Can unlock any or all arts and can force arts to be equiped, even multiple of the same art. @@ -70,14 +64,11 @@ >Tip: Press and hold the R stick button to speed up even more - **No Model Fade**: Makes it so that character and skell models don't fade out when the camera gets too close. - **Remove Overdrive Blur**: Removes the blur that happens around the screen when you are in Overdrive. -- **Lib.ini Edit**: Allows easy editing of the lib.ini file which contains various graphical settings. -- **Fix Camera Bug**: Fixes the bug where if your character ever goes under a ceiling, the game forgets all your settings. ### HUD mods - **Change time anywhere**: Allow to change time of the day from the eManual entry of the main menu. - **NPC info bubbles distance mod**: Increase the distance from which NPC's yellow speech bubbles are seen. > I made this mod to get rid of the frustration not being able to get information from NLA people unless I get very close to each one of them. -- **Remove Battle UI**: Removes most of the mid-battle UI elements. Very unstable but good enough for screenshots. ### Loot mods - **Equipment - Alternate random augments**: change the way augments are selected during loot generation. diff --git a/src/XenobladeChroniclesX/Workarounds/Brightness/rules.txt b/src/XenobladeChroniclesX/Workarounds/Brightness/rules.txt index 0e4a06d95..f6d9005e3 100644 --- a/src/XenobladeChroniclesX/Workarounds/Brightness/rules.txt +++ b/src/XenobladeChroniclesX/Workarounds/Brightness/rules.txt @@ -4,7 +4,7 @@ name = Brightness fix with colour and contrast path = "Xenoblade Chronicles X/Workarounds/Brightness" description = Fixes overbright day and too dark night. Optionally tweaks colour and contrast. #Credits: getdls -version = 7 +version = 6 default = 1 [Default] @@ -15,7 +15,7 @@ $vibrance:float = 0.0 # 0.0 no extra vibrance $mixBalance:float = 1.0 # FXAA, bicubic sharpen or smooth pass -> Reserved for FX / Contrasty rework $glare:float = 0.95 # Reflection shader raise/lower to balance clipping -> Reserved for FX / Contrasty rework $lift:float = 0.002 # Raise shadows -> Reserved for FX / Contrasty rework -$isCustom:int = 0 +$isCustom = 0 ##Pre packed settings [Preset] @@ -61,7 +61,7 @@ $vibrance:float = 0.45 [Preset] name = Custom category = Standard presets -$isCustom:int = 1 +$isCustom = 1 ##exposure diff --git a/src/XenobladeChroniclesX/Workarounds/BrightnessOLD/rules.txt b/src/XenobladeChroniclesX/Workarounds/BrightnessOLD/rules.txt index ee8077736..fa724bf1b 100644 --- a/src/XenobladeChroniclesX/Workarounds/BrightnessOLD/rules.txt +++ b/src/XenobladeChroniclesX/Workarounds/BrightnessOLD/rules.txt @@ -2,7 +2,7 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = OLD Brightness Workaround path = "Xenoblade Chronicles X/Workarounds/Brightness OLD" -description = Old version of the brightness work arround.|The new version is *significantly* more accurate to Wii U but currently does not support gamma, glare, or lift modification. +description = Old version of the brightness workaround.|The new version is *significantly* more accurate to Wii U but currently does not support gamma, glare, or lift modification. #Credits: getdls version = 6 From edf46bb190b54a2c3c4d52ecea79accc27b60e77 Mon Sep 17 00:00:00 2001 From: Intra Date: Tue, 8 Apr 2025 12:55:50 -0500 Subject: [PATCH 2/4] fixed! --- src/XenobladeChroniclesX/Mods/readme.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/XenobladeChroniclesX/Mods/readme.md b/src/XenobladeChroniclesX/Mods/readme.md index 531e00807..fd1c31910 100644 --- a/src/XenobladeChroniclesX/Mods/readme.md +++ b/src/XenobladeChroniclesX/Mods/readme.md @@ -4,10 +4,13 @@ - **Enemy Statistics mod**: Apply a global percent modificator on all enemies stats (HP, Melee Attack, Melee Accuracy, Ranged Attack, Ranged Accuracy, Potential and Evasion). - **Enemy De-aggro reducer**: Reduce escape distance needed to lose aggro from enemies. - **Ground Damage multiplicator**: Increase the ground damage dealt by your team (skells not impacted). -- **Overdrive unlocked**: Overdrive is unlocked and can be used before Chapter 3. +- **Overdrive unlocked**: Overdrive is unlocked and can be used before Chapter 5. +- **Skell Flight Unlocked**: Flight Module is unlocked and can be used before A Girl's Wings. +- **Infinite Fuel**: Never run out of fuel for your skell. - **Soul Challenges - AutoBattles**: The Soul Challenges QTE are hidden and automatically successful (only affect ground battles, not the QTE on Skell binding and destroying). - **Soul Challenges - Difficulty**: The Soul Challenge's difficulty (the time left for doing the QTE) does not increase over time during a battle. - **Soul Challenges - Skell restored**: When your Skell is destroyed during battle, it is restored automatically (you may need to fast travel). +- **TP & HP functionality**: The mod by default only applies 2 Quality of Life changes. It sets your Tension points to their max once at boot, and prevents your Skell GP from draining while your outside it. ### BLADE mods - **BLADE Medal Count Mod**: sets the number of BLADE Medals you currently have. @@ -18,17 +21,21 @@ > 2. Adds (money/100) tickets to DLC missions - **Lv60 skells unlocked (+cheat)**: Unlock the post-game skells and equipment as soon as you become a BLADE member (it also considers you have a Skell Flight License). The "Cheat" preset ignores all requirements for crafting, and also the level requirement to use a Skell. Yes, that means you can get an Ares 90 for free, right after Chapter 2! - **More Reward Tickets**: Increase the amount of Tickets you get from Squad tasks and missions. Presets with "uncapped" means they ignore the max amount of Tickets you can have. +- **Infinite Tickets**: Force the game to read that you have a certain ammount of tickets and Miranium. - **Offline Global Nemesis missions**: Global Nemesis (both Telethia Plume and Yggralith Zero) are available anytime in the BLADE console. There is an optional cheat to make BLADE Medals not needed. - **Offline Squad tasks and missions**: Squad tasks and missions become available for offline play! When the game starts, a Squad quest is randomly selected (with "Random" preset) and the timer is stopped. > Other presets allow to choose a specific tasks list. (c ) stands for collectible and (t) for Tyrant. > When "Random" preset is selected, you can randomly change the active mission by opening the main menu and select "Social entry" > "Select Squad" command. - **Field Skill Level Mod**: Can change your Mechanical, Biological, Archeaological field level. +- **Offline Change Division**: Can force change your BLADE Division, which is normally only possible online. ### Character mods - **Character Level**: Can change any characters current level. +- **Character Class**: Can change any characters current class & rank. - **Character Size**: Can change any characters size, and even has some glitch size values. - **Change Character Name**: Can change any characters name and can rename your avatar. - **Unlock Character Arts**: Can unlock any or all arts and can force arts to be equiped, even multiple of the same art. +- **Equip Any Weapon**: Allows any character to equip any weapon and also removes the level check on gear. ### Collectibles mods - **Catch range mod**: Increase the distance from which you catch a collectible. @@ -45,7 +52,7 @@ - **Battle Points X**: Increase the battle points gained. - **BLADE Points X**: Increase the Blade points gained. - **Class Exp Points X**: Increase the class experience points gained. -- **Friend Points X**: Increase the friend points gained during Soul Voice activation in battles. +- **Affinity Points X**: Increase the friend points gained during Soul Voice activation in battles. - **Inner Exp Points X**: Increase the experience points gained. ### FrontierNav Probes mods @@ -55,7 +62,7 @@ - **Resources income frequency/quantity**: same as Miranium, but for resources obtained using FrontierNav Probes. ### Graphics mods -- **Camera distance mod**: Change the default zoom. +- **Default Camera Distance**: Change the default zoom. - **Freecam**: Look around the world with the monolith soft developer freecam. >Hold 'R' button to move camera up | >Hold 'L' button to move camera down | @@ -64,11 +71,14 @@ >Tip: Press and hold the R stick button to speed up even more - **No Model Fade**: Makes it so that character and skell models don't fade out when the camera gets too close. - **Remove Overdrive Blur**: Removes the blur that happens around the screen when you are in Overdrive. +- **Lib.ini Edit**: Allows easy editing of the lib.ini file which contains various graphical settings. +- **Fix Camera Bug**: Fixes the bug where if your character ever goes under a ceiling, the game forgets all your settings. ### HUD mods - **Change time anywhere**: Allow to change time of the day from the eManual entry of the main menu. - **NPC info bubbles distance mod**: Increase the distance from which NPC's yellow speech bubbles are seen. > I made this mod to get rid of the frustration not being able to get information from NLA people unless I get very close to each one of them. +- **Remove Battle UI**: Removes most of the mid-battle UI elements. Very unstable but good enough for screenshots. ### Loot mods - **Equipment - Alternate random augments**: change the way augments are selected during loot generation. @@ -105,6 +115,7 @@ > Horizontal velocity is the distance you reach when jumping. > Vertical Velocity is the height of the jump (works while idle, walking and sprinting) - **Run Forrest, run!**: Increases the speed of sprinting. +- **We're going to plad!**: Increase the speed of Skell Flight. ### Weather mods - **Force weather**: Force selected weather. Just select a preset and unload/reload the pack. From ab7c824d5fe39f59a12b8fe532385c01c096e607 Mon Sep 17 00:00:00 2001 From: Intra Date: Tue, 8 Apr 2025 13:01:32 -0500 Subject: [PATCH 3/4] fixed accidently changed credits comment back in 2020 crem contributed code for the JP version because it required more than just changing the address offset to make this mod work --- src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt b/src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt index 34e4fa286..a5a8b484a 100644 --- a/src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt +++ b/src/XenobladeChroniclesX/Mods/BladeMoreTickets/rules.txt @@ -3,7 +3,7 @@ titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 name = "More Reward Tickets" path = "Xenoblade Chronicles X/Mods/BLADE/More Reward Tickets" description = Increase the Tickets gained with Squad tasks and missions.|Uncapped presets ignore max tickets. -#Credits: lasyan3 +#Credits: lasyan3, Crementif version = 6 [Default] From 5e2c29897064c701400be90039bfdba3c6b7d0a6 Mon Sep 17 00:00:00 2001 From: Intra Date: Mon, 14 Apr 2025 00:49:26 -0500 Subject: [PATCH 4/4] new mod to disable all music super simple, its 1 blr on a function. not worth making a new PR for given I don't think I'll be making another huge batch of new mods soon --- .../MusicDisableAll/patch_music_disable.asm | 17 +++++++++++++++++ .../Mods/MusicDisableAll/rules.txt | 7 +++++++ 2 files changed, 24 insertions(+) create mode 100644 src/XenobladeChroniclesX/Mods/MusicDisableAll/patch_music_disable.asm create mode 100644 src/XenobladeChroniclesX/Mods/MusicDisableAll/rules.txt diff --git a/src/XenobladeChroniclesX/Mods/MusicDisableAll/patch_music_disable.asm b/src/XenobladeChroniclesX/Mods/MusicDisableAll/patch_music_disable.asm new file mode 100644 index 000000000..4cee1795e --- /dev/null +++ b/src/XenobladeChroniclesX/Mods/MusicDisableAll/patch_music_disable.asm @@ -0,0 +1,17 @@ +[XCX_NoBGM_V101E_V102U] +moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E +; WHO : cfs::CfSoundManagerBGM::bgmPlay +; WHAT : Never process this function so that music is never played +0x022A2440 = blr + +[XCX_NoBGM_V102J] +moduleMatches = 0x7672271D ; 1.0.2J +0x022A1E58 = blr + +[XCX_NoBGM_V100U] +moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U +0x022A23D0 = blr + +[XCX_NoBGM_V100J] +moduleMatches = 0x785CA8A9 ; 1.0.0J +0x022A1BAC = blr diff --git a/src/XenobladeChroniclesX/Mods/MusicDisableAll/rules.txt b/src/XenobladeChroniclesX/Mods/MusicDisableAll/rules.txt new file mode 100644 index 000000000..8cf297d24 --- /dev/null +++ b/src/XenobladeChroniclesX/Mods/MusicDisableAll/rules.txt @@ -0,0 +1,7 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = "Disable music" +path = "Xenoblade Chronicles X/Mods/Music/Disable music" +description = Disable all area and battle music. +#Credits: Intra +version = 6