private static String ReplaceComplexTag(String str, StringBuilder word, ref Int32 index, ref Int32 length) { Int32 offset = length; String incompleteTag; if (BattleFormatter.IsIncompleteTag(str, '}', word, ref index, ref length, out incompleteTag)) { return(incompleteTag); } String result; switch (word.ToString(0, offset)) { case "{W": result = "[STRT=" + String.Join(",", (word.ToString(offset, length - offset - 1) + ']').Split('H')); return(result); case "{Variable ": result = "[NUMB="; break; case "{Icon ": result = "[ICON="; break; case "{Icon+ ": result = "[PNEW="; break; case "{Speed ": result = "[SPED="; break; case "{Text ": result = "[TEXT="; break; case "{Widths ": result = "[WDTH="; break; case "{Time ": result = "[TIME="; break; case "{Wait ": result = "[WAIT="; break; case "{Center ": result = "[CENT="; break; case "{Item ": result = "[ITEM="; break; case "{PreChoose ": result = "[PCHC="; break; case "{PreChooseMask ": result = "[PCHM="; break; case "{Position ": result = "[MPOS="; break; case "{Offset ": result = "[OFFT="; break; case "{Mobile ": result = "[MOBI="; break; case "{y": result = "[YADD="; break; case "{y-": result = "[YSUB="; break; case "{f": result = "[FEED="; break; case "{x": result = "[XTAB="; break; case "{Table ": result = "[TBLE="; break; default: return(word.ToString()); } result += word.ToString(offset, length - offset - 1) + ']'; return(result); }