<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE muclient>

<muclient>
<plugin
   name="TattoosList"
   author="Keldar"
   id="e77b670a785024d4c951342a"
   language="Lua"
   purpose="Makes a list of tattoos more readable"
   date_written="2006-09-17"
   requires="3.80"
   version="1.1"
   >
<description trim="y">
<![CDATA[
To use enter "tattoos" or "tats".

Displays a list of your tattoos in a different,
more readible format.
]]>
</description>

</plugin>


<aliases>
  <alias
   script="get_tattoos"
   match="^\s*tat(?:too)?s\s*$"
   enabled="y"
   regexp="y"
   sequence="100"
  >
  </alias>
</aliases>


<!--  Script  -->


<script>
<![CDATA[
require "flc.kwait"
require "tprint"

local wait = kwait

function display_prompt(styles)
  for _, style in ipairs(styles) do
    ColourTell(RGBColourToName(style.textcolour), RGBColourToName(style.backcolour), style.text)
  end
  Tell("\n")
end

function get_tattoos()
wait.make ( function ()
  
  local t = {["right arm"] = false,
            ["left arm"] = false,
            ["right leg"] = false,
            ["left leg"] = false,
            ["head"] = false,
            ["torso"] = false}
            
  Send("tattoos")
  line, wildcs = wait.regexp([[^You have the following tattoos\:$]], 5, true)
  
  while true do
    line,wildcs,styles = wait.regexp([[^(?:An? (?P<tattoo>\w+) tattoo on the (?P<place>[a-z ]+)\.(?: \((?P<uses>\d+) uses? left\))?|]] ..
                                [[\d+h, \d+m(?:, \d+e|)(?:, \d+w|) c?e?x?k?d?b?\@?-)$]], 5, true)

    if not string.find(line, "^%d+h, %d+m") then
      local tat = {}
      t[wildcs.place] = {tattoo = wildcs.tattoo}
      if wildcs.uses and wildcs.uses ~= "" then
        t[wildcs.place].uses = wildcs.uses
      end
    else
      break
    end
  end
  
  
  ColourNote("silver", "", "You have the following tattoos:")
  for place, tat in pairs(t) do
    ColourTell("green", "", string.rep(" ", 10-#place) .. place,
               "silver", "", " - ")
    if tat then
      ColourTell("olive", "", tat.tattoo)
      if tat.uses then
        ColourTell("olive", "", " (" .. tat.uses .. ")")
      end
    end
    Tell("\n")
  end  
  display_prompt(styles)

end)

end
]]>
</script>


</muclient>
