コード例 #1
0
        public static Database.Records.WorldItemRecord GenerateItem(World.Network.WorldClient client, int templateID, bool canGenerateMount = true)
        {
            try
            {
                Database.Records.ItemRecord      template = Database.Cache.ItemCache.Cache.First(x => x.ID == templateID);
                Database.Records.WorldItemRecord item     = new Database.Records.WorldItemRecord();
                item.Template       = templateID;
                item.Engine.Effects = template.Engine.GetRandomEffect();
                item.Owner          = client.Character.ID;
                item.Effects        = item.Engine.StringEffect();
                item.Position       = -1;
                item.Quantity       = 1;

                item.SaveAndFlush();

                if (canGenerateMount)
                {
                    Database.Records.MountTemplateRecord mount = Helper.MountHelper.GetMountTemplateByScrool(item.Template);
                    if (mount != null)
                    {
                        Database.Records.WorldMountRecord newWMount = Game.Mounts.MountFactory.CreateMount(mount, item.ID, client.Character.ID);
                    }
                }

                return(item);
            }
            catch (Exception e)
            {
                Utilities.ConsoleStyle.Error("Cant generate items : " + e.ToString());
                return(null);
            }
        }
コード例 #2
0
 public static Database.Records.WorldMountRecord CreateMount(Database.Records.MountTemplateRecord template, int scroll, int owner)
 {
     Database.Records.WorldMountRecord newMount = new Database.Records.WorldMountRecord()
     {
         ScrollID  = scroll,
         Owner     = owner,
         Stats     = template.Engine.RefreshStatForLevel(1),
         MountType = template.ID,
         Level     = Utilities.ConfigurationManager.GetIntValue("MountStartLevel"),
         Exp       = 0,
         Name      = Utilities.ConfigurationManager.GetStringValue("MountBaseName"),
         Ancestors = ",,,,,,,,,,,,,",
         Energy    = 1000,
     };
     newMount.SaveAndFlush();
     Database.Cache.WorldMountCache.Cache.Add(newMount);
     newMount.LoadStats();
     return(newMount);
 }