I didn’t do anything to trigger it. I just hit an enemy with the t5 hammer. The weapon was not cursed. This is most certainly a game breaking bug.

Edit: this is Experienced Pixel Dungeon

  • @[email protected]
    link
    fedilink
    English
    187 months ago

    I suspect a negative register overflow bug. 2^31=2147483648, 2^31 - 2147483392 = 256 = 2^8. Lots of round powers of two.

    • AwkwardLookMonkeyPuppetOP
      link
      English
      17 months ago

      Idk what your equation means, but it sounds like you know what you’re talking about.

      • @Frozengyro
        link
        English
        97 months ago

        Something caused the game to see your number of turns in paralysis to be less than 0. Computers often convert this to a large positive number, and that’s how you got the bug, maybe.

        • AwkwardLookMonkeyPuppetOP
          link
          English
          17 months ago

          I don’t even know what triggered it. There wasn’t anything that indicated I should get the paralysis condition.

      • @CrayonRosary
        link
        English
        3
        edit-2
        7 months ago

        Computers store integers as binary, and when the code in question doesn’t need to use negative numbers, a programmer might use a so-called “unsigned” integer. That is, it has no positive or negative sign. It’s just a number, like 10 or 7777. They are stored as ones and zeros, and the largest number an integer can store is based on how many binary digits it has.

        For instance, an 8-bit unsigned integer has… eight bits. So 00000000 is the number zero, and 11111111 is the number 255. So there are a total of 256 numbers you can express with an 8-bit unsigned integer: 0 through 255.

        Every string of binary ones in number is one less than a power 2. So the OC was noticing that your number is very near a power of two: 231 , minus another power of of two: 28 .

        Now, computers are both smart and dumb, and often don’t care what you do with numbers since it’s sometimes useful to do weird things with them. So if you take the 8-bit unsigned zero (00000000) and subtract 1 from it, you can’t get negative 1 because there is no such thing as -1 for such an unsigned binary number. Instead it “overflows” and loops around to 11111111, and now the value is 255. This is a very common bug (and exploit) in all sorts of games when yoy can trick the game into subtracting 1 from 0 and now you have 255 Diamong Rings or whatever.

        Now, your number is very close to 2,147,483,647, which is the maximum value for a signed 32-bit integer. In fact, your value is that number minus 256, which is a strange coincidence, since 256 is also a power of 2.

        How exactly a signed integer in the game achieved something near its maximum value is unclear. It’s not as simple as subtracting 1 from 0 because in a signed integer, that would simply be -1, but programming languages do have easy ways of accessing that number like long.MaxValue or something. (long is many programming language’s name for a 32-bit signed integer.) But why that was in the code at all or how that value got used for the effect is very odd.

        • AwkwardLookMonkeyPuppetOP
          link
          English
          27 months ago

          Haha, thanks for talking all the time to type that out. I’m a senior software engineer, and I know what a negative overflow bug is. I just meant I hadn’t done the math on his formula to know how it’s relevant to the number of paralysis turns. I suppose I could have been much more clear and saved you some time. But, you probably enjoyed typing that out and it’ll help someone else for sure. Cheers

          • @CrayonRosary
            link
            English
            3
            edit-2
            7 months ago

            LOL! 😂

            Yeah, it’s all good. Maybe someone will benefit from that.

  • @PM_ME_SNEKS_IN_HATS
    link
    English
    15
    edit-2
    7 months ago

    According to google 214-748 is the start of real phone numbers in Dallas TX. Unfortunately when you call 214-748-3392 is says it’s been disconnected. This is probably for the best, because I didn’t really think through explaining to a person why I called them from 1000 miles away because their phone number was the number of turns someone was stuck in paralysis in a video game I’ve never played that I saw a screenshot of on the internet.

      • @PM_ME_SNEKS_IN_HATS
        link
        English
        3
        edit-2
        7 months ago

        Not really a big fan of rogue likes but I’ll give it shot, being free and all.

        • AwkwardLookMonkeyPuppetOP
          link
          English
          1
          edit-2
          7 months ago

          It’s the coolest mobile game I’ve played since FTL, and FTL is only available on a tablet. Try Shattered Pixel Dungeon, not Experienced Pixel Dungeon. Shattered is kind of the vanilla experience and the most polished.

  • @GrymEdm
    link
    English
    10
    edit-2
    7 months ago

    Assuming a round to be equal to 6 seconds of real time (the Dungeons and Dragons assumption), that’s about 408 years of paralysis which will probably hinder one’s adventuring career.

    • @MrRedstoner
      link
      English
      57 months ago

      An interesting question, though I’d point out that the squares seem to be roughly character-height in size, and DnD characters walk noticeably faster than that

    • AwkwardLookMonkeyPuppetOP
      link
      English
      27 months ago

      It ended this particular adventurer’s career, along with his life. That still took some time since his defense value was rather high and warlocks didn’t have a ranged shot on him since he was already swarmed.