39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
![]() |
--> 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
|