Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions spec/System/TestItemParse_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -623,17 +623,17 @@ describe("TestItemParse", function()
Rune: Soul Core of Atmohua
LevelReq: 79
Implicits: 4
{enchant}{rune}Convert 20% of Requirements to Dexterity
{enchant}{rune}Convert 20% of Requirements to Intelligence
{enchant}{rune}Convert 20% of Requirements to Strength
{enchant}{rune}Convert 40% of Requirements to Dexterity
{enchant}{rune}Convert 40% of Requirements to Intelligence
{enchant}{rune}Convert 40% of Requirements to Strength
{tags:block}{range:1}+(10-15)% to Block chance
Corrupted
]])
item:BuildAndParseRaw()
assert.are.equals(35, item.requirements.strMod)
assert.are.equals(86, item.requirements.dexMod)
assert.are.equals(55, item.requirements.intMod)
assert.are.equals(70, item.requirements.strMod)
assert.are.equals(45, item.requirements.dexMod)
assert.are.equals(60, item.requirements.intMod)

end)


Expand Down Expand Up @@ -1043,7 +1043,7 @@ describe("TestItemParse", function()
--------
Item Level: 86
--------
Hits against you have 40% reduced Critical Damage Bonus (rune)
Hits against you have 100% reduced Critical Damage Bonus (rune)
--------
Only Soul Cores can be Socketed in this item
This item gains bonuses from Socketed Soul Cores as though it was also a Shield
Expand All @@ -1052,7 +1052,7 @@ describe("TestItemParse", function()
assert.are.same({ "Soul Core of Ticaba" }, item.runes)
item:BuildAndParseRaw()
assert.are.same({ "Soul Core of Ticaba", "None", "None", "None", "None", "None" }, item.runes)
assert.are.equals("Hits against you have 40% reduced Critical Damage Bonus", item.runeModLines[1].line)
assert.are.equals("Hits against you have 100% reduced Critical Damage Bonus", item.runeModLines[1].line)
end)

it("infers pasted Soul Core lines with socketed Soul Core effect", function()
Expand All @@ -1064,15 +1064,15 @@ describe("TestItemParse", function()
--------
Sockets: S
--------
Hits against you have 40% reduced Critical Damage Bonus (rune)
Hits against you have 100% reduced Critical Damage Bonus (rune)
--------
100% increased effect of Socketed Soul Cores
]])

assert.are.same({ "Soul Core of Ticaba" }, item.runes)
item:BuildAndParseRaw()
assert.are.same({ "Soul Core of Ticaba" }, item.runes)
assert.is_not_nil(item:BuildRaw():match("Hits against you have 40%% reduced Critical Damage Bonus"))
assert.is_not_nil(item:BuildRaw():match("Hits against you have 100%% reduced Critical Damage Bonus"))
end)

it("jewel sockets", function()
Expand Down
4 changes: 2 additions & 2 deletions spec/System/TestItemsTab_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -822,8 +822,8 @@ Ruby]])
end
assert.are.equals(1, ticabaCount)
assert.are.equals(2, #ticabaRune.lines)
assert.are.equals("Hits against you have 20% reduced Critical Damage Bonus", ticabaRune.lines[1])
assert.are.equals("Hits against you have 20% reduced Critical Damage Bonus", ticabaRune.lines[2])
assert.are.equals("Hits against you have 50% reduced Critical Damage Bonus", ticabaRune.lines[1])
assert.are.equals("Hits against you have 50% reduced Critical Damage Bonus", ticabaRune.lines[2])
end)

it("keeps pure Bonded slot entries and uses the regular rune mod as the dropdown label", function ()
Expand Down
76 changes: 76 additions & 0 deletions spec/System/TestSoulCores_spec.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
describe("TestSoulCores", function()
local modRunes = LoadModule("../src/Data/ModRunes")

local function assertSoulCore(name, slot, lines)
local soulCore = assert(modRunes[name], "Missing Soul Core: " .. name)
local mod = assert(soulCore[slot], "Missing " .. slot .. " modifier for " .. name)
assert.are.equal("SoulCore", mod.type)
for index, line in ipairs(lines) do
assert.are.equal(line, mod[index], name .. " (" .. slot .. ")")
end
end

it("contains the new 0.5.5 Soul Cores", function()
local expected = {
{ "Jiquani's Soul Core of Automation", "weapon", "+1 to Level of all Totem Skill Gems" },
{ "Jiquani's Soul Core of Malediction", "weapon", "+1 to Level of all Curse Skills" },
{ "Jiquani's Soul Core of Targeting", "weapon", "+1 to Level of all Mark Skills" },
{ "Jiquani's Soul Core of Rallying", "weapon", "+1 to Level of all Warcry Skill Gems" },
{ "Jiquani's Soul Core of Radiance", "weapon", "+1 to Level of all Herald Skill Gems" },
{ "Jiquani's Soul Core of Severing", "weapon", "+1 to Level of all Strike Skill Gems" },
{ "Jiquani's Soul Core of Rippling", "weapon", "+1 to Level of all Nova Skill Gems" },
{ "Jiquani's Soul Core of Quaking", "weapon", "+1 to Level of all Slam Skill Gems" },
{ "Jiquani's Soul Core of Munitions", "weapon", "+1 to Level of all Grenade Skill Gems" },
{ "Jiquani's Soul Core of Snares", "weapon", "+1 to Level of all Hazard Skill Gems" },
{ "Jiquani's Soul Core of Abundance", "weapon", "+1 to Level of all Plant Skill Gems" },
{ "Jiquani's Soul Core of Squalls", "weapon", "+1 to Level of all Wind Skill Gems" },
{ "Jiquani's Soul Core of Thundering", "weapon", "+1 to Level of all Storm Skill Gems" },
{ "Atziri's Soul Core of Devotion", "helmet", "1% increased Spirit for each Corrupted Item Equipped" },
{ "Atziri's Soul Core of Vitality", "body armour", "1% increased Maximum Life for each Corrupted Item Equipped" },
{ "Atziri's Soul Core of Alacrity", "gloves", "1% increased Skill Speed for each Corrupted Item Equipped" },
{ "Atziri's Soul Core of Inoculation", "boots", "+2% to Chaos Resistance for each Corrupted Item Equipped" },
}

for _, soulCore in ipairs(expected) do
assertSoulCore(soulCore[1], soulCore[2], { soulCore[3] })
end
end)

it("contains the 0.5.5 Soul Core balance changes", function()
local expected = {
{ "Atmohua's Soul Core of Retreat", "body armour", { "40% increased Energy Shield from Equipped Focus" } },
{ "Atmohua's Soul Core of Retreat", "focus", { "30% increased Energy Shield from Equipped Body Armour" } },
{ "Cholotl's Soul Core of War", "bow", { "Projectiles have 20% chance to Chain an additional time from terrain" } },
{ "Estazunti's Soul Core of Convalescence", "boots", { "15% increased speed of Recoup Effects" } },
{ "Estazunti's Soul Core of Convalescence", "helmet", { "10% of Damage taken Recouped as Life" } },
{ "Uromoti's Soul Core of Attenuation", "boots", { "20% increased Curse Duration", "20% increased Poison Duration" } },
{ "Soul Core of Tacati", "weapon", { "25% increased Magnitude of Poison you inflict" } },
{ "Soul Core of Tacati", "armour", { "+13% to Chaos Resistance" } },
{ "Soul Core of Opiloti", "weapon", { "40% increased Magnitude of Bleeding you inflict" } },
{ "Soul Core of Opiloti", "helmet", { "25% increased Pin duration" } },
{ "Soul Core of Jiquani", "weapon", { "Recover 5% of maximum Life on Kill" } },
{ "Soul Core of Jiquani", "body armour", { "5% increased maximum Life" } },
{ "Soul Core of Zalatl", "weapon", { "Recover 4% of maximum Mana on Kill" } },
{ "Soul Core of Zalatl", "helmet", { "5% increased maximum Mana" } },
{ "Soul Core of Citaqualotl", "weapon", { "40% increased Elemental Damage with Attacks" } },
{ "Soul Core of Citaqualotl", "armour", { "+6% to all Elemental Resistances" } },
{ "Soul Core of Puhuarte", "weapon", { "40% increased Ignite Magnitude" } },
{ "Soul Core of Puhuarte", "gloves", { "+2% to Maximum Fire Resistance" } },
{ "Soul Core of Tzamoto", "weapon", { "60% increased Freeze Buildup" } },
{ "Soul Core of Tzamoto", "helmet", { "+2% to Maximum Cold Resistance" } },
{ "Soul Core of Xopec", "weapon", { "25% increased Magnitude of Shock you inflict" } },
{ "Soul Core of Xopec", "boots", { "+2% to Maximum Lightning Resistance" } },
{ "Soul Core of Topotante", "weapon", { "Attacks with this Weapon Penetrate 25% Elemental Resistances" } },
{ "Soul Core of Topotante", "boots", { "25% reduced Effect of Non-Damaging Ailments on you" } },
{ "Soul Core of Ticaba", "body armour", { "Hits against you have 50% reduced Critical Damage Bonus" } },
{ "Soul Core of Atmohua", "weapon", { "Convert 40% of Requirements to Strength" } },
{ "Soul Core of Cholotl", "weapon", { "Convert 40% of Requirements to Dexterity" } },
{ "Soul Core of Zantipi", "weapon", { "Convert 40% of Requirements to Intelligence" } },
{ "Jiquani's Thesis", "helmet", { "+1 to maximum Mana per 3 Item Armour on Equipped Helmet" } },
}

for _, soulCore in ipairs(expected) do
assertSoulCore(soulCore[1], soulCore[2], soulCore[3])
end
end)
end)
Loading