Elemental Attributes & Status Effects (Enemies) / Bestiary

If you are stuck in the Dunan Unification Wars; or wish for more details on the gameplay systems, this is the place.
Post Reply
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Elemental Attributes & Status Effects (Enemies) / Bestiary

Post by Celes »

While looking into the enemy data of the disc, I found that every enemy has resistances for 10 magic attributes and 5 negative conditions. These can be one of the following (like in S1): Normal, Weak, Strong or Invulnerable.

(For comparison only: S1 used the 5 elementals, holy, soul eater and no negative conditions)

Elemental attributes:
01: ??? (Blinking?)
02: Fire
03: Water
04: Wind
05: Earth
06: Lightning
07: Holy (aka Resurrection)
08: Darkness (perhaps Soul Eater as well?)
09: Bright Shield
10: Black Sword

Negative Conditions:
11: ???
12: Sleep
13: Poison
14: Instant Death
15: ???


Any ideas what the rest could be? Perhaps Blinking magic for the missing elemental? There seem to be no use for any enemy, except Neclord #1 & #2 has this stat set to Invulnerable ...

For the missing two conditions, I don't know either... I found that at least Neclord has them set for Invulnerable as well. Is there any condition which can be caused to enemies besides those three? Knockdown by any chance?
User avatar
BadPotato
Posts: 170
Joined: Mon Feb 09, 2009 10:07 am
Location: Canada - Québec

Re: Elemental Attributes & Status Effects (Enemies)

Post by BadPotato »

Knockdown is a weird status... I know that this is impossible to beatdown the double sneak head, thought it will work on bonaparte and some other boss. Also, there sometime ago I used the knockdown rune to knockout Sierra at drakemouth... and it's actually crash the game!!
Last edited by BadPotato on Sat Jun 13, 2009 1:40 am, edited 1 time in total.
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by Celes »

Knockdown is a possibility. However, the Double Head has no resistance against one of the missing two conditions, so this would be out of the question then. Unless you were really unlucky.

I know the strategy guide lists a detailed bestiary. However, it has many errors in it and the table is screwed up now and then. For example, the Double Head is not Strong vs. Sleep. Furthermore the guide lacks on detailed loot information. I could try to make a bestiary like the one for S1 if anyone is interested.
Antimatzist
Posts: 2770
Joined: Sat Apr 19, 2008 9:48 am
Location: Germany, yeah baby
Contact:

Re: Elemental Attributes & Status Effects (Enemies)

Post by Antimatzist »

CelesDestiny wrote:Knockdown is a possibility. However, the Double Head has no resistance against one of the missing two conditions, so this would be out of the question then. Unless you were really unlucky.

I know the strategy guide lists a detailed bestiary. However, it has many errors in it and the table is screwed up now and then. For example, the Double Head is not Strong vs. Sleep. Furthermore the guide lacks on detailed loot information. I could try to make a bestiary like the one for S1 if anyone is interested.
Definitely!
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by Celes »

Correction: There are only 4 condition resistances for the enemies, so that leaves 1 unknown. Knockdown is the only one that comes to my mind so far. Any other ideas?

Made an example for the bestiary:
http://www.suikosource.com/games/gs2/gu ... arynew.php

Tell me what you think :)

For example, the strategy guide says Neclord (3rd) is strong vs. Darkness, although the file doesn't. If he has this attribute, I suppose some script is running. Perhaps someone could check this ingame, before I continue. I don't have any file before that battle right now...
User avatar
BadPotato
Posts: 170
Joined: Mon Feb 09, 2009 10:07 am
Location: Canada - Québec

Re: Elemental Attributes & Status Effects (Enemies)

Post by BadPotato »

CelesDestiny wrote:Correction: There are only 4 condition resistances for the enemies, so that leaves 1 unknown. Knockdown is the only one that comes to my mind so far. Any other ideas?
can you post some "bits sequence" of different enemy for comparing the similar waekness/strong/status ?

The preview page seem awesome!
User avatar
Pyriel
Webmaster
Posts: 1227
Joined: Wed Aug 18, 2004 1:20 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by Pyriel »

I don't know how you're planning to do this, Celes. If you're planning to do it manually, I may be able to save you some trouble by extracting the data with a fairly simple program. At least that way if you realize X is actually Y later it's not such a huge hassle to change it.

Based on a cursory look through the files, it appears the enemy data is stored in the W*.bin files within the area directories, and the potch earned is at +0x94 from the start of the name string. I haven't yet looked beyond that, as I just wanted to see the shape of things. The only real difficulty I can see is that the files are variable and the character data has some variability built in. I didn't immediately see any data that described locations and sizes of segments, but it must be stored somewhere. It's just a matter of finding it and recognizing it.
SuikoMJM
Posts: 77
Joined: Wed May 24, 2006 2:59 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by SuikoMJM »

Awesome and highly desired.

Not to thread jack, but I wonder if there might also be a way to see the contents of all vases, crates, and other items within the game to more effectively find all of those things without having to painstakingly check them all. I did manage to find 100 potch in one of the fifty billion crates sitting outside the houses of Kyaro town in one of my painstaking searches.

My thoroughness won't last. :cry: Kills the flow of the game.
User avatar
BadPotato
Posts: 170
Joined: Mon Feb 09, 2009 10:07 am
Location: Canada - Québec

Re: Elemental Attributes & Status Effects (Enemies)

Post by BadPotato »

I've just thinking about it... this may also be the "silence" status.. from the only one silence rune
KFCrispy
Global Admin
Posts: 6174
Joined: Wed Jun 30, 2004 3:29 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by KFCrispy »

if only Neclord is invulnerable to the first "element", it's got to be Physical or "non-elemental".. right?
User avatar
Pyriel
Webmaster
Posts: 1227
Joined: Wed Aug 18, 2004 1:20 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by Pyriel »

The easy way to find out would be to pick an easy, common enemy with no resistances; use a cheat to tweak that resistance up to some ridiculous level; and then just throw stuff at it until something breaks. Perchance is there a resistance level akin to "absorb" where the enemy is healed instead of taking damage? That would make it even easier to tell.
Iesous
Posts: 232
Joined: Tue Nov 11, 2008 8:44 am

Re: Elemental Attributes & Status Effects (Enemies)

Post by Iesous »

This is it, I'm telling you: BALLOON.

Just kidding, sort of. If you have Mukumuku, don't his attacks sometimes cause balloon status to enemies? I can't remember.
User avatar
Pyriel
Webmaster
Posts: 1227
Joined: Wed Aug 18, 2004 1:20 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by Pyriel »

For the guy who asked for "data bits":
http://www.herrvillain.com/codebreaker/ ... 2/NEC2.txt
http://www.herrvillain.com/codebreaker/ ... 2/NEC3.txt

There are a couple of discrepancies between this data and the sample bestiary entry, so I'm guessing that the values are being stripped manually.

I had a chance to look through this yesterday. Enemies can be defined in multiple files, and the files are (mostly) executable code, rather than a structured dataset. (Konami called these "overlay" files in Suikoden V, so that's the terminology I'll tend to use.) There's a pattern to the files, but discerning it hinges on knowing exactly where the file is loaded in memory. For the most part, the area files are loaded at 0x8015DC50. However, there are about a dozen addresses in total where a file might be loaded, and what appears to be code to load files of 200KB or less semi-dynamically. These overlays aren't one iota relocatable in and of themselves, so they aren't dynamically loaded; I'm mistaken about what that bit of code does; or there's screwball code somewhere that runs through all the pointers, jump operations, etc. and adjusts them. The last one seems unlikely, so either the files are always loaded to one of the twelve or so known addresses, or I missed something about that particular bit of code.

At any rate, the overlay files can be interpreted fairly simply, once you know where they're loaded in memory so you can adjust the pointers.

Sample output from parsing the Area A overlay file (WA.BIN):

Code: Select all

File Size: 0003A540     Control Pointer: 80166344       File Offset: 000086F4
Encounter Set Pointer: 80181D4C File Offset: 000240FC
Number of Encounter Sets: 3
Encounter Set 1: 80181D28 - 000240D8
Encounter Set 2: 80181D34 - 000240E4
Encounter Set 3: 80181D40 - 000240F0
Enemies List for Encounter Set 1: 80181F84 - 00024334
Enemies List for Encounter Set 2: 80181F84 - 00024334
Enemies List for Encounter Set 3: 80181F84 - 00024334
Count of enemies for encounter set 1: 6
Offset: 0002DC28 Enemy 1: HollyBoy
Offset: 0002EC48 Enemy 2: FurFur
Offset: 000301E4 Enemy 3: CutRabbit
Offset: 000329C0 Enemy 4: BonBon
Offset: 00033F58 Enemy 5: Woodpecker
Offset: 000363E8 Enemy 6: ShadowDog
Count of enemies for encounter set 2: 6
Offset: 0002DC28 Enemy 1: HollyBoy
Offset: 0002EC48 Enemy 2: FurFur
Offset: 000301E4 Enemy 3: CutRabbit
Offset: 000329C0 Enemy 4: BonBon
Offset: 00033F58 Enemy 5: Woodpecker
Offset: 000363E8 Enemy 6: ShadowDog
Count of enemies for encounter set 3: 6
Offset: 0002DC28 Enemy 1: HollyBoy
Offset: 0002EC48 Enemy 2: FurFur
Offset: 000301E4 Enemy 3: CutRabbit
Offset: 000329C0 Enemy 4: BonBon
Offset: 00033F58 Enemy 5: Woodpecker
Offset: 000363E8 Enemy 6: ShadowDog
Other .BIN files in the area directories seem to be this same type of file. Possibly for different events, and some of them are undoubtedly for "dungeons" that reside in the area. I've found the HollyBoy in at least two different files. I don't know if they're defined with exactly the same stats and such in each. It's possible that where the guide doesn't seem to match reality the information was based on one file rather than another, or even on "dead" data. There's at least one file with a dead encounter set listed (Area C's overworld I think). It has all the data required to operate, but it doesn't exist in the table that would allow it to be used.

Oh, "encounter set" is just a name I gave to a table that contains a list of "enemy groups". Generally, there are three encounter sets in use per area, and the encounter set has data indicating how many encounters are possible, what the enemy groups look like, and what enemies can be in the groups. There's another pointer to an array in it, that might control things like encounter rate and such, assuming that's variable at different points. I really haven't investigated. So far, I haven't seen much variability in the last bit of data (enemies). Everything is drawn from the same table of enemies.

My one hang-up at this point is that some of the files, boss files in particular, don't follow this pattern. I only tried to parse them automatically, and haven't looked at one manually yet. I may be able to work around it. So far, the problem appears to be that the pointer to the table of the area's encounter sets isn't where I expect it to be. Unfortunately, I sort of have to guess at where the files are loaded in memory. There's no convenient index, and the files are read using raw CD reads, rather than by hitting a more friendly-looking file system. I managed to work out which was the load address of the Area A file, and went from there, but some files are clearly stuffed into other holes in memory.

Edit: OK, so loading up the boss files at one of the other addresses works. It turns out that the first word in the file, instead of pointing to an array of control data, just points to the encounter sets themselves. It's sort of bizarre, but the NEC3 file has three such sets. They're all loaded with exactly the same data, i.e. a pointer to the same set of enemy groups (1 which contains only Neclord), and the same array of enemy data (1 enemy, Neclord).

Edit (06/20): A couple more files, just for the hell of it.
http://www.herrvillain.com/codebreaker/ ... normal.txt
http://www.herrvillain.com/codebreaker/ ... pecial.txt

The first is all or most of the regular encounters, I think. The second is most of the bosses. There are a couple of aberrant files that won't parse yet, maybe. I need to look at the NEC1 file to see if it actually has an enemy definition, or if it's just an event script. Oh, and there seems to be at the very least a x10 modifier applied to potch amounts in boss fights, and it may even be scripted as more in some of them. I find it sort of mystifying, since it takes 12-16 bytes to accomplish the multiplier in the code, and it would only have cost them 40 bytes in their largest file to specify the potch per kill as a 32-bit integer, but who knows.

The formatting is just thrown together. I can spit this out in just about any format you can think of, if you like. If I get a free minute tomorrow, I'm going to tweak a few things and see if I can verify what the unknown resistance(s) is (are).

Edit (06/21): Took about five minutes to work out what they'd done with some of the other files. I reviewed a few that still aren't parsing, and they appear to be strictly event crap, or files for different phases of non-encounter areas.

http://www.herrvillain.com/codebreaker/ ... esfull.txt

I worked out the resistances. Although, I hadn't corrected my program when I generated the list above.

Elemental
  1. Physical (1)
  2. Fire
  3. Water (2)
  4. Wind
  5. Earth
  6. Lightning
  7. Holy (Resurrection)
  8. Darkness (3)
  9. Bright Shield
Condition
  1. Silence (4)
  2. Knockdown
  3. Sleep
  4. Poison
  5. Instant Death (5)
Notes
  1. Physical includes all attacks and technique runes or runes that otherwise inflict physical damage. The Blinking Rune's Set! spell is physical, as are the Blue Gate Rune's Pale Palace and Empty World spells. All of the Black Sword Rune's spells are physical.
  2. None of the Water or Flowing Runes' spells are offensive. This resistance seems to exist solely for rune unites and element damage from attacks.
  3. Any spell of the Darkness or Soul Eater Runes that inflicts damage is considered this element. The instant death spells are tested against that resistance. Spells that do both are tested against both resistances. So resistance to the Darkness element or Instant Death individually will not give full resistance to those runes.
  4. This one behaved oddly in testing. The incidence of it seems incredibly low at the best of times, and with the resistance set to "invulnerable" it became much more so, but the effect wasn't 100%.
  5. The usual suspects on the Darkness and Soul Eater Runes are tested against Instant Death resistance, as are the Blinking Rune's Ready! and Go! spells.
  6. The Black Sword, Blinking, and Bule Gate Runes have no individual resistance stats because all their spells fall under the heading of another type of resistance. Black Sword - All Physical. Blinking - Instant Death (Ready!, Go!) and Physical (Set!). Blue Gate - Fire (Open Gate), Lightning (King's Road), and Physical (Pale Palace, Empty World).
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by Celes »

Bestiary
Pyriel wrote:I don't know how you're planning to do this, Celes. If you're planning to do it manually, I may be able to save you some trouble by extracting the data with a fairly simple program.
You did! Thanks a lot :) So I do not have to search for every enemy manually and convert the hex values.
At least that way if you realize X is actually Y later it's not such a huge hassle to change it.
That's not a problem, as the list is done in sql.

Nevertheless, the file contains a lot of enemies that are not used for the actual game. For example it has a second Rowd and a third enemy on Tenzan Pass in addition to Minotaur #2 and Magus #2 (names are glitched in US version, though), which drops a Cyclone Rune! The only one of the the five higher elementals that is not dropped by any foe in game so far. Perhaps they took him out the last minute for any reason... Alyways wondered that.

Some potch values can't be right. For example Neclord (actually 70.000 potch), Seed (60.000 potch), Culgan (70.000 potch) and some others. I suppose a script is running in battle, as their potch exceeds 65535, which multiplies it by 10.

Before I can start to add the list to out DB, I have to extract unused enemies and figure their location out. So many Highlands and Zombies ... :shock:

Attributes
Elemental

1. Physical (1)
2. Fire
3. Water (2)
4. Wind
5. Earth
6. Lightning
7. Holy (Resurrection)
8. Darkness (3)
9. Bright Shield


Condition

1. Silence (4)
2. Knockdown
3. Sleep
4. Poison
5. Instant Death (5)
Looks good to me, although I'm not satisfied with the assumption concerning the Silence. Like you stated already, the Invulnerable state does not grant 100% protection vs. silence, so it could still be something else.

The first one, you named Physical, would be better translated as non-elemental DMG. You are right about Black Sword considered as non-elemental as well as the Blinking spell "Set!" and the 3rd and 4th Blue Gate spells. My mistake.
None of the Water or Flowing Runes' spells are offensive. This resistance seems to exist solely for rune unites and element damage from attacks.
Did you test rune unites for this? What do you mean by "elemental damage from attacks"? Due to my knowledge, adding Water and Flowing runes to the weapon does not add the water element to the weapons (compare with water rune pieces in S1). Afaik only light/thunder and fire/rage will change the element.

I haven't tested as well, whether there are initial weapon elements or not for some characters.
User avatar
Pyriel
Webmaster
Posts: 1227
Joined: Wed Aug 18, 2004 1:20 pm

Re: Elemental Attributes & Status Effects (Enemies)

Post by Pyriel »

I sort of suspected you were loading the data into a table, based on some of the stuff on the page. If you tell me the schema, I can change the program to write a file of INSERT statements, or create something formatted that you can bulk insert. (Uh...IIRC mysql can do bulk inserts; I'll have to double-check.) I can also sort the list by area (as "area" is currently) and enemy name, if that will make it easier.

There's almost certainly a script for bosses' potch drops. These files are a lot of executable code as well as data, and most of the bosses are in files that contain only themselves or only boss fights, so it'd be a simple matter to have a replacement potch function. Although, it would be equally simple to stick a flag somewhere when loading the file. I ought to look at the typical potch code just as a matter of curiosity.

There's a bunch of unused crap in there. There are three definitions of "Neclordia", which I don't recall seeing in-game (though it's been many years since I played it through), extra occurrences of several bosses, and untranslated stuff in a few files. I think we're lucky the translators did as well as they managed on this one. Even if all this stuff was organized somewhat logically prior to being compiled, it must have been daunting as hell trying to figure out what was still useful, and what would just be a money-wasting time-sink to localize.

Yeah, I guess the one Blue Gate spell is rather non-physical. I just had already settled on calling the resistance "physical" after seeing that it made enemies immune to all attacks, and to having pots and collections of swords dropped on their heads, which all seems pretty physical.

Edit:I wasn't too thrilled about the silence thing either. Silence may actually fall under Water, or even the non-elemental resistance, but its occurrence is so flaky that it's very difficult to tell if you're just having a run of bad luck, or if the enemies are truly immune. If it's not silence, then I have no idea what else it could be. I'm open to suggestions.

(If anyone has a theory, and a GameShark Pro, you can use the memory editor to toggle resistances. The resistances for the Holly Boys outside the fort near the game's beginning are located at 0x8018B8FC, in the order I listed. What I guessed was a "buggy" silence resistance is at 0x8018B905.)

It was just an assumption on my part that adding water-based runes and such to weapons would change the attack element. I think I erroneously believed that this game had the original's rune-piece attachment option, along with attaching a full rune. Even then, I completely forgot that attaching water anything just heals you each round. I had to test this using rune unites, and the enemy has to have immunity to both elements to avoid damage. I tested with Water Dragon, and had to edit the Holly Boys to have both wind and water resistance, or they just died outright. They might have only taken partial damage, though. I don't know if Immunity vs. Multi-element spells is a subject that's already been well-explored.

Edit: Oh, something else I keep forgetting to mention. If I can find the sprite data, and it's logically associated with these other occurrences of enemy data, I can dump them as well. It's been a long time since I last dealt with raw image data, though, so it could take me several days to work that out. I suspect they're actually stored within the same file, either immediately following the basic enemy data, or indicated by one of the several pointers in it. I just have to find time at home to look into it.
Last edited by Pyriel on Wed Jun 24, 2009 8:48 am, edited 3 times in total.
Post Reply