Ejemplo n.º 1
0
        static public FItem CreateRandomItem(int luck)
        {
            Random rand = new Random();

            if (itemConfs == null)
            {
                // ???
                FItem newItem = new FItem();
                newItem.item_type = (ItemType)rand.Next(1, 7);

                var names = namePool[newItem.item_type];
                newItem.name      = names[rand.Next(0, names.Length - 1)];
                newItem.icon_name = newItem.name;

                newItem.health_value       = luck;
                newItem.speed_value        = luck;
                newItem.damage_value       = luck;
                newItem.intelligence_value = luck;
                newItem.defence_value      = luck;
                newItem.silver_value       = 1 + luck * 5;
                return(newItem);
            }
            else
            {
                var itemConf = itemConfs[rand.Next(0, itemConfs.Count - 1)];
                return(CreateSpecificItem(itemConf.name, itemConf.icon, itemConf.type, luck));
            }
        }
Ejemplo n.º 2
0
        static public FItem FromDItem(DItem item)
        {
            FItem fItem = new FItem();

            fItem.item_id   = item.item_id;
            fItem.item_type = item.item_type;
            fItem.name      = item.name;
            fItem.icon_name = item.icon_name;

            fItem.health_value       = item.health_value;
            fItem.speed_value        = item.speed_value;
            fItem.damage_value       = item.damage_value;
            fItem.intelligence_value = item.intelligence_value;
            fItem.defence_value      = item.defence_value;
            fItem.silver_value       = item.silver_value;

            return(fItem);
        }
Ejemplo n.º 3
0
        static public FItem CreateSpecificItem(string name, string icon, ItemType type, int luck)
        {
            FItem  newItem = new FItem();
            Random rand    = new Random();

            newItem.name      = name;
            newItem.icon_name = icon;
            newItem.item_type = type;
            if (newItem.name == "HealthElixir")
            {
                newItem.health_value       = 0;
                newItem.speed_value        = 0;
                newItem.damage_value       = 0;
                newItem.intelligence_value = 0;
                newItem.defence_value      = 0;
                newItem.silver_value       = 10;
            }
            else
            {
                // base value  10% luck ~ 20% luck
                double dluck = luck;
                newItem.health_value       = (int)Math.Ceiling(dluck * (rand.Next(100, 200) / 1000d));
                newItem.speed_value        = (int)Math.Ceiling(dluck * (rand.Next(100, 200) / 1000d));
                newItem.damage_value       = (int)Math.Ceiling(dluck * (rand.Next(100, 200) / 1000d));
                newItem.intelligence_value = (int)Math.Ceiling(dluck * (rand.Next(100, 200) / 1000d));
                newItem.defence_value      = (int)Math.Ceiling(dluck * (rand.Next(100, 200) / 1000d));
                switch (type)
                {
                case ItemType.Helmet:     // intelligence first
                    newItem.intelligence_value += luck * 9 / 10;
                    newItem.health_value       += luck / 10;
                    break;

                case ItemType.Armour:     // defence first
                    newItem.defence_value += luck * 4 / 5;
                    newItem.health_value  += luck / 5;
                    break;

                case ItemType.Shoes:     // speed first
                    newItem.speed_value  += luck * 4 / 5;
                    newItem.health_value += luck / 5;
                    break;

                case ItemType.Leftweapon:     // damage first
                    newItem.damage_value += luck / 2;
                    newItem.health_value += luck / 2;
                    break;

                case ItemType.Rightweapon:     // damage first
                    newItem.damage_value += luck / 2;
                    newItem.health_value += luck / 2;
                    break;

                case ItemType.Legging:     // speed & defence
                    newItem.speed_value   += luck / 3;
                    newItem.defence_value += luck / 3;
                    newItem.health_value  += luck / 3;
                    break;
                }
                newItem.silver_value = newItem.health_value + newItem.speed_value + newItem.damage_value + newItem.intelligence_value + newItem.defence_value;
            }
            return(newItem);
        }