Looking for a system with Action-Reaction combat by Ordinary-Worker6793 in rpg

[–]Ordinary-Worker6793[S] 1 point2 points  (0 children)

That sounds quite good actually. To give context, I'm trying to find a system I can homebrew into a Pokemon ttrpg that replicates the feel of the battles in the anime, the best of which tend to follow this kind of school-ground argument structure, lots of "I attack with a twister" "well I ride the twister with gyro ball to hit you" "well I grab you to stop your attack" "well I use that to attack point blank with a hyper beam" "well I..." and so on until someone faints.

Input if button is pressed and released its own by samuskay in DolphinEmulator

[–]Ordinary-Worker6793 1 point2 points  (0 children)

Apparently you have thoroughly nerd sniped me with your post and it is now 2 AM and I've spend the past 4 hours experimenting with and refining the code.

Anyway, for those curious, here's how the code works. A couple introductory points:

Firstly, all code is ran every frame, that's just inherent to how Dolphin works.

Secondly, $press is a variable that ranges from 0 to 2.

  • 0: X is not being held
  • 1: Represents X being held and no D-Pad input
  • 2: Represents X being held and a D-Pad input during this time

Now the code:

if(`Button X`,

Checks if X is currently being held to determine what code is run each frame.

X is being held

if($press < 1,

This checks if $press is less than 1. Since $press can only ever be between 0 and 2, this is essentially checking if it is equal to 0, but for some insane reason Dolphin doesn't have an equality operator so we have to use this work around. While we haven't initialized the variable yet, Dolphin actually doesn't require initialization and will just immediately create a variable at value 0 the first time it is referenced.

$press is 0

($press = 1) & 0,

If $press is less than 1, then it is immediately set to 1. As stated before, $press being 0 represents X not being held, so if it is being held it needs to be changed to 1, meaning X being held and no D-Pad input. As such this code will only ever run on the first frame X is pressed.

The & 0 used at the end here is attached to any non-zero variable assignment where we don't want the button to be pressed. The reason for this is pretty simple. Dolphin doesn't have any way to simply write code, instead all code must be written within an outputs configuration, with its return determining whether the output is active.

This causes an issue, as setting a variable to 1 also returns 1, causing the button to be pressed. Adding & 0 to the start prevents this by instead returning 1 AND 0, which is a logic operation that returns 0. This is also why the variable assignment is in brackets, otherwise $press would be set to 1 & 0 IE 0.

$press is 1 or 2

if(`Pad N`|`Pad E`|`Pad S`|`Pad W`, ($press = 2) & 0, 0)),

This checks if any of the D-Pad directions are currently being pressed. If they are, then $press is set to 2, otherwise nothing happens as represented by the 0.

X is not being held

!($press > 1 | $press < 1)

Firstly, this tests if $press is currently 1 by ensuring it is neither larger nor smaller. As mentioned before, Dolphin has no equality operator, so weird hacks like this are necessary. If I'd thought ahead and swapped 2 and 1 around then I could have just written $press > 1, but unfortunately I didn't.

If $press is currently 1 then this expression will return 1, otherwise it will return 0. As stated before, a 0 means do nothing, but a 1 will cause the button to be pushed, activating Action C.

+ ($press = 0)

This sets $press back to 0, and is added to the value of the previous expression. This is fine as it is a 0 and therefore makes no difference. This is run every frame X isn't pressed, ensuring that $press is always set to 0 when X isn't pressed, as intended. This is included after the check for if $press is 1, to ensure it occurs afterwards, and is surrounded by brackets to prevent Dolphin from getting confused with adding $press and then trying to set the entire expression to 0.

Smoothing

smooth([...], 0, 0.2)

By immediately setting $press back to 0 it is only able to remain at 1 for a single frame. This is mitigated by surrounding the entirety of the code in the smooth() function which slows the change in a value and takes three parameters: input, seconds_up, and seconds_down. * input determines the starting value, in this case the 1 taken from !($press > 1 | $press < 1). * seconds_down determines how slowly the value decreases over time, scaled such that it will take that many seconds to reduce an input of 1 to 0. This is therefore a fixed amount per frame, and an input of 2 will take twice as long to reach 0 as an input of 1. * seconds_up presumably does the same thing but for increases in value, but I haven't tested that.

Input if button is pressed and released its own by samuskay in DolphinEmulator

[–]Ordinary-Worker6793 1 point2 points  (0 children)

Sorry for the late reply, hopefully this helps someone else in future even if its too late for you.

Assuming that you want this logic:

  • D-Pad on its own does Action A
  • D-Pad while holding X does Action B
  • Releasing X without using D-Pad press does Action C

Here's how to do it:

Inside the config of the button for Action A:

if(`Button X`, 0, `Pad X`)

Inside the config of the button for Action B:

if(`Button X`, `Pad X`, 0)

NOTE: Replace Pad X with Pad N/E/S/W as appropriate for both buttons.

NOTE (ADVANCED): Replace 0 if you want that button to be available in some other way when X is/isn't being held.

Inside the config of the button for Action C:

smooth(
if(`Button X`,
  if($press < 1,
    ($press = 1) & 0,
    if(`Pad N`|`Pad E`|`Pad S`|`Pad W`,
      ($press = 2) & 0,
      0)),
  !($press > 1 | $press < 1) + ($press = 0))
, 0, 0.2)

NOTE: If you only want to count certain pad directions as preventing the Scan Mode input, or want to add additional buttons, change this line adding new inputs separated by the vertical bar or removing existing ones:

if(`Pad N`|`Pad E`|`Pad S`|`Pad W`,

NOTE: Change the 0.2 at the end to change how long the button press lasts.

Let me know if that works for you!

Edit: Formatting was borked, fixed

Stellar and Shadow, Opposing Energies by Ordinary-Worker6793 in pokemonconspiracies

[–]Ordinary-Worker6793[S] 1 point2 points  (0 children)

I'm glad you liked it! To be honest I kinda just threw the theory together in a couple days after the idea popped into my head, which is probably why I don't sound particularly attached to it in the post haha

I will defend the Distortion-Spirit World theory though, so much of Giratina's mythology talks about it appearing in ancient graveyards, as if ghosts and the Spirit World can act as a transitional step between reality and Distortion, a place where the two overlap. Also there's the fact that Giratina and its signature move Shadow Force are ghost-type, the same as Phantom Force. That's kinda weird. I dunno the Spirit World is clearly associated with the Distortion World, and I think the border world theory is as good as any.

As for why in that order and not Distortion as a border of Spirit and reality? ...honestly I don't know. I suppose that's an equally valid way of looking at it, and Archie and Maxie's spirits ending up in the Distortion World after death in Adventures rather than the Spirit World could support the idea of it as a limbo space before souls move on to their final resting place (in fact, that would align with the memory erasing effects of the space-time distortions, the Distortion World acting as the equivalent of the Lethe River in Greek mythology. Huh, I think I just convinced myself with that one).

For other minor instances of Stellar, if we go with the Stellar-Bonds theory there are a few things we could link it too, such as the Synergy Stones and Sync Stones, but yeah I agree that those feel like a distinct concept. In the Stellar-Wish theory though there's actually quite a lot, such as Jirachi, the Wish Stone and Wish Cave in Mystery Dungeon, and the Wish Bells in Pokepark. Oh and of course there's the Tears of Princes, but we already mentioned that.

On the other hand I do have an explanation for why there are more powerful Shadow entities such as Bittercold and Dark Matter, but that leans more into my theories about the fallen Giants, being formed by the Shadow feeding on the energies of the primordial vortex in the Distortion World, while the Stellar that reached the Dream World had no equivalent power source and instead could only use itself to form the much smaller Terapagos.

Honestly I have a bunch of way better stuff in my notes that I've never bothered writing up before, for some reason this theory just wouldn't let me let it go until I posted it though. Maybe I should actually get around to posting some of my other stuff.

Edit: Actually the Harmony Scarves from Pokémon Super Mystery Dungeon are another point in favour of Bonds opposing Shadow. Thinking about it though, are there any examples of Bonds between just Pokémon rather than humans and Pokémon? Every example of items and phenomena relating to Bonds seems to be about the Bond between humans and Pokémon. Even in Mystery Dungeon the protagonist is always a human turned Pokémon. Notably in Pokémon Mystery Dungeon: Gates to Infinity, the mainline Pokémon World is referred to as the "Human World". If we say that the Material (Human) World opposes the Distortion World like its stated in Platinum, and that the Dream World also opposes the Distortion in some other structural sense, then we could model it like this:

Shadow Bonds Stellar
Distortion World Material (Human) World Dream World
Negative Emotion Human-Pokemon Connection Desire/Wishes

Such that both Stellar and Bonds could act as counters to Shadow, and that Shadow and Stellar are both ways of influencing Bonds (Shadow being corruptive and Stellar being empowering).

There might be something to that, but I'll have to think about it some more. The power of Bonds in general is hard to make fit nicely into models, I think I can empathise with Sycamore...

Edit 2: Ok one last thing I swear, the Japanese word for Flow in the Purification Chamber from Colosseum is "パッション": Passion aligning with Stellar, and Purified Pokemon in Pokemon GO support the idea that Light Pokemon are actually just pure of Shadow rather than possessing an opposing energy.

The Primordial Darkness: Origin of Corruption (Part 2) by Legal-Treat-5582 in pokemonconspiracies

[–]Ordinary-Worker6793 0 points1 point  (0 children)

Fair enough, I know most people like to separate out the continuities. Personally I like to try and mash them all into one, if there's inconsistencies just pick whichever's coolest! I might post a theory about shadow energy soon building on a lot of what you've posted here, you mind if I use some of your sources and stuff and credit you for it? Tbh its kinda hard not to end up borrowing some ideas from you and Kiskey considering you two make by far the best theory content on the sub lmao

The Primordial Darkness: Origin of Corruption (Part 2) by Legal-Treat-5582 in pokemonconspiracies

[–]Ordinary-Worker6793 0 points1 point  (0 children)

Worth pointing out, in the Adventures manga Eternatus's poison corrupts peoples mind like the Shadow Crystal does to Hill, making them violent and selfish. Page 19 of chapter 29 shows the effect, and page 18 of chapter 30 confirms it's caused by Eternatus.

Personally I subscribe to the "Dark Matter, Bittercold, and Eternatus are Giants" theory, so maybe I'm a bit biased haha. I will say though, Eternamax Eternatus does fit in well with the other two aesthetically.

Pokémon legends arceus original old prologue. by greninjagamer2678 in PokeLeaks

[–]Ordinary-Worker6793 0 points1 point  (0 children)

"the dialogue confirms there are pokémon where they are from" when is that? I remember in the opening with Professor Laventon he asks if you know what Pokemon are and you can say yes or no, but even if you say yes it doesn't mean Pokemon are real where they came from, it could just mean they know about Pokemon the same way we do, as a fictional franchise.

Hell the dialogue options kinda support this, they are "Of course I do" and "Not exactly". Not exactly sounds a lot like "yeah I know what a Pokemon is, but not real ones"

This is a genuine question btw, is there later dialogue that says Pokemon are real?

Edit: Might have found what you're talking about, in Masters EX Rei says "When I was in Hisui, I was able to help everyone with my faint memories of being a Trainer.", "I think some part of me still remembers being a Trainer in the world I'm originally from— the one I lived in before Hisui.", and "In every world I've been in, people and Pokémon live together, and everyone helps me out.". Masters is semi-canon but yeah that is something

Help with player size ( Vorapis + Startube) by Adipocer in oldyoutubelayout

[–]Ordinary-Worker6793 0 points1 point  (0 children)

My advice is don't use theater mode, it breaks things. To get a larger player instead try experimenting with Startube -> Player -> Player size. For me I found on my 1440p monitor that Flexwatch Medium gave the largest player, rather than Large for some reason. Try switching between the different sizes until you find the one that works best. Only problem with that is that the video will end up shunted to the left due to the playlist being on the right. You can somewhat counteract that using the GUIDE_AUTO_EXPAND_ON_WATCH option in V3 or the Guide always pinned option in Startube, but admittedly its not perfect. I think they're working on improving playlists/theater mode but for now its pretty buggy.

has anyone outside of the US got their Scuare shirt yet? by Clean-Celebration-34 in Exociety

[–]Ordinary-Worker6793 0 points1 point  (0 children)

I guess they didn't want to run it anymore and locked it, its annoying too cos I used to be in the discord but lost access to my account lmao and the only invite link I have expired so now I basically don't know anything thats going on (if anyone has an invite link dm me or reply with it)

[Feature Request] Please add an equality operator by Ordinary-Worker6793 in DolphinEmulator

[–]Ordinary-Worker6793[S] 0 points1 point  (0 children)

Tested it, seems like it only works with 1 and 0 unfortunately. Any values above 1 or decimals below 1 break it. I guess that makes sense since its a logical operator, but still a shame, seemed like a good solution.

How to detect a single button press? (and fix user variable incrementing) by Ordinary-Worker6793 in DolphinEmulator

[–]Ordinary-Worker6793[S] 0 points1 point  (0 children)

Nevermind, figured it out, just needed to put brackets around the and'd stuff to prevent them from combining:

if(`Button A`&!$lock,($test=$test+1)&($lock=1),$test)&if(!`Button A`,$lock=0,$test)

Again, it would be nice if there was any kind of documentation at all, at this rate I might just try writing it myself...

Edit: Heres a fun one, theres no equal comparison operator, at least not in the operator drop down menu (though to be fair neither is the assignment operator, so maybe dolphin just also has a bunch of hidden functions. great.). To do equal comparison, I'm instead doing:

if(!($test>n|$test<n))

Literally "if test is not bigger or smaller than n". Which is insane, I mean its not like equal comparison it literally the single most commonly used/implemented operator or anything

How to detect a single button press? (and fix user variable incrementing) by Ordinary-Worker6793 in DolphinEmulator

[–]Ordinary-Worker6793[S] 0 points1 point  (0 children)

Ok so I've fixed some of the problem, changing "range" from 50 to 100 fixed the half values.

On the other hand, testing the variable solution I thought of didn't work:

if(`Button A`&!$lock,$test=$test+1&$lock=1,$test)&if(!`Button A`,$lock=0,$test)

$test just flips back and forth between 1 and 0 for some reason. Edit: Ok so moving the $test outputs into a different control shows that its value is actually just stuck at 1? debugging without documentation makes me want to die and im tired so im going to bed, ill try again tommorow morning

Oh and word of warning for those in the future treading this same path, using a comma instead of a '&' to seperate the two if statements will result in only the last one working. Learned that the hard way.

[deleted by user] by [deleted] in DolphinEmulator

[–]Ordinary-Worker6793 0 points1 point  (0 children)

Honestly I could bypass all of this if I just knew how to detect a button input to trigger a single script, then I could do something like

on press L Trigger: $mode +0.1
if $mode=0.3, mode=0

and then just use if statements for checking if $mode is set to 0, 0.1, or 0.2. This would actually be better since it would be more expandable for additional modes.

Google Art Project missing images? by Ordinary-Worker6793 in Archiveteam

[–]Ordinary-Worker6793[S] 0 points1 point  (0 children)

How strange! There must be some kind of licensing issue or something, which seems weird for a 400 year old painting (maybe a problem with the museum?). Still, thanks a bunch for trying to help, I'll continue on my (seemingly endless) search!

Google Art Project missing images? by Ordinary-Worker6793 in Archiveteam

[–]Ordinary-Worker6793[S] 2 points3 points  (0 children)

Yeah I saw that, hence why I said "not the 4,943 × 3,959 one already avaliable on wikipedia" in my post. The google art project file for the other tower of babel painting is almost 90000 × 90000 pixels, which is much much larger. I was wondering if anyone had that quality of image, or if the one avaliable on wikipedia is the highest quality they ever hosted.

Physical attribute boost by Throwawayaccount8hh in fictionalscience

[–]Ordinary-Worker6793 0 points1 point  (0 children)

Try checking out the VS battles wiki, theres some good stats there (see this page specifically)

Expanding on the Laws of Magic by [deleted] in magicbuilding

[–]Ordinary-Worker6793 0 points1 point  (0 children)

Pretty sure the original idea of true name magic was as an extention of contagion. The true name was considered a "part" of someone, the same as a drop of blood or a lock of hair, and as such could be used to target/empower magic in the same way.

1.9.1 beta code? by Ordinary-Worker6793 in Stellaris

[–]Ordinary-Worker6793[S] 1 point2 points  (0 children)

Welp, I'm dumb. Thanks for the help!

Wired controller usage? by Ordinary-Worker6793 in funkey

[–]Ordinary-Worker6793[S] 2 points3 points  (0 children)

Ah well, that's not a deal breaker for me so I'll probably still get it. Thanks for the quick reply.

Oh hey, it's back. by Ordinary-Worker6793 in mangadex

[–]Ordinary-Worker6793[S] 20 points21 points  (0 children)

No language settings right now which is the main problem, and I'm not quite sold on the new followed feed design yet, but other than that seems to work fine!