144144-- parsing path: the mod sets jewelData.radiusIndex (an annular ring index, not
145145-- the same as the full-circle index 3 that "Radius: Large" would produce).
146146local function newThreadOfHope ()
147- return new (" Item" , " Rarity: UNIQUE\n " ..
147+ return new (" Item" ): Item ( " Rarity: UNIQUE\n " ..
148148 " Thread of Hope\n " ..
149149 " Crimson Jewel\n " ..
150150 " Variant: Large Ring\n " ..
@@ -156,7 +156,7 @@ local function newThreadOfHope()
156156end
157157
158158local function newCustomLeapJewel (name )
159- return new (" Item" , " Rarity: RARE\n " ..
159+ return new (" Item" ): Item ( " Rarity: RARE\n " ..
160160 name .. " \n " ..
161161 " Crimson Jewel\n " ..
162162 " Radius: Variable\n " ..
@@ -166,7 +166,7 @@ local function newCustomLeapJewel(name)
166166end
167167
168168local function newPlainJewel ()
169- return new (" Item" , " Rarity: RARE\n " ..
169+ return new (" Item" ): Item ( " Rarity: RARE\n " ..
170170 " Plain Spark\n " ..
171171 " Crimson Jewel\n " ..
172172 " Implicits: 0\n " )
176176-- a specific keystone. The parser populates both impossibleEscapeKeystone
177177-- and impossibleEscapeKeystones from the "in Radius of X" mod.
178178local function newImpossibleEscape (keystoneName )
179- return new (" Item" , " Rarity: UNIQUE\n " ..
179+ return new (" Item" ): Item ( " Rarity: UNIQUE\n " ..
180180 " Impossible Escape\n " ..
181181 " Viridian Jewel\n " ..
182182 " Radius: Small\n " ..
196196-- text are intentionally omitted; the tests exercise behavior, not the parser
197197-- against the full serialized form.
198198local function newLethalPride ()
199- return new (" Item" , " Rarity: UNIQUE\n " ..
199+ return new (" Item" ): Item ( " Rarity: UNIQUE\n " ..
200200 " Lethal Pride\n " ..
201201 " Timeless Jewel\n " ..
202202 " Radius: Large\n " ..
211211-- will reset the modList back to the original tree node modList.
212212local function simulateKaruiConquest (node )
213213 node .conqueredBy = { id = 10000 , conqueror = { id = 1 , type = " karui" } }
214- node .modList = new (" ModList" )
214+ node .modList = new (" ModList" ): ModList ()
215215 node .modList :NewMod (" Life" , " BASE" , 100 , " Timeless Jewel" )
216216end
217217
@@ -220,7 +220,7 @@ local function overrideNodeWithLife(spec, node, life)
220220 override .id = node .id
221221 override .dn = node .dn
222222 override .sd = { " +" .. life .. " to maximum Life" }
223- override .modList = new (" ModList" )
223+ override .modList = new (" ModList" ): ModList ()
224224 override .modList :NewMod (" Life" , " BASE" , life , " Test" )
225225 spec .hashOverrides [node .id ] = override
226226end
@@ -456,7 +456,7 @@ describe("TestRadiusJewelStatDiff", function()
456456
457457 local plainJewel = newPlainJewel ()
458458 build .itemsTab :AddItem (plainJewel , true )
459- local tooltip = new (" Tooltip" )
459+ local tooltip = new (" Tooltip" ): Tooltip ()
460460 build .itemsTab :AddItemTooltip (tooltip , plainJewel , slot )
461461
462462 assert .is_true (tooltipContains (tooltip , " Equipping this item in" ),
@@ -515,7 +515,7 @@ describe("TestRadiusJewelStatDiff", function()
515515 assert .are .equals (2 , # targetNode .intuitiveLeapLikesAffecting ,
516516 " Allocated overlap node should still be supported by both radius jewels" )
517517
518- local tooltip = new (" Tooltip" )
518+ local tooltip = new (" Tooltip" ): Tooltip ()
519519 build .itemsTab :AddItemTooltip (tooltip , itemA , slotA )
520520
521521 assert .is_false (tooltipContainsNegativeStat (tooltip , " Total Life" ),
@@ -590,7 +590,7 @@ describe("TestRadiusJewelStatDiff", function()
590590 assert .is_true (# nodesInRadius > 0 , " Should have allocated nodes in jewel radius" )
591591 simulateKaruiConquest (nodesInRadius [1 ])
592592
593- local tooltip = new (" Tooltip" )
593+ local tooltip = new (" Tooltip" ): Tooltip ()
594594 build .itemsTab :AddItemTooltip (tooltip , item , slot )
595595
596596 assert .is_true (tooltipContains (tooltip , " Removing this item" ),
0 commit comments