Ejemplo n.º 1
0
        internal static string[] GetModSlots(Unit unit)
        {
            var strings   = new List <string>();
            var itemSlots = unit.GetStat("item_slots");

            if (itemSlots is int)
            {
                return(strings.ToArray());
            }

            foreach (var slot in (Dictionary <string, object>)itemSlots)
            {
                switch (slot.Key)
                {
                case "fuel":
                    strings.Add(WikiScript.GetImage("fuel", 15) + " " + slot.Value);
                    break;

                case "relic":
                    strings.Add(WikiScript.GetImage("relic", 15) + " " + slot.Value);
                    break;

                case "tech":
                    strings.Add(WikiScript.GetImage("tech", 15) + " " + slot.Value);
                    break;

                case "battery":
                    strings.Add(WikiScript.GetImage("battery", 15) + " " + slot.Value);
                    break;

                case "ammo":
                    strings.Add(WikiScript.GetImage("ammo", 15) + " " + slot.Value);
                    break;

                case "rockets":
                    strings.Add(WikiScript.GetImage("rocket", 15) + " " + slot.Value);
                    break;

                default:
                    throw new Exception("Unknown mod slot: " + slot.Key);
                }
            }
            return(strings.ToArray());
        }
Ejemplo n.º 2
0
        internal object GetDropContent(ClassType val1, int val2)
        {
            switch (val1)
            {
            case ClassType.Item:
                var itemTable = Manager.GetDataTable("ITEMS");
                var itemRow   = itemTable.Rows[val2];
                var itemName  = (string)itemRow["String_string"];
                itemName = WikiScript.GetWikiArticleLink(itemName);
                return(itemName);

            case ClassType.Unit:
                var unitTable = Manager.GetDataTable("UNITTYPES");
                var unitRow   = unitTable.Rows[val2];
                var unitName  = WikiScript.GetFormattedString((string)unitRow["type"]);
                return(unitName);

            case ClassType.Treasure:
                var data = Manager.GetDataTable("TREASURE").Rows[val2];
                return(new Treasure(data, this));

            case ClassType.Quality:
                var qualityTable = Manager.GetDataTable("ITEM_QUALITY");
                var qualityRow   = qualityTable.Rows[val2];
                var qualityName  = (string)qualityRow["displayName_string"];
                return(qualityName);

            case ClassType.Nothing:
                return("Nothing");

            case 0:
            case ClassType.Test1:
            case ClassType.Test2:
                return(null);

            default:
                throw new ArgumentException("Unknown drop type: " + val1);
            }
        }