Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Advertisement Create a free account
<div class="row publicprofile"> <div class="col-md-3"> <img class="profilepic" src="https://secure.gravatar.com/avatar/4bea42d47cfcf11094638cda86712889?d=identicon&size=200x200"/> <hr/> <ul class="nav nav-pills nav-stacked"> <li> <a href="/gift/forid/23519">Give Gift Subscription</a> </li> <li> <a href="https://marketplace.roll20.net/wishlists/23519">View Wishlists</a> </li> <li> <a href="https://marketplace.roll20.net/myitems">View Marketplace Items</a> </li> <li> <a href="/forum/discussions_by/23519">View Topics</a> </li> <li> <a href="/forum/comments_by/23519">View Replies</a> </li> </ul> </div> <div class="col-md-9"> <h1>Dragonphire</h1> <div class="badges"> <div class="badge label label-mentor">Pro</div> </div> <span class="details"> <span class="pictos">t</span> Member since 06/27/12 \/ <span class="pictos">G</span> GM of 22 games \/ 3466 Hours Played \/ 56 Forum Posts </span> <div class="clear" style="height: 30px;"></div> <div class="row"> <div class="col-md-3"> <strong>Achievements</strong> </div> <div class="col-md-9 achievements"> <img class="showtip" src="/images/achievements/played_10h.svg" title="Getting Started. Played 10 hours in Roll20 games" > <img class="showtip" src="/images/achievements/played_50h.svg" title="Warming Up. Played 50 hours in Roll20 games" > <img class="showtip" src="/images/achievements/played_100h.svg" title="Getting Good. Played 100 hours in Roll20 games" > <img class="showtip" src="/images/achievements/playedwith_5.svg" title="Group Gatherer. Played with 5 different people on Roll20" > <img class="showtip" src="/images/achievements/playedwith_10.svg" title="Socialite. Played with 10 different people on Roll20" > <img class="showtip" src="/images/achievements/played_250h.svg" title="Sands of Time. Played 250 hours in Roll20 games" > <img class="showtip" src="/images/achievements/artpatron.svg" title="Patron of the Arts. Purchased at least one pack from the Roll20 Marketplace" > <img class="showtip" src="/images/achievements/gmfor_1.svg" title="I've Got An Idea. Run a game on Roll20" > <img class="showtip" src="/images/achievements/gmfor_5.svg" title="Friendly Neighborhood GM. Run five games on Roll20" > <img class="showtip" src="/images/achievements/rolled_100.svg" title="Them Bones. Made over 100 rolls on Roll20" > <img class="showtip" src="/images/achievements/opinionsaregood.svg" title="All Opinions are Valid. Created a post on the Roll20 Community Forums" > <img class="showtip" src="/images/achievements/bughunter.svg" title="Bughunter. Created a post in the Bug Reports forum" > <img class="showtip" src="/images/achievements/neverending.svg" title="Never Ending Story. Ran a game lasting for over six months!" > <img class="showtip" src="/images/achievements/rolled_1000.svg" title="Dice Slinger. Made over 1000 rolls on Roll20" > <img class="showtip" src="/images/achievements/played_1000h.svg" title="K Club. Played 1,000 hours in Roll20 games" > <img class="showtip" src="/images/achievements/scriptrunner.svg" title="Script Runner. Used an API script in a game" > <img class="showtip" src="/images/achievements/gmfor_10.svg" title="The Dedicated GM. Run ten games on Roll20" > <img class="showtip" src="/images/achievements/bemyneighbor.svg" title="Won't You Be My Neighbor?. Play on Roll20 for three consecutive days" > <img class="showtip" src="/images/achievements/rolled_5000.svg" title="High Roller. Made over 5000 rolls on Roll20" > <img class="showtip" src="/images/achievements/playedwith_25.svg" title="Citizen. Played with 25 different people on Roll20" > </div> </div> <div class="row"></div> </div> </div> <div class="modal fade" id="pmmodal" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <form action="/private_message/create" method="post"> <div class="modal-header"> <button class="close" type="button" data-dismiss="modal">x</button> <h3>New Private Message</h3> </div> <div class="modal-body"> <input type="hidden" name="recipients[]" value="23519"> <label><strong>Title</strong></label> <br/> <input class="title" type="text" name="title" style="width: 80%;"> <div class="clear" style="height: 10px;"></div> <textarea class="content summernote" style="width: 80%;" name="content"></textarea> <script src="https://www.google.com/recaptcha/api.js"></script> <div class="g-recaptcha" data-sitekey="6LfqKmgUAAAAADgYa5ALGTDZ_sESFg9bcYdhewmj"></div> </div> <div class="modal-footer"> <button class="btn btn-primary" type="submit">Send</button> <button class="btn" data-dismiss="modal">Cancel</button> </div> </form> </div> </div> </div> <script type="text/javascript"> $(document).ready(function() { setTimeout(function(){ $("textarea.summernote").each(d20.utils.summernoteInit); }, 500); }); $("#pmmodal form").on("submit", function() { if ($("#pmmodal input[name=title]").val() == "" || $("#pmmodal .content").val() == "") { alert("Please include both a title and content for your post."); return false; } $("#pmmodal button[type=submit]").prop("disabled", true).text("Please wait..."); }); $(".showpmmodal").on("click", function() { $("#pmmodal").modal('show'); }); $("#pmmodal .selectize").selectize({ valueField: 'value', labelField: 'name', searchField: 'name', loadThrottle: 500, options: [], create: false, preload: true, render: { option: (item, escape) => { console.log("item", item) return "<div>" + (item.recent ? "&#9733; " : "") + "<img src='" + item.avatar + "'&size=30x30' height='30 width='30'> " + item.name + "</div>"; } }, load: (query, callback) => { $.ajax({ url: "/users/recipient_search", type: "POST", dataType: "json", data: { term: query }, error: () => { callback(); }, success: (res) => { callback(res); } }); } }); var currenttime = new Date().getTime(); $(".timestamp").each(function() { var time = parseInt($.trim($(this).text()), 10); var d = Date.create(time * 1000); if (currenttime - d.getTime() > 1000 * 60 * 60 * 24) { $(this).text(d.format('{Month} {dd}') + " (" + d.relative() + ")"); } else { $(this).text(d.format('{h}:{mm}{TT}') + " (" + d.relative() + ")"); } }); $(".deletepost").on("click", function() { var postid = $(this).parents(".post").attr("data-postid"); $.post("/private_message/deletepost/" + postid + "/" + $(this).attr("data-type"), function(resp) { window.location.reload(); }); }); $(".quotepost").on("click", function() { var quotable = $(this).parents(".post").find(".postcontent").html(); var $name = $(this).parents(".post").find(".meta .name a"); $("#pmmodal textarea.summernote").summernote("pasteHTML", "<blockquote><p><em><a href=\"https://app.roll20.net" + $name.attr("href") + "\">" + $.trim($name.text()) + "</a> said:</em></p>" + quotable + "</blockquote><br><br>"); $("#pmmodal textarea.summernote").summernote('focus'); }); $(".flagpost").on("click", function() { if ($(this).hasClass('flagpost') === false) return; confirmation = ""; while (confirmation == "Please provide details" || confirmation == "") { var confirmation = prompt("Submit this post for moderator action? Please only flag posts which violate the Roll20 Code of Conduct. Press OK to notify the Moderators, Cancel to cancel."); }; if (confirmation) { var othis = this; $.post("/private_message/flagpost/" + $(this).parents(".post").attr("data-postid"), { prompt: confirmation }, function() { $(othis).removeClass("flagpost").removeAttr("href").text("Flagged!"); }); } }); $(".post").on("click", ".editpost", function() { console.log("Do edit"); let $container = $(this).parents(".post").find(".postcontent"); $container.find(".noembed-embed, .show-oembed").remove(); let oldcontent = $container.prop('outerHTML'); d20.utils.makeContentEditable($container, oldcontent); $(this).text("Save Edits"); $(this).removeClass("editpost").addClass("saveedits"); }); $(".post").on("click", ".saveedits", function() { var newcontent = $(this).parents(".post").find(".summernote").val(); var postid = $(this).parents(".post").attr("data-postid"); $.post("/private_message/editpost/" + postid, { newcontent: newcontent }, function() { window.location.reload(); }); }); $(".blockuser").on('click', function() { $(this).attr("disabled", true); $(this).text("Please wait..."); var othis = this; $.post("/account/blockuser/" + $(this).attr("data-accountid") + "/" + ($(this).attr('data-method') == 'block' ? 'block' : 'unblock'), function() { $(othis).text("Success!"); window.location.reload(); }); }); </script>