[2.0] WCS - A combat system framework

Starter Params are arguments passed to skill’s :Start() method. All things you pass there get passed to OnStartClient() and OnStartServer(). You can also validate those arguments using param validators, and reject the skill startup if the required parameters are invalid.

After a bit (a lot) of trial and error along with help from your explanation, i figured it out. Thanks! such an awesome framework!

1 Like

Holdable skills do not pass constructor arguments in the .new function

function HoldableSkill:constructor(Props)
	super.constructor(self, Props)
	self.HoldTimer = Timer.new(10)
	self._internal_skillType = SkillType.Holdable
	if isServerContext() then
		self._internal_janitor:Add(self.HoldTimer.completed:Connect(function()
			return self:GetState().IsActive and self:End()
		end), "Disconnect")
	end
	self._internal_janitor:Add(self.HoldTimer, "destroy")
	self:_internal_init()
end

Here is the regular skill constructor for comparison:

function SkillBase:constructor(Props, ...)
	local Args = { ... }
	self._internal_janitor = Janitor.new()
	self._internal_id = nextId()
	self.Janitor = Janitor.new()
	self.CooldownTimer = Timer.new(1)
...

Noted! Going to release a fix soon

1 Like