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()); }
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); } }