@@ -945,8 +945,19 @@ describe("TestDefence", function()
945945
946946 -- Get the base + Shabby Jerkin to make this test more adaptable to changes
947947 local ironReflexesArmour = build .calcsTab .mainOutput .Armour - baseArmour - baseEvasion
948+ assert .are .equals (ironReflexesArmour + baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
948949
949- print (" build.calcsTab.mainOutput.Armour:" .. build .calcsTab .mainOutput .Armour )
950+ build .configTab .input .customMods = [[
951+ Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating
952+ you have no dexterity
953+ Gain no armour from equipped body armour
954+ ]]
955+ build .configTab :BuildModList ()
956+ runCallback (" OnFrame" )
957+ -- Iron Reflexes and Prospero's Protection
958+ assert .are .equals (baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
959+
960+ -- print("build.calcsTab.mainOutput.Armour:" .. build.calcsTab.mainOutput.Armour)
950961
951962 build .configTab .input .customMods = [[
952963 Armour from Equipped Body Armour is doubled
@@ -955,7 +966,6 @@ describe("TestDefence", function()
955966 ]]
956967 build .configTab :BuildModList ()
957968 runCallback (" OnFrame" )
958-
959969 -- Evasion from Body Armour is converted to Armour before being doubled
960970 assert .are .equals (2 * ironReflexesArmour + baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
961971
@@ -967,25 +977,21 @@ describe("TestDefence", function()
967977 ]]
968978 build .configTab :BuildModList ()
969979 runCallback (" OnFrame" )
970-
971980 -- Only the base armour from the chest is affected.
972981 -- Armour converted with Iron Reflexes still applies
973- assert .are .equals (2 * ironReflexesArmour + baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
982+ assert .are .equals (baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
983+
974984 build .configTab .input .customMods = [[
975985 Armour from Equipped Body Armour is doubled
976986 Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating
977- Gain no armour from equipped body armour
978987 defences from equipped body armour are doubled if it has no socketed gems
979988 you have no dexterity
980989 ]]
981990 build .configTab :BuildModList ()
982991 runCallback (" OnFrame" )
983-
984- -- Oath Of Maji double defences stack with Unbreakable
985992 assert .are .equals (2 * 2 * ironReflexesArmour + baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
986993
987994 build .configTab .input .customMods = [[
988- Armour from Equipped Body Armour is doubled
989995 Armour from Equipped Body Armour is doubled
990996 Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating
991997 Gain no armour from equipped body armour
@@ -994,7 +1000,17 @@ describe("TestDefence", function()
9941000 ]]
9951001 build .configTab :BuildModList ()
9961002 runCallback (" OnFrame" )
1003+ assert .are .equals (baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
9971004
1005+ build .configTab .input .customMods = [[
1006+ Armour from Equipped Body Armour is doubled
1007+ Armour from Equipped Body Armour is doubled
1008+ Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating
1009+ defences from equipped body armour are doubled if it has no socketed gems
1010+ you have no dexterity
1011+ ]]
1012+ build .configTab :BuildModList ()
1013+ runCallback (" OnFrame" )
9981014 -- Mod form unbreakable should apply only once
9991015 assert .are .equals (2 * 2 * ironReflexesArmour + baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
10001016
@@ -1004,14 +1020,37 @@ describe("TestDefence", function()
10041020 Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating
10051021 Gain no armour from equipped body armour
10061022 defences from equipped body armour are doubled if it has no socketed gems
1007- defences from equipped body armour are doubled if it has no socketed gems
10081023 you have no dexterity
10091024 ]]
10101025 build .configTab :BuildModList ()
10111026 runCallback (" OnFrame" )
1027+ assert .are .equals (baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
10121028
1029+ build .configTab .input .customMods = [[
1030+ Armour from Equipped Body Armour is doubled
1031+ Armour from Equipped Body Armour is doubled
1032+ Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating
1033+ defences from equipped body armour are doubled if it has no socketed gems
1034+ defences from equipped body armour are doubled if it has no socketed gems
1035+ you have no dexterity
1036+ ]]
1037+ build .configTab :BuildModList ()
1038+ runCallback (" OnFrame" )
10131039 -- Oath Of Maji should apply only once
10141040 assert .are .equals (2 * 2 * ironReflexesArmour + baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
1041+
1042+ build .configTab .input .customMods = [[
1043+ Armour from Equipped Body Armour is doubled
1044+ Armour from Equipped Body Armour is doubled
1045+ Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating
1046+ Gain no armour from equipped body armour
1047+ defences from equipped body armour are doubled if it has no socketed gems
1048+ defences from equipped body armour are doubled if it has no socketed gems
1049+ you have no dexterity
1050+ ]]
1051+ build .configTab :BuildModList ()
1052+ runCallback (" OnFrame" )
1053+ assert .are .equals (baseArmour + baseEvasion , build .calcsTab .mainOutput .Armour )
10151054 end )
10161055
10171056 it (" MoM + EB" , function ()
0 commit comments