Editing Template:True Melee DPS Calculator
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 19: | Line 19: | ||
}}<!-- | }}<!-- | ||
-->{{#vardefine:material | {{{2|}}} }}<!-- | -->{{#vardefine:material | {{{2|}}} }}<!-- | ||
− | -->{{#vardefine:cooldownFactor | {{#show:{{#var:material}}|?Melee Cooldown Factor|link=none|default=1}} }}<!-- | + | -->{{#vardefine:cooldownFactor | {{#show:{{#var:material}}|?Melee Cooldown Factor|link=none|default=1}}}}<!-- |
-->{{#vardefine:quality | {{{ 3|}}} }}<!-- | -->{{#vardefine:quality | {{{ 3|}}} }}<!-- | ||
-->{{#vardefine:attack1Type | {{#show:{{#var:weapon}}|?Attack 1 Type|link=none}} }}<!-- | -->{{#vardefine:attack1Type | {{#show:{{#var:weapon}}|?Attack 1 Type|link=none}} }}<!-- | ||
Line 25: | Line 25: | ||
-->{{#vardefine:attack3Type | {{#show:{{#var:weapon}}|?Attack 3 Type|link=none}} }}<!-- | -->{{#vardefine:attack3Type | {{#show:{{#var:weapon}}|?Attack 3 Type|link=none}} }}<!-- | ||
-->{{#vardefine:attack4Type | {{#show:{{#var:weapon}}|?Attack 4 Type|link=none}} }}<!-- | -->{{#vardefine:attack4Type | {{#show:{{#var:weapon}}|?Attack 4 Type|link=none}} }}<!-- | ||
+ | -->{{#vardefine:attack5Type | {{#show:{{#var:weapon}}|?Attack 5 Type|link=none}} }}<!-- | ||
+ | -->{{#vardefine:attack6Type | {{#show:{{#var:weapon}}|?Attack 6 Type|link=none}} }}<!-- | ||
-->{{#vardefine: 5 | {{{ 5|}}} }}<!-- | -->{{#vardefine: 5 | {{{ 5|}}} }}<!-- | ||
-->{{#vardefine: 6 | {{{ 6|}}} }}<!-- | -->{{#vardefine: 6 | {{{ 6|}}} }}<!-- | ||
Line 35: | Line 37: | ||
-->{{#switch: {{lc:{{{3|}}} }} | -->{{#switch: {{lc:{{{3|}}} }} | ||
| awful = {{#vardefine:sharpAndQualityFactor | {{#expr: 0.8 * {{#show:{{#var:material}}|?Melee Sharp Damage Factor|link=none|default=1}} }} }} {{#vardefine:bluntAndQualityFactor | {{#expr: 0.8 * {{#show:{{#var:material}}|?Melee Blunt Damage Factor|link=none|default=1}} }} }} | | awful = {{#vardefine:sharpAndQualityFactor | {{#expr: 0.8 * {{#show:{{#var:material}}|?Melee Sharp Damage Factor|link=none|default=1}} }} }} {{#vardefine:bluntAndQualityFactor | {{#expr: 0.8 * {{#show:{{#var:material}}|?Melee Blunt Damage Factor|link=none|default=1}} }} }} | ||
− | | poor = {{#vardefine:sharpAndQualityFactor | {{#expr: 0.9 * {{#show:{{#var:material}}|?Melee Sharp Damage Factor|link=none|default=1}} }} }} {{#vardefine:bluntAndQualityFactor | {{#expr: 0.9 * {{#show:{{#var:material}}|?Melee Blunt Damage Factor|link=none|default=1}} }} }} | + | | poor = {{#vardefine:sharpAndQualityFactor | {{#expr: 0.9 * {{#show:{{#var:material}}|?Melee Sharp Damage Factor|link=none|default=1}} }} }} {{#vardefine:bluntAndQualityFactor | {{#expr: 0.9 * {{#show:{{#var:material}}|?Melee Blunt Damage Factor|link=none|default=1}} }} }} |
| good = {{#vardefine:sharpAndQualityFactor | {{#expr: 1.1 * {{#show:{{#var:material}}|?Melee Sharp Damage Factor|link=none|default=1}} }} }} {{#vardefine:bluntAndQualityFactor | {{#expr: 1.1 * {{#show:{{#var:material}}|?Melee Blunt Damage Factor|link=none|default=1}} }} }} | | good = {{#vardefine:sharpAndQualityFactor | {{#expr: 1.1 * {{#show:{{#var:material}}|?Melee Sharp Damage Factor|link=none|default=1}} }} }} {{#vardefine:bluntAndQualityFactor | {{#expr: 1.1 * {{#show:{{#var:material}}|?Melee Blunt Damage Factor|link=none|default=1}} }} }} | ||
| excellent = {{#vardefine:sharpAndQualityFactor | {{#expr: 1.2 * {{#show:{{#var:material}}|?Melee Sharp Damage Factor|link=none|default=1}} }} }} {{#vardefine:bluntAndQualityFactor | {{#expr: 1.2 * {{#show:{{#var:material}}|?Melee Blunt Damage Factor|link=none|default=1}} }} }} | | excellent = {{#vardefine:sharpAndQualityFactor | {{#expr: 1.2 * {{#show:{{#var:material}}|?Melee Sharp Damage Factor|link=none|default=1}} }} }} {{#vardefine:bluntAndQualityFactor | {{#expr: 1.2 * {{#show:{{#var:material}}|?Melee Blunt Damage Factor|link=none|default=1}} }} }} | ||
Line 46: | Line 48: | ||
-->{{#if: {{#var:pawn}} | | -->{{#if: {{#var:pawn}} | | ||
− | {{#vardefine: | + | {{#vardefine:attack7Type | {{#if: {{#var: 5}} | {{#ifeq: {{#var: 5}} | false || {{#show:{{#var: 5}}|?Attack 1 Type|link=none}} }} | {{#show:{{#var:pawn}}|?Attack 1 Type|link=none}} }} }} |
− | {{#vardefine: | + | {{#vardefine:attack8Type | {{#if: {{#var: 6}} | {{#ifeq: {{#var: 6}} | false || {{#show:{{#var: 6}}|?Attack 1 Type|link=none}} }} | {{#show:{{#var:pawn}}|?Attack 2 Type|link=none}} }} }} |
− | {{#vardefine: | + | {{#vardefine:attack9Type | {{#if: {{#var: 7}} | {{#ifeq: {{#var: 7}} | false || {{#show:{{#var: 7}}|?Attack 1 Type|link=none}} }} | {{#show:{{#var:pawn}}|?Attack 3 Type|link=none}} }} }} |
− | {{#vardefine: | + | {{#vardefine:attack10Type | {{#if: {{#var: 8}} | {{#ifeq: {{#var: 8}} | false || {{#show:{{#var: 8}}|?Attack 1 Type|link=none}} }} | {{#show:{{#var:pawn}}|?Attack 4 Type|link=none}} }} }}<!-- humans have four attacks. To allow for humans with two elbow blades and knee spikes each we need four extra attacks --> |
− | {{#vardefine: | + | {{#vardefine:attack11Type | {{#if: {{#var: 9}} | {{#ifeq: {{#var: 9}} | false || {{#show:{{#var: 9}}|?Attack 1 Type|link=none}} }} | {{#show:{{#var:pawn}}|?Attack 5 Type|link=none}} }} }} |
− | {{#vardefine: | + | {{#vardefine:attack12Type | {{#if: {{#var:10}} | {{#ifeq: {{#var:10}} | false || {{#show:{{#var:10}}|?Attack 1 Type|link=none}} }} | {{#show:{{#var:pawn}}|?Attack 6 Type|link=none}} }} }}<!-- maximum number of attacks for all pawns. Further attacks can therefore only come from artificial body parts --> |
− | {{#vardefine: | + | {{#vardefine:attack13Type | {{#show:{{#var:11}}|?Attack 1 Type|link=none}} }} |
− | {{#vardefine: | + | {{#vardefine:attack14Type | {{#show:{{#var:12}}|?Attack 1 Type|link=none}} }} |
− | | {{#vardefine: | + | | {{#vardefine:attack7Type|}}{{#vardefine:attack8Type|}}{{#vardefine:attack9Type|}}{{#vardefine:attack10Type|}}{{#vardefine:attack11Type|}}{{#vardefine:attack12Type|}}{{#vardefine:attack13Type|}}{{#vardefine:attack14Type|}} |
}}<!-- | }}<!-- | ||
1.2 Clearing variables in case the page is called multiple times on the same page | 1.2 Clearing variables in case the page is called multiple times on the same page | ||
− | -->{{#vardefine:attack1InitialSelectionWeight | }}{{#vardefine:attack1SelectionCategory |}}{{#vardefine:attack1AP | }}{{#vardefine:attack1Cooldown | }}{{#vardefine:attack1Damage | }}<!-- | + | -->{{#vardefine:attack1InitialSelectionWeight|}}{{#vardefine:attack1SelectionCategory|}}{{#vardefine:attack1AP|}}{{#vardefine:attack1Cooldown|}}{{#vardefine:attack1Damage|}}{{#vardefine:attack1SelectionChance|}}{{#vardefineecho:attack1WeightedDamage|}}{{#vardefineecho:attack1WeightedCooldown|}}{{#vardefineecho:attack1WeightedAP|}}<!-- |
− | -->{{#vardefine:attack2InitialSelectionWeight | }}{{#vardefine:attack2SelectionCategory |}}{{#vardefine:attack2AP | }}{{#vardefine:attack2Cooldown | }}{{#vardefine:attack2Damage | }}<!-- | + | -->{{#vardefine:attack2InitialSelectionWeight|}}{{#vardefine:attack2SelectionCategory|}}{{#vardefine:attack2AP|}}{{#vardefine:attack2Cooldown|}}{{#vardefine:attack2Damage|}}{{#vardefine:attack2SelectionChance|}}{{#vardefineecho:attack2WeightedDamage|}}{{#vardefineecho:attack2WeightedCooldown|}}{{#vardefineecho:attack2WeightedAP|}}<!-- |
− | -->{{#vardefine:attack3InitialSelectionWeight | }}{{#vardefine:attack3SelectionCategory |}}{{#vardefine:attack3AP | }}{{#vardefine:attack3Cooldown | }}{{#vardefine:attack3Damage | }}<!-- | + | -->{{#vardefine:attack3InitialSelectionWeight|}}{{#vardefine:attack3SelectionCategory|}}{{#vardefine:attack3AP|}}{{#vardefine:attack3Cooldown|}}{{#vardefine:attack3Damage|}}{{#vardefine:attack3SelectionChance|}}{{#vardefineecho:attack3WeightedDamage|}}{{#vardefineecho:attack3WeightedCooldown|}}{{#vardefineecho:attack3WeightedAP|}}<!-- |
− | -->{{#vardefine:attack4InitialSelectionWeight | }}{{#vardefine:attack4SelectionCategory |}}{{#vardefine:attack4AP | }}{{#vardefine:attack4Cooldown | }}{{#vardefine:attack4Damage | }}<!-- | + | -->{{#vardefine:attack4InitialSelectionWeight|}}{{#vardefine:attack4SelectionCategory|}}{{#vardefine:attack4AP|}}{{#vardefine:attack4Cooldown|}}{{#vardefine:attack4Damage|}}{{#vardefine:attack4SelectionChance|}}{{#vardefineecho:attack4WeightedDamage|}}{{#vardefineecho:attack4WeightedCooldown|}}{{#vardefineecho:attack4WeightedAP|}}<!-- |
− | -->{{#vardefine:attack5InitialSelectionWeight | | + | -->{{#vardefine:attack5InitialSelectionWeight|}}{{#vardefine:attack5SelectionCategory|}}{{#vardefine:attack5AP|}}{{#vardefine:attack5Cooldown|}}{{#vardefine:attack5Damage|}}{{#vardefine:attack5SelectionChance|}}{{#vardefineecho:attack5WeightedDamage|}}{{#vardefineecho:attack5WeightedCooldown|}}{{#vardefineecho:attack5WeightedAP|}}<!-- |
− | + | -->{{#vardefine:attack6InitialSelectionWeight|}}{{#vardefine:attack6SelectionCategory|}}{{#vardefine:attack6AP|}}{{#vardefine:attack6Cooldown|}}{{#vardefine:attack6Damage|}}{{#vardefine:attack6SelectionChance|}}{{#vardefineecho:attack6WeightedDamage|}}{{#vardefineecho:attack6WeightedCooldown|}}{{#vardefineecho:attack6WeightedAP|}}<!-- | |
− | -->{{#vardefine: | + | -->{{#vardefine:attack7InitialSelectionWeight|}}{{#vardefine:attack7SelectionCategory|}}{{#vardefine:attack7AP|}}{{#vardefine:attack7Cooldown|}}{{#vardefine:attack7Damage|}}{{#vardefine:attack7SelectionChance|}}{{#vardefineecho:attack7WeightedDamage|}}{{#vardefineecho:attack7WeightedCooldown|}}{{#vardefineecho:attack7WeightedAP|}}<!-- |
− | + | -->{{#vardefine:attack8InitialSelectionWeight|}}{{#vardefine:attack8SelectionCategory|}}{{#vardefine:attack8AP|}}{{#vardefine:attack8Cooldown|}}{{#vardefine:attack8Damage|}}{{#vardefine:attack8SelectionChance|}}{{#vardefineecho:attack8WeightedDamage|}}{{#vardefineecho:attack8WeightedCooldown|}}{{#vardefineecho:attack8WeightedAP|}}<!-- | |
− | -->{{#vardefine: | + | -->{{#vardefine:attack9InitialSelectionWeight|}}{{#vardefine:attack9SelectionCategory|}}{{#vardefine:attack9AP|}}{{#vardefine:attack9Cooldown|}}{{#vardefine:attack9Damage|}}{{#vardefine:attack9SelectionChance|}}{{#vardefineecho:attack9WeightedDamage|}}{{#vardefineecho:attack9WeightedCooldown|}}{{#vardefineecho:attack9WeightedAP|}}<!-- |
− | + | -->{{#vardefine:attack10InitialSelectionWeight|}}{{#vardefine:attack10SelectionCategory|}}{{#vardefine:attack10AP|}}{{#vardefine:attack10Cooldown|}}{{#vardefine:attack10Damage|}}{{#vardefine:attack10SelectionChance|}}{{#vardefineecho:attack10WeightedDamage|}}{{#vardefineecho:attack10WeightedCooldown|}}{{#vardefineecho:attack10WeightedAP|}}<!-- | |
− | -->{{#vardefine: | + | -->{{#vardefine:attack11InitialSelectionWeight|}}{{#vardefine:attack11SelectionCategory|}}{{#vardefine:attack11AP|}}{{#vardefine:attack11Cooldown|}}{{#vardefine:attack11Damage|}}{{#vardefine:attack11SelectionChance|}}{{#vardefineecho:attack11WeightedDamage|}}{{#vardefineecho:attack11WeightedCooldown|}}{{#vardefineecho:attack11WeightedAP|}}<!-- |
− | + | -->{{#vardefine:attack12InitialSelectionWeight|}}{{#vardefine:attack12SelectionCategory|}}{{#vardefine:attack12AP|}}{{#vardefine:attack12Cooldown|}}{{#vardefine:attack12Damage|}}{{#vardefine:attack12SelectionChance|}}{{#vardefineecho:attack12WeightedDamage|}}{{#vardefineecho:attack12WeightedCooldown|}}{{#vardefineecho:attack12WeightedAP|}}<!-- | |
− | + | -->{{#vardefine:attack13InitialSelectionWeight|}}{{#vardefine:attack13SelectionCategory|}}{{#vardefine:attack13AP|}}{{#vardefine:attack13Cooldown|}}{{#vardefine:attack13Damage|}}{{#vardefine:attack13SelectionChance|}}{{#vardefineecho:attack13WeightedDamage|}}{{#vardefineecho:attack13WeightedCooldown|}}{{#vardefineecho:attack13WeightedAP|}}<!-- | |
− | + | -->{{#vardefine:attack14InitialSelectionWeight|}}{{#vardefine:attack14SelectionCategory|}}{{#vardefine:attack14AP|}}{{#vardefine:attack14Cooldown|}}{{#vardefine:attack14Damage|}}{{#vardefine:attack14SelectionChance|}}{{#vardefineecho:attack14WeightedDamage|}}{{#vardefineecho:attack14WeightedCooldown|}}{{#vardefineecho:attack14WeightedAP|}}<!-- | |
− | -->{{#vardefine: | ||
− | |||
− | -->{{#vardefine: | ||
− | |||
− | -->{{#vardefine: | ||
− | |||
− | -->{{#vardefine: | ||
− | |||
− | -->{{#vardefine: | ||
− | |||
-->{{#vardefine:numBestAttacks|0}}{{#vardefine:numMidAttacks|0}}<!-- | -->{{#vardefine:numBestAttacks|0}}{{#vardefine:numMidAttacks|0}}<!-- | ||
Line 88: | Line 80: | ||
2.1.2 Weapon attacks | 2.1.2 Weapon attacks | ||
2.1.1.1 First weapon attack | 2.1.1.1 First weapon attack | ||
− | -->{{#if: {{#var:attack1Type}} | {{#vardefine: | + | -->{{#if: {{#var:attack1Type}} | |
+ | {{#switch: {{#var:attack1Type}} | ||
+ | | #default = | ||
+ | {{#vardefine:attack1Damage | {{#expr: {{#show:{{#var:weapon}}|?Attack 1 Damage|link=none}}*{{#var:sharpAndQualityFactor}} }} }} | ||
+ | {{#vardefine:attack1AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 1 AP|link=none}} *{{#var:sharpAndQualityFactor}} }} }} | ||
| Blunt | Crush | Demolish | Poke = | | Blunt | Crush | Demolish | Poke = | ||
− | + | {{#vardefine:attack1Damage | {{#expr: {{#show:{{#var:weapon}}|?Attack 1 Damage|link=none}}*{{#var:bluntAndQualityFactor}} }} }} | |
− | + | {{#vardefine:attack1AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 1 AP|link=none}} *{{#var:bluntAndQualityFactor}} }} }} | |
− | + | }} | |
− | + | {{#vardefine: attack1InitialSelectionWeight | {{#expr: {{#var:attack1Damage}} * (1 + ({{#var:attack1AP}}/100)) * {{#show:{{#var:weapon}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack1Cooldown | {{#expr: {{#show:{{#var:weapon}}|?Attack 1 Cooldown|link=none}}*{{#var:cooldownFactor}} }} }} round 1}} }}<!-- | |
+ | 2.1.1.2 Second weapon attack | ||
+ | -->{{#if: {{#var:attack2Type}} | | ||
+ | {{#switch: {{#var:attack2Type}} | ||
| #default = | | #default = | ||
− | + | {{#vardefine:attack2Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 2 Damage|link=none}}*{{#var:sharpAndQualityFactor}} }} }} | |
− | + | {{#vardefine:attack2AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 2 AP|link=none}} *{{#var:sharpAndQualityFactor}} }} }} | |
− | + | | Blunt | Crush | Demolish | Poke = | |
− | + | {{#vardefine:attack2Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 2 Damage|link=none}}*{{#var:bluntAndQualityFactor}} }} }} | |
− | }} round 1}} }}<!-- | + | {{#vardefine:attack2AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 2 AP|link=none}} *{{#var:bluntAndQualityFactor}} }} }} |
− | 2.1.1. | + | }} |
− | -->{{#if: {{#var: | + | {{#vardefine: attack2InitialSelectionWeight | {{#expr: {{#var:attack2Damage}} * (1 + ({{#var:attack2AP}}/100)) * {{#show:{{#var:weapon}}|?Attack 2 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack2Cooldown | {{#expr: {{#show:{{#var:weapon}}|?Attack 2 Cooldown|link = none}}*{{#var:cooldownFactor}} }} }} round 1}} }}<!-- |
+ | 2.1.1.3 Third weapon attack | ||
+ | -->{{#if: {{#var:attack3Type}} | | ||
+ | {{#switch: {{#var:attack3Type}} | ||
+ | | #default = | ||
+ | {{#vardefine:attack3Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 3 Damage|link=none}}*{{#var:sharpAndQualityFactor}} }} }} | ||
+ | {{#vardefine:attack3AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 3 AP|link=none}} *{{#var:sharpAndQualityFactor}} }} }} | ||
| Blunt | Crush | Demolish | Poke = | | Blunt | Crush | Demolish | Poke = | ||
− | + | {{#vardefine:attack3Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 3 Damage|link=none}}*{{#var:bluntAndQualityFactor}} }} }} | |
− | + | {{#vardefine:attack3AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 3 AP|link=none}} *{{#var:bluntAndQualityFactor}} }} }} | |
− | + | }} | |
− | + | {{#vardefine: attack3InitialSelectionWeight | {{#expr: {{#var:attack3Damage}} * (1 + ({{#var:attack3AP}}/100)) * {{#show:{{#var:weapon}}|?Attack 3 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack3Cooldown | {{#expr: {{#show:{{#var:weapon}}|?Attack 3 Cooldown|link=none}}*{{#var:cooldownFactor}} }} }} round 1}} }}<!-- | |
+ | 2.1.1.4 Fourth weapon attack | ||
+ | -->{{#if: {{#var:attack4Type}} | | ||
+ | {{#switch: {{#var:attack4Type}} | ||
| #default = | | #default = | ||
− | + | {{#vardefine:attack4Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 4 Damage|link=none}}*{{#var:sharpAndQualityFactor}} }} }} | |
− | + | {{#vardefine:attack4AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 4 AP|link=none}} *{{#var:sharpAndQualityFactor}} }} }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
| Blunt | Crush | Demolish | Poke = | | Blunt | Crush | Demolish | Poke = | ||
− | + | {{#vardefine:attack4Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 4 Damage|link=none}}*{{#var:bluntAndQualityFactor}} }} }} | |
− | + | {{#vardefine:attack4AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 4 AP|link=none}} *{{#var:bluntAndQualityFactor}} }} }} | |
− | + | }} | |
− | + | {{#vardefine: attack4InitialSelectionWeight | {{#expr: {{#var:attack4Damage}} * (1 + ({{#var:attack4AP}}/100)) * {{#show:{{#var:weapon}}|?Attack 4 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack4Cooldown | {{#expr: {{#show:{{#var:weapon}}|?Attack 4 Cooldown|link=none}}*{{#var:cooldownFactor}} }} }} round 1}} }}<!-- | |
+ | 2.1.1.5 Fifth weapon attack | ||
+ | -->{{#if: {{#var:attack5Type}} | | ||
+ | {{#switch: {{#var:attack5Type}} | ||
| #default = | | #default = | ||
− | + | {{#vardefine:attack5Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 5 Damage|link=none}}*{{#var:sharpAndQualityFactor}} }} }} | |
− | + | {{#vardefine:attack5AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 5 AP|link=none}} *{{#var:sharpAndQualityFactor}} }} }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
| Blunt | Crush | Demolish | Poke = | | Blunt | Crush | Demolish | Poke = | ||
− | + | {{#vardefine:attack5Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 5 Damage|link=none}}*{{#var:bluntAndQualityFactor}} }} }} | |
− | + | {{#vardefine:attack5AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 5 AP|link=none}} *{{#var:bluntAndQualityFactor}} }} }} | |
− | + | }} | |
− | + | {{#vardefine: attack5InitialSelectionWeight | {{#expr: {{#var:attack5Damage}} * (1 + ({{#var:attack5AP}}/100)) * {{#show:{{#var:weapon}}|?Attack 5 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack5Cooldown | {{#expr: {{#show:{{#var:weapon}}|?Attack 5 Cooldown|link=none}}*{{#var:cooldownFactor}} }} }} round 1}} }}<!-- | |
+ | 2.1.1.6 Sixth weapon attack | ||
+ | -->{{#if: {{#var:attack6Type}} | | ||
+ | {{#switch: {{#var:attack6Type}} | ||
| #default = | | #default = | ||
− | + | {{#vardefine:attack6Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 6 Damage|link=none}}*{{#var:sharpAndQualityFactor}} }} }} | |
− | + | {{#vardefine:attack6AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 6 AP|link=none}} *{{#var:sharpAndQualityFactor}} }} }} | |
− | + | | Blunt | Crush | Demolish | Poke = | |
− | + | {{#vardefine:attack6Damage| {{#expr: {{#show:{{#var:weapon}}|?Attack 6 Damage|link=none}}*{{#var:bluntAndQualityFactor}} }} }} | |
− | }} | + | {{#vardefine:attack6AP | {{#expr: {{#show:{{#var:weapon}}|?Attack 6 AP|link=none}} *{{#var:bluntAndQualityFactor}} }} }} |
+ | }} | ||
+ | {{#vardefine: attack6InitialSelectionWeight | {{#expr: {{#var:attack6Damage}} * (1 + ({{#var:attack6AP}}/100)) * {{#show:{{#var:weapon}}|?Attack 6 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack6Cooldown | {{#expr: {{#show:{{#var:weapon}}|?Attack 6 Cooldown|link=none}}*{{#var:cooldownFactor}} }} }} round 1}} }} | ||
+ | }} }} }} }} }} }}<!-- | ||
2.1.2 Pawn attacks | 2.1.2 Pawn attacks | ||
2.1.2.1 First pawn attack | 2.1.2.1 First pawn attack | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack7Type}} | |
{{#if: {{#var: 5}} | {{#if: {{#var: 5}} | ||
− | | {{#vardefine: | + | | {{#vardefine: attack7InitialSelectionWeight | {{#expr: {{#vardefineecho:attack7Damage| {{#show:{{#var: 5}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack7AP| {{#show:{{#var: 5}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var: 5}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack7Cooldown | {{#show:{{#var: 5}}|?Attack 1 Cooldown|link=none}} }} round 1}} }} |
− | | {{#vardefine: | + | | {{#vardefine: attack7InitialSelectionWeight | {{#expr: {{#vardefineecho:attack7Damage| {{#show:{{#var:pawn}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack7AP| {{#show:{{#var:pawn}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var:pawn}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack7Cooldown | {{#show:{{#var:pawn}}|?Attack 1 Cooldown|link=none}} }} round 1}} }} |
}} | }} | ||
}}<!-- | }}<!-- | ||
2.1.2.2 Second pawn attack | 2.1.2.2 Second pawn attack | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack8Type}} | |
{{#if: {{#var: 6}} | {{#if: {{#var: 6}} | ||
− | | {{#vardefine: | + | | {{#vardefine: attack8InitialSelectionWeight | {{#expr: {{#vardefineecho:attack8Damage| {{#show:{{#var: 6}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack8AP| {{#show:{{#var: 6}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var: 6}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack8Cooldown | {{#show:{{#var: 6}}|?Attack 1 Cooldown|link=none}} }} round 1}} }} |
− | | {{#vardefine: | + | | {{#vardefine: attack8InitialSelectionWeight | {{#expr: {{#vardefineecho:attack8Damage| {{#show:{{#var:pawn}}|?Attack 2 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack8AP| {{#show:{{#var:pawn}}|?Attack 2 AP|link=none}} }}/100)) * {{#show:{{#var:pawn}}|?Attack 2 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack8Cooldown | {{#show:{{#var:pawn}}|?Attack 2 Cooldown|link=none}} }} round 1}} }} |
}} | }} | ||
}}<!-- | }}<!-- | ||
2.1.2.3 Third pawn attack | 2.1.2.3 Third pawn attack | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack9Type}} | |
{{#if: {{#var: 7}} | {{#if: {{#var: 7}} | ||
− | | {{#vardefine: | + | | {{#vardefine: attack9InitialSelectionWeight | {{#expr: {{#vardefineecho:attack9Damage| {{#show:{{#var: 7}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack9AP| {{#show:{{#var: 7}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var: 7}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack9Cooldown | {{#show:{{#var: 7}}|?Attack 1 Cooldown|link=none}} }} round 1}} }} |
− | | {{#vardefine: | + | | {{#vardefine: attack9InitialSelectionWeight | {{#expr: {{#vardefineecho:attack9Damage| {{#show:{{#var:pawn}}|?Attack 3 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack9AP| {{#show:{{#var:pawn}}|?Attack 3 AP|link=none}} }}/100)) * {{#show:{{#var:pawn}}|?Attack 3 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack9Cooldown | {{#show:{{#var:pawn}}|?Attack 3 Cooldown|link=none}} }} round 1}} }} |
}} | }} | ||
}}<!-- | }}<!-- | ||
2.1.2.4 Fourth pawn attack | 2.1.2.4 Fourth pawn attack | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack10Type}} | |
{{#if: {{#var: 8}} | {{#if: {{#var: 8}} | ||
− | | {{#vardefine: | + | | {{#vardefine: attack10InitialSelectionWeight | {{#expr: {{#vardefineecho:attack10Damage| {{#show:{{#var: 8}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack10AP| {{#show:{{#var: 8}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var: 8}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack10Cooldown | {{#show:{{#var: 8}}|?Attack 1 Cooldown|link=none}} }} round 1}} }} |
− | | {{#vardefine: | + | | {{#vardefine: attack10InitialSelectionWeight | {{#expr: {{#vardefineecho:attack10Damage| {{#show:{{#var:pawn}}|?Attack 4 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack10AP| {{#show:{{#var:pawn}}|?Attack 4 AP|link=none}} }}/100)) * {{#show:{{#var:pawn}}|?Attack 4 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack10Cooldown | {{#show:{{#var:pawn}}|?Attack 4 Cooldown|link=none}} }} round 1}} }} |
}} | }} | ||
}}<!-- | }}<!-- | ||
2.1.2.5 Fifth pawn attack | 2.1.2.5 Fifth pawn attack | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack11Type}} | |
{{#if: {{#var: 9}} | {{#if: {{#var: 9}} | ||
− | | {{#vardefine: | + | | {{#vardefine: attack11InitialSelectionWeight | {{#expr: {{#vardefineecho:attack11Damage| {{#show:{{#var: 9}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack11AP| {{#show:{{#var: 9}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var: 9}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack11Cooldown | {{#show:{{#var: 9}}|?Attack 1 Cooldown|link=none}} }} round 1}} }} |
− | | {{#vardefine: | + | | {{#vardefine: attack11InitialSelectionWeight | {{#expr: {{#vardefineecho:attack11Damage| {{#show:{{#var:pawn}}|?Attack 5 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack11AP| {{#show:{{#var:pawn}}|?Attack 5 AP|link=none}} }}/100)) * {{#show:{{#var:pawn}}|?Attack 5 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack11Cooldown | {{#show:{{#var:pawn}}|?Attack 5 Cooldown|link=none}} }} round 1}} }} |
}} | }} | ||
}}<!-- | }}<!-- | ||
2.1.2.6 Sixth pawn attack | 2.1.2.6 Sixth pawn attack | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack12Type}} | |
{{#if: {{#var:10}} | {{#if: {{#var:10}} | ||
− | | {{#vardefine: | + | | {{#vardefine: attack12InitialSelectionWeight | {{#expr: {{#vardefineecho:attack12Damage| {{#show:{{#var:10}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack12AP| {{#show:{{#var:10}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var:10}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack12Cooldown | {{#show:{{#var:10}}|?Attack 1 Cooldown|link=none}} }} round 1}} }} |
− | | {{#vardefine: | + | | {{#vardefine: attack12InitialSelectionWeight | {{#expr: {{#vardefineecho:attack12Damage| {{#show:{{#var:pawn}}|?Attack 6 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack12AP| {{#show:{{#var:pawn}}|?Attack 6 AP|link=none}} }}/100)) * {{#show:{{#var:pawn}}|?Attack 6 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack12Cooldown | {{#show:{{#var:pawn}}|?Attack 6 Cooldown|link=none}} }} round 1}} }} |
}} | }} | ||
}}<!-- | }}<!-- | ||
2.1.2.7 Seventh pawn attack | 2.1.2.7 Seventh pawn attack | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack13Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack13InitialSelectionWeight | {{#expr: {{#vardefineecho:attack13Damage| {{#show:{{#var:11}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack13AP| {{#show:{{#var:11}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var:11}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack13Cooldown | {{#show:{{#var:11}}|?Attack 1 Cooldown|link=none}} }} round 1}} }}<!-- |
2.1.2.8 Eighth pawn attack | 2.1.2.8 Eighth pawn attack | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack14Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack14InitialSelectionWeight | {{#expr: {{#vardefineecho:attack14Damage| {{#show:{{#var:12}}|?Attack 1 Damage|link=none}} }} * (1 + ({{#vardefineecho:attack14AP| {{#show:{{#var:12}}|?Attack 1 AP|link=none}} }}/100)) * {{#show:{{#var:12}}|?Attack 1 Chance Factor|link=none| default = 1}} / {{#vardefineecho:attack14Cooldown | {{#show:{{#var:12}}|?Attack 1 Cooldown|link=none}} }} round 1}} }} |
}} }}<!-- | }} }}<!-- | ||
2.2 Determine which attack has the highest weight to use as point of comparison for categorisation | 2.2 Determine which attack has the highest weight to use as point of comparison for categorisation | ||
− | -->{{#vardefine:maxSelectionWeight | {{#ifexpr: {{#var:attack1InitialSelectionWeight|0}} > {{#var:attack2InitialSelectionWeight|0}} | {{#var:attack1InitialSelectionWeight|0}} | {{#var:attack2InitialSelectionWeight|0}} }} }}<!-- | + | -->{{#vardefine: maxSelectionWeight | {{#ifexpr: {{#var:attack1InitialSelectionWeight|0}} > {{#var:attack2InitialSelectionWeight|0}} | {{#var:attack1InitialSelectionWeight|0}} | {{#var:attack2InitialSelectionWeight|0}} }} }}<!-- |
− | -->{{#if: {{#var:attack3Type }} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack3InitialSelectionWeight }} | {{#vardefine:maxSelectionWeight | {{#var:attack3InitialSelectionWeight }} }} }}<!-- | + | -->{{#if: {{#var:attack3Type}} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack3InitialSelectionWeight}} | {{#vardefine: maxSelectionWeight| {{#var:attack3InitialSelectionWeight}} }} }}<!-- |
− | -->{{#if: {{#var:attack4Type }} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack4InitialSelectionWeight }} | {{#vardefine:maxSelectionWeight | {{#var:attack4InitialSelectionWeight | + | -->{{#if: {{#var:attack4Type}} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack4InitialSelectionWeight}} | {{#vardefine: maxSelectionWeight| {{#var:attack4InitialSelectionWeight}} }} }}<!-- |
− | -->{{#if: {{#var:attack5Type }} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack5InitialSelectionWeight }} | {{#vardefine:maxSelectionWeight | {{#var:attack5InitialSelectionWeight | + | -->{{#if: {{#var:attack5Type}} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack5InitialSelectionWeight}} | {{#vardefine: maxSelectionWeight| {{#var:attack5InitialSelectionWeight}} }} }}<!-- |
− | -->{{#if: {{#var:attack6Type }} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack6InitialSelectionWeight }} | {{#vardefine:maxSelectionWeight | {{#var:attack6InitialSelectionWeight }} }} }} }}<!-- | + | -->{{#if: {{#var:attack6Type}} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack6InitialSelectionWeight}} | {{#vardefine: maxSelectionWeight| {{#var:attack6InitialSelectionWeight}} }} }} }} }} }} }}<!-- |
− | -->{{# | + | -->{{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack7InitialSelectionWeight|0}} | {{#vardefine: maxSelectionWeight| {{#var:attack7InitialSelectionWeight}} }} }}<!-- |
− | -->{{# | + | -->{{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack8InitialSelectionWeight|0}} | {{#vardefine: maxSelectionWeight| {{#var:attack8InitialSelectionWeight}} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack9InitialSelectionWeight|0}} | {{#vardefine: maxSelectionWeight| {{#var:attack9InitialSelectionWeight}} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack10InitialSelectionWeight|0}} | {{#vardefine: maxSelectionWeight| {{#var:attack10InitialSelectionWeight}} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack11Type}} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack11InitialSelectionWeight}} | {{#vardefine: maxSelectionWeight| {{#var:attack11InitialSelectionWeight}} }} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack12Type}} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack12InitialSelectionWeight}} | {{#vardefine: maxSelectionWeight| {{#var:attack12InitialSelectionWeight}} }} }} }}<!-- |
+ | -->{{#if: {{#var:attack13Type}} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack13InitialSelectionWeight}} | {{#vardefine: maxSelectionWeight| {{#var:attack13InitialSelectionWeight}} }} }}<!-- | ||
+ | -->{{#if: {{#var:attack14Type}} | {{#ifexpr: {{#var:maxSelectionWeight}} < {{#var:attack14InitialSelectionWeight}} | {{#vardefine: maxSelectionWeight| {{#var:attack14InitialSelectionWeight}} }} }} }} }}<!-- | ||
2.3 Categorize attacks relative to highest initial selection weight into best/mid/worst | 2.3 Categorize attacks relative to highest initial selection weight into best/mid/worst | ||
2.3.1 Weapon attacks | 2.3.1 Weapon attacks | ||
− | -->{{#if: {{#var:attack1Type }} | | + | -->{{#if: {{#var:attack1Type}} | |
− | {{#vardefine:attack1SelectionCategory | + | {{#vardefine: attack1SelectionCategory | {{#ifexpr: {{#var:attack1InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack1InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack2Type }} | | + | -->{{#if: {{#var:attack2Type}} | |
− | {{#vardefine:attack2SelectionCategory | + | {{#vardefine: attack2SelectionCategory | {{#ifexpr: {{#var:attack2InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack2InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack3Type }} | | + | -->{{#if: {{#var:attack3Type}} | |
− | {{#vardefine:attack3SelectionCategory | + | {{#vardefine: attack3SelectionCategory | {{#ifexpr: {{#var:attack3InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack3InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack4Type }} | | + | -->{{#if: {{#var:attack4Type}} | |
− | {{#vardefine:attack4SelectionCategory | + | {{#vardefine: attack4SelectionCategory | {{#ifexpr: {{#var:attack4InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack4InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }}<!-- |
+ | -->{{#if: {{#var:attack5Type}} | | ||
+ | {{#vardefine: attack5SelectionCategory | {{#ifexpr: {{#var:attack5InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack5InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }}<!-- | ||
+ | -->{{#if: {{#var:attack6Type}} | | ||
+ | {{#vardefine: attack6SelectionCategory | {{#ifexpr: {{#var:attack6InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack6InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }} }} }} }} }} }} }}<!-- | ||
2.3.2 Pawn attacks | 2.3.2 Pawn attacks | ||
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack7Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack7SelectionCategory | {{#ifexpr: {{#var:attack7InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack7InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack8Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack8SelectionCategory | {{#ifexpr: {{#var:attack8InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack8InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack9Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack9SelectionCategory | {{#ifexpr: {{#var:attack9InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack9InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack10Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack10SelectionCategory | {{#ifexpr: {{#var:attack10InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack10InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack11Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack11SelectionCategory | {{#ifexpr: {{#var:attack11InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack11InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack12Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack12SelectionCategory | {{#ifexpr: {{#var:attack12InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack12InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack13Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack13SelectionCategory | {{#ifexpr: {{#var:attack13InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack13InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }}<!-- |
− | -->{{#if: {{#var: | + | -->{{#if: {{#var:attack14Type}} | |
− | {{#vardefine: | + | {{#vardefine: attack14SelectionCategory | {{#ifexpr: {{#var:attack14InitialSelectionWeight}} >= 0.95*{{#var:maxSelectionWeight}} | best {{#vardefine: numBestAttacks | {{#expr: {{#var:numBestAttacks}}+1}} }} | {{#ifexpr: {{#var:attack14InitialSelectionWeight}} < 0.25*{{#var:maxSelectionWeight}} | worst | mid {{#vardefine: numMidAttacks | {{#expr: {{#var:numMidAttacks}}+1}} }} }} }} }} }} }}<!-- |
2.4 Calculate selection chances | 2.4 Calculate selection chances | ||
Line 235: | Line 248: | ||
-->{{#vardefine:bestCategoryPercentage| {{#ifeq: {{#var:numMidAttacks}} | 0 | 1 | 0.75 }} }}<!-- | -->{{#vardefine:bestCategoryPercentage| {{#ifeq: {{#var:numMidAttacks}} | 0 | 1 | 0.75 }} }}<!-- | ||
Define selection chances from category and number of attacks in category so we don't have to calc them twice and so they can be called. | Define selection chances from category and number of attacks in category so we don't have to calc them twice and so they can be called. | ||
− | -->{{#if: {{#var:attack1Type | + | -->{{#if: {{#var:attack1Type}} | {{#vardefine:attack1SelectionChance|{{#expr: {{#switch: {{#var:attack1SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }}<!-- |
− | -->{{#if: {{#var:attack2Type | + | -->{{#if: {{#var:attack2Type}} | {{#vardefine:attack2SelectionChance|{{#expr: {{#switch: {{#var:attack2SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }}<!-- |
− | -->{{#if: {{#var:attack3Type | + | -->{{#if: {{#var:attack3Type}} | {{#vardefine:attack3SelectionChance|{{#expr: {{#switch: {{#var:attack3SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }}<!-- |
− | -->{{#if: {{#var:attack4Type | + | -->{{#if: {{#var:attack4Type}} | {{#vardefine:attack4SelectionChance|{{#expr: {{#switch: {{#var:attack4SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }}<!-- |
− | -->{{#if: {{#var:attack5Type | + | -->{{#if: {{#var:attack5Type}} | {{#vardefine:attack5SelectionChance|{{#expr: {{#switch: {{#var:attack5SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }}<!-- |
− | -->{{#if: {{#var:attack6Type | + | -->{{#if: {{#var:attack6Type}} | {{#vardefine:attack6SelectionChance|{{#expr: {{#switch: {{#var:attack6SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }} }} }} }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack7Type | + | -->{{#if: {{#var:attack7Type}} | {{#vardefine:attack7SelectionChance|{{#expr: {{#switch: {{#var:attack7SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack8Type | + | -->{{#if: {{#var:attack8Type}} | {{#vardefine:attack8SelectionChance|{{#expr: {{#switch: {{#var:attack8SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack9Type | + | -->{{#if: {{#var:attack9Type}} | {{#vardefine:attack9SelectionChance|{{#expr: {{#switch: {{#var:attack9SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack10Type | + | -->{{#if: {{#var:attack10Type}} | {{#vardefine:attack10SelectionChance|{{#expr: {{#switch: {{#var:attack10SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack11Type | + | -->{{#if: {{#var:attack11Type}} | {{#vardefine:attack11SelectionChance|{{#expr: {{#switch: {{#var:attack11SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }} }}<!-- |
− | -->{{#if: {{#var:attack12Type | + | -->{{#if: {{#var:attack12Type}} | {{#vardefine:attack12SelectionChance|{{#expr: {{#switch: {{#var:attack12SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }} }}<!-- |
+ | -->{{#if: {{#var:attack13Type}} | {{#vardefine:attack13SelectionChance|{{#expr: {{#switch: {{#var:attack13SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }}<!-- | ||
+ | -->{{#if: {{#var:attack14Type}} | {{#vardefine:attack14SelectionChance|{{#expr: {{#switch: {{#var:attack14SelectionCategory}} | best = {{#var:bestCategoryPercentage}}/{{#var:numBestAttacks}} | mid = 0.25/{{#var:numMidAttacks}} | 0 }} }} }} }} }}<!-- | ||
2.5 Calculate actual DPS | 2.5 Calculate actual DPS | ||
(bestDamage*bestSelectionWeight + midDamage*midSelectionWeight) / (bestCooldownTime*bestSelectionWeight + midCoolDownTime*midSelectionWeight) = DPS | (bestDamage*bestSelectionWeight + midDamage*midSelectionWeight) / (bestCooldownTime*bestSelectionWeight + midCoolDownTime*midSelectionWeight) = DPS | ||
-->{{#vardefine:weightedDamageTotal | {{#expr: 0 | -->{{#vardefine:weightedDamageTotal | {{#expr: 0 | ||
− | {{#if: {{#var:attack1Type | + | {{#if: {{#var:attack1Type}} | +{{#vardefineecho: attack1WeightedDamage | {{#expr: {{#var:attack1Damage}} *{{#var:attack1SelectionChance}} }} }} |
− | {{#if: {{#var:attack2Type | + | {{#if: {{#var:attack2Type}} | +{{#vardefineecho: attack2WeightedDamage | {{#expr: {{#var:attack2Damage}} *{{#var:attack2SelectionChance}} }} }} |
− | {{#if: {{#var:attack3Type | + | {{#if: {{#var:attack3Type}} | +{{#vardefineecho: attack3WeightedDamage | {{#expr: {{#var:attack3Damage}} *{{#var:attack3SelectionChance}} }} }} |
− | {{#if: {{#var:attack4Type | + | {{#if: {{#var:attack4Type}} | +{{#vardefineecho: attack4WeightedDamage | {{#expr: {{#var:attack4Damage}} *{{#var:attack4SelectionChance}} }} }} |
− | {{#if: {{#var:attack5Type | + | {{#if: {{#var:attack5Type}} | +{{#vardefineecho: attack5WeightedDamage | {{#expr: {{#var:attack5Damage}} *{{#var:attack5SelectionChance}} }} }} |
− | {{#if: {{#var:attack6Type | + | {{#if: {{#var:attack6Type}} | +{{#vardefineecho: attack6WeightedDamage | {{#expr: {{#var:attack6Damage}} *{{#var:attack6SelectionChance}} }} }} }} }} }} }} }} }} |
− | {{#if: {{#var:attack7Type | + | {{#if: {{#var:attack7Type}} | +{{#vardefineecho: attack7WeightedDamage | {{#expr: {{#var:attack7Damage}} *{{#var:attack7SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack8Type | + | {{#if: {{#var:attack8Type}} | +{{#vardefineecho: attack8WeightedDamage | {{#expr: {{#var:attack8Damage}} *{{#var:attack8SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack9Type | + | {{#if: {{#var:attack9Type}} | +{{#vardefineecho: attack9WeightedDamage | {{#expr: {{#var:attack9Damage}} *{{#var:attack9SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack10Type | + | {{#if: {{#var:attack10Type}} | +{{#vardefineecho: attack10WeightedDamage | {{#expr: {{#var:attack10Damage}}*{{#var:attack10SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack11Type | + | {{#if: {{#var:attack11Type}} | +{{#vardefineecho: attack11WeightedDamage | {{#expr: {{#var:attack11Damage}}*{{#var:attack11SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack12Type | + | {{#if: {{#var:attack12Type}} | +{{#vardefineecho: attack12WeightedDamage | {{#expr: {{#var:attack12Damage}}*{{#var:attack12SelectionChance}} }} }} }} |
+ | {{#if: {{#var:attack13Type}} | +{{#vardefineecho: attack13WeightedDamage | {{#expr: {{#var:attack13Damage}}*{{#var:attack13SelectionChance}} }} }} | ||
+ | {{#if: {{#var:attack14Type}} | +{{#vardefineecho: attack14WeightedDamage | {{#expr: {{#var:attack14Damage}}*{{#var:attack14SelectionChance}} }} }} }} }} | ||
}} }}<!-- | }} }}<!-- | ||
-->{{#vardefine:weightedTimeTotal | {{#expr: 0 | -->{{#vardefine:weightedTimeTotal | {{#expr: 0 | ||
− | {{#if: {{#var:attack1Type | + | {{#if: {{#var:attack1Type}} | +{{#vardefineecho: attack1WeightedCooldown | {{#expr: {{#var:attack1Cooldown}} *{{#var:attack1SelectionChance}} }} }} |
− | {{#if: {{#var:attack2Type | + | {{#if: {{#var:attack2Type}} | +{{#vardefineecho: attack2WeightedCooldown | {{#expr: {{#var:attack2Cooldown}} *{{#var:attack2SelectionChance}} }} }} |
− | {{#if: {{#var:attack3Type | + | {{#if: {{#var:attack3Type}} | +{{#vardefineecho: attack3WeightedCooldown | {{#expr: {{#var:attack3Cooldown}} *{{#var:attack3SelectionChance}} }} }} |
− | {{#if: {{#var:attack4Type | + | {{#if: {{#var:attack4Type}} | +{{#vardefineecho: attack4WeightedCooldown | {{#expr: {{#var:attack4Cooldown}} *{{#var:attack4SelectionChance}} }} }} |
− | {{#if: {{#var:attack5Type | + | {{#if: {{#var:attack5Type}} | +{{#vardefineecho: attack5WeightedCooldown | {{#expr: {{#var:attack5Cooldown}} *{{#var:attack5SelectionChance}} }} }} |
− | {{#if: {{#var:attack6Type | + | {{#if: {{#var:attack6Type}} | +{{#vardefineecho: attack6WeightedCooldown | {{#expr: {{#var:attack6Cooldown}} *{{#var:attack6SelectionChance}} }} }} }} }} }} }} }} }} |
− | {{#if: {{#var:attack7Type | + | {{#if: {{#var:attack7Type}} | +{{#vardefineecho: attack7WeightedCooldown | {{#expr: {{#var:attack7Cooldown}} *{{#var:attack7SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack8Type | + | {{#if: {{#var:attack8Type}} | +{{#vardefineecho: attack8WeightedCooldown | {{#expr: {{#var:attack8Cooldown}} *{{#var:attack8SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack9Type | + | {{#if: {{#var:attack9Type}} | +{{#vardefineecho: attack9WeightedCooldown | {{#expr: {{#var:attack9Cooldown}} *{{#var:attack9SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack10Type | + | {{#if: {{#var:attack10Type}} | +{{#vardefineecho: attack10WeightedCooldown | {{#expr: {{#var:attack10Cooldown}}*{{#var:attack10SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack11Type | + | {{#if: {{#var:attack11Type}} | +{{#vardefineecho: attack11WeightedCooldown | {{#expr: {{#var:attack11Cooldown}}*{{#var:attack11SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack12Type | + | {{#if: {{#var:attack12Type}} | +{{#vardefineecho: attack12WeightedCooldown | {{#expr: {{#var:attack12Cooldown}}*{{#var:attack12SelectionChance}} }} }} }} |
+ | {{#if: {{#var:attack13Type}} | +{{#vardefineecho: attack13WeightedCooldown | {{#expr: {{#var:attack13Cooldown}}*{{#var:attack13SelectionChance}} }} }} | ||
+ | {{#if: {{#var:attack14Type}} | +{{#vardefineecho: attack14WeightedCooldown | {{#expr: {{#var:attack14Cooldown}}*{{#var:attack14SelectionChance}} }} }} }} }} | ||
}} }}<!-- | }} }}<!-- | ||
− | -->{{#vardefine:trueDPS | {{#expr:{{#var:weightedDamageTotal}}/{{#var:weightedTimeTotal}} round 2}} }}<!-- | + | -->{{#vardefine:trueDPS| {{#expr:{{#var:weightedDamageTotal}}/{{#var:weightedTimeTotal}} round 2}} }}<!-- |
− | 2.6 Calculate actual average AP | + | 2.6 Calculate actual average AP |
-->{{#vardefine:trueAP | {{#expr: 0 | -->{{#vardefine:trueAP | {{#expr: 0 | ||
− | {{#if: {{#var:attack1Type | + | {{#if: {{#var:attack1Type}} | +{{#vardefineecho: attack1WeightedAP | {{#expr: {{#var:attack1AP}} *{{#var:attack1SelectionChance}} }} }} |
− | {{#if: {{#var:attack2Type | + | {{#if: {{#var:attack2Type}} | +{{#vardefineecho: attack2WeightedAP | {{#expr: {{#var:attack2AP}} *{{#var:attack2SelectionChance}} }} }} |
− | {{#if: {{#var:attack3Type | + | {{#if: {{#var:attack3Type}} | +{{#vardefineecho: attack3WeightedAP | {{#expr: {{#var:attack3AP}} *{{#var:attack3SelectionChance}} }} }} |
− | {{#if: {{#var:attack4Type | + | {{#if: {{#var:attack4Type}} | +{{#vardefineecho: attack4WeightedAP | {{#expr: {{#var:attack4AP}} *{{#var:attack4SelectionChance}} }} }} |
− | {{#if: {{#var:attack5Type | + | {{#if: {{#var:attack5Type}} | +{{#vardefineecho: attack5WeightedAP | {{#expr: {{#var:attack5AP}} *{{#var:attack5SelectionChance}} }} }} |
− | {{#if: {{#var:attack6Type | + | {{#if: {{#var:attack6Type}} | +{{#vardefineecho: attack6WeightedAP | {{#expr: {{#var:attack6AP}} *{{#var:attack6SelectionChance}} }} }} }} }} }} }} }} }} |
− | {{#if: {{#var:attack7Type | + | {{#if: {{#var:attack7Type}} | +{{#vardefineecho: attack7WeightedAP | {{#expr: {{#var:attack7AP}} *{{#var:attack7SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack8Type | + | {{#if: {{#var:attack8Type}} | +{{#vardefineecho: attack8WeightedAP | {{#expr: {{#var:attack8AP}} *{{#var:attack8SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack9Type | + | {{#if: {{#var:attack9Type}} | +{{#vardefineecho: attack9WeightedAP | {{#expr: {{#var:attack9AP}} *{{#var:attack9SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack10Type | + | {{#if: {{#var:attack10Type}} | +{{#vardefineecho: attack10WeightedAP | {{#expr: {{#var:attack10AP}}*{{#var:attack10SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack11Type | + | {{#if: {{#var:attack11Type}} | +{{#vardefineecho: attack11WeightedAP | {{#expr: {{#var:attack11AP}}*{{#var:attack11SelectionChance}} }} }} }} |
− | {{#if: {{#var:attack12Type | + | {{#if: {{#var:attack12Type}} | +{{#vardefineecho: attack12WeightedAP | {{#expr: {{#var:attack12AP}}*{{#var:attack12SelectionChance}} }} }} }} |
+ | {{#if: {{#var:attack13Type}} | +{{#vardefineecho: attack13WeightedAP | {{#expr: {{#var:attack13AP}}*{{#var:attack13SelectionChance}} }} }} | ||
+ | {{#if: {{#var:attack14Type}} | +{{#vardefineecho: attack14WeightedAP | {{#expr: {{#var:attack14AP}}*{{#var:attack14SelectionChance}} }} }} }} }} | ||
round 2}} }}<!-- | round 2}} }}<!-- | ||
Line 299: | Line 320: | ||
-->{{#var:trueDPS}}</includeonly><noinclude> | -->{{#var:trueDPS}}</includeonly><noinclude> | ||
{{Documentation}} | {{Documentation}} | ||
− | |||
</noinclude> | </noinclude> |