Buttonpush Discussion Thread

Help Topics, Bug Reports, Feature Requests, etc.
Post Reply
User avatar
Jutomi
Rainbow AllStar
Posts: 4364
Joined: Tue Oct 15, 2013 8:42 pm

Buttonpush Discussion Thread

Post by Jutomi » Sat Apr 15, 2023 5:32 pm

Hello everyone! So in the past few years, we've had a ton of really weird discoveries in Wonderland. We've discovered CMD 4 (which will come back in this thread, don't worry ;)), True Movement (movement type / speed / tile collision / object collision), Stationary/Mobile spellballs and meteors, Linked/Linkback, Using in-game textures by searching through the folder, an ever-expanding number of new glitches (also in RTW yw ;p) and discovering WA compression can be used to obscure malware... :lol: [DW that's not actually that big an issue lol.]

One thing that's helped us play around with these is the ability to more easily experiment with these variables, largely thanks to MNIK's editor, which allows you to play with several variables. However, there is one unassuming variable that does a surprising amount of work - something I only discovered myself just yesterday, on accident, but something which MNIK and a couple individuals looking through the code themselves (shoutout to Kyuu who I also ignored xD) had previously known about. That variable is ButtonPush.

So, what does ButtonPush do? Well, it covers a few things. It tells whether an object:
- Can interact with (i.e. press) buttons. This is all I assumed it did until recently.
- Can interact with (i.e. activate/use) transporters
- Sinks collapse bridges / Rainbow Floats when going over them or not
- Interacts with springs and suction tubes
Put simply, when this value is set to 0, it does none of these things; when set to 1, it does all of them.

----------------------------------------------------------------------------------------------------------------------------------------------------------

So, all of these are actually really interesting as-is. Thanks to CMD 4 (yes, that one again), you can change the ButtonPush properties of anything at any time. This means you can even set the player to not interact with objects, or... yes, you can make spell balls and even zapbot lasers activate transporters, sink bridges, and even press buttons (a constant zapbot laser actually holds down round buttons :lol:). Floing bubbles can also press buttons, but they have to move off a bridge to actually sink it, and trap transporters, so they don't exactly activate them.

However, there are a few limits to this godly ability. For instance, grow flowers don't seem to interact at all (possibly due to their wall-like status; I have not tested ice flowers but I imagine much the same is true for them). Another example: spellballs (but afaict not lasers, although maybe they just move too fast) stop as soon as they activate a transporter.

One thing that is not affected by ButtonPush is interactions with ice and ice floats. I'm still not sure what causes this, actually, but regardless of buttonpush status, an object will slide on ice and deactivate brr pads i.e. ice floats. The only exceptions to this are z-bots (including retro z-bots, weebots, ufos and zapbots; NOT moobots, NPCs unknown), for which don't do any of these things. This is tied to their logic, and no other variable.

----------------------------------------------------------------------------------------------------------------------------------------------------------

This is all well and good, but I'm only just getting started: there is a plethora of other things you can do with buttonpush. Take a look at this last use for it:
- Interacts with springs and suction tubes

This is actually immensely powerful. So, yes, you absolutely can make it so objects do not get affected by springs or suction tubes in the slightest. However, there's a potentially even more powerful use for this: making objects that should not be affected by springs interact with them. :twisted:

Alright, so, there's a caveat to this. With few exceptions (such as coins... and not much else xD), objects that are sprung will just... explode. :lol: This allows you to delete specific objects (like teleporters, buttons, magic, etc.), but it doesn't do a whole lot for you. At least, not in most circumstances.

However, if the tile that the object is being sprung into is a water OR lava tile? Well, for some reason, those two tile logics specifically act different... and are a lot more interesting :lol:

So, objects that are sprung into water or lava will actually act like any other object sprung. And guess what: this applies to virtually everything. You can push custom models (set to deadly and moving, in fact), particle effects, spell castors, magic mirrors and arcade machines, decorations, voids, teleporters, buttons, bridges, waterfalls, and - yes, even other springs and suction tubes. You name it, it works! There are a few exceptions: some things break a little. Signs seem to completely break down. Voids are a bit finicky. Sunspheres do leave behind their inside bubble (although you can turn that off separately if you wished). But beyond that? ... Most things work :lol: Floinged objects also seem to be properly trapped in time; however, floing bubbles themselves work just fine :lol:

There are a few other really niche quirks. Objects that change tile logic in some way, such as gates, bridges, transporters, teleporters, etc. leave behind a meta tile where they were pushed from. Usually it's a floor tile, although closed gates leave behind a wall, and brr pads leave behind ice. Some objects also leave behind a whole trail of tile logic along their flight path, including gates (making walls), rainbow floats (making floors; this is not the case for normal bridges), cages (floors) and signs (walls). Suction tubes without modified z-adjust (Z not affected) leave behind walls either side of their flight path. Active Flip bridges also leave behind floor tiles where their extensions were. Active bridges also This isn't too big an issue if the object starts on a floor or wall tile, or inaccessible area.

Another quirk is that objects cannot be walked on. At least, not most of them... at least not right away :P So, you can still interact with them using buttons or, for poppable objects - pop. Transporters, I believe, will be in an active state, as well as non-tile-logic objects like springs and suction tubes. Objects that leave behind a trail of metatiles also remain active. Other objects will have to be activated, or deactivated and reactivated, in order to be walked on / interacted with. Teleporters can still be exited (i.e. from another teleporter), effectively creating a one-way teleporter.

Objects also are sprung whether they are activated or not, interestingly enough. Objects can continue to be sprung around in this inactive state and not create any further floor metatiles; however, objects reactivated or otherwise not deactivated will leave behind further metatiles. Objects may also be activated mid-flight, creating a metatile in their fully active state. This applies to teleporters and bridges (including alternating ones).

Transporters, once activated, will move in their pointed direction (at flying speeds) until they hit the end of their path, before continuing down the direction they were originally sent in. This will also create a metatile in the spot where they first activated. Flip bridges will remain water/lava tiles, however their extended components will function as expended. (Activated flip bridges will fly straight through small paths and still appear active.) Conveyorbelts and their tails can stack; once the head activates, the conveyorbelt will actually "fix" itself.

Objects also block other objects, as long as they are in a normal condition. If they're sprung and not updated, they can fly into other objects. This allows you to actually stack objects, including multiple floing bubbles. :lol:

A really weird interaction is how spellballs and lasers (which are actually super-fast pow charges - just shoot a laser through a prism and save/load to repeatedly see this :lol:) will activate springs and suction tubes, but won't actually move at all with them... well, sort-of. Actually, if a spring rotates into a pop charge with buttonpush on that pressed its button to rotate, it'll hit the button twice. Another weird thing that happens is spells that hit springs or suction tubes function as if they have buttonpush off - with the exception that they will still interact with springs and suction tubes. (Sidenote: with "teleportable" on, this is also true for teleporters, for which you can deactivate them with bubbles or magic but nothing more.) Lastly, even though they can fly through a spring facing a wall or water tile unscathed, they actually do die if the spring is facing a wall, making a magic barrier (although, there are more subtle and effective ways of handling this).

I think this is the extent of my personal findings, but if anyone wants to experiment and see if they can find out more, I fully encourage it! There are plenty of interesting use cases that I probably haven't even thought of yet! But other than that, if you find any other interesting use cases, or have any questions as to how something in particular works, feel free to ask away in this thread: that's what it's made for.

I hope to see more puzzles using this quirk in addition to the plethora of other findings. Have fun! :)
Your only little stinker that's absolutely NOT a z-bot by this name,
Jutomi~ :mrgreen:

Also, if you want to see my level list, here it is! :D
(Also: List of Hubs, WA Manual)
Oh, and my YT wonderland channel. Forgot about that.
TwingleTheScraggler
Gold Wonderlander
Posts: 73
Joined: Sun Oct 02, 2022 7:11 am

Re: Buttonpush Discussion Thread

Post by TwingleTheScraggler » Sun Apr 16, 2023 3:31 am

Huh. So I guess that's how cursed buttons work. Also, what was that about a prism? I don't remember seeing any in Wonderland Adventures.
User avatar
Jutomi
Rainbow AllStar
Posts: 4364
Joined: Tue Oct 15, 2013 8:42 pm

Re: Buttonpush Discussion Thread

Post by Jutomi » Sun Apr 16, 2023 11:22 am

Ah, so about cursed buttons from MOFI: Those actually do work a different way. So while ButtonPress can tell an object to not interact with buttons at all (along with other things), buttons can also be given a value so that only objects with a specific ID can press them. It's why some buttons can be pressed by one thing and others by a different thing; both objects can still press buttons / interact with the world, it's just those buttons are picky. ;)

As for prisms, they are actually part of OpenWA specifically; they're actually a mod! Along with blink barrels, blink barrel magic (as a joke), the undeveloped turret magic, the homing-pow version of Rainbow magic, a few of the commands (14-17, 65, possibly a couple others), and homing versions of all magics. Custom maps, cutscenes, and a few other editor settings are also part of OpenWA, and like the other features I mentioned are not in the vanilla editor. :)
Your only little stinker that's absolutely NOT a z-bot by this name,
Jutomi~ :mrgreen:

Also, if you want to see my level list, here it is! :D
(Also: List of Hubs, WA Manual)
Oh, and my YT wonderland channel. Forgot about that.
TwingleTheScraggler
Gold Wonderlander
Posts: 73
Joined: Sun Oct 02, 2022 7:11 am

Re: Buttonpush Discussion Thread

Post by TwingleTheScraggler » Mon Apr 17, 2023 5:41 am

Jutomi wrote:
Sun Apr 16, 2023 11:22 am
As for prisms, they are actually part of OpenWA specifically; they're actually a mod! Along with blink barrels, blink barrel magic (as a joke), the undeveloped turret magic, the homing-pow version of Rainbow magic, a few of the commands (14-17, 65, possibly a couple others), and homing versions of all magics. Custom maps, cutscenes, and a few other editor settings are also part of OpenWA, and like the other features I mentioned are not in the vanilla editor. :)
What is this "turret magic"? Does it have anything to do with Zap-Bot lasers?
User avatar
Jutomi
Rainbow AllStar
Posts: 4364
Joined: Tue Oct 15, 2013 8:42 pm

Re: Buttonpush Discussion Thread

Post by Jutomi » Mon Apr 17, 2023 12:07 pm

Oh, haha, nope! It's technically in OpenWA, but it doesn't do anything except place model turrets. They were originally supposed to basically act as fireflowers or lasers of some kind that shot in the opposite direction to you. Turrets would've been a neat idea, actually; I'm not entirely sure why HumanGamer wanted them to be a magic specifically ('specially if they could be flashable), but in the end the product was never finished. Alas.
Your only little stinker that's absolutely NOT a z-bot by this name,
Jutomi~ :mrgreen:

Also, if you want to see my level list, here it is! :D
(Also: List of Hubs, WA Manual)
Oh, and my YT wonderland channel. Forgot about that.
TwingleTheScraggler
Gold Wonderlander
Posts: 73
Joined: Sun Oct 02, 2022 7:11 am

Re: Buttonpush Discussion Thread

Post by TwingleTheScraggler » Tue Apr 18, 2023 5:43 am

The ButtonPush thing and Cursed Buttons give me a new idea: what if an NPC was cursed to not be able to interact with buttons, and the player had to find a way to break the curse?
User avatar
Jutomi
Rainbow AllStar
Posts: 4364
Joined: Tue Oct 15, 2013 8:42 pm

Re: Buttonpush Discussion Thread

Post by Jutomi » Tue Apr 18, 2023 5:34 pm

You absolutely could do that! Feel free to make an adventure out of that idea; there are lots of interesting storylines yet to be explored in Wonderland, and the custom content scene is only getting more and more intricate. :)
Your only little stinker that's absolutely NOT a z-bot by this name,
Jutomi~ :mrgreen:

Also, if you want to see my level list, here it is! :D
(Also: List of Hubs, WA Manual)
Oh, and my YT wonderland channel. Forgot about that.
TwingleTheScraggler
Gold Wonderlander
Posts: 73
Joined: Sun Oct 02, 2022 7:11 am

Re: Buttonpush Discussion Thread

Post by TwingleTheScraggler » Tue Apr 18, 2023 6:09 pm

Yeah, I'm not much of a creator. I'm more of an observer.
User avatar
Wonderman109
Rainbow MegaStar
Posts: 3530
Joined: Thu Jun 28, 2012 11:25 pm

Re: Buttonpush Discussion Thread

Post by Wonderman109 » Fri Apr 21, 2023 1:16 am

Jutomi wrote:
Mon Apr 17, 2023 12:07 pm
Oh, haha, nope! It's technically in OpenWA, but it doesn't do anything except place model turrets. They were originally supposed to basically act as fireflowers or lasers of some kind that shot in the opposite direction to you. Turrets would've been a neat idea, actually; I'm not entirely sure why HumanGamer wanted them to be a magic specifically ('specially if they could be flashable), but in the end the product was never finished. Alas.
I always thought turret magic was the stuff zapbots fired. Guess not. An aimable turret would be cool though.
Post Reply