"ArtMoney Table","19","8.09","197EC565","C56F935C","VP2BEBB72E","1","1","english","Ys VIII: Lacrimosa of DANA","ys8.exe","1","7ff14f6db541d685a7d4750687038f3e","03/08/2021","2","6","1","1","256","9","Service Pack 1","Richard","Vienna,Austria","aon.at","richardxxx","M","64","N","Y","Y","Y","Y","N","5","skilladd;0FBE9132010000 FFC2 410154B608 418B4CB608;13;;0C;A;S;","maxHealth;410F28D0 F30F119788100000 F787B809;10;;0C;A;S;","getBaseAddr;B8CDCCCCCC F7E7 C1EA02 8D0492;C;;0C;A;S;","FishBait;6685C0 0F8E????0000 66FFC8 6689845E???????? 6685C0;19;;8C;A;S;","tripleHIT;410F28C2 F30F5DC2 0F28D0 F3410F58CC;10;;8C;A;S;","0","","Tested on GOG Version ph3_update (35702) Use Code replacing on 'Code injecting' Tab (right on top) or Edit (Description) Line and use Tab 'Code replacing' Set maxHealth: sets Team Health to maxHealth *Activate *Replace the code' for one-HIT-Kill OR: change (inject) Code for a 3*Hit (see below) Skill-Add-Code: Use if a Skill will add 10 Skill-Add-Value: will set to 10 may changed by User nonreducing ITEMs (will not decrease by use) deactivate so 'Flamestone' can get 0 to forge Weapons or deactivate during learning guides, give gifts, ... Get BaseAddr: get Adresses for HEALTH and EXP From Pointer-to-pointer search: Addr: 140509DE8 Search for instuctions that will read this Address Many found (about 10) 4C8B354D5B3200 mov r14,[140509DE8] used (see below) SIGBATURES and INJECTIONS: tripleHIT (837F7801) cmp dword ptr [rdi+78],01 // set 'TEAM-Flag' * use one-HIT-Kill or copy triple HIT to 'Inject code' 410F28C2 movaps xmm0,xmm10 F30F5DC2 minss xmm0,xmm2 0F28D0 movaps xmm2,xmm0 F3410F58CC * addss xmm1,xmm12 // Add negative Damage inject * one-HIT-Kill je skip2 // if Team xorps xmm1,xmm1 // Set Health to 0 skip2: PutOriginalCode inject * triple HIT je skip2 // if Team PutOriginalCode PutOriginalCode skip2: PutOriginalCode Skill-Add 0FBE9132010000 * movsx edx,byte ptr [rcx+00000132] FFC2 * inc edx // removed 410154B608 add [r14+rsi*4+08],edx 418B4CB608 mov ecx,[r14+rsi*4+08] (81F99F860100 cmp ecx,0001869F (99999)) inject * mov edx,0A = Skill-Add-Value 10 maxHealth part in () not used in signature 410F28D0 movaps xmm2,xmm8 F30F119788100000 * movss [rdi+00001088],xmm2 //store health F787B809 (000000000400) test dword ptr [rdi+000009B8],00040000 inject * cmp dword ptr [rdi+78],01 // check if TEAM jne skip1 //skip if Foe movss xmm2,[rdi+00001084] // get baseHealth comiss xmm1,xmm2 // compare with maxHealth jle skip1 // skip if less movaps xmm2,xmm1 //otherwise set to maxHealth skip1: // store Health = movss [rdi+00001088],xmm2 PutOriginalCode getBaseAddr BaseAddr in TAB Code-injecting defined (4C8B354D5B3200) mov r14,[140509DE8] ..and 3 more commands, not used: Addresses may change! B8CDCCCCCC * mov eax,CCCCCCCD F7E7 mul edi C1EA02 shr edx,02 8D0492 lea eax,[rdx+rdx*4] inject * mov [BaseAddr],r14 // save Baseaddr PutOriginalCode FishBait (nonreducing Items) (0FB7845E340F0200) movzx eax,word ptr [rsi+rbx*2+00020F34] 6685C0 test ax,ax 0F8E????0000 jle end1 66FFC8 * dec ax 0FB7845E???????? mov [rsi+rbx*2+00020F34],ax 6685C0 test ax,ax inject * nop","BaseAddr dq 0","-- Read: Table/Info/Comment --","000000000000","","","","nt4","","0","- Replace all Codes: Table/Info/Code injecting -","000000000000","","","","nt4","","0"," Set maxHealth movss [rdi+00001088],xmm2","maxHealth+000000000004","","","","nc5$","","0","Y","0","F30F119788100000","cmp dword ptr [rdi+78],01 // check if TEAM jne skip1 //skip if Foe movss xmm2,[rdi+00001084] // get baseHealth comiss xmm1,xmm2 // compare with maxHealth? jle skip1 // skip if less movaps xmm2,xmm1 //otherwise set to maxHealth skip1: // store Health = movss [rdi+00001088],xmm2 PutOriginalCode ","*one-HIT-Kill addss xmm1,xmm12","tripleHIT+00000000000B","","","","nc5$","","0","N","0","F3410F58CC","je skip2 // if Team xorps xmm1,xmm1 // Set Health to 0 skip2: PutOriginalCode"," Skill-Add-Code movsx edx,byte ptr [rcx+00000132]","skilladd+000000000000","","","","nc5$","","0","Y","9","0FBE9132010000","mov edx,0A // instead of original and inc edx"," Skill-Add-Value (only after injection)","skilladd+000000000001","","","","ni2$","","0"," nonreducing ITEMs dec ax","FishBait+000000000009","","","","nc1$","","0","Y","0","66FFC8","nop"," Get BaseAddr mov eax,CCCCCCCD","getBaseAddr+000000000000","","","","nc5$","","0","Y","0","B8CDCCCCCC","mov [BaseAddr],r14 // save Baseaddr PutOriginalCode","-- Base Addressed Values --","000000000000","","","","nt4","","0"," 00 Base Health","BaseAddr+P000000000000,,4228","","","","nf4&","","0"," 00 Actual Health","BaseAddr+P000000000000,,4232","","","","nf4&","","0"," ADOL EXP","BaseAddr+P000000000000,,4264","","","","nf4&","","1"," 01 Base Health","BaseAddr+P000000000000,8,4228","","","","nf4&","","0"," 01 ACTUAL HEALTH","BaseAddr+P000000000000,8,4232","","","","nf4&","","0"," LAXIA EXP","BaseAddr+P000000000000,8,4264","","","","nf4&","","1"," 02 Base Health","BaseAddr+P000000000000,16,4228","","","","nf4&","","0"," 02 ACTUAL HEALTH","BaseAddr+P000000000000,16,4232","","","","nf4&","","0"," SAHAD EXP","BaseAddr+P000000000000,16,4264","","","","nf4&","","1"," 03 Base Health","BaseAddr+P000000000000,24,4228","","","","nf4&","","0"," 03 ACTUAL HEALTH","BaseAddr+P000000000000,24,4232","","","","nf4&","","0"," HUMMEL EXP","BaseAddr+P000000000000,24,4264","","","","nf4&","","1"," 04 Base Health","BaseAddr+P000000000000,32,4228","","","","nf4&","","0"," 04 ACTUAL HEALTH","BaseAddr+P000000000000,32,4232","","","","nf4&","","0"," RICOTTA EXP","BaseAddr+P000000000000,32,4264","","","","nf4&","","1"," 05 Base Health","BaseAddr+P000000000000,40,4228","","","","nf4&","","0"," 05 ACTUAL HEALTH","BaseAddr+P000000000000,40,4232","","","","nf4&","","0"," DANA EXP","BaseAddr+P000000000000,40,4264","","","","nf4&","","1"," 06 Base Health","BaseAddr+P000000000000,48,4228","","","","nf4&","","0"," 06 ACTUAL HEALTH","BaseAddr+P000000000000,48,4232","","","","nf4&","","0"," 06 EXP","BaseAddr+P000000000000,48,4264","","","","nf4&","","1"," 07 Base Health","BaseAddr+P000000000000,56,4228","","","","nf4&","","0"," 07 ACTUAL HEALTH","BaseAddr+P000000000000,56,4232","","","","nf4&","","0"," 07 EXP","BaseAddr+P000000000000,56,4264","","","","nf4&","","1"," 08 Base Health","BaseAddr+P000000000000,64,4228","","","","nf4&","","0"," 08 ACTUAL HEALTH","BaseAddr+P000000000000,64,4232","","","","nf4&","","0"," 08 EXP","BaseAddr+P000000000000,64,4264","","","","nf4&","","1"," 09 Base Health","BaseAddr+P000000000000,72,4228","","","","nf4&","","0"," 09 ACTUAL HEALTH","BaseAddr+P000000000000,72,4232","","","","nf4&","","0"," 09 EXP","BaseAddr+P000000000000,72,4264","","","","nf4&","","1","-- old Version using Module Addresses --","000000000000","","","","nt4","","0","HP Adol","ys8.exe+P000000509DE8,,4232","","","","nf4","","1","HP Laxia","ys8.exe+P000000509DE8,8,4232","","","","nf4","","1","HP Sahad","ys8.exe+P000000509DE8,16,4232","","","","nf4","","1","HP Hummel","ys8.exe+P000000509DE8,24,4232","","","","nf4","","1","HP Ricotta","ys8.exe+P000000509DE8,32,4232","","","","nf4","","1","HP Dana","ys8.exe+P000000509DE8,40,4232","","","","nf4","","1","-- End --","000000000000","","","","nt4","","0"