Skip to content

Instantly share code, notes, and snippets.

@xiaoxiao921
Last active March 4, 2022 20:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xiaoxiao921/fc9739d53c4755318d998c879a7aa8e2 to your computer and use it in GitHub Desktop.
Save xiaoxiao921/fc9739d53c4755318d998c879a7aa8e2 to your computer and use it in GitHub Desktop.
using BepInEx;
using RoR2;
using System;
using System.Text;
public static void Parse()
{
var stringBuilder = new StringBuilder();
stringBuilder.Append("{| class=\"wikitable\"" + Environment.NewLine +
"|+ Items" + Environment.NewLine +
"! Index" + Environment.NewLine +
"! Code Name" + Environment.NewLine +
"! Real Name" + Environment.NewLine +
"! Tier" + Environment.NewLine +
"! Tags" + Environment.NewLine +
"! DLC" + Environment.NewLine +
"|-" + Environment.NewLine + Environment.NewLine);
int i = 0;
foreach (var item in ItemCatalog.allItemDefs)
{
stringBuilder.Append($"| {i++}{Environment.NewLine}");
stringBuilder.Append($"| {item.name}{Environment.NewLine}");
stringBuilder.Append($"| {Language.GetString(item.nameToken)}{Environment.NewLine}");
string tierString = "No Tier";
switch (item.tier)
{
case ItemTier.Boss:
tierString = "Boss";
break;
case ItemTier.Lunar:
tierString = "Lunar";
break;
case ItemTier.Tier1:
tierString = "White";
break;
case ItemTier.Tier2:
tierString = "Green";
break;
case ItemTier.Tier3:
tierString = "Red";
break;
case ItemTier.VoidBoss:
tierString = "Void Boss";
break;
case ItemTier.VoidTier1:
tierString = "Void White";
break;
case ItemTier.VoidTier2:
tierString = "Void Green";
break;
case ItemTier.VoidTier3:
tierString = "Void Red";
break;
}
stringBuilder.Append($"| {tierString}{Environment.NewLine}");
for (int j = 0; j < item.tags.Length; j++)
{
var tag = item.tags[j];
if (j == 0)
{
if (item.tags.Length > 1)
stringBuilder.Append($"| {tag}, ");
else
stringBuilder.Append($"| {tag}");
}
else if (j < item.tags.Length - 1)
stringBuilder.Append($"{tag}, ");
else
stringBuilder.Append($"{tag}");
}
if (item.tags.Length == 0)
stringBuilder.Append("| No Tag");
stringBuilder.Append(Environment.NewLine);
if (item.requiredExpansion)
{
stringBuilder.Append($"| {Language.GetString(item.requiredExpansion.nameToken)}");
}
else
{
stringBuilder.Append($"| No DLC");
}
stringBuilder.Append(Environment.NewLine);
if (i == ItemCatalog.allItemDefs.Length)
{
stringBuilder.Append("|}");
}
else
stringBuilder.Append($"|-{Environment.NewLine}");
}
Log.Warning(stringBuilder);
stringBuilder.Clear();
stringBuilder.Append("{| class=\"wikitable\"" + Environment.NewLine +
"|+ Equipment" + Environment.NewLine +
"! Index" + Environment.NewLine +
"! Code Name" + Environment.NewLine +
"! Real Name" + Environment.NewLine +
"! Tier" + Environment.NewLine +
"! DLC" + Environment.NewLine +
"|-" + Environment.NewLine + Environment.NewLine);
i = 0;
foreach (var item in EquipmentCatalog.equipmentDefs)
{
stringBuilder.Append($"| {i++}{Environment.NewLine}");
stringBuilder.Append($"| {item.name}{Environment.NewLine}");
stringBuilder.Append($"| {Language.GetString(item.nameToken)}{Environment.NewLine}");
var tier = item.isLunar ? "Lunar" : "Normal";
stringBuilder.Append($"| {tier}{Environment.NewLine}");
if (item.requiredExpansion)
{
stringBuilder.Append($"| {Language.GetString(item.requiredExpansion.nameToken)}");
}
else
{
stringBuilder.Append($"| No DLC");
}
stringBuilder.Append(Environment.NewLine);
if (i == EquipmentCatalog.equipmentDefs.Length)
{
stringBuilder.Append("|}");
}
else
stringBuilder.Append($"|-{Environment.NewLine}");
}
Log.Warning(stringBuilder);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment