--> 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 RuneWearSword = {} RuneWearSword.__index = RuneWearSword setmetatable(RuneWearSword, {__index = Rune}) function RuneWearSword:Init(PlayerAI, Character: TypeList.Character) local self = Rune:Init(PlayerAI, Character, script.Name) setmetatable(self, RuneWearSword) return self end function RuneWearSword:Check(index: number, AttributesData: table, BehaviorNameList: table) return true end function RuneWearSword:OnExecute(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 CheckSubType = 2 local subTypeNumber = 0 for _, equipment in equipmentList do local equipmentSubType = equipment:GetAttribute("subType") local equipmentWearing = equipment:GetAttribute("wearing") if equipmentSubType == CheckSubType and equipmentWearing > 0 then subTypeNumber = subTypeNumber + 1 end end local CheckShareName = "RuneTagSword" if self.PlayerAI:GetSharedData(CheckShareName) then subTypeNumber = subTypeNumber + self.PlayerAI:GetSharedData(CheckShareName) end local attackRate = math.floor(subTypeNumber * 25 / 100) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil end return RuneWearSword