Difference between revisions of "Template:Planet Calculate Influence"

From Australis Ultima 30k
Jump to: navigation, search
m (Undo revision 7987 by Sirrob01 (talk))
m
Line 53: Line 53:
 
<!--{{#arrayprint:battleall}}for error checking -->
 
<!--{{#arrayprint:battleall}}for error checking -->
 
<!--{{#arrayprint:subbattleall}}for error checking -->
 
<!--{{#arrayprint:subbattleall}}for error checking -->
<!---------------------------------------------->
+
 
<!-- While loop which runs through the array and counts instances of the  specific faction/force name and outputs in the form of Faction1@3,Faction2@4,Faction3@1 1st loop for Campaigns 2nd loop is for battles, essentially identical -->
+
<!---------------------------------------------->
+
{{ #vardefine: iac | 0 }}
+
{{#while:
+
  | {{ #ifexpr: {{ #var: iac }} < {{ #var: subcallsize }} | true }}
+
  |{{#arraysearcharray:subcampcnt|campall|{{#arrayindex:subcampall|{{#var:iac}}}}}}
+
{{#vardefine:sumcampall|{{#var:sumcampall}}{{#arrayindex:subcampall|{{#var:iac}}}}@{{#arraysize:subcampcnt}}$}}
+
{{ #vardefine: iac | {{ #expr: {{ #var: iac }} + 1 }} }}
+
}}
+
{{#arraydefine:subsumcampall|{{#var:sumcampall}}|$|}}
+
{{ #vardefine: iab | 0 }}
+
{{#while:
+
  | {{ #ifexpr: {{ #var: iab }} < {{ #var: subbatsize }} | true }}
+
  |{{#arraysearcharray:subbatcnt|battleall|{{#arrayindex:subbattleall|{{#var:iab}}}}}}
+
{{#vardefine:sumbatall|{{#var:sumbatall}}{{#arrayindex:subbattleall|{{#var:iab}}}}@{{#arraysize:subbatcnt}}$}}
+
{{ #vardefine: iab | {{ #expr: {{ #var: iab }} + 1 }} }}
+
}}
+
{{#arraydefine:subsumbatall|{{#var:sumbatall}}|$|}}
+
{{ #vardefine: ias | 0 }}
+
{{#while:
+
  | {{ #ifexpr: {{ #var: ias }} < {{ #var: subskisize }} | true }}
+
  |{{#arraysearcharray:subskicnt|skirmishall|{{#arrayindex:subskirmishall|{{#var:ias}}}}}}
+
{{#vardefine:sumskiall|{{#var:sumskiall}}{{#arrayindex:subskirmishall|{{#var:ias}}}}@{{#arraysize:subskicnt}}$}}
+
{{ #vardefine: ias | {{ #expr: {{ #var: ias }} + 1 }} }}
+
}}
+
{{#arraydefine:subsumskiall|{{#var:sumskiall}}|$|}}
+
<!--{{#arrayprint:subsumcampall}}for error checking -->
+
<!--{{#arrayprint:subsumbatall}}for error checking -->
+
<!--{{#arrayprint:subsumskiall}}for error checking -->
+
<!---------------------------------------------->
+
<!-- The below two loops multiply the number of
+
campaigns, battles or Skirmishes by the current influence
+
value for each, influence values are stored in
+
Templates for easy maintenance/adjustment-->
+
<!---------------------------------------------->
+
{{ #vardefine: icp | 0 }}
+
{{#vardefine:sumcampall}}
+
{{#while:
+
  | {{ #ifexpr: {{ #var: icp }} < {{#expr:{{#arraysize:subsumcampall}}-1}} | true }}
+
  |{{#vardefine:sumcampall|{{#var:sumcampall}}${{#explode:{{#arrayindex:subsumcampall|{{ #var: icp }}}}|@|0}}@{{#expr:{{#explode:{{#arrayindex:subsumcampall|{{ #var: icp }}}}|@|1}}*{{Campaign Influence}}}}}}
+
  {{ #vardefine: icp | {{ #expr: {{ #var: icp }} + 1 }} }}
+
}}
+
{{#arraydefine:subsumcampall2|{{#sub:{{#var:sumcampall}}|1}}|$}}
+
{{ #vardefine: ibp | 0 }}
+
{{#vardefine:sumbatall}}
+
{{#while:
+
  | {{ #ifexpr: {{ #var: ibp }} < {{#expr:{{#arraysize:subsumbatall}}-1}} | true }}
+
  |{{#vardefine:sumbatall|{{#var:sumbatall}}${{#explode:{{#arrayindex:subsumbatall|{{ #var: ibp }}}}|@|0}}@{{#expr:{{#explode:{{#arrayindex:subsumbatall|{{ #var: ibp }}}}|@|1}}*{{Battle Influence}}}}}}
+
  {{ #vardefine: ibp | {{ #expr: {{ #var: ibp }} + 1 }} }}
+
}}
+
{{#arraydefine:subsumbatall2|{{#sub:{{#var:sumbatall}}|1}}|$}}
+
{{ #vardefine: isp | 0 }}
+
{{#vardefine:sumskiall}}
+
{{#while:
+
  | {{ #ifexpr: {{ #var: isp }} < {{#expr:{{#arraysize:subsumskiall}}-1}} | true }}
+
  |{{#vardefine:sumskiall|{{#var:sumskiall}}${{#explode:{{#arrayindex:subsumskiall|{{ #var: isp }}}}|@|0}}@{{#expr:{{#explode:{{#arrayindex:subsumskiall|{{ #var: isp }}}}|@|1}}*{{Skirmish Influence}}}}}}
+
  {{ #vardefine: isp | {{ #expr: {{ #var: isp }} + 1 }} }}
+
}}
+
{{#arraydefine:subsumskiall2|{{#sub:{{#var:sumskiall}}|1}}|$}}
+
<!--{{#arrayprint:subsumbatall2}}for error checking -->
+
<!--{{#arrayprint:subsumcampall2}}for error checking -->
+
<!--{{#arrayprint:subsumskiall2}}for error checking -->
+
<!-------------------------------------------------------->
+
<!-- Merge the three arrays together to make one large array
+
with the total Influence earnt for each Faction/Force on
+
this planet -->
+
<!-------------------------------------------------------->
+
{{#arraymerge:subsumall|subsumbatall2|subsumcampall2|subsumskiall2}}
+
{{#arraymerge:subsumunqall|subcampall|subbattleall|subskirmishall}}
+
{{#arrayunique:subsumunqall}}
+
<!--{{#arrayprint:subsumall}}for error checking -->
+
<!--{{#arrayprint:subsumunqall}}for error checking -->
+
{{#vardefine:subsumunqallcnt|{{#arraysize:subsumunqall}}}}
+
{{#vardefine:issua | 0 }}
+
{{#while:
+
  | {{ #ifexpr: {{ #var:issua  }} < {{#var:subsumunqallcnt}} | true }}
+
  |{{#arraysearcharray:temparray|subsumall|*{{#arrayindex:subsumunqall|{{#var:issua}}}}*}}
+
{{#vardefine:ita | 0 }}
+
{{#vardefine:tat|{{#arraysize:temparray}}}}
+
{{#while:
+
  |{{ #ifexpr: {{ #var:ita }} < {{#var:tat}} | true }}
+
  |{{#vardefine:totstring|{{#expr:{{#var:totstring}}+{{#explode:{{#arrayindex:temparray|{{#var:ita}}}}|@|1}}}}}}
+
{{ #vardefine: ita | {{ #expr: {{ #var: ita }} + 1 }}}}
+
}}
+
{{#vardefine:allsum|{{#var:allsum}}${{#arrayindex:subsumunqall|{{#var:issua}}}}@{{#var:totstring}}}}
+
{{#vardefine:totstring|0}}{{#vardefine:issua | {{ #expr: {{ #var:issua  }} + 1 }} }}
+
}}
+
{{#arraydefine:arrallsum|{{#sub:{{#var:allsum}}|1}}|$}}
+
<!--{{#arrayprint:arrallsum}}for error checking -->
+
<!-------------------------------------------------------->
+
<!-- The below goes through the total array and compares
+
each of the current influence totals to find the highest
+
and second highest. -->
+
<!-------------------------------------------------------->
+
{{#vardefine:highfaction|0@0}}
+
{{#vardefine:2ndhighfaction|0@0}}
+
{{#vardefine:arrallsz|{{#arraysize:arrallsum}}}}
+
{{#vardefine: iaas | 0 }}
+
{{#while:
+
  | {{#ifexpr: {{#var:iaas}}<{{#var:arrallsz}} | true }}
+
  |{{#ifexpr:{{#explode:{{#var:highfaction}}|@|1}}>{{#explode:{{#arrayindex:arrallsum|{{#var:iaas}}}}|@|1}}
+
      |{{#ifexpr:{{#explode:{{#var:2ndhighfaction}}|@|1}}>{{#explode:{{#arrayindex:arrallsum|{{#var:iaas}}}}|@|1}}
+
        |
+
        |{{#vardefine:2ndhighfaction|{{#arrayindex:arrallsum|{{#var:iaas}}}}}}
+
      }}
+
      |{{#vardefine:2ndhighfaction|{{#var:highfaction}}}}{{#vardefine:highfaction|{{#arrayindex:arrallsum|{{#var:iaas}}}}}}
+
    }}
+
{{#vardefine:iaas | {{#expr:{{#var:iaas}}+1}}}}
+
}}
+
<!--2nd highest faction:{{#var:2ndhighfaction}}for error checking -->
+
<!--Highest faction: {{#var:highfaction}}for error checking -->
+
 
<!-------------------------------------------------------->
 
<!-------------------------------------------------------->
 
<!--The 2nd highest and highest faction are now compared to check
 
<!--The 2nd highest and highest faction are now compared to check

Revision as of 16:12, 7 September 2014










Maximum number of loops have been performed
Influence Summary
Faction Influence

Expression error: Unexpected > operator. Undecided.png