Razele the up and coming hacker, on IRC is finding some things which had been long unknown to us! In but in a couple of minutes he was able to locate all of his equipment! This is mainly for you, Vincent so you can actually start Ramza with a Bow, hehe.
Quote[01:12] <razele> Block : 0x4F129-0x4F12E
[01:12] <razele> SCUS_942.21
[01:12] <razele> Head : 0x4F129 0x9D Leather Hat Changed to 9C Grand Helm
[01:12] <razele> Armor : 0x4F12A 0xBA Clothes Changed to B9 Maximillian
[01:12] <razele> Accessory : 0x4F12B 0xD0 Battle Boots Changed to EB Vanish Mantle
[01:12] <razele> Weapon : 0x4F12C 0x13 Broad Sword Changed to 25 Chaos Blade
[01:12] <razele> Shield : 0x4F12E 0xFF <Nothing> Changed to 8F Escutcheon II
Quote<razele> [AI Ignore Transparent] BATTLE.BIN offset : 0x12FD60 change 0x10 to 0x00
Very interesting indeed... now the follow-up question would be, what *else* is near that data that may be of similar use? You know, like *ALL* his other starting stats!

Seriously though... frustrating that even when I go to the event where his Brave/Faith are (supposedly) set to 70 each, changing those values (or pretty much anything else) does nothing at all, as if the game was originally meant to pull those values, but then they just hard-coded them in instead. I'm hoping those other values are in that same area of memory.
This is good stuff. Keep up the good work.
You want it? You got it! Razele has all but decoded Ramza!
Quote[01:12]
[01:12] <razele> Pre-RawStatPA = 96662 / 16384
[01:12] <razele> Pre-RawStatPA = 5.8997802734375
[01:12] <razele> As you can see, you have to put 0x05 or 0x06 as Pre-RawPA
[01:12] <razele> this is dillematic, since 05 as Pre-RawPA will lead his RawPA to 81920 (compare to Normal Level 10 Ramza get 96662)
[01:12] <razele> and 06 as Pre-RawPA will lead his RawPA to 98304 (compare to Normal Level 10 Ramza get 96662)
[01:12] <razele> so if you set it as 05, Ramza get nerf about 14742 RawPA, if you set it as 06 Ramza will get 1642 bonus RawPA.
[01:12] <razele> in the long run, there's not really problem. He just get 1 level bonus, since he get 1642 free RawPA.
[01:12] <razele> One more last thing, the game copied Ramza's stat when you give him a name. So, in order to use Pre-RawStat, you have to start a new game.
<razele> Brave & Faith : 0x5a114
[01:12] <razele> Level : 0x5a18c
[01:12] <razele> Min Pre-Raw HP : 0x5e924
[01:12] <razele> Min Pre-Raw MP : 0x5e925
[01:12] <razele> Pre-Raw Sp : 0x5e926
[01:12] <razele> Pre-Raw PA : 0x5e927
[01:12] <razele> Pre-Raw MA : 0x5e928
[01:12] <razele> Head : 0x5E929 0x9D Leather Hat Changed to 9C Grand Helm
[01:12] <razele> Armor : 0x5E92A 0xBA Clothes Changed to B9 Maximillian
[01:12] <razele> Accessory : 0x5E92B 0xD0 Battle Boots Changed to EB Vanish Mantle
[01:12] <razele> Weapon : 0x5E92C 0x13 Broad Sword Changed to 25 Chaos Blade
[01:12] <razele> Level 10 Ramza
[01:12] <razele> RawHP = 860160 - 917497 Pre-RawHP = 52.500 [0x34-0x35]
[01:12] <razele> RawMP = 401402 - 430070 Pre-RawHP = 24.500 [0x18-0x19]
[01:12] <razele> RawPA = 96662 Pre-RawPA = 5.900 [0x05-0x06]
[01:12] <razele> RawMA = 77569 Pre-RawMA = 4.734 [0x04-0x05]
[01:12] <razele> RawSP = 107520 Pre-RawSP = 6.563 [0x06-0x07]
*Now* I'm definitely starting to feel impressed...
hmm... to many numbers, that is make me confuse.
What we've all been waiting for, for quite some time!
<razele> [AI Ignore Transparent] BATTLE.BIN offset : 0x12FD60 change 0x10 to 0x00
So wait what will that last one do?
it is basically a special effect if you use that Cheetah.
(perfect for me, for ghosts and stuff)
Wait, that won't actually change the way Transparent works,right? From the description it just means that the AI will no longer pretend that it can't see the trans'ed-unit and keep treating it like a normal unit, right? ^_^
That is correct. Transparent will still have it's effect of a guaranteed 100% hit.
Would that actually make the Transparent usable for the AI, though? I thought the crux with that was that Transparent didn't Ignore Attacks like it's supposed to.
And isn't the computer not seeing Transparent the only thing that makes it useful outside of the one-shot Concentrate?
...I'm confused.
Well depends on one's patch, since Concentrate is gone in Mercenaries, that works perfectly fine.
the only thing thats changed is that the AI can still see you while transparent, and they WILL attack you.
I am using it for the ghost jobs in my patch as a visual effect. but theres no access to the status otherwise.
this all points to them having programmed Transparent in a really lazy manner. If I were to check the ignore attacks check box it would sort of work right-ish. But It would still need to NOT ignore magic attacks. ^_^
k so this
formula 2E-Fix
0x120A2C to FE
0x1209EE to 02
hits monsters too. but it still misses unequipped humans.
I'm still don't understand about HEX!
I don't understand... why should those addresses change allow striking monsters (who aren't equipped with anything), but not unequipped humans? I would've thought that both situations would be controlled by the same variable(s). Is there possibly a way to change them in such a way to allow unequipped humans to be struck (as in, would it be worth my time to try different things with it?). Or did you already try all possible values in those addresses?
And out of curiosity, what are those addresses actually for (individually)? Are they both simply within the 2E formula addresses itself?
@LD: Since you edited in the Transparent thing to the first post, why don't you just edit *everything* he finds into the first post (while still posting an update to the thread to call attention to it). Especially if he keeps finding more things, it'll become more and more difficult searching through the thread to find it all (unless/until Melonhead adds it to FFTPatcher).
razele said that one was for monsters and the other humans? or something like that...
Can't be that, otherwise changing both of them would actually have an effect on humans instead of just monsters. I'm more curious of why it takes two completely different addresses being changed for it to have exactly one effect (since all it seems to be doing is taking off the "target doesn't qualify actually being affected by this ability" setting.
hmm he said the game was constantly checking for gender with that skill somehow. weird huh
You mean like... he "watched" the AI access the gender address every time the skill was used? Did he check to see if it does that with other skills, or if modifying those two memory locations has any effect on that? Sort-of funny either way... lol.
Did the enemy have any charming skills learned that might have caused it to check that?
And... I suppose with no answer to my prior question, nobody knows if those values could be changed to allow it to hit unequipped humans? I guess I'll just test it out myself then... lol.
Edit: Can't get it to work. Changed it into a Gameshark code (by replacing "0x" with "80", since it's just a straight, single write to those memory locations), and put it in, but the moves still aren't willing to strike the enemy in any way (they get guarded). Is there something else that needs to be done?
Edit: Gah... still can't get the code to work (I don't want to test it by changing it directly, as that would take quite a bit more time). I'm gonna take a break from all this for now and see if anybody else comes up with some ideas on things... lol.
Interesting question... but keep in mind, Humans and Monsters have two different "nothings" equipped. Human's have None, generally, while Monster's default "equipment" is called Nothing , that could be the reason.
aha, well thats important info to give to razele.
btw is it possible to change this "nothing" the monsters are equipped with to the other one? or vice versa?
Hey Zozma, I can't Compile TEST.evt. can you help me ?
algus. people will answer your questions, but you need to read the title of forum topics before you post! you nearly have 100 posts already just asking questions and saying "cool!" "wow" "how do i do that?" in seemingly random places. this is an ASM section which has nothing to do with the event compiler/decompiler.
I'm sorry Zozma, I don't read the title. sorry...
Algus we don't have anything against you (Teta killing prick) but your questions don't have a lot of rhyme or reason to them.
Well that makes one wonder... When the game does the check for if equipment is equipped in the slot that's being threatened, what *exactly* is it looking for? Is it simply checking to see if "None" is equipped or not (maybe something as simple as "if (itemType (x) == NONE) noEffect ()"? I would think like that, because under the Item Type list in the editor, there is an entry called "None" which normally belongs to usable items like Potions and Eye Drops. Maybe that item type is also used for the "None" slot in empty slots? Anybody ever try equipping a potion to a slot and seeing if it could be broken by the appropriate sword skill?
Or do you think maybe it specifically looks for the "None" item itself (knowing the programmers, that less robust approach seems to be more likely... lol)?
Either way, it sounds like something that could be changed. If nothing else, we could dummy out an equippable item and make it the new "None" (make its enemy level 0 and tick all 5 equipment boxes in the item type box). Or maybe change the "None" non-existant item to have all 5 bytes ticked. I'm thinking I'll be experimenting with this when I get up later. Can't believe I didn't think of any of that sooner...
k heres the full thing
Formula 2E never misses (damage) due to lack of equipment in the required slot or due to being a monster.
<razele> Fix 1 : EQ check 1 0x120A2C change from 0xFF to 0xFE
<razele> Fix 2 : EQ check 2 0x120A8C change from 0xFF to 0xFE
<razele> Fix 3 : For Monster 0x1209ee change from 0x42 to 0x02
Very nice indeed. It'll be even better once it's added to the editor so everybody can use it, but I think I'll go right ahead and change this right away. Are those values static, or do I have to worry about the game changing them at some point? I'd imagine it would be static, but I figured I'd ask anyway, just in case.
I'm still gonna play around with the idea though, since I may be able to make use of it in my patch. Glad to have this though...
Never got an answer to my earlier question though. Is this a change in the formula itself, or something changed a little lower in the code (as in, something for *all* functions that call for breaking armor)?
its a change to the specific formula as far as i know. hopefully it doesnt affect anything else but formula 2E or wed have a problem.
and static, those 3 changes should be it
Sweet. So now the formula would be " 2E Equipped:Break Dmg(PA*WP) NS " ?
yeah, i havent tested if it bypasses "maintinance" now tho but it shouldnt...
<razele> SCUS_942.21
<razele> 0x4CE68 - 0x4CE68 change 0xFD to 0xFE
<razele> 0x4CE6C - 0x4CE6C change 0x02 to 0x04
"requires sword" check includes: Sword, Knight Sword, Katana, Ninja Sword
Oh... that means I might not have to kill Swords!!
Double Post, live long blades!
Requires Sword - Requires KnightSword.
<razele> SCUS_942.21
<razele> 0x4CE68 - 0x4CE68 change 0xFD to 0xFC
<razele> 0x4CE6C - 0x4CE6C change 0x02 to 0x01
So... could this possibly be modified to allow any single or combination of weapons to qualify for "Requires Sword"?
Basically, it should.
Only thing lacking from Razele's discoveries is a little more documentation. A lot of these "single-effect" changes affect more than one memory address... it'd be nice to know what these memory addresses are actually for so that people can customize without trial-and-error.
Don't get me wrong... I very much appreciate the discoveries and work put into making them. Just that making a discovery and giving, basically, an example of how to change it, really isn't so useful since instead of being given the knowledge to customize it as you please, you're basically just being given a second option.
If I tried to make a guess, the only thing I can see from this latest discovery is that the second address *seems* to modify how many different weapon types are included in the check (originally Sword and Knight Sword with 0x02, with Sword, Knight Sword, Katana, and Ninja Sword it becomes 0x04, and with just Knight Sword it becomes 0x01). Is that just a coincidence?
Took a second look, and if that first guess is correct, I could almost make a guess for the other address if the list of item types is labeled backwards (the first actual type on the list is Knife, which would be 0xFF). In that case, the other address would hold the starting point on the item type list, and from there, it'd use however many item types the other address specifies to qualify.
- A Sword would be 0xFD and a Knight Sword would be 0xFC (and 0xFD is what's used for when Sword and Knight Sword are valid types). The other address is 0x02... so 0xFD, 0xFC).
- A Ninja Blade is 0xFE, and a Katana is 0xFB (and 0xFE is what's used for when Ninja Blade, Sword, Knight Sword, and Katana are valid types). The other address is 0x04... so 0xFE, 0xFD, 0xFC, 0xFB).
- And when only a Knight Sword is the valid type, the other address is 0x01, so only 0xFC is used.
Seems to fit the pattern properly... only problem I see is that I can't imagine it being coded like that in the first place.
The first thing you need to remember when dealing with game programming is that everything you learned elsewhere has now become unconventional. You're in a completely different universe now. ^_^
Anywho... Thanks for breaking that down. I was wondering how it all fit together.
Now that we know where the routine for this is we can try to hack it so we can give skills specific weapons they can be used with. ^_^
Not that I've yet started with hacking things--I just found out yesterday how to get a hold of everything (thanks, LastingDawn)--and thus I shouldn't have an opinion on this, but doesn't the lastest hack just change the Requires Sword box in the Ability Instruction Box?
I'm asking this because what you're saying Vanya makes it sound like it would be possible to attach to actual skills (or their slots) without having to check that box off.
I may be mistaken, though.
can make weapon specific skills yes, but there is still currently only one available check for this... and so thats why i asked razele to make it allow all sword type weapons to use sword skills (sword, katana, ninja edge, knight sword)
but as you see ld had one so that sword skills only work for knight swords.
zodiac had mentioned adding in some more in blank spots but it appears its more complicated than he first had thought? or something
It would still require the box to be checked, but it can be modified to take the values from a new table and process them bit-wise to allow any combination of weapon types for any given skill. Its just a matter of finding some free space to expand the code.
That's how I made the Stage Select Screen in Mega Man 5 display the boss names in a specific location. Well, it was a little more complicated than that, but its the same basic procedure.
^_^
id love to have bow/crossbow only skills and Axe skills without destroying any other slots. just added in...
Indeed! It would make it easier to create VS style Break Arts, too! ^_^
Speaking of weapon tables, did anyone ever figure out what the Second Table in the Items Tab of FFTPatcher is for?
Not a clue! Have you messed with it ever?
No, I haven't. I haven't messed around with Items that much as is, more Item Attributes. When I've messed around with Items, it's more been graphics or stats.
I'm pretty sure it doesn't affect the Boolean or what works out with Draw Out since I think that's the first table, but I may be incorrect.
I'll include those in my examination of unknowns.
Someone once said that those are how the game lists them in your menu from top to bottom, I can't recall the proof or not... of if I'm not making this up, but I'm pretty sure whoever it was said something along those lines.
I had actually thought the same thing. However, taking a look at one of my later saves, the game simply seems to list them in the order you got them, with the oldest item being at the bottom of the list. I can't find any way of sorting them, and in the use Item command menu, it simply lists them in the order that they're in for the Chemist abilities list. I almost thought for a moment it might be a priority list, but there's no need for priorities for usable items.
Yeah, have only been looking at usable items, because unlike the other lists, there is that Elixir that is out of order, so it seemed the easiest one to analyze.
@Vanya: Well, it's more like... take all that I learned to make clean, robust programs, and realize that game programmers will instead use the quickest, easiest method to do what they want, regardless of how buggy or unconventional it may be... XD
Items can be sorted to various criteria when you view your inventory in the formation screen.
Press triangle to bring up the sub-manu.
Press X on 'Item'.
Move down and press X on 'List'.
Now you're in the actual inventory.
Press X twice on any item to bring up another sub-menu.
The third option on this menu is 'Order'. (It'll be 'Sort' in my hack)
Press X on 'Order' to bring up a list of criteria to sort your items by.
There are different criteria for each category of items.
^_^
Clean & Robust -> Quick & Easy
That's the gist of it! ^_^
Quote from: "LastingDawn"You want it? You got it! Razele has all but decoded Ramza!
Quote[01:12]
[01:12] <razele> Pre-RawStatPA = 96662 / 16384
[01:12] <razele> Pre-RawStatPA = 5.8997802734375
[01:12] <razele> As you can see, you have to put 0x05 or 0x06 as Pre-RawPA
[01:12] <razele> this is dillematic, since 05 as Pre-RawPA will lead his RawPA to 81920 (compare to Normal Level 10 Ramza get 96662)
[01:12] <razele> and 06 as Pre-RawPA will lead his RawPA to 98304 (compare to Normal Level 10 Ramza get 96662)
[01:12] <razele> so if you set it as 05, Ramza get nerf about 14742 RawPA, if you set it as 06 Ramza will get 1642 bonus RawPA.
[01:12] <razele> in the long run, there's not really problem. He just get 1 level bonus, since he get 1642 free RawPA.
[01:12] <razele> One more last thing, the game copied Ramza's stat when you give him a name. So, in order to use Pre-RawStat, you have to start a new game.
<razele> Brave & Faith : 0x5a114
[01:12] <razele> Level : 0x5a18c
[01:12] <razele> Min Pre-Raw HP : 0x5e924
[01:12] <razele> Min Pre-Raw MP : 0x5e925
[01:12] <razele> Pre-Raw Sp : 0x5e926
[01:12] <razele> Pre-Raw PA : 0x5e927
[01:12] <razele> Pre-Raw MA : 0x5e928
[01:12] <razele> Head : 0x5E929 0x9D Leather Hat Changed to 9C Grand Helm
[01:12] <razele> Armor : 0x5E92A 0xBA Clothes Changed to B9 Maximillian
[01:12] <razele> Accessory : 0x5E92B 0xD0 Battle Boots Changed to EB Vanish Mantle
[01:12] <razele> Weapon : 0x5E92C 0x13 Broad Sword Changed to 25 Chaos Blade
[01:12] <razele> Level 10 Ramza
[01:12] <razele> RawHP = 860160 - 917497 Pre-RawHP = 52.500 [0x34-0x35]
[01:12] <razele> RawMP = 401402 - 430070 Pre-RawHP = 24.500 [0x18-0x19]
[01:12] <razele> RawPA = 96662 Pre-RawPA = 5.900 [0x05-0x06]
[01:12] <razele> RawMA = 77569 Pre-RawMA = 4.734 [0x04-0x05]
[01:12] <razele> RawSP = 107520 Pre-RawSP = 6.563 [0x06-0x07]
What file is this information in? I want to poke around and see if I can find Ramza's byte for gender somewhere.
@Armony: Had you actually looked at the first post and the fact that it holds some of the information from the post *you* quoted...
Quote from: "LastingDawn"Razele the up and coming hacker, on IRC is finding some things which had been long unknown to us! In but in a couple of minutes he was able to locate all of his equipment! This is mainly for you, Vincent so you can actually start Ramza with a Bow, hehe.
Quote[01:12] <razele> Block : 0x4F129-0x4F12E
[01:12] <razele> SCUS_942.21
[01:12] <razele> Head : 0x4F129 0x9D Leather Hat Changed to 9C Grand Helm
[01:12] <razele> Armor : 0x4F12A 0xBA Clothes Changed to B9 Maximillian
[01:12] <razele> Accessory : 0x4F12B 0xD0 Battle Boots Changed to EB Vanish Mantle
[01:12] <razele> Weapon : 0x4F12C 0x13 Broad Sword Changed to 25 Chaos Blade
[01:12] <razele> Shield : 0x4F12E 0xFF <Nothing> Changed to 8F Escutcheon II
Quote<razele> [AI Ignore Transparent] BATTLE.BIN offset : 0x12FD60 change 0x10 to 0x00
It clearly shows that the particular information you're wondering about is in SCUS_942.21.
@Vanya: You know... I saw the option for sorting, and never figured out, despite all my playthroughs, how to sort the list. I always knew about going to the list and such, but I've never tried "double-clicking" on an item to see that sort option. Of course... I rarely use any items (the extent I go to using items is giving Auto-Potion to some of my characters, and selling all my regular potions for better ones... lol). Thanks for that. I will take another look right now.
No problem and remember, you can sort everything in your inventory including all equipment. ^_^
Yeah, already tried that (damn you replied fast). Sorting my items, I couldn't really get it to *just* sort by Type (it seems to do sub-sorts too based on the order you do the sorts). But... Elixir *was* always at the end of the list (top or bottom) for regular items within that 0x00-0x0D range, so maybe there's something to it.
I'll have to try using something else (like swords), to see if I can see something in that.
Edit: Got bored trying to figure it out from defaults, so I swapped some second table values around, seeing if it would change the sort orders at all. Didn't seem to do anything though. I'll try making some more drastic changes to see if that does anything.
Edit 2: Very interesting... I changed around a few of the values, changed all swords, knight swords, and katanas to ninja blades, dropped all prices to 0, changed all weapon powers to 20, and made sure none of them were rare or had any additional attributes (never can be too careful). As soon as I did that and *then* started doing sorts, I noticed that the game began to get very confused about how to sort the items. I swapped a bunch of second table values, and I noticed that those items changed spots in the sort. It actually resulted in some odd order choices on the game's part, but changing that table *did* seem to make the sort work differently, so that's a good start.
@Gamesoul
I did read the first post. Problem is, SCUS_942.21 doesn't go out to address 0x5A114 or beyond, it stops at 0x56FFF. That leads me to believe it's in a different file, although I admit I'm new at this. I've also looked in several other files for those values at those addresses before I posted, including Battle.bin.
Also, I checked the bytes near Ramza's equipment in SCUS_942.21 and none of them contain even his brave and faith.
Alright then. Could've said that in the first place (sorry, but your post before sort-of sounded like a n00b question, no offense)... lol.
Since they're consecutive addresses, have you tried simply searching for the values a few at a time?
Edit: The good (but mostly bad) news is that I can't find those values either (unless there's a special case for Ramza where the programmers got lazy and pulled the Brave and Faith from the same address (since they're both 70... lol).
I wouldn't doubt it if the programmers got lazy in that respect. It saves a single byte of space. VERY valuable </sarcasm>
Anyway, I'm going to take the highest address from that set of information, figure out how many bytes that file would have to be minimum, and just search every file that's large enough to see if I can find a matching file. There shouldn't be TOO many files to go through (I hope).