Announcement

Collapse
No announcement yet.

PSX - Suikoden II (U)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • PSX - Suikoden II (U)

    Re-posting a bunch of stuff from another forum, so it doesn't become lost to hackers and such.

    Experience Multiplier
    D002E3D4 F809
    8002E3D6 2402
    D002E3D4 F809
    8002E3D4 000?


    The values increase in powers of two.
    1 - 2x
    2 - 4x
    3 - 8x
    4 - 16x
    etc.

    As an interesting side note, Fortune Runes were designed to stack in this game for some reason. I think you can only get one of them, and I don't recall if it's a head-only rune or something like that, so it's probably a moot point. In any case, at a very high level the ? in this code is the number of Fortune Runes your character appears to be wearing with the code on. It doesn't actually change your runes or anything; the game just counts up the Fortune Runes your character is wearing as part of the experience calculation, and the code simply replaces the actual counting with the specified value.

    Oh, and Prosperity Runes would stack as well.

    While I was searching for this, I made another code I hadn't really planned to.

    Characters Have 999 Max HP
    80073ED4 270F
    80073ED6 2484


    Sort of unnecessary. I was just trying to rule out a particular routine, and the end result was a somewhat curious effect. As characters are evaluated their maximum HP is set to 999 (after a fashion). It probably affects enemies as well, so I'd turn it off if you're about to fight something that can heal itself. For the most part it doesn't hurt, since it has no effect on current HP. Probably not too useful, but it might help another hacker find something he's looking for.

    Preface for Drop Codes
    In this game, you can only ever get one drop per battle. Each enemy can have up to three drops that are evaluated simultaneously. Each one is assigned some range of numbers that will trigger it, commensurate with its probability. If you hit the range for a particular drop, that's what you get. Each enemy is evaluated as it is killed. So if you want a particular enemy's drops, kill it first.

    Enemies Always Drop #?
    D002E09A 1040
    8002E152 1000
    D002E09A 1040
    8002E154 00??


    96 - First Drop item
    98 - Second
    9A - Third

    If the enemy doesn't have a drop in the position selected, you get nothing.

    Edit: I can't submit the 100% random drop code. Every time it's in the post, I get the CGI error. I can't see anything about the text that would cause problems, aside from being about 20 lines of 13-15 characters each, depending on how you count.

    Encounter Chimeras in Tenzan Pass
    D01363EC 6328
    801363D8 637C
    D01363EC 6328
    801363E0 6398
    D01363EC 6328
    801363EC 63B4


    This is a normally inaccessible enemy. I was surprised to find that it's fully defined. That is, it has sprites, stats, attacks, and every bit of data necessary for it to be used during gameplay. Not only that, but the data is actually loaded when you reach the area, so I can't see any reason why this thing isn't available. (I know the sprite is a reuse, but I was a little concerned it would reference a non-existent palette.) Even more mystifying is the fact that the Tenzan Chimera is in three of the nine enemy party formations in Tenzan Pass. The only reason you can't fight it is that the table of active encounters (10 of them) has no references to it, and instead has four duplicate references to formations made up of only the familiar Minotaur and Magus that haunt the area.

    It's a simple matter to restore the Chimera to its proper place, by inserting its formations into the table. Then you can hunt it to your heart's content. They drop a Cyclone orb with a probability of about 1/127. As I understand it, the Cyclone rune is one-of-a-kind otherwise. To me, that gives this a bit of value, for the simple fact that it's not exactly cheating to restore something the programmers put into the game. So this gives purists a method for farming the only rune of this sort that was inexplicably made unique.


    Recruited Characters Join at Level ??
    800726CC 00??
    800726CE 3412


    Fix Recruit at 99 Bug
    D00A236C CF89
    800A237E 83A2
    D00A236C CF89
    800A238A 83A2


    There is a bug where Stars of Destiny that typically join at a level based on the Hero's, or some other party member's, level will join at level 99. Most of them are Hero's Level + 5, but one is +10 and another -10, I think. Long story short, the bug is that one game routine stores the hero's level as a byte value at pointer to the calling routine's stack, but the recruit code (calling routine) loads it as 32-bit word. The upper three bytes are just whatever garbage the last routine that used the space left behind. This modifies the recruitment procedure to treat the level value it gets back as a byte/char rather than a word/int. I think it'll work for every recruit, but it may miss some things. If there are characters that use other scripts and differently located procedures, they may still be subject to the bug. You can do this a bit more "scorched earth" by modifying the routine that actually stores the byte value, but I've seen it called where they handed it half-word alignment, so you can't simply change it to store a word, and there's no guarantee that a routine somewhere won't be using every byte of stack space it allocated to hold values.

    Editing the rest in, bit-by-bit. I keep getting a CGI error when I submit the full text.
    Last edited by Pyriel; 07-02-2011, 05:35:50 PM.

  • #2
    Looks like the CGI error went away, so here's the rest.

    Enemies Always Drop (Random)
    D002E124 F809
    8002E12C 0012
    D002E124 F809
    8002E12E 93A4
    D002E124 F809
    8002E130 0002
    D002E124 F809
    8002E132 1080
    D002E124 F809
    8002E134 0001
    D002E124 F809
    8002E136 2403
    D002E124 F809
    8002E138 1821
    D002E124 F809
    8002E13A 0004
    D002E124 F809
    8002E13C 001B
    D002E124 F809
    8002E13E 0043
    D002E124 F809
    8002E148 1810
    D002E124 F809
    8002E14A 0000


    The chances of a drop are 100%. The frequency of items received is down to their individual drop probabilities.

    Annallee Sings When Recruited
    300ECFE7 0001

    Annallee is supposed to sing a special cut of Orrizante when recruited. This fixes the song's address data so she doesn't just move her mouth with no sound.

    War Theme #1 Plays
    300ECFB7 0001

    Same as above. This song was supposed to play outside Muse and the Mercenary Fortress early on, and several places later.

    Fix War Song 3 (Decisive Battle)
    300ECFAB 0001

    This was supposed to play during one or two battles, like the first Matilda raid.

    Fix Chant (Final Duel Song)
    300ECFFF 0001

    This should have played behind a cut-scene, during the final duel in the best ending.

    Castle Armory Sells All Armor
    D01195BC 9540
    8010E3AC 0057
    D01195BC 9540
    8010E3AE 3410
    D01195BC 9540
    8010E3DC 2021
    D01195BC 9540
    8010E3DE 0009
    D01195BC 9540
    8010E39C 015C
    D01195BC 9540
    8010E39E 3405
    D01195BC 9540
    8010E3CC 0001
    D01195BC 9540
    8010E3CE 3404


    Lessened Encounters (Champion Rune Effect)
    80093C18 0001

    No Random Encounters
    80093C18 0001
    80093C2A 1000


    Badeaux Appears On Castle Grounds
    D015E4AA FF04
    8015F708 F248


    This is a less obvious bug. Badeaux should be standing near the pond, behind your library after you recruit him. Konami made two copies of a script and used the borked one that doesn't actually place him on the map.

    Fix Kindness Rune Bug
    80088974 1821
    80088976 0240


    You may not like this one. Every character has an invisible Kindness Rating. It can famously underrun if you let a character stay dead in enough battles, and then equipping the rune will cause their Attack to max at 999. The rune is supposed to give a maximum bonus of 127, and when a character's rating goes below zero, it should inflict a penalty up to -128. This prevents the max error and restores the penalty.

    Fix 4th Sheep Bug
    D0167A9E 3007
    30167AA9 0040
    D0167A9E 3007
    3016771D 0040


    Forces the last lamb in Unicorn Woods to use a free bit in the status array, instead of sharing with the chest nearest the entrance. Allows you get both the chest and the lamb, rather than one or the other.

    Fix Recipe Bug 1 (25-40)
    D002DA20 FFC8
    8002DA34 FFE0
    D002DA20 FFC8
    8002DA82 0274
    D002DA20 FFC8
    8002DA9E 0243


    Fix Recipe Bug 2 (1-24)
    D002DA20 FFC8
    8002D998 FFD5
    D002DA20 FFC8
    8002D9E6 0274
    D002DA20 FFC8
    8002DA02 0242


    Together, the above codes fix the flag check for all recipes. This makes it possible to collect and hand-in all recipes normally, without having to store them until late in the game to avoid a bug.

    Fix Sound Set Flag Check
    D002D912 9283
    8002D910 06E5


    Fix Window Set Flag Check
    D002D8EE 9282
    8002D8EC 06E4


    The after-battle module gets almost every collectible check wrong. The above two codes force the game to actually check the right variable instead of random data. In most cases, this will prevent you from getting duplicate copies of Window and Sound Sets, but it will rarely prevent the bug from making it impossible to get them.

    The Plans are borked as well, but Konami checked the wrong variable, and then mucked up the relationship between the bit flags and item values. The fix is too long for a GameShark code.
    Last edited by Pyriel; 10-26-2012, 06:32:21 PM.

    Comment

    Working...
    X