Information: If you want to test this template, please use Sandbox.
The documentation does not exist, you can click here to create.
Template:RitsuTest: Difference between revisions
From Elwiki
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
<!-- define passive values --> | <!-- define passive values --> | ||
{{#if: {{{passive1|}}} | {{#if: {{{passive1|}}} | ||
| {{#arraydefine: passive1 | {{{passive1|}}} }} | |||
}} | }} | ||
{{#if: {{{passive2|}}} | {{#if: {{{passive2|}}} | ||
| {{#arraydefine: passive2 | {{{passive2|}}} }} | |||
}} | }} | ||
Line 15: | Line 15: | ||
{{#arraydefine: arr_useful |total_damage, avg_damage}} | {{#arraydefine: arr_useful |total_damage, avg_damage}} | ||
{{#arraydefine: arr_rest |total_damage, avg_damage, total_damage_awk, avg_damage_awk}} | {{#arraydefine: arr_rest |total_damage, avg_damage, total_damage_awk, avg_damage_awk}} | ||
<!-- separate the code between PvE and PvP accordingly --> | |||
<!-- define damage and hit count values --> | |||
{{#arraydefine: arguments |dmg, awk_dmg, hits, avg_hits, awk_hits, avg_awk_hits, pvp_dmg, pvp_awk_dmg}} | |||
{{#arrayprint:arguments||@@@@|<nowiki/> | |||
{{#forargs: @@@@ | |||
| key | |||
| value | |||
| <nowiki /> | |||
{{#vardefine: @@@@{{#var:key}} |{{#var:value}} }} | |||
}} | |||
}} | |||
{{# | <!-- define max hitcount values - useful trait --> | ||
< | {{#forargs: hits_useful | ||
{{#vardefine: | | key | ||
| value | |||
| <nowiki /> | |||
{{#vardefine: hits{{#var:key}}_useful |{{#var:value}} }} | |||
}} | |||
<!-- define average hitcount values - useful trait --> | |||
{{#forargs: avg_hits_useful | |||
| key | |||
| value | |||
| <nowiki /> | |||
{{#vardefine: avg_hits{{#var:key}}_useful |{{#var:value}} }} | |||
}} | |||
<!-- | {{#arrayprint:arr_useful||@@@@|<nowiki/> | ||
{{#forargs: | <!-- total/avg damage --> | ||
{{#vardefine: @@@@ |0}} | |||
{{#forargs: dmg | |||
| key | | key | ||
| value | | value | ||
| <nowiki /> | | <nowiki /> | ||
{{#vardefine: | {{#vardefine: @@@@ | {{#expr: {{#var:@@@@ }} + {{#var:dmg{{#var:key}} }} * {{#var:{{#ifeq:@@@@|avg_damage|avg_}}hits{{#var:key}} }} }} }} | ||
}} | }} | ||
<!-- total/avg damage in awk --> | |||
<!-- | {{#vardefine: @@@@_awk |0}} | ||
{{#forargs: | {{#forargs: awk_dmg | ||
| key | |||
| value | |||
| <nowiki /> | |||
{{#vardefine: @@@@_awk | {{#expr: {{#var:@@@@_awk }} + {{#var:awk_dmg{{#var:key}} }} * {{#var:{{#ifeq:@@@@|avg_damage|avg_}}awk_hits{{#var:key}} }} }} }} | |||
}} | }} | ||
}} | |||
<!-- damage with useful, if exists --> | |||
{{#if:{{{hits_useful1|}}} | |||
{{#arrayprint:arr_useful||@@@@|<nowiki/> | {{#arrayprint:arr_useful||@@@@|<nowiki/> | ||
{{#vardefine: @@@@_useful |0}} | |||
{{#vardefine: @@@@ |0}} | |||
{{#forargs: dmg | {{#forargs: dmg | ||
| key | | key | ||
| value | | value | ||
| <nowiki /> | | <nowiki /> | ||
{{#vardefine: @@@@ | {{#expr: {{#var:@@@@ }} + {{#var:dmg{{#var:key}} }} * {{#var:{{#ifeq:@@@@|avg_damage|avg_}}hits{{#var:key}} }} }} }} | {{#vardefine: @@@@_useful | {{#expr: {{#var:@@@@_useful }} + {{#var:dmg{{#var:key}} }} * {{#var:{{#ifeq:@@@@|avg_damage|avg_}}hits{{#var:key}}_useful }} }} }} | ||
}} | |||
{{#vardefine: @@@@_useful | {{#expr: {{#var:@@@@_useful }} * {{#var:useful_penalty}} }} | |||
}} | |||
}} | |||
}} | }} | ||
}} | |||
<!-- traits --> | |||
{{#if: {{{empowered|}}} | {{#vardefine: empowered | {{#ifeq: {{{empowered|}}}|true|1.2|{{{empowered|}}} }} }} }} | |||
{{#arrayprint:arr_rest||@@@@|<nowiki/> | |||
{{#if:{{{heavy|}}}|{{#vardefine: @@@@_heavy |{{#expr: {{#var:@@@@ }} * 1.44 }} }} }} | |||
{{#if: {{{empowered|}}}|{{#vardefine: @@@@_empowered |{{#expr: {{#var:@@@@ }} * {{#var:empowered}} }} }} }} | |||
{{#if:{{{enhanced|}}}|{{#vardefine: @@@@_enhanced |{{#expr: {{#var:@@@@ }} * 0.8 }} }} }} | |||
}} | |||
<!-- damage - considering passive 1 exists --> | |||
{{#if: {{{passive1|}}}| | |||
{{#arrayprint:arr_rest||@@@@|<nowiki/> | |||
{{#vardefine: @@@@_passive1 | {{#expr: {{#var:@@@@ }} * {{#arrayindex:passive1|0 }} round2 }} }} | |||
<!-- check if the second passive exists. if so, generate another variable that multiplies them together --> | |||
{{#if: {{{passive2|}}} | {{#if: {{{passive2|}}} | ||
| {{#vardefine: @@@@ | | {{#vardefine: @@@@_passive1_passive2 | {{#expr: {{#var:@@@@_passive1 }} * {{#arrayindex:passive2|0 }} round2 }} }} | ||
}} | |||
{{#if: {{{heavy|}}} | |||
| {{#vardefine: @@@@_passive1_heavy | {{#expr: {{#var:@@@@_passive1 }} * 1.44 round2 }} }} | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive1_passive2_heavy | {{#expr: {{#var:@@@@_passive1_heavy }} * {{#arrayindex:passive2|0 }} round2 }} }} | |||
}} | |||
}} | |||
{{#if: {{{empowered|}}} | |||
| {{#vardefine: @@@@_passive1_empowered | {{#expr: {{#var:@@@@_passive1 }} * {{#var:empowered}} round2 }} }} | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive1_passive2_empowered | {{#expr: {{#var:@@@@_passive1_empowered }} * {{#arrayindex:passive2|0 }} round2 }} }} | |||
}} | |||
}} | |||
{{#if: {{{enhanced|}}} | |||
| {{#vardefine: @@@@_passive1_enhanced | {{#expr: {{#var:@@@@_passive1 }} * 0.8 round2 }} }} | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive1_passive2_enhanced | {{#expr: {{#var:@@@@_passive1_enhanced }} * {{#arrayindex:passive2|0 }} round2 }} }} | |||
}} | |||
}} | |||
{{#if: {{{hits_useful1|}}} | |||
| {{#vardefine: @@@@_passive1_useful | {{#expr: {{#var:@@@@_useful}} * {{#arrayindex:passive1|0 }} round2 }} }} | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive1_passive2_useful | {{#expr: {{#var:@@@@_passive1_useful }} * {{#arrayindex:passive2|0 }} round2 }} }} | |||
}} | }} | ||
}} | |||
<!-- considering passive 2 exists --> | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive2 | {{#expr: {{#var:@@@@ }} * {{#arrayindex:passive2|0 }} round2 }} }} | |||
{{#if: {{{heavy|}}} | {{#if: {{{heavy|}}} | ||
| {{#vardefine: @@@@ | | {{#vardefine: @@@@_passive2_heavy | {{#expr: {{#var:@@@@_passive2 }} * 1.44 round2 }} }} | ||
}} | }} | ||
{{#if: {{{empowered|}}} | {{#if: {{{empowered|}}} | ||
| {{#vardefine: @@@@ | | {{#vardefine: @@@@_passive2_empowered | {{#expr: {{#var:@@@@_passive2 }} * {{#var:empowered}} round2 }} }} | ||
}} | }} | ||
{{#if: {{{enhanced|}}} | {{#if: {{{enhanced|}}} | ||
| {{#vardefine: @@@@ | | {{#vardefine: @@@@_passive2_enhanced | {{#expr: {{#var:@@@@_passive2 }} * 0.8 round2 }} }} | ||
}} | }} | ||
{{#if: {{{hits_useful1|}}} | {{#if: {{{hits_useful1|}}} | ||
| {{#vardefine: @@@@ | | {{#vardefine: @@@@_passive2_useful | {{#expr: {{#var:@@@@_useful }} * {{#arrayindex:passive2|0 }} round2 }} }} | ||
}} | }} | ||
}} | }} | ||
}} | }} | ||
}} | |||
<!-- pvp --------------------- | |||
------------------------------ | |||
------------------------------ | |||
------------------------------ | |||
------------------------------ | |||
-------------------------- --> | |||
{{#arrayprint:arr_useful||@@@@|<nowiki/> | |||
<!-- total/avg damage --> | |||
{{#vardefine: @@@@_pvp |0}} | |||
{{#forargs: pvp_dmg | |||
| key | | key | ||
| value | | value | ||
| <nowiki /> | | <nowiki /> | ||
{{#vardefine: @@@@ | {{#vardefine: @@@@_pvp | {{#expr: {{#var:@@@@_pvp}} + {{#var:pvp_dmg{{#var:key}} }} * {{#var:{{#ifeq:@@@@|avg_damage|avg_}}hits{{#var:key}} }} }} }} | ||
}} | }} | ||
<!-- damage | <!-- total/avg damage in awk --> | ||
{{#vardefine: @@@@_awk_pvp |0}} | |||
{{#forargs: pvp_awk_dmg | |||
| key | |||
| value | |||
| <nowiki /> | |||
{{#vardefine: @@@@_awk_pvp | {{#expr: {{#var:@@@@_awk_pvp}} + {{#var:pvp_awk_dmg{{#var:key}} }} * {{#var:{{#ifeq:@@@@|avg_damage|avg_}}awk_hits{{#var:key}} }} }} }} | |||
}} | }} | ||
}} | |||
<!-- damage with useful, if exists --> | |||
{{#if:{{{hits_useful1|}}} | |||
{{#arrayprint: | {{#arrayprint:arr_useful||@@@@|<nowiki/> | ||
{{# | {{#vardefine: @@@@_useful_pvp |0}} | ||
{{#forargs: dmg | |||
| key | |||
| value | |||
| <nowiki /> | |||
{{#vardefine: @@@@_useful_pvp | {{#expr: {{#var:@@@@_useful_pvp }} + {{#var:pvp_dmg{{#var:key}} }} * {{#var:{{#ifeq:@@@@|avg_damage|avg_}}hits{{#var:key}}_useful }} }} }} | |||
}} | |||
{{#vardefine: @@@@_useful_pvp | {{#expr: {{#var:@@@@_useful_pvp }} * {{#var:useful_penalty}} }} }} | |||
}} | }} | ||
}} | |||
<!-- traits --> | |||
{{#if: {{{empowered|}}} | {{#vardefine: empowered | {{#ifeq: {{{empowered|}}}|true|1.2|{{{empowered|}}} }} }} }} | |||
{{#arrayprint:arr_rest||@@@@|<nowiki/> | |||
{{#if:{{{heavy|}}}|{{#vardefine: @@@@_heavy_pvp |{{#expr: {{#var:@@@@_pvp }} * 1.44 }} }} }} | |||
{{#if: {{{empowered|}}}|{{#vardefine: @@@@_empowered_pvp |{{#expr: {{#var:@@@@_pvp }} * {{#var:empowered}} }} }} }} | |||
{{#if:{{{enhanced|}}}|{{#vardefine: @@@@_enhanced_pvp |{{#expr: {{#var:@@@@_pvp }} * 0.8 }} }} }} | |||
}} | |||
<!-- damage - considering passive 1 exists --> | |||
{{#if: {{{passive1|}}}| | |||
{{#arrayprint:arr_rest||@@@@|<nowiki/> | |||
{{#vardefine: @@@@_passive1_pvp | {{#expr: {{#var:@@@@_pvp }} * {{#arrayindex:passive1|1 }} round2 }} }} | |||
{{#if: {{{passive2|}}} | <!-- check if the second passive exists. if so, generate another variable that multiplies them together --> | ||
| {{#vardefine: @@@@ | {{#if: {{{passive2|}}} | ||
| {{#vardefine: @@@@_passive1_passive2_pvp | {{#expr: {{#var:@@@@_passive1_pvp }} * {{#arrayindex:passive2|1 }} round2 }} }} | |||
}} | |||
{{#if: {{{heavy|}}} | |||
| {{#vardefine: @@@@_passive1_heavy_pvp | {{#expr: {{#var:@@@@_passive1_pvp }} * 1.44 round2 }} }} | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive1_passive2_heavy_pvp | {{#expr: {{#var:@@@@_passive1_heavy_pvp }} * {{#arrayindex:passive2|1 }} round2 }} }} | |||
}} | |||
}} | |||
{{#if: {{{empowered|}}} | |||
| {{#vardefine: @@@@_passive1_empowered_pvp | {{#expr: {{#var:@@@@_passive1_pvp }} * {{#var:empowered}} round2 }} }} | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive1_passive2_empowered_pvp | {{#expr: {{#var:@@@@_passive1_empowered_pvp }} * {{#arrayindex:passive2|1 }} round2 }} }} | |||
}} | |||
}} | |||
{{#if: {{{enhanced|}}} | |||
| {{#vardefine: @@@@_passive1_enhanced_pvp | {{#expr: {{#var:@@@@_passive1_pvp }} * 0.8 round2 }} }} | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive1_passive2_enhanced_pvp | {{#expr: {{#var:@@@@_passive1_enhanced_pvp }} * {{#arrayindex:passive2|1 }} round2 }} }} | |||
}} | |||
}} | |||
{{#if: {{{hits_useful1|}}} | |||
| {{#vardefine: @@@@_passive1_useful_pvp | {{#expr: {{#var:@@@@_useful_pvp }} * {{#arrayindex:passive1|1 }} round2 }} }} | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive1_passive2_useful_pvp | {{#expr: {{#var:@@@@_passive1_useful_pvp }} * {{#arrayindex:passive2|1 }} round2 }} }} | |||
}} | }} | ||
}} | |||
<!-- considering passive 2 exists --> | |||
{{#if: {{{passive2|}}} | |||
| {{#vardefine: @@@@_passive2_pvp | {{#expr: {{#var:@@@@_pvp }} * {{#arrayindex:passive2|1 }} round2 }} }} | |||
{{#if: {{{heavy|}}} | {{#if: {{{heavy|}}} | ||
| {{#vardefine: @@@@ | | {{#vardefine: @@@@_passive2_heavy_pvp | {{#expr: {{#var:@@@@_passive2_pvp }} * 1.44 round2 }} }} | ||
}} | }} | ||
{{#if: {{{empowered|}}} | {{#if: {{{empowered|}}} | ||
| {{#vardefine: @@@@ | | {{#vardefine: @@@@_passive2_empowered_pvp | {{#expr: {{#var:@@@@_passive2_pvp }} * {{#var:empowered}} round2 }} }} | ||
}} | }} | ||
{{#if: {{{enhanced|}}} | {{#if: {{{enhanced|}}} | ||
| {{#vardefine: @@@@ | | {{#vardefine: @@@@_passive2_enhanced_pvp | {{#expr: {{#var:@@@@_passive2_pvp }} * 0.8 round2 }} }} | ||
}} | }} | ||
{{#if: {{{hits_useful1|}}} | {{#if: {{{hits_useful1|}}} | ||
| {{#vardefine: @@@@_passive2_useful_pvp | {{#expr: {{#var:@@@@_useful_pvp }} * {{#arrayindex:passive2|1 }} round2 }} }} | |||
}} | }} | ||
}} | }} | ||
}} | }} | ||
}} | |||
<!-- formatting - list all values --> | |||
{{#ifeq: {{{format|}}}|false|| | |||
{{#arraydefine: elements| | |||
{{#arrayprint:arr_rest||@@@@|<nowiki/> | |||
,@@@@, | |||
@@@@_heavy, | |||
@@@@_empowered, | |||
@@@@_enhanced, | |||
@@@@_useful, | |||
@@@@_passive1, | |||
@@@@_passive1_heavy, | |||
@@@@_passive1_empowered, | |||
@@@@_passive1_enhanced, | |||
@@@@_passive1_useful, | |||
@@@@_passive2, | |||
@@@@_passive2_heavy, | |||
@@@@_passive2_empowered, | |||
@@@@_passive2_enhanced, | |||
@@@@_passive2_useful, | |||
@@@@_passive1_passive2, | |||
@@@@_passive1_passive2_heavy, | |||
@@@@_passive1_passive2_empowered, | |||
@@@@_passive1_passive2_enhanced, | |||
@@@@_passive1_passive2_useful, | |||
,@@@@_pvp, | |||
@@@@_heavy_pvp, | |||
@@@@_empowered_pvp, | |||
@@@@_enhanced_pvp, | |||
@@@@_useful_pvp, | |||
@@@@_passive1_pvp, | |||
@@@@_passive1_heavy_pvp, | |||
@@@@_passive1_empowered_pvp, | |||
@@@@_passive1_enhanced_pvp, | |||
@@@@_passive1_useful_pvp, | |||
@@@@_passive2_pvp, | |||
@@@@_passive2_heavy_pvp, | |||
@@@@_passive2_empowered_pvp, | |||
@@@@_passive2_enhanced_pvp, | |||
@@@@_passive2_useful_pvp, | |||
@@@@_passive1_passive2_pvp, | |||
@@@@_passive1_passive2_heavy_pvp, | |||
@@@@_passive1_passive2_empowered_pvp, | |||
@@@@_passive1_passive2_enhanced_pvp, | |||
@@@@_passive1_passive2_useful_pvp, | |||
}} | }} | ||
}} | }} | ||
}} | |||
<!-- formatting - write to actual variables --> | <!-- formatting - write to actual variables --> |