Skip to content

Instantly share code, notes, and snippets.

@LaughingLeader
Last active April 5, 2020 19:25
Show Gist options
  • Save LaughingLeader/3d4d23540852679260b988936799c1fe to your computer and use it in GitHub Desktop.
Save LaughingLeader/3d4d23540852679260b988936799c1fe to your computer and use it in GitHub Desktop.
An Osiris Extender Lua script to override vitality and armor values in character stats (Divinity: Original Sin 2 - Definitive Edition).
local player_stats = {
--["_Base"] = true,
["_Hero"] = true,
["HumanFemaleHero"] = true,
["HumanMaleHero"] = true,
["DwarfFemaleHero"] = true,
["DwarfMaleHero"] = true,
["ElfFemaleHero"] = true,
["ElfMaleHero"] = true,
["LizardFemaleHero"] = true,
["LizardMaleHero"] = true,
["HumanUndeadFemaleHero"] = true,
["HumanUndeadMaleHero"] = true,
["DwarfUndeadFemaleHero"] = true,
["DwarfUndeadMaleHero"] = true,
["ElfUndeadFemaleHero"] = true,
["ElfUndeadMaleHero"] = true,
["LizardUndeadFemaleHero"] = true,
["LizardUndeadMaleHero"] = true,
["_Companions"] = true,
["StoryPlayer"] = true,
["CasualPlayer"] = true,
["NormalPlayer"] = true,
["HardcorePlayer"] = true,
["Player_Ifan"] = true,
["Player_Lohse"] = true,
["Player_RedPrince"] = true,
["Player_Sebille"] = true,
["Player_Beast"] = true,
["Player_Fane"] = true,
}
local healthModifier = 1.5
local armorModifier = 1.5
local function MyMod_ModuleLoading()
Ext.Print("===================================================================")
Ext.Print("[MyMod:BootstrapClient.lua] Increasing health/armor/magic armor in all Character stats.")
local totalOverrides = 0
for i,stat in pairs(Ext.GetStatEntries("Character")) do
if player_stats[stat] ~= true then
local overridden = false
local vitality = Ext.StatGetAttribute(stat, "Vitality")
local armor = Ext.StatGetAttribute(stat, "Armor")
local magicArmor = Ext.StatGetAttribute(stat, "MagicArmor")
if vitality ~= nil and vitality > 0 then
vitality = vitality * healthModifier
Ext.StatSetAttribute(stat, "Vitality", math.ceil(vitality))
overridden = true
end
if armor ~= nil and armor > 0 then
armor = armor * armorModifier
Ext.StatSetAttribute(stat, "Armor", math.ceil(armor))
overridden = true
end
if magicArmor ~= nil and magicArmor > 0 then
magicArmor = magicArmor * armorModifier
Ext.StatSetAttribute(stat, "MagicArmor", math.ceil(magicArmor))
overridden = true
end
if overridden then
totalOverrides = totalOverrides + 1
end
end
end
Ext.Print("[MyMod:BootstrapClient.lua] Modified "..tostring(totalOverrides).." Character stats.")
Ext.Print("===================================================================")
end
Ext.RegisterListener("ModuleLoading", MyMod_ModuleLoading)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment