Fire Emblem: Sanctuary of Strategy
 
*
Welcome, Guest. Please login or register. May 23, 2012, 03:47:28 PM


Login with username, password and session length


The Manual of FESS Prowess - This is mandatory reading for everyone!
Pages: [1]
  Print  
Author Topic: Need input on class project involving Fire Emblem 7.  (Read 1812 times)
Mizekel
*
Member #191


View Profile

Offline Offline

« on: October 23, 2008, 03:56:17 PM »

So I'm taking a programming course this year at college, and (as far as I know) the final project can be whatever I want. I was thinking of making some sort of tool you could use with Fire Emblem, that would calculate the outcome of battles, and possibly a few extras. However, first I want to get a general idea of the scope of this project (otherwise this would be in the Coding and Hacking forum). This tool will, initially, be built for Fire Emblem 7; although I'm sure the formula's for calculating attack speed, damage, etc., are common throughout the games, there are factors that change from game to game such as support conversation bonuses, class skills (which are almost entirely absent from FE7; one of the reasons I picked it over the others), and others I'm sure I haven't considered.

Which brings me to the reason behind this post. I want to brainstorm for ideas to put into this program. Right now, here's what I am thinking.
1) All of the FE7 characters will be pre-programmed into the system. However, there will be a way to input custom characters.
1a) Bosses, and other enemies (who do not undergo auto-level ups) may also be included.
2) Individual stats will need to be able to be modified, so you can change them as your characters level up.
2a)There may also be a RNG incorporated, so that level-ups can be generated in the program itself; really only useful for custom characters. This also means that stat growths need to be entered.
3) Hit %, Critical %, Damage Dealt, etc., all need to be calculated.
*3a.) The program will display the % chance of any given outcome for a battle. Now, for Assassin vs. Assassin, using Brave Swords, there would be a VAST amount of possible outcomes, so this is the tricky bit.
3b.) Speaking of Brave Swords, you should be able to select the weapons characters are using. Weapon Triangle bonuses will be automatically applied.
3c.) There will be a checkbox for misc. items that affect battle. For example, the Iron Rune.
3d.) Support Conversation bonuses should be automatically applied. They may also be dealt with with checkboxes.
*4) Portraits, obviously. For maximum aesthetics, they should have a frame like the status windows in the game, but you can change the picture and the name. However, failing that, all of the FE7 characters will have portraits programmed in, and the custom characters will use default class pictures.
5) Calculate average stats for characters at their level.

*These seem to be either too much work, or not entirely vital to functionality. Most likely to be omitted from the final product.

Those are all the possible forms of input/output I can think of. Feel free to suggest more, and I'll try to make it work. I'm using Visual Studio 2008 to code this, and I'm still kind of a nub so if it's beyond my skills I may omit it.

Now, as for the GUI. What do you think would work best? I was thinking, a drop-down menu to select characters (both attacker and defender, obviously). There would be a Save button, a Load button, and a Delete button; The save button would save modifications to the current character, the delete button deletes them, and the Load button would let you browse for a file where custom characters are saved (likely .txt). When a character is selected, it displays their stats, with Labels and Textboxes. There would be 3 textboxes for stats; Current, Increase, and Growth % (Obviously, growth % is omitted from Con, Move, and Aid). Clicking a button below this section would add the numbers in the Increase boxes to the numbers in the Current boxes. Clicking another button will simulate a level up; the stat gains will be placed in the Increase boxes, and then you press the previously mentioned button to confirm the level up. How should I handle support conversations? You need to be able to add/remove characters from the list of supports, edit their bonuses, and define their rank. Also need checkboxes for held items. And there should be a way to define whether the attack is ranged or not.

Does that cover everything? I'm not sure. The resources I've collected to far are just below, if I'm missing anything feel free to contribute.

Finally, when it's done, I'll post it up here for everybody to use, of course. After awhile, I'll also post up the code, and other people can modify it how they see fit (maybe even to incorporate other Fire Emblem games).

Current resources:
Code:
1  Attack speed:
2  Weapon Wt. > Con = Speed + (Con - Weapon Weight)
3  Weapon Wt. <= Con = Speed
4  
5  Hit rate = 2* Skill + 0.5* Luck - Target avoid + weapon hit rate + Bonuses
6  (+5% from S rank in weapon level and 0-25% depending on supports & 1-7% for tactician's bonus)
7  
8  Avoid = 2* attack speed + luck + bonuses (0-25% from supports, 0-40% from
9  different terrain, 1-7% for tactician's bonus and +10% if Set's Litany is in use)
10 
11 Damage = Power + Effective Weapon Might - Target Effective Defence + Bonuses
12 ( 0-5 Def from supports & +10 if Fillia's Might is in use)
13 
14 Effective weapon might = (Might + Weapon Triangle advantage)*2 if weapon is
15 effective against target
16 
17 Effective defence = Def/Res + Bonuses (0-5 Def supports, 0-2 from terrain &
18 +10 if Nini's Grace is in use)
19 
20 Rune Sword/Light Brand damage range 2 = Power/2 rounded up affecting resistance
21 
22 Rune Sword/Light Brand damage range 1 = Power affecting resistance
23 
24 Critical rate = Weapon critical + 0.5*skill - target critical evade + bonuses
25 (+5% if S in weapon, +15% for swordmasters/berserkers, 0-25% supports &
26 +10% if Thor's Ire is in use)
27 
28 Critical evade = Luck + Bonuses (0-25% supports, 1-7 from tactician rank)
29 
30 Staff accuracy = 30% + Power*5 + Skill - Enemy staff evade + bonuses (+5% from
31 S rank staff level, 0-25% supports)
32 
33 Staff evasion = Res*5 + Distance from target*2 + bonuses (0-25% supports)
34 
35 Effective weapons = double their normal might
36 
37 Aid =
38 CON - 1 for unmounted units
39 20 - CON for mounted females
40 25 - CON for mounted males
41 
42 Devil Axe
43 (31 - Luck)% = chance of self-injury
44 
45 *Need complete weapon stats
46 *Need support convo bonuses
47 *List of items that affect battle
48 *Need portraits?
« Last Edit: October 25, 2008, 07:38:55 AM by Mizekel » Logged
Pair of Ducks
They call me Doxy.

*
Member #217


View Profile

Offline Offline

« Reply #1 on: October 23, 2008, 04:45:13 PM »

*Hides Leftylink's battle calc :X*
Logged

Mizekel
*
Member #191


View Profile

Offline Offline

« Reply #2 on: October 23, 2008, 06:31:05 PM »

>.> Well it'll still make a good project. Unless people would prefer a NetHack helper instead?
Logged
Mekkah
*
Member #314


View Profile

Offline Offline

« Reply #3 on: October 23, 2008, 10:18:19 PM »

Quote
2a)There may also be a RNG incorporated, so that level-ups can be generated in the program itself; really only useful for custom characters. This also means that stat growths need to be entered.

I think it would be more helpful if we had access to their averages than if we could generate random Lyns. Also, you ever thought of putting enemies in there (L6 Brigand in HHM/other mode, w/e)?
Logged

VincentASM is too important to have a messed up name



*
Member #100


View Profile WWW

Offline Offline

« Reply #4 on: October 24, 2008, 05:08:41 AM »

Tactician bonus actually goes up to +10, but you can only reach +7 without hacking.

Also, where's the Devil Axe formula from? It's definitely at least slightly wrong, because once you have 31 Luck (in FE7 and 8) to become immune from its effect. Whereas, it looks like you only need 16 Luck in your formula.

You might also want to incorporate FE6's minor alterations (such as +30 Critical for Swordmasters and etc). That way, you can call it a GBA FE battle calculator, or something.
Logged


As usual, avatar and signature image by NTG : o
FE3 translation patch | Serenes Forest (Fire Emblem info here~)
Mizekel
*
Member #191


View Profile

Offline Offline

« Reply #5 on: October 24, 2008, 06:32:03 AM »

Suppose it's [(RN from 12 to 16) * 2 - Luck] / 255 * 100 ? I looked it up on gameFAQs somewhere.

And, I've only ever played the english games so I wouldn't know know where to start for adding stuff from FE6. :X But I could try it, if there isn't any major variations. (Would also perhaps need all of the class skills from FE8 too)

Mekkah: By averages, would you just want it to display how high the stat is on average at that level? It shouldn't be difficult to add in.

I had thought of putting some enemies in too, but I thought their stats varied slightly every time you start battle (even on the same chapter)... I wonder, is that true for Bosses too? I could manage that, at least.
Logged
VincentASM is too important to have a messed up name



*
Member #100


View Profile WWW

Offline Offline

« Reply #6 on: October 24, 2008, 06:55:54 AM »

The reason enemy stats vary is because they get auto-leveled. To get "true" enemy stats, you'd need to factor in class growth rates and different enemies' stat additions. The latter is probably going to be a bit tedious to work with.

Quote
Suppose it's [(RN from 12 to 16) * 2 - Luck] / 255 * 100 ? I looked it up on gameFAQs somewhere.

It looks too complex to be false, but I'm still not too sure on it.

Using that formula, the highest chance of being affected (with 0 Luck) is 9.4% ~ 12.5%, i.e average of 10.95%. You could probably see if that's true empirically.

EDIT

I did a quick test with a 0 Luck Hector.

1 out of 2 (50%)
2 out of 5 (40%)
3 out of 6 (50%)
4 out of 10 (40%)
5 out of 12 (42%)
6 out of 17 (35%)
7 out of 19 (36%)
8 out of 21 (38%)
9 out of 25 (36%)

So, the formula seems to be an underestimate. The values seem much closer to (31 - Luck)% = 31%. Of course, more detailed testing would be required, but I'm lazy : P
« Last Edit: October 24, 2008, 07:07:58 AM by VincentASM » Logged


As usual, avatar and signature image by NTG : o
FE3 translation patch | Serenes Forest (Fire Emblem info here~)
Mizekel
*
Member #191


View Profile

Offline Offline

« Reply #7 on: October 24, 2008, 07:09:14 AM »

But I wonder why it would need an additional random number, then. I'll have to look into it more.

Is it just the common enemies or bosses too that get auto-leveled?

EDIT: Oh, thanks. Well, if nobody knows the actual formula I guess that's what we're gonna have to go with for now. (I wonder how somebody came up with that other formula?)
« Last Edit: October 24, 2008, 07:12:50 AM by Mizekel » Logged
VincentASM is too important to have a messed up name



*
Member #100


View Profile WWW

Offline Offline

« Reply #8 on: October 24, 2008, 07:17:09 AM »

Quote
Is it just the common enemies or bosses too that get auto-leveled?

Only generic enemies get auto-leveled in NM. Both generics and bosses receive some auto-levels in HM (i.e HM boosts).

Quote
EDIT: Oh, thanks. Well, if nobody knows the actual formula I guess that's what we're gonna have to go with for now. (I wonder how somebody came up with that other formula?)

If it's real, most likely from ASM hacking.

The extra RN is probably for more randomness.
Logged


As usual, avatar and signature image by NTG : o
FE3 translation patch | Serenes Forest (Fire Emblem info here~)
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC

Valid XHTML 1.0! Valid CSS!
Page created in 0.168 seconds with 16 queries.