[XCX] Add mods for customizing the loot (especially equipments), remove the fov mod (make the game crash) and rename some packs for better consistency.

This commit is contained in:
lasyan3 2018-11-07 19:02:06 +01:00
parent 2e6e4da994
commit c55d3a385d
25 changed files with 239 additions and 163 deletions

View File

@ -1,8 +1,8 @@
[Definition] [Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Ground damage multiplicator" name = "Ground damage multiplicator"
path = "Xenoblade Chronicles X/Modifications/Battle/Damage multiplicator (on foot)" path = "Xenoblade Chronicles X/Modifications/Battle/Ground damage multiplicator"
description = "Increase the damage done by your team on foot (skells not impacted)." description = "Increase the ground damage done by your team (skells not impacted)."
version = 3 version = 3
[Preset] [Preset]

View File

@ -5,14 +5,14 @@ path = "Xenoblade Chronicles X/Modifications/Battle/Enemy Statistics modificator
description = "Apply a percent modificator on enemies stats (HP, Melee Attack, Melee Accuracy, Ranged Attack, Ranged Accuracy, Potential and Evasion). You can consult the new values in the Bestiary menu." description = "Apply a percent modificator on enemies stats (HP, Melee Attack, Melee Accuracy, Ranged Attack, Ranged Accuracy, Potential and Evasion). You can consult the new values in the Bestiary menu."
version = 3 version = 3
[Preset]
name = Set at 75%
$mod = 0.00075
[Preset] [Preset]
name = Set at 50% name = Set at 50%
$mod = 0.0005 $mod = 0.0005
[Preset]
name = Set at 75%
$mod = 0.00075
[Preset] [Preset]
name = Set at 125% name = Set at 125%
$mod = 0.00125 $mod = 0.00125

View File

@ -1,6 +1,6 @@
[Definition] [Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Automatic QTE" name = "Automatic Soul Challenges"
path = "Xenoblade Chronicles X/Modifications/Battle/Automatic QTE" path = "Xenoblade Chronicles X/Modifications/Battle/Automatic Soul Challenges"
description = "The QTE challenges are automatic and silent success (no preset needed)." description = "The Soul Challenges QTE are hidden and automatically successful (no preset needed)."
version = 3 version = 3

View File

@ -2,7 +2,7 @@
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Squad tasks and missions are available offline" name = "Squad tasks and missions are available offline"
path = "Xenoblade Chronicles X/Modifications/BLADE/Offline tasks and missions" path = "Xenoblade Chronicles X/Modifications/BLADE/Offline tasks and missions"
description = "Squad tasks and missions are available offline. Uncapped presets ignore max tickets." description = "Squad tasks and missions are available offline. Uncapped presets ignore max tickets. Use [Social > Squad Select] menu to change the Squad Tasks."
version = 3 version = 3
[Preset] [Preset]

View File

@ -2,5 +2,5 @@
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Catch range mod" name = "Catch range mod"
path = "Xenoblade Chronicles X/Modifications/Collectibles/Catch range mod" path = "Xenoblade Chronicles X/Modifications/Collectibles/Catch range mod"
description = "Increase the distance from which collectibles are looted." description = "Increase the distance from which collectibles are looted (no preset needed)."
version = 3 version = 3

View File

@ -2,6 +2,6 @@
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Ignore 100th" name = "Ignore 100th"
path = "Xenoblade Chronicles X/Modifications/Collectibles/Ignore 100th" path = "Xenoblade Chronicles X/Modifications/Collectibles/Ignore 100th"
description = "Do not collect if you have 99 of the items (and don't sell it)." description = "Do not collect if you have 99 of the items, and don't sell it (no preset needed)."
version = 3 version = 3

View File

@ -1,12 +0,0 @@
[XCX_CAMERA_FOV]
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
codeCaveSize = 0x4
0x00000000 = .float $mod ; fov (default is 40.0)
_fov = 0x00000000
# CamData::CCamDataManager::getFov((CamData::eTargetTypes))
0x02229CE0 = lis r11, _fov@h
0x02229CF8 = lfs f1, _fov@l(r11)
0x02229D14 = nop

View File

@ -1,22 +0,0 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Camera mod (fov)"
path = "Xenoblade Chronicles X/Modifications/Graphics/Camera mod (fov)"
description = "Affect the default fov of the camera (Vanilla fov is 40)."
version = 3
[Preset]
name = "Fov 50"
$mod = 50.0
[Preset]
name = "Fov 60"
$mod = 60.0
[Preset]
name = "Fov 70"
$mod = 70.0
[Preset]
name = "Fov 80"
$mod = 80.0

View File

@ -0,0 +1,19 @@
[XCX_LOOT_EQUIPMENT_BESTQUALITY]
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
; ----------------------------------------------------------------------------
; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs
; WHAT : Always best equipment looted (X6X)
0x021AD710 = nop ; ground weapons ?
0x021ADA6C = nop ; ground armors
0x021ADDE8 = nop ; skell weapons
0x021AE164 = nop ; skell armors
; ----------------------------------------------------------------------------
; WHO : ItemDrop::CItemDropManager::calcAfxSltNum((unsigned short))
; WHAT : Control of the loot quality (always orange/yellow)
0x021AB380 = li r28, 100
0x021AB394 = li r29, 100
0x021AB3AC = li r30, 100

View File

@ -0,0 +1,6 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Equipment - Best Quality"
path = "Xenoblade Chronicles X/Modifications/Loot/Equipment - Always the Best Quality (X6X)"
description = "Equipment looted is always of the best quality (Prime for ground gear and Intergalactic for Skells) and has always 3 augments and 3 extra free slots (no preset needed)."
version = 3

View File

@ -0,0 +1,34 @@
[XCX_LOOT_EQUIPMENT_COUNT]
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
codeCaveSize = 0x30
0x00000000 = .byte $cnt3
0x00000004 = .byte $cnt2
0x00000008 = .byte $cnt1
_cnt3 = 0x00000000
_cnt2 = 0x00000004
_cnt1 = 0x00000008
_forceLot_3 = 0x0000000C
0x0000000C = lis r3, _cnt3@h
0x00000010 = lbz r3, _cnt3@l(r3)
0x00000014 = blr
_forceLot_2 = 0x00000018
0x00000018 = lis r3, _cnt2@h
0x0000001C = lbz r3, _cnt2@l(r3)
0x00000020 = blr
_forceLot_1 = 0x00000024
0x00000024 = lis r3, _cnt1@h
0x00000028 = lbz r3, _cnt1@l(r3)
0x0000002C = blr
; ----------------------------------------------------------------------------
; WHO : ItemDrop::CItemDropManager::calcItemNum((uchar))
; WHAT : Chances to loot multiples equipments (3 max)
0x021AB218 = bla _forceLot_3
0x021AB268 = bla _forceLot_2
0x021AB2B8 = bla _forceLot_1

View File

@ -0,0 +1,24 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Equipment - Force Count"
path = "Xenoblade Chronicles X/Modifications/Loot/Equipment - Force Count"
description = "Force the count of equipment looted (IF and only IF you get a Silver or Gold treasure of course)."
version = 3
[Preset]
name = "Always 3 equipments"
$cnt3 = 0
$cnt2 = 100
$cnt1 = 100
[Preset]
name = "Always 2 equipments"
$cnt3 = 100
$cnt2 = 0
$cnt1 = 100
[Preset]
name = "Always 1 equipment"
$cnt3 = 100
$cnt2 = 100
$cnt1 = 0

View File

@ -0,0 +1,29 @@
[XCX_LOOT_EQUIPMENT_TYPE]
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
codeCaveSize = 0x1C
; ----------------------------------------------------------------------------
; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs
; WHAT : Force some kind of equipment to be looted in Gold chests
; 2 = Ground weapons
; 4 = Ground armors
; 6 = Skell weapons
; 8 = Skell armors
0x00000000 = .byte $mod
_ratio = 0x00000000
_setEquipR4 = 0x00000004
0x00000004 = lis r4, _ratio@ha
0x00000008 = lbz r4, _ratio@l(r4)
0x0000000C = blr
0x021AEB88 = bla _setEquipR4
_setEquipR27 = 0x00000010
0x00000010 = lis r27, _ratio@ha
0x00000014 = lbz r27, _ratio@l(r27)
0x00000018 = blr
0x021AEB5C = bla _setEquipR27

View File

@ -0,0 +1,22 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Equipment - Force Type"
path = "Xenoblade Chronicles X/Modifications/Loot/Equipment - Force Type"
description = "Force the type of equipment looted."
version = 3
[Preset]
name = "Ground weapons"
$mod = 2
[Preset]
name = "Ground armors"
$mod = 4
[Preset]
name = "Skell weapons"
$mod = 6
[Preset]
name = "Skell armors"
$mod = 8

View File

@ -0,0 +1,8 @@
[XCX_LOOT_EQUIPMENT_BROKEN]
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
; ----------------------------------------------------------------------------
; WHO : __CPR129__calcItem__Q2_8ItemDrop16CItemDropManagerFRQ3_J13JJ22J9SDropInfoUcRCQ3_J13JJ22J11SCreateInfo
; WHAT : Remove broken equipment (to be tested)
0x021AEBE0 = li r3, 0 ; Nothing is broken

View File

@ -0,0 +1,7 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Equipment - Ignore broken"
path = "Xenoblade Chronicles X/Modifications/Loot/Equipment - Ignore broken"
description = "Never get broken equipment."
version = 3

View File

@ -1,52 +0,0 @@
[XCX_LOOT_EQUIPMENT]
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
codeCaveSize = 0x1C
; ----------------------------------------------------------------------------
; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs
; WHAT : Force some kind of equipment to be looted in Gold chests
; 2 = Ground weapons
; 4 = Ground armors
; 6 = Skell weapons
; 8 = Skell armors
0x00000000 = .byte $mod
_ratio = 0x00000000
_setEquipR4 = 0x00000004
0x00000004 = lis r4, _ratio@ha
0x00000008 = lbz r4, _ratio@l(r4)
0x0000000C = blr
0x021AEB88 = bla _setEquipR4
_setEquipR27 = 0x00000010
0x00000010 = lis r27, _ratio@ha
0x00000014 = lbz r27, _ratio@l(r27)
0x00000018 = blr
0x021AEB5C = bla _setEquipR27
; ----------------------------------------------------------------------------
; WHO : ItemDrop::CItemDropManager::calcItemNum((uchar))
; WHAT : Chances to loot multiples equipments (3 max)
0x021AB238 = li r11, 100 ; DRP_ItemNumTable - Lot_3
; ----------------------------------------------------------------------------
; WHO : __CPR98__calcItemTableID__Q2_8ItemDrop16CItemDropManagerFUcRCQ3_J20JJ29J11SCreateInfoRUs
; WHAT : Always best equipment looted (X6X)
0x021AD710 = nop ; ground weapons ?
0x021ADA6C = nop ; ground armors
0x021ADDE8 = nop ; skell weapons
0x021AE164 = nop ; skell armors
; ----------------------------------------------------------------------------
; WHO : ItemDrop::CItemDropManager::calcAfxSltNum((unsigned short))
; WHAT : Control of the loot quality (always orange/yellow)
0x021AB380 = li r28, 100
0x021AB394 = li r29, 100
0x021AB3AC = li r30, 100

View File

@ -1,26 +0,0 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Force equipment loot mod"
path = "Xenoblade Chronicles X/Modifications/Loot/Force equipment loot mod"
description = "Force the type of equipment looted (always 3 pieces of best quality possible)."
version = 3
[Preset]
name = "Ground weapons"
$mod = 2
[Preset]
name = "Ground armors"
$mod = 4
[Preset]
name = "Skell weapons"
$mod = 6
[Preset]
name = "Skell armors"
$mod = 8
[Preset]
name = "Never drop equipment! (unexpected results if chest quality is forced)"
$mod = 0

View File

@ -1,22 +0,0 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Force chest quality mod"
path = "Xenoblade Chronicles X/Modifications/Loot/Force chest quality mod"
description = "Force the chest quality (WARNING: this will break quests which need another quality loot)."
version = 3
[Preset]
name = "Always Gold chests"
$mod = 1
[Preset]
name = "Always Silver chests"
$mod = 2
[Preset]
name = "Always Bronze chests"
$mod = 3
[Preset]
name = "No chest at all!"
$mod = 0

View File

@ -1,7 +1,7 @@
[Definition] [Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Materials drop ratio mod" name = "Materials - Drop Ratio"
path = "Xenoblade Chronicles X/Modifications/Loot/Materials drop ratio" path = "Xenoblade Chronicles X/Modifications/Loot/Materials - Drop Ratio"
description = "Affect the materials minimum drop ratio in the loots." description = "Affect the materials minimum drop ratio in the loots."
version = 3 version = 3

View File

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

View File

@ -0,0 +1,41 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Treasure Quality"
path = "Xenoblade Chronicles X/Modifications/Loot/Treasure Quality"
description = "Select the preferred treasure quality you want to loot (see patches.txt for explanation). Presets with [FORCED] will always give you the wanted treasure but this will break quests whose need a different quality (but is very useful for loot grinding)."
version = 3
[Preset]
name = "Gold quality"
$treasure = 1
$forced = 0
[Preset]
name = "Silver quality"
$treasure = 2
$forced = 0
[Preset]
name = "Bronze quality"
$treasure = 3
$forced = 0
[Preset]
name = "Gold quality (FORCED)"
$treasure = 1
$forced = 1
[Preset]
name = "Silver quality (FORCED)"
$treasure = 2
$forced = 2
[Preset]
name = "Bronze quality (FORCED)"
$treasure = 3
$forced = 3
[Preset]
name = "No treasure at all"
$treasure = 0
$forced = 0

View File

@ -1,10 +1,10 @@
[XCX_MOVESPEED] [XCX_MOVESPEED]
moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U moduleMatches = 0xF882D5CF, 0x30B6E091 ; 1.0.1E, 1.0.2U
codeCaveSize = 0x18 codeCaveSize = 0x1C
0x00000014 = .float $mod ; dash speed (smallest means fastest, default is 1.0) 0x00000018 = .float $mod ; dash speed (smallest means fastest, default is 1.0)
_speed = 0x00000014 _speed = 0x00000018
_setSpeed = 0x00000000 _setSpeed = 0x00000000
0x00000000 = lis r3, _speed@h 0x00000000 = lis r3, _speed@h
@ -15,3 +15,10 @@ _setSpeed = 0x00000000
# chr::CInnerLabelState::applyFieldMoveWeight((float)) # chr::CInnerLabelState::applyFieldMoveWeight((float))
0x02643330 = bla _setSpeed ; SetVariableFloat(0xBD,float) 0x02643330 = bla _setSpeed ; SetVariableFloat(0xBD,float)
;0x026431C8 = bla _setSpeed
;0x026431D8 = bla _setSpeed
;0x026431E8 = bla _setSpeed
;0x026431F8 = bla _setSpeed
;0x02643208 = bla _setSpeed
;0x02643218 = bla _setSpeed

View File

@ -15,4 +15,4 @@ $mod = 0.5
[Preset] [Preset]
name = "Speed x3" name = "Speed x3"
$mod = 0.3 $mod = 0.33