local gLib = game:WaitForChild("FURE"):Invoke()
local Lib = {
Settings = {
Debug = true,
ConsolePrefix = "[FURE/Tools]: ",
};
Sounds = {};
ToolLib = {};
Tools = {};
ServerDefault = {
gLib = gLib,
Tool = {
Settings = {
ToolName = nil;
MaxDistance = 10;
MaxHits = 1;
Damage = 10;
Cooldown = .75;
HoldActionDelay = 1.25;
CastDelay = .25;
CastTime = 1;
SoundDelay = .25;
};
AllowedSettingsShare = {};
Load = nil;
Equipped = nil;
Unequipped = nil;
Activate = nil;
Hitboxes = {};
},
};
}
Lib.ToolLib.__index = Lib.ToolLib
Lib.ServerDefault.Tool.__index = Lib.ServerDefault.Tool
function Lib.ServerDefault.Tool:StopCasts(Reason)
for _, Hitbox in pairs(self.Hitboxes) do
Hitbox:StopCast(Reason)
end
end
local System = {}
function System:Activated()
self:PlaySound("Use")
Bindables[self.Obj].Activated:Fire()
end
System.__index = Lib.ServerDefault.Tool
setmetatable(System, Lib.ServerDefault.Tool)
Lib.ServerDefault.Tool._ = System```