rbxIdleWeapon/src/ServerStorage/Modules/Runes/RuneAtkSpeedToAtkRate.luau

39 lines
1.2 KiB
Plaintext
Raw Normal View History

2025-08-22 16:40:29 +08:00
--> 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)
--> Json
local JsonLevel = require(ReplicatedStorage.Json.Level)
local RuneAtkSpeedToAtkRate = {}
RuneAtkSpeedToAtkRate.__index = RuneAtkSpeedToAtkRate
setmetatable(RuneAtkSpeedToAtkRate, {__index = Rune})
function RuneAtkSpeedToAtkRate:Init(PlayerAI, Character: TypeList.Character)
local self = Rune:Init(PlayerAI, Character, script.Name)
setmetatable(self, RuneAtkSpeedToAtkRate)
return self
end
function RuneAtkSpeedToAtkRate:Check(index: number, AttributesData: table, BehaviorNameList: table)
return true
end
function RuneAtkSpeedToAtkRate:OnExecute(index: number, AttributesData: table, BehaviorNameList: table)
local baseAttribute = AttributesData.atkSpeed or 100
local atkRate = AttributesData.atkRate or 100
local addAttribute = math.floor(atkRate * (25 / 100 + math.max(0, (100 - baseAttribute) * 5)))
Utils:TableSafeAddValue(AttributesData, "atkRate", addAttribute)
return nil
end
return RuneAtkSpeedToAtkRate