[2.0] WCS - A combat system framework

Correct, you can change movesets without resetting

Deleting the functions stored on the module, let’s say i do self.somefunction = workspace.ChildAdded:Connect(function()

it will still be active even if i already set or cleaned the moveset

the same applies for skills made only for the client

(Would be cool if i could do it manually, but neither .Destroyed function or MovesetChanged works)

Again, maybe this is a problem that it’s only happening to me , so dunno

If characters could store a dictionary of players that damaged them along with how much damage each player did, that would be pretty nice. (This might already be in the framework, im not sure) And I would primarily use this for kill feeds, or for giving kill credit to the player with the highest damage.

you have to disconnect it yourself when self.Destroyed fires

1 Like

pretty sure you can do that without internal support, but yeah, I’ll consider adding that

self.MutualExclusives = {
		
	}

Needs to be strings? , like

self.MutualExclusives = {
		"stunstatus"
                "blockstatus,
	}

No, they should be constructors (what your module returns usually)

what do you mean by “constructor” ?, can you provide a example?

do you mean i should require the status module and putting it on the table?

1 Like

is that combat system gives you a tutorial of how to make one as a script only, or is it both scripting and animating?

A class constructor (whatever your RegisterStatusEffect returns).

local stun = require(game.ReplicatedStorage.StatusEffects.Stun)

...

enemy:HasStatusEffects({ Stun })

it’s not a tutorial. It’s framework for programming your combat

how would i set default props and priority to a status effect?, what’s the correct way?

i do this but it throws me a error

{ WalkSpeed = {-5, "Increment"} , Priority = 5 }

and another question, how would i replace the time left of a status?, so i can do things like renew it or make it 1 again to last long?, is it possible?

please read the API page before asking a question to get your answer faster

Yeah, i did, but i don’t get it, how should i format it correctly to change priority?

my bad, it was my fault… specify your priority as a second argument to :SetHumanoidData()

1 Like

how do you use :TakeDamage()? i am confused

your supposed to have one damagetaken connection for all of your damage handler like status effects/skills which is where you would be creating the wcs character and use takedamage on the humanoid.

1 Like

It appears there is a bug in replicating WCS Character’s from the server to the client: it doesn’t replicate if you use the WCS wally package in ReplicatedFirst.

Steps:

  1. Install the wally package into ReplicatedFirst
  2. Start WCS on the Server then Client as shown in Tutorial
  3. Check for the player’s Character on the client.

Checking for the player’s character returns nil.

However, if you use a .RBXM file and place it in ReplciatedStorage it works fine.

The documentation is wrong:

It should be GetAllStatusEffects() not GetAllStatusEffect(). Same for the other functions nearby.

could be an accidental Replace all. would be happy to accept a PR!