<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://star-citizen.wiki/index.php?action=history&amp;feed=atom&amp;title=Modul%3AItem%2FVehicleItem</id>
	<title>Modul:Item/VehicleItem - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://star-citizen.wiki/index.php?action=history&amp;feed=atom&amp;title=Modul%3AItem%2FVehicleItem"/>
	<link rel="alternate" type="text/html" href="https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;action=history"/>
	<updated>2026-05-09T17:26:13Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Star Citizen Wiki</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79281&amp;oldid=prev</id>
		<title>FoXFTW am 7. April 2024 um 08:51 Uhr</title>
		<link rel="alternate" type="text/html" href="https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79281&amp;oldid=prev"/>
		<updated>2024-04-07T08:51:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;amp;diff=79281&amp;amp;oldid=79195&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>FoXFTW</name></author>
	</entry>
	<entry>
		<id>https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79195&amp;oldid=prev</id>
		<title>FoXFTW am 2. April 2024 um 16:30 Uhr</title>
		<link rel="alternate" type="text/html" href="https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79195&amp;oldid=prev"/>
		<updated>2024-04-02T16:30:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 2. April 2024, 18:30 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot;&gt;Zeile 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--- @param smwSetObject table&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--- @param smwSetObject table&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p.addSmwProperties( apiData, frameArgs, smwSetObject )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p.addSmwProperties( apiData, frameArgs, smwSetObject )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    local common = require( &#039;Module:Common&#039; )&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.addSmwProperties(&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.addSmwProperties(&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         apiData,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         apiData,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot;&gt;Zeile 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 38:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local setData = {}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local setData = {}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    local formatConfig = {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        type = &quot;number&quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     -- TODO: Modifiers and Damages are generic enough that maybe we should search for it by default on Module:Item?&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     -- TODO: Modifiers and Damages are generic enough that maybe we should search for it by default on Module:Item?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;mining_laser.modifiers&amp;#039; ), &amp;#039;display_name&amp;#039;, &amp;#039;value&amp;#039;, &amp;#039;Modifier&amp;#039;, translate )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;mining_laser.modifiers&amp;#039; ), &amp;#039;display_name&amp;#039;, &amp;#039;value&amp;#039;, &amp;#039;Modifier&amp;#039;, translate&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, formatConfig &lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;mining_module.modifiers&amp;#039; ), &amp;#039;display_name&amp;#039;, &amp;#039;value&amp;#039;, &amp;#039;Modifier&amp;#039;, translate )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;mining_module.modifiers&amp;#039; ), &amp;#039;display_name&amp;#039;, &amp;#039;value&amp;#039;, &amp;#039;Modifier&amp;#039;, translate&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, formatConfig &lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;bomb.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;bomb.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, formatConfig &lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;missile.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;missile.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;formatConfig &lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    -- Todo make format FN of Module:Common/SMW &amp;quot;public&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    for key&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;value in pairs( setData ) do&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        setData[ key ] = common.formatNum( value &lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    end&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     mw.smw.set( setData )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     mw.smw.set( setData )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FoXFTW</name></author>
	</entry>
	<entry>
		<id>https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79192&amp;oldid=prev</id>
		<title>FoXFTW am 2. April 2024 um 16:14 Uhr</title>
		<link rel="alternate" type="text/html" href="https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79192&amp;oldid=prev"/>
		<updated>2024-04-02T16:14:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 2. April 2024, 18:14 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot;&gt;Zeile 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--- @param smwSetObject table&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--- @param smwSetObject table&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p.addSmwProperties( apiData, frameArgs, smwSetObject )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p.addSmwProperties( apiData, frameArgs, smwSetObject )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    local common = require( &#039;Module:Common&#039; )&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.addSmwProperties(&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.addSmwProperties(&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         apiData,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         apiData,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l44&quot;&gt;Zeile 44:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 45:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;bomb.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;bomb.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;missile.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     smwCommon.setFromTable( setData, apiData:get( &amp;#039;missile.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    -- Todo make format FN of Module:Common/SMW &quot;public&quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    for key, value in pairs( setData ) do&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        setData[ key ] = common.formatNum( value )&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    end&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     mw.smw.set( setData )&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     mw.smw.set( setData )&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FoXFTW</name></author>
	</entry>
	<entry>
		<id>https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79109&amp;oldid=prev</id>
		<title>FoXFTW am 2. April 2024 um 07:51 Uhr</title>
		<link rel="alternate" type="text/html" href="https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79109&amp;oldid=prev"/>
		<updated>2024-04-02T07:51:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 2. April 2024, 09:51 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l406&quot;&gt;Zeile 406:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 406:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     -- Emission&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     -- Emission&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local function getMaxIR()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local function getMaxIR()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if ( smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] =&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= nil &lt;/del&gt;or smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] =&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= nil &lt;/del&gt;) and smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ] =&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= nil &lt;/del&gt;then return end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            ( type&lt;/ins&gt;( smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) ~&lt;/ins&gt;= &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;number&amp;#039; &lt;/ins&gt;or &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;type( &lt;/ins&gt;smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;~&lt;/ins&gt;= &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;number&amp;#039; ) &lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;type( &lt;/ins&gt;smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) ~&lt;/ins&gt;= &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;number&amp;#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        &lt;/ins&gt;then return end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         return smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] * smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] + smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         return smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] * smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] + smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FoXFTW</name></author>
	</entry>
	<entry>
		<id>https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79108&amp;oldid=prev</id>
		<title>FoXFTW am 2. April 2024 um 07:49 Uhr</title>
		<link rel="alternate" type="text/html" href="https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=79108&amp;oldid=prev"/>
		<updated>2024-04-02T07:49:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 2. April 2024, 09:49 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l406&quot;&gt;Zeile 406:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 406:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     -- Emission&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     -- Emission&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local function getMaxIR()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local function getMaxIR()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] == nil or smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] == nil and smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ] == nil then return end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;( &lt;/ins&gt;smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] == nil or smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] == nil &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) &lt;/ins&gt;and smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ] == nil then return end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         return smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] * smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] + smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         return smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] * smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] + smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FoXFTW</name></author>
	</entry>
	<entry>
		<id>https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=70268&amp;oldid=prev</id>
		<title>FoXFTW: Die Seite wurde neu angelegt: „require( &#039;strict&#039; )  local p = {}  local MODULE_NAME = &#039;VehicleItem&#039;  local TNT = require( &#039;Module:Translate&#039; ):new() local smwCommon = require( &#039;Module:Common/SMW&#039; ) local data = mw.loadJsonData( &#039;Module:Item/&#039; .. MODULE_NAME ..&#039;/data.json&#039; ) local config = mw.loadJsonData( &#039;Module:Item/config.json&#039; )  local common = require( &#039;Module:Common&#039; )   --- Wrapper function for Module:Translate.translate --- --- @param key string The translation key --- @param a…“</title>
		<link rel="alternate" type="text/html" href="https://star-citizen.wiki/index.php?title=Modul:Item/VehicleItem&amp;diff=70268&amp;oldid=prev"/>
		<updated>2024-04-01T11:40:22Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „require( &amp;#039;strict&amp;#039; )  local p = {}  local MODULE_NAME = &amp;#039;VehicleItem&amp;#039;  local TNT = require( &amp;#039;Module:Translate&amp;#039; ):new() local smwCommon = require( &amp;#039;Module:Common/SMW&amp;#039; ) local data = mw.loadJsonData( &amp;#039;Module:Item/&amp;#039; .. MODULE_NAME ..&amp;#039;/data.json&amp;#039; ) local config = mw.loadJsonData( &amp;#039;Module:Item/config.json&amp;#039; )  local common = require( &amp;#039;Module:Common&amp;#039; )   --- Wrapper function for Module:Translate.translate --- --- @param key string The translation key --- @param a…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require( &amp;#039;strict&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local MODULE_NAME = &amp;#039;VehicleItem&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local TNT = require( &amp;#039;Module:Translate&amp;#039; ):new()&lt;br /&gt;
local smwCommon = require( &amp;#039;Module:Common/SMW&amp;#039; )&lt;br /&gt;
local data = mw.loadJsonData( &amp;#039;Module:Item/&amp;#039; .. MODULE_NAME ..&amp;#039;/data.json&amp;#039; )&lt;br /&gt;
local config = mw.loadJsonData( &amp;#039;Module:Item/config.json&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
local common = require( &amp;#039;Module:Common&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Wrapper function for Module:Translate.translate&lt;br /&gt;
---&lt;br /&gt;
--- @param key string The translation key&lt;br /&gt;
--- @param addSuffix boolean|nil Adds a language suffix if config.smw_multilingual_text is true&lt;br /&gt;
--- @return string If the key was not found in the .tab page, the key is returned&lt;br /&gt;
local function translate( key, addSuffix, ... )&lt;br /&gt;
    return TNT:translate( &amp;#039;Module:Item/&amp;#039; .. MODULE_NAME .. &amp;#039;/i18n.json&amp;#039;, config, key, addSuffix, {...} )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Adds the properties valid for this item to the SMW Set object&lt;br /&gt;
---&lt;br /&gt;
--- @param smwSetObject table&lt;br /&gt;
function p.addSmwProperties( apiData, frameArgs, smwSetObject )&lt;br /&gt;
    smwCommon.addSmwProperties(&lt;br /&gt;
        apiData,&lt;br /&gt;
        frameArgs,&lt;br /&gt;
        smwSetObject,&lt;br /&gt;
        translate,&lt;br /&gt;
        config,&lt;br /&gt;
        data,&lt;br /&gt;
        &amp;#039;Item/&amp;#039; .. MODULE_NAME&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
    local setData = {}&lt;br /&gt;
&lt;br /&gt;
    -- TODO: Modifiers and Damages are generic enough that maybe we should search for it by default on Module:Item?&lt;br /&gt;
    smwCommon.setFromTable( setData, apiData:get( &amp;#039;mining_laser.modifiers&amp;#039; ), &amp;#039;display_name&amp;#039;, &amp;#039;value&amp;#039;, &amp;#039;Modifier&amp;#039;, translate )&lt;br /&gt;
    smwCommon.setFromTable( setData, apiData:get( &amp;#039;mining_module.modifiers&amp;#039; ), &amp;#039;display_name&amp;#039;, &amp;#039;value&amp;#039;, &amp;#039;Modifier&amp;#039;, translate )&lt;br /&gt;
    smwCommon.setFromTable( setData, apiData:get( &amp;#039;bomb.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate )&lt;br /&gt;
    smwCommon.setFromTable( setData, apiData:get( &amp;#039;missile.damages&amp;#039; ), &amp;#039;name&amp;#039;, &amp;#039;damage&amp;#039;, &amp;#039;Damage&amp;#039;, translate )&lt;br /&gt;
&lt;br /&gt;
    mw.smw.set( setData )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Adds all SMW parameters set by this Module to the ASK object&lt;br /&gt;
---&lt;br /&gt;
--- @param smwAskObject table&lt;br /&gt;
--- @return nil&lt;br /&gt;
function p.addSmwAskProperties( smwAskObject )&lt;br /&gt;
    smwCommon.addSmwAskProperties(&lt;br /&gt;
        smwAskObject,&lt;br /&gt;
        translate,&lt;br /&gt;
        config,&lt;br /&gt;
        data&lt;br /&gt;
    )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Adds entries to the infobox&lt;br /&gt;
---&lt;br /&gt;
--- @param infobox table The Module:InfoboxNeue instance&lt;br /&gt;
--- @param smwData table Data from Semantic MediaWiki&lt;br /&gt;
--- @return nil&lt;br /&gt;
function p.addInfoboxData( infobox, smwData, itemPageIdentifier )&lt;br /&gt;
    local tabber = require( &amp;#039;Module:Tabber&amp;#039; ).renderTabber&lt;br /&gt;
    local tabberData = {}&lt;br /&gt;
    local section&lt;br /&gt;
&lt;br /&gt;
    -- Bomb&lt;br /&gt;
    if smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Bomb&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_DamagePhysical&amp;#039; ), smwData[ translate( &amp;#039;SMW_DamagePhysical&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_DamageEnergy&amp;#039; ), smwData[ translate( &amp;#039;SMW_DamageEnergy&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ExplosionRadius&amp;#039; ), infobox.addUnitIfExists( infobox.formatRange( smwData[ translate( &amp;#039;SMW_MinimumExplosionRadius&amp;#039; ) ], smwData[ translate( &amp;#039;SMW_MaximumExplosionRadius&amp;#039; ) ], true ), &amp;#039;m&amp;#039; ) ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ArmTime&amp;#039; ), smwData[ translate( &amp;#039;SMW_ArmTime&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_IgniteTime&amp;#039; ), smwData[ translate( &amp;#039;SMW_IgniteTime&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Cooler&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Cooler&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_CoolingRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_CoolingRate&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- EMP Generator&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;EMP&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_EMPRadius&amp;#039; ), smwData[ translate( &amp;#039;SMW_EMPRadius&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ChargeTime&amp;#039; ), smwData[ translate( &amp;#039;SMW_ChargeTime&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_CooldownTime&amp;#039; ), smwData[ translate( &amp;#039;SMW_CooldownTime&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_Duration&amp;#039; ), smwData[ translate( &amp;#039;SMW_Duration&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Fuel Pod&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;ExternalFuelTank&amp;#039; then&lt;br /&gt;
    -- Overview&lt;br /&gt;
    tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
    section = {&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_FuelCapacity&amp;#039; ), smwData[ translate( &amp;#039;SMW_FuelCapacity&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_FuelFillRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_FuelFillRate&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_FuelDrainRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_FuelDrainRate&amp;#039; ) ] )&lt;br /&gt;
    }&lt;br /&gt;
    tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Gun / Rocket Pod&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;WeaponGun.Gun&amp;#039; or smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;WeaponGun.Rocket&amp;#039; then&lt;br /&gt;
        local function getFiringModesSection()&lt;br /&gt;
            local modes = smwCommon.loadSubobjects( &lt;br /&gt;
                itemPageIdentifier,&lt;br /&gt;
                &amp;#039;SMW_FiringMode&amp;#039;,&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;#039;SMW_FiringMode&amp;#039;,&lt;br /&gt;
                    &amp;#039;SMW_FiringRate&amp;#039;,&lt;br /&gt;
                    &amp;#039;SMW_AmmoPerShot&amp;#039;,&lt;br /&gt;
                    &amp;#039;SMW_ProjectilePerShot&amp;#039;,&lt;br /&gt;
                    &amp;#039;SMW_DamagePerSecond&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
                translate&lt;br /&gt;
            )&lt;br /&gt;
&lt;br /&gt;
            if type( modes ) == &amp;#039;table&amp;#039; then&lt;br /&gt;
                local modeTabberData = {}&lt;br /&gt;
                local modeCount = 1&lt;br /&gt;
&lt;br /&gt;
                for _, mode in ipairs( modes ) do&lt;br /&gt;
                    modeTabberData[ &amp;#039;label&amp;#039; .. modeCount ] = translate( mode[ translate( &amp;#039;SMW_FiringMode&amp;#039; ) ] )&lt;br /&gt;
                    section = {&lt;br /&gt;
                        infobox:renderItem( translate( &amp;#039;LBL_DamagePerSecond&amp;#039; ), mode[ translate( &amp;#039;SMW_DamagePerSecond&amp;#039; ) ] ),&lt;br /&gt;
                        infobox:renderItem( translate( &amp;#039;LBL_FiringRate&amp;#039; ), mode[ translate( &amp;#039;SMW_FiringRate&amp;#039; ) ] ),&lt;br /&gt;
                        infobox:renderItem( translate( &amp;#039;LBL_ProjectilePerShot&amp;#039; ), mode[ translate( &amp;#039;SMW_ProjectilePerShot&amp;#039; ) ] ),&lt;br /&gt;
                        infobox:renderItem( translate( &amp;#039;LBL_AmmoPerShot&amp;#039; ), mode[ translate( &amp;#039;SMW_AmmoPerShot&amp;#039; ) ] )&lt;br /&gt;
                    }&lt;br /&gt;
                    modeTabberData[ &amp;#039;content&amp;#039; .. modeCount ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
                    modeCount = modeCount + 1&lt;br /&gt;
                end&lt;br /&gt;
&lt;br /&gt;
                return infobox:renderSection( {&lt;br /&gt;
                    title = translate( &amp;#039;LBL_Modes&amp;#039; ),&lt;br /&gt;
                    class = &amp;#039;infobox__section--tabber&amp;#039;,&lt;br /&gt;
                    content = tabber( modeTabberData ),&lt;br /&gt;
                    border = false&lt;br /&gt;
                }, true )&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_MaximumRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_MaximumRange&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_Damage&amp;#039; ), smwData[ translate( &amp;#039;SMW_Damage&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_Ammo&amp;#039; ), smwData[ translate( &amp;#039;SMW_Ammo&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true ) .. getFiringModesSection()&lt;br /&gt;
    -- Missile&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Missile.Missile&amp;#039; or smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Missile.Torpedo&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_DamagePhysical&amp;#039; ), smwData[ translate( &amp;#039;SMW_DamagePhysical&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_DamageEnergy&amp;#039; ), smwData[ translate( &amp;#039;SMW_DamageEnergy&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_SignalType&amp;#039; ), smwData[ translate( &amp;#039;SMW_SignalType&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_LockTime&amp;#039; ), smwData[ translate( &amp;#039;SMW_LockTime&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Missile launcher / Weapon mount&lt;br /&gt;
    -- FIXME: Maybe refactor the type check to a local function?&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;MissileLauncher.MissileRack&amp;#039; or smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Turret.GunTurret&amp;#039; or smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Turret.BallTurret&amp;#039; or smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Turret.CanardTurret&amp;#039; or smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Turret.NoseMounted&amp;#039; then&lt;br /&gt;
        --- NOTE: Should we just set the size SMW property to type:quantity, then prefix the S as a unit?&lt;br /&gt;
        local function getPortSize()&lt;br /&gt;
            if smwData[ translate( &amp;#039;SMW_PortSize&amp;#039; ) ] == nil then return end&lt;br /&gt;
            return &amp;#039;S&amp;#039; .. smwData[ translate( &amp;#039;SMW_PortSize&amp;#039; ) ]&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_PortCount&amp;#039; ), smwData[ translate( &amp;#039;SMW_PortCount&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_PortSize&amp;#039; ), getPortSize() )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Mining Laser&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;WeaponMining.Gun&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_MiningLaserPower&amp;#039; ), smwData[ translate( &amp;#039;SMW_MiningLaserPower&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ExtractionLaserPower&amp;#039; ), smwData[ translate( &amp;#039;SMW_ExtractionLaserPower&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_OptimalRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_OptimalRange&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_MaximumRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_MaximumRange&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ExtractionThroughput&amp;#039; ), smwData[ translate( &amp;#039;SMW_ExtractionThroughput&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModuleSlots&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModuleSlots&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
&lt;br /&gt;
        tabberData[ &amp;#039;label2&amp;#039; ] = translate( &amp;#039;LBL_Modifiers&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierCatastrophicChargeRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierCatastrophicChargeRate&amp;#039; ) ] ),&lt;br /&gt;
            --infobox:renderItem( translate( &amp;#039;LBL_ModifierExtractionLaserPower&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierExtractionLaserPower&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierLaserInstability&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierLaserInstability&amp;#039; ) ] ),&lt;br /&gt;
            --infobox:renderItem( translate( &amp;#039;LBL_ModifierMiningLaserPower&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierMiningLaserPower&amp;#039; ) ] ),&lt;br /&gt;
            --infobox:renderItem( translate( &amp;#039;LBL_ModifierOptimalChargeWindowSize&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierOptimalChargeWindowSize&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierInertMaterials&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierInertMaterials&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierOptimalChargeRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierOptimalChargeRate&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierResistance&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierResistance&amp;#039; ) ] ),&lt;br /&gt;
            --infobox:renderItem( translate( &amp;#039;LBL_ModifierShatterDamage&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierShatterDamage&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierSize&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierSize&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content2&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Mining Module&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;MiningModifier.Gun&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_Uses&amp;#039; ), smwData[ translate( &amp;#039;SMW_Uses&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_Duration&amp;#039; ), smwData[ translate( &amp;#039;SMW_Duration&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierCatastrophicChargeRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierCatastrophicChargeRate&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierExtractionLaserPower&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierExtractionLaserPower&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierLaserInstability&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierLaserInstability&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierMiningLaserPower&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierMiningLaserPower&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierOptimalChargeWindowSize&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierOptimalChargeWindowSize&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierInertMaterials&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierInertMaterials&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierOptimalChargeRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierOptimalChargeRate&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierResistance&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierResistance&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierShatterDamage&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierShatterDamage&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierSize&amp;#039; ), smwData[ translate( &amp;#039;SMW_ModifierSize&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Power Plant&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;PowerPlant.Power&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_PowerOutput&amp;#039; ), smwData[ translate( &amp;#039;SMW_PowerOutput&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Quantum Drive&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;QuantumDrive&amp;#039; then&lt;br /&gt;
        local function getQuantumDriveModesSection()&lt;br /&gt;
            local modes = smwCommon.loadSubobjects( &lt;br /&gt;
                itemPageIdentifier,&lt;br /&gt;
                &amp;#039;SMW_QuantumTravelType&amp;#039;,&lt;br /&gt;
                {&lt;br /&gt;
                    &amp;#039;SMW_QuantumTravelType&amp;#039;,&lt;br /&gt;
                    &amp;#039;SMW_QuantumTravelSpeed&amp;#039;,&lt;br /&gt;
                    &amp;#039;SMW_CooldownTime&amp;#039;,&lt;br /&gt;
                    &amp;#039;SMW_ChargeTime&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
                translate&lt;br /&gt;
            )&lt;br /&gt;
&lt;br /&gt;
            if type( modes ) == &amp;#039;table&amp;#039; then&lt;br /&gt;
                local modeTabberData = {}&lt;br /&gt;
                local modeCount = 1&lt;br /&gt;
&lt;br /&gt;
                for _, mode in ipairs( modes ) do&lt;br /&gt;
                    modeTabberData[ &amp;#039;label&amp;#039; .. modeCount ] = translate( mode[ translate( &amp;#039;SMW_QuantumTravelType&amp;#039; ) ] )&lt;br /&gt;
                    section = {&lt;br /&gt;
                        infobox:renderItem( translate( &amp;#039;LBL_QuantumTravelSpeed&amp;#039; ), mode[ translate( &amp;#039;SMW_QuantumTravelSpeed&amp;#039; ) ] ),&lt;br /&gt;
                        infobox:renderItem( translate( &amp;#039;LBL_CooldownTime&amp;#039; ), mode[ translate( &amp;#039;SMW_CooldownTime&amp;#039; ) ] ),&lt;br /&gt;
                        infobox:renderItem( translate( &amp;#039;LBL_ChargeTime&amp;#039; ), mode[ translate( &amp;#039;SMW_ChargeTime&amp;#039; ) ] )&lt;br /&gt;
                    }&lt;br /&gt;
                    modeTabberData[ &amp;#039;content&amp;#039; .. modeCount ] = infobox:renderSection( { content = section, col = 3 }, true )&lt;br /&gt;
                    modeCount = modeCount + 1&lt;br /&gt;
                end&lt;br /&gt;
&lt;br /&gt;
                return infobox:renderSection( {&lt;br /&gt;
                    title = translate( &amp;#039;LBL_Modes&amp;#039; ),&lt;br /&gt;
                    class = &amp;#039;infobox__section--tabber&amp;#039;,&lt;br /&gt;
                    content = tabber( modeTabberData ),&lt;br /&gt;
                    border = false&lt;br /&gt;
                }, true )&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_QuantumFuelRequirement&amp;#039; ), smwData[ translate( &amp;#039;SMW_QuantumFuelRequirement&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_QuantumTravelDisconnectRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_QuantumTravelDisconnectRange&amp;#039; ) ] )&lt;br /&gt;
            -- Does range matter currently? The range seems to be limited by the QF fuel tank of the vehicle anyways&lt;br /&gt;
            --infobox:renderItem( translate( &amp;#039;LBL_QuantumTravelRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_QuantumTravelRange&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true ) .. getQuantumDriveModesSection()&lt;br /&gt;
    -- Quantum Enforcement Device&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;QuantumInterdictionGenerator&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_JammerRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_JammerRange&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_InterdictionRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_InterdictionRange&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_Duration&amp;#039; ), smwData[ translate( &amp;#039;SMW_Duration&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ChargeTime&amp;#039; ), smwData[ translate( &amp;#039;SMW_ChargeTime&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_CooldownTime&amp;#039; ), smwData[ translate( &amp;#039;SMW_CooldownTime&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    -- Scraper Module&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;SalvageModifier&amp;#039; or smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;SalvageModifier.SalvageModifier_TractorBeam&amp;#039; then&lt;br /&gt;
        -- Modifier&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierSalvageSpeed&amp;#039; ), infobox.addUnitIfExists( smwData[ translate( &amp;#039;SMW_ModifierSalvageSpeed&amp;#039; ) ], &amp;#039;x&amp;#039; ) ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierRadius&amp;#039; ), infobox.addUnitIfExists( smwData[ translate( &amp;#039;SMW_ModifierRadius&amp;#039; ) ], &amp;#039;x&amp;#039; ) ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ModifierExtractionEfficiency&amp;#039; ), infobox.addUnitIfExists( smwData[ translate( &amp;#039;SMW_ModifierExtractionEfficiency&amp;#039; ) ], &amp;#039;x&amp;#039; ) )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 3 }, true )&lt;br /&gt;
    -- Shield&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;Shield&amp;#039; then&lt;br /&gt;
        -- We need raw number from SMW to calculate shield regen, so we add the unit back&lt;br /&gt;
        local function getShieldPoint()&lt;br /&gt;
            if smwData[ translate( &amp;#039;SMW_ShieldHealthPoint&amp;#039; ) ] == nil then return end&lt;br /&gt;
            return common.formatNum( math.ceil( smwData[ translate( &amp;#039;SMW_ShieldHealthPoint&amp;#039; ) ] ) ) .. &amp;#039; 🛡️&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        local function getShieldRegen()&lt;br /&gt;
            if smwData[ translate( &amp;#039;SMW_ShieldPointRegeneration&amp;#039; ) ] == nil then return end&lt;br /&gt;
            if smwData[ translate( &amp;#039;SMW_ShieldHealthPoint&amp;#039; ) ] == nil then return smwData[ translate( &amp;#039;SMW_ShieldPointRegeneration&amp;#039; ) ] end&lt;br /&gt;
&lt;br /&gt;
            local fullChargeTime = math.ceil( smwData[ translate( &amp;#039;SMW_ShieldHealthPoint&amp;#039; ) ] / smwData[ translate( &amp;#039;SMW_ShieldPointRegeneration&amp;#039; ) ] )&lt;br /&gt;
&lt;br /&gt;
            return infobox.showDescIfDiff(&lt;br /&gt;
                common.formatNum( math.ceil( smwData[ translate( &amp;#039;SMW_ShieldPointRegeneration&amp;#039; ) ] ) ) .. &amp;#039; 🛡️/s&amp;#039;,&lt;br /&gt;
                translate( &amp;#039;unit_secondtillfull&amp;#039;, false, fullChargeTime )&lt;br /&gt;
            )&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        local function getShieldRegenDelay()&lt;br /&gt;
            if smwData[ translate( &amp;#039;SMW_ShieldDownTime&amp;#039; ) ] == nil or smwData[ translate( &amp;#039;SMW_ShieldDamageDelay&amp;#039; ) ] == nil then return end&lt;br /&gt;
            return infobox.showDescIfDiff(&lt;br /&gt;
                smwData[ translate( &amp;#039;SMW_ShieldDamageDelay&amp;#039; ) ],&lt;br /&gt;
                translate( &amp;#039;unit_whendown&amp;#039;, false, smwData[ translate( &amp;#039;SMW_ShieldDownTime&amp;#039; ) ] )&lt;br /&gt;
            )&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ShieldHealthPoint&amp;#039; ), getShieldPoint() ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ShieldPointRegeneration&amp;#039; ), getShieldRegen() ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_ShieldRegenDelay&amp;#039; ), getShieldRegenDelay() )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
&lt;br /&gt;
        -- TODO: Add on API&lt;br /&gt;
        --infobox:renderSection( {&lt;br /&gt;
        --    title = translate( &amp;#039;LBL_Resistances&amp;#039; ),&lt;br /&gt;
        --    col = 3,&lt;br /&gt;
        --    content = {&lt;br /&gt;
        --        infobox:renderItem( translate( &amp;#039;LBL_ShieldPhysicalResistance&amp;#039; ), smwData[ translate( &amp;#039;SMW_ShieldPhysicalResistance&amp;#039; ) ] ),&lt;br /&gt;
        --        infobox:renderItem( translate( &amp;#039;LBL_ShieldEnergyResistance&amp;#039; ), smwData[ translate( &amp;#039;SMW_ShieldEnergyResistance&amp;#039; ) ] ),&lt;br /&gt;
        --        infobox:renderItem( translate( &amp;#039;LBL_ShieldDistortionResistance&amp;#039; ), smwData[ translate( &amp;#039;SMW_ShieldDistortionResistance&amp;#039; ) ] ),&lt;br /&gt;
        --&lt;br /&gt;
        --        infobox:renderItem( translate( &amp;#039;LBL_ShieldThermalResistance&amp;#039; ), smwData[ translate( &amp;#039;SMW_ShieldThermalResistance&amp;#039; ) ] ),&lt;br /&gt;
        --        infobox:renderItem( translate( &amp;#039;LBL_ShieldBiochemicalResistance&amp;#039; ), smwData[ translate( &amp;#039;SMW_ShieldBiochemicalResistance&amp;#039; ) ] ),&lt;br /&gt;
        --        infobox:renderItem( translate( &amp;#039;LBL_ShieldStunResistance&amp;#039; ), smwData[ translate( &amp;#039;SMW_ShieldStunResistance&amp;#039; ) ] ),&lt;br /&gt;
        --    }&lt;br /&gt;
        --} )&lt;br /&gt;
    -- Tractor beam&lt;br /&gt;
    -- TODO: Maybe we should use SMW_Type for all the stuff above&lt;br /&gt;
    elseif smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;TractorBeam&amp;#039; or smwData[ translate( &amp;#039;SMW_Type&amp;#039; ) ] == &amp;#039;TowingBeam&amp;#039; then&lt;br /&gt;
        -- Overview&lt;br /&gt;
        tabberData[ &amp;#039;label1&amp;#039; ] = translate( &amp;#039;LBL_Overview&amp;#039; )&lt;br /&gt;
        section = {&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_MaximumForce&amp;#039; ), smwData[ translate( &amp;#039;SMW_MaximumForce&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_OptimalRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_OptimalRange&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_MaximumRange&amp;#039; ), smwData[ translate( &amp;#039;SMW_MaximumRange&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_MaximumAngle&amp;#039; ), smwData[ translate( &amp;#039;SMW_MaximumAngle&amp;#039; ) ] ),&lt;br /&gt;
            infobox:renderItem( translate( &amp;#039;LBL_MaximumVolume&amp;#039; ), smwData[ translate( &amp;#039;SMW_MaximumVolume&amp;#039; ) ] )&lt;br /&gt;
        }&lt;br /&gt;
        tabberData[ &amp;#039;content1&amp;#039; ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Get the index of the last tab&lt;br /&gt;
    local tabCount = 0&lt;br /&gt;
    for _, __ in pairs( tabberData ) do&lt;br /&gt;
        tabCount = tabCount + 1&lt;br /&gt;
    end&lt;br /&gt;
    tabCount = tabCount / 2&lt;br /&gt;
&lt;br /&gt;
    -- Engineering&lt;br /&gt;
    -- TODO: Make temperatures into a graph?&lt;br /&gt;
    -- FIXME: Instead of hardcoding the unit, can we use SMW query to get the unit?&lt;br /&gt;
    tabCount = tabCount + 1&lt;br /&gt;
    tabberData[ &amp;#039;label&amp;#039; .. tabCount ] = translate( &amp;#039;LBL_Engineering&amp;#039; )&lt;br /&gt;
    section = {&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_PowerDraw&amp;#039; ), infobox.addUnitIfExists( infobox.formatRange( smwData[ translate( &amp;#039;SMW_MinimumPowerDraw&amp;#039; ) ], smwData[ translate( &amp;#039;SMW_MaximumPowerDraw&amp;#039; ) ], true ), &amp;#039;🔌/s&amp;#039; ) ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_ThermalEnergyOutput&amp;#039; ), infobox.addUnitIfExists( infobox.formatRange( smwData[ translate( &amp;#039;SMW_MinimumThermalEnergyOutput&amp;#039; ) ], smwData[ translate( &amp;#039;SMW_MaximumThermalEnergyOutput&amp;#039; ) ], true ), &amp;#039;🌡️/s&amp;#039; ) ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_MaximumCoolingRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_MaximumCoolingRate&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_StartCoolingTemperature&amp;#039; ), smwData[ translate( &amp;#039;SMW_StartCoolingTemperature&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_Temperature&amp;#039; ), infobox.addUnitIfExists( infobox.formatRange( smwData[ translate( &amp;#039;SMW_MinimumTemperature&amp;#039; ) ], smwData[ translate( &amp;#039;SMW_MaximumTemperature&amp;#039; ) ], true ), &amp;#039;°C&amp;#039; ) ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_MisfireTemperature&amp;#039; ), infobox.addUnitIfExists( infobox.formatRange( smwData[ translate( &amp;#039;SMW_MinimumMisfireTemperature&amp;#039; ) ], smwData[ translate( &amp;#039;SMW_MaximumMisfireTemperature&amp;#039; ) ], true ), &amp;#039;°C&amp;#039; ) ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_OverheatTemperature&amp;#039; ), smwData[ translate( &amp;#039;SMW_OverheatTemperature&amp;#039; ) ] )&lt;br /&gt;
    }&lt;br /&gt;
    tabberData[ &amp;#039;content&amp;#039; .. tabCount ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
&lt;br /&gt;
    -- Emission&lt;br /&gt;
    local function getMaxIR()&lt;br /&gt;
        if smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] == nil or smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] == nil and smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ] == nil then return end&lt;br /&gt;
        return smwData[ translate( &amp;#039;SMW_IRTemperatureThreshold&amp;#039; ) ] * smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] + smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ]&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    tabCount = tabCount + 1&lt;br /&gt;
    tabberData[ &amp;#039;label&amp;#039; .. tabCount ] = translate( &amp;#039;LBL_Emission&amp;#039; )&lt;br /&gt;
    section = {&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_EM&amp;#039; ), infobox.formatRange( smwData[ translate( &amp;#039;SMW_MinimumEM&amp;#039; ) ], smwData[ translate( &amp;#039;SMW_MaximumEM&amp;#039; ) ], true ) ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_PowerToEM&amp;#039; ), smwData[ translate( &amp;#039;SMW_PowerToEM&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_EMDecayRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_EMDecayRate&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_IR&amp;#039; ), infobox.formatRange( smwData[ translate( &amp;#039;SMW_MinimumIR&amp;#039; ) ], getMaxIR(), true ) ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_TemperatureToIR&amp;#039; ), smwData[ translate( &amp;#039;SMW_TemperatureToIR&amp;#039; ) ] )&lt;br /&gt;
    }&lt;br /&gt;
    tabberData[ &amp;#039;content&amp;#039; .. tabCount ] = infobox:renderSection( { content = section, col = 3 }, true )&lt;br /&gt;
&lt;br /&gt;
    -- Defense&lt;br /&gt;
    tabCount = tabCount + 1&lt;br /&gt;
    tabberData[ &amp;#039;label&amp;#039; .. tabCount ] = translate( &amp;#039;LBL_Defense&amp;#039; )&lt;br /&gt;
    section = {&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_Health&amp;#039; ), smwData[ translate( &amp;#039;SMW_HealthPoint&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_DistortionHealthPoint&amp;#039; ), smwData[ translate( &amp;#039;SMW_DistortionHealthPoint&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_DistortionDecayRate&amp;#039; ), smwData[ translate( &amp;#039;SMW_DistortionDecayRate&amp;#039; ) ] ),&lt;br /&gt;
        infobox:renderItem( translate( &amp;#039;LBL_DistortionDecayDelay&amp;#039; ), smwData[ translate( &amp;#039;SMW_DistortionDecayDelay&amp;#039; ) ] )&lt;br /&gt;
    }&lt;br /&gt;
    tabberData[ &amp;#039;content&amp;#039; .. tabCount ] = infobox:renderSection( { content = section, col = 2 }, true )&lt;br /&gt;
&lt;br /&gt;
    -- Dimensions&lt;br /&gt;
    --tabberData[ &amp;#039;label&amp;#039; .. tabCount ] = translate( &amp;#039;LBL_Dimensions&amp;#039; )&lt;br /&gt;
    --section = {&lt;br /&gt;
    --    infobox:renderItem( {&lt;br /&gt;
    --        label = translate( &amp;#039;LBL_Length&amp;#039; ),&lt;br /&gt;
    --        data = smwData[ translate( &amp;#039;SMW_EntityLength&amp;#039; ) ],&lt;br /&gt;
    --    } ),&lt;br /&gt;
    --    infobox:renderItem( {&lt;br /&gt;
    --        label = translate( &amp;#039;LBL_Width&amp;#039; ),&lt;br /&gt;
    --        data = smwData[ translate( &amp;#039;SMW_EntityWidth&amp;#039; ) ],&lt;br /&gt;
    --    } ),&lt;br /&gt;
    --    infobox:renderItem( {&lt;br /&gt;
    --        label = translate( &amp;#039;LBL_Height&amp;#039; ),&lt;br /&gt;
    --        data = smwData[ translate( &amp;#039;SMW_EntityHeight&amp;#039; ) ],&lt;br /&gt;
    --    } ),&lt;br /&gt;
    --    infobox:renderItem( {&lt;br /&gt;
    --        label = translate( &amp;#039;LBL_Mass&amp;#039; ),&lt;br /&gt;
    --        data = smwData[ translate( &amp;#039;SMW_Mass&amp;#039; ) ],&lt;br /&gt;
    --    } )&lt;br /&gt;
    --}&lt;br /&gt;
    --tabberData[ &amp;#039;content&amp;#039; .. tabCount ] = infobox:renderSection( { content = section, col = 3 }, true )&lt;br /&gt;
&lt;br /&gt;
    infobox:renderSection( {&lt;br /&gt;
		class = &amp;#039;infobox__section--tabber&amp;#039;,&lt;br /&gt;
		content = tabber( tabberData ),&lt;br /&gt;
        border = false&lt;br /&gt;
	} )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Add categories that are set on the page.&lt;br /&gt;
--- The categories table should only contain category names, no MW Links, i.e. &amp;#039;Foo&amp;#039; instead of &amp;#039;[[Category:Foo]]&amp;#039;&lt;br /&gt;
---&lt;br /&gt;
--- @param categories table The categories table&lt;br /&gt;
--- @param frameArgs table Frame arguments from Module:Arguments&lt;br /&gt;
--- @param smwData table Data from Semantic MediaWiki&lt;br /&gt;
--- @return nil&lt;br /&gt;
function p.addCategories( categories, frameArgs, smwData )&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Set the short description for this object&lt;br /&gt;
---&lt;br /&gt;
--- @param shortdesc string Short description&lt;br /&gt;
--- @param frameArgs table Frame arguments from Module:Arguments&lt;br /&gt;
--- @param smwData table Data from Semantic MediaWiki&lt;br /&gt;
--- @return nil&lt;br /&gt;
function p.getShortDescription( shortdesc, frameArgs, smwData )&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>FoXFTW</name></author>
	</entry>
</feed>