THANK YOU, THANK YOU, THANK YOU!Thepledge wrote: ↑Mon Aug 21, 2023 1:31 amGreat work finding that stuff, I've updated my code to include all the partnered attributes, and by looking into the "Act2_ORI_RomanceConflict.txt" it seems like once the characters are at the partnered state it no longer looks for conflicts. Should mean that if you either use my scripts to selectively disable other romances to see the initiation scenes, or just skip to the partnered states, it might be free and clear. Also seems like halsin has no isdating flag, but skips straight to either partnered or secondary partnered.Sylvar wrote: ↑Sun Aug 20, 2023 11:28 pmOkay so for those who have been posting questions about multiple romances, I wanted to share my experience.
There are stages in the romances, i.e. dating, partnered, past partners with etc.
If you have multiple IsDating flags set to = 1 then when one of those origin characters enters a partnership with you, the others who you were dating will give you some form of "I saw you're going steady with so and so" and break things off with you.
However, I have found a separate flag state of "--ORI_State_PartneredWith" and I was doing some testing, I set the flag state of this to = 1 with both Shadowheart and Astarion. So far they are both acting as if they are in a relationship with me, I.e. I can go up to each of them and ask them for a kiss, talk "about us" etc. and doing so with one does not seem to incur any disapproval with the other, even if we're partied up together. They seem to act as if they are oblivious to my partnership with the other.
I haven't noticed any major bugs with this test, the only thing I noticed is when Halsin asks about being with you and asks you to check with your partner, it gives you the option in dialogue to say you'll check with either Shadowheart or Astarion, though you only need to click one of the options to progress dialogue. However, you can go talk to and get consent from both of them to pursue Halsin.
The other thing I noticed is the drow twins seems to default to whomever you were partnered with first, if you try to pick the both option at Sharess' Caress. For me it acts as if Astarion is my partner even if I have Shadowheart in the party instead.
I have yet to complete either of their respective personal quests yet, nor have I gotten Shadowheart's romance scene in act 3, but figured I would share what my testing had resulted in so far!
Hope that this helps!
Here's the new scripts. as with the old one, needs to be pasted into zanzer's table and the console commands need to be registered.Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>4762</ID> <Description>"Romance Flags"</Description> <Options moHideChildren="1"/> <LastState Value="" RealAddress="00000000"/> <GroupHeader>1</GroupHeader> <CheatEntries> <CheatEntry> <ID>4763</ID> <Description>"Dating Gale"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "75d0e041-c16c-d089-6d89-64354fa4c9d9" --Debug_SetReallyTagsToo local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4492</ID> <Description>"Dating Wyll"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "f1520748-1d36-4500-9f8a-0da4207f8dd5" -- ORI_State_DatingWithWyll local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4493</ID> <Description>"Dating Astarion"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "ba298c56-26b6-4918-9bd4-616668d369d8" -- ORI_State_DatingAstarion local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4494</ID> <Description>"Dating Shadowheart"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "e87f1e21-a758-47ae-8c0e-9e715eb289b5" -- ORI_State_DatingShadowheart local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4764</ID> <Description>"Dating Lae'zel"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "86eaa84a-350b-401b-8b43-b53eeb534579" -- ORI_State_DatingLaezel local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4765</ID> <Description>"Dating Minthara"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "de1360cd-894b-40ea-95a7-1166d675d040" -- ORI_State_DatingMinthara local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4766</ID> <Description>"Dating Karlach"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "f24c3f3e-7287-4908-84bf-ba314921f5ee" -- ORI_State_DatingKarlach local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4767</ID> <Description>"Dating"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "a3346d5b-c54b-4c73-bf18-0a2bf90c35da" -- ORI_State_Dating local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4788</ID> <Description>"Partnered With Gale"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "e008e20d-d642-42ed-9008-297b6273aa21" --Debug_SetReallyTagsToo local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4789</ID> <Description>"Partnered With Wyll"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "5db4c1b6-3c42-43ae-aa85-1844acbf5a1d" -- ORI_State_DatingWithWyll local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4784</ID> <Description>"Partnered With Asterion"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "30819c8d-b39d-42e7-acd1-2a8c2c309994" -- ORI_State_DatingAstarion local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4790</ID> <Description>"Partnered With Halsin"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "7b53fe60-bb16-48a9-ae5c-9bce1dfac1a9" -- ORI_State_DatingAstarion local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4791</ID> <Description>"Partnered With Halsin Secondary"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "6af0be74-d032-4a20-876a-11bab5f86db2" -- ORI_State_DatingAstarion local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4776</ID> <Description>"Partnered With Shadowheart"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "3808ae35-ad4e-465b-800b-63d32b77211e" -- ORI_State_DatingShadowheart local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4778</ID> <Description>"Partnered With Lae'zel"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "d169a786-6e56-4f0d-a2eb-33c48d8d1160" -- ORI_State_DatingLaezel local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4782</ID> <Description>"Partnered With Minthara"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "39ac48fa-b440-47e6-a436-6dc9b10058d8" -- ORI_State_DatingMinthara local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4780</ID> <Description>"Partnered With Karlach"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "d9ff60fa-0af9-45d7-99b4-bd7c3f80ed12" -- ORI_State_DatingKarlach local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("SetFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4768</ID> <Description>"Clear Dating Gale"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "75d0e041-c16c-d089-6d89-64354fa4c9d9" --Debug_SetReallyTagsToo local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4769</ID> <Description>"Clear Dating Wyll"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "f1520748-1d36-4500-9f8a-0da4207f8dd5" -- ORI_State_DatingWithWyll local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4770</ID> <Description>"Clear Dating Astarion"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "ba298c56-26b6-4918-9bd4-616668d369d8" -- ORI_State_DatingAstarion local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4771</ID> <Description>"Clear Dating Shadowheart"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "e87f1e21-a758-47ae-8c0e-9e715eb289b5" -- ORI_State_DatingShadowheart local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4772</ID> <Description>"Clear Dating Lae'zel"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "86eaa84a-350b-401b-8b43-b53eeb534579" -- ORI_State_DatingLaezel local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4773</ID> <Description>"Clear Dating Minthara"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "de1360cd-894b-40ea-95a7-1166d675d040" -- ORI_State_DatingMinthara local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4775</ID> <Description>"Clear Dating Karlach"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "f24c3f3e-7287-4908-84bf-ba314921f5ee" -- ORI_State_DatingKarlach local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4774</ID> <Description>"Clear Dating"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "a3346d5b-c54b-4c73-bf18-0a2bf90c35da" -- ORI_State_Dating local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4786</ID> <Description>"Clear Partnered With Gale"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "e008e20d-d642-42ed-9008-297b6273aa21" --Debug_SetReallyTagsToo local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4787</ID> <Description>"Clear Partnered With Wyll"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "5db4c1b6-3c42-43ae-aa85-1844acbf5a1d" -- ORI_State_DatingWithWyll local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4785</ID> <Description>"Clear Partnered With Asterion"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "30819c8d-b39d-42e7-acd1-2a8c2c309994" -- ORI_State_DatingAstarion local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4779</ID> <Description>"Clear Partnered Shadowheart"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "3808ae35-ad4e-465b-800b-63d32b77211e" -- ORI_State_DatingLaezel local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4777</ID> <Description>"Clear Partnered Lae'zel"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "d169a786-6e56-4f0d-a2eb-33c48d8d1160" -- ORI_State_DatingLaezel local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4783</ID> <Description>"Clear Partnered Minthara"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "39ac48fa-b440-47e6-a436-6dc9b10058d8" -- ORI_State_DatingMinthara local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4781</ID> <Description>"Clear Partnered Karlach"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] {$lua} if syntaxcheck then return end local uuid = "d9ff60fa-0af9-45d7-99b4-bd7c3f80ed12" -- ORI_State_DatingKarlach local cmdCall = getAddress("cmdCall") local cmdArgs = getAddress("cmdArgs") local cmdStr1 = getAddress("cmdStr1") local cmdStr2 = getAddress("cmdStr2") PrepareCall("GetHostCharacter") executeCodeEx(0, nil, cmdCall) local player = readPointer(cmdArgs + 0x08) player = readString(player, 256, false) writeString(cmdStr1, player) writeBytes(cmdStr1 + #player, 0) writeString(cmdStr2, uuid) writeBytes(cmdStr2 + #uuid, 0) PrepareCall("ClearFlag") writePointer(cmdArgs + 0x08, cmdStr2) writePointer(cmdArgs + 0x18, cmdStr1) writeQword(cmdArgs + 0x28, 0) writeQword(cmdArgs + 0x38, 1) local result = executeCodeEx(0, nil, cmdCall) print(result == 1 and "success" or "failure") {$asm} [DISABLE] </AssemblerScript> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatTable>
Just wanted to say that. After a lot of hours trying to fix my bugged Shadowheart questline romance due to not being able to have certain character in my camp at the end of act2, your script finally fixed it.
The dating Shadowheart cheat just granted me a "it's a pity we have broken up", but the "partnered with" did the trick. Was able to see the love scene after sleeping, so thanks again!
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1