Enemy Swapping with XML Files
May 9, 2018 2:22:44 GMT 10
JTeghius Kittius, Syndeh, and 6 more like this
Post by Snipz on May 9, 2018 2:22:44 GMT 10
Hey guys,
This is a basic guide on how to edit enemies with the stuff I've found regarding the XML files for enemy spawns in the room arcs thanks to the help of FluffyQuack arc tool now having a XML converter.
Everything I tell you in this guide is my own knowledge through research, some help from Fluffyquack, and a large amount of testing. If you try this yourself and come to me for answers I can only tell you what I know. I'm still very new to this myself and if other people try this we'll have more luck if they/you guys figure some of it out also!
(This guide will be using a lot of spoiler tags as there will be a lot of information)
So first of Im going to use one room as an example, which is the one I used for testing which is the area outside from the main hall where you use the golden arrow head on the gravestone.
Which in the arc files is "r10b"
The enemy file is located in the arc files at (room - ems - "r10b.ems.xml")
Lets take a look at the file


Right now I'm only going to show you the information in the file we need for:
- Changing enemy spawned
- Its position
- Its appearance
- Its current animation set
The first image of the file shows the Pattern List, this is all the entries for enemies spawning in room. This corresponds with the Data List further down.
The first one listed is
<classref type="1571258476">
<u16 name="mIdNum" value="4"/>
<u16 name="mTopDataNo" value="0"/>
<u16 name="mEmNum" value="2"/>
<array name="mIdTbl.mData" type="u8" count="4">
<u8 value="21"/>
<u8 value="255"/>
<u8 value="255"/>
<u8 value="255"/>
</array>
</classref>
Each enemy(s) listed ends with </classref>
So for this room were testing, this first one in the list is the two zombies outside.
The enemys spawned is 2 from the value: <u16 name="mEmNum" value="2"/>
and the enemys spawn value is the first u8 value: <u8 value="21"/>
So for example if we were to change the enemys spawn value to 18 we would get this:

I changed the enemy spawned which was zombie ( 21 ) to the Tyrant first fight, if we were to change the amount of enemies spawned to 1 It would only spawn 1 Tyrant. Increasing the amount doesn't have an effect.
Lets take a look at the second part
The list here is data for all the enemies in the stage, the enemy type, spawn position, animation etc etc
This is the Data List.
The first and second entries are the two zombies we edited from the pattern list.
The first is the fat zombie, and second the torn jacket zombie
(The Pattern list and Data List work where for example if something is listed as spawning two enemies and is first in the pattern list, then for the data list the first two entries are those two enemies as they are first in the pattern list)
<vector3 name="mPos" x="-952.3267822266" y="1000.0000000000" z="-2192.8889160156"/>
<vector3 name="mAng" x="0.0000000000" y="0.3141590059" z="0.0000000000"/>
<u8 name="mIdx" value="0"/>
<u8 name="mType" value="10"/>
<s8 name="mNumber" value="0"/>
<u8 name="mSet" value="0"/>
<u32 name="mFlag" value="2050"/>
<u16 name="mAreas" value="0"/>
<u16 name="mTopAreaNo" value="0"/>
<u8 name="mHp_set" value="0"/>
Heres some information from the first zombie listed which is the fat zombie in the stage. For ease of explaining I'll just tell you what I know each bit of information is for:
- mPos and mAng are the spawn position values
- mType = The enemy's appearance (For example knowing the first entry is the fat zombie, we now know that mtype=10 means value 10 is fat zombie for enemy value 21 in the pattern list)
- mSet = The animation the enemy spawns with, 0 is the current value, which for zombie seems to be a default state of attacking when your insight
- mFlag = This value is a bit flag value. I haven't done too much research into it. But changing this affects the state of the enemy in various ways. For example changing it too 1024 will make the zombie a crimson head and change its appearance to one also
- mHp_set = Judging by the name, I'm assuming its health, but from what I've researched theres pre made health sets. I haven't taken note of these
Apart from these I don't know what anything else does and is up for experiment
So using this information here is an example if we were to change this data:
- I changed the spawn positions (by copying one zombies position to the others)
- I changed the animation set of the fat zombie to 1 which is the eating animation
- I changed the second zombies animation set to 9 which is lying down
So there we have it! enemy modding of the XML files. So use this information for what you will! if anyone uses it at all! xD
We can use this information in way to add enemies which I'm having trouble getting working, either it works but crashes later, crashes re-entering the room, is buggy, or just crashes imediately
So if anyone figures out a way great!
I should also mention, there is a bug when editing enemies in certain rooms. Sometimes the game doesn't swap over the sound files loaded, so say I replace a zombie with a hunter it uses the zombies sounds.
Currently no known way to get around that if any.
I have a list of values for each enemy and hope to get one for appearance and animation.
For the values list go here: residentevilmodding.boards.net/thread/8951/enemy-swapping-xml-all-values
This is a basic guide on how to edit enemies with the stuff I've found regarding the XML files for enemy spawns in the room arcs thanks to the help of FluffyQuack arc tool now having a XML converter.
Everything I tell you in this guide is my own knowledge through research, some help from Fluffyquack, and a large amount of testing. If you try this yourself and come to me for answers I can only tell you what I know. I'm still very new to this myself and if other people try this we'll have more luck if they/you guys figure some of it out also!

(This guide will be using a lot of spoiler tags as there will be a lot of information)
So first of Im going to use one room as an example, which is the one I used for testing which is the area outside from the main hall where you use the golden arrow head on the gravestone.
Which in the arc files is "r10b"
The enemy file is located in the arc files at (room - ems - "r10b.ems.xml")
Lets take a look at the file


- Changing enemy spawned
- Its position
- Its appearance
- Its current animation set
The first image of the file shows the Pattern List, this is all the entries for enemies spawning in room. This corresponds with the Data List further down.
The first one listed is
<classref type="1571258476">
<u16 name="mIdNum" value="4"/>
<u16 name="mTopDataNo" value="0"/>
<u16 name="mEmNum" value="2"/>
<array name="mIdTbl.mData" type="u8" count="4">
<u8 value="21"/>
<u8 value="255"/>
<u8 value="255"/>
<u8 value="255"/>
</array>
</classref>
Each enemy(s) listed ends with </classref>
So for this room were testing, this first one in the list is the two zombies outside.
The enemys spawned is 2 from the value: <u16 name="mEmNum" value="2"/>
and the enemys spawn value is the first u8 value: <u8 value="21"/>
So for example if we were to change the enemys spawn value to 18 we would get this:

Lets take a look at the second part
The list here is data for all the enemies in the stage, the enemy type, spawn position, animation etc etc
This is the Data List.
The first and second entries are the two zombies we edited from the pattern list.
The first is the fat zombie, and second the torn jacket zombie
(The Pattern list and Data List work where for example if something is listed as spawning two enemies and is first in the pattern list, then for the data list the first two entries are those two enemies as they are first in the pattern list)
<vector3 name="mPos" x="-952.3267822266" y="1000.0000000000" z="-2192.8889160156"/>
<vector3 name="mAng" x="0.0000000000" y="0.3141590059" z="0.0000000000"/>
<u8 name="mIdx" value="0"/>
<u8 name="mType" value="10"/>
<s8 name="mNumber" value="0"/>
<u8 name="mSet" value="0"/>
<u32 name="mFlag" value="2050"/>
<u16 name="mAreas" value="0"/>
<u16 name="mTopAreaNo" value="0"/>
<u8 name="mHp_set" value="0"/>
Heres some information from the first zombie listed which is the fat zombie in the stage. For ease of explaining I'll just tell you what I know each bit of information is for:
- mPos and mAng are the spawn position values
- mType = The enemy's appearance (For example knowing the first entry is the fat zombie, we now know that mtype=10 means value 10 is fat zombie for enemy value 21 in the pattern list)
- mSet = The animation the enemy spawns with, 0 is the current value, which for zombie seems to be a default state of attacking when your insight
- mFlag = This value is a bit flag value. I haven't done too much research into it. But changing this affects the state of the enemy in various ways. For example changing it too 1024 will make the zombie a crimson head and change its appearance to one also
- mHp_set = Judging by the name, I'm assuming its health, but from what I've researched theres pre made health sets. I haven't taken note of these
Apart from these I don't know what anything else does and is up for experiment
So using this information here is an example if we were to change this data:
- I changed the spawn positions (by copying one zombies position to the others)
- I changed the animation set of the fat zombie to 1 which is the eating animation
- I changed the second zombies animation set to 9 which is lying down
So there we have it! enemy modding of the XML files. So use this information for what you will! if anyone uses it at all! xD
We can use this information in way to add enemies which I'm having trouble getting working, either it works but crashes later, crashes re-entering the room, is buggy, or just crashes imediately
So if anyone figures out a way great!
I should also mention, there is a bug when editing enemies in certain rooms. Sometimes the game doesn't swap over the sound files loaded, so say I replace a zombie with a hunter it uses the zombies sounds.
Currently no known way to get around that if any.
I have a list of values for each enemy and hope to get one for appearance and animation.
For the values list go here: residentevilmodding.boards.net/thread/8951/enemy-swapping-xml-all-values