• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.
i0Bjhansen0
Reaction score
5

Profile posts Latest activity Postings About

  • It's doing that because I was stupid and accidentally made the Dark Check branch to itself.

    So it technically wasn't hard crashing, it was just doing the same thing over and over and soft locking it.

    Either way I fixed it so that it branches to the next check. I updated the previous post.
    Okay, so I figured out something pretty big. The routine that you used and then modified seems to have been an earlier version or something, because the StoreType piece of it uses different registers than the working versions I used.

    Yours uses r9 and mine uses r10. There's also other discrepancies but I won't go into them.

    I just copied your extended abilities into the working version of the Aerilate routine. This should work, so just assemble this instead of the old one and hopefully it'll work.

    Spoiler:
    What program are you using to patch? My ups patcher doesn't have ignore or ask options.

    I thought to ask which version you had because it might explain why the Store Type part isn't working even on a clean ROM.
    I got an invalid checksum when I tried to patch it. Which version of Fire Red did you use? (I'm assuming 1.0 but I could be wrong)
    Maybe? You didn't change it when you expanded the routine, so maybe something else you added messed with it? If I had a patch of your ROM I could see for myself. Might be easier to have another brain looking at it.
    I tested the original routine (not the modified one you had) and the ability buffer works like it should.

    All you did in the expanded routine was add more ability checks, so I doubt it's that. Maybe it's the special split? You said it wasn't Doesnt's, do you know whose it was? Maybe they changed different bytes.
    Okay, that's all right. It's kind of overwhelming at first. I'm going to test it today and see what's up with it. Mind sending me a patch of your ROM so I can see if it's different?
    You have a couple options. The first is to ask Mr.DollSteak himself, since it is his routine and would know more about it than me. Your other option is to use some sort of debugging tool (I personally use No$GBA's Debug Version) and set a breakpoint at 0x3ED7A (where the routine hooks off of). Then go into a battle, use a Normal Type move, and then follow where 3ED7A branches to (which should be where you inserted the routine). The first three lines are what is important. Pay attention to what values should be in which registers (the r0 and r1 in the routine). My guess is that there is something wrong with that.

    Now, the second one is obviously a lot more work, but it should get you somewhere. I'll have to test it sometime tomorrow and see if I can find anything. That way we'll know if it's the routine itself or if something you added earlier is changing it.
    What exactly did you do when you inserted the -Ate Ability routine? I don't know exactly what to do with the buffer part but I can try to help you figure it out.
    yes.
    check my syntax
    when loading an address using ldr or a variant (ldrb, ldrh, etc), it should be "=(0x2[address])" instead of whatever it is. if that doesn't work, i'll try a few things later today when on comp
    hi amigo, on 2ds
    if there is anything mentioning .thumb on the very top, delete it. .thumb, .thumb_func, whatever. then try compiling <3
    oh btw
    i just was told that we are going to go on vacation until friday to see family
    so i'm kinda surprised
    but the reason i'm telling is because, well, i won't have wi-fi until then. i might (likely won't) have a phone to access pokecommunity via data, but either way, will be largely unable to help you beginning at around 1:00 pm (15 hours from now) tomorrow? idk
    i have church from 9 am-12 pm (11 hours from now is its start), so i'm going to pretty much be gone in about 11 hours. i plan on sleeping for some of them, and won't have access to a computer in about an hour nonetheless...
    ok so what we can do is attempt to piece something together
    i found a nice breakpoint at 3F04E (specifically, 3F05C). what the function does is check for hustle and then apply hustle's boost. what we can do is branch it off, and then apply hustle's boost in our own little thing, which should be simple enough. (i already have hustle's boost tracked down in an asm snippet, so no worries)
    it was also used by mrdollsteak to implement sniper, technician, defeatist, and slow start, and is located in the middle of the move_damage_calc function. i can not find the references to overgrow/blaze/torrent within the battle scripts, which kinda sucks ahaha...

    btw do you know if we can use something like battle script pro to code the abilities? that would make like everything 999999999x easier. i'm assuming we can't because no one has, but yeah...
    i understand that some abilities would be handled by certain moves, but not this type, ahaha...
    if we wanted to do this in the worst way possible, we could just go to every move effect and add in a check for if hp is below 33%, and then branch off to a routine which checked for ability and then checked type and FINALLY modified the desired output by using tlachti's damage modifiers or something
    this would work but would be um not as nice as, say, being able to do this asm
    my point being, it decides the INDEX of each ability. i said that the names were the abilities themselves, just not the "technical part of it."

    and yes, that is fairly close to what i said. so, here's what the confusing part is: i can not find the reference to overgrow/blaze/torrent in the ROM like at all. not to mention, it's not a single script, and is instead multiple. the check for sand veil occurs within the setweather script. a lot of them are located in the same script, i will grant you that, though. so we would want to be able to branch off from the damage calc (or maybe even create our own with the branch inside or something, that'd be nice), and then check for the abilities. if we were to find the branch off to the original abilities and then switch it to a jumptable of sorts based off of the hp, we could activate a theoretical powerup ability for each type inside this jumptable and afterwords.

    i guess i'll continue looking? except now i'll look for it around the game referencing the ability byte (located in the RAM) instead of simply to the ability itself.
    yes, it has nothing to do with making abilities except for about everything
    see, the names of the abilities are the abilities themselves, just not the technical part of it
    what the game checks for is the presence of an ability somewhere in the battle engine. it then branches off to the ability's asm routine, where it is then handled.

    so, we can use the breakpoint for moody (or something like that) and attempt to create our own. if moody is activated at the end of every turn, we can make a check for if your hp is below a certain point and then have it go to a jumptable that checks for each ability, possibly letting us insert a new "powerup ability" of each type!
  • Loading…
  • Loading…
  • Loading…
Back
Top