public void ProgressCraftStat(CraftStat stat)
        {
            switch (stat)
            {
                case CraftStat.Weaponsmithing:
                case CraftStat.Focuscrafting:
                case CraftStat.Armorsmithing:
                case CraftStat.Leatherworking:
                case CraftStat.Tailoring:
                case CraftStat.Alchemy:
                    if (CraftSkillCollection[stat] < 410)
                        CraftSkillCollection[stat]++;
                    break;

                case CraftStat.ClothExtraction:
                case CraftStat.MetalExtraction:
                case CraftStat.AlchemyExtraction:
                case CraftStat.LeatherExtraction:
                    if (!ExtractSkillCollection.ContainsKey(stat))
                        ExtractSkillCollection.Add(stat, 0);
                    if (ExtractSkillCollection[stat] < 13)
                        ExtractSkillCollection[stat]++;
                    break;
            }

            //TODO:
            //new SpCharacterCraftStats(Parent).Send(Parent.PState);
        }
示例#2
0
        public void ProgressCraftStat(Player player, CraftStat craftStat)
        {
            if (craftStat.GetHashCode() > 6)
            {
                Logger.WriteLine(LogState.Warn, "CraftService: Try to progress wrong stat {0}", craftStat.ToString());
            }

            player.PlayerCraftStats.ProgressCraftStat(craftStat);

            List <int> toRemove = new List <int>();

            for (int i = 0; i < player.Recipes.Count; i++)
            {
                if (player.PlayerCraftStats.CraftSkillCollection[craftStat] > Data.Data.Recipes[player.Recipes[i]].ReqMax)
                {
                    toRemove.Add(player.Recipes[i]);
                }
            }

            foreach (int i in toRemove)
            {
                player.Recipes.Remove(i);
            }

            UpdateCraftRecipes(player);
        }
示例#3
0
        public void ProgressCraftStat(CraftStat stat)
        {
            switch (stat)
            {
            case CraftStat.Weaponsmithing:
            case CraftStat.Focuscrafting:
            case CraftStat.Armorsmithing:
            case CraftStat.Leatherworking:
            case CraftStat.Tailoring:
            case CraftStat.Alchemy:
                if (CraftSkillCollection[stat] < 410)
                {
                    CraftSkillCollection[stat]++;
                }
                break;

            case CraftStat.ClothExtraction:
            case CraftStat.MetalExtraction:
            case CraftStat.AlchemyExtraction:
            case CraftStat.LeatherExtraction:
                if (!ExtractSkillCollection.ContainsKey(stat))
                {
                    ExtractSkillCollection.Add(stat, 0);
                }
                if (ExtractSkillCollection[stat] < 13)
                {
                    ExtractSkillCollection[stat]++;
                }
                break;
            }

            //TODO:
            //new SpCharacterCraftStats(Parent).Send(Parent.PState);
        }
示例#4
0
        public void InitCraft(Player player, CraftStat craftStat)
        {
            new SpSystemWindow(SystemWindow.Hide).Send(player.Connection);
            new SpCraftWindow(craftStat).Send(player.Connection);

            UpdateCraftStats(player);
            UpdateCraftRecipes(player);
        }
示例#5
0
        public void InitCraft(Player player, CraftStat craftStat)
        {
            new SpSystemWindow(SystemWindow.Hide).Send(player.Connection);
            new SpCraftWindow(craftStat).Send(player.Connection);

            UpdateCraftStats(player);
            UpdateCraftRecipes(player);
        }
 public short GetCraftSkills(CraftStat craftStat)
 {
     switch (craftStat)
     {
         case CraftStat.Weaponsmithing:
         case CraftStat.Focuscrafting:
         case CraftStat.Armorsmithing:
         case CraftStat.Leatherworking:
         case CraftStat.Tailoring:
         case CraftStat.Alchemy:
             return CraftSkillCollection[craftStat];
         default:
             return ExtractSkillCollection[craftStat];
     }
 }
示例#7
0
        public short GetCraftSkills(CraftStat craftStat)
        {
            switch (craftStat)
            {
            case CraftStat.Weaponsmithing:
            case CraftStat.Focuscrafting:
            case CraftStat.Armorsmithing:
            case CraftStat.Leatherworking:
            case CraftStat.Tailoring:
            case CraftStat.Alchemy:
                return(CraftSkillCollection[craftStat]);

            default:
                return(ExtractSkillCollection[craftStat]);
            }
        }
示例#8
0
        public void ProgressCraftStat(Player player, CraftStat craftStat)
        {
            if(craftStat.GetHashCode() > 6)
            {
                Log.Warn("CraftService: Try to progress wrong stat {0}", craftStat.ToString());
            }

            player.PlayerCraftStats.ProgressCraftStat(craftStat);

            List<int> toRemove = new List<int>();

            for (int i = 0; i < player.Recipes.Count; i++)
            {
               if(player.PlayerCraftStats.CraftSkillCollection[craftStat] > Data.Data.Recipes[player.Recipes[i]].ReqMax)
                   toRemove.Add(player.Recipes[i]);
            }

            foreach (int i in toRemove)
                player.Recipes.Remove(i);

            UpdateCraftRecipes(player);
        }
示例#9
0
 public void ProcessCraftStat(Player player, CraftStat craftStat)
 {
     player.PlayerCraftStats.ProgressCraftStat(craftStat);
     new SpCharacterCraftStats(player).Send(player.Connection);
 }
示例#10
0
 public SpCraftWindow(CraftStat craftStat)
 {
     CraftStat = craftStat;
 }