Skip to content

Commit

Permalink
[Xenoblade X] Adds support for unused weather conditions | Also fixes…
Browse files Browse the repository at this point in the history
… a mod that could be used for online griefing (#580)

* Update rules.txt

Adds support for unused weather conditions in the game

* Update patch_exp_blade.asm

fixes 1.0.2J support

* Update rules.txt

Felt I was credited enough in the github and blingblong did most of the work, I just got the mod in a state where it was polished enough to be published

* Update rules.txt

in v886 I made TA the default instead of DLC to fix a bug it caused in the JP version. This is making TA first in the name to match TA being the first option

* Update rules.txt

* Add files via upload

Small fix with previous commit. this completes everything I wanted to do

* final weather improvement

Actual final commit. Made it so that the preset names now show the $wrt value making easier to understand, and added support for the blade barracks weather conditions (just need to uncomment to use)

* E fix: Online Griefing Patch

It was discovered that the patch_offline_squad could be used to destroy currently active online squad missions that other players are doing. This Fixes that by making the mod kill the online. This also provides some troubleshooting text in the rules.txt if the mod doesn't work for a player.

Ideally a better kill online code should exist but this is the best one that exist rn

* Update rules.txt

Typo fix... oops

* globalnemesis offline feature update

you can now pick between the friday version and the monday version of global nemesis telethia plume. (previously the mod only had monday, which is worse than friday. now it has both)
  • Loading branch information
intra2 authored Dec 21, 2022
1 parent b9e4e62 commit 4db55f5
Show file tree
Hide file tree
Showing 9 changed files with 243 additions and 50 deletions.
6 changes: 3 additions & 3 deletions src/XenobladeChroniclesX/Mods/BattleEscapeDistance/rules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ version = 6
$mod = 1.0

[Preset]
name = "Hell: Enemies will never de-aggro"
$mod = 0.0001
name = "Enemies will never de-aggro"
$mod = 0.00001

[Preset]
name = "Increase Range x2"
Expand All @@ -30,4 +30,4 @@ $mod = 4.0

[Preset]
name = "Enemies will not fight at all (game breaking)"
$mod = 500.0
$mod = 1000.0
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Gain Reward Tickets from DLC or Time Attack missions"
path = "Xenoblade Chronicles X/Mods/BLADE/Gain Reward Tickets from DLC or Time Attack missions"
name = "Gain Reward Tickets from Time Attack or DLC missions"
path = "Xenoblade Chronicles X/Mods/BLADE/Gain Reward Tickets from Time Attack or DLC missions"
description = Adds Exchange Tickets in reward of completing Blade missions.|This mod will not work if More Reward Tickets is enabled.
version = 6

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[XCX_OFFLINEWE]
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
.int $teli

; Manage RPs & Appraisal
VarShareRP:
Expand Down Expand Up @@ -31,12 +33,12 @@ moduleMatches = 0xF882D5CF, 0x30B6E091, 0x218F6E07 ; 1.0.1E, 1.0.2U, 1.0.0E

; collectQuestInfoWE__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo
0x022C6254 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))
0x022C6280 = li r3, 0x4EE9 ; Quest ID for WE - fw::SocialDataStore::getWorldEnemyQuest(const(unsigned int))
0x022C6280 = li r3, $teli ; Quest ID for WE - fw::SocialDataStore::getWorldEnemyQuest(const(unsigned int))
0x022C65A8 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))

; collectQuestInfoFR__Q2_3cfs15CfSocialManagerFRQ2_2ml45resvector__tm__28_PQ2_3cfs17CfSocialQuestInfo
0x022C66CC = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))
0x022C66FC = li r3, 0x4EED
0x022C66FC = li r3, $ygg
0x022C6738 = nop ; network test?
0x022C6A5C = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))

Expand Down Expand Up @@ -87,11 +89,11 @@ moduleMatches = 0x7672271D ; 1.0.2J
0x022C7A70 = nop ; network test

0x022C5C64 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))
0x022C5C90 = li r3, 0x4EE9 ; Quest ID for WE - fw::SocialDataStore::getWorldEnemyQuest(const(unsigned int))
0x022C5C90 = li r3, $teli ; Quest ID for WE - fw::SocialDataStore::getWorldEnemyQuest(const(unsigned int))
0x022C5FB8 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))

0x022C60DC = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))
0x022C610C = li r3, 0x4EED
0x022C610C = li r3, $ygg
0x022C6148 = nop ; network test?
0x022C646C = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))

Expand Down Expand Up @@ -120,12 +122,13 @@ 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
0x022C7FF0 = nop ; network test

0x022C61E4 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))
0x022C6210 = li r3, 0x4EE9 ; Quest ID for WE - fw::SocialDataStore::getWorldEnemyQuest(const(unsigned int))
0x022C6210 = li r3, $teli ; Quest ID for WE - fw::SocialDataStore::getWorldEnemyQuest(const(unsigned int))
0x022C6538 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))

0x022C665C = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))
0x022C668C = li r3, 0x4EED
0x022C668C = li r3, $ygg
0x022C66C8 = nop ; network test?
0x022C69EC = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))

Expand Down Expand Up @@ -156,11 +159,11 @@ moduleMatches = 0x785CA8A9 ; 1.0.0J
0x022C78FC = nop ; network test

0x022C5AF0 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))
0x022C5B1C = li r3, 0x4EE9 ; Quest ID for WE - fw::SocialDataStore::getWorldEnemyQuest(const(unsigned int))
0x022C5B1C = li r3, $teli ; Quest ID for WE - fw::SocialDataStore::getWorldEnemyQuest(const(unsigned int))
0x022C5E44 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))

0x022C5F68 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))
0x022C5F98 = li r3, 0x4EED
0x022C5F98 = li r3, $ygg
0x022C5FD4 = nop ; network test?
0x022C62F8 = li r3, 1 ; fw::SocialDataStore::getWorldEnemyCount(const(void))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,16 @@ name = "Offline Global Nemesis missions"
path = "Xenoblade Chronicles X/Mods/BLADE/Offline Global Nemesis missions"
description = Global Nemesis (both Telethia Plume and Yggralith Zero) are available in the BLADE console.|You still need medals to start the battle.
version = 6

[Default]
$ygg = 0x4EED
$teli = 0x4EE9

[Preset]
category = "Telethia Bossfight Version"
name = "Monday Telethia (rising energy mist - time: 0:00)"

[Preset]
category = "Telethia Bossfight Version"
name = "Friday Telethia (thunderstorms - time: 15:00)"
$teli = 0x4EE8
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ moduleMatches = 0xF882D5CF, 0x218F6E07 ; 1.0.1E, 1.0.0E

;################## BLADE Home Terminal (for Squad Quest Selection)
0x02AC5C10 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
0x02E0C5B0 = li r3, -1

;################## Change Squad Mission using main menu
0x02B85134 = bla _savePtr
Expand All @@ -112,6 +113,7 @@ moduleMatches = 0x30B6E091 ; 1.0.2U

;################## BLADE Home Terminal (for Squad Quest Selection)
0x02AC5C00 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
0x02E0C550 = li r3, -1

;################## Change Squad Mission using main menu
0x02B85124 = bla _savePtr
Expand Down Expand Up @@ -152,6 +154,7 @@ moduleMatches = 0x7672271D ; 1.0.2J
0x0295B7F0 = li r0, 42
0x02BF81D0 = li r11, 1 ; garder affichée la liste des tasks en bas à droite ; keep displayed the list of tasks at the bottom right
0x02AC22D0 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
0x02E07A78 = li r3, -1
0x02B81070 = bla _savePtr
0x02B81088 = bla _savePtr
0x02B80FC0 = li r11, 1
Expand Down Expand Up @@ -189,6 +192,7 @@ moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U
0x0295E988 = li r0, 42
0x02BFC6C0 = li r11, 1 ; garder affichée la liste des tasks en bas à droite ; keep displayed the list of tasks at the bottom right
0x02AC5B84 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
0x02E0C3D8 = li r3, -1
0x02B850A8 = bla _savePtr
0x02B850C0 = bla _savePtr
0x02B84FF8 = li r11, 1
Expand Down Expand Up @@ -226,6 +230,7 @@ moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U
;0x0295A060 = li r0, 42
;0x02BF5364 = li r11, 1 ; garder affichée la liste des tasks en bas à droite ; keep displayed the list of tasks at the bottom right
;0x02AC04E8 = li r3, 0 ; menu::CTerminalMenu_SquadQuest::offline
;0x02E03228 = li r3, -1
;0x02B7EAC0 = bla _savePtr
;0x02B7EAD8 = bla _savePtr
;0x02B7EA10 = li r11, 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Squad tasks and missions are available offline"
path = "Xenoblade Chronicles X/Mods/BLADE/Offline Squad tasks and missions"
description = Squad tasks and missions are available offline. Presets allow to select a Squad Mission, or you can use [Social > Squad Select] menu for random selection.||Recommended to be combined with More Reward Tickets (x5).
description = Squad tasks and missions are available offline. Presets allow to select a Squad Mission, or you can use [Social > Squad Select] menu for random selection.||Recommended to be combined with More Reward Tickets (x5).||"Enable Online Mode" setting must be OFF for the mod to work!!
version = 6

[Default]
Expand Down Expand Up @@ -110,3 +110,7 @@ $missionId = 24
[Preset]
name = "N25: Unused squad mission"
$missionId = 25

[Preset]
name = "N00: Broken squad mission"
$missionId = 26
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ moduleMatches = 0x30B6E091 ; 1.0.2U
0x02E0C550 = li r3, -1
0x0288E614 = li r3, $mod

;[XCX_BLADEX_V102J]
;moduleMatches = 0x7672271D ; 1.0.2J
;0x = nop ; broken
;0x = li r3, -1 ; broken
;0x = li r3, $mod ; broken
[XCX_BLADEX_V102J]
moduleMatches = 0x7672271D ; 1.0.2J
0x0288B470 = nop
0x02E07A78 = li r3, -1
0x0288B474 = li r3, $mod

[XCX_BLADEX_V100U]
moduleMatches = 0xAB97DE6B, 0x676EB33E ; 1.0.1U, 1.0.0U
Expand Down
2 changes: 1 addition & 1 deletion src/XenobladeChroniclesX/Mods/HUDFreecam/rules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Freecam"
path = "Xenoblade Chronicles X/Mods/HUD/Freecam"
description = Look around the world with the developer freecam.|The game functions like normal when you're in this mode. Area renders around camera, so going too far will make your character have no ground and die.||Made by blingbloing, modified by intra.|||Hold 'R' button to move camera up|Hold 'L' button to move camera down|Hold 'X' button to keep camera in place|Hold 'Y' button to speed up camera|Tip: Press and hold the R stick button to speed up even more
description = Look around the world with the developer freecam.|The game functions like normal when you're in this mode. Area renders around camera, so going too far will make your character have no ground and die.||Mod made by blingbloing.|||Hold 'R' button to move camera up|Hold 'L' button to move camera down|Hold 'X' button to keep camera in place|Hold 'Y' button to speed up camera|Tip: Press and hold the R stick button to speed up even more
version = 6
Loading

0 comments on commit 4db55f5

Please sign in to comment.