Boost Entire Party
I've hacked together a way to boost the entire party in one click. It's pretty simple, and rather ugly.
Here's an example where I set all (the uncommented) companions abilities to 30.
Code: Select all
{$lua}
if syntaxcheck then return end
-- All companions found in UnpackedData\Gustav\Public\GustavDev\Origins\Origins.lsx
-- All hirelings found in UnpackedData\Shared\Public\SharedDev\Origins\Origins.lsx
companion = {
GetHostCharacter(), -- Yourself
--'4a405fba-3000-4c63-97e5-a8001ebb883c', -- Alfira
'c7c13742-bacd-460a-8f65-f864fe41f255', -- Astarion
--'4888dfaa-2e0a-4c10-9c8a-d5345aeb4746', -- DarkUrge
--'c66bc36f-7cb0-41fa-92f0-6d81d7d17ba3', -- DarkUrge-Debug
'ad9af97d-75da-406a-ae13-7071c563f604', -- Gale
--'7628bc0e-52b8-42a7-856a-13a6fd413323', -- Halsin
--'91b6b200-7d00-4d62-8dc9-99e8339dfa1a', -- Jaheira
'2c76687d-93a2-477b-8b18-8a14b549304c', -- Karlach
'58a69333-40bf-8358-1d17-fff240d7fb12', -- Lae'zel
--'201a0ee6-6411-4564-aaea-1ca057bfea04', -- Losiir
--'0de603c5-42e2-4811-9dad-f652de080eba', -- Minsc
--'25721313-0c15-4935-8176-9f134385451b', -- Minthara
'3ed74f06-3c60-42dc-83f6-f034cb47c679', -- Shadowheart
'c774d764-4a17-48dc-b470-32ace9ce447d', -- Wyll
--'7bed07ee-d1db-498d-bbfd-600ddf04676e', -- Hireling_Barbarian
--'4d3c9cb3-ca34-46ba-9c81-44081270bfde', -- Hireling_Bard
--'12e541ac-1eb3-4b8c-a8b8-95263e30b217', -- Hireling_Cleric
--'49f522f8-9ac9-431e-ab39-a45e38e222c2', -- Hireling_Druid
--'d61d12ad-dc80-4805-8c6e-fb876da196cd', -- Hireling_Fighter
--'0b149cab-4438-467a-953d-8697535b953d', -- Hireling_Monk
--'244e782b-a99c-444a-bd8d-d356c26c2902', -- Hireling_Paladin
--'0488a406-402c-4bd1-ba38-63b28c112d8d', -- Hireling_Ranger
--'e4818484-7ee4-466b-82b3-60bbd7b2ff8f', -- Hireling_Rogue
--'097aa418-eda5-47f9-867f-29a4339be03e', -- Hireling_Sorcerer
--'ee3f1f8d-f2d1-43f2-aba0-72cacafce03c', -- Hireling_Warlock
--'2c8c93f0-898b-42d6-b2ca-cf4922852632', -- Hireling_Wizard
}
boost = ''
for i = 1, #ability do
boost = boost .. string.format("AbilityOverrideMinimum(%s, %s);", ability[i], 30)
end
{$asm}
[ENABLE]
{$lua}
for i = 1, #companion do
AddBoosts(companion[i], boost)
end
{$asm}
[DISABLE]
{$lua}
for i = 1, #companion do
RemoveBoosts(companion[i], boost)
end
{$asm}
I would have liked to be able to loop through the members in my party, but I have not found a way to do just that.
Then I tried to see if I at least could check if the character was a member of my party, then loop through all the possible partymembers, and check if the entity was in the party. But I couldn't figure out how to do that either. I almost thought I had a way for doing it with hirelings, but no dice. Found the flag
Hireling_State_Hired
(
0052da16-4401-4873-7681-3316896dda42
) "Set on: hireling. When: hired & in party.", but either I can't figure out how the GetFlag call works, or it doesn't work. It always returned
0
regardless of the flag I tested, on both myself and the hireling.
The companion doesn't need to be in the party to get the boost. I only tested on companions/hirelings. They will be boosted even when not in the party. I think it would even boost an enemy if you had their UUID in the list. I don't know how it handles trying to boost someone that isn't in the game (f.ex. an unhired hireling). I've simply just commented out the companions/hirelings I didn't have in my party.
While at it, I extracted all the flags into a nice and searchable CSV. Viewable as a
[Link].