Function where i call it:
local function onAbilityEvent(player, mousePos, a: typeof(AbilityClass))
a:UseAbility(player)
end
base class:
local Ability = {}
function Ability.new()
local ReturningData = {}
ReturningData.Name = "AbilityBase"
ReturningData.Damage = 50
ReturningData.Cooldown = 2.5
function ReturningData:UseAbility(player)
print("Ability used ", ReturningData.Name, " by ", player)
end
return ReturningData
end
return Ability
child class:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local AbilityClass = require(ReplicatedStorage.AbilityType)
local A = AbilityClass.new()
A.Name = "Blah Blah"
A.Cooldown = 2
A.Damage = 50
function A:UseAbility(player)
print(player)
end
return A
** You are now Level 2! **