ServUO Version
Publish Unknown
Ultima Expansion
Mondain's Legacy
Hi everyone, my name's Muri and I used to play with UO when I was a child with my brother.
I found the old directory we used, with RunUO2.0 and some other apps related (DragonMod, UOFiddler, CentrED) to set up a costum server.
I was trying to add new monster animations with UOFiddler, although I don't really understand how it works when it comes with monster anim. So I have a bunch of questions, if anyone here can answer I'll be very grateful:
  1. It's possible to add new animation instead of replace the animation that already exist? This would mean add new monsters basically. If so, can it be done with UOFiddler only or I need other tools too?
  2. I've already tried to add one (a chimera). First try I used a red slot from anim.mul that was empty. When I added all the animations, I saw that it wasn't appearing in the animation list on the left. So this means that not all free slots can be used? I then put the animations in slot 32 of anim.mul because it was empty and in the animation list. All fine until I realized that it wasn't showing the animation and became just blank. Any solutions on this? What I've done wrong?
  3. This is just a curiosity actually, when adding a new Animation, UOFiddler default monster animations are all going in only 5 directions (down, left down, left, upper left, up, upper right). Shouldn't I put all the 8 directions of movement?
I don't know if there is a better forum section to post this nor I know if anyone has already asked this (I was searching on google but didn't find anything that could help me), relocate me in case.
Thanks to anyone who will answer.
Have a nice day :)

P.S: I'm not a programmer. I understand a bit of C#, but not high level.
 
Last edited:
There is a Body.def file in UO Client, iirc you'll need to do edits here as well as adding the animation, though I haven't work on art for years, this is some info I remember!
1711656407032.png
 
Ok, thanks Wilson! Anyway I found a tutorial, though I think it's a bit outdated since the one who wrote it used programs as UOAnim (I was trying to download it but couldn't find), mulpatcher, michelangelo and so on. And actually I have to modify the body.def, bodyconv.def and another file from Ultima Online directory. I hope I can do everything with UOFiddler because in that old tutorial there is a step using verdata.mul, I hope I can override it.
 
To have animation slot in UOFiddler's browser list you need to add it to animationlist.xml in your fiddler's profile folder %APPDATA%\UOFiddler (it's the same as X:\Users\<USERNAME>\AppData\Roaming\UOFiddler) Depending on the type of animation you'll need to set correct body type (check comment in the animationlist.xml)

Animation direction in UO are mirrored by the client so in file there is always 5 directions and the missing 4 are done by mirroring other ones in the client. It was made so to save on bandwidth and file size in times when you had to use cable modem to connect to internet ;)
 
To have animation slot in UOFiddler's browser list you need to add it to animationlist.xml in your fiddler's profile folder %APPDATA%\UOFiddler (it's the same as X:\Users\<USERNAME>\AppData\Roaming\UOFiddler) Depending on the type of animation you'll need to set correct body type (check comment in the animationlist.xml)

Animation direction in UO are mirrored by the client so in file there is always 5 directions and the missing 4 are done by mirroring other ones in the client. It was made so to save on bandwidth and file size in times when you had to use cable modem to connect to internet ;)
Thank you! I tried to modify bodydef, body and mobtypes, but the animation doesn't appear in Ultima when I log in (for example, if I try to change the body mod of a headless with the code with the new animation I added, it doesn't show anything). Any ideas? My bodydef has a line with 5 output. I understand that the first number from the left is/will be the number of the body mod (for example, my free slot was 32 (0x20) from anim.mul. The other 4 numbers are the directory to the anim2/3/4/5? Or am I wrong? So I put:
bodydef:
32    -1    -1    -1    -1

Though I can see the animation in UOFiddler so I guess it was added to anim list.

But maybe I'm wrong. Thanks to everyone for the help really. :)
 
It's hard to say as I don't know what files are you using and what type of animation are you trying to add. UO uses 1-2048 body ids which are then split across 5 anim files and in later versions 7+ in uop files too. Each animX.mul file has a specific animation type alighnment which differs between files. So for example in anim.mul you have 1-199 monster types, then it's animals and sea creatures and from 400 it is people/equipment types of animations.

Modern clients after v 4.x.x have mobtypes.txt file whcih denotes what type of animation each of those 1-2048 body ids will be also third column is value for flags (for example 10k+ means it will be taken from uop). So in order to add animation you need to find empty slot in mobtypes.txt or choose one to replace it. Then you have to look at your animation type (how many frames it has) and find a correct slot in one of the animX.files. Then if the file is different than anim.mul you have to use bodyconv.def to map that main body id into index in respective animX.mul file.

If you do everything correctly you should see animation in game.

So if you have a monster type animation in index 32 in anim.mul then all you'd need to do is to add entry 32 MONSTER 0 to mobtypes.txt and that would be all.
 
It's hard to say as I don't know what files are you using and what type of animation are you trying to add. UO uses 1-2048 body ids which are then split across 5 anim files and in later versions 7+ in uop files too. Each animX.mul file has a specific animation type alighnment which differs between files. So for example in anim.mul you have 1-199 monster types, then it's animals and sea creatures and from 400 it is people/equipment types of animations.

Modern clients after v 4.x.x have mobtypes.txt file whcih denotes what type of animation each of those 1-2048 body ids will be also third column is value for flags (for example 10k+ means it will be taken from uop). So in order to add animation you need to find empty slot in mobtypes.txt or choose one to replace it. Then you have to look at your animation type (how many frames it has) and find a correct slot in one of the animX.files. Then if the file is different than anim.mul you have to use bodyconv.def to map that main body id into index in respective animX.mul file.

If you do everything correctly you should see animation in game.

So if you have a monster type animation in index 32 in anim.mul then all you'd need to do is to add entry 32 MONSTER 0 to mobtypes.txt and that would be all.
That's what I've done actually, I added the animation in .vd format with UOFiddler in slot 32 of anim.mul (it was free, there was nothing in it) and then added in my mobtypes.txt the line 32/Monster/0. The line was not present though, I had to manually add it. Maybe that's the problem?
Also I've tried to add at slot 68 of anim2.mul another animation. There's this position already in bodyconv.def and it's associated a body value of 132 (should be ki-rin). But in UOFiddler, ki-rin is showing to appear in position 122 of anim2.mul (with an effectively value in () of 132), not 68 that was empty.
So I'm starting to understand that every slot has is own body value maybe? Just in UOFiddler the position 68 of anim2.mul had a value in () that is -1.
I'm lost hahahahah
 
I wrote a somewhat tutorial and general information on animations in the resource asset section that might help you out some time ago.
shows some screen shots of fiddler so should help you out.
You will be using bodyconv.def file mobtype.txt file to add new animations to the game alot.
Bodyconv file what that does is if you place a .vd file into a anim4.mul it will redirect a bodyvalue to that file to read it. the mobtype files tells the client what that bodyvalue should be a monster a animal a human a equipment. You can change what a bodyvalue should be in the mobtypes file if you want in higher vallues becareful here the lower numbers really shouldnt be changed since some were hard coded when they first programed the game.
Word of advice don't use low bodyvalues to add new animations those were used during the initial creation of the hard coding of the game and can be buggy thats normally why if they are unused there is a reason for it example the 32 bodyvalue. What alot of people have done is like the hellhound which uses bodyvalue 255 which is just the wolf with a hue off whatever same with white wolf bodyvalue 255 these are all the same and are in the body.def file they just erase these from body.def and script them with body 255 then hue them and use the old bodyvalue that was called out in body.def so the old way was

example
14 {255} 2546 hellhound
15 {255} 2456 whitewolf

Not exact bodyvalues but to show you what i mean same with ore elementals they share same bodyvalue at core but used bodyvalues with dif hues so they wasted bodyvalues when it could be just scripted with the hues in them.
 
Last edited:
I wrote a somewhat tutorial and general information on animations in the resource asset section that might help you out some time ago.
shows some screen shots of fiddler so should help you out.
You will be using bodyconv.def file mobtype.txt file to add new animations to the game alot.
Bodyconv file what that does is if you place a .vd file into a anim4.mul it will redirect a bodyvalue to that file to read it. the mobtype files tells the client what that bodyvalue should be a monster a animal a human a equipment. You can change what a bodyvalue should be in the mobtypes file if you want in higher vallues becareful here the lower numbers really shouldnt be changed since some were hard coded when they first programed the game.
Word of advice don't use low bodyvalues to add new animations those were used during the initial creation of the hard coding of the game and can be buggy thats normally why if they are unused there is a reason for it example the 32 bodyvalue. What alot of people have done is like the hellhound which uses bodyvalue 255 which is just the wolf with a hue off whatever same with white wolf bodyvalue 255 these are all the same and are in the body.def file they just erase these from body.def and script them with body 255 then hue them and use the old bodyvalue that was called out in body.def so the old way was

example
14 {255} 2546 hellhound
15 {255} 2456 whitewolf

Not exact bodyvalues but to show you what i mean same with ore elementals they share same bodyvalue at core but used bodyvalues with dif hues so they wasted bodyvalues when it could be just scripted with the hues in them.
Yeah, I see what you're saying and that was a thing I managed already to do, like replace. But since there are a lot of free slot, I wanted to add new animations without replacing the one that already exist, even though there are multiply copies of the same animation. I understand that lower numbers can cause some problems. I think the point is on modifying bodyconv, body and mobtypes. I think the problem is in there. In the thread where Redmoon was explaining how to add new animations, someone says that with some specific client version you can't add new, just replace. I will try to find explanations here since I saw there're people who had the same problem.

Really thanks to everyone who answered :D have a nice evening
 
expansion doesnt matter you can add no matter the expansion its just knowing where to put the animations and how all the files interact with each other.
 
Hi everyone. At last the problem is solved!! The problem was actually in bodydef and mobtypes. All works fine right now. Really thanks to everyone who' had the willing and the patience to answer ;)
 
Back