{"id":2147,"date":"2026-09-10T16:26:04","date_gmt":"2026-09-10T20:26:04","guid":{"rendered":"https:\/\/miniquasar.com\/?post_type=product&#038;p=2147"},"modified":"2026-10-01T08:06:08","modified_gmt":"2026-10-01T12:06:08","slug":"varathos-warden-of-syelden","status":"publish","type":"product","link":"https:\/\/miniquasar.com\/us\/product\/varathos-warden-of-syelden\/","title":{"rendered":"Varathos \u2013 Warden of Syelden"},"content":{"rendered":"<div class=\"tmq-below\">\n<div class=\"tmq-story\">\n<section>\n      <span class=\"label\">The full story<\/span><\/p>\n<h2>Varathos \u2013 Warden of Syelden<\/h2>\n<p>One of the many wardens of Namneri who prowl the halls of Syelden, ensuring everything is as it should be. As Namneri designed it. They are mostly instilled to keep watch of malevolent forces that might infiltrate the home of the divine, and punish those who have tainted the holy place in their afterlife.<\/p>\n<p>A devout priest of Namneri in life, in death Varathos was given the honour to be among the ranks of the Wardens of Syelden. Those who wander the halls and infinite planes of the afterlife, ensuring things are as they should be: no wayward or evil souls have made their way into its endless confines, nor any souls within create a plane that is unbecoming of the afterlife\u2019s pure nature. Though exile is not always the punishment for such offenses, but a place of confinement in which the wayward souls might atone for their sins and misdoings, before they receive a renewed judgement.<\/p>\n<p>The prisons of Syelden are a place where wayward souls are confined, faced with the perils and misdoings of their lives, forced to relive them in full, their eyes placed through the perspectives of those whom they wronged. Abusers become the abused, thieves their victims, adulterers the scorned spouse. Yet it is not needless cruelty. Varathos himself has seen many souls endeavour in a final repentance in these revelations. Whilst truly unforgivable sins cannot be rebuked, lesser sins by greater souls can. In such understanding, a final peace is found, and the soul is released to Syelden. Varathos, as a Warden, is both the shepherd to that soul, and the sentinel against it.<\/p>\n<p>Now as Syelden is attacked, many of these souls are at risk of undoing their peace, easily corrupted by Mindoriel\u2019s Spawn. Varathos must do his best to prevent such a calamity from occurring, whilst defending the afterlife from the spawn of evil.<\/p>\n<\/section>\n<div class=\"tmq-reveal-head\"><span class=\"kicker\">The set<\/span><\/p>\n<p>The dark forces of Mindoriel\u2019s Spawn have invaded Syelden, the Endless End. Tharador\u2019s afterlife of infinite planes, each tailored to the souls that reside there. The Tharameni and their devout protectors must fend off the evil of Idinhelieth, the harbinger of disease and pestilence, before his rot corrupts even the most pure of places. Should they fail, the afterlife would become a torturous hell for all.<\/p>\n<\/div>\n<figure class=\"tmq-reveal\"><a class=\"tmq-reveal-card\" href=\"https:\/\/miniquasar.com\/campaigns\/hell-at-heavens-gate\/\"><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\/hell-gate-release-tmq.png\" alt=\"Hell at Heaven's Gate set\"><img decoding=\"async\" class=\"tmq-reveal-b\" loading=\"eager\" width=\"420\" height=\"420\" src=\"https:\/\/miniquasar.com\/wp-content\/uploads\/2026\/09\/hell-gate-set-minis.png\" alt=\"Hell at Heaven's Gate miniatures\"><\/span><\/a><\/figure>\n<div class=\"tmq-reveal-head\"><span class=\"kicker\">The campaign<\/span><\/p>\n<p>In Divine Gambit Pt III the party awakes in the blackness of the void, after having suffered an untimely end. They discover, however, that the sanctuary of heaven has been breached by the forces of evil, who are slowly destroying the fabric of the afterlife. They must band together with other survivors to drive the forces of the abyss out, restoring order to Syelden and the infinite planes that exist within it.<\/p>\n<\/div>\n<figure class=\"tmq-reveal\"><a class=\"tmq-reveal-card\" href=\"https:\/\/miniquasar.com\/campaigns\/hell-at-heavens-gate\/\"><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\/hell-gate-campaign-cover.png\" alt=\"Hell at Heaven's Gate campaign\"><img decoding=\"async\" class=\"tmq-reveal-b\" loading=\"eager\" width=\"420\" height=\"420\" src=\"https:\/\/miniquasar.com\/wp-content\/uploads\/2026\/09\/hell-open-book.png\" alt=\"Hell at Heaven's Gate 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 \u2014 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 in Canada.<\/p>\n<p class=\"tmq-chips\"><span>Humanoid<\/span><span>Celestial<\/span><span>Normal<\/span><\/p>\n<div class=\"tmq-set\"><span class=\"label\">Campaign set<\/span><\/p>\n<h3>Hell at Heaven&#8217;s Gate<\/h3>\n<p><a class=\"tmq-set-link\" href=\"https:\/\/miniquasar.com\/campaigns\/hell-at-heavens-gate\/\">View the set<\/a><\/div>\n","protected":false},"featured_media":2150,"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":[110],"product_tag":[],"class_list":["post-2147","product","type-product","status-publish","has-post-thumbnail","product_cat-hell-at-heavens-gate","pa_class-sorcerer","pa_class-warlock","pa_gender-male","pa_mini-type-humanoid","pa_race-celestial","pa_set-hell-at-heavens-gate","pa_size-32mm","pa_size-75mm","pa_tabletop-size-normal","first","instock","taxable","shipping-taxable","purchasable","product-type-variable","has-default-attributes","entry","content-bg","loop-entry"],"_links":{"self":[{"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product\/2147","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=2147"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/media\/2150"}],"wp:attachment":[{"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/media?parent=2147"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product_brand?post=2147"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product_cat?post=2147"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/miniquasar.com\/us\/wp-json\/wp\/v2\/product_tag?post=2147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}