Astria Ascending

Upload your cheat tables here (No requests)
acecel
Expert Cheater
Expert Cheater
Posts: 851
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 142

Re: Astria Ascending

Post by acecel »

uia27d wrote:
Fri Mar 25, 2022 12:19 pm
Onine wrote:
Wed Oct 20, 2021 8:45 am
OK, I've reached post game and managed to get the secret crest. I'm still cluelessly looking at the mono right now, meanwhile here's the normal table for Equipment (it will trick the game to think you have 8 piece of every equipment currently in possession without adding any, so probably safe) and Secret Crest (just make sure you have at least 1 of it, and then go in to ascension and hover over main/sub/support class). Please save separately and back up, I only tested on my end.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>63</ID>
      <Description>"Equipment#"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Astria Ascending.exe
  Version: 
  Date   : 2021-10-20
  Author : Onine

  This script does blah blah blah
}

[ENABLE]

aobscan(rings,48 8B 48 08 48 89 4D B8 48 8B 40 10 48 89 45 C0 48 63 45 B8 85 C0 0F 84) // should be unique
alloc(newmem,$1000,rings)

label(code)
label(return)

newmem:

code:
  mov rcx,#8
  mov [rbp-48],rcx
  jmp return

rings:
  jmp newmem
  nop 3
return:
registersymbol(rings)

[DISABLE]

rings:
  db 48 8B 48 08 48 89 4D B8

unregistersymbol(rings)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1CAF5AC0E2E

1CAF5AC0E01: 0F 83 79 06 00 00              - jae 1CAF5AC1480
1CAF5AC0E07: 48 8B 85 50 FF FF FF           - mov rax,[rbp-000000B0]
1CAF5AC0E0E: 48 8B 40 10                    - mov rax,[rax+10]
1CAF5AC0E12: 48 63 8D 48 FF FF FF           - movsxd  rcx,dword ptr [rbp-000000B8]
1CAF5AC0E19: 48 63 C9                       - movsxd  rcx,ecx
1CAF5AC0E1C: 48 6B C9 18                    - imul rcx,rcx,18
1CAF5AC0E20: 48 03 C1                       - add rax,rcx
1CAF5AC0E23: 48 83 C0 20                    - add rax,20
1CAF5AC0E27: 48 8B 08                       - mov rcx,[rax]
1CAF5AC0E2A: 48 89 4D B0                    - mov [rbp-50],rcx
// ---------- INJECTING HERE ----------
1CAF5AC0E2E: 48 8B 48 08                    - mov rcx,[rax+08]
// ---------- DONE INJECTING  ----------
1CAF5AC0E32: 48 89 4D B8                    - mov [rbp-48],rcx
1CAF5AC0E36: 48 8B 40 10                    - mov rax,[rax+10]
1CAF5AC0E3A: 48 89 45 C0                    - mov [rbp-40],rax
1CAF5AC0E3E: 48 63 45 B8                    - movsxd  rax,dword ptr [rbp-48]
1CAF5AC0E42: 85 C0                          - test eax,eax
1CAF5AC0E44: 0F 84 A9 03 00 00              - je 1CAF5AC11F3
1CAF5AC0E4A: 48 8B 4D B0                    - mov rcx,[rbp-50]
1CAF5AC0E4E: 49 BB E0 61 61 3C CA 01 00 00  - mov r11,000001CA3C6161E0
1CAF5AC0E58: 41 FF D3                       - call r11
1CAF5AC0E5B: 48 89 45 A0                    - mov [rbp-60],rax
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>65</ID>
      <Description>"Crests"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Astria Ascending.exe
  Version: 
  Date   : 2021-10-20
  Author : Onine

  This script does blah blah blah
}

[ENABLE]

aobscan(Orbs,48 8B 48 08 48 89 4D 90 48 8B 40 10 48 89 45 98 48 63 45 90) // should be unique
alloc(newmem,$1000,Orbs)

label(code)
label(return)

newmem:
  mov [rax+08],#8
code:
  mov rcx,[rax+08]
  mov [rbp-70],rcx
  jmp return

Orbs:
  jmp newmem
  nop 3
return:
registersymbol(Orbs)

[DISABLE]

Orbs:
  db 48 8B 48 08 48 89 4D 90

unregistersymbol(Orbs)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1A65C95DB54

1A65C95DB2F: 48 63 49 18           - movsxd  rcx,dword ptr [rcx+18]
1A65C95DB33: 3B C1                 - cmp eax,ecx
1A65C95DB35: 0F 83 56 01 00 00     - jae 1A65C95DC91
1A65C95DB3B: 49 8B 47 10           - mov rax,[r15+10]
1A65C95DB3F: 49 63 CE              - movsxd  rcx,r14d
1A65C95DB42: 48 6B C9 18           - imul rcx,rcx,18
1A65C95DB46: 48 03 C1              - add rax,rcx
1A65C95DB49: 48 83 C0 20           - add rax,20
1A65C95DB4D: 48 8B 08              - mov rcx,[rax]
1A65C95DB50: 48 89 4D 88           - mov [rbp-78],rcx
// ---------- INJECTING HERE ----------
1A65C95DB54: 48 8B 48 08           - mov rcx,[rax+08]
// ---------- DONE INJECTING  ----------
1A65C95DB58: 48 89 4D 90           - mov [rbp-70],rcx
1A65C95DB5C: 48 8B 40 10           - mov rax,[rax+10]
1A65C95DB60: 48 89 45 98           - mov [rbp-68],rax
1A65C95DB64: 48 63 45 90           - movsxd  rax,dword ptr [rbp-70]
1A65C95DB68: 85 C0                 - test eax,eax
1A65C95DB6A: 0F 8E 0B 01 00 00     - jng 1A65C95DC7B
1A65C95DB70: 48 63 87 C8 00 00 00  - movsxd  rax,dword ptr [rdi+000000C8]
1A65C95DB77: 85 C0                 - test eax,eax
1A65C95DB79: 0F 84 FC 00 00 00     - je 1A65C95DC7B
1A65C95DB7F: 48 8B 87 A0 00 00 00  - mov rax,[rdi+000000A0]
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
BTW, a little trick to get multiple crests: finishing bosses that drops said crest/equipment with Triple Slash. Triple Slash counts as 3 drop rolls.
this is really my first time doing this and all I got is error on line 1, something like this "error in line 1 (<?xml version="1.0" encoding="utf-8"?>) this instruction cannot be compiled" do you know how to fix this?
Don't copy/paste his code in a script, but directly in CE (right click on an empty area in the middle then paste, it will create a new entry/script in the table).

The scripts he shared don't activate on my version of the game (last update) so i can't tell if it work or not on yours.

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

acecel
Expert Cheater
Expert Cheater
Posts: 851
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 142

Re: Astria Ascending

Post by acecel »

@TheByteSize : The "Inf Item Usage" script doesn't work anymore on the game last version, the script still activate but the method 'Inventory:RemoveItem' is not used anymore by the game, instead the item is kept but his quantity is set to 0 (using standard collection.set_Item method).
I tried to modify your script to work on the new method but without any success.

Edit : I also had issues with the script "After Battle Money, EXP and SP Multiplier" which doesn't multiply what it should (the money mult. seemed to change the skill points, etc ...)
Last edited by acecel on Tue Apr 05, 2022 11:59 pm, edited 1 time in total.

acecel
Expert Cheater
Expert Cheater
Posts: 851
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 142

Re: Astria Ascending

Post by acecel »

A little script that may be useful for some, it allows you to edit your number of "Crest Main/Sub Job" quantity and allows you to have your main/sub class earlier.
The value is updated after entering the "Ascension Tree" menu, edit the value to 8 and then immediately choose your class for each character.
The value may be updated by the game while playing/loading a save, so edit the value just before using the crests.
Copy the script then paste it directly in the table (and not into a script).

I will add the other crests (for sub & support jobs) when i will get them during my playthrough.
If you want it early then upload/share your save in which you have a few of them (ideally 4, but 3 could be ok too, 2 or less will not work, i need a few of them to be able to find the values). I won't mind doing it at it would allow me to unlock all my jobs earlier :mrgreen:
The save files are located in the folder :
%USERPROFILE%\AppData\LocalLow\Artisan Game Studios\Astria Ascending


Read Main/Sub Job Crest Value

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>26035</ID>
      <Description>"Read Main/Sub Job Crest Value"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <LastState/>
      <Color>FF8000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : Astria Ascending.exe
  Version: 
  Date   : 2022-04-04
  Author : acecel

  This script does blah blah blah
}

[ENABLE]
{$lua}
mono_compile_method(mono_getJitInfo(getAddress('CharacterSkillTreeStats:UpdateQuantities')).method)
{$asm}
aobscanregion(aob_crest_main,CharacterSkillTreeStats:UpdateQuantities+ab,CharacterSkillTreeStats:UpdateQuantities+c3,48 8B 48 08 48 89 4D A0) // should be unique
alloc(newmem_main,$1000,aob_crest_main)

alloc(val_main,$4)
registersymbol(val_main)

label(code_main)
label(return_main)

newmem_main:
  mov [val_main],rax
code_main:
  mov rcx,[rax+08]
  mov [rbp-60],rcx
  jmp return_main

aob_crest_main:
  jmp newmem_main
  nop 3
return_main:
registersymbol(aob_crest_main)




{$lua}
mono_compile_method(mono_getJitInfo(getAddress('CharacterSkillTreeStats:UpdateQuantities')).method)
{$asm}
aobscanregion(aob_crest_sub,CharacterSkillTreeStats:UpdateQuantities+2c0,CharacterSkillTreeStats:UpdateQuantities+2d7,48 8B 48 08 48 89 4D A0) // should be unique
alloc(newmem_sub,$1000,aob_crest_sub)

alloc(val_sub,$4)
registersymbol(val_sub)

label(code_sub)
label(return_sub)

newmem_sub:
  mov [val_sub],rax
code_sub:
  mov rcx,[rax+08]
  mov [rbp-60],rcx
  jmp return_sub

aob_crest_sub:
  jmp newmem_sub
  nop 3
return_sub:
registersymbol(aob_crest_sub)

[DISABLE]

aob_crest_main:
  db 48 8B 48 08 48 89 4D A0

unregistersymbol(val_main)
unregistersymbol(aob_crest_main)
dealloc(newmem_main)

{
// ORIGINAL CODE - INJECTION POINT: Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+af

Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+8a: 48 63 49 18                    - movsxd  rcx,dword ptr [rcx+18]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+8e: 3B C1                          - cmp eax,ecx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+90: 0F 83 3F 04 00 00              - jae Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+4d5
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+96: 49 8B 46 10                    - mov rax,[r14+10]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+9a: 49 63 CD                       - movsxd  rcx,r13d
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+9d: 48 6B C9 18                    - imul rcx,rcx,18
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+a1: 48 03 C1                       - add rax,rcx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+a4: 48 83 C0 20                    - add rax,20
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+a8: 48 8B 08                       - mov rcx,[rax]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+ab: 48 89 4D 98                    - mov [rbp-68],rcx
// ---------- INJECTING HERE ----------
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+af: 48 8B 48 08                    - mov rcx,[rax+08]
// ---------- DONE INJECTING  ----------
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+b3: 48 89 4D A0                    - mov [rbp-60],rcx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+b7: 48 8B 40 10                    - mov rax,[rax+10]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+bb: 48 89 45 A8                    - mov [rbp-58],rax
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+bf: 48 8B CD                       - mov rcx,rbp
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+c2: 48 83 C1 98                    - add rcx,-68
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+c6: 48 83 C1 08                    - add rcx,08
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+ca: 48 8D 6D 00                    - lea rbp,[rbp+00]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+ce: 49 BB 60 45 E1 D6 F3 02 00 00  - mov r11,System.Int32:ToString
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+d8: 41 FF D3                       - call r11
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+db: 48 8B D0                       - mov rdx,rax
}



aob_crest_sub:
  db 48 8B 48 08 48 89 4D A0

unregistersymbol(val_sub)
unregistersymbol(aob_crest_sub)
dealloc(newmem_sub)

{
// ORIGINAL CODE - INJECTION POINT: Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2cb

Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2a6: 48 63 49 18                    - movsxd  rcx,dword ptr [rcx+18]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2aa: 3B C1                          - cmp eax,ecx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2ac: 0F 83 9E 02 00 00              - jae Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+550
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2b2: 49 8B 46 10                    - mov rax,[r14+10]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2b6: 49 63 CD                       - movsxd  rcx,r13d
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2b9: 48 6B C9 18                    - imul rcx,rcx,18
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2bd: 48 03 C1                       - add rax,rcx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2c0: 48 83 C0 20                    - add rax,20
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2c4: 48 8B 08                       - mov rcx,[rax]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2c7: 48 89 4D 98                    - mov [rbp-68],rcx
// ---------- INJECTING HERE ----------
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2cb: 48 8B 48 08                    - mov rcx,[rax+08]
// ---------- DONE INJECTING  ----------
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2cf: 48 89 4D A0                    - mov [rbp-60],rcx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2d3: 48 8B 40 10                    - mov rax,[rax+10]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2d7: 48 89 45 A8                    - mov [rbp-58],rax
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2db: 48 8B CD                       - mov rcx,rbp
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2de: 48 83 C1 98                    - add rcx,-68
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2e2: 48 83 C1 08                    - add rcx,08
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2e6: 49 BB 60 45 89 D6 66 02 00 00  - mov r11,System.Int32:ToString
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2f0: 41 FF D3                       - call r11
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2f3: 48 8B D0                       - mov rdx,rax
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2f6: 49 8B CF                       - mov rcx,r15
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>26036</ID>
          <Description>"Crest Main Job"</Description>
          <LastState Value="2" RealAddress="267792286A0"/>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>val_main</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>48</Key>
              </Keys>
              <Value>0</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>49</Key>
              </Keys>
              <Value>1</Value>
              <ID>1</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>50</Key>
              </Keys>
              <Value>2</Value>
              <ID>2</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>51</Key>
              </Keys>
              <Value>3</Value>
              <ID>3</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>26045</ID>
          <Description>"Crest Sub Job"</Description>
          <LastState Value="2" RealAddress="26779229750"/>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>val_sub</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>48</Key>
              </Keys>
              <Value>0</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>49</Key>
              </Keys>
              <Value>1</Value>
              <ID>1</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>50</Key>
              </Keys>
              <Value>2</Value>
              <ID>2</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>51</Key>
              </Keys>
              <Value>3</Value>
              <ID>3</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


Edit : Updated, added sub job crest
Last edited by acecel on Wed Apr 06, 2022 11:13 pm, edited 3 times in total.

acecel
Expert Cheater
Expert Cheater
Posts: 851
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 142

Re: Astria Ascending

Post by acecel »

Another script which is basically a copy of "Always Crit" script but transposed to become "Always Hit".
It should allows you to always hit the enemy no matter your accuracy, which could help many classes that have poor accuracy.

@TheByteSize : A big thanks to you as modifying your scripts allow me to learn a lot about using mono in CE, and to create new scripts, so big thanks :mrgreen: (and you can obviously add the scripts to your tables if you want to)


Always Hit

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>26038</ID>
      <Description>"Always Hit"</Description>
      <LastState/>
      <Color>FF8000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]


{$lua}
mono_compile_method(mono_getJitInfo(getAddress('Calculator:IsHitting')).method)
{$asm}
aobscanregion(Astria_Hit,Calculator:IsHitting+328,Calculator:IsHitting+333,48 8B 75 F0 48 8B 7D F8) // should be unique
alloc(newmem,256)

label(code)
label(return)

newmem:
  test r15,r15
  je code
  cmp [r15+58],0
  je code
  mov eax,1
code:
  mov rsi,[rbp-10]
  mov rdi,[rbp-08]
  jmp return

Astria_Hit+0E:
  jmp newmem
  nop 3
return:
registersymbol(Astria_Hit)

[DISABLE]

Astria_Hit+0E:
  db 48 8B 75 F0 48 8B 7D F8

unregistersymbol(Astria_Hit)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Artisan.Zodiac.Fight.Calculator:IsHitting+32b

Artisan.Zodiac.Fight.Calculator:IsHitting+2f4: 41 B8 B8 01 00 00              - mov r8d,000001B8
Artisan.Zodiac.Fight.Calculator:IsHitting+2fa: 48 8D 6D 00                    - lea rbp,[rbp+00]
Artisan.Zodiac.Fight.Calculator:IsHitting+2fe: 49 BB 8A 6C F7 D9 73 02 00 00  - mov r11,00000273D9F76C8A
Artisan.Zodiac.Fight.Calculator:IsHitting+308: 41 FF D3                       - call r11
Artisan.Zodiac.Fight.Calculator:IsHitting+30b: 48 63 85 7C FE FF FF           - movsxd  rax,dword ptr [rbp-00000184]
Artisan.Zodiac.Fight.Calculator:IsHitting+312: 03 F0                          - add esi,eax
Artisan.Zodiac.Fight.Calculator:IsHitting+314: 48 8B CE                       - mov rcx,rsi
Artisan.Zodiac.Fight.Calculator:IsHitting+317: 48 8D AD 00 00 00 00           - lea rbp,[rbp+00000000]
Artisan.Zodiac.Fight.Calculator:IsHitting+31e: 49 BB 42 79 43 3D 77 02 00 00  - mov r11,000002773D437942
Artisan.Zodiac.Fight.Calculator:IsHitting+328: 41 FF D3                       - call r11
// ---------- INJECTING HERE ----------
Artisan.Zodiac.Fight.Calculator:IsHitting+32b: 48 8B 75 F0                    - mov rsi,[rbp-10]
// ---------- DONE INJECTING  ----------
Artisan.Zodiac.Fight.Calculator:IsHitting+32f: 48 8B 7D F8                    - mov rdi,[rbp-08]
Artisan.Zodiac.Fight.Calculator:IsHitting+333: 48 8D 65 00                    - lea rsp,[rbp+00]
Artisan.Zodiac.Fight.Calculator:IsHitting+337: 5D                             - pop rbp
Artisan.Zodiac.Fight.Calculator:IsHitting+338: C3                             - ret
2773D437DF9: 00 00                          - add [rax],al
2773D437DFB: 00 00                          - add [rax],al
2773D437DFD: 00 00                          - add [rax],al
2773D437DFF: 00 01                          - add [rcx],al
2773D437E01: 04 02                          - add al,02
2773D437E03: 05 04 03 01 50                 - add eax,50010304
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


User avatar
kroket
Novice Cheater
Novice Cheater
Posts: 21
Joined: Sun Nov 28, 2021 9:33 pm
Reputation: 2

Re: Astria Ascending

Post by kroket »

Is there any script to just win the mini game easily ? i hate the mini game when you have to win using fedorah.

User avatar
rizkydztar
Cheater
Cheater
Posts: 30
Joined: Thu Apr 19, 2018 3:58 pm
Reputation: 1

Re: Astria Ascending

Post by rizkydztar »

Onine wrote:
Wed Oct 20, 2021 8:45 am
OK, I've reached post game and managed to get the secret crest. I'm still cluelessly looking at the mono right now, meanwhile here's the normal table for Equipment (it will trick the game to think you have 8 piece of every equipment currently in possession without adding any, so probably safe) and Secret Crest (just make sure you have at least 1 of it, and then go in to ascension and hover over main/sub/support class). Please save separately and back up, I only tested on my end.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>63</ID>
      <Description>"Equipment#"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Astria Ascending.exe
  Version: 
  Date   : 2021-10-20
  Author : Onine

  This script does blah blah blah
}

[ENABLE]

aobscan(rings,48 8B 48 08 48 89 4D B8 48 8B 40 10 48 89 45 C0 48 63 45 B8 85 C0 0F 84) // should be unique
alloc(newmem,$1000,rings)

label(code)
label(return)

newmem:

code:
  mov rcx,#8
  mov [rbp-48],rcx
  jmp return

rings:
  jmp newmem
  nop 3
return:
registersymbol(rings)

[DISABLE]

rings:
  db 48 8B 48 08 48 89 4D B8

unregistersymbol(rings)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1CAF5AC0E2E

1CAF5AC0E01: 0F 83 79 06 00 00              - jae 1CAF5AC1480
1CAF5AC0E07: 48 8B 85 50 FF FF FF           - mov rax,[rbp-000000B0]
1CAF5AC0E0E: 48 8B 40 10                    - mov rax,[rax+10]
1CAF5AC0E12: 48 63 8D 48 FF FF FF           - movsxd  rcx,dword ptr [rbp-000000B8]
1CAF5AC0E19: 48 63 C9                       - movsxd  rcx,ecx
1CAF5AC0E1C: 48 6B C9 18                    - imul rcx,rcx,18
1CAF5AC0E20: 48 03 C1                       - add rax,rcx
1CAF5AC0E23: 48 83 C0 20                    - add rax,20
1CAF5AC0E27: 48 8B 08                       - mov rcx,[rax]
1CAF5AC0E2A: 48 89 4D B0                    - mov [rbp-50],rcx
// ---------- INJECTING HERE ----------
1CAF5AC0E2E: 48 8B 48 08                    - mov rcx,[rax+08]
// ---------- DONE INJECTING  ----------
1CAF5AC0E32: 48 89 4D B8                    - mov [rbp-48],rcx
1CAF5AC0E36: 48 8B 40 10                    - mov rax,[rax+10]
1CAF5AC0E3A: 48 89 45 C0                    - mov [rbp-40],rax
1CAF5AC0E3E: 48 63 45 B8                    - movsxd  rax,dword ptr [rbp-48]
1CAF5AC0E42: 85 C0                          - test eax,eax
1CAF5AC0E44: 0F 84 A9 03 00 00              - je 1CAF5AC11F3
1CAF5AC0E4A: 48 8B 4D B0                    - mov rcx,[rbp-50]
1CAF5AC0E4E: 49 BB E0 61 61 3C CA 01 00 00  - mov r11,000001CA3C6161E0
1CAF5AC0E58: 41 FF D3                       - call r11
1CAF5AC0E5B: 48 89 45 A0                    - mov [rbp-60],rax
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>65</ID>
      <Description>"Crests"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Astria Ascending.exe
  Version: 
  Date   : 2021-10-20
  Author : Onine

  This script does blah blah blah
}

[ENABLE]

aobscan(Orbs,48 8B 48 08 48 89 4D 90 48 8B 40 10 48 89 45 98 48 63 45 90) // should be unique
alloc(newmem,$1000,Orbs)

label(code)
label(return)

newmem:
  mov [rax+08],#8
code:
  mov rcx,[rax+08]
  mov [rbp-70],rcx
  jmp return

Orbs:
  jmp newmem
  nop 3
return:
registersymbol(Orbs)

[DISABLE]

Orbs:
  db 48 8B 48 08 48 89 4D 90

unregistersymbol(Orbs)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1A65C95DB54

1A65C95DB2F: 48 63 49 18           - movsxd  rcx,dword ptr [rcx+18]
1A65C95DB33: 3B C1                 - cmp eax,ecx
1A65C95DB35: 0F 83 56 01 00 00     - jae 1A65C95DC91
1A65C95DB3B: 49 8B 47 10           - mov rax,[r15+10]
1A65C95DB3F: 49 63 CE              - movsxd  rcx,r14d
1A65C95DB42: 48 6B C9 18           - imul rcx,rcx,18
1A65C95DB46: 48 03 C1              - add rax,rcx
1A65C95DB49: 48 83 C0 20           - add rax,20
1A65C95DB4D: 48 8B 08              - mov rcx,[rax]
1A65C95DB50: 48 89 4D 88           - mov [rbp-78],rcx
// ---------- INJECTING HERE ----------
1A65C95DB54: 48 8B 48 08           - mov rcx,[rax+08]
// ---------- DONE INJECTING  ----------
1A65C95DB58: 48 89 4D 90           - mov [rbp-70],rcx
1A65C95DB5C: 48 8B 40 10           - mov rax,[rax+10]
1A65C95DB60: 48 89 45 98           - mov [rbp-68],rax
1A65C95DB64: 48 63 45 90           - movsxd  rax,dword ptr [rbp-70]
1A65C95DB68: 85 C0                 - test eax,eax
1A65C95DB6A: 0F 8E 0B 01 00 00     - jng 1A65C95DC7B
1A65C95DB70: 48 63 87 C8 00 00 00  - movsxd  rax,dword ptr [rdi+000000C8]
1A65C95DB77: 85 C0                 - test eax,eax
1A65C95DB79: 0F 84 FC 00 00 00     - je 1A65C95DC7B
1A65C95DB7F: 48 8B 87 A0 00 00 00  - mov rax,[rdi+000000A0]
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
BTW, a little trick to get multiple crests: finishing bosses that drops said crest/equipment with Triple Slash. Triple Slash counts as 3 drop rolls.
Not working in latest update 1.32 ver.

arnoo8
What is cheating?
What is cheating?
Posts: 1
Joined: Wed May 18, 2022 6:24 pm
Reputation: 0

Re: Astria Ascending

Post by arnoo8 »

Nothing working so far, except for the j-ster thing, but i'm not sure they are working as intended, as i ended up wining game and being the one giving away my token when fliping every token of the board ^^

comadreja005
Cheater
Cheater
Posts: 34
Joined: Sun Nov 01, 2020 4:43 pm
Reputation: 1

Re: Astria Ascending

Post by comadreja005 »

no funciona

Shirokaido
Expert Cheater
Expert Cheater
Posts: 193
Joined: Mon May 21, 2018 1:18 am
Reputation: 24

Re: Astria Ascending

Post by Shirokaido »

acecel wrote:
Tue Apr 05, 2022 9:49 pm
A little script that may be useful for some, it allows you to edit your number of "Crest Main/Sub Job" quantity and allows you to have your main/sub class earlier.
The value is updated after entering the "Ascension Tree" menu, edit the value to 8 and then immediately choose your class for each character.
The value may be updated by the game while playing/loading a save, so edit the value just before using the crests.
Copy the script then paste it directly in the table (and not into a script).

I will add the other crests (for sub & support jobs) when i will get them during my playthrough.
If you want it early then upload/share your save in which you have a few of them (ideally 4, but 3 could be ok too, 2 or less will not work, i need a few of them to be able to find the values). I won't mind doing it at it would allow me to unlock all my jobs earlier :mrgreen:
The save files are located in the folder :
%USERPROFILE%\AppData\LocalLow\Artisan Game Studios\Astria Ascending


Read Main/Sub Job Crest Value

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>26035</ID>
      <Description>"Read Main/Sub Job Crest Value"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <LastState/>
      <Color>FF8000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : Astria Ascending.exe
  Version: 
  Date   : 2022-04-04
  Author : acecel

  This script does blah blah blah
}

[ENABLE]
{$lua}
mono_compile_method(mono_getJitInfo(getAddress('CharacterSkillTreeStats:UpdateQuantities')).method)
{$asm}
aobscanregion(aob_crest_main,CharacterSkillTreeStats:UpdateQuantities+ab,CharacterSkillTreeStats:UpdateQuantities+c3,48 8B 48 08 48 89 4D A0) // should be unique
alloc(newmem_main,$1000,aob_crest_main)

alloc(val_main,$4)
registersymbol(val_main)

label(code_main)
label(return_main)

newmem_main:
  mov [val_main],rax
code_main:
  mov rcx,[rax+08]
  mov [rbp-60],rcx
  jmp return_main

aob_crest_main:
  jmp newmem_main
  nop 3
return_main:
registersymbol(aob_crest_main)




{$lua}
mono_compile_method(mono_getJitInfo(getAddress('CharacterSkillTreeStats:UpdateQuantities')).method)
{$asm}
aobscanregion(aob_crest_sub,CharacterSkillTreeStats:UpdateQuantities+2c0,CharacterSkillTreeStats:UpdateQuantities+2d7,48 8B 48 08 48 89 4D A0) // should be unique
alloc(newmem_sub,$1000,aob_crest_sub)

alloc(val_sub,$4)
registersymbol(val_sub)

label(code_sub)
label(return_sub)

newmem_sub:
  mov [val_sub],rax
code_sub:
  mov rcx,[rax+08]
  mov [rbp-60],rcx
  jmp return_sub

aob_crest_sub:
  jmp newmem_sub
  nop 3
return_sub:
registersymbol(aob_crest_sub)

[DISABLE]

aob_crest_main:
  db 48 8B 48 08 48 89 4D A0

unregistersymbol(val_main)
unregistersymbol(aob_crest_main)
dealloc(newmem_main)

{
// ORIGINAL CODE - INJECTION POINT: Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+af

Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+8a: 48 63 49 18                    - movsxd  rcx,dword ptr [rcx+18]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+8e: 3B C1                          - cmp eax,ecx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+90: 0F 83 3F 04 00 00              - jae Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+4d5
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+96: 49 8B 46 10                    - mov rax,[r14+10]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+9a: 49 63 CD                       - movsxd  rcx,r13d
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+9d: 48 6B C9 18                    - imul rcx,rcx,18
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+a1: 48 03 C1                       - add rax,rcx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+a4: 48 83 C0 20                    - add rax,20
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+a8: 48 8B 08                       - mov rcx,[rax]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+ab: 48 89 4D 98                    - mov [rbp-68],rcx
// ---------- INJECTING HERE ----------
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+af: 48 8B 48 08                    - mov rcx,[rax+08]
// ---------- DONE INJECTING  ----------
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+b3: 48 89 4D A0                    - mov [rbp-60],rcx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+b7: 48 8B 40 10                    - mov rax,[rax+10]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+bb: 48 89 45 A8                    - mov [rbp-58],rax
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+bf: 48 8B CD                       - mov rcx,rbp
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+c2: 48 83 C1 98                    - add rcx,-68
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+c6: 48 83 C1 08                    - add rcx,08
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+ca: 48 8D 6D 00                    - lea rbp,[rbp+00]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+ce: 49 BB 60 45 E1 D6 F3 02 00 00  - mov r11,System.Int32:ToString
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+d8: 41 FF D3                       - call r11
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+db: 48 8B D0                       - mov rdx,rax
}



aob_crest_sub:
  db 48 8B 48 08 48 89 4D A0

unregistersymbol(val_sub)
unregistersymbol(aob_crest_sub)
dealloc(newmem_sub)

{
// ORIGINAL CODE - INJECTION POINT: Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2cb

Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2a6: 48 63 49 18                    - movsxd  rcx,dword ptr [rcx+18]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2aa: 3B C1                          - cmp eax,ecx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2ac: 0F 83 9E 02 00 00              - jae Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+550
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2b2: 49 8B 46 10                    - mov rax,[r14+10]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2b6: 49 63 CD                       - movsxd  rcx,r13d
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2b9: 48 6B C9 18                    - imul rcx,rcx,18
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2bd: 48 03 C1                       - add rax,rcx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2c0: 48 83 C0 20                    - add rax,20
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2c4: 48 8B 08                       - mov rcx,[rax]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2c7: 48 89 4D 98                    - mov [rbp-68],rcx
// ---------- INJECTING HERE ----------
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2cb: 48 8B 48 08                    - mov rcx,[rax+08]
// ---------- DONE INJECTING  ----------
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2cf: 48 89 4D A0                    - mov [rbp-60],rcx
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2d3: 48 8B 40 10                    - mov rax,[rax+10]
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2d7: 48 89 45 A8                    - mov [rbp-58],rax
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2db: 48 8B CD                       - mov rcx,rbp
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2de: 48 83 C1 98                    - add rcx,-68
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2e2: 48 83 C1 08                    - add rcx,08
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2e6: 49 BB 60 45 89 D6 66 02 00 00  - mov r11,System.Int32:ToString
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2f0: 41 FF D3                       - call r11
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2f3: 48 8B D0                       - mov rdx,rax
Artisan.Zodiac.UI.SkillTree.CharacterSkillTreeStats:UpdateQuantities+2f6: 49 8B CF                       - mov rcx,r15
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>26036</ID>
          <Description>"Crest Main Job"</Description>
          <LastState Value="2" RealAddress="267792286A0"/>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>val_main</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>48</Key>
              </Keys>
              <Value>0</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>49</Key>
              </Keys>
              <Value>1</Value>
              <ID>1</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>50</Key>
              </Keys>
              <Value>2</Value>
              <ID>2</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>51</Key>
              </Keys>
              <Value>3</Value>
              <ID>3</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>26045</ID>
          <Description>"Crest Sub Job"</Description>
          <LastState Value="2" RealAddress="26779229750"/>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>val_sub</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>48</Key>
              </Keys>
              <Value>0</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>49</Key>
              </Keys>
              <Value>1</Value>
              <ID>1</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>50</Key>
              </Keys>
              <Value>2</Value>
              <ID>2</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>51</Key>
              </Keys>
              <Value>3</Value>
              <ID>3</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


Edit : Updated, added sub job crest
It's a longshot that you'll reply, but no harm in asking:
The game is updated to 1.0.152r now, and it looks like only the top half of this code works; if I remove the portion for sub jobs, the main job portion works just fine. The opposite isn't true, though. I was wondering if you would be able to update this at all?

Post Reply

Who is online

Users browsing this forum: Chrisfearless, Cloover, Don77, Fukara, Google Adsense [Bot], Jessen, MobHunt, nazarick2128, Piou-Piou, Player360, SemrushBot, sinner2469, sorma1, Truhel, ukarter, WhoAmI, worgwolf, YandexBot