{"id":1273,"date":"2026-09-01T15:04:47","date_gmt":"2026-09-01T19:04:47","guid":{"rendered":"https:\/\/miniquasar.com\/?post_type=product&#038;p=1273"},"modified":"2026-09-15T05:34:06","modified_gmt":"2026-09-15T09:34:06","slug":"puss-in-boots","status":"publish","type":"product","link":"https:\/\/miniquasar.com\/us\/product\/puss-in-boots\/","title":{"rendered":"Puss In Boots \u2013 Tabaxi Fencer"},"content":{"rendered":"<div class=\"tmq-below\">\n<div class=\"tmq-story\">\n<section>\n      <span class=\"label\">The full story<\/span><\/p>\n<h2>Puss In Boots \u00e2\u20ac\u201c Tabaxi Fencer<\/h2>\n<p>A loyal friend to those who might become deserving of such a title. Puss In Boots is as cunning as he is dangerous, and uses both of these traits to better the lives of his closest companions and friends. He is the close friend and confidant of the Marquis of Grimmvale, and is often tasked with ensuring the realm\u00e2\u20ac\u2122s stability and safety, especially in the ever-present threat of Mallory.<\/p>\n<p>Seen as a helping hand to the people of Grimmvale, Puss in Boots first became known several years ago; the close confidant to the Marquis of Grimmvale. Puss was in fact responsible for the Marquis\u00e2\u20ac\u2122 own ascent to his current post, with the previous one being a conniving man who bowed to the whims of Mallory. Puss slew the man in a most dastardly manner, yet at the same time groomed a commoner into the post, teaching him skills of leadership, decorum, administration and marshalship.<\/p>\n<p>Whilst some question his motivations, Puss has always plainly stated that his motivation is only to do right by those who do right to him, and others. He plainly hates wicked, evil or selfish people. Any who selflessly sacrifice for him or his own friends, become part of his network of \u00e2\u20ac\u0153friends in need.\u00e2\u20ac\u009d Those who fall into this prestigious category will find themselves receiving the aid of Puss in the most peculiar and unpredictable of ways. A gifted hat by the cat may become the very thing that brings one unparalleled fortune, or earns them a place as a folk hero among the people of Grimmvale.<\/p>\n<p>Puss In Boots is thus a sought-after figure in Grimmvale, both by the commoners, nobility, and nefarious denizens of the land. Mallory has long hunted the meddlesome feline, sending assassins against him. None have yet prevailed, and Puss\u00e2\u20ac\u2122s own tally of kills now far exceeds any of the assassins she might be able to conjure against him. Despite this affinity for bloodshed, Puss retains his good-hearted nature.<\/p>\n<\/section>\n<div class=\"tmq-reveal-head\"><span class=\"kicker\">The set<\/span><\/p>\n<p>The Tales Grimm is a campaign set of Grimmvale miniatures. Order the full lineup, or any five, and the digital campaign bundle comes with them.<\/p>\n<\/div>\n<figure class=\"tmq-reveal\"><a class=\"tmq-reveal-card\" href=\"https:\/\/miniquasar.com\/campaigns\/the-tales-grimm\/\"><span class=\"tmq-reveal-frame\"><img fetchpriority=\"high\" decoding=\"async\" class=\"tmq-reveal-a\" loading=\"eager\" width=\"420\" height=\"420\" src=\"https:\/\/miniquasar.com\/wp-content\/uploads\/2026\/09\/grimm-release-tmq.png\" alt=\"The Tales Grimm set\"><img decoding=\"async\" class=\"tmq-reveal-b\" loading=\"eager\" width=\"420\" height=\"420\" src=\"https:\/\/miniquasar.com\/wp-content\/uploads\/2026\/09\/grimm-set-minis.jpg\" alt=\"The Tales Grimm miniatures\"><\/span><\/a><\/figure>\n<div class=\"tmq-reveal-head\"><span class=\"kicker\">The campaign<\/span><\/p>\n<p>A full monthly set from Grimmvale. The sculpts work in any game. Order the full lineup, or any five miniatures, and the digital campaign bundle comes with them.<\/p>\n<\/div>\n<figure class=\"tmq-reveal\"><a class=\"tmq-reveal-card\" href=\"https:\/\/miniquasar.com\/campaigns\/the-tales-grimm\/\"><span class=\"tmq-reveal-frame\"><img decoding=\"async\" class=\"tmq-reveal-a\" loading=\"eager\" width=\"420\" height=\"420\" src=\"https:\/\/miniquasar.com\/wp-content\/uploads\/2026\/09\/campaign-grimm-cover.png\" alt=\"The Tales Grimm campaign\"><img decoding=\"async\" class=\"tmq-reveal-b\" loading=\"eager\" width=\"420\" height=\"420\" src=\"https:\/\/miniquasar.com\/wp-content\/uploads\/2026\/09\/grimm-open-book.png\" alt=\"The Tales Grimm campaign book\"><\/span><\/a><\/figure>\n<figure class=\"tmq-size-guide\">\n      <img decoding=\"async\" src=\"https:\/\/miniquasar.com\/wp-content\/uploads\/2026\/08\/size-guide-tmq.png\" alt=\"Size guide \u00e2\u20ac\u201d 32mm tabletop and 75mm display\"><br \/>\n    <\/figure>\n<\/p><\/div>\n<aside class=\"tmq-details\">\n    <span class=\"label\">Details<\/span><\/p>\n<h3>Painting<\/h3>\n<p>We specialize in custom painted miniatures, so if you are interested in painted minis, please send us a message and we will arrange that for you. All miniatures sold are unpainted, unless otherwise specified. If you would like us to add free matte black primer to the prints, you can let us know, and they&#8217;ll be ready to paint right out of the box!<\/p>\n<h3>Shipping<\/h3>\n<p>Our models are shipped assembled if they are not too delicate, but are usually separated from the base. Wings and some other parts may also be detached and need to be put together, especially for larger models. To put the pieces together, you could use epoxy putty, super glue, or any strong glue that works for plastics. This is to ensure that none of the delicate pieces break or get damaged during shipping. If you really need pieces glued together, please let us know and we will do our best to accommodate.<\/p>\n<h3>Free Miniature<\/h3>\n<p>Get a free miniature with your order. No requirements, every order gets one. It will be a random character from our store. If you order multiple minis, you may even get more than one for free! Enjoy.<\/p>\n<h3>Model Scale<\/h3>\n<p>Normal-sized miniatures come in two sizes: 32mm and 75mm, which is the height of the humanoid body, so with the base and other accessories like hats, they will end up being a little taller. 32mm is the standard size if you are playing D&amp;D on a physical battle map.<\/p>\n<p>Larger miniatures are measured by the diameter of their base. Large-sized miniatures usually have a 50mm base, huge-sized ones have a 75mm base, gargantuan ones have a 100-120mm base. For specific measurements on any model, please contact us and we&#8217;ll be happy to give you the exact numbers.<\/p>\n<h3>Creation of Miniatures<\/h3>\n<p>These models are made by the fantastic people at DM Stash, and they make incredible models, so please check them out. We are officially licensed to print and sell their models to you, so you can enjoy them too! We print them with an Elegoo Saturn 4 Ultra resin printer with 16K resolution (the highest quality available). They are printed using Elegoo Standard 3.0 Vanilla coloured resin, an expensive resin that ensures models are strong without compromising on the detail. The supports are cut off, the model is sanded if needed, and inspected to ensure perfection. The model is washed off with pure alcohol, then cured inside an Elegoo ultcuring enclosure, and prepared for printing.<\/p>\n<\/aside>\n<\/div>\n<p><script>\njQuery(function ($) {\n  var $sum = $(\"div.product .summary\");\n  function tmqMoney(prices) {\n    var raw, minor, n, prefix;\n    if (!prices) {\n      return \"\";\n    }\n    raw = prices.price;\n    minor = prices.currency_minor_unit;\n    if (typeof minor === \"undefined\") {\n      minor = 2;\n    }\n    n = Number(raw);\n    if (isNaN(n)) {\n      return \"\";\n    }\n    prefix = prices.currency_prefix;\n    if (!prefix) {\n      prefix = \"$\";\n    }\n    return prefix + (n \/ Math.pow(10, minor)).toFixed(2);\n  }\n  function tmqVarName(v) {\n    var i, a, attrs, text, idx;\n    attrs = v.attributes;\n    if (attrs) {\n      if (attrs.length) {\n        for (i = 0; i !== attrs.length; i++) {\n          a = attrs[i];\n          if (a.value) {\n            return a.value;\n          }\n          if (a.option) {\n            return a.option;\n          }\n        }\n      }\n    }\n    text = v.variation || \"\";\n    idx = text.lastIndexOf(\": \");\n    if (idx !== -1) {\n      return text.substring(idx + 2);\n    }\n    if (text) {\n      return text;\n    }\n    return \"\";\n  }\n  function tmqBlob(im) {\n    return ((im.name || \"\") + \" \" + (im.src || \"\") + \" \" + (im.thumbnail || \"\") + \" \" + (im.alt || \"\")).toLowerCase();\n  }\n  function tmqIsGuide(im) {\n    var s = tmqBlob(im);\n    if (s.indexOf(\"size-guide\") !== -1) {\n      return true;\n    }\n    if (s.indexOf(\"size_guide\") !== -1) {\n      return true;\n    }\n    if (s.indexOf(\"size guide\") !== -1) {\n      return true;\n    }\n    return false;\n  }\n  function tmqIsPack(im) {\n    var s = tmqBlob(im);\n    if (s.indexOf(\"pack-set\") !== -1) {\n      return true;\n    }\n    if (s.indexOf(\"pack_set\") !== -1) {\n      return true;\n    }\n    return false;\n  }\n  function tmqPickThumbs(imgs) {\n    var i, im, others, show;\n    others = [];\n    for (i = 0; i !== imgs.length; i++) {\n      im = imgs[i];\n      if (tmqIsGuide(im)) {\n        continue;\n      }\n      if (tmqIsPack(im)) {\n        continue;\n      }\n      others.push(im);\n    }\n    if (others.length > 4) {\n      return others;\n    }\n    show = [];\n    for (i = 0; i !== imgs.length; i++) {\n      im = imgs[i];\n      if (tmqIsGuide(im)) {\n        continue;\n      }\n      if (imgs.length > 6) {\n        if (i === 6) {\n          continue;\n        }\n      }\n      show.push(im);\n    }\n    return show;\n  }\n  function tmqRenderSizes($p, vars) {\n    var i, v, label, price, $rows, $row, $price, $link, list;\n    if (!vars) {\n      return;\n    }\n    if (!vars.length) {\n      return;\n    }\n    if ($p.find(\".tmq-size-rows\").length) {\n      return;\n    }\n    list = vars.slice().sort(function (a, b) {\n      var na = tmqVarName(a);\n      var nb = tmqVarName(b);\n      if (nb > na) {\n        return -1;\n      }\n      if (na > nb) {\n        return 1;\n      }\n      return 0;\n    });\n    $rows = $(document.createElement(\"div\")).addClass(\"tmq-size-rows\");\n    for (i = 0; i !== list.length; i++) {\n      v = list[i];\n      label = tmqVarName(v);\n      price = tmqMoney(v.prices);\n      if (!label) {\n        if (!price) {\n          continue;\n        }\n      }\n      $row = $(document.createElement(\"div\")).addClass(\"tmq-size-row\");\n      if (label) {\n        $row.append($(document.createElement(\"span\")).addClass(\"tmq-size-label\").text(label));\n      }\n      if (price) {\n        $row.append(document.createTextNode(\" \"));\n        $row.append($(document.createElement(\"span\")).addClass(\"tmq-size-amt\").text(price));\n      }\n      $rows.append($row);\n    }\n    if (!$rows.children().length) {\n      return;\n    }\n    $price = $p.find(\".price\").first();\n    $link = $p.find(\"a.woocommerce-LoopProduct-link\").first();\n    if ($price.length) {\n      $price.addClass(\"tmq-price-hide\");\n      $price.hide();\n      $price.after($rows);\n    } else {\n      if ($link.length) {\n        $link.after($rows);\n      } else {\n        $p.append($rows);\n      }\n    }\n  }\n  function tmqRenderThumbs($p, imgs) {\n    var i, im, show, $img, $photo, $thumbs, $t, thumb, full, origSrc, origSrcset;\n    if (!imgs) {\n      return;\n    }\n    if (!imgs.length) {\n      return;\n    }\n    if ($p.find(\".tmq-card-thumbs\").length) {\n      return;\n    }\n    show = tmqPickThumbs(imgs);\n    if (!show.length) {\n      return;\n    }\n    $img = $p.find(\"img\").first();\n    if (!$img.length) {\n      return;\n    }\n    origSrc = $img.attr(\"src\");\n    origSrcset = $img.attr(\"srcset\") || \"\";\n    $p.data(\"tmq-orig-src\", origSrc);\n    $p.data(\"tmq-orig-srcset\", origSrcset);\n    if (!$img.parent().hasClass(\"tmq-card-photo\")) {\n      $img.wrap($(document.createElement(\"span\")).addClass(\"tmq-card-photo\"));\n    }\n    $photo = $img.parent();\n    $thumbs = $(document.createElement(\"span\")).addClass(\"tmq-card-thumbs\");\n    for (i = 0; i !== show.length; i++) {\n      im = show[i];\n      thumb = im.thumbnail;\n      if (!thumb) {\n        thumb = im.src;\n      }\n      full = im.src;\n      if (!full) {\n        full = thumb;\n      }\n      if (!thumb) {\n        continue;\n      }\n      $t = $(document.createElement(\"img\"));\n      $t.attr(\"src\", thumb);\n      $t.attr(\"data-full\", full);\n      $t.attr(\"alt\", im.alt || im.name || \"\");\n      $thumbs.append($t);\n    }\n    $photo.append($thumbs);\n    $thumbs.on(\"click\", \"img\", function (e) {\n      var next = $(this).attr(\"data-full\");\n      e.preventDefault();\n      e.stopPropagation();\n      if (next) {\n        $img.attr(\"src\", next);\n        $img.removeAttr(\"srcset\");\n        $img.removeAttr(\"sizes\");\n      }\n      return false;\n    });\n    $p.on(\"mouseleave\", function () {\n      var src = $p.data(\"tmq-orig-src\");\n      var srcset = $p.data(\"tmq-orig-srcset\");\n      if (src) {\n        $img.attr(\"src\", src);\n      }\n      if (srcset) {\n        $img.attr(\"srcset\", srcset);\n      }\n    });\n  }\n  function tmqEnhanceCard($p) {\n    var cls, m, id;\n    if ($p.data(\"tmq-ready\")) {\n      return;\n    }\n    $p.data(\"tmq-ready\", 1);\n    cls = $p.attr(\"class\") || \"\";\n    m = cls.match(\/post-(\\d+)\/);\n    if (!m) {\n      return;\n    }\n    id = m[1];\n    $.getJSON(\"https:\/\/miniquasar.com\/wp-json\/wc\/store\/v1\/products\/\" + id, function (data) {\n      var vars;\n      if (!data) {\n        return;\n      }\n      tmqRenderThumbs($p, data.images || []);\n      vars = data.variations;\n      if (!vars) {\n        return;\n      }\n      if (!vars.length) {\n        return;\n      }\n      if (vars[0].prices) {\n        tmqRenderSizes($p, vars);\n        return;\n      }\n      $.getJSON(\n        \"https:\/\/miniquasar.com\/wp-json\/wc\/store\/v1\/products\",\n        { type: \"variation\", parent: id },\n        function (list) {\n          tmqRenderSizes($p, list);\n        }\n      );\n    });\n  }\n  var $form = $(\"form.variations_form\");\n  if ($form.length) {\n    var variations = $form.data(\"product_variations\");\n    if (!variations) {\n      variations = [];\n    }\n    $form.find(\"select\").each(function () {\n      var $sel = $(this);\n      var $box, current, usable;\n      usable = $sel.find(\"option[value]\").filter(function () {\n        return this.value;\n      });\n      if (!(usable.length >= 2)) {\n        return;\n      }\n      $sel.addClass(\"tmq-size-native\");\n      $box = $(document.createElement(\"div\")).addClass(\"tmq-size-picks\").attr(\"role\", \"radiogroup\").attr(\"aria-label\", \"Size\");\n      $sel.find(\"option\").each(function () {\n        var val = this.value;\n        var label, price, priceText, $btn, i, a, k;\n        if (!val) {\n          return;\n        }\n        label = (this.text || val).replace(\/^Choose an option\/i, \"\").trim();\n        price = \"\";\n        for (i = 0; i !== variations.length; i++) {\n          a = variations[i].attributes || {};\n          for (k in a) {\n            if (a[k] === val) {\n              if (variations[i].display_price != null) {\n                price = variations[i].display_price;\n              }\n            }\n          }\n        }\n        priceText = \"\";\n        if (price !== \"\") {\n          priceText = \"$\" + Number(price).toFixed(2);\n        }\n        $btn = $(document.createElement(\"button\")).attr(\"type\", \"button\").addClass(\"tmq-size-pick\").attr(\"role\", \"radio\").attr(\"aria-checked\", \"false\");\n        $btn.attr(\"data-value\", val);\n        $btn.append($(document.createElement(\"span\")).addClass(\"tmq-size-name\").text(label));\n        if (priceText) {\n          $btn.append($(document.createElement(\"span\")).addClass(\"tmq-size-price\").text(priceText));\n        }\n        $btn.on(\"click\", function () {\n          $box.find(\".tmq-size-pick\").removeClass(\"is-on\").attr(\"aria-checked\", \"false\");\n          $(this).addClass(\"is-on\").attr(\"aria-checked\", \"true\");\n          $sel.val(val).trigger(\"change\");\n        });\n        $box.append($btn);\n      });\n      $sel.after($box);\n      current = $sel.val();\n      if (current) {\n        $box.find('[data-value=\"' + current + '\"]').addClass(\"is-on\").attr(\"aria-checked\", \"true\");\n      } else {\n        $box.find(\".tmq-size-pick\").first().trigger(\"click\");\n      }\n    });\n  }\n  var paintHref = \"https:\/\/miniquasar.com\/contact\/\";\n  var paintHtml = $(document.createElement(\"a\")).addClass(\"tmq-paint-link\").attr(\"href\", paintHref).text(\"Inquire about Painted Miniatures\");\n  var $after;\n  if ($sum.length) {\n    if (!$sum.find(\".tmq-paint-link\").length) {\n      $after = $sum.find(\".tmq-size-picks\").first();\n      if ($after.length) {\n        $after.after(paintHtml);\n      } else {\n        $sum.find(\"form.cart\").before(paintHtml);\n      }\n    }\n  }\n});\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unpainted 16K resin miniature. Sizes 32mm and 75mm. Made to order in Canada.<\/p>\n<p class=\"tmq-chips\"><span>NPC<\/span><span>Beastfolk<\/span><span>Normal<\/span><\/p>\n<div class=\"tmq-set\"><span class=\"label\">Campaign set<\/span><\/p>\n<h3>The Tales Grimm<\/h3>\n<p>This miniature belongs to The Tales Grimm.<\/p>\n<p><a class=\"tmq-set-link\" href=\"https:\/\/miniquasar.com\/campaigns\/the-tales-grimm\/\">View the set<\/a><\/div>\n","protected":false},"featured_media":1276,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"default","_kad_post_title":"","_kad_post_layout":"default","_kad_post_sidebar_id":"","_kad_post_content_style":"default","_kad_post_vertical_padding":"default","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":""},"product_brand":[],"product_cat":[24,90],"product_tag":[],"class_list":["post-1273","product","type-product","status-publish","has-post-thumbnail","product_cat-individual-minis","product_cat-the-tales-grimm","pa_class-artificer","pa_class-rogue","pa_gender-male","pa_mini-type-humanoid","pa_race-beastfolk","pa_set-the-tales-grimm","pa_size-32mm","pa_size-75mm","pa_tabletop-size-normal","first","instock","taxable","shipping-taxable","purchasable","product-type-variable","entry","content-bg","loop-entry"],"_links":{"self":[{"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product\/1273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/comments?post=1273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/media\/1276"}],"wp:attachment":[{"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/media?parent=1273"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product_brand?post=1273"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product_cat?post=1273"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product_tag?post=1273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}