Difference between revisions of "Template:True Melee DPS Calculator/doc"

From RimWorld Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
== Summary ==
 
== Summary ==
Returns the true DPS of a melee [[weapon]] or [[animal]] i.e. the DPS taking into account the melee verb system introduced in [[Version/1.1.2610]]. This value often disagrees with the listed melee DPS in-game but better represents the reality in most cases.  
+
Returns the true DPS of a melee [[weapon]] or [[animal]] i.e. the DPS taking into account the melee verb system introduced in [[Version/1.1.2610]]. This value often disagrees with the listed melee DPS in-game but better represents the reality in most cases.
  
== Usage ==
+
== Parameters ==
The first parameter, if present, will specify which weapon or animal to generate the template for. If absent, <code><nowiki>{{PAGENAME}}</nowiki></code> will be used.
+
The template takes up to ten parameters. All of them are optional.
The second parameter, if present, will specify which material to generate the template for. If absent, the template will assume multipliers of 1 for all stats, returning the base values for animals or non-[[stuff]]able weapons such as the [[monosword]], or the equivalent of [[steel]] for stuffed weapons.
+
# A '''weapon''' or a '''pawn'''. If absent, <code><nowiki>{{PAGENAME}}</nowiki></code> will be used.
The third parameter, if present, will specify the [[quality]] of the weapon to generate the template for. If absent, the template will assume multipliers of 1 for all stats, returning the base values for animals or quality-less weapons, or the equivalent of Normal quality for other weapons.
+
# If 1) is a ''[[stuff|stuffable]] weapon'': The '''material''' the weapon is made out of. If absent, the template will assume multipliers of 1 for all stats.
 +
# If 1) is a ''weapon with [[quality]]'': The weapons '''quality'''. If absent, the template will assume multipliers of 1 for all stats.
 +
# If 1) is a ''weapon'': the '''pawn''' that wields it. If absent, the template will asume that no pawn wields the weapon.
 +
# If 4) is present: The '''artificial body part''' that replaces the body part of the pawns first attack, or that provides an additional attack. Provide <code>false</code> if the body part is missing without replacement.
 +
# If 4) is present: The '''artificial body part''' that replaces the body part of the pawns second attack, or that provides an additional attack. Provide <code>false</code> if the body part is missing without replacement.
 +
# If 4) is present: The '''artificial body part''' that replaces the body part of the pawns third attack, or that provides an additional attack. Provide <code>false</code> if the body part is missing without replacement.
 +
# If 4) is present: The '''artificial body part''' that replaces the body part of the pawns fourth attack, or that provides an additional attack. Provide <code>false</code> if the body part is missing without replacement.
 +
# If 4) is present: The '''artificial body part''' that replaces the body part of the pawns fifth attack, or that provides an additional attack. Provide <code>false</code> if the body part is missing without replacement.
 +
# If 4) is present: The '''artificial body part''' that replaces the body part of the pawns sixth attack, or that provides an additional attack. Provide <code>false</code> if the body part is missing without replacement.
 +
 
 +
In short:
 +
<pre>{{True Melee DPS Calculator|<weapon/pawn>|<material>|<quality>|<pawn>|<artificial body part/false>|<artificial body part/false>|<artificial body part/false>|<artificial body part/false>|<artificial body part/false>|<artificial body part/false>}}</pre>
  
Additionally, the values may be useful to call if more than just the DPS is useful. Namely:
 
<pre>
 
{{#var: attack1InitialSelectionWeight}} = Selection weight of Attack 1
 
{{#var: attack2InitialSelectionWeight}} = Selection weight of Attack 2
 
{{#var: attack3InitialSelectionWeight}} = Selection weight of Attack 3
 
{{#var: attack4InitialSelectionWeight}} = Selection weight of Attack 4 
 
{{#var:attack1SelectionCategory}} = Selection category for Attack 1, out of Worst (0% chance), Mid (25% chance split between all in category), and Best (75% chance split between all in category)
 
{{#var:attack2SelectionCategory}} = Selection category for Attack 2, out of Worst (0% chance), Mid (25% chance split between all in category), and Best (75% chance split between all in category)
 
{{#var:attack3SelectionCategory}} = Selection category for Attack 3, out of Worst (0% chance), Mid (25% chance split between all in category), and Best (75% chance split between all in category)
 
{{#var:attack4SelectionCategory}} = Selection category for Attack 4, out of Worst (0% chance), Mid (25% chance split between all in category), and Best (75% chance split between all in category)
 
{{#var:trueDPS}} = The DPS output by the template - only useful for further math.
 
{{#var:trueAP}} = The average AP of the weapon, using the outcome of the melee verb system.
 
</pre>
 
  
 
== Examples ==
 
== Examples ==
=== Pawn attacks ===
+
=== Non-stuffable weapon without quality ===
<pre>
+
A '''persona zeushammer''':
{{True Melee DPS Calculator| Grizzly bear}}
+
 
</pre>
+
<pre>{{True Melee DPS Calculator|Persona zeushammer}}</pre>
produces:
+
 
{{True Melee DPS Calculator| Grizzly bear}}
+
Has a true DPS of: {{True Melee DPS Calculator|Persona zeushammer}}
 +
 
 +
=== Stuffable weapon with quality ===
 +
A '''longsword''', made out of '''plasteel''' with a '''legendary''' quality:
 +
 
 +
<pre>{{True Melee DPS Calculator|Longsword|plasteel|Legendary}}</pre>
 +
 
 +
Has a true DPS of: {{True Melee DPS Calculator|Longsword|plasteel|Legendary}}
 +
 
 +
=== Pawn with no weapon ===
 +
A '''grizzly bear''':
 +
 
 +
<pre>{{True Melee DPS Calculator|Grizzly bear}}</pre>
 +
 
 +
Has a true DPS of: {{True Melee DPS Calculator|Grizzly bear}}
 +
 
 +
=== Pawn with a weapon ===
 +
A '''human''' with a left '''archotech arm''', '''no teeth''' and an '''elbow blade''' wielding an '''ikwa''', made out of '''plasteel''' of '''masterwork''' quality:
 +
 
 +
<pre>{{True Melee DPS Calculator|Ikwa|Plasteel|Masterwork|Human|Archotech arm||false||Elbow blade}}</pre>
  
=== Stuffed weapons ===
+
Has a true DPS of: {{True Melee DPS Calculator|Ikwa|Plasteel|Masterwork|Human|Archotech arm||false||Elbow blade}}
<pre>
 
{{True Melee DPS Calculator|Longsword|plasteel|Legendary}}
 
</pre>
 
produces:
 
{{True Melee DPS Calculator|Longsword|plasteel|Legendary}}
 
  
 
== Calling additional variables ==
 
== Calling additional variables ==
Line 121: Line 133:
 
! {{#var:trueAP}} ''(True AP)''
 
! {{#var:trueAP}} ''(True AP)''
 
|}
 
|}
 
=== Persona zeushammer ===
 
<pre>{{True Melee DPS Calculator|Persona zeushammer}}</pre>
 
{{True Melee DPS Calculator|Persona zeushammer}}
 
  
 
== Warning to editors ==
 
== Warning to editors ==

Revision as of 10:36, 20 April 2023

Summary

Returns the true DPS of a melee weapon or animal i.e. the DPS taking into account the melee verb system introduced in Version/1.1.2610. This value often disagrees with the listed melee DPS in-game but better represents the reality in most cases.

Parameters

The template takes up to ten parameters. All of them are optional.

  1. A weapon or a pawn. If absent, {{PAGENAME}} will be used.
  2. If 1) is a stuffable weapon: The material the weapon is made out of. If absent, the template will assume multipliers of 1 for all stats.
  3. If 1) is a weapon with quality: The weapons quality. If absent, the template will assume multipliers of 1 for all stats.
  4. If 1) is a weapon: the pawn that wields it. If absent, the template will asume that no pawn wields the weapon.
  5. If 4) is present: The artificial body part that replaces the body part of the pawns first attack, or that provides an additional attack. Provide false if the body part is missing without replacement.
  6. If 4) is present: The artificial body part that replaces the body part of the pawns second attack, or that provides an additional attack. Provide false if the body part is missing without replacement.
  7. If 4) is present: The artificial body part that replaces the body part of the pawns third attack, or that provides an additional attack. Provide false if the body part is missing without replacement.
  8. If 4) is present: The artificial body part that replaces the body part of the pawns fourth attack, or that provides an additional attack. Provide false if the body part is missing without replacement.
  9. If 4) is present: The artificial body part that replaces the body part of the pawns fifth attack, or that provides an additional attack. Provide false if the body part is missing without replacement.
  10. If 4) is present: The artificial body part that replaces the body part of the pawns sixth attack, or that provides an additional attack. Provide false if the body part is missing without replacement.

In short:

{{True Melee DPS Calculator|<weapon/pawn>|<material>|<quality>|<pawn>|<artificial body part/false>|<artificial body part/false>|<artificial body part/false>|<artificial body part/false>|<artificial body part/false>|<artificial body part/false>}}


Examples

Non-stuffable weapon without quality

A persona zeushammer:

{{True Melee DPS Calculator|Persona zeushammer}}

Has a true DPS of: 13.17

Stuffable weapon with quality

A longsword, made out of plasteel with a legendary quality:

{{True Melee DPS Calculator|Longsword|plasteel|Legendary}}

Has a true DPS of: 17.68

Pawn with no weapon

A grizzly bear:

{{True Melee DPS Calculator|Grizzly bear}}

Has a true DPS of: 8.67

Pawn with a weapon

A human with a left archotech arm, no teeth and an elbow blade wielding an ikwa, made out of plasteel of masterwork quality:

{{True Melee DPS Calculator|Ikwa|Plasteel|Masterwork|Human|Archotech arm||false||Elbow blade}}

Has a true DPS of: 12.98

Calling additional variables

The template defines a lot of useful variables that can be called. Below you can see a full table of them. This also means we can retrace the calculations step by step.

This example is for a human with an archotech left arm, no teeth and an elbow blade wielding a masterwork plasteel ikwa.

{{True Melee DPS Calculator|Ikwa|Plasteel|Masterwork|Human|Archotech arm||false||Elbow blade}}
{| class="wikitable"
! Attack Source !! Part name (manual) !! Attack Type !! Damage !! AP !! Cooldown !! Weight !! Category !! Selection chance !! weighted DPS !! weighted AP
|-
! rowspan="6" | {{#var:name}}<br/>({{#var:material}}, {{#var:quality}})
| {{Q|{{#var:name}}|Attack 1 Part}} || {{#var:attack1Type}} || {{#var:attack1Damage}} || {{#var:attack1AP}} || {{#var:attack1Cooldown}} || {{#var: attack1InitialSelectionWeight}} || {{#var:attack1SelectionCategory}} || {{#var:attack1SelectionChance}} || || {{#var:attack1WeightedAP}}
|-
| {{Q|{{#var:name}}|Attack 2 Part}} || {{#var:attack2Type}} || {{#var:attack2Damage}} || {{#var:attack2AP}} || {{#var:attack2Cooldown}} || {{#var: attack2InitialSelectionWeight}} || {{#var:attack2SelectionCategory}} || {{#var:attack2SelectionChance}} || || {{#var:attack2WeightedAP}}
|-
| {{Q|{{#var:name}}|Attack 3 Part}} || {{#var:attack3Type}} || {{#var:attack3Damage}} || {{#var:attack3AP}} || {{#var:attack3Cooldown}} || {{#var: attack3InitialSelectionWeight}} || {{#var:attack3SelectionCategory}} || {{#var:attack3SelectionChance}} || || {{#var:attack3WeightedAP}}
|-
| {{Q|{{#var:name}}|Attack 4 Part}} || {{#var:attack4Type}} || {{#var:attack4Damage}} || {{#var:attack4AP}} || {{#var:attack4Cooldown}} || {{#var: attack4InitialSelectionWeight}} || {{#var:attack4SelectionCategory}} || {{#var:attack4SelectionChance}} || || {{#var:attack4WeightedAP}}
|-
| {{Q|{{#var:name}}|Attack 5 Part}} || {{#var:attack5Type}} || {{#var:attack5Damage}} || {{#var:attack5AP}} || {{#var:attack5Cooldown}} || {{#var: attack5InitialSelectionWeight}} || {{#var:attack5SelectionCategory}} || {{#var:attack5SelectionChance}} || || {{#var:attack5WeightedAP}}
|-
| {{Q|{{#var:name}}|Attack 6 Part}} || {{#var:attack6Type}} || {{#var:attack6Damage}} || {{#var:attack6AP}} || {{#var:attack6Cooldown}} || {{#var: attack6InitialSelectionWeight}} || {{#var:attack6SelectionCategory}} || {{#var:attack6SelectionChance}} || || {{#var:attack6WeightedAP}}
|-
! {{#var:attack7Source}}
| {{#var:attack7Part}} || {{#var:attack7Type}} || {{#var:attack7Damage}} || {{#var:attack7AP}} || {{#var:attack7Cooldown}} || {{#var: attack7InitialSelectionWeight}} || {{#var:attack7SelectionCategory}} || {{#var:attack7SelectionChance}} || || {{#var:attack7WeightedAP}}
|-
! {{#var:attack8Source}}
| {{#var:attack8Part}} || {{#var:attack8Type}} || {{#var:attack8Damage}} || {{#var:attack8AP}} || {{#var:attack8Cooldown}} || {{#var: attack8InitialSelectionWeight}} || {{#var:attack8SelectionCategory}} || {{#var:attack8SelectionChance}} || || {{#var:attack8WeightedAP}}
|-
! {{#var:attack9Source}}
| {{#var:attack9Part}} || {{#var:attack9Type}} || {{#var:attack9Damage}} || {{#var:attack9AP}} || {{#var:attack9Cooldown}} || {{#var: attack9InitialSelectionWeight}} || {{#var:attack9SelectionCategory}} || {{#var:attack9SelectionChance}} || || {{#var:attack9WeightedAP}}
|-
! {{#var:attack10Source}}
| {{#var:attack10Part}} || {{#var:attack10Type}} || {{#var:attack10Damage}} || {{#var:attack10AP}} || {{#var:attack10Cooldown}} || {{#var: attack10InitialSelectionWeight}} || {{#var:attack10SelectionCategory}} || {{#var:attack10SelectionChance}} || || {{#var:attack10WeightedAP}}
|-
! {{#var:attack11Source}}
| {{#var:attack11Part}} || {{#var:attack11Type}} || {{#var:attack11Damage}} || {{#var:attack11AP}} || {{#var:attack11Cooldown}} || {{#var: attack11InitialSelectionWeight}} || {{#var:attack11SelectionCategory}} || {{#var:attack11SelectionChance}} || || {{#var:attack11WeightedAP}}
|-
! {{#var:attack12Source}}
| {{#var:attack12Part}} || {{#var:attack12Type}} || {{#var:attack12Damage}} || {{#var:attack12AP}} || {{#var:attack12Cooldown}} || {{#var: attack12InitialSelectionWeight}} || {{#var:attack12SelectionCategory}} || {{#var:attack12SelectionChance}} || || {{#var:attack12WeightedAP}}
|-
! colspan="9" | SUM:
! {{#var:trueDPS}} ''(True DPS)''
! {{#var:trueAP}} ''(True AP)''
|}

12.98

Attack Source Part name (manual) Attack Type Damage AP Cooldown Weight Category Selection chance weighted DPS weighted AP
Ikwa
(Plasteel, Masterwork)
Handle Blunt 11.745 16.965 1.6 8.6 mid 0.0625 1.0603125
Handle Poke 11.745 16.965 1.6 8.6 mid 0.0625 1.0603125
Head Stab 23.925 35.09 1.6 20.2 best 0.375 13.15875
Edge Cut 23.925 35.09 1.6 20.2 best 0.375 13.15875
Blunt 14 21 2 8.5 mid 0.0625 1.3125
Blunt 8.2 12 2 4.6 worst 0 0
0 0 0 0 worst 0 0
Bite 8.2 12 2 0.3 worst 0 0
Cut 18 27 2 11.4 mid 0.0625 1.6875
0 0 0 0
SUM: 12.98 (True DPS) 31.44 (True AP)

Warning to editors

The encouragement above to reuse variables defined by this template means that you need to be extremely careful when changing names of variables or their definitions, since it might affect other templates as well.

Namely Template:Weapon Quality Table/Melee reuses the following variables defined in this template:

* {{#var:trueAP}}
* {{#var:attack1AP}}, {{#var:attack2AP}}, {{#var:attack3AP}}, {{#var:attack4AP}}
* {{#var:attack1Cooldown}}, {{#var:attack2Cooldown}}, {{#var:attack3Cooldown}}, {{#var:attack4Cooldown}}
* {{#var:attack1Damage}}, {{#var:attack2Damage}}, {{#var:attack3Damage}}, {{#var:attack4Damage}}
* {{#var:attack1SelectionChance}}, {{#var:attack2SelectionChance}}, {{#var:attack3SelectionChance}}, {{#var:attack4SelectionChance}}