Creating an FFA game

I’m trying to create a FFA game with random UNIQUE heroes on death, so my questions are:

  1. How do I make sure that you get a unique hero on death.

  2. How do I reset all of the players variables on death (so rules that shouldn’t apply to heroes - won’t apply to them after the hero is switched).

  3. How do I make sure that when I use AOE it won’t apply to the event player whom is dealing the damage around him - if I apply “All” in team it deals damage to the player producing the damage, if I apply anything else (Team 1/2) it doesn’t deal damage to anyone 'cause it’s FFA and it doesn’t classify other players as either of the teams.

TYSM for any help!

I’ve Noticed Your Highlighted the word ‘Unique’ but I’m not sure if that just means a fully random hero, or a hero that’s made up of random workshop made abilities or something like… but I’m assuming it means a fully random hero.

( “{} means Dynamic or Custom Value, () means Required Value” )


1: “Start Forcing Player Hero( Random Value In Array( Allowed Heros( Event Player) ) )”

(the allowed heros just references the game settings by default or workshop assigned allowed heros if its been overridden, alternatively you can use all heros and no heros will be filtered, or a variable full of heros to customise what heros can be randomly chosen)


2: there is no method that is built in for this stuff, you will have to do it manually.
“Rule( Player Died ), Conditions( None ), Actions( { Set Player Variable( { Default Value } )”

(Add The Action For Every Variable You Want Resetting)


3: “Remove From Array( { Current Method being Used }, Event Player )”

Thanks for the quick reply, by unique I mean a character that isn’t being played, no more than one of each hero can be on the map.

What do you mean by “Dynamic/Custom Value” and “Required Value”.

not much really, i just want to provide a little more context for them since im talking like a coding langue. {} is a value that you can input yourself or put in a variable, i could instead just say a value for it but i use { } because its used when variables are being put into text.

() is basically a required parameter for something to run, an example would be (example function doesn’t exist) “IfHero()” so you would do “IfHero(Tracer)” to get if the current hero is tracer, or “IfHero({Variable})” to get if the current hero is the same as the variable.

anyway as for the code you need its also pretty easy like the other stuff.

“Filtered Array(Allowed Heros(Event Player), Is Hero Being Played(Current Array Element) == false)”

what that does is it filters the array of heros by checking if that hero is being played or not, at least I’m pretty sure “Is Hero Being Played()” is a thing, if not I know for a fact “Number of hero’s being played()” is, so if not just replace it with that checking for 0 instead of false