Page 104 of 115

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Tue Nov 02, 2021 9:52 am
by OPCOXE
And the fix for the Damage Modifier.
I only tested Godmod & Onehit so if something doesn't work please let me know. And remember that I'm not the one who made the script so if I can't fix it properly don't blame me.

Code: Select all

mov r8,[rcx-10278]
is now

Code: Select all

mov r8,[rcx-10290]
entire code:

Code: Select all

[ENABLE]

aobscanmodule(DamageModAOB,$process,4C 8B 41 08 48 8B D9 33 C9 4C 03 C2)
registersymbol(DamageModAOB)
alloc(newmem,2048,DamageModAOB)

label(originalcode)
label(return)
label(GodMode)
registersymbol(GodMode)
label(OneHitKill)
registersymbol(OneHitKill)
label(fEnemyDamageMult)
registersymbol(fEnemyDamageMult)
label(fHeroDamageMult)
registersymbol(fHeroDamageMult)
label(HeroCannotDie)
registersymbol(HeroCannotDie)

newmem:
originalcode:
  mov r8,[rcx+08]
  mov rbx,rcx
  push r8
  push rbx
  mov r8,[rcx-10290]
  mov rbx,CCharFuncAOB
  mov [test1],r8
  mov [test2],rbx
  cmp [r8],rbx
  pop rbx
  pop r8
  jne EnemyHit
  jmp HeroHit
EnemyHit:
  cmp rdx,0
  jl EnemyDamageHit
  jmp CleanUp
EnemyDamageHit:
  cmp [fEnemyDamageMult],(float)0.0
  je CheckOneHitKill
  push rdx
  fild dword ptr [rsp]
  fmul dword ptr [fEnemyDamageMult]
  fistp dword ptr [rsp]
  pop rdx
CheckOneHitKill:
  cmp [OneHitKill],1
  jne CleanUp
  mov rdx,#9999999
  neg rdx
  jmp CleanUp
HeroHit:
  cmp rdx,0
  jl HeroDamageHit
  jmp CleanUp
HeroDamageHit:
  cmp [fHeroDamageMult],(float)0.0
  je CheckGodMode
  neg rdx
  push rdx
  fild dword ptr [rsp]
  fmul dword ptr [fHeroDamageMult]
  fistp dword ptr [rsp]
  pop rdx
  neg rdx
CheckGodMode:
  cmp [GodMode],1
  jne CheckHeroCannotDie
  xor rdx,rdx
  jmp CleanUp
CheckHeroCannotDie:
  cmp [HeroCannotDie],1
  jne CleanUp
  neg rdx
  cmp r8,rdx
  jl HeroesNeverDie
  jmp ButTheyTookDMG
HeroesNeverDie:
  neg rdx
  xor rdx,rdx
  jmp CleanUp
ButTheyTookDMG:
  neg rdx
  jmp @F
@@:
  jmp CleanUp
CleanUp:
  jmp return

GodMode:
dq 0
OneHitKill:
dq 0
fEnemyDamageMult:
dq (float)5.0
fHeroDamageMult:
dq (float)0.25
HeroCannotDie:
dq 1

DamageModAOB:
  jmp newmem
  nop
  nop
return:

[DISABLE]

DamageModAOB:
  db 4C 8B 41 08 48 8B D9

unregistersymbol(DamageModAOB)
unregistersymbol(GodMode)
unregistersymbol(OneHitKill)
unregistersymbol(fEnemyDamageMult)
unregistersymbol(fHeroDamageMult)
unregistersymbol(HeroCannotDie)

dealloc(newmem)

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Tue Nov 02, 2021 10:40 am
by kloze
Version 2.01

Speed and Jump
-Jump Height : [GlobalPtr]-189D0
-Gravity : [GlobalPtr]-189CC
-Move Speed Walking : [GlobalPtr]-189C4
-Move Speed Swimming : [GlobalPtr]-189C0
-Move Speed Running : [GlobalPtr]-189BC
-Move Speed Weapon : [GlobalPtr]-189B8

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Tue Nov 02, 2021 11:07 am
by a_busy_man
Released v18.2 with the fixes apported by OPCOXE and kloze.

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Wed Nov 03, 2021 2:58 am
by weeboo
I did not see the ItemIDs for the "Incarnation Shards (L)" posted yet, but if so, please delete this post.

Code: Select all

23658741 - Black Incarnation Shard (L)
23658742 - Red Incarnation Shard (L)
23658743 - White Incarnation Shard (L)
23658744 - Blue Incarnation Shard (L)

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Wed Nov 03, 2021 3:13 pm
by The Black X
Are there new weapon ids out?

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Thu Nov 04, 2021 2:18 pm
by skeletarik
Hello! My game crashed during the third chapter of the new DLC (with the castle) and then one main quest (Hiddenmaid) became bugged. I have to talk to the Village Chief after Kirito and others
Spoiler
came to another reality where Eugeo was a king.
But there is no chief, he has to be in the village, but he is not there. It's definitely a bug because the chief had been there before the game crashed. Is it possible to use cheat engine to make quest progress through this point? I see that there are subquests in this table but is it possible to make it work with the main quest? What should I do? Thank you for any help.

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Thu Nov 04, 2021 3:46 pm
by OPCOXE
skeletarik wrote:
Thu Nov 04, 2021 2:18 pm
Hello! My game crashed during the third chapter of the new DLC (with the castle) and then one main quest (Hiddenmaid) became bugged. I have to talk to the Village Chief after Kirito and others
Spoiler
came to another reality where Eugeo was a king.
But there is no chief, he has to be in the village, but he is not there. It's definitely a bug because the chief had been there before the game crashed. Is it possible to use cheat engine to make quest progress through this point? I see that there are subquests in this table but is it possible to make it work with the main quest? What should I do? Thank you for any help.
I had a problem like that when I first came into the same map. When you need to talk to the fist villager he wasn't there. I saved and reload my save and he was there. Try this and if it doesn't work you can also try to restart the game.
For the subquests script, it works with main quests but in fact it only allows you to change the values of the objectives and main quests are often "Talk to someone" or "Go to the area" and you need to trigger the event to get the next quest that's why I called it Higlighted Subquests. So in your case, you can't debug yourself with it. If you don't manage to solve the problem I'm afraid you'll need to go through the recovery process and restart the DLC from start.

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Thu Nov 04, 2021 4:02 pm
by OPCOXE
Some info that you might need :
(Change the HighlightedItem pointer to this value to change the values for now or copy the HighlightedPointer Group and change it's addresses for now)
$process+2091C6C is the weapon of cardinal
17109698 is it's id
$process+2091CCC is her armor
20189098 is it's id
8 is Cardinal in character bonding in HighlightedItem

I'll try to find a way to change her stuff or at least add her some accessories to make her stronger.

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Thu Nov 04, 2021 4:17 pm
by skeletarik
OPCOXE, thanks a lot for your answer. I restarted the game many times, saved in different locations, etc. but it doesn't work. Is there really a way to go through the recovery process and restart the DLC from start? How can I do that? I will be totally ok with that if I don't lose my data from the base game.

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Thu Nov 04, 2021 4:30 pm
by OPCOXE
skeletarik wrote:
Thu Nov 04, 2021 4:17 pm
OPCOXE, thanks a lot for your answer. I restarted the game many times, saved in different locations, etc. but it doesn't work. Is there really a way to go through the recovery process and restart the DLC from start? How can I do that? I will be totally ok with that if I don't lose my data from the base game.
I'm sorry I thought it was there but since the start of the DLC (when you accept to start it) the main menu changes and the option is remove from the menu. I don't know if it's possible to get the old main menu.
Maybe "New game" will start a new game from the start of the DLC but it's "maybe" so you should try to get some support before ([Link]).

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Fri Nov 05, 2021 4:21 pm
by OPCOXE
OPCOXE wrote:
Thu Nov 04, 2021 4:02 pm
Some info that you might need :
(Change the HighlightedItem pointer to this value to change the values for now or copy the HighlightedPointer Group and change it's addresses for now)
$process+2091C6C is the weapon of cardinal
17109698 is it's id
$process+2091CCC is her armor
20189098 is it's id
8 is Cardinal in character bonding in HighlightedItem

I'll try to find a way to change her stuff or at least add her some accessories to make her stronger.
I didn't find a way to change her stuff or to be precise I stop trying to since It was too time consuming for me.

I created a new script that you can copy and past onto the main table and will be in my table for next updates. The script max the finish art of the current character using it. I did this because the pointers for the finish art of the NPC were broken. Be careful it set the finish art to 10000 but you can go over this value so you might activate it only when needed.

Just copy this and right click -> past or Ctrl + V to put it in the table :

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>48827</ID>
      <Description>"Max Finish Art (use finish art one with character to get it maxed)"</Description>
      <LastState/>
      <Color>FF00FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
lua_aobscan("MaxFinishArtAOB",process,"66 89 7B 04 0F B7 C7",1)

{$asm}
alloc(newmem,1024,MaxFinishArtAOB)

///
label(originalcode)
label(return)

newmem:
  push si
  mov si,#10000
  cmp di,#10000
  cmovl di,si
  pop si
originalcode:
  mov [rbx+04],di
  movzx eax,di
  jmp return

MaxFinishArtAOB:
  jmp newmem
  nop 2
return:

[DISABLE]

MaxFinishArtAOB:
  db 66 89 7B 04 0F B7 C7

unregistersymbol(MaxFinishArtAOB)

dealloc(newmem)
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Fri Nov 05, 2021 5:20 pm
by TheByteSize
OPCOXE wrote:
Fri Nov 05, 2021 4:21 pm
Just FYI,
You can always do a conditional check to see if the value is less than 10k or not. write 10k only if it's less

Code: Select all

cmp di,#10000
cmovl di,#10000 

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Fri Nov 05, 2021 9:15 pm
by OPCOXE
TheByteSize wrote:
Fri Nov 05, 2021 5:20 pm
OPCOXE wrote:
Fri Nov 05, 2021 4:21 pm
Just FYI,
You can always do a conditional check to see if the value is less than 10k or not. write 10k only if it's less

Code: Select all

cmp di,#10000
cmovl di,#10000 
You are right but the code you sent doesn't seems to work. I prefer to do simple scripts since the problem that always makes the DMG script crash the game is a comparaison between 2 pointers. Also the fact that I don't know much about Assembly. I think I'll try to make it better with a comparaison but for now I'll let it this way to be sure it works.

EDIT: I found why and I made the change onto the previous post. The script now doesn't decrease the value.
The reason why your code didn't work was because I can't use cmovl with hardcoded value for now I push si and put 10000 (as decimal) in it and I'll look for a cmovl that works with hardcoded values tomorrow

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Fri Nov 05, 2021 11:29 pm
by TheByteSize
OPCOXE wrote:
Fri Nov 05, 2021 9:15 pm
my bad, you should be able to compare at adrress.
Anyway, I don't recommend modify these value at where final write happens. Often, the game would skip your power up phase.
As for my script, I modified the adding value from 1 to 100 or whatever I desired.

Re: Sword Art Online: Alicization Lycoris (Steam version only). Working for 2.01

Posted: Sat Nov 06, 2021 4:43 pm
by TM0414
I would like to thank all the people who have worked to keep this engine up to date, including the first person to post it.
I especially like the ability to create my favorite items with Highlight Items.
Really, really thank you! !!