Ravenwolfe

Moderator
When you use ServUO to create an oldschool shard, it is not correctly flagging something with Gargoyles.

This is tested with the latest client and the Expansion Flag set to UOR. It is correctly blocking the creation of an elf with the message that the server does not support it (see below).

cc2.jpg
However, it is not correctly blocking the creation of a gargoyle (see below) It lets them create the gargoyle and then converts them to human on character creation (this is correctly done in the CharacterCreation.cs). It should block them from creating it at all just like it does the elf.

cc3.jpg

My thought is there is something wrong with the Expansion flag? I've been looking but thus far have not found the answer. Any ideas?
 
Last edited:
I can't seem to reproduce this on a fresh ServUO install. I tried setting the Expansion to None as well as a couple others. Anything set below SA and I can't even click the Gargoyle button to select the Gargoyle race. I tried with both the latest client (7.0.34.6) as well as an older client (7.0.15.1). :confused:
 
@Kalamus Interesting, I have not changed much from the distro yet.

I actually have my expansion set to UOR not NONE. Would you do me a huge favor and try the same thing with it set on UOR?

I did notice that Marks shard Zenvera has the same issue and Im pretty sure he uses RunUO not ServUO.
 
Just tried UOR and I still can't select the Gargoyle as a race on the create character screen. Just for kicks I just tried with my RunUO 2.5 (github) and my RunUO 2.3 (svn) at UOR and still the same result. These should be all clean distros for me so I'm not sure what edit you would have that's not blocking it for you.
 
Wow, that is so weird. I have a list of everything that I have edited, so I will go thru it. I'm also going to try a fresh server.

Curious, are you using Razor or UOSteam. I tried both, but I'm trying to think of anything that could be doing this!

I appreciate your help!
 
I'm using UOSteam. I guess I should clarify too that it's not blocking the same way the Elf does by not letting you click arrow in the bottom right. It's totally blocking the Gargoyle selection period. I can see the Gargoyle button but clicking it does nothing at all. Won't even show me the preview of the Gargoyle with any expansion setting below SA.
 
OMFG! I'm such an idiot! I looked at my changelog and immediately see the problem!!

I added this script which is supposed to allow you to use the newer art on an older expansion setting, but its clearly what is causing the problem!
Code:
using System;
using Server;
using Server.Network;

namespace Server.Misc
{
    public class ExpansionArt
    {
          public static void Initialize() {
          Server.Network.SupportedFeatures.Value = FeatureFlags.ExpansionSA;

        }
    }
}

I don't guess there is another way to have the art but not the gargoyle option huh?
 
Hmm haven't messed with art on lower Expansion settings. I could totally be off base here but I didn't think the Expansion settings messed with what art is available. I would have to dig into the code to find that out for sure though.
 
Well, I had noticed when I set the Expansion lower, the art was impacted. As an example, the ancient wyrm still used the old dragon art, even though in the ancient wyrm script it had the newer body value. So I did some research on RunUO forums and thats when I found that script listed as a solution. Of course, on RunUO they wouldn't have come across the issue with gargoyles, so they probably wouldn't notice.

@Milva - so this is definitely not a bug, do we have a blockhead area this can be filed in? ;)
 
Yeah seems you are right. Just tried the ancient wyrm and got the old graphic using T2A expansion. Weird though that not all of the graphics are limited because my Boura mount is fine and that's not T2A.
 
Seems to be partly controlled by the client files, found this quote from Voxpire:

I think it's client-side based on the expansion support flags, the client transforms the body values based on body.def and bodyconv.def in your UO directory.

So, I think the same flag does both things. I'm gonna think on some workarounds. I really appreciate all your help in discovering my error (I blame lack of sleep and a 4 year old!).
 
Well, you can give out a custom bodyconv.def to all players, but there has got to be a better way...

Code:
# This file overloads the data loaded from the CD/HD cache system from a very               
"# low level.  Given a object type, it will return the index in"               
# anim2.mul/anim3.mul/etc the game should use instead of art from anim.mul               
#               
# 0 - 199 = MOnsters               
# 200 - 399 = Animals               
# 400 + = HUmans/Elves and Equipment               
#               
# The maximum value for an index is 2048.               
#               
# <Object> <LBR version (anim2)> <AoS version (anim3)> <AoW version (anim4)><Mondain version (anim5)>               
#               
157    1    -1    -1    -1
173    2    -1    -1    -1
11    3    -1    -1    -1
19    3    -1    -1    -1
20    4    -1    -1    -1

# This was the original line for the giant spiders since LBR               
#28    5    -1    -1    -1
#This line reverts the spiders back to the original style               
28    -1    -1    -1    -1
 
Yeah too many numbers to look at in those files. Lack of sleep is affecting me too. Those files is probably the only way out because the same packet sent to remove the Gargoyles is the same packet telling the client which version of the graphics to use. You could always ignore the Gargoyle issue and let it default to human if they do create one though. Not sure what else the version packet might limit.

Glad I was able to help with your issue though :)
 
Well, I added that previous file back in, but changed it to this:

Code:
using System;
using Server;
using Server.Network;

namespace Server.Misc
{
    public class ExpansionArt
    {
          public static void Initialize() {
          Server.Network.SupportedFeatures.Value = FeatureFlags.ExpansionSE;

        }
    }
}

It does not let you pick Gargoyle but the art is updated. However, I gotta do a lot of testing to see if it impacts other systems. One thing I notice so far is that it does add the object properties list, which is not era accurate, but is actually pretty handy, lol.

I will let you know after more testing.
 
@Ravenwolfe, have you found any issues or incompatibilities with this since? Am doing something similar and want to see if you are seeing any undesired SE features leak in with this setup.
 
Last edited by a moderator:
Back