In BaseXmlSpawner.cs, when using the LOOT keyword to generate a random item from one of Loot.cs's method, it looks for any method matching the string.
However, in RunUO 2.0, many of these methods are overloaded, throwing an AmbigiousMatchException.
This can be alleviated and allow XML Spawners to use the method that takes no parameters.
I think there's multiple places, but the original code looks like this:
CODE |
try { method = ltype.GetMethod(itemkeywordargs[1]); } catch { }
|
In mine, I changed it to this:
CODE |
try { Type[] types = new Type[0]; method = ltype.GetMethod(itemkeywordsargs[1], types); } catch { }
|
which instructs GetMethod to only return a matching method that take zero args.
good point. I'll add that to the next update.