Postgame Supervised Testing- Day 4,327 (Patreon)
Content
the eternal precession of cats continues onward for the the 11th annual clusterfuck. in a passing eon, nations have fallen, mountains have crumbled, and humanity has still not managed to solve the eternal paradox of bureaucracy. the litterbox must be changed for the fifth time this morning. you hear a clown crying in the distance.
in my last post i talked about applying a blanket nerf to postgame by cutting out PULSE2 from anomaly teams. having done it and taken some extra time to test now, this definitely seems like it was the right move. a lot of the battles and pacing felt much better after that!
and yet...
now that ika has reached the final stretches of postgame, it's still quite a mess! since it's the end of the postgame, there are a number of back to back fights that are very difficult. i don't mind that because, you know, we're really ramping up to what is, whether i want it to be or not, the supposed ultimate challenge of the game, so i don't mind being a bit mean with my scenarios. ... but there are still some roadblocks that feel insurmountable it seems.
nerfs here.
a little extra healing there.
we've even nerfed the rando azurine lake trainers that were added and now half the dev team appears to have developed intense PTSD of because they keep getting swept by water's surface ridiculous stacking boosts.
let no one say i am not merciful.
except for that one time when i tried to nerf the IVs of the team ika was fighting and accidentally buffed the entire thing by 5 levels instead. oops!
let's get on with the cats.
SpidermanMeme.EXE
so...
ika switched out in a double battle.
and then he accidentally switched out again.
...to the same pokemon.

...so he cloned his palkia mid battle.
this actually looks like an issue that existed in a past release. was it 17 maybe? i think some of you might remember this. i'm pretty sure it's not current ????
anyway we fixed that.
we fixed that.
...so why is it here?!?!
we tried a few times and he was able to replicate it... once. not every time. sus.
there's supposed to be a prevention for this after all. we added it! if you already chose to switch out to a pokemon, you can't choose to switch out to it again.
here's a snippet of the code where it's handled, even! the function that asks if we are able to switch out to a given pokemon:

...now, for those brave enough to stare code in the face........
who sees the issue?
it's specifically an issue with ghost types switching out.
in recent generations... or apparently since 2013-- jesus-- a QoL thing was added for ghost types that they can always escape from battle and switch out.
...but our priorities were a little wrong.
we check that and say "okay you're a ghost type, you get a free pass" before we ask about duplicating a mon. and thus ghost types gain the property to duplicate anything they switch out to in doubles.
idk if this was in current release or development version only. for all i know i'm giving y'all tech right now. actually, an ability that deliberately did that would be kinda lit. ...anyway, no, we fixed it. shout out to perry for noticing!
Blackest Sludge
crim is suddenly a big fan of delphox for some reason. wonder why. anyway, she mugged some poor mon in the street and stole its black sludge with magician, and then--

died for it.
and then she had the audacity to report having faced consequences for her actions as a cat. smh.
(jk crim has been helping me stay on top of the small cats a lot, i appreciate her)
and then perry gave it a try too:

that is one black sludge, amirite? like color only, no race bullshit, let's call up anish kapoor and tell him he's got new competition
anyway this was funny but the reason this happened is because we refactored a bit of how we check items to be more organized. we separate things that activate each round from things that activate on specific conditions like white herbs and berries with argument... but that argument got dropped for black sludge. so basically in asking do we need to activate a berry or something it passed by and thus triggered sludge at every single instance of that question.
poor prima and delphox :[
Yureyu HQ, My Old Nemesis...
all right so yureyu memes are a little dated by now, and even this is a week or two old, but i got some flashback PTSD the other day as someone was trying to play through the changes in the yureyu building segment and
softlocked.
if you know you know-- softlockes in the yureyu building are a tale as old as time.
or, as old as E8 or whatever.
same thing basically.
so here's the tea sis, there's a command called Wait for Move. and when we're telling events to Move anywhere on the map, I use that command to say "stop everything until the event finishes moving". past versions of RPG Maker didn't have this and it was very annoying trying to manually time out every single movement by the number of frames it would take! being able to use this command speeds up development significantly. it's great.
the problem is, Wait for Move doesn't wait for one specific event to finish moving; it waits for all events on the entire map to finish. And if you have an event that has been asked to move, and cannot move for any reason, and if you then use that command... you are waiting forever. Softlocke.
Here are some reasons that an event might not be able to move how it's asked:
- There is an impassable tile in its way
- There is an event in its way
- There is a non-obstacle event in its way. It can be completely invisible and passable to the player but for some reason Essentials (not default RPG Maker, as memory serves) prevents even empty invisible passable events from stepping on each other unless one is explicitly asked to be Through.
- The event tries to move into the map boundary
- The event is too far off screen so Essentials' anti-lag has disregarded it entirely to save on processing power, so it can no longer move.
- Also, if you have a follower event you can no longer issue Move commands to your follower. I'm not positive that that softlockes it but it sure sounds like it might, huh?
So, when we first made Yureyu a thing, I put everything together, got all the eventing together, tested... and by the time we got up to Sigmund and Sirius, everything was softlocked. And I couldn't figure out why. Every floor of Yureyu is on one single map, so between Charlotte, Shelly, the Meteors, Sigmund and Sirius, that's a lot of moving pieces that might crash! Comparing it to the list above, with Cain also being a follower, and each floor being offscreen... basically every single one of those bullet points was a valid cause for why it might crash.
So I searched and combed every event trying to figure out why it was doing The Thing.
Who did it?
Who.
And I never found it.
Yureyu kept crashing seemingly at random. Loading a save refreshed the map (which meant whatever event it was, would no longer try and fail to move.) So it was hard to test for. I couldn't find what was causing Yureyu to softlocke. It's possible there were multiple causes even. And the eventing there was so much and such a mess I just... had to give up and move on. Yureyu has functioned ever since then because a long time ago I yeeted every Wait for Move command in the map and went back to manually timing every event.
The world was at peace.
Scars began to heal.
The people once again progressed through the segment in harmony,
And until Ika reminded me of it, even I forgot.
And then I went and touched up some scenes there along with the early game updates
And I used Wait for Move again, because why wouldn't I?
I had forgotten the suffering of old
That which my ancestors had cautioned me against
An ancient evil sealed away 1,000 years ago...
And thus it reared its ugly head once more.
The softlocke in the Yureyu building................................................

...So I know it's default jRPG.exe but frankly I've never been a fan of those 'sealing ancient evil away' plots. I don't know why anyone thinks it's a good idea like it doesn't even make sense, just go fucking kill the demon in the first place, right?
But honestly
As a result of this, I feel like I've warmed up to those stories a little bit.
It's no longer the stone ages. Technology is better now.
We have MKXP.
It runs smoother, which meant we could yeet the anti-lag script, which means events no longer crash the game if they try to move offscreen.
That's only one bullet point cause out of the entire above list knocked off... But it's a pretty big bullet point.
Perhaps, with the noise out of the picture, I could defeat my nemesis once and for all...



(^ that again because loading causes a refresh, which would unlock.)
I had basically just gone through all of the eventing in the building again-- I knew I wasn't erroneously trying to move my partner event. It can't have been an out of boundary or out of screen distance thing. Clearly it was an intentional move command that was not behaving as I expected.
The fact that this first happened on Sigmund's floor... frankly didn't tell much because it was the first time I re-used the Wait for Move (I think?). I just checked the one below and happened to notice it. Most cases of those bars in the game are passable behind the top row-- it just displays on top. For instance, that's the case in Blacksteam and the Sanctum. ...But, because the player never steps there in this map, those bars were actually incorrect, inconsistently impassable.
Thus locking Noel up while he's locked up.
And Noel took the rest of the game with him.
After a fix, a push, and another test by crim who happened to be just a few steps behind perry ... and it worked! After 1,000 years, Yueryu has been freed from the evil.

jail for noel
jail for 1000 years.
speaking of that, you might notice crim's name there! that brings us to our next cat.
jail for corin, jail for 1000 years
so crim got a softlocke at the point in the magikarp quest where you're in 7th st, corin first reveals himself, steals the fish, and jumps away.
the cause of the issue was because somehow the command that walks corrin across the roof got deleted. idk. it's not interesting.
but the outcome of that was. i need you to see this. please understand it was even more beautiful in game where there was a nice satisfying thunk sound of what should have been him landing on top of the cage:

that's it that's the show thanks for coming everyone