How to Make a Puddle of D3ATH! đŸ§Ș (ft. @teapot) [4/10]

Intro

Now that there’s a coordinate device you can make so many more things! :D
This includes making a puddle of DEATH.
What is a puddle of death, you ask? Well, to put it simply, a puddle the brings death, destruction, and chaos wherever it is.

Puddle of Death: a black puddle of liquid, put down by a player, that causes damage.
Achievement Earned: Puddle of Knowledge!

Now you’re probably thinking, “Isn’t that just a zone + a damager?” That’s why I mentioned the coordinate device earlier, because I’m turning the puddle of death into an ability!
|In this guide, the attacking player is the player with the puddle of death ability and the defending player is the one being affected by it.|
Note: This guide is meant for more experienced GKC builders so if you don’t know how to use :warning: blocks :warning: use and configure devices |or| :warning: do math then this guide may not be for you. It’s not that hard though. You technically will be copying the system I created but just make sure you know how to be able to copy everything in it! Get ready :D !

Also, thanks to @teapot for reminding me about the distance formula, which I forgot because it is never used in my school. Technically, teapot told me how to do the whole blocks part without telling me the actual blocks so props to him! Honestly, the [state I live in]’s education system is not good at all.

Backstory

There was this one help topic in the forums asking for user-made characters for a brawl stars spin off and I remember asking for an AOE[1] ability for the character.

Achievement Earned: Time Machine


Devices and More

anything in the parentheses () are device settings.

  • 1 Overlay (Type: button, position: bottom right, text: pour a puddle of death, visible on game start: no, visibility scope: player, )
  • 1 Player Coordinates Device (player position changes, broadcast on channel “coordchange”; update properties: yes, x pos property: “px”, y pos property: “py”)
  • 1 Lifecycle (Event: Game Start)
  • 3 Relays (Audience: All players on specific team (Team 1) x2) (Audience: All other players)
  • 2-3 Triggers (Visible in game: no, Allowed Team: any, Active on game start: yes, trigger by player collision: no | dubbed “trigger 1”) (modify one of the any team allowed trigger so that it triggers when receiving on channel “hurt” | This trigger is optional! Dubbed “opt trigger”) (for the 3rd trigger, just copy the any team trigger that wasn’t modified and set the allowed team to team 1 | dubbed “trigger 2”)

Achievement Earned: Trigger Happy

  • 1 Damager (damage: your choice, ko message: your choice (I used; “The Puddle of Death got {name}!”))
  • 4-5 Properties (name: “px”, type: number, scope: player) (duplicate the “px” property and rename the duplicate to “py”) (name: “mpx”, type: number, scope: global) (duplicate the “mpx” property and rename the duplicate to “mpy”) (px = player x, py = player y, mpx = main player x, mpy = main player y)(optional property || name: “distance”, type: number, scope: global)
  • 1 Wire Repeater (delay: your choice)

Achievement Earned: Devices, Devices, and Even More Devices!


Wires and Channels

Anything inside the brackets [_] is a wire or channel. And remember that you can change channel names so that it fits for your map!

First wire the lifecycle to one of the “all players on specific team” relays [event occurs → trigger relay]. Then wire that relay to the overlay [relay triggered → show overlay]. Now go to the overlay’s channels and [when button clicked, transmit on channel “pressed”]. Also, do this in the overlay: [hide overlay when receiving on channel “pressed”]. The overlay will be hidden when it is pressed. Create a loop between the overlay and the wire repeater; 1st wire [button pressed → repeat wire pulse], 2nd wire [wire pulse repeated → show overlay]. This will serve as a cooldown for the “ability”. Grab your “All Other Players” relay and wire your overlay to it [button pressed → trigger relay]. Get the trigger with any team allowed and no channels. Wire the most recent relay to that trigger [relay triggered → trigger trigger]. We’ll get back to that trigger later! Lastly, get the unused relay with the setting of “all players on specific team” and give it this: [relay when receiving on channel “coordchange”]. Also get the trigger with the only team allowed as team 1. Wire the relay to the trigger [relay triggered → trigger trigger].That’s all for this section!

Achievement Earned: All Tangled Up


Blocks

This is the part where it may get a bit complicated. There’s some math and coding, every beginner’s worst fear! Don’t worry though, it’ll be fine!

Both triggers have blocks. Let’s start with trigger 1, where the main code is. Create a new block in trigger 1. The easiest way to make AOE is not by making a circle around a player, but by having a distance, with parameters, between the attacking and defending player. Basically, the code finds the radius of a hypothetical circle around the player instead of creating a hypothetical circle around the player and detecting another player within it. Creating the hypothetical circle is definitely possible though so if you want to find that way of making AOE then go for it! What @teapot recommended, the distance formula[2] which is a formalized version of the pythagorean theorem in a different context, essentially. You can look it up for more information on it. Now that you know a little more about what will be in the code, I’m sure some of you could figure it out yourself! But here it is anyway:

You don’t need to add the round block, I was just using that to test something.

Edit: I fixed a bug! Add this in-between the variable defining block and the if statement:
Screenshot 2024-05-24 16.16.14

Achievement Earned: Not Much Farther

For the if statement, in the “and” block, you can set the value parameters to whatever you want. The value is the number of units not the number of tiles, I’m pretty sure, but correct me if I’m wrong. I used 7 units from the attacking player. The channel “hurt”, or whatever you named it, is the channel that sends a message to damage the defending player if they are in range. In the devices section of the guide, I put the “hurt” channel being received in the optional trigger, but for now make the damager, damage a player when receiving on “hurt”.

That code might’ve been a teeny weeny bit complicated for you but this next piece is MUCH easier!

Create a new block for Trigger 2. Here is the blocks:

The “main player” coordinate properties store the coordinates of the player who is “placing” the Puddle of Death. This way, we can find the distance between the person attacking and the person defending. If these properties weren’t there then we would always have one player’s coordinates which would destroy the system.

Wow! That went by fast! You finished the blocks part of this guide!

Achievement Earned: Data Collector


That’s it! Not too hard right? :tada:

Achievement Earned: Completion!

I hope this reaches anyone who won’t be on in the summer: ~Happy Summer Break!~
If you want a little extra something, there’s still more for you below!

And, if you want visuals, then you will have to place a circle barrier in every single section of the game. I mean every little crevice! The you would need a trigger that broadcasted on a channel, through blocks, based on the mpx and mpy properties


Optional

This uses some extra blocks, a property and the opt trigger! Wire the opt trigger to the damager [trigger triggered → run wire pulse block].

Edit the blocks in Trigger 1 and add this in-between the 2 if statements:
Screenshot 2024-05-24 16.08.58

In the damager’s settings, replace the “hurt” channel with nothing. Now create a new block in the damager for “On wire pulse
”. Now make this:

This will make defending players take more damage the more closer they are to the attacking player. You can change the multiplier by whatever you want. That’s it!

Achievement Earned: Hungry for More!


Achievements

Did you collect all the achievements? If you haven’t, try going back through the guide!

List:

  • Puddle of Knowledge!
  • Time Machine
  • Trigger Happy
  • Devices, Devices, and More Devices!
  • All Tangled Up
  • Not Much Farther
  • Data Collector
  • Completion!
  • Hungry for More!
Backstory

I always admired TSonic’s Tim series! I also liked Kat_aronii/Kat_Mac’s dialogue in her/VoidFluffy’s guides! I tried to do my own thing this time. Also, someone had a help topic for a guide that wasn’t working for them but they didn’t read the whole guide, so this will hopefully help people read the whole post. Hopefully, it doesn’t seem super goofy. (This is a test trial
 ig?)

How Difficult Was This Guide??? (Out of 10)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
0 voters

Final Product (No Cooldown):


  1. Area of Effect ↩

  2. √((x2-x1)^2+(y2-y1)^2) ↩

34 Likes

good job on the intructions but if pyu wnat to be seen i suggest making a example image!

7 Likes

Great Guide! I like how you set it all up! Very detailed.
Nice

2 Likes

Hello @Charlee! Welcome to the forums!

1 Like

Hi?what do you mean by that?

1 Like

example image
 you mean like a gif showing the system at the start/end of the guide?

4 Likes

ya like a picyture of what it looks look!

2 Likes

I finally added it

5 Likes

I feel dum6, what does AOE mean?

1 Like

oh. I probably should’ve added that lol. mb. it means Area Of Effect

5 Likes

Does anyone know why my video suddenly popped up? it was a link that wouldn’t get one boxed before
 :thinking:

3 Likes

What video? (I have one on my profile)

1 Like

the one at the end of the guide after “final product”

4 Likes

YES! Two Views!
image

4 Likes

I don’t understand how this is difficulty of 3.
JUST LOOK AT THE BLOCKCODE.
Wait
 the more I look at it

The more I understand it


5 Likes

wdym. you think the code is hard maybe I’ll add diffuclty then? if you look at the distance formula it’s quite simple actually. a bit like slopes

(am I rambling, sorry if I’m rambling lol)

6 Likes

since the rating is based on average you could put really high I fyou wanna raise it


6 Likes

Very creative! the achievements were really fun. Great job on the guide and the creative mechanic.

2 Likes

TYSM!

5 Likes

Great!HAve a good day btw<3

1 Like