I'm going to correct myself. I've just done a bunch of testing and light_arts does definiely break the 80% cap.
There is definitely variance on os.clock() or socket.gettime() when trying to measure it but, the results are pretty conclusive imo.
I tested using Teleport-Holla, which has a 20 second cast time.
I used a set that has 80% FC, and here are the results: casting multiple times to get a range
80% FC, no arts: cast between 4.08 sec and 4.4 seconds range
80% FC, light arts: cast between 3.6 sec and 3.8 seconds
80% FC, light arts + celerity: 1.27-1.3 sec
Edit: Here is the code I used if anyone is interested.
Code
require("luau")
require("functions")
local res = require("resources")
local socket = require("socket")
require("packets")
require("actions")
require('tables')
cast_data = T{}
function action_handler(action)
local actionpacket = ActionPacket.new(action)
local category = actionpacket:get_category_string()
local current_time = socket.gettime()
if category == "casting_begin" then
cast_data:clear()
local spell = actionpacket:get_spell()
cast_data.spell = spell.english
cast_data.cast_time = spell.cast_time * 1000
cast_data.time_start = current_time
elseif category == "spell_finish" then
local spell = actionpacket:get_spell()
cast_data.time_end = current_time
cast_data.actual_cast_time = math.floor((cast_data.time_end - cast_data.time_start) * 1000)
table.vprint(cast_data)
end
end
ActionPacket.open_listener(action_handler)