mrbot/common/StringHelpers.iss
2023-12-08 15:07:11 -06:00

37 lines
1.1 KiB
Plaintext

objectdef MRStringHelpers
{
static member:string GetLastWord(string spellName)
{
variable int tokenCount = ${spellName.Count[" "]}
return ${spellName.Token[${tokenCount:Inc}, " "].Trim}
}
static member:bool IsRomanNumearl(string value)
{
variable int currentIndex
for (currentIndex:Set[1] ; ${currentIndex} < ${value.Length} ; currentIndex:Inc)
{
if !${value.Mid[${currentIndex}, 1].Equal["i"]} && !${value.Mid[${currentIndex}, 1].Equal["v"]} && !${value.Mid[${currentIndex}, 1].Equal["x"]}
{
return FALSE
}
}
return TRUE
}
static member:string StripRomanNumerals(string spellName)
{
variable string lastWord = ${MRStringHelpers.GetLastWord[${spellName}]}
if ${MRStringHelpers.IsRomanNumearl[${lastWord}]}
{
variable int baseStringLength
baseStringLength:Set[${spellName.Length} - ${lastWord.Length}]
return ${spellName.Mid[1, ${baseStringLength}].Trim}
}
return ${spellName}
}
}