AddCheat('Salt 999,999,999','ソルト999,999,999')
CodeCave('3A 1D 40 F9 09 64 42 79',(
'mov x26, #0xC9FF',
'movk x26, #0x3B9A, lsl#16',
'str x26, [x9,#0x38]',
'ret',
))
AddCheat('Silver 999,999,999','銀999,999,999')
CodeCave('36 41 40 B9',(
'mov w22, #0xC9FF',
'movk w22, #0x3B9A, lsl#16',
'str w22, [x9,#0x40]',
'ret',
))
AddCheat('Invincible','無敵')
tgtAddr=AOB('E8 03 40 B9 00 01 00 12')+8
CodeCave('14 11 40 F9 ? ? ? ? F4 03 1F AA',(
'ldr x20, [x8,#0x20]',
'ldr w7, [x20,#0xa0]',
'tbnz w7, #0x1f, .+8',
'ret',
'mov w0, wzr',
'b %d-{here}'%tgtAddr
))
AddCheat('No Damage','ダメージ受けない')
CodeCave('20 39 28 1E 08 2D 40 F9',(
'fsub s0, s9, s8',
'ldr w7, [x19,#0xa0]',
'cmp w7, wzr',
'fcsel s0, s9, s0, ge',
'ret',
0
))
CodeK=GetCodeK()
AddCheat('One hit kill while pressing L3','L3押下中ワンヒットキル')
CodeCave('60 CE 00 BD 28 0A 00 B4',(
'ldr w7, {end}-4',
'cbz w7, .+20',
'ldr w7, [x19,#0xa0]',
'fmov s1, wzr',
'cmp w7, wzr',
'fcsel s0, s0, s1, ge',
'str s0, [x19,#0xcc]',
'ret',
0
))
Hack(CodeK-4,1,showRestoreCode=False,useButton='l3')
#addr=AOB('08 08 2B 1E 09 41 20 1E') # v2.0.0
#CodeK=GetCodeK()
#for rate in (1.5, 2.0, 3.0, 4.0, 5.0, 10.0, 100.0, 1000.0):
# SetCodeK(CodeK)
# AddCheat('ダメージ{:.1f}倍'.format(rate))
# CodeCave(addr, (
# 'fmul s8, s0, s11',
# 'ldr w7, [x21,#0xa0]',
# 'tbz w7, #0x1f, .+12',
# 'ldr s9, {end}-4',
# 'fmul s8, s8, s9',
# 'ret',
# Float2DWord(rate)
# ))
addr=AOB('08 08 2C 1E 09 41 20 1E')
CodeK=GetCodeK()
for rate in (1.5, 2.0, 3.0, 4.0, 5.0, 10.0, 100.0, 1000.0):
SetCodeK(CodeK)
AddCheat('Damage x{:.1f}'.format(rate), 'ダメージ{:.1f}倍'.format(rate))
CodeCave(addr, (
'fmul s8, s0, s12',
'ldr w7, [x21,#0xa0]',
'tbz w7, #0x1f, .+12',
'ldr s9, {end}-4',
'fmul s8, s8, s9',
'ret',
Float2DWord(rate)
))
AddCheat('Stamina Max','スタミナ最大')
Hack('4D 00 00 54 60 D2 00 BD','nop')
AddCheat('No reduction in the number of items (all items)','アイテム個数減らない(全アイテム対象)')
Hack('F5 03 02 2A C8 ? ? 39 F3 03 01 2A F4 03 00 AA 48 02 00 37','mov w21, wzr')
AddCheat('Not reduced by item use.','アイテム使っても減らない')
#Hack('22 00 80 52 E3 03 1F AA ? ? ? ? 68 02 40 F9 C8 43 00 B5', 'mov w2, wzr') #暖心のフラスコ使用時 #v2.0.0
Hack('22 00 80 52 E3 03 1F AA ? ? ? ? 68 02 40 F9 A8 43 00 B5', 'mov w2, wzr') #暖心のフラスコ使用時
Hack('22 00 80 52 E3 03 1F AA 3A 00 80 52 ? ? ? ? ? ? ? ? 68 A2 40 B9', 'mov w2, wzr') #ボーガン、アイテム投げる
Hack('E2 03 01 2A 01 30 41 B9', 'mov w2, wzr') #スキル習得
Hack('E2 03 01 2A 01 34 41 B9', 'mov w2, wzr') #スキル習得解除
Hack('22 00 80 52 E3 03 1F AA ? ? ? ? 7B 56 40 F9 FB 11 00 B4','mov w2, wzr') #装備品作成時素材
Hack('22 00 80 52 E3 03 1F AA ? ? ? ? 74 56 40 F9','mov w2, wzr') #装備品強化時素材
#Hack('E2 03 18 2A E0 03 1B AA', 'mov w2, wzr') #討伐用アイテム、補充時の薬草 v2.0.0
Hack('E2 03 18 2A E0 03 1C AA', 'mov w2, wzr') #討伐用アイテム、補充時の薬草
addr=AOB('E0 03 14 AA E1 03 13 AA ? ? ? ? E1 03 00 2A')+0x48
CodeK=GetCodeK()
for rate in (1.5, 2.0, 3.0, 4.0, 5.0, 10.0, 100.0, 1000.0):
SetCodeK(CodeK)
AddCheat('Salt gain x{:.1f}'.format(rate) , 'ソルト獲得量{:.1f}倍'.format(rate))
CodeCave(addr, (
'fadd s0, s0, s1',
'ldr s1, {end}-4',
'fmul s0, s0, s1',
'ret',
Float2DWord(rate)
))
addr=AOB('00 01 40 F9 08 64 42 79 68 00 50 36 08 E0 40 B9 68 01 00 34 E0 03 1F AA ? ? ? ? 19 00 00 12')
CodeK=GetCodeK()
for rate in (1.5, 2.0, 2.5, 3.0, 4.0, 5.0):
SetCodeK(CodeK)
AddCheat('Movement speed x{:.1f}'.format(rate),'移動速度{:.1f}倍'.format(rate))
CodeCave(addr, (
'ldr x0, [x8]',
'ldr s1, {end}-4',
'fmul s13, s13, s1',
'ret',
Float2DWord(rate)
))
AddCheat('No fall damage','落下ダメージなし')
Hack('40 09 20 1E 20 39 20 1E','fmov s0, wzr')
CharMgr_TypeInfo=[GetQword(GetADRP(AOB('B5 ? ? F9 D6 ? ? F9 F4 03 1F 2A A0 02 40 F9')))]
# キャラマネージャー
CharMgr = CharMgr_TypeInfo + [0xB8,0]
# キャラクター1人目
ambientChar1 = CharMgr + [0x20]
# loc_x=ambientChar1 + [0xfc] # v2.0.0
# loc_y=ambientChar1 + [0x100] # v2.0.0
# traj1=ambientChar1 + [0x104] # v2.0.0
# traj2=ambientChar1 + [0x108] # Y軸方向への加速度 # v2.0.0
# floating = ambientChar1 + [0x108] #bool # v2.0.0
loc_x=ambientChar1 + [0x104]
loc_y=ambientChar1 + [0x108]
traj1=ambientChar1 + [0x10c]
traj2=ambientChar1 + [0x110] # Y軸方向への加速度
floating = ambientChar1 + [0x12c] #bool
AddCheat('Moon Jump','ムーンジャンプ')
AddCheatCode(ButtonCode(('l3down','b')))
AddCheatCode(PointerCodeElseBlock())
AddCheatCode(ButtonCode('b'))
PointerHack(traj2,Float2DWord(-950))
AddCheatCode(PointerCodeEndBlock())
AddCheatCode(PointerCodeEndBlock())
AddCheat('No Rage & MP required','必要消費レイジ&MPゼロ')
#Hack('00 41 20 1E F6 57 43 A9 F9 0F 40 F9 F8 5F 42 A9', 'fmov s0, wzr') # v2.0.0
Hack(AOB('08 E4 00 2F F4 4F 44 A9')+8, 'fmov s0, wzr')
AddCheat('No materials required when creating equipment','装備品作成時素材必要なし')
Hack(AOB('68 1A 40 B9 1F 01 14 6B 68 00 00 54 E0 03 1F AA ? ? ? ? 68 0A 40 F9 08 4D 34 8B')+0x24,'mov w0, wzr')
AddCheat('No materials required when reinforcing items for defeat','討伐用アイテム強化時素材必要なし')
Hack('00 25 40 B9 F4 4F 42 A9 F6 57 41 A9', 'mov w0, wzr')
AddCheat('No materials required when reinforcing equipment','装備品強化時素材必要なし')
Hack('39 D9 68 B8', 'mov w25, wzr')
Hack('39 00 80 52 B9 C3 1F B8', 'mov w25, wzr')
#Hack('28 D9 68 B8 ? ? ? ? 28 00 80 52 A8 C3 1F B8', 'mov w8, wzr') # v2.0.0
Hack('28 D9 68 B8 ? ? ? ? 28 00 80 52 E8 0F 00 B9', 'mov w8, wzr')
#Hack('28 00 80 52 A8 C3 1F B8 ? ? ? ? 7B ? ? F9', 'mov w8, wzr') # v2.0.0
Hack('28 00 80 52 E8 0F 00 B9 ? ? ? ? D6 ? ? F9', 'mov w8, wzr')
Hack('3C D9 68 B8 60 02 40 F9', 'mov w28, wzr')
Hack('3C 00 80 52 60 02 40 F9', 'mov w28, wzr')
AddCheat('No runeskill cooldowns','ルーンスキルクールダウン0')
Hack('00 41 20 1E F6 57 44 A9 F8 5F 43 A9 FA 67 42 A9 FD 7B 41 A9 E8 07 46 FC C0 03 5F D6 C8 1A 40 B9', 'fmov s0, wzr')
AddCheat('GetInvasionCooldowns')
Hack('FD 7B BF A9 FD 03 00 91 08 2C 40 F9 28 04 00 B4 09 0D 40 F9', ('mov w0, #1','ret'))
AddCheat('GetAttackCooldown')
Hack(AOB('68 0A 40 F9 08 89 40 F9')+0xc, 'fmov s0, wzr')
AddCheat('GetStrongCooldown')
Hack(AOB('68 0A 40 F9 08 99 40 F9')+0xc, 'fmov s0, wzr')
AddCheat('GetSpecialCooldown')
Hack(AOB('68 0A 40 F9 08 A9 40 F9 A8 00 00 B4')+0xc, 'fmov s0, wzr')
AddCheat('GetDodgeCooldown')
Hack(AOB('68 0A 40 F9 08 15 41 F9')+0xc, 'fmov s0, wzr')
AddCheat('GetShieldCooldown')
Hack(AOB('68 0A 40 F9 08 05 41 F9')+0xc, 'fmov s0, wzr')
#addr=AOB('00 11 40 F9 00 31 00 B4') # v2.0.0
addr=AOB('00 11 40 F9 A0 30 00 B4')
CodeK=GetCodeK()
for rate in (1.5, 2.0, 2.5, 3.0):
SetCodeK(CodeK)
AddCheat('Action speed x{:.1f}'.format(rate),'行動速度{:.1f}倍'.format(rate))
CodeCave(addr, (
'ldr x0, [x8,#0x20]',
'ldr w7, [x8,#0xa0]',
'tbnz w7, #0x1f, .+12',
'ldr s0, {end}-4',
'fmul s9, s9, s0',
'ret',
Float2DWord(rate)
))