-- Compiled with roblox-ts v3.0.0 local TS = _G[script] local StandardAction = TS.import(script, script.Parent, "standard-action").StandardAction local RepeatAction do local super = StandardAction RepeatAction = setmetatable({}, { __tostring = function() return "RepeatAction" end, __index = super, }) RepeatAction.__index = RepeatAction function RepeatAction:constructor(...) super.constructor(self, ...) self.repeats = 2 self.timing = 0.3 self.repeatCount = 0 self.lastTap = 0 end function RepeatAction:handleInput(input, processed, isPress) if isPress == nil then isPress = input.UserInputState == Enum.UserInputState.Begin end if self.processed ~= processed then return nil end if not self:supportsInput(input) then return nil end if isPress then if os.clock() - self.lastTap < self.timing then self.repeatCount += 1 else self.repeatCount = 1 end if self.repeatCount >= self.repeats then super.handleInput(self, input, processed, isPress) end self.lastTap = os.clock() return nil end if not self.isActive then return nil end super.handleInput(self, input, processed, isPress) end end local RepeatActionBuilder do local super = RepeatAction RepeatActionBuilder = setmetatable({}, { __tostring = function() return "RepeatActionBuilder" end, __index = super, }) RepeatActionBuilder.__index = RepeatActionBuilder function RepeatActionBuilder.new(...) local self = setmetatable({}, RepeatActionBuilder) return self:constructor(...) or self end function RepeatActionBuilder:constructor(...) super.constructor(self, ...) end function RepeatActionBuilder:setID(id) self.id = id return self end function RepeatActionBuilder:setProcessed(processed) self.processed = processed return self end function RepeatActionBuilder:setCooldown(cooldown) self.cooldown = cooldown return self end function RepeatActionBuilder:setRepeats(repeats) self.repeats = repeats return self end function RepeatActionBuilder:setTiming(timing) self.timing = timing return self end end return { RepeatAction = RepeatAction, RepeatActionBuilder = RepeatActionBuilder, }