[OCTOPATH TRAVELER II Prologue Demo TID=0100D16019902000 BID=FDFA9A52DFA8D915]
[OCTOPATH TRAVELER II v1.0.0 TID=0100A3501946E000 BID=65619A04B8A04B10]
[OCTOPATH TRAVELER II v1.0.2 TID=0100A3501946E000 BID=BB891294DA55675E]
{Master Code (includes share functions)]
[Restore Code (Use after unchecking any cheats below)]
[№ 1a 60 FPS] [№ 1b 30 FPS]
[№ 2. 9999 HP]
[№ 3. 999 SP]
[№ 4. Max BP]
[№ 5. 999 ATK/DEF/MATK/MDEF/ACC/EVA/CON/AGI]
[№ 6. Max Potentiality Action Point]
[№ 7. 4x Money]
[№ 8. Money does not decrease]
[№ 9. 4x Exp]
[№10. 10x JP (Job Point)]
[№11. Items do not decrease]
[№12. 3x Movement Speed (Hold B)]
[№13. Whole Map Visited]
[№14. Ignore item requirements]
[№15. No Encounter (By Sly-Cooper) Hold ZL]
[№16. Party No KO]
[№17. Enemy No KO (Hold ZL)]
[№18. Tame Always Success]
[№19. Enable Business Support]
[№20. Party Full Power]
[№21. Auto Battle]
[№22. All Ability Open]
[№23. Fixed Encounter Rare Enemy]
[№24. All Attack Hit]
[№25. All Attack Critical]
[№26. Drop Rate Up]
[№27. Warrior can use all Learned Skills]
[№28. Hunter can provoke all Monsters]
[№29. Escape Always Success]
[№30. 100% Item Drop Rate]
[№31. Success Steal Money or Item in Battle]
[№32. 100% Steal, LV0 Entreat, Zero-price Purchase]
[№33. 100% Allure, LV0 Guide, Zero-price Hire]
[№34. 100% Scrutinize, LV0 Inquire, Zero-price Bribery]
[№35. LV0 Assassinate/Mug/Challenge, Zero-dose Soothe]
[№36. Zero Items Befriend]
[№37. Repeatly Getting Pre-Order Bonus (Requires DLC)]
[№38a Bonus become Seven Armsmaster's Divine Weapons]
[№38b Bonus become Six Rusty Weapons]
[№38c Bonus become Six Tribe's Weapons]
[№38d Bonus become Seven Battle-Tested Armaments]
[№38e Bonus become Accursed Armor Set]
[№38f Bonus become Worthwhile Accessories]
[№38g Bonus become Six Soulstone (L)]
[№38h Bonus become Ten Rising Nut (L)]
[№38i Bonus become Other Useful Items]
[This set of cheats is created by Eiffel2018, enjoy!]
[Restore Code (Use after unchecking any cheats below)]
[№ 1a 60 FPS] [№ 1b 30 FPS]
[№ 2. 9999 HP]
[№ 3. 999 SP]
[№ 4. Max BP]
[№ 5. 999 ATK/DEF/MATK/MDEF/ACC/EVA/CON/AGI]
[№ 6. Max Potentiality Action Point]
[№ 7. 4x Money]
[№ 8. Money does not decrease]
[№ 9. 4x Exp]
[№10. 10x JP (Job Point)]
[№11. Items do not decrease]
[№12. 3x Movement Speed (Hold B)]
[№13. Whole Map Visited]
[№14. Ignore item requirements]
[№15. No Encounter (By Sly-Cooper) Hold ZL]
[№16. Party No KO]
[№17. Enemy No KO (Hold ZL)]
[№18. Tame Always Success]
[№19. Enable Business Support]
[№20. Party Full Power]
[№21. Auto Battle]
[№22. All Ability Open]
[№23. Fixed Encounter Rare Enemy]
[№24. All Attack Hit]
[№25. All Attack Critical]
[№26. Drop Rate Up]
[№27. Warrior can use all Learned Skills]
[№28. Hunter can provoke all Monsters]
[№29. Escape Always Success]
[№30. 100% Item Drop Rate]
[№31. Success Steal Money or Item in Battle]
[№32. 100% Steal, LV0 Entreat, Zero-price Purchase]
[№33. 100% Allure, LV0 Guide, Zero-price Hire]
[№34. 100% Scrutinize, LV0 Inquire, Zero-price Bribery]
[№35. LV0 Assassinate/Mug/Challenge, Zero-dose Soothe]
[№36. Zero Items Befriend]
[№37. Repeatly Getting Pre-Order Bonus (Requires DLC)]
[№38a Bonus become Seven Armsmaster's Divine Weapons]
[№38b Bonus become Six Rusty Weapons]
[№38c Bonus become Six Tribe's Weapons]
[№38d Bonus become Seven Battle-Tested Armaments]
[№38e Bonus become Accursed Armor Set]
[№38f Bonus become Worthwhile Accessories]
[№38g Bonus become Six Soulstone (L)]
[№38h Bonus become Ten Rising Nut (L)]
[№38i Bonus become Other Useful Items]
[This set of cheats is created by Eiffel2018, enjoy!]
Python:
if 'GetBase' in dir(): ClearCache('cheatLib');ClearCache('idahelper')
import sys
sys.path.insert(1,'..\__python__')
from cheatLib import *
################################ START ######################################
Init('OCTOPATH TRAVELER II' , '歧路旅人2', False)
BID=GetBID()
TID=GetTID()
FpsCode([1,3])
# SetPtrRegister('A')
BattleManager=GetADRP(AOB('08 ? ? F9 68 09 00 B4 08 ? ? F9 28 09 00 B4'))
MaxBattlePlayers=4
AddMasterCode(PointerCodeHeader([BattleManager],'C'))
AddMasterCode(PointerCodeAddOffset([0x288],'C',4))
AddCheat('9999 HP') # effective in battle only
AddCheatCode(PointerCodeHeader([BattleManager,0x280,0]))
AddCheatCode(PointerCodeBody(0x274, 4, 9999))
for i in range(1,MaxBattlePlayers):
AddCheatCode(PointerCodeCondition('C','>',i))
AddCheatCode(PointerCodeHeader([BattleManager,0x280,8*i]))
AddCheatCode(PointerCodeBody(0x274, 4, 9999))
AddCheatCode(PointerCodeEndBlock())
AddCheat('999 SP') # effective in battle only
AddCheatCode(PointerCodeHeader([BattleManager,0x280,0]))
AddCheatCode(PointerCodeBody(0x280 if BID!='65619A04B8A04B10' else 0x27C, 4, 999))
for i in range(1,MaxBattlePlayers):
AddCheatCode(PointerCodeCondition('C','>',i))
AddCheatCode(PointerCodeHeader([BattleManager,0x280,8*i]))
AddCheatCode(PointerCodeBody(0x280 if BID!='65619A04B8A04B10' else 0x27C, 4, 999))
AddCheatCode(PointerCodeEndBlock())
AddCheat('Max BP','BP全滿') # effective in battle only
AddCheatCode(PointerCodeHeader([BattleManager,0x280,0]))
AddCheatCode(PointerCodeBody(0x6D4 if BID!='65619A04B8A04B10' else 0x6C4, 4, 5))
for i in range(1,MaxBattlePlayers):
AddCheatCode(PointerCodeCondition('C','>',i))
AddCheatCode(PointerCodeHeader([BattleManager,0x280,8*i]))
AddCheatCode(PointerCodeBody(0x6D4 if BID!='65619A04B8A04B10' else 0x6C4, 4, 5))
AddCheatCode(PointerCodeEndBlock())
AddCheat('999 ATK/DEF/MATK/MDEF/ACC/EVA/CON/AGI') # effective in battle only
AddCheatCode(PointerCodeHeader([BattleManager,0x280,0]))
AddCheatCode(PointerCodeAddRegister(0x254))
AddCheatCode(PointerCodeWrite(8, 999, 999, use_D=False, increase=True))
AddCheatCode(PointerCodeWrite(8, 999, 999, use_D=False, increase=True))
AddCheatCode(PointerCodeWrite(8, 999, 999, use_D=False, increase=True))
AddCheatCode(PointerCodeWrite(8, 999, 999, use_D=False))
for i in range(1,MaxBattlePlayers):
AddCheatCode(PointerCodeCondition('C','>',i))
AddCheatCode(PointerCodeHeader([BattleManager,0x280,8*i]))
AddCheatCode(PointerCodeAddRegister(0x254))
AddCheatCode(PointerCodeWrite(8, 999, 999, use_D=False, increase=True))
AddCheatCode(PointerCodeWrite(8, 999, 999, use_D=False, increase=True))
AddCheatCode(PointerCodeWrite(8, 999, 999, use_D=False, increase=True))
AddCheatCode(PointerCodeWrite(8, 999, 999, use_D=False))
AddCheatCode(PointerCodeEndBlock())
AddCheat('Max Potentiality Action Point','潛力點數最大') # effective in battle only
Hack('08 54 41 B9 28 00 00 B9', 'LDR W8, [X0,#0x158]') # UPotentialityActionComponent.GetPotentialityActionPoint
Hack('08 54 41 B9 09 58 41 B9', 'LDR W8, [X0,#0x158]') # UPotentialityActionComponent.IsPotentialityActionPointMax
Hack('E0 03 1F 2A F3 0B 40 F9 FD 7B C2 A8 C0 03 5F D6 68 72 45 39', 'MOV W0, 1') # UPotentialityActionComponent.IsPotentialityActionAvailable
if isFound(AOB('88 00 00 B4 08 25 41 F9 48 00 00 B4 08 E9 42 B9 00 01 00 0B')): # Trial Version and v1.0.2
AddCheat('4x Money','4x 金錢收入')
Hack(AOB3('88 00 00 B4 08 25 41 F9 48 00 00 B4 08 E9 42 B9 00 01 00 0B','00 01 00 0B'), 'ADD W0, W8, W0, LSL#2')
else:
AddCheat('5x Money','5x 金錢收入')
Hack('F3 03 00 2A ? ? ? 94 C0 00 00 B4 08 E8 42 B9 00 01 13 0B', 'ADD W19, W0, W0, LSL#2')
AddCheat('Money does not decrease','金錢不減')
if isFound(AOB('E8 EA 02 B9')): # Trial Version and v1.0.2
CodeCave('E8 EA 02 B9 ? ? ? ? 40 ? ? F9', ('CMP W8,W9','CSEL W8, W8, W9, GE','STR W8, [X23,#0x2E8]','RET'))
else:
CodeCave('88 EA 02 B9 ? ? ? ? 40 ? ? F9', ('CMP W8,W9','CSEL W8, W8, W9, GE','STR W8, [X20,#0x2E8]','RET'))
AddCheat('4x Exp','4x 經驗值')
if isFound(AOB('02 10 3E 1E 21 28 22 1E 00 FC 44 BD')): # Trial Version and v1.0.2
Hack('02 10 3E 1E 21 28 22 1E 00 FC 44 BD', 'FMOV S2, WZR') # Trial Version
else:
Hack('02 10 3E 1E 21 28 22 1E 00 EC 44 BD', 'FMOV S2, WZR')
AddCheat('10x JP (Job Point)','10x JP (技能點數)')
if isFound(AOB('02 10 3E 1E 21 28 22 1E 00 00 45 BD')): # Trial Version and v1.0.2
Hack('02 10 3E 1E 21 28 22 1E 00 00 45 BD', 'FMOV S2, #3.5')
else:
Hack('02 10 3E 1E 21 28 22 1E 00 F0 44 BD', 'FMOV S2, #3.5')
AddCheat('Items do not decrease','道具不減')
Hack('F5 03 02 2A F3 03 01 AA ? ? ? 97 60 04 00 36', 'MOV W21, WZR')
AddCheat('3x Movement Speed (Hold B)','移動速度 3x (長按B)') # not compatible with RyujinX/Yuzu
Hack('29 69 6A B8 09 8C 01 B9', 'MOV W9, 0x44BB0000', useButton='B')
AddCheat('Whole Map Visited','地圖全開') # Some cities are invalid in the trial version
Hack('E8 03 01 2A 01 40 08 91 E0 03 08 2A', ['MOV W0, #1','RET'])
AddCheat('Ignore item requirements', '無視物品要求')
Hack(AOB3('A8 62 42 B9 A9 8E 42 B9','E8 03 1F 2A'), ('MOV W8, 50','MOV W9, 1'))
Hack(AOB3('A8 62 42 B9 A9 8E 42 B9','08 05 40 B9'), 'MOV W8, 50')
AddCheat('No Encounter (By Sly-Cooper) Hold ZL', '不遇敵 (by 怪盜B) 長按ZL') # not compatible with RyujinX/Yuzu
Hack('A0 00 00 54 E0 03 1F 2A F3 0B 40 F9 FD 7B C2 A8 C0 03 5F D6 68 62 4C 39 00 01 00 12','NOP',useButton='ZL')
addr=GetCodeK()-16
AddMasterCode(
RegData(0,8)+
RegData(0,8)+
CodeCave(
Either('08 AC 42 F9 E8 00 00 B4','08 A4 42 F9 E8 00 00 B4'),
('ADR X8,{end}', 'MOV X21, #15',
'LDRB W9, [X8,X21]', 'CBZ W9, .+12', 'CMP W9, W1', 'BEQ {end}-8',
'SUBS X21, X21, 1', 'BGE .-20',
'MOV W0, WZR', 'B .+8',
'MOV W0, 1','RET'),
showRestoreCode=False,
use_BL=False,
returnCode=True)
)
AddCheat('Party No KO', '隊員不死')
AddCheatCode(CheatCode(1, addr, 3))
AddCheat('Enemy No KO (Hold ZL)', '手下留情 (長按ZL)') # not compatible with RyujinX/Yuzu
AddCheatCode(ButtonCode('ZL',CheatCode(1, addr+1, 4)))
AddCheat('Tame Always Success', '捕獲機率 100%')
AddCheatCode(CheatCode(1, addr+2, 5))
AddCheat('Enable Business Support', '開啟商人支援')
AddCheatCode(CheatCode(1, addr+3, 6))
AddCheat('Party Full Power', '隊友攻擊傷害最大化')
AddCheatCode(CheatCode(1, addr+4, 7))
AddCheat('Auto Battle', '自動戰鬥')
AddCheatCode(CheatCode(1, addr+5, 9))
AddCheat('All Ability Open', '技能全開啟')
AddCheatCode(CheatCode(1, addr+6, 10))
# AddCheat('Fixed Wonder Ability', '固定奇蹟技能') # no effect
# AddCheatCode(CheatCode(1, addr+7, 12))
# AddCheat('Enable Manual Sequencer Update', '開啟手動排序器') # no effect
# AddCheatCode(CheatCode(1, addr+8, 13))
AddCheat('Fixed Encounter Rare Enemy', '固定遇到稀有敵人')
AddCheatCode(CheatCode(1, addr+9, 15))
AddCheat('All Attack Hit', '必定命中 (敵我共用)')
AddCheatCode(CheatCode(1, addr+10, 17))
AddCheat('All Attack Critical', '必定暴擊 (敵我共用)')
AddCheatCode(CheatCode(1, addr+11, 18))
AddCheat('Drop Rate Up', '掉落率上升')
AddCheatCode(CheatCode(1, addr+12, 19))
AddCheat('Warrior can use all Learned Skills', '劍士習得所有技能')
AddCheatCode(CheatCode(1, addr+13, 23))
AddCheat('Hunter can provoke all Monsters', '全部召喚怪物開放')
AddCheatCode(CheatCode(1, addr+14, 24))
AddCheat('Escape Always Success', '逃脫必定成功')
AddCheatCode(CheatCode(1, addr+15, 29))
AddCheat('100% Item Drop Rate', '100% 掉寶率')
assetAddr=AOB('? ? ? ? ? ? ? 91 68 02 00 F9 ? ? ? ? 01 ? ? 3D 00 E4 00 6F 08 F0 A7 52')
if not isCode(assetAddr): MakeFunc(assetAddr)
w1=(GetADRL(assetAddr)+0x4000)&0xFFFF
addr=AOB3('48 10 40 F9 88 42 00 F9 ? ? ? 97 88 12 40 F9 1F 01 00 F1 08 05 88 9A 88 12 00 F9 A0 C3 5F BC ? ? ? 97 08 00 00 12',0x20)
CodeCave(addr, ('MOV W1, #%d'%w1,'LDR X0, [X29,#0x18]','LDR X0, [X0,#0x18]','LDRH W0, [X0]','CMP W0, W1','BNE .+12','CBNZ X4,.+8','FMOV S0,#1.0','B %s-{here}'%hex(idc.get_operand_value(addr,0))))
AddCheat('Success Steal Money or Item in Battle', '戰鬥中偷取金錢或物品必成功率')
assetAddr=AOB('? ? ? ? ? ? ? 91 60 82 0B 91 7F 1A 01 F9')
if not isCode(assetAddr): MakeFunc(assetAddr)
w1=(GetADRL(assetAddr)+0x4000)&0xFFFF
addr=AOB3('48 10 40 F9 88 42 00 F9 ? ? ? 97 88 12 40 F9 1F 01 00 F1 08 05 88 9A 88 12 00 F9 A0 C3 5F BC ? ? ? 97 08 00 00 12',0x1C)
CodeCave(addr, (GetDword(addr),'MOV W1, #%d'%w1,'LDR X0, [X29,#0x18]','LDR X0, [X0,#0x18]','LDRH W0, [X0]','CMP W0, W1','BNE .+8','FMOV S0,#1.0','RET'))
AddCheat('100% Steal, LV0 Entreat, Zero-price Purchase', '向NPC 偷取成功率100%, 討要需求LV0, 購買價錢0')
CodeCave('60 82 80 3C A0 01 00 54 81 1A 40 F9',('STUR Q0, [X19,#8]', 'STR WZR, [X19,#0x14]','STP WZR, WZR, [X19,#0x24]','RET'))
AddCheat('100% Allure, LV0 Guide, Zero-price Hire', '向NPC 誘惑成功率100%, 引導要求LV0, 僱用價錢0')
CodeCave('60 82 89 3C F4 4F 42 A9',('STUR Q0, [X19,#0x98]', 'STR WZR, [X19,#0x44]','MOV W20, 0x42C80000', 'STR W20, [X19,#0x58]','STR WZR, [X19,#0x74]','RET'))
AddCheat('100% Scrutinize, LV0 Inquire, Zero-price Bribery', '向NPC 探查成功率100%, 打聽要求LV0, 收買費用0')
CodeCave('60 82 87 3C F4 4F 42 A9 F6 57 41 A9 FD 7B C3 A8 C0 03 5F D6 E0 03 1F 2A',('STUR Q0, [X19,#0x78]', 'STR WZR, [X19,#0x2C]', 'MOV W20, 0x42C80000', 'STR W20, [X19,#0x34]', 'STR WZR, [X19,#0x38]','STR WZR, [X19,#0x44]','RET'))
AddCheat('LV0 Assassinate/Mug/Challenge, Zero-dose Soothe', '暗殺/搶奪/比試要求LV0, 讓人睡著要求道具0')
CodeCave('60 42 8D 3C F4 4F 42 A9',('STUR Q0, [X19,#0xD4]', 'STR WZR, [X19,#0xD4]', 'STR WZR, [X19,#0x78]','STR WZR, [X19,#0xE0]','RET'))
AddCheat('Zero Items Befriend', '收服NPC所需道具0')
Hack(AOB2('01 47 40 F9 02 93 40 B9',8,'68 15 00 38'),'STRB WZR, [X11],#1')
AddCheat('Repeatly Getting Pre-Order Bonus (Requires DLC)','酒館可重覆領取預約特典 (需要安裝DLC)')
Hack('? ? ? 94 60 01 00 36 F5 03 1F 2A','MOV W0,WZR')
Hack('? ? ? 94 40 01 00 36 F3 03 1F 2A','MOV W0,WZR')
GetItemByDBRowID=AOB('FD 7B BE A9 F3 0B 00 F9 FD 03 00 91 ? ? ? ? E1 03 00 2A')
maxGift = 10
itemAddr=RegCodeK(4*maxGift+4)
funcCodes=CodeCave('F4 03 40 F9 68 0A 40 B9',
['LDR X20, [SP]', 'LDR X19, [X20]', 'LDR X21, [X19,0x20]', 'ADR X22, {end}', 'MOV W23,WZR',
'LDR W0,[X22],4', 'CBZ W0,{end}-8', 'BL %s-{here}'%hex(GetItemByDBRowID), 'STR X2, [X21], 8', 'MOV W1, #1', 'STR W1, [X21], 4', 'ADD W23, W23, 1',
'B .-28', 'STP W23, W23, [X19,0x28]', 'B {back}'],use_BL=False,returnCode=True)
AddCheat('Bonus become Seven Armsmaster\'s Divine Weapons','預約特典改「武器大師鍛造的七種神器」',1)
Hack(itemAddr,[10808,10809,10810,10811,10812,10813,11049,0],False)
AddCheatCode(funcCodes)
AddCheat('Bonus become Six Rusty Weapons','預約特典改「生鏽的六種神器」',2)
Hack(itemAddr,[10814,10815,10816,10817,10818,10819,0],False)
AddCheatCode(funcCodes)
AddCheat('Bonus become Six Tribe\'s Weapons','預約特典改為「六種被遺忘種族的兵器」',2)
Hack(itemAddr,[11486,11492,11539,11540,11541,11513,0],False)
AddCheatCode(funcCodes)
AddCheat('Bonus become Seven Battle-Tested Armaments','預約特典改「七種歷戰兵器」',2)
Hack(itemAddr,[2069,2101,2133,2166,2198,2230,2254,0],False)
AddCheatCode(funcCodes)
AddCheat('Bonus become Accursed Armor Set','預約特典改「三種受詛咒的防具」',2)
Hack(itemAddr,[11153,2304,2358,0],False)
AddCheatCode(funcCodes)
AddCheat('Bonus become Worthwhile Accessories','預約特典改「較有價值的飾品」',2)
Hack(itemAddr,[2361,2362,2426,11537,11138,0],False)
AddCheatCode(funcCodes)
AddCheat('Bonus become Six Soulstone (L)','預約特典改「六種精靈石(特大)」',2)
Hack(itemAddr,[1934,1937,1940,1943,1946,1949,0],False)
AddCheatCode(funcCodes.replace(ASM('MOV W1, #1'),ASM('MOV W1, #10')))
AddCheat('Bonus become Ten Rising Nut (L)','預約特典改「十種堅石(特大)」',2)
Hack(itemAddr,[1952,1955,1958,1961,1964,1967,1970,1973,1976,1979,0],False)
AddCheatCode(funcCodes.replace(ASM('MOV W1, #1'),ASM('MOV W1, #10')))
AddCheat('Bonus become Other Useful Items','預約特典改「其他有用道具」',2)
Hack(itemAddr,[11482,11483,11484,11485,11551,10011,27733,0],False)
AddCheatCode(funcCodes.replace(ASM('MOV W1, #1'),ASM('MOV W1, #10')))
if TID=='0100D16019902000': # For Trial version only
AddCheat('Bypass Trial Version Time limit','忽略測試版3小時遊玩限制')
Hack(AOB3('8A 07 80 52 08 2D 42 B9','E0 B7 9F 1A'), 'MOV W0, WZR')
Hack(AOB3('8A 07 80 52 29 7D 0A 1B 1F 01 00 F1','00 01 09 0A'), 'MOV W0, WZR')
################################# END #######################################
HackComplete()
One of these items will be added to your backpack (inventory), after you received any other items
(For example, you can buy something or get drop-item from NPC after Battle)
The message shown what you can obtain is not correct, but you can really received the selected items (from 36a-37g) instead of the original item that the message shown.
Beware, it's best to save the file before using!
The original item is lost and may never be obtained again if you haven't turn off and restore the cheat afterward.
Remember to use this one after turn off #36-#37
#37 & #38 has been revised, it uses the feature of Pre-order Bonus
DLC 0100A3501946F001 should be installed
Choose Only One from #38a - #38i , and the cheat works at the tavern.