Difference between revisions of "Template:Planet Calculate Influence"
From Australis Ultima 30k
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
Influence Summary | |
---|---|
Faction | Influence |
Unresolved | 90 |
Traitor | 667 |
Loyalist | 598 |
Imperial | 51 |
Xenos | 16 |
Secessionist | 77 |
Orks | 10 |
Traitors | 5 |
Inconclusive | 5 |
none | 5 |
Enter Here | 5 |
Undecided | 20 |
Alpha Legion | 5 |
Loyalists | 5 |
Antigones mob Traitor | 5 |
Iron Hands Loyalist | 5 |
Eisens arme Hunde Loyalist | 5 |
Loyalisy | 1 |
Synod | 7 |