/*! * Dialogs Manager v4.9.3 * https://github.com/kobizz/dialogs-manager * * Copyright Kobi Zaltzberg * Released under the MIT license * https://github.com/kobizz/dialogs-manager/blob/master/LICENSE.txt */ (function($, global) { 'use strict'; /* * Dialog Manager */ var DialogsManager = { widgetsTypes: {}, createWidgetType: function(typeName, properties, Parent) { if (!Parent) { Parent = this.Widget; } var WidgetType = function() { Parent.apply(this, arguments); }; var prototype = WidgetType.prototype = new Parent(typeName); prototype.types = prototype.types.concat([typeName]); $.extend(prototype, properties); prototype.constructor = WidgetType; WidgetType.extend = function(typeName, properties) { return DialogsManager.createWidgetType(typeName, properties, WidgetType); }; return WidgetType; }, addWidgetType: function(typeName, properties, Parent) { if (properties && properties.prototype instanceof this.Widget) { return this.widgetsTypes[typeName] = properties; } return this.widgetsTypes[typeName] = this.createWidgetType(typeName, properties, Parent); }, getWidgetType: function(widgetType) { return this.widgetsTypes[widgetType]; } }; /* * Dialog Manager instances constructor */ DialogsManager.Instance = function() { var self = this, elements = {}, settings = {}; var initElements = function() { elements.body = $('body'); }; var initSettings = function(options) { var defaultSettings = { classPrefix: 'dialog', effects: { show: 'fadeIn', hide: 'fadeOut' } }; $.extend(settings, defaultSettings, options); }; this.createWidget = function(widgetType, properties) { var WidgetTypeConstructor = DialogsManager.getWidgetType(widgetType), widget = new WidgetTypeConstructor(widgetType); properties = properties || {}; widget.init(self, properties); return widget; }; this.getSettings = function(property) { if (property) { return settings[property]; } return Object.create(settings); }; this.init = function(settings) { initSettings(settings); initElements(); return self; }; self.init(); }; /* * Widget types constructor */ DialogsManager.Widget = function(widgetName) { var self = this, settings = {}, events = {}, elements = {}, hideTimeOut = 0, baseClosureMethods = ['refreshPosition']; var bindEvents = function() { var windows = [elements.window]; if (elements.iframe) { windows.push(jQuery(elements.iframe[0].contentWindow)); } windows.forEach(function(window) { if (settings.hide.onEscKeyPress) { window.on('keyup', onWindowKeyUp); } if (settings.hide.onOutsideClick) { window[0].addEventListener('click', hideOnOutsideClick, true); } if (settings.hide.onOutsideContextMenu) { window[0].addEventListener('contextmenu', hideOnOutsideClick, true); } if (settings.position.autoRefresh) { window.on('resize', self.refreshPosition); } }); if (settings.hide.onClick || settings.hide.onBackgroundClick) { elements.widget.on('click', hideOnClick); } }; var callEffect = function(intent, params) { var effect = settings.effects[intent], $widget = elements.widget; if ('function' === typeof effect) { effect.apply($widget, params); } else { if ($widget[effect]) { $widget[effect].apply($widget, params); } else { throw 'Reference Error: The effect ' + effect + ' not found'; } } }; var ensureClosureMethods = function() { var closureMethodsNames = baseClosureMethods.concat(self.getClosureMethods()); $.each(closureMethodsNames, function() { var methodName = this, oldMethod = self[methodName]; self[methodName] = function() { oldMethod.apply(self, arguments); }; }); }; var fixIframePosition = function(position) { if (! position.my) { return; } var horizontalOffsetRegex = /left|right/, extraOffsetRegex = /([+-]\d+)?$/, iframeOffset = elements.iframe.offset(), iframeWindow = elements.iframe[0].contentWindow, myParts = position.my.split(' '), fixedParts = []; if (myParts.length === 1) { if (horizontalOffsetRegex.test(myParts[0])) { myParts.push('center'); } else { myParts.unshift('center'); } } myParts.forEach(function(part, index) { var fixedPart = part.replace(extraOffsetRegex, function(partOffset) { partOffset = +partOffset || 0; if (! index) { partOffset += iframeOffset.left - iframeWindow.scrollX; } else { partOffset += iframeOffset.top - iframeWindow.scrollY; } if (partOffset >= 0) { partOffset = '+' + partOffset; } return partOffset; }); fixedParts.push(fixedPart); }); position.my = fixedParts.join(' '); }; var hideOnClick = function(event) { if (isContextMenuClickEvent(event)) { return; } if (settings.hide.onClick) { if ($(event.target).closest(settings.selectors.preventClose).length) { return; } } else if (event.target !== this) { return; } self.hide(); }; var isIgnoredTarget = function(event) { if (! settings.hide.ignore) { return false; } return !! $(event.target).closest(settings.hide.ignore).length; }; var hideOnOutsideClick = function(event) { if (isContextMenuClickEvent(event) || $(event.target).closest(elements.widget).length || isIgnoredTarget(event)) { return; } self.hide(); }; var initElements = function() { self.addElement('widget'); self.addElement('header'); self.addElement('message'); self.addElement('window', window); self.addElement('body', document.body); self.addElement('container', settings.container); if (settings.iframe) { self.addElement('iframe', settings.iframe); } if (settings.closeButton) { if ( settings.closeButtonClass ) { // Backwards compatibility settings.closeButtonOptions.iconClass = settings.closeButtonClass; } const $button = $('', settings.closeButtonOptions.attributes), $buttonIcon = $(settings.closeButtonOptions.iconElement).addClass(settings.closeButtonOptions.iconClass); $button.append($buttonIcon); self.addElement('closeButton', $button); } var id = self.getSettings('id'); if (id) { self.setID(id); } var classes = []; $.each(self.types, function() { classes.push(settings.classes.globalPrefix + '-type-' + this); }); classes.push(self.getSettings('className')); elements.widget .addClass(classes.join(' ')) .attr({ 'aria-modal': true, 'role': 'document', 'tabindex': 0, }); }; var initSettings = function(parent, userSettings) { var parentSettings = $.extend(true, {}, parent.getSettings()); settings = { headerMessage: '', message: '', effects: parentSettings.effects, classes: { globalPrefix: parentSettings.classPrefix, prefix: parentSettings.classPrefix + '-' + widgetName, preventScroll: parentSettings.classPrefix + '-prevent-scroll', }, selectors: { preventClose: '.' + parentSettings.classPrefix + '-prevent-close', }, container: 'body', preventScroll: false, iframe: null, closeButton: false, closeButtonOptions: { iconClass: parentSettings.classPrefix + '-close-button-icon', attributes: { role: 'button', 'tabindex': 0, 'aria-label': 'Close', href: '#', }, iconElement: '', }, position: { element: 'widget', my: 'center', at: 'center', enable: true, autoRefresh: false, }, hide: { auto: false, autoDelay: 5000, onClick: false, onOutsideClick: true, onOutsideContextMenu: false, onBackgroundClick: true, onEscKeyPress: true, ignore: '', }, }; $.extend(true, settings, self.getDefaultSettings(), userSettings); initSettingsEvents(); }; var initSettingsEvents = function() { $.each(settings, function(settingKey) { var eventName = settingKey.match(/^on([A-Z].*)/); if (!eventName) { return; } eventName = eventName[1].charAt(0).toLowerCase() + eventName[1].slice(1); self.on(eventName, this); }); }; var isContextMenuClickEvent = function(event) { // Firefox fires `click` event on every `contextmenu` event. return event.type === 'click' && event.button === 2; }; var normalizeClassName = function(name) { return name.replace(/([a-z])([A-Z])/g, function() { return arguments[1] + '-' + arguments[2].toLowerCase(); }); }; var onWindowKeyUp = function(event) { var ESC_KEY = 27, keyCode = event.which; if (ESC_KEY === keyCode) { self.hide(); } }; var unbindEvents = function() { var windows = [elements.window]; if (elements.iframe) { windows.push(jQuery(elements.iframe[0].contentWindow)); } windows.forEach(function(window) { if (settings.hide.onEscKeyPress) { window.off('keyup', onWindowKeyUp); } if (settings.hide.onOutsideClick) { window[0].removeEventListener('click', hideOnOutsideClick, true); } if (settings.hide.onOutsideContextMenu) { window[0].removeEventListener('contextmenu', hideOnOutsideClick, true); } if (settings.position.autoRefresh) { window.off('resize', self.refreshPosition); } }); if (settings.hide.onClick || settings.hide.onBackgroundClick) { elements.widget.off('click', hideOnClick); } }; this.addElement = function(name, element, classes) { var $newElement = elements[name] = $(element || '
'), normalizedName = normalizeClassName(name); classes = classes ? classes + ' ' : ''; classes += settings.classes.globalPrefix + '-' + normalizedName; classes += ' ' + settings.classes.prefix + '-' + normalizedName; $newElement.addClass(classes); return $newElement; }; this.destroy = function() { unbindEvents(); elements.widget.remove(); self.trigger('destroy'); return self; }; this.getElements = function(item) { return item ? elements[item] : elements; }; this.getSettings = function(setting) { var copy = Object.create(settings); if (setting) { return copy[setting]; } return copy; }; this.hide = function() { if (! self.isVisible()) { return; } clearTimeout(hideTimeOut); callEffect('hide', arguments); unbindEvents(); if (settings.preventScroll) { self.getElements('body').removeClass(settings.classes.preventScroll); } self.trigger('hide'); return self; }; this.init = function(parent, properties) { if (!(parent instanceof DialogsManager.Instance)) { throw 'The ' + self.widgetName + ' must to be initialized from an instance of DialogsManager.Instance'; } ensureClosureMethods(); self.trigger('init', properties); initSettings(parent, properties); initElements(); self.buildWidget(); self.attachEvents(); self.trigger('ready'); return self; }; this.isVisible = function() { return elements.widget.is(':visible'); }; this.on = function(eventName, callback) { if ('object' === typeof eventName) { $.each(eventName, function(singleEventName) { self.on(singleEventName, this); }); return self; } var eventNames = eventName.split(' '); eventNames.forEach(function(singleEventName) { if (!events[singleEventName]) { events[singleEventName] = []; } events[singleEventName].push(callback); }); return self; }; this.off = function(eventName, callback) { if (! events[ eventName ]) { return self; } if (! callback) { delete events[eventName]; return self; } var callbackIndex = events[eventName].indexOf(callback); if (-1 !== callbackIndex) { events[eventName].splice(callbackIndex, 1); } return self; }; this.refreshPosition = function() { if (! settings.position.enable) { return; } var position = $.extend({}, settings.position); if (elements[position.of]) { position.of = elements[position.of]; } if (! position.of) { position.of = window; } if (settings.iframe) { fixIframePosition(position); } elements[position.element].position(position); }; this.setID = function(id) { elements.widget.attr('id', id); return self; }; this.setHeaderMessage = function(message) { self.getElements('header').html(message); return self; }; this.setMessage = function(message) { elements.message.html(message); return self; }; this.setSettings = function(key, value) { if (jQuery.isPlainObject(value)) { $.extend(true, settings[key], value); } else { settings[key] = value; } return self; }; this.show = function() { clearTimeout(hideTimeOut); elements.widget.appendTo(elements.container).hide(); callEffect('show', arguments); self.refreshPosition(); if (settings.hide.auto) { hideTimeOut = setTimeout(self.hide, settings.hide.autoDelay); } bindEvents(); if (settings.preventScroll) { self.getElements('body').addClass(settings.classes.preventScroll); } self.trigger('show'); return self; }; this.trigger = function(eventName, params) { var methodName = 'on' + eventName[0].toUpperCase() + eventName.slice(1); if (self[methodName]) { self[methodName](params); } var callbacks = events[eventName]; if (!callbacks) { return; } $.each(callbacks, function(index, callback) { callback.call(self, params); }); return self; }; }; DialogsManager.Widget.prototype.types = []; // Inheritable widget methods DialogsManager.Widget.prototype.buildWidget = function() { var elements = this.getElements(), settings = this.getSettings(); elements.widget.append(elements.header, elements.message); this.setHeaderMessage(settings.headerMessage); this.setMessage(settings.message); if (this.getSettings('closeButton')) { elements.widget.prepend(elements.closeButton); } }; DialogsManager.Widget.prototype.attachEvents = function() { var self = this; if (self.getSettings('closeButton')) { self.getElements('closeButton').on('click', function(event) { event.preventDefault(); self.hide(); }); } }; DialogsManager.Widget.prototype.getDefaultSettings = function() { return {}; }; DialogsManager.Widget.prototype.getClosureMethods = function() { return []; }; DialogsManager.Widget.prototype.onHide = function() { }; DialogsManager.Widget.prototype.onShow = function() { }; DialogsManager.Widget.prototype.onInit = function() { }; DialogsManager.Widget.prototype.onReady = function() { }; DialogsManager.widgetsTypes.simple = DialogsManager.Widget; DialogsManager.addWidgetType('buttons', { activeKeyUp: function(event) { var TAB_KEY = 9; if (event.which === TAB_KEY) { event.preventDefault(); } if (this.hotKeys[event.which]) { this.hotKeys[event.which](this); } }, activeKeyDown: function(event) { if (!this.focusedButton) { return; } var TAB_KEY = 9; if (event.which === TAB_KEY) { event.preventDefault(); var currentButtonIndex = this.focusedButton.index(), nextButtonIndex; if (event.shiftKey) { nextButtonIndex = currentButtonIndex - 1; if (nextButtonIndex < 0) { nextButtonIndex = this.buttons.length - 1; } } else { nextButtonIndex = currentButtonIndex + 1; if (nextButtonIndex >= this.buttons.length) { nextButtonIndex = 0; } } this.focusedButton = this.buttons[nextButtonIndex].trigger('focus'); } }, addButton: function(options) { var self = this, settings = self.getSettings(), buttonSettings = jQuery.extend(settings.button, options); var classes = options.classes ? options.classes + ' ' : ''; classes += settings.classes.globalPrefix + '-button'; var $button = self.addElement(options.name, $('<' + buttonSettings.tag + '>').html(options.text), classes); self.buttons.push($button); var buttonFn = function() { if (settings.hide.onButtonClick) { self.hide(); } if ('function' === typeof options.callback) { options.callback.call(this, self); } }; $button.on('click', buttonFn); if (options.hotKey) { this.hotKeys[options.hotKey] = buttonFn; } this.getElements('buttonsWrapper').append($button); if (options.focus) { this.focusedButton = $button; } return self; }, bindHotKeys: function() { this.getElements('window').on({ keyup: this.activeKeyUp, keydown: this.activeKeyDown }); }, buildWidget: function() { DialogsManager.Widget.prototype.buildWidget.apply(this, arguments); var $buttonsWrapper = this.addElement('buttonsWrapper'); this.getElements('widget').append($buttonsWrapper); }, getClosureMethods: function() { return [ 'activeKeyUp', 'activeKeyDown' ]; }, getDefaultSettings: function() { return { hide: { onButtonClick: true }, button: { tag: 'button' } }; }, onHide: function() { this.unbindHotKeys(); }, onInit: function() { this.buttons = []; this.hotKeys = {}; this.focusedButton = null; }, onShow: function() { this.bindHotKeys(); if (!this.focusedButton) { this.focusedButton = this.buttons[0]; } if (this.focusedButton) { this.focusedButton.trigger('focus'); } }, unbindHotKeys: function() { this.getElements('window').off({ keyup: this.activeKeyUp, keydown: this.activeKeyDown }); } }); DialogsManager.addWidgetType('lightbox', DialogsManager.getWidgetType('buttons').extend('lightbox', { getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('buttons').prototype.getDefaultSettings.apply(this, arguments); return $.extend(true, settings, { contentWidth: 'auto', contentHeight: 'auto', position: { element: 'widgetContent', of: 'widget', autoRefresh: true } }); }, buildWidget: function() { DialogsManager.getWidgetType('buttons').prototype.buildWidget.apply(this, arguments); var $widgetContent = this.addElement('widgetContent'), elements = this.getElements(); $widgetContent.append(elements.header, elements.message, elements.buttonsWrapper); elements.widget.html($widgetContent); if (elements.closeButton) { $widgetContent.prepend(elements.closeButton); } }, onReady: function() { var elements = this.getElements(), settings = this.getSettings(); if ('auto' !== settings.contentWidth) { elements.message.width(settings.contentWidth); } if ('auto' !== settings.contentHeight) { elements.message.height(settings.contentHeight); } } })); DialogsManager.addWidgetType('confirm', DialogsManager.getWidgetType('lightbox').extend('confirm', { onReady: function() { DialogsManager.getWidgetType('lightbox').prototype.onReady.apply(this, arguments); var strings = this.getSettings('strings'), isDefaultCancel = this.getSettings('defaultOption') === 'cancel'; this.addButton({ name: 'cancel', text: strings.cancel, callback: function(widget) { widget.trigger('cancel'); }, focus: isDefaultCancel }); this.addButton({ name: 'ok', text: strings.confirm, callback: function(widget) { widget.trigger('confirm'); }, focus: !isDefaultCancel }); }, getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('lightbox').prototype.getDefaultSettings.apply(this, arguments); settings.strings = { confirm: 'OK', cancel: 'Cancel' }; settings.defaultOption = 'cancel'; return settings; } })); DialogsManager.addWidgetType('alert', DialogsManager.getWidgetType('lightbox').extend('alert', { onReady: function() { DialogsManager.getWidgetType('lightbox').prototype.onReady.apply(this, arguments); var strings = this.getSettings('strings'); this.addButton({ name: 'ok', text: strings.confirm, callback: function(widget) { widget.trigger('confirm'); } }); }, getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('lightbox').prototype.getDefaultSettings.apply(this, arguments); settings.strings = { confirm: 'OK' }; return settings; } })); // Exporting the DialogsManager variable to global global.DialogsManager = DialogsManager; })( typeof jQuery !== 'undefined' ? jQuery : typeof require === 'function' && require('jquery'), (typeof module !== 'undefined' && typeof module.exports !== 'undefined') ? module.exports : window ); {"id":94537,"date":"2024-06-09T04:48:03","date_gmt":"2024-06-09T04:48:03","guid":{"rendered":"https:\/\/weeklypostgazette.com\/where-to-get-gold-in-ghost-of-tsushima-what-its-uses\/"},"modified":"2024-06-09T04:48:03","modified_gmt":"2024-06-09T04:48:03","slug":"where-to-get-gold-in-ghost-of-tsushima-what-its-uses","status":"publish","type":"post","link":"https:\/\/weeklypostgazette.com\/where-to-get-gold-in-ghost-of-tsushima-what-its-uses\/","title":{"rendered":"Where To Get Gold in Ghost of Tsushima (& What It’s Uses)"},"content":{"rendered":"

[ad_1]
\n<\/p>\n

\n

Ghost of Tsushima<\/em><\/strong> has a decent variety of collectible items that are not overwhelming, one of which is the gold currency. Throughout his journey, Jin will ride (or run) by stacks of linens, iron, supplies, and leather. However, there are a handful of rare items that are only attainable as tale rewards<\/strong>, and one of the more important items is gold. While players may not need gold directly to buy anything, they will want it for another purpose. <\/p>\n


\n
\n
\n<\/p>\n

One thing players may not know before starting Ghost of Tsushima<\/em> is that gold does not equate to any form of currency. There isn’t any form of currency in general. One could argue for flowers since they are what players will use at trade caravans to buy different vanities and dyes. Instead, gold is used to sharpen Jin’s Katana<\/strong> and turn him into an even deadlier weapon than he already is. This guide will walk players through how to obtain gold. <\/p>\n

<\/p>\n

\n
\n
\n
\n
<\/picture> <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n

Related<\/span><\/p>\n

\n
Ghost of Tsushima: Combat Guide (Tips, Tricks, & Tactics) <\/h5>\n

Players will need to be prepared for anything in order to survive. Here\u2019s everything you need to know about hand to hand combat in Ghost of Tsushima.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n


\n<\/p>\n

How to Find Gold In Ghost of Tsushima <\/h2>\n

Raiding Mongol Camps <\/h3>\n
\n
\n
\"Ghost <\/picture> <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n


\n<\/p>\n

Gold can be obtained from liberating Mongol war camps. Remember, not all Mongol Territories are the same in Ghost of Tsushima<\/em>. The small red dots are more accessible to overthrow than the war camps<\/strong>, and the war camps are easier to liberate than the villages (Azamo Bay, for example). Players will know which will give them gold as a reward when they highlight the camp<\/strong> on their maps. For some of the best camp locations to unlock gold, see JorRaptor’s YouTube video below. <\/p>\n

<\/p>\n


\n<\/p>\n

<\/p>\n

Each camp will have a handful of different objectives for players to complete<\/strong>. Most of the time, they include recovering Sashimono banners, freeing hostages, or recovering stolen iron. The war camp will occasionally require players to detonate powder kegs as the last objective<\/strong>. These camps will always be heavily guarded and require a good mix of stealth and sword skills to rid them of their Mongol occupiers. <\/p>\n

<\/p>\n

Players will find leaders in these camps, so they are also helpful in unlocking new stances<\/strong>. Killing the leader is usually one of the objectives anyway. These camps are quite tricky, and unless players are skilled samurai themselves, they should formulate a plan rather than challenging the first Mongol they see<\/strong> to a standoff (as satisfying as they are) <\/p>\n

<\/p>\n

How To Use Gold <\/h3>\n

Once players have found enough gold, they want to head to the nearest town and locate the sword-smith<\/strong>. The gold will be used to upgrade Jin’s Sword in Ghost of Tsushima<\/em>. Make sure one has plenty of iron, steel, and supplies, and complete those upgrades in one trip. However, you will not need much Gold to make these upgrades<\/strong>. The full amount of supplies you need can be seen in the table below: <\/p>\n


\n<\/p>\n

\n\n\n\n\n\n\n\n\n\n\n\n
\n

Katana Level <\/p>\n<\/th>\n

\n

Gold Needed <\/p>\n<\/th>\n

\n

Supplies <\/p>\n<\/th>\n

\n

Iron <\/p>\n<\/th>\n

\n

Steel <\/p>\n<\/th>\n<\/tr>\n<\/thead>\n

\n

2 <\/p>\n<\/td>\n

\n

None <\/p>\n<\/td>\n

\n

150 <\/p>\n<\/td>\n

\n

10 <\/p>\n<\/td>\n

\n

None <\/p>\n<\/td>\n<\/tr>\n

\n

3 <\/p>\n<\/td>\n

\n

None <\/p>\n<\/td>\n

\n

300 <\/p>\n<\/td>\n

\n

25 <\/p>\n<\/td>\n

\n

5 <\/p>\n<\/td>\n<\/tr>\n

\n

4 <\/p>\n<\/td>\n

\n

1 <\/p>\n<\/td>\n

\n

450 <\/p>\n<\/td>\n

\n

40 <\/p>\n<\/td>\n

\n

10 <\/p>\n<\/td>\n<\/tr>\n

\n

5 <\/p>\n<\/td>\n

\n

2 <\/p>\n<\/td>\n

\n

600 <\/p>\n<\/td>\n

\n

65 <\/p>\n<\/td>\n

\n

20 <\/p>\n<\/td>\n<\/tr>\n

\n

6 <\/p>\n<\/td>\n

\n

4 <\/p>\n<\/td>\n

\n

750 <\/p>\n<\/td>\n

\n

80 <\/p>\n<\/td>\n

\n

40 <\/p>\n<\/td>\n<\/tr>\n

\n

7 <\/p>\n<\/td>\n

\n

6 <\/p>\n<\/td>\n

\n

1000 <\/p>\n<\/td>\n

\n

100 <\/p>\n<\/td>\n

\n

80 <\/p>\n<\/td>\n<\/tr>\n

\n

8 <\/p>\n<\/td>\n

\n

8 <\/p>\n<\/td>\n

\n

1200 <\/p>\n<\/td>\n

\n

120 <\/p>\n<\/td>\n

\n

90 <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n

<\/p>\n

\n
\n
\n

The Level 8 Katana will not be unlocked until you start New Game+. So you only
\nneed 13 total Gold<\/strong>
\n to get the highest upgrade possible in your first run through the game. <\/p>\n<\/p><\/div>\n<\/p><\/div>\n

<\/section>\n


\n<\/p>\n

<\/p>\n

These upgrades all increase the amount of damage your Katana can inflict<\/strong>. For each upgrade, many of your Katana-based skills get even better and hit even harder. This is particularly great when paired with Stances in Ghost of Tsushima<\/em>, increasing your heavy attacks and making it easier to remove certain enemies<\/strong>. While you may favor a very sneaky playstyle, do not neglect the Katana. <\/p>\n

<\/p>\n

Ghost of Tsushima<\/em> makes a great comment about the lack of in-game currency. It’s nice to experience a game where holding all the money isn’t a player’s number one goal. But using your resources for more worthwhile upgrades, like making you truly unstoppable, feels much better than other games focusing heavily on currency. So save your gold for those Katana upgrades in Ghost of Tsushima<\/strong> <\/em>and grow your Legend faster. <\/p>\n

<\/p>\n

Video Credit: JorRaptor\/YouTube <\/p>\n


\n<\/p>\n

<\/p>\n

\n
\n
\n
\n
\"ghost <\/picture> <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n
\n
Ghost of Tsushima <\/h5>\n
\n
<\/p>\n
\n
Platform(s)<\/strong> <\/dt>\n
PS4 , PS5 , PC <\/span> <\/dd>\n<\/p><\/div>\n

<\/p>\n

Released<\/strong> <\/dt>\n
July 17, 2020 <\/span> <\/dd>\n<\/p>\n

<\/p>\n

Developer(s)<\/strong> <\/dt>\n
Sucker Punch <\/span> <\/dd>\n<\/p>\n

<\/p>\n

Publisher(s)<\/strong> <\/dt>\n
Sony <\/span> <\/dd>\n<\/p>\n

<\/p>\n

Engine<\/strong> <\/dt>\n
Proprietary <\/span> <\/dd>\n<\/p>\n<\/dl><\/div>\n