Ejemplo n.º 1
0
        public void Add(List <string> addArguments)
        {
            var    gemInfo     = addArguments[3].Split();
            string weaponName  = addArguments[1];
            int    socketIndex = int.Parse(addArguments[2]);
            string gemClarity  = gemInfo[0];
            string gemType     = gemInfo[1];

            Weapon weaponToBeCrafted = GetWeapon(weaponName);

            if (socketIndex >= 0 && socketIndex <= weaponToBeCrafted.Sockets.Length - 1)
            {
                switch (gemType)
                {
                case "Ruby":
                    Ruby ruby = new Ruby(gemClarity);
                    weaponToBeCrafted.Sockets[socketIndex] = ruby;
                    break;

                case "Emerald":
                    Emerald emerald = new Emerald(gemClarity);
                    weaponToBeCrafted.Sockets[socketIndex] = emerald;
                    break;

                case "Amethyst":
                    Amethyst amethyst = new Amethyst(gemClarity);
                    weaponToBeCrafted.Sockets[socketIndex] = amethyst;
                    break;
                }
            }
            weaponsList.Add(weaponToBeCrafted);
        }
Ejemplo n.º 2
0
    public Gem Create(string arguments)
    {
        var     tokens      = arguments.Split();
        var     clarityType = tokens[0];
        var     gemType     = tokens[1];
        Clarity clarity     = (Clarity)Enum.Parse(typeof(Clarity), clarityType);

        Gem gem = null;

        switch (gemType)
        {
        case "Ruby":
            gem = new Ruby(clarity);
            break;

        case "Emerald":
            gem = new Emerald(clarity);
            break;

        case "Amethyst":
            gem = new Amethyst(clarity);
            break;
        }

        return(gem);
    }
Ejemplo n.º 3
0
        public IBaseGem Create(IList <string> tokens)
        {
            string clarity = tokens[0];
            string gemType = tokens[1];

            IBaseGem gem = null;

            switch (gemType)
            {
            case "Ruby":
                gem = new Ruby(clarity);
                break;

            case "Emerald":
                gem = new Emerald(clarity);
                break;

            case "Amethyst":
                gem = new Amethyst(clarity);
                break;

            default:
                throw new ArgumentException("Invalid gem type!");
            }

            return(gem);
        }
Ejemplo n.º 4
0
    public Product CreateProduct(string productName, int number)
    {
        Product p = null;

        if (this.productDict[productName] == 6001)
        { //血气丸
            p = new FleshPill(number);
        }
        else if (this.productDict[productName] == 6002)
        { //凝神露
            p = new SparklingDew(number);
        }
        else if (this.productDict[productName] == 6003)
        { //恢复药水
            p = new RecoveryPotion(number);
        }
        else if (this.productDict[productName] == 6004)
        { //凝神聚气散
            p = new ConcentrateGather(number);
        }
        else if (this.productDict[productName] == 6005)
        { //坚韧药水
            p = new ToughPotions(number);
        }
        else if (this.productDict[productName] == 6006)
        { //神行符
            p = new Amethyst(number);
        }
        else if (this.productDict[productName] == 6007)
        { //勇气号角
            p = new CourageHorn(number);
        }
        return(p);
    }
Ejemplo n.º 5
0
    public void Add(string weaponName, int socketIndex, string gem)
    {
        var  currWeapon = Inventory[weaponName];
        IGem currGem;

        var gemInfo    = gem.Split();
        var gemQuality = gemInfo[0];
        var gemType    = gemInfo[1];

        switch (gemType)
        {
        case "Ruby":
            currGem = new Ruby(gemQuality);
            currWeapon.InsertSocket(socketIndex, currGem);
            break;

        case "Emerald":
            currGem = new Emerald(gemQuality);
            currWeapon.InsertSocket(socketIndex, currGem);
            break;

        case "Amethyst":
            currGem = new Amethyst(gemQuality);
            currWeapon.InsertSocket(socketIndex, currGem);
            break;
        }
    }
Ejemplo n.º 6
0
        public override void GenerateLoot()
        {
            Amethyst Amethyst = new Amethyst(1);

            AddToBackpack(Amethyst);

            Amethyst = new Amethyst(1);
            AddToBackpack(Amethyst);
        }
Ejemplo n.º 7
0
 public InternalSellInfo()
 {
     Add(typeof(Amber), Amber.GetSBSellValue());
     Add(typeof(Amethyst), Amethyst.GetSBSellValue());
     Add(typeof(Citrine), Citrine.GetSBSellValue());
     Add(typeof(Diamond), Diamond.GetSBSellValue());
     Add(typeof(Emerald), Emerald.GetSBSellValue());
     Add(typeof(Ruby), Ruby.GetSBSellValue());
     Add(typeof(Sapphire), Sapphire.GetSBSellValue());
     Add(typeof(StarSapphire), StarSapphire.GetSBSellValue());
     Add(typeof(Tourmaline), Tourmaline.GetSBSellValue());
 }
Ejemplo n.º 8
0
 public InternalBuyInfo()
 {
     Add(new GenericBuyInfo("Citrine", typeof(Citrine), Citrine.GetSBPurchaseValue(), 25, 0xF15, 0));
     Add(new GenericBuyInfo("Tourmaline", typeof(Tourmaline), Tourmaline.GetSBPurchaseValue(), 25, 0xF2D, 0));
     Add(new GenericBuyInfo("Amber", typeof(Amber), Amber.GetSBPurchaseValue(), 25, 0xF25, 0));
     Add(new GenericBuyInfo("Amethyst", typeof(Amethyst), Amethyst.GetSBPurchaseValue(), 25, 0xF16, 0));
     Add(new GenericBuyInfo("Ruby", typeof(Ruby), Ruby.GetSBPurchaseValue(), 25, 0xF13, 0));
     Add(new GenericBuyInfo("Sapphire", typeof(Sapphire), Sapphire.GetSBPurchaseValue(), 25, 0xF19, 0));
     Add(new GenericBuyInfo("Emerald", typeof(Emerald), Emerald.GetSBPurchaseValue(), 25, 0xF10, 0));
     Add(new GenericBuyInfo("Star Sapphire", typeof(StarSapphire), StarSapphire.GetSBPurchaseValue(), 25, 0xF21, 0));
     Add(new GenericBuyInfo("Diamond", typeof(Diamond), Diamond.GetSBPurchaseValue(), 25, 0xF26, 0));
 }
Ejemplo n.º 9
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Food);
            AddLoot(LootPack.UtilityItems);
            AddLoot(LootPack.UtilityItems);
            AddLoot(LootPack.Junk);

            Amethyst Amethyst = new Amethyst(1);

            AddToBackpack(Amethyst);

            Amethyst = new Amethyst(1);
            AddToBackpack(Amethyst);
        }
Ejemplo n.º 10
0
        public IGem CreateGem(string args)
        {
            var splittedArgs = args.Split().ToList();
            var clarity      = (Clarity)Enum.Parse(typeof(Clarity), splittedArgs[0]);
            var type         = splittedArgs[1];

            IGem gem = null;

            switch (type)
            {
            case "Ruby":
                gem = new Ruby();
                break;

            case "Emerald":
                gem = new Emerald();
                break;

            case "Amethyst":
                gem = new Amethyst();
                break;
            }

            var increaseStatsBy = 0;

            switch (clarity)
            {
            case Clarity.Chipped:
                increaseStatsBy = 1;
                break;

            case Clarity.Regular:
                increaseStatsBy = 2;
                break;

            case Clarity.Perfect:
                increaseStatsBy = 5;
                break;

            case Clarity.Flawless:
                increaseStatsBy = 10;
                break;
            }

            gem.Agility  += increaseStatsBy;
            gem.Strenght += increaseStatsBy;
            gem.Vitality += increaseStatsBy;

            return(gem);
        }
Ejemplo n.º 11
0
        public GemBuilder Create(string clarity, string type)
        {
            Gem gem = default(Gem);

            switch (type)
            {
            case "Ruby":
                gem = new Ruby(clarity);
                break;

            case "Emerald":
                gem = new Emerald(clarity);
                break;

            case "Amethyst":
                gem = new Amethyst(clarity);
                break;
            }

            Item = gem;
            return(this);
        }
Ejemplo n.º 12
0
        public IGem Create(string clarity, string gem)
        {
            IGem g = null;

            switch (gem)
            {
            case "Amethyst":
                g = new Amethyst(Enum.Parse <GemClarity>(clarity));
                break;

            case "Emerald":
                g = new Emerald(Enum.Parse <GemClarity>(clarity));
                break;

            case "Ruby":
                g = new Ruby(Enum.Parse <GemClarity>(clarity));
                break;

            default:
                break;
            }
            return(g);
        }
Ejemplo n.º 13
0
        private void AddGem()
        {
            var weaponName   = this.commandArgs[0];
            var socketIndex  = int.Parse(commandArgs[1]);
            var gemType      = commandArgs[2].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var clarityLevel = (ClarityLevel)Enum.Parse(typeof(ClarityLevel), gemType[0]);
            var gemKynd      = gemType[1];
            Gem gem;

            if (gemKynd == "Ruby")
            {
                gem = new Ruby(clarityLevel);
            }
            else if (gemKynd == "Emerald")
            {
                gem = new Emerald(clarityLevel);
            }
            else
            {
                gem = new Amethyst(clarityLevel);
            }

            this.weapons.Where(w => w.Name == weaponName).First().AddGem(socketIndex, gem);
        }
Ejemplo n.º 14
0
        public IGem CreateGem(string type, string clarity)
        {
            IGem gem = null;

            switch (type)
            {
            case "Ruby":
                gem = new Ruby(clarity);
                break;

            case "Emerald":
                gem = new Emerald(clarity);
                break;

            case "Amethyst":
                gem = new Amethyst(clarity);
                break;

            default:
                throw new ArgumentException("Invalid gem type!");
            }

            return(gem);
        }