--> Services local ReplicatedStorage = game:GetService("ReplicatedStorage") local ServerStorage = game:GetService("ServerStorage") --> Dependencies local Utils = require(ReplicatedStorage.Tools.Utils) local TypeList = require(ServerStorage.Base.TypeList) local Rune = require(ServerStorage.Base.Rune) local RuneNormalNoElement = {} RuneNormalNoElement.__index = RuneNormalNoElement setmetatable(RuneNormalNoElement, {__index = Rune}) function RuneNormalNoElement:Init(PlayerAI, Character: TypeList.Character) local self = Rune:Init(PlayerAI, Character, script.Name) setmetatable(self, RuneNormalNoElement) return self end function RuneNormalNoElement:Check(index: number, AttributesData: table, BehaviorNameList: table) local pDataFolder = ReplicatedStorage:FindFirstChild("PlayerData") if not pDataFolder then return nil end local pData = pDataFolder:FindFirstChild(self.PlayerAI.Player.UserId) if not pData then return nil end local equipmentFolder = pData:FindFirstChild("Equipment") if not equipmentFolder then return nil end local equipmentList = equipmentFolder:GetChildren() if #equipmentList == 0 then return nil end local elementNumber = 0 for _, equipment in equipmentList do local equipmentWearing = equipment:GetAttribute("wearing") if equipmentWearing > 0 and Utils:GetTableLength(equipment:FindFirstChild("elements"):GetAttributes()) == 0 then elementNumber = elementNumber + 1 end end self.Data = elementNumber return true end function RuneNormalNoElement:OnExecute(index: number, AttributesData: table, BehaviorNameList: table) local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (self.Data * 50 / 100)) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil end return RuneNormalNoElement