Scene.Bin editing

  • Thread starter Thread starter mav
  • Start date Start date
Status
Not open for further replies.
Yeah, I changed his attack ID's and AI so he would use Fire. But the animation is still as Rifle attack. And now I know that info about which animation is used is not in 'Attack Data' section, because I did some brute copy&paste from other file, and there was no change at all.
 
As for drops/steals, you are correct to assume that a ratio over 0x80 is a steal.
If it is under 0x80, it is a drop.
If over, subtract 0x80 and you get the item that can be stolen in that slot.

After that, add 1 to the number and divide by 64.
This gives the actual percent chance of getting said item.

So for Guard Scorpion, we have 0x3F for Titan Bangle.
It is under 0x80 so it is a drop.
The chance of it being dropped is (0x3F + 1) / 64, or 100%.


When dropping items at the end of a battle, Final Fantasy® VII will go in order through each drop, and each enemy has a chance to drop one of its items.
So, if an enemy has 4 drops, the game will go through each and for each it will calculate the chance of dropping that item.
If that item is dropped, it stops scanning that enemy’s drop list and moves on to the next enemy.

The reason I tell you this is because if you are going to play around with the drop lists for enemies, don’t put something at 100% drop rate with other items.
If you put it in front of other items, the other items will never drop, and if you put it behind other items, it will only drop if the items before it don’t.


As for animations, the animation that will be called per respective attack is listed starting at 0x38.
The following 16 bytes are the animation indexes for each respective animation.

It is a bad idea to edit these, in general, even if only for lack of reason.
Guard Scorpion doesn’t have an animation for casting Fire, and animations are more complex than just motions.
They trigger other events to occur and have some other special abilities as well.
For example, they cause damage print-outs to be shown.
Also, some actions cause other enemies in the area to perform actions as well.

Ruby WEAPON has two tentacles, but these tentacles have no attacks of their own.
Ruby WEAPON invokes the attacks and forces the tentacles into an animation.
If you change animations, be careful and test thouroughly.


L. Spiro
 
Wow.  Amazing progress in such a short time.

You were even able to fiddle with the attacks.  As for changing animations, I'm thinking some animations might be used for certain spells even if it's not the intended one.  Sure for Guard Scorpion using fire instead of rifle looks ridiculous but changing a magic for another would still leave a magic animation which could probably fit the bill no ?
 
Marcis: I think so.
The very problem with Guard Scorpion is that he doesn't have any magic animatino.
 
L.Spiro - your description isn't entirely correct, because if drop rate would be 00h then according to your formula the chance would be ((00h + 1) / 64) * 100% = 1.56%, which, of course isn't right :).
There's no need to add 1 to byte readed from file, just divide it by 63 and you have exact chance.

As for battle animations - I see your point. I dug into forums and found some info about battle animations. They are stored in ??da files in magic.lgp. If so, we can't edit the whole attack by only editing scene.bin file, we would also have to edit those files and this is too hard.

Right now I'm working on some tool that would help us edit battle script, so we can change enemy's attitude and basicly every action. It will take some time though.
 
Wow, an A.I. Editor? That would be mad.
I will be waiting for your kernel editor tool to edit materias, items and etc ;)
 
My description is entirely correct.

If an enemy had a drop-rate listed as 0x00, that item would have a 1.5625% chance of dropping.

Dividing by 63 is not correct.


Try putting the drop ratio for MP’s to Percent=[00 00 00 00] Items=[0000 0000 0000 0000] and see if it drops Potions (although it will be rare).
With your formula, it would not drop any.


Note that no enemy in the game actually has a 0x00 for a drop or 0x80 for a steal.
The lowest drop is 0x02 and the lowest steal is 0x88.
This isn’t particularly useful knowledge nor does it help make a point either way; just something to know.


L. Spiro
 
T.F. has something in his enemy/battle mechanics docs about this.

The formulas for winning and stealing are almost the same, EXCEPT that your characer's level and the enemies level are used as modifiers when stealing.  i'd copy/paste the whole thing, but it's long and i'm sure you've all taken his info into account anyway =/
 
Right now I'm working on some tool that would help us edit battle script, so we can change enemy's attitude and basicly every action. It will take some time though.
I hope you've been in touch with Terence about this, as he has pretty much decoded all of the battle script (AI), and even "decompiled" it into human-readable strategy listings. I haven't heard from him about that for a while though. While he may not have a complete reference document ready, he surely has extensive knowledge of how the script works. I don't believe it was very pretty, though (for editing purposes, that is).
 
L. Spiro - My bad, I thought that 00h would be 0% chance, got it now.

Qhimm - Unfortunetly I don't have any contact with Terence. But I did some research on myself, and this thread helped me a lot. Right now I am able to dump any enemy's script and play with it, I'm still working on making it more programmer friendly and reinserting it to file.

Elentor - is there an editor to edit items and materia ?
 
Think i found a bug,
When editing scene92 -> Air Busters AP, scene93 -> Hedgehog Pie AP's changes as well.
Thats not right ? is it ? ^^
 
This is something I didn't test yet.. let me see.
Just checked it

Sui: It's a bug, but it's not what you're thinking it is. It's just the way the program handles with "null" values. It will shows the last value displayed instead of reseting it to "null"
for instance, try loading any other file, then load back file 93. You will see that it's the "new" hedhog pie AP. His AP didn't change actually, because his AP is null, but since it's null, it displays the last AP loaded, which happened to be Air Buster's.

This happens with every single variable in the program. It would be nice if M4V3R could fix it.

Well, anyway

I found a real bug. The program isn't loading Jenova Birth status at File123. Can you fix it? :)

Cheers
 
Great :D
Might I know what was causing the bug that didn't allow loading Jenova values?
 
Look at history file :). It's the same thing that caused some values to not reset.
 
I have a major bug to report.

It seems that the program is only loading "common" items, like Potion, Hi-Potion, Phoenix Down, Ether etc.
Other items like weapons, armor and nuts aren't loading.

At first I thought this was a null problem. It isn't. When you load someone that drops a Lasan Nut, for example, and then save, he is saved as if he drops a Potion.

Can you fix it? It's quite a mess, because I have to fix tons of enemies because of this already :(

Cheers
 
Hey Elentor,
sorry for keeping you waiting, I was reinstalling system on my machine and couldn't do anything in past few days.

Scene Edit - New version released

Version: 1.2.4
Changes:
- added: Script Editor button, in some future you'll see why :)
- added: possibility to change if item is won after the battle or can be stealed (by clicking on label next to Item name)
- fixed: null values bug (thanks to Sui and Elentor for discovering)
- fixed: bug in item writing (it was done in the old way, while item reading was rewritten)
- fixed: some enemies with level 0 wouldn't show up in enemy list

Link: Scene Edit v1.2.4

Sorry for an extra work that my program caused to you, I'll try to be more careful in the future :).
 
Forgive my intrusion and perhaps the silly question: can one edit how succesfull the stealing rate is ? I have always found this extremely frustrating and, if possible, I'd make the chances higher by default. Sorry if this request is stupid or simply posted in the wrong topic. Thanks for all you guys are doing for FF7 fans like me!  :love:
 
Status
Not open for further replies.
Back
Top