Destiny 2: Best Warlock Stats (2022) (2023)

");$( "#content-area" ).prepend($addFlag);} } // This function handles the animation of the new table of contents, which currently contains: // 1. Change the table of contents between and to prevent it from hiding the info section in the footer; function handleTocAnim($tocBox, winHeight, docHeight, scrollTop) { // we'll check if we're near the end to show an animation to hide the table of contents, so no // cover the info section in the footer var bottomBuffer = 384; //px var isNearBottom = scrollTop + winHeight > docHeight - bottomBuffer; // get the value for the animFlag key var tocAnimating = $ " animFlag" ) ; // If ToC was hidden by the fade animation, the display is 'none' when // the animation ends var tocHidden = $tocBox.css( 'display' ) === 'none'; if ( isNearBottom ) { // If we are almost at the end and the summary is not animated // and it is not hidden, hide it if( !tocAnimating & & !tocHidden ) { $ "animFlag", true ) $tocBox.fadeOut( 400, function () { $ "ani mFlag", false) ; }); } } else { // If we're not at the bottom and the table of contents is neither animated // nor hidden, show it if( !tocAnimating && tocHidden ) { $ "animFlag", true ); $tocBox.fadeIn( 400, function() { $ "animFlag", false ); }); } } }// Calculates the height available for the ToC box; function calcAvailableHeight( height ) { return height * 80.0 / 100.0;} // This function resizes certain elements of the page depending // on the size of the window and if the table of contents is present // to keep things consistent. // The Debug boolean argument allows verbose logging. ; function handleReflow($, winOuterWidth, winInnerHeight, maxMobileWidth, debug) { if (debug) { console.log("Checking if page layout should be redistributed...");} // We want to redistribute layout if we do or do has no index, // with bool hasTOC as flag if present on page var tocFlag = $("#content-side");var hasToC = true; // FORCE HAS TOC, DEPLOY SITE WIDE -supersoup // Check the number of H2 elements. If <= 3, return early var numH2 = $("h2");if( numH2.length <= 3 ) {return;}// Cache varsvar $mainContainer = $("#main-content");var $logoContainer = $(".hgg-logo-space");var $navContainer = $(".hgg-menu-icon");var $contentArea = $("#content-area"); // Check Variables null var anyNull = $mainContainer.length && $logoContainer.length && $navContainer.length && $contentArea.length;if( !($mainContainer.length) && debug ) { console.log( "$mainContainer null in reflowLayout... "); } if( !($logoContainer.length) && debug ) { console.log( "$logoContainer null in reflowLayout..." );}if( !($navContainer.length) && debug ) { console.log( "$ navContainer null in reflowLayout...")}if( !($contentArea.length) && debug ) {console.log( "$contentArea null in reflowLayout..." );} if( debug ) {console.log( " anyNull : " + anyNull );console.log( "hasTOC: " + hasToC );}if( hasToC ) { // The offsetTopForView initialization process above did not work well when // the page was refreshed, while d posting partially closed, change ching to extract // the main header height for consistency -supersoupvar offsetTopForView = $("#main-header").height() ; //pxvar $toc = $( ".toc-box" );if( $toc.length > 0 ) {var availableHeight = calcAvailableHeight( winInnerHeight - offsetTopForView );if( debug ) { console.log( "window.innerHeight: " + winInnerHeight );console.log( "availableHeight: " + availableHeight );console.log( "toc[0].scrollHeight: " + $toc[0].scrollHeight );console.log( "toc.height() : " + $toc.height() );}if($toc.outerHeight() > availableHeight ) {$toc.css( 'height', availableHeight );if( debug ) {console.log( "Height configuration of ToC to ", availableHeight );}} else {var newHeight = availableHeight < $toc[0].scrollHeight ? availableHeight : $toc[0].scrollHeight;$toc.css( 'height', newHeight );if( debug ) { console.log( "Setting ToC height to ", newHeight );}}/*// Update the highest size variable maxSize = $ "maxSize" );var outsideHeight = $toc.outerHeight;if( maxSize === 0 || maxSize == undefined || maxSize == NaN || maxSize < cssHeight ) {$ knock . data("maxSize", $toc.outerHeight);console.log( "maxSize is now " + $toc.outerHeight );}*/if( $toc.height() < $toc[0].scrollHeight ) {$ toc .css( 'overflow-x', 'hidden' );$toc.css( 'overflow-y', 'auto' );}else {$toc.css( 'overflow-x', 'hidden' ); $toc.css( 'overflow-y', 'none' );}}if( winOuterWidth >= 1600 ) {$mainContainer.css( "margin-left", "15.95rem" );$logoContainer.css( "margin -left", "-6.1rem" );$navContainer.css( "right margin", "-8.0rem" );} else if( winOuterWidth < 1600 && winOuterWidth > maxMobileWidth ) {$mainContainer.css( "left-margin ", "14.8rem" );$logoContainer.css( "left margin", "-3.8rem" );$navContainer.css( "right margin", "-3.8r in" );} else if( winO terWidth < = maxMobileWidth ) { // Clear applied CSS $mainContainer.css( "margin-left", "0" );$logoContainer.css( "margin-left", "0" );$navContainer.css( "margin -right ", "0" );} else {if( debug ) { console.log( "Window width not controlled in reflowLayout() - With ToC" );}}} else {if ( winOuterWidth >= 1600 ) { // Don' still do nothing on non-ToC pages } else if( winOuterWidth < 1600 && winOuterWidth > maxMobileWidth ) {$contentArea.css( "margin-left", "0");} else if (winOuterWidth <= maxMobileWidth) { / / Do nothing on pa pages that ai nda are not ToC} else {if( debug ) { console.log( "Window width not controlled in reflowLayout() - No ToC" );}} } }// Process reflowed content on the page depending on several variables ; (function(window, $, undefined) {$.fn.reflowLayout = function() { // Mobile width for reflow, you probably want to sync // with max mobile width for ToCconst MAX_MOBILE_WIDTH = 1438; // Should we enable verbose logging ? for debugging? // MUST NOT BE TRUE IN PRODUCTION!-supersoupvar debug = false;handleReflow( $, window.outerWidth, window.innerHeight, MAX_MOBILE_WIDTH, debug );$(window).on( 'load', function ( ) { handleReflow( $, window.outerWidth, window.innerHeight, MAX_MOBILE_WIDTH, debug );}); // For reflow on browser size changes$(window).on( 'resize', function () { handleReflow($, window . external width, window.internal height, MAX_MOBILE_WIDTH, debug);});/*$(window).on( 'scroll', function () {var $toc = $( ".toc-box" );if ( $ toc .length === 0 )return;console.log( " AvailableHeight: " + calcAvailableHeight( window.innerHeight ) );console.log( "toc[0].scrollHeight: " + $toc [0].scrollHeight ) ; console .log( "toc.outerHeight(): " + $ toc.oute rHeight() );});*/};})(this, jQuery);// Transforms the content of the guide by visually organizing it into cards; (function(window, $, undefined) { $.fn.cardify = function() { var $contentBody = $("#content-body"); if($contentBody === 0) { return; } var $contentBodyChildren = $contentbody.children(); var $h2s = $contentbody.children("h2"); console.log("H2 children of #content-body: " + $h2s.length); if($h2s.length = == 0) { return; } for(var i = 0; i < $h2s.length; i++) { var $array = $contentBodyChildren.nextUntil("h2"); $array.each( function(index) { console .log("Item " + index + ": " + $(this).html()); }); // console.log("Card " + i + ":" + $contentBodyChildren.nextUntil("h2 " ).html()); } } }(this, jQuery)); // Create a top-level table of contents before the first header // The boolean debug argument turns on verbose logging. ; function createTopLevelTOC($, debug) { var $content-body = $("#content-body"); if ($content-body === 0) { return;} var headersToFind = ["h2", "h3"]; var $headings = $contentBody.find(headingsToFind.join(","));if( debug ) {console.log(`Titles found: ${$headings.length}`);}if( $headings.length = == 0 ) {return;}var tocContainer = document.createElement("div");"top_toc_container";tocContainer.classList.add("top_toc_container");var tocTitle = document.createElement("p") ;tocTitle.classList.add("top_toc_title");tocTitle.innerHTML = "Table of Contents";tocContainer.append(tocTitle);var tocList = document.createElement("ul");tocList.classList.add("top_toc_list" ); let h2Count = 1;let h3Count = 1;for( let i = 0; i < $headings.length; i++ ) {var item = document.createElement("li");var itemTagName = $headings[i]. tagName;var tagIsH3 = itemTagName === "H3";if ( debug ) { console.log(`Item ${i} tagName: ${itemTagName}`);}var count = i+1;if( tagIsH3 ) { item.classList.add("top_toc_item_h3");count = h3Count;h3Count++;}else {item.classList.add("top_toc_item_h2");count = h2Count;h3Count = 1; // reset h3 counth2Count++;}var innerText = `${tagIsH3? " - " : ""} ${$headers[i].innerText}`;item.innerHTML =`${inner text}`;tocList.append(item);}tocContainer.append(tocList);var $topHeading = $headings[0];$topHeading.before(tocContainer);if( debug ) { console.log("Level Table of Contents top added successfully ");}} // The main function to create, populate and manage the new table of contents; (function(window, $, undefined) { $.fn.createTOC = function(settings) { const MAX_MOBILE_WIDTH = 1438; // Especially if it's a post in a category // we want to specifically apply the Terms of Service on , let's find out / / THIS IS NO LONGER NECESSARY as we are sending the tocif TOC to the entire site ($(window).width() <= MAX_MOBILE_WIDTH ) { createTopLevelTOC($, false );}// For now I'm just looking to add the new TOC to manually tagged posts. // The post will be tagged with the presence of a

// included in post content. Originally this div was // used to wrap the table of contents, but I (supersoup) will either move the table of contents to a new div if // it is not found, or remove it and create a #div on the content side in another if .var is found tocFlag = $("#content-side");var hasToC = !(tocFlag.length === 0); // If the #content-side element is found if( hasToC ) { // Remove TosFlag #content-side elementtocFlag.remove();} // Check the number of H2 and H3 elements. if <= 3, return early var numH2 = $("h2");var numH3 = $("h3");if( numH2.length + numH3.length <= 3 ) {return;}// continue with .CreateTOC ( ) option var = $.extend({ title: "hgg-toc", insert: "body", }, settings); var ACTIVE_CLASS = 'active'; var list = ["h2", "h3"]; var $headers = this.find(list.join(",")); var tocBox = document.createElement("ul"); set $tocBox = $(tocBox); tocBox.className = "toc-box"; var listid = []; $ (i, head) { var nodeName = head.nodeName; var id = 'toc_' + i + '_' + nodeName; = id; idList.push(id); var line = document.createElement("li"); row.className = 'toc-item toc-' + nodeName; var link = document.createElement('a'); link.innerText = head.innerText; link.className = 'toc- link-item'; link.href = '#' + id; line.appendChild(link); tocBox.appendChild(line); }); // Acquisition of highlighted items var isTakeOverByClick = false; // Add event delegate, click, Highlight currently clicked item $tocBox.on("click", ".toc-item", function (ev) { // Set to true, Render the click event whose control is taken as featured item istTakeOverByClick = true; var $item = $(this); var $itemSiblings = $item.siblings(); $itemSiblings.removeClass(ACTIVE_CLASS); $item.addClass(ACTIVE_CLASS); } );// Recreate # content - side element at new position var $tocDiv = $("

");$( "#content-area" ).prepend($tocDiv); // Must be the first subdiv of #content-areavar headBox = document.createElement("div");headBox.className = "toc -titler " ;headBox.innerHTML = option.title;var wrapBox = document.createElement("div");wrapBox.className = "wrap-toc";wrapBox.appendChild(headBox);wrapBox.appendChild(tocBox);// If so o Practically, configure the sidebar hiddenif ($ (window). wide () <= MAX_MOBILE_WIDTH) { = 'none';} else { = null;}var $insertBox = $( option . insert );var $cajaayuda = $("

");$helperBox.append(wrapBox);$insertBox.prepend($helperBox);// The style of the storage container boxvar CACHE_WIDTH = $insertBox.css('width');var CACHE_PADDING_TOP = $insertBox.css(' paddingTop');var CACHE_PADDING_RIGHT = $insertBox.css('paddingRight');var CACHE_PADDING_BOTTOM = $insertBox.css('paddingBottom');var CACHE_PADDING_LEFT = $insertBox.css('paddingLeft');var CACHE_MARGIN_TOP = $insertBox.css ('marginTop'); // var scrollTop = $('html,body').scrollTop(); // var offsetTop = $insertBox.offset().top; // var marginTop = parseInt($insertBox.css( 'marginTop' )); // var offsetTopForView = offsetTop - scrollTop - marginTop; // For initialization on load$(window).on( 'load', function () {initTocAnimData($insertBox );}); // Rolling roof $( window).scroll(function () { // The above process to initialize the offsetTopForView did not work well when // the page was refreshed while the post was partially closed and for consistency extraction // the height of the header was changed ho main: supersoupvar offsetTopForV iew = $(".hgg-top-nav").height() ; //px// IE6/7/8: // For pages without a document type declaration, you can use document.body.scrollTop to get the scrollTop height; // For pages with document type declaration you can use document.documentElement.scrollTop; // Safari: // Safari is special, it has its own function to get scrollTop: window.pageYOffset; // Firefox: // Default browsers Related like Firefox can save you more worries, just use document.documentElement.scrollTop;var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; // Highlight scroll // Only when the click event takes control of the highlighted element, the scroll event can take control of the highlighted element !isTakeOverByClick && $.each(idList, function (index, id) { var $head = $ (' #' + id);var $item = $('[href="#' + id + '"]').parent(); var $itemSiblings = $item.siblings();var offsetBuffer = 64 ; // px, we want the class switching to fire right before so that when we zoom to a specific element, we show // an exact active element var offsetTopHead = $head.offset().top - offsetBuffer; var isActived = $ item.hasClass( ACTIVE_CLASS); if (scrollTop >= offsetTopHead) { $itemSiblings.removeClass(ACTIVE_CLASS); !isActived && $item.addClass(ACTIVE_CLASS); } else { $item.removeClass(ACTIVE_CLASS); } }) ; // Set to false, which means the click event will replace the highlighted element isTakeOverByClick = false;// Handle animation for ToChandleTocAnim($insertBox, $(window).height(), $(document).height() , scrollTop ) ;// Handle all changes to the ToC CSS in scrollvar isFixed = $helperBox.css("position") === "fixed"; if (scrollTop >= offsetTopForView) {if (isFixed) return;$tocBox.css({overflow: 'auto',padding: 0,});$helperBox.css({position: 'fixed',top: CACHE_MARGIN_TOP,width : CACHE_WIDTH, paddingTop: CACHE_PADDING_TOP, paddingRight: CACHE_PADDING_RIGHT, paddingBottom: CACHE_PADDING_BOTTOM, paddingLeft: CACHE_PADDING_LEFT, backgroundColor: $tocBox.css('backgroundColor')});} else {if (!isFixed) return;$helperBox.css({position : 'static', padding: 0}); $tocBox.css({overflow: 'auto', paddingTop: CACHE_PADDING_TOP, paddingRight: CACHE_PADDING_RIGHT, paddingBottom: CACHE_PADDING_BOTTOM, paddingLeft: CACHE_PADDING_LEFT,});} }); };}(this, jQuery));});

VonBrett Moos|November 2, 2022

Destiny 2: Best Warlock Stats (2022) (1)

Warlock is one of the three available classesdestiny 2, along with Hunter and Titan. Like the other two classes, Warlocks can fill a variety of roles on a team, so there isn't one way to play them. However, there are certain stats that Warlock is particularly good at. In this article, we are going to take a look at the best stats for Warlock indestiny 2!

(Video) Destiny 2 | This Warlock Build Makes End Game PvE EASY MODE! Best Warlock SOLAR Build in Season 19!

Looking for more Destiny 2 tips and tricks? Check out all of our Destiny 2 guides.

What is the best Warlock stat in Destiny 2?

While there are several excellent stats on Warlocks, Recovery is the clear winner by far. This boosts your class ability - recovery allows sorcerers to cast their glitches quickly, granting them tons of healing or damage bonuses depending on which glitch they use.

Since Warlock's class ability is so relevant to most builds, and since recovery is great even without this buff, it's a great choice for Warlocks. Recovery also starts your health regeneration after taking damage faster, which is good in any situation.

Even if you want other stats, I can't think of a world where recovery isn't one of the stats you max out on Warlock.

What other stats should sorcerers prioritize?

Destiny 2: Best Warlock Stats (2022) (2)

Warlocks can go with some stats along with recovery. If you're optimizing for double max stats (which you usually should), Discipline, Intellect, or Stamina are good choices. Discipline determines the cooldown of your grenades, and since sorcerers are so good at using them, it's a good choice. Intelligence determines the rate of supercooling, and while intelligence isn't as good as it was a year ago, it's never bad. Certain Warlock builds can rely heavily on intellect, though it sometimes feels pointless.

And finally, the most recent top-tier stat, Resilience. Since Resilience was buffed earlier this year, it's become one of the best stats for Warlocks (and really any class).Destiny 2: Witch Queen. While this may not be a requirement, maximum stamina has a significant impact on your survivability. It also pairs well with Recovery to make you nearly immortal, which is always a good thing.

Then farmt man High Stat Armor ondestiny 2

Once you've decided which stats you want to prioritize, it's time to polish up some armor. Growing high stat armor isn't too difficult if you know where to find it!

Ghost Armorer-Mod

The Ghost Armorer mod is the easiest way to farm armor that matches your stat goals. The only downside here is that the Ghost Armorer mod doesn't technically provide high stat armor. The armor you get is just the standard armor you would have anyway, but with a guaranteed minimum stat count in a chosen category. This mod is best used by combining it with one of the ways to find high stat royal armor.

HELMET. focus

Every season on H.E.L.M. a new seasonal kiosk that often includes a high stat armor farming method. This usually requires you to progress a lot through the season's questline and level up significantly with the vendor. This is usually worth it, as it's usually one of the easiest ways to get high stat armor (although it can be time consuming).

(Video) Destiny 2 | This Warlock Build Makes You A DPS GOD! Best Updated Warlock SOLAR Build in Season 19!

dungeon farming

Dungeons are one of the few activities indestiny 2allowing you to farm them for full loot several times a week, making them perfect for growing armor. You can farm armor in normal-level dungeons, but Master difficulty grants high-stat full armor and also gimmick armor. Artifice Armor is a special form of high stat armor that also offers an additional mod slot (seasonal mods only). This is the best way to farm high stat armor.destiny 2.

Example of an optimized Warlock build

Destiny 2: Best Warlock Stats (2022) (3)

Consider this example to get an idea of ​​what a finished sorcerer status/equipment build looks like.

This build focuses on usingsunscreen(Warlock Exotic Arm) to allow a massive cooldown reduction on the grenade for a temporary period of time after a melee kill. This means that if you kill a Solar melee, you can throw grenades at high velocity for a few seconds.

Since you can do this, you really don't need maximum discipline (although you still don't want it to be too low). You dealt damage through your melee and exotic charge speed, it doesn't matter, you can focus on other stats.

For this build, you want to maximize recovery and stamina for maximum survivability. His Exotic offers more than enough damage without too many stat requirements, so it's ideal to be more tanky.

This is just an example of a basic warlock build, but most builds work this way. You want your max stats to synergize with your chosen exotic if possible. It's even better if you can also interact with your class skill!

Join Terra Alta

Thanks for reading this article on the best stats for warlocks indestiny 2! Be sure to check out our otherdestiny 2Guides and subscribe to the latest gaming guides, articles and news.

Have fun playing!

related reading

(Video) The #1 Warlock Build In Destiny 2! Best In Class!!

The best exotic wizards in Destiny 2

Best Warlock subclass in Destiny 2

All Lucent Moth locations in Destiny 2

(Video) This INSANE Warlock Build Destroys EVERYTHING (Raids, GMs, More)

All Glaives Classified and Explained in Destiny 2

best exotic cipyour weapons in Destiny 2

The best PVE armor in Destiny 2


post a comment


1. How To Become A Top 1% Warlock!
2. New Best Warlock Build For Lightfall You NEED TO USE THIS! [Destiny 2 Best Warlock Build]
3. The Most BROKEN Warlock Builds for Lightfall...
4. WARLOCK Builds that Make PVE Easy Mode! | Ft. PattyCakes & Teegs
5. The STRONGEST Build that Nobody Uses! [Destiny 2 Warlock Build]
6. Destiny 2 - What Stats You Should Be Focusing On As A Warlock?


Top Articles
Latest Posts
Article information

Author: Chrissy Homenick

Last Updated: 04/05/2023

Views: 5867

Rating: 4.3 / 5 (74 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Chrissy Homenick

Birthday: 2001-10-22

Address: 611 Kuhn Oval, Feltonbury, NY 02783-3818

Phone: +96619177651654

Job: Mining Representative

Hobby: amateur radio, Sculling, Knife making, Gardening, Watching movies, Gunsmithing, Video gaming

Introduction: My name is Chrissy Homenick, I am a tender, funny, determined, tender, glorious, fancy, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.