<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://zeldamods.org/wiki/Shield_durability/en/history?feed=atom</id>
	<title>Shield durability/en - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://zeldamods.org/wiki/Shield_durability/en/history?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://zeldamods.org/wiki/Shield_durability/en/history"/>
	<updated>2026-05-30T01:49:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://zeldamods.org/w_botw/index.php?title=Shield_durability/en&amp;diff=10794&amp;oldid=prev</id>
		<title>FuzzyBot: Updating to match new version of source page</title>
		<link rel="alternate" type="text/html" href="https://zeldamods.org/w_botw/index.php?title=Shield_durability/en&amp;diff=10794&amp;oldid=prev"/>
		<updated>2020-05-30T03:41:47Z</updated>

		<summary type="html">&lt;p&gt;Updating to match new version of source page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shields lose durability points every time an attack is blocked and during shield surfing.&lt;br /&gt;
&lt;br /&gt;
== Attack blocking ==&lt;br /&gt;
&lt;br /&gt;
The logic is as follows&amp;lt;ref&amp;gt;{{addr|a=0x71002F0844|ver=nx-1.5.0}}&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float damageRatio = GlobalParameter::sInstance-&amp;gt;globalParam-&amp;gt;shieldDamageRatio.value();&lt;br /&gt;
int damage = damageRatio * (param-&amp;gt;attackPower - guardPower - additionalGuardPower);&lt;br /&gt;
if (param-&amp;gt;forceOnlyOneDamage)&lt;br /&gt;
  minDamage = 1;&lt;br /&gt;
else&lt;br /&gt;
  minDamage = param-&amp;gt;minDmg;&lt;br /&gt;
weapon-&amp;gt;takeDamage(max(damage, minDamage));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;damageRatio&amp;lt;/code&amp;gt; is loaded from [[GlobalParameter]] (&amp;quot;ShieldDamageRatio&amp;quot; in the &amp;quot;Global&amp;quot; section).&lt;br /&gt;
* &amp;lt;code&amp;gt;attackPower&amp;lt;/code&amp;gt; is the power of the attack that is being blocked by the shield.&lt;br /&gt;
* &amp;lt;code&amp;gt;guardPower&amp;lt;/code&amp;gt; is the base Guard Power of the shield. It is loaded from the shield&amp;#039;s [[GeneralParamList]] (&amp;quot;GuardPower&amp;quot; in the &amp;quot;WeaponCommon&amp;quot; section).&lt;br /&gt;
* &amp;lt;code&amp;gt;additionalGuardPower&amp;lt;/code&amp;gt; is the Shield Guard Up bonus value (if any).&lt;br /&gt;
&lt;br /&gt;
minDmg appears to be 1 in most cases.&lt;br /&gt;
&lt;br /&gt;
In 1.6.0, ShieldDamageRatio is 0.2, meaning a shield takes a minimum of 1 damage point (in most cases), and 1 damage point for every 5 points of difference between the attack power and the guard power. &amp;lt;ref&amp;gt;https://github.com/leoetlino/botw/blob/v1.6.0/Actor/GeneralParamList/GlobalParameter.gparamlist.yml#L28&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shield surfing ==&lt;br /&gt;
&lt;br /&gt;
Here is a gist of the logic&amp;lt;ref&amp;gt;{{addr|a=0x71002CEAF4|ver=nx-1.5.0}}: https://gist.github.com/leoetlino/34a2ce6273f7cfcbbabceda24d19aa5d&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Whenever Link is shield surfing, a timer (which is tied to the shield) is incremented.&lt;br /&gt;
* If Link is surfing on a &amp;quot;no shield damage floor&amp;quot;, &amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039; if the L2 norm of his velocity is lower than 0.03, then the shield takes no damage.&lt;br /&gt;
* Otherwise, every time the timer reaches ShieldRideBaseFrame (as configured in [[GlobalParameter]]), the shield takes &amp;lt;code&amp;gt;RideBreakRatio * ShieldRideHitBaseDamage * Damage&amp;lt;/code&amp;gt; and the timer is reset.&lt;br /&gt;
&lt;br /&gt;
In 1.6.0:&lt;br /&gt;
&lt;br /&gt;
* RideBreakRatio is 1.0 for the majority of shields, and 0.2 for the Ancient Shield, which means that the latter takes shield surfing damage at a 20% rate compared to most other shields.  Refer to this [https://docs.google.com/spreadsheets/u/0/d/1qhh_TLCF_1vMdpPY0QHbhYhN-eUIyh6R3Povo-gziMg/pubhtml spreadsheet] for more information on shield stats, including the hidden RideBreakRatio.&lt;br /&gt;
&lt;br /&gt;
* ShieldRideBaseFrame is 120&amp;lt;ref&amp;gt;https://github.com/leoetlino/botw/blob/v1.6.0/Actor/GeneralParamList/GlobalParameter.gparamlist.yml#L26&amp;lt;/ref&amp;gt; and ShieldRideHitBaseDamage is 1&amp;lt;ref&amp;gt;https://github.com/leoetlino/botw/blob/v1.6.0/Actor/GeneralParamList/GlobalParameter.gparamlist.yml#L27&amp;lt;/ref&amp;gt;. This means that shield surfing costs &amp;lt;code&amp;gt;RideBreakRatio * 1&amp;lt;/code&amp;gt; durability points every 4 seconds.&lt;br /&gt;
&lt;br /&gt;
* This damage is also applied when you start surfing.&lt;br /&gt;
&lt;br /&gt;
Since the timer is tied to the shield instance, switching to another shield will reset the timer and doing so lets the player avoid taking any surf damage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Game mechanics{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>FuzzyBot</name></author>
	</entry>
</feed>