Assassin's Creed Revelations ~ Limited Edition v1.03 (Uplay & Steam)

Upload your cheat tables here (No requests)
Paul44
RCE Fanatics
RCE Fanatics
Posts: 887
Joined: Thu Jul 27, 2017 9:02 am
Reputation: 566

Assassin's Creed Revelations ~ Limited Edition v1.03 (Uplay & Steam)

Post by Paul44 »

* Health (health, godmode, invisible, notoriety, templar awareness, lock consumables, ignore fall damage)
* Inventory
* Teleport & Coordinates (waypoint teleport, free roam, cam distance, speed, icon teleport, save/restore coordinates)
* Assassin Recruit Status
* Miscellaneous:
- Time Of Day
- Freeze Mission Timers
- Switch Character
- Manage Map
- Manage Assassins & Contracts
- Chariot Health
- Abstergo Challenges


- UPDATE 1 -
- added God Mode & Invisibility
- Teleport & Coordinates...
(Readme file is included ~ read first before asking questions...)
RE info on "finds": read here [ viewtopic.php?p=44881#p44881 ] (and/or check my other AC tables)

- UPDATE 2 -
some minor adaptions, primarily Teleport script.

- UPDATE 3 - (201902)
Updated for another v103 Steam vs (espec had to redo Templar Awareness); and tested with Theta v3
ps: Notoriety not really an issue, but original 'Templar Awareness' code does not seem to be my cup of tea (honestly can not recall)?! I'm leaving prev table in case somebody recognize/(re)claim that code. Plus: although I checked out everything in the different versions, I did not do it thàt extensively so...

- UPDATE 4 - (202005) v4.1
Major update: most main struct ptrs now collected via 1 main script. This increases chances of having it working with your game's exe vs!
Again: did not play the game extensively; just some run-testing with several saves. Also verified/working 1 uplay & 1 Steam vs
New: Free Roam & Cam Distance (FOV)
Also added batchfile to create Windowed version (but probably more 'manageable' using DxWnd). See also here: [ viewtopic.php?f=23&t=11869 ] (you'll need to download SFK = Swiss File Knife yourself)

- UPDATE 5 - v4.4
Added: Build icon list... This feature will allow you to get coordinates for most/all Collectibles; and have them shown on the map. (did not touch anything else)

- UPDATE 6 - v4.6
Added: Freeze Timer... (both for mission & chrono).
Based on my experience in ACU: for more info see here [ viewtopic.php?p=138872#p138872 ]. Finding the Chrono routine took me some serious time/research...
Important: did NOT test with Steam vs, so if it is not working for you let me know!

- UPDATE 7 - v4.7
Cleaned up table a bit, in line with other AC tables
Added: Time of Day

- UPDATE 8 - v4.8
Added: Abstergo Challenges (edit/complete most/any challenge ~ based on ACS experience)
Minor updates (related to CE pre-v7.x)
GUI update: based on AC BF experience (see also readme file)

- UPDATE 9 - v4.9
Added: manage Assassins & Contracts (edit params such as Skill & Level; and change Contract params such as Money & Duration)
GUI fully updated (based on AC BF experience (see also readme file))
-EDIT-: added ptr check for 'manage assassin' & updated readme...

- UPDATE 10 - v5.1
* Icon Teleport ~ Build Icon Lists: completely revamped (far more practical, using Form !)
* GUI backend updated to latest release
* Some minor updates
* Note: only extensively tested icon teleport (did not touch anything else)
-EDIT-
* some minor updates
* appropriate scripts now all run in async mode

- UPDATE 11 - v5.4
* Manage assassin/contracts & Challenges: completely revamped (far more practical, using Form !)
* some minor updates (...for sure)

- UPDATE 12 - v5.6
* Icon Teleport: Show icons now selectable per type/category (see #x-hex-x research below)
* GUI updated to latest vs (adds some minor updates)

- UPDATE 13 - v5.7
* GUI backend updated to latest release
* complete revamp of Free Roam feature (mouse-controlled now)
* added: save & restore coordinates

- UPDATE 14 - v5.9
* GUI backend updated to latest release
* manage assassins finetuned
* added: speed (teleport section) & challenge descriptives

- UPDATE 15 - v6.0
* updated to latest gui
* added: Ignore Fall Damage (primarily used in teleporting)
* 2 important changes
> using 'ignore fall damage' vs 'godmode' now
> back-end aob_search routine updated
(if certain scripts no longer enable or give incorrect info, do report back!)
* changed all var_inits to hexvals
* reshuffled features (seems to make more sense)
* now using Edge + Google to open 'info' link (see Settings)

- UPDATE 16 - v6.1
* fixed some minor bugs
* added: lock ingredients & bombs (~ Lock Consumables)
* added: bomb ingredients & knives (~ Inventory)
* added: Time Delay (~ Time Of Day)
=> if bomb management (esp. in combo with Black Market dealer) gives issues, do report back !

- UPDATE 17 - v6.2
* added: Assassin Recruit Status
* changed: using [Ctrl+T] now to teleport
* changed: removed check teleport (seems more "stable" now ?!)

- UPDATE 18 - v6.3
* added: manage map: show info map
* major update: main script to access/collect info during 'secret locations' (see also pg 3)

- UPDATE 19 - v6.4
* added: switch character

- UPDATE 20 - v6.5
* major update: main script to access/collect info for all missions
* added: chariot health
* added: skip Bink videos
* added: skip endcredits


Readme updated accordingly !

Please, report back when having crashing issues. And make sure you can reproduce it; so that I have something to go on !
For better compression, Winrar 5.x is used.

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
Attachments
ACRV_v6.5_Released.rar
pw = Fearless
(83.26 KiB) Downloaded 1384 times
ACRV_v6.4_Released.rar
pw = Fearless
(80.56 KiB) Downloaded 284 times
_WinGame_ACRV.rar
pw: Fearless
(761 Bytes) Downloaded 868 times
Last edited by Paul44 on Mon Mar 18, 2024 5:23 pm, edited 13 times in total.

paul44frf
Expert Cheater
Expert Cheater
Posts: 76
Joined: Sat Jul 25, 2020 3:02 pm
Reputation: 13

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by paul44frf »

* Other tables by:
- #majmun (and discussions) here: [ viewtopic.php?f=4&t=3867 ]
- #x-hex-x : Unlock Rhodes city [ viewtopic.php?p=243011#p243011 ]
- #x-hex-x : High contract success & Make master assassins [ viewtopic.php?p=243944#p243944 ]

* Inventory Supplies editor: see for details here [ http://fearlessrevolution.com/viewtopic ... 231#p37342 ]

* Windowed:
> DXWnd v2.04.59 allows one to run the game in Windowed mode.
> by #Sunbeam: [ http://fearlessrevolution.com/viewtopic.php?t=1907 ])
> Patch AC RV (use batchfile above)
- you must download SFK (Swiss File Knife) to use with this batchfile
- For more info/discussion, see here: [ viewtopic.php?f=23&t=11869 ]
Last edited by paul44frf on Sat Apr 08, 2023 9:35 am, edited 1 time in total.

x-hex-x
Noobzor
Noobzor
Posts: 11
Joined: Mon Nov 01, 2021 1:04 pm
Reputation: 8

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by x-hex-x »

Unlock Rhodes city permanently without play multiplayer

If you activated the script while in the contracts menu then re-enter it

Rhodes unlock code:

Code: Select all

{ Game   : ACRSP.exe
  Version: 1.03 Steam/Uplay
  Date   : 2022-03-27
  Author : hex
}

[ENABLE]

aobscanmodule(RhodesStatus,ACRSP.exe,80 B8 FA 02 00 00 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov byte ptr [eax+2FA],01

code:
  cmp byte ptr [eax+2FA],00
  jmp return

RhodesStatus:
  jmp newmem
  nop 2
return:
registersymbol(RhodesStatus)

[DISABLE]

RhodesStatus:
  db 80 B8 FA 02 00 00 00

unregistersymbol(RhodesStatus)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+93503B

ACRSP.exe+93501F: CC                    - int 3 
ACRSP.exe+935020: 8B 91 F4 00 00 00     - mov edx,[ecx+000000F4]
ACRSP.exe+935026: 8B 42 08              - mov eax,[edx+08]
ACRSP.exe+935029: 8B 12                 - mov edx,[edx]
ACRSP.exe+93502B: C1 F8 1F              - sar eax,1F
ACRSP.exe+93502E: 23 D0                 - and edx,eax
ACRSP.exe+935030: 74 16                 - je ACRSP.exe+935048
ACRSP.exe+935032: A1 14 0A 85 03        - mov eax,[ACRSP.exe+2880A14]
ACRSP.exe+935037: 85 C0                 - test eax,eax
ACRSP.exe+935039: 74 0D                 - je ACRSP.exe+935048
// ---------- INJECTING HERE ----------
ACRSP.exe+93503B: 80 B8 FA 02 00 00 00  - cmp byte ptr [eax+000002FA],00 - is Rhodes unlocked? | 00 - locked, 01 - unlocked
// ---------- DONE INJECTING  ----------
ACRSP.exe+935042: 0F 94 C0              - sete al - set false (01) if Rhodes is locked
ACRSP.exe+935045: 88 42 74              - mov [edx+74],al - set city locked status | 00 - unlocked, 01 - locked
ACRSP.exe+935048: 6A 01                 - push 01
ACRSP.exe+93504A: E8 11 FA FF FF        - call ACRSP.exe+934A60
ACRSP.exe+93504F: C3                    - ret 
ACRSP.exe+935050: 55                    - push ebp
ACRSP.exe+935051: 8B EC                 - mov ebp,esp
ACRSP.exe+935053: 6A FF                 - push -01
ACRSP.exe+935055: 68 DE 53 02 03        - push ACRSP.exe+20553DE
ACRSP.exe+93505A: 64 A1 00 00 00 00     - mov eax,fs:[00000000]
}
Attachments
Unlock Rhodes.CT
(2.33 KiB) Downloaded 671 times

Paul44
RCE Fanatics
RCE Fanatics
Posts: 887
Joined: Thu Jul 27, 2017 9:02 am
Reputation: 566

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by Paul44 »

^ @x-hex-x: just to be clear: the script adds Rhodes to the contract list, right ? (like in : [ ]))
Reason i ask is because it already was part of my city list (but i probably used a save_unlocker back then ~ i never play games online, and very unlikely i did back then...)

anyhow: thx for sharing this. i did a quick search on the subject, and it has been requested - among others - on steam forum.
cheers

ps: i prefer this kind of unlocker over a save btw. if i find some time, i'll have a look at this particular struct ?! who knows...

x-hex-x
Noobzor
Noobzor
Posts: 11
Joined: Mon Nov 01, 2021 1:04 pm
Reputation: 8

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by x-hex-x »

^ @Paul44
May be this information will help u improve ur amazing table:
I found how to get 100% contract success odds, low contracts difficulty and how to make all recruits master assassins:



High contract success odds code:
We just have to set nop to two addresses
The first address is responsible for the visual display of contract success odds, while the second address is for the success odds of the contract itself.

Code: Select all

{ Game   : ACRSP.exe
  Version: 1.03 Steam/Uplay
  Date   : 2022-04-01
  Author : hex
}

[ENABLE]

aobscanmodule(ContractsSuccessOdds_01,ACRSP.exe,EB ?? F3 ?? ?? ?? ?? 0F ?? ?? 66 ?? ?? ?? ?? ?? ?? ?? 72 ?? F3 ?? ?? ?? ?? ?? ?? ?? 6A)
aobscanmodule(ContractsSuccessOdds_02,ACRSP.exe,F3 ?? ?? ?? 66 ?? ?? ?? 72 ?? 0F ?? ?? F3 ?? ?? ?? 66 ?? ?? ?? ?? ?? ?? ?? 72 ?? F3 ?? ?? ?? ?? ?? ?? ?? 8B ?? ?? C1)

ContractsSuccessOdds_01+12:
  db 90 90

ContractsSuccessOdds_02+19:
  db 90 90

registersymbol(ContractsSuccessOdds_01)
registersymbol(ContractsSuccessOdds_02)

[DISABLE]

ContractsSuccessOdds_01+12:
  db 72 08

ContractsSuccessOdds_02+19:
  db 72 08

unregistersymbol(ContractsSuccessOdds_01)
unregistersymbol(ContractsSuccessOdds_02)

//ContractsSuccessOdds_01
{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+100DB6C

ACRSP.exe+100DB4C: D9 45 0C                 - fld dword ptr [ebp+0C]
ACRSP.exe+100DB4F: D9 EE                    - fldz 
ACRSP.exe+100DB51: DF F1                    - fcomip st(0),st(1)
ACRSP.exe+100DB53: DD D8                    - fstp st(0)
ACRSP.exe+100DB55: 72 05                    - jb ACRSP.exe+100DB5C
ACRSP.exe+100DB57: 0F 57 C0                 - xorps xmm0,xmm0
ACRSP.exe+100DB5A: EB 05                    - jmp ACRSP.exe+100DB61
ACRSP.exe+100DB5C: F3 0F 10 45 0C           - movss xmm0,[ebp+0C]
ACRSP.exe+100DB61: 0F 5A C8                 - cvtps2pd xmm1,xmm0
ACRSP.exe+100DB64: 66 0F 2F 0D 38 6D 07 03  - comisd xmm1,[ACRSP.exe+2176D38]
// ---------- INJECTING HERE ----------
ACRSP.exe+100DB6C: 72 08                    - jb ACRSP.exe+100DB76
// ---------- DONE INJECTING  ----------
ACRSP.exe+100DB6E: F3 0F 10 05 44 50 07 03  - movss xmm0,[ACRSP.exe+2175044]
ACRSP.exe+100DB76: 6A 20                    - push 20
ACRSP.exe+100DB78: F3 0F 11 45 0C           - movss [ebp+0C],xmm0
ACRSP.exe+100DB7D: D9 45 0C                 - fld dword ptr [ebp+0C]
ACRSP.exe+100DB80: 51                       - push ecx
ACRSP.exe+100DB81: 8D 4D D4                 - lea ecx,[ebp-2C]
ACRSP.exe+100DB84: D9 1C 24                 - fstp dword ptr [esp]
ACRSP.exe+100DB87: E8 54 C9 76 FF           - call ACRSP.exe+77A4E0
ACRSP.exe+100DB8C: 8D 4D E8                 - lea ecx,[ebp-18]
ACRSP.exe+100DB8F: C6 45 FC 00              - mov byte ptr [ebp-04],00
}
///////////////////////////////////////////////////////////////////////////
//ContractsSuccessOdds_02
{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+932122

ACRSP.exe+9320FB: 0F 5A C9                 - cvtps2pd xmm1,xmm1
ACRSP.exe+9320FE: 0F 5A C0                 - cvtps2pd xmm0,xmm0
ACRSP.exe+932101: F2 0F 58 C8              - addsd xmm1,xmm0
ACRSP.exe+932105: 66 0F 5A C1              - cvtpd2ps xmm0,xmm1
ACRSP.exe+932109: F3 0F 5A C8              - cvtss2sd xmm1,xmm0
ACRSP.exe+93210D: 66 0F 2F D1              - comisd xmm2,xmm1
ACRSP.exe+932111: 72 03                    - jb ACRSP.exe+932116
ACRSP.exe+932113: 0F 57 C0                 - xorps xmm0,xmm0
ACRSP.exe+932116: F3 0F 5A C8              - cvtss2sd xmm1,xmm0
ACRSP.exe+93211A: 66 0F 2F 0D 38 6D 07 03  - comisd xmm1,[ACRSP.exe+2176D38]
// ---------- INJECTING HERE ----------
ACRSP.exe+932122: 72 08                    - jb ACRSP.exe+93212C
// ---------- DONE INJECTING  ----------
ACRSP.exe+932124: F3 0F 10 05 44 50 07 03  - movss xmm0,[ACRSP.exe+2175044]
ACRSP.exe+93212C: 8B 55 0C                 - mov edx,[ebp+0C]
ACRSP.exe+93212F: C1 EA 0F                 - shr edx,0F
ACRSP.exe+932132: F6 D2                    - not dl
ACRSP.exe+932134: F3 0F 11 45 10           - movss [ebp+10],xmm0
ACRSP.exe+932139: C7 45 FC FF FF FF FF     - mov [ebp-04],FFFFFFFF
ACRSP.exe+932140: F6 C2 01                 - test dl,01
ACRSP.exe+932143: 74 29                    - je ACRSP.exe+93216E
ACRSP.exe+932145: 85 C0                    - test eax,eax
ACRSP.exe+932147: 74 25                    - je ACRSP.exe+93216E
}

Low contracts difficulty code:
After doing some research I found from which instruction the contracts success odds is assigned, value is 4 byte.
For help:
Minimum difficulty is 99, the same difficulty can have a difference in value in different contracts up to 5.
1 rhombus: about 99-103
2 rhombuses: about 183-187
3 rhombuses: about 406-410
4 rhombuses: about 2071
5 rhombuses: about 7373
6 rhombuses: about 14657

Unfortunately, I have run out of contracts with star difficulty, so I have no information about them.

Code: Select all

{ Game   : ACRSP.exe
  Version: 1.03 Steam/Uplay
  Date   : 2022-04-01
  Author : hex
}

[ENABLE]

aobscanmodule(ContractsDifficulty_01,ACRSP.exe,8B 49 34 3B 8A 50 02 00 00)
aobscanmodule(ContractsDifficulty_02,ACRSP.exe,8B 4F 34 85 C9 76)
aobscanmodule(ContractsDifficulty_03,ACRSP.exe,8B 4F 34 8B 03)
alloc(ContractsDifficulty_CodeCave,$1000)

label(ContractsDifficulty_CodeCave_Jmp_02)
label(ContractsDifficulty_CodeCave_Jmp_03)
label(return_01)
label(return_02)
label(return_03)

ContractsDifficulty_CodeCave:
  mov ecx,(int)99 // set minimum difficulty - 99 (1 rhombus)
//Original code
  //mov ecx,[ecx+34]
  cmp ecx,[edx+00000250]
  jmp return_01

  nop 1
  nop 1
  nop 1
  nop 1

ContractsDifficulty_CodeCave_Jmp_02:
  mov ecx,(int)99
//Original code
  //mov ecx,[edi+34]
  test ecx,ecx
  jmp return_02

  nop 1
  nop 1
  nop 1
  nop 1

ContractsDifficulty_CodeCave_Jmp_03:
  mov ecx,(int)99
//Original code
  //mov ecx,[edi+34]
  mov eax,[ebx]
  jmp return_03

///////////////////////////////////////////

ContractsDifficulty_01:
  jmp ContractsDifficulty_CodeCave
  nop 4
return_01:
registersymbol(ContractsDifficulty_01)
//
ContractsDifficulty_02:
  jmp ContractsDifficulty_CodeCave_Jmp_02
return_02:
registersymbol(ContractsDifficulty_02)
//
ContractsDifficulty_03:
  jmp ContractsDifficulty_CodeCave_Jmp_03
return_03:
registersymbol(ContractsDifficulty_03)

[DISABLE]

ContractsDifficulty_01:
  db 8B 49 34 3B 8A 50 02 00 00

ContractsDifficulty_02:
  db 8B 4F 34 85 C9

ContractsDifficulty_03:
  db 8B 4F 34 8B 03

unregistersymbol(ContractsDifficulty_01)
unregistersymbol(ContractsDifficulty_02)
unregistersymbol(ContractsDifficulty_03)
dealloc(ContractsDifficulty_CodeCave)

//ContractsDifficulty_01
{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+92E830

ACRSP.exe+92E7F9: 3B 8A 9C 02 00 00  - cmp ecx,[edx+0000029C]
ACRSP.exe+92E7FF: 0F 86 80 00 00 00  - jbe ACRSP.exe+92E885
ACRSP.exe+92E805: 3B 8A A0 02 00 00  - cmp ecx,[edx+000002A0]
ACRSP.exe+92E80B: 72 0C              - jb ACRSP.exe+92E819
ACRSP.exe+92E80D: 3B 8A A4 02 00 00  - cmp ecx,[edx+000002A4]
ACRSP.exe+92E813: 0F 86 83 00 00 00  - jbe ACRSP.exe+92E89C
ACRSP.exe+92E819: 3B 8A A8 02 00 00  - cmp ecx,[edx+000002A8]
ACRSP.exe+92E81F: 0F 82 93 00 00 00  - jb ACRSP.exe+92E8B8
ACRSP.exe+92E825: 3B 8A AC 02 00 00  - cmp ecx,[edx+000002AC]
ACRSP.exe+92E82B: E9 81 00 00 00     - jmp ACRSP.exe+92E8B1
// ---------- INJECTING HERE ----------
ACRSP.exe+92E830: 8B 49 34           - mov ecx,[ecx+34]
// ---------- DONE INJECTING  ----------
ACRSP.exe+92E833: 3B 8A 50 02 00 00  - cmp ecx,[edx+00000250]
ACRSP.exe+92E839: 72 0C              - jb ACRSP.exe+92E847
ACRSP.exe+92E83B: 3B 8A 54 02 00 00  - cmp ecx,[edx+00000254]
ACRSP.exe+92E841: 77 04              - ja ACRSP.exe+92E847
ACRSP.exe+92E843: 33 C0              - xor eax,eax
ACRSP.exe+92E845: 5E                 - pop esi
ACRSP.exe+92E846: C3                 - ret 
ACRSP.exe+92E847: 3B 8A 58 02 00 00  - cmp ecx,[edx+00000258]
ACRSP.exe+92E84D: 72 0F              - jb ACRSP.exe+92E85E
ACRSP.exe+92E84F: 3B 8A 5C 02 00 00  - cmp ecx,[edx+0000025C]
}

//ContractsDifficulty_02
{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+9320B2

ACRSP.exe+932095: 8B 43 04           - mov eax,[ebx+04]
ACRSP.exe+932098: 01 45 F0           - add [ebp-10],eax
ACRSP.exe+93209B: 8B 45 08           - mov eax,[ebp+08]
ACRSP.exe+93209E: 8B 55 EC           - mov edx,[ebp-14]
ACRSP.exe+9320A1: 83 C2 04           - add edx,04
ACRSP.exe+9320A4: 89 55 EC           - mov [ebp-14],edx
ACRSP.exe+9320A7: 3B 55 E8           - cmp edx,[ebp-18]
ACRSP.exe+9320AA: 75 A4              - jne ACRSP.exe+932050
ACRSP.exe+9320AC: 8B 5D F0           - mov ebx,[ebp-10]
ACRSP.exe+9320AF: 8B 7D 10           - mov edi,[ebp+10]
// ---------- INJECTING HERE ----------
ACRSP.exe+9320B2: 8B 4F 34           - mov ecx,[edi+34]
// ---------- DONE INJECTING  ----------
ACRSP.exe+9320B5: 85 C9              - test ecx,ecx
ACRSP.exe+9320B7: 76 2C              - jna ACRSP.exe+9320E5
ACRSP.exe+9320B9: 89 5D 10           - mov [ebp+10],ebx
ACRSP.exe+9320BC: DB 45 10           - fild dword ptr [ebp+10]
ACRSP.exe+9320BF: 85 DB              - test ebx,ebx
ACRSP.exe+9320C1: 7D 06              - jnl ACRSP.exe+9320C9
ACRSP.exe+9320C3: D8 05 34 5D 07 03  - fadd dword ptr [ACRSP.exe+2175D34]
ACRSP.exe+9320C9: 89 4D 10           - mov [ebp+10],ecx
ACRSP.exe+9320CC: DB 45 10           - fild dword ptr [ebp+10]
ACRSP.exe+9320CF: 85 C9              - test ecx,ecx
}

//ContractsDifficulty_03
{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+100ED54

ACRSP.exe+100ED3D: 74 76           - je ACRSP.exe+100EDB5
ACRSP.exe+100ED3F: 56              - push esi
ACRSP.exe+100ED40: 8D 73 04        - lea esi,[ebx+04]
ACRSP.exe+100ED43: 3B F0           - cmp esi,eax
ACRSP.exe+100ED45: 74 6D           - je ACRSP.exe+100EDB4
ACRSP.exe+100ED47: B8 04 00 00 00  - mov eax,00000004
ACRSP.exe+100ED4C: 2B C3           - sub eax,ebx
ACRSP.exe+100ED4E: 89 45 FC        - mov [ebp-04],eax
ACRSP.exe+100ED51: 57              - push edi
ACRSP.exe+100ED52: 8B 3E           - mov edi,[esi]
// ---------- INJECTING HERE ----------
ACRSP.exe+100ED54: 8B 4F 34        - mov ecx,[edi+34]
// ---------- DONE INJECTING  ----------
ACRSP.exe+100ED57: 8B 03           - mov eax,[ebx]
ACRSP.exe+100ED59: 8B D6           - mov edx,esi
ACRSP.exe+100ED5B: 3B 48 34        - cmp ecx,[eax+34]
ACRSP.exe+100ED5E: 73 27           - jae ACRSP.exe+100ED87
ACRSP.exe+100ED60: 8B 4D FC        - mov ecx,[ebp-04]
ACRSP.exe+100ED63: 8D 44 31 FC     - lea eax,[ecx+esi-04]
ACRSP.exe+100ED67: C1 F8 02        - sar eax,02
ACRSP.exe+100ED6A: 85 C0           - test eax,eax
ACRSP.exe+100ED6C: 7E 15           - jle ACRSP.exe+100ED83
ACRSP.exe+100ED6E: 03 C0           - add eax,eax
}

All assassins become master assassins code:
Saved after exiting the game. It is recommended to use the function after completing all the missions of the master assassins, otherwise bugs are possible.

Code: Select all

{ Game   : ACRSP.exe
  Version: 1.03 Steam/Uplay
  Date   : 2022-04-01
  Author : hex
}

[ENABLE]

aobscanmodule(AssassinsRank,ACRSP.exe,E8 ?? ?? ?? ?? 83 ?? ?? 85 ?? 0F ?? ?? ?? ?? ?? 8A ?? 5C E9)
aobscanmodule(AssassinsRank_Jmp,ACRSP.exe,84 ?? 0F ?? ?? ?? ?? ?? 8B ?? 8D ?? ?? 8A ?? ?? 88 ?? ?? 8B ?? ?? 6A ?? 50)
alloc(AssassinsRank_CodeCave,$1000)

label(originalCode)
label(return)

AssassinsRank_CodeCave:
  cmp byte ptr [eax+5C],(int)15 //check if assassin rank is 15
  je @F // if assassin rank is 15 then skip
  mov dword ptr [eax+14],(int)15500 //set max assassin exp
  mov dword ptr [eax+10],(int)9500 //set max master assassin exp, assassin 10 rank max has 3,500-3,520
  mov byte ptr [eax+5C],(int)15 //set rank 15
@@:
  mov dl,[eax+5C]
  jmp AssassinsRank_Jmp+10

  nop 1
  nop 1
  nop 1
  nop 1

originalCode:
  readmem(AssassinsRank+10,8)

AssassinsRank+10:
  jmp AssassinsRank_CodeCave
  nop 3
return:
registersymbol(AssassinsRank)

registersymbol(AssassinsRank_Jmp)
registersymbol(originalCode)

[DISABLE]

AssassinsRank+10:
  readmem(originalCode,8)

unregistersymbol(AssassinsRank)
unregistersymbol(AssassinsRank_Jmp)
dealloc(AssassinsRank_CodeCave)

{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+FB3C1E

ACRSP.exe+FB3C00: 8D 45 0C           - lea eax,[ebp+0C]
ACRSP.exe+FB3C03: 50                 - push eax
ACRSP.exe+FB3C04: 56                 - push esi
ACRSP.exe+FB3C05: E8 D6 73 5A FF     - call ACRSP.exe+55AFE0
ACRSP.exe+FB3C0A: 8B 4D 0C           - mov ecx,[ebp+0C]
ACRSP.exe+FB3C0D: 51                 - push ecx
ACRSP.exe+FB3C0E: E8 8D F0 FF FF     - call ACRSP.exe+FB2CA0
ACRSP.exe+FB3C13: 83 C4 0C           - add esp,0C
ACRSP.exe+FB3C16: 85 C0              - test eax,eax
ACRSP.exe+FB3C18: 0F 84 2F 17 00 00  - je ACRSP.exe+FB534D
// ---------- INJECTING HERE ----------
ACRSP.exe+FB3C1E: 8A 50 5C           - mov dl,[eax+5C]
// ---------- DONE INJECTING  ----------
ACRSP.exe+FB3C21: E9 7F 13 00 00     - jmp ACRSP.exe+FB4FA5
ACRSP.exe+FB3C26: 8B 06              - mov eax,[esi]
ACRSP.exe+FB3C28: 68 50 DE 1C 03     - push ACRSP.exe+22CDE50
ACRSP.exe+FB3C2D: 50                 - push eax
ACRSP.exe+FB3C2E: E8 ED 63 0C FF     - call ACRSP.exe+7A020
ACRSP.exe+FB3C33: 83 C4 08           - add esp,08
ACRSP.exe+FB3C36: 85 C0              - test eax,eax
ACRSP.exe+FB3C38: 0F 85 7A 00 00 00  - jne ACRSP.exe+FB3CB8
ACRSP.exe+FB3C3E: 66 83 FB 02        - cmp bx,02
ACRSP.exe+FB3C42: 72 74              - jb ACRSP.exe+FB3CB8
}
Attachments
Contracts & Assassins.CT
(70.14 KiB) Downloaded 366 times

Paul44
RCE Fanatics
RCE Fanatics
Posts: 887
Joined: Thu Jul 27, 2017 9:02 am
Reputation: 566

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by Paul44 »

^ thx for sharing this! And as you rightfully stated, upgrading your assassins must be done in certain/2 "stages" (see my readme in that regard)...
ps: probably/surely works the same/analogue way in AC BR (not insinuating anything in any way here :shock:)

x-hex-x
Noobzor
Noobzor
Posts: 11
Joined: Mon Nov 01, 2021 1:04 pm
Reputation: 8

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by x-hex-x »

^ @Paul44
I tried ur "Icon Teleport" it is a very useful function, thank u! But unfortunately when building a list there are also written chests with ingredients (in fact, in the game they are considered treasures but never displayed as icons on the map) and they are on the map more than 200 pieces.
Thanks to ur function and addresses i found the instruction responsible for displaying the icons on the map. If we just do a check to see if this collection item has already been collected at the offset "cmp byte ptr [esi+99],01", we get what ur built list would look like visually:
Image

VERY much treasure icons :o

But after we make a filter on the instruction it goes like this, only needed treasures:
Image


Show collectible icons code:

Code: Select all

{ Game   : ACRSP.exe
  Version: 1.03 Steam/Uplay
  Date   : 2022-04-01
  Author : hex
}

[ENABLE]

aobscanmodule(CollectibleIcons,ACRSP.exe,E8 ?? ?? ?? ?? 84 ?? 75 ?? ?? ?? C2 ?? ?? 8A)
alloc(CollectibleIcons_CodeCave,$1000)

label(originalCode)
label(popCode)
label(return)

CollectibleIcons_CodeCave:
  push ebx
  test esi,esi
  je originalCode
  cmp byte ptr [esi+99],01// check if the collectible is not collected | 00 - collected, 01 - not collected
  jne originalCode
  mov ebx,[esi+84]
  test ebx,ebx
  je originalCode
  cmp byte ptr [ebx+14],00// check if the collectible is a chest with ingredients
  //00 - treasure with ingredients, 03 - treasure, 04 - Animus data fragments
  je originalCode
  mov al,01
  jmp popCode

originalCode:
  mov al,[esi+98]

popCode:
  pop ebx
  jmp return

CollectibleIcons+E:
  jmp CollectibleIcons_CodeCave
  nop
return:
registersymbol(CollectibleIcons)

[DISABLE]

CollectibleIcons+E:
  db 8A 86 98 00 00 00

unregistersymbol(CollectibleIcons)
dealloc(CollectibleIcons_CodeCave)

{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+9C37D2

ACRSP.exe+9C37BF: 50                    - push eax
ACRSP.exe+9C37C0: 51                    - push ecx
ACRSP.exe+9C37C1: 52                    - push edx
ACRSP.exe+9C37C2: 8B CE                 - mov ecx,esi
ACRSP.exe+9C37C4: E8 47 4D 1E 00        - call ACRSP.exe+BA8510
ACRSP.exe+9C37C9: 84 C0                 - test al,al
ACRSP.exe+9C37CB: 75 05                 - jne ACRSP.exe+9C37D2
ACRSP.exe+9C37CD: 5E                    - pop esi
ACRSP.exe+9C37CE: 5D                    - pop ebp
ACRSP.exe+9C37CF: C2 0C 00              - ret 000C
// ---------- INJECTING HERE ----------
ACRSP.exe+9C37D2: 8A 86 98 00 00 00     - mov al,[esi+00000098]
// ---------- DONE INJECTING  ----------
ACRSP.exe+9C37D8: 5E                    - pop esi
ACRSP.exe+9C37D9: 5D                    - pop ebp
ACRSP.exe+9C37DA: C2 0C 00              - ret 000C
ACRSP.exe+9C37DD: CC                    - int 3 
ACRSP.exe+9C37DE: CC                    - int 3 
ACRSP.exe+9C37DF: CC                    - int 3 
ACRSP.exe+9C37E0: 56                    - push esi
ACRSP.exe+9C37E1: 8B F1                 - mov esi,ecx
ACRSP.exe+9C37E3: 80 BE 99 00 00 00 00  - cmp byte ptr [esi+00000099],00
ACRSP.exe+9C37EA: 75 2A                 - jne ACRSP.exe+9C3816
}
Attachments
Show collectible icons.CT
(361.51 KiB) Downloaded 292 times

Paul44
RCE Fanatics
RCE Fanatics
Posts: 887
Joined: Thu Jul 27, 2017 9:02 am
Reputation: 566

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by Paul44 »

^ I did a quick scan on that lua script => ' iconCollect = readBytes(addrIcon+0x99,1)'. I can probably safely assume that it is also the byte flag you've found. I'm currently doing a check on that flag - with list '20:Show On Map' - but probably not quite "on the spot". (perhaps might need to split up into 2 lists ?!)
I'll have a look definitely coming days, and update appropriately.

and thx for bringing this to my attention.

-EDIT-
i assumed correctly; basically showing all icons without distinction (probably did not even realize the content difference in chests). Anyhow: I have now separated each icon_type (= list_option), but kept original list as well.

justfreestyle
Noobzor
Noobzor
Posts: 6
Joined: Sat Apr 27, 2019 11:59 am
Reputation: 1

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by justfreestyle »

Hi Paul

I cant figure how to use "Manage Assassins & Contracts"
In the readme it says " Select that report & then run 'Build Info List...' "
What does that mean ? what screen should i be in order to activate Build Info List?
Right now i cant activate "Build Info List" , getting error "Not all instructions could be injected"

Paul44
RCE Fanatics
RCE Fanatics
Posts: 887
Joined: Thu Jul 27, 2017 9:02 am
Reputation: 566

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by Paul44 »

^ what you probably do not realize is that you'll need to double-click the '<Disabled>' "value" to bring up a dropdown_list (which basically offers you the 2 lists: assassin & contract). once you've selected a list, click/enable the 'Build Info List' script which then opens a window with appropriate info...
> assassins should not give any issues; just stick to the "rules" (see above and Readme)
> as for contracts, you can update the corresponding parameters. I suggest you try with just 1 value to see how this works out
(don't forget to backup save first before doing some trial&err)

justfreestyle
Noobzor
Noobzor
Posts: 6
Joined: Sat Apr 27, 2019 11:59 am
Reputation: 1

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by justfreestyle »

Paul44 wrote:
Mon Apr 18, 2022 12:03 pm
^ what you probably do not realize is that you'll need to double-click the '<Disabled>' "value" to bring up a dropdown_list (which basically offers you the 2 lists: assassin & contract). once you've selected a list, click/enable the 'Build Info List' script which then opens a window with appropriate info...
> assassins should not give any issues; just stick to the "rules" (see above and Readme)
> as for contracts, you can update the corresponding parameters. I suggest you try with just 1 value to see how this works out
(don't forget to backup save first before doing some trial&err)
Got it! Thank you very much :)

Jierda
What is cheating?
What is cheating?
Posts: 2
Joined: Tue Jun 11, 2019 4:42 pm
Reputation: 0

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by Jierda »

x-hex-x wrote:
Sun Mar 27, 2022 4:36 pm
Unlock Rhodes city permanently without play multiplayer

If you activated the script while in the contracts menu then re-enter it

Rhodes unlock code:

Code: Select all

{ Game   : ACRSP.exe
  Version: 1.03 Steam/Uplay
  Date   : 2022-03-27
  Author : hex
}

[ENABLE]

aobscanmodule(RhodesStatus,ACRSP.exe,80 B8 FA 02 00 00 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov byte ptr [eax+2FA],01

code:
  cmp byte ptr [eax+2FA],00
  jmp return

RhodesStatus:
  jmp newmem
  nop 2
return:
registersymbol(RhodesStatus)

[DISABLE]

RhodesStatus:
  db 80 B8 FA 02 00 00 00

unregistersymbol(RhodesStatus)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ACRSP.exe+93503B

ACRSP.exe+93501F: CC                    - int 3 
ACRSP.exe+935020: 8B 91 F4 00 00 00     - mov edx,[ecx+000000F4]
ACRSP.exe+935026: 8B 42 08              - mov eax,[edx+08]
ACRSP.exe+935029: 8B 12                 - mov edx,[edx]
ACRSP.exe+93502B: C1 F8 1F              - sar eax,1F
ACRSP.exe+93502E: 23 D0                 - and edx,eax
ACRSP.exe+935030: 74 16                 - je ACRSP.exe+935048
ACRSP.exe+935032: A1 14 0A 85 03        - mov eax,[ACRSP.exe+2880A14]
ACRSP.exe+935037: 85 C0                 - test eax,eax
ACRSP.exe+935039: 74 0D                 - je ACRSP.exe+935048
// ---------- INJECTING HERE ----------
ACRSP.exe+93503B: 80 B8 FA 02 00 00 00  - cmp byte ptr [eax+000002FA],00 - is Rhodes unlocked? | 00 - locked, 01 - unlocked
// ---------- DONE INJECTING  ----------
ACRSP.exe+935042: 0F 94 C0              - sete al - set false (01) if Rhodes is locked
ACRSP.exe+935045: 88 42 74              - mov [edx+74],al - set city locked status | 00 - unlocked, 01 - locked
ACRSP.exe+935048: 6A 01                 - push 01
ACRSP.exe+93504A: E8 11 FA FF FF        - call ACRSP.exe+934A60
ACRSP.exe+93504F: C3                    - ret 
ACRSP.exe+935050: 55                    - push ebp
ACRSP.exe+935051: 8B EC                 - mov ebp,esp
ACRSP.exe+935053: 6A FF                 - push -01
ACRSP.exe+935055: 68 DE 53 02 03        - push ACRSP.exe+20553DE
ACRSP.exe+93505A: 64 A1 00 00 00 00     - mov eax,fs:[00000000]
}
Hello,
First of all, thank you very much for creating this trainer!
I was sifting through Revelations data files using modding tools, trying to find the trigger for unlocking Rhodes when I was told that a trainer existed which unlocked it... And I found your script.

Dunno if you want to further improve it but if you do, you should know that it erased all Assassins stationed in Alexandria and restored 100% templar control in the city. Not a big deal, but you might want to look into it :)

Llamajeep55
Noobzor
Noobzor
Posts: 5
Joined: Wed Jan 26, 2022 3:29 pm
Reputation: 0

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by Llamajeep55 »

imma try it

xXLordEagleXx
Novice Cheater
Novice Cheater
Posts: 24
Joined: Sun Oct 25, 2020 4:27 pm
Reputation: 0

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by xXLordEagleXx »

Is there a way to change Assassin's recruits weapons? That would be a cool feature to add.

EDIT: Or a way to kill/ get rid of an Assassin Master so I can choose another recruit with the weapons I want.

Paul44
RCE Fanatics
RCE Fanatics
Posts: 887
Joined: Thu Jul 27, 2017 9:02 am
Reputation: 566

Re: Assassin's Creed Revelation ~ Limited Edition v1.03 (Uplay & Steam)

Post by Paul44 »

^ not tested, but a) you could try to change/downgrade the AssMaster rank (i have no idea you'll get the proper submissions assigned again in order to get back to master), b) get your assMaster killed (assign him/her impossible task); if that is even possible ?
ps: it goes without saying to take save_backup prior to performing this kind of trickery...

Post Reply

Who is online

Users browsing this forum: AhrefsBot, DotBot, Google [Bot], Google Adsense [Bot], Majestic-12 [Bot], Spookyy