Jump to content

Does 'Stuff Done Compare' not work? [SOLVED]


Recommended Posts

I'm working on quite a complex scenario with branching paths depending on decisions the player makes, so I tested the Stuff Done Compare node to see which special is called if the two values are equal, since the one it implies it should be isn't what it says in the documentation. It turned out the Jump To is called. Satisfied, I left it at that, but left those test specials where they are for the time being.

Then it occurred to me that I'd better check the node actually works. That's when I discovered that no matter which flag I changed, the Jump To special was still called even if it should definitely have been the other one. That says to me that either Stuff Done Compare doesn't work or that Set Flag doesn't work if the player just walks over it. However, I also tried it with One Time Do Nothing and it still didn't work. I'm not sure what I can be doing wrong here. This series of test specials is located right at the beginning of the scenario, so it's not that I've messed it up by doing something else.

So, is Stuff Done Compare known not to work? I'm using my copy of BoE from a disc.

Link to comment
Share on other sites

I'm not aware of any bug that prevents Stuff Done Compare from working in legacy BoE. The logic in the original source is:


If Extra 1A >= 0 and SDF >= Extra 1A then goto Extra 1B

Else If Extra 2A >= 0 and SDF < Extra 2a then goto Extra 2B

Else goto Jump To


So, Jump To would ultimately be called in the following situations:


  • If the SDF is invalid – it has negative components, or it's larger than the maximum value for an SDF, or something. (I think the editor validates that though, other than -1.)
  • If Extra 1A and Extra 2A are both negative.
  • If SDF < Extra 1A and Extra 2A is negative.
  • If SDF >= Extra 2A and Extra 1A is negative.
  • If SDF < Extra 1A and SDF >= Extra 2A.


For reference, in case you think I might have misinterpreted something, here's the actual source code from the original Mac release:

	            if (sd_legit(spec.sd1,spec.sd2) == TRUE) {
                if ((spec.ex1a >= 0) && (PSD[spec.sd1][spec.sd2] >= spec.ex1a))
                    *next_spec = spec.ex1b;
                    else if ((spec.ex2a >= 0) && (PSD[spec.sd1][spec.sd2] < spec.ex2a))
                        *next_spec = spec.ex2b;

Link to comment
Share on other sites

Well, with that in mind, I tried it again. It's now suddenly working. I tried various things to reproduce the problem and still have no idea what in the name of sanity I did wrong the first time. There wasn't a lot to get wrong, and if I checked it once I checked it a thousand times. I guess I must have fixed whatever the problem was when I put the specials back to their original setup after using them in the interim to test Increment Flag, since that node is pretty much the basis for my entire scenario. Oh well, I suppose it will have to remain a rather annoying mystery.

Link to comment
Share on other sites

I'm now thinking the most likely explanation is that it was working all along and I simply confused myself with my own bad wording (and probably convinced myself that it wasn't going to work because it's such an important node in my scenario). I've worked out that the problem couldn't have been with either of the Set Flag specials because they haven't changed since it seemed not to be working. I could potentially have put the same flag twice on the Stuff Done Compare node, but with the two flags being right in front of me, I doubt it. It also doesn't look like I connected the nodes incorrectly. It doesn't appear to be anything I was doing in-game either.

So although I'm sure I remember it saying each time that the Jump To special was being called, I think my brain may have interpreted 'second flag lower special' as 'second special'. I certainly did have to think about what I meant by that at some point when I read it. In any case, it's a more plausible explanation than my somehow managing to mess up the simple act of writing 10 numbers.

I also realise that probably no one cares about any of this! 😂

Link to comment
Share on other sites

  • Azalea changed the title to Does 'Stuff Done Compare' not work? [SOLVED]
  • 3 weeks later...

If you don't know what the problem was and it just went away the next time you tried it, it's also possible that you just needed to restart the program and/or the computer. Spiderweb Software, since the days of Exile, has always recommended restarting the program and your computer when you encounter a bug, and if that doesn't work, to try completely uninstalling and reinstalling the program. It fixes a surprising number of issues.


Welcome to the Spiderweb Software community! Thanks for being interested in good old Blades of Exile! :D

Link to comment
Share on other sites

That did occur to me, but I thought it must not be that since I had to restart it anyway every time I made a change. But I did then turn off the computer and try again later, so potentially it was that that fixed it. I'll have to try that the next time I can't for the life of me figure out why something's not working.

And thanks! 😁 It's good to have a little piece of my childhood back!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...