Do you have access to Lua? If you do just call the Lua Functions, then you don't need to update every patch...
Code:
public override string Name
{
get
{
lock (this)
{
string randomStringResult = Others.GetRandomString(Others.Random(4, 10));
Lua.LuaDoString(randomStringResult + ", _, _, _, _, _, _, _ = GetItemInfo(" + Entry + ")");
return Lua.GetLocalizedText(randomStringResult);
}
}
Alternatively... I believe you can read the Item DBCache
Last time I checked you would need to use the CacheRowPtr + offset;
The offsets I used(quite a while back where these; they may have changed)
Code:
public uint ItemNamePtr = 0x190;
public uint ItemLocalizedNamePtr = 0x218;