Difference between revisions of "Template:Card probabilities"

From Yugipedia
Jump to: navigation, search
(support for cards with multiple artworks)
(Updates from Template:Card probabilities/sandbox (support for sets and statuses, use subtemplates per game for column customisation))
Line 1: Line 1:
 
<!--
 
<!--
 
-->{{ #arraydefine: $cards | {{{cards|}}} | /\n/ }}<!--
 
-->{{ #arraydefine: $cards | {{{cards|}}} | /\n/ }}<!--
-->{{ #vardefine: $character        | {{ #if: {{{character|}}} | {{{character}}} | {{PAGENAME}} }} }}<!--
+
-->{{ #vardefine: $link | {{ #if: {{{link|}}} | {{{link}}} | {{PAGENAME}} }} }}<!--
-->{{ #vardefine: $is_victory_bonus | {{ #switch: {{ lc: {{{type}}} }} | victory bonus = 1 }} }}<!--
+
-->{{ #vardefine: $i | 0 }}<!--
-->{{ #vardefine: $property        | {{ #switch: {{ lc: {{{type}}} }}
+
-->{{ #vardefine: $custom_column_mode
  | drops        = Drops
+
| {{ #switch: {{{game}}}
  | victory bonus = Victory bonus
+
  | DM1      | Yu-Gi-Oh! Duel Monsters (video game)              = /DM1<!-- DM rules -->
  | fixed set    = Set contains
+
  | DM2      | Yu-Gi-Oh! Duel Monsters II: Dark duel Stories | Yu-Gi-Oh! Duel Monsters II: Dark Duel Stories = /DM2<!-- +Alignment -->
  |#default       = Deck contains
+
  | DM3 | DDS | Yu-Gi-Oh! Dark Duel Stories
  }} }}<!--
+
  | DM4       | Yu-Gi-Oh! Duel Monsters 4: Battle of Great Duelist = /DDS<!-- +Level -->
 
+
  | DM7 | TSC | Yu-Gi-Oh! The Sacred Cards
-->{{ #vardefine: ${{ #var: $property }}-counter
+
  | DM8 | ROD | Yu-Gi-Oh! Reshef of Destruction                    = /TSC<!-- Alignment → Summon -->
| {{ #expr: {{ #var: ${{ #var: $property }}-counter | 0 }} + 1 }}
+
  }}
 
}}<!--
 
}}<!--
 +
-->{{ #vardefine: ${{ #var: $inclusion_property }}-counter | {{ #expr: {{ #var: ${{ #var: $inclusion_property }}-counter | 0 }} + 1 }} }}<!--
  
# Per-game properties
+
-->{{ #vardefine: $default_value | }}<!--
-->{{ #switch: {{{game}}}
 
| DM2 | Yu-Gi-Oh! Duel Monsters II: Dark Duel Stories = <!--
 
  -->{{ #vardefine: $has_alignment_col | 1 }}
 
 
 
| DM3 | DDS | Yu-Gi-Oh! Dark Duel Stories
 
| DM4      | Yu-Gi-Oh! Duel Monsters 4: Battle of Great Duelist = <!--
 
  -->{{ #vardefine: $has_alignment_col | 1 }}<!--
 
  -->{{ #vardefine: $has_level_col    | 1 }}<!--
 
  -->{{ #ifeq: {{ #var: $property }} | Deck contains
 
    | {{ #vardefine: $use_fixed_quantities | 1 }}
 
    }}{{ #ifeq: {{ lc: {{{type}}} }} | fixed set
 
    | {{ #vardefine: $use_fixed_quantities | 1 }}
 
    }}
 
  
| DM7 | TSC | Yu-Gi-Oh! The Sacred Cards
+
-->{{ #switch: {{ lc: {{{type}}} }}
| DM8 | ROD | Yu-Gi-Oh! Reshef of Destruction = <!--
+
| deck          = {{ #vardefine: $inclusion_property | Deck contains }}{{ #vardefine: $value_property | Amount          }}<!--
  -->{{ #vardefine: $has_summon_col    | 1 }}<!--
+
              -->{{ #vardefine: $default_value | 1 }}
   -->{{ #vardefine: $has_level_col    | 1 }}<!--
+
| random deck   = {{ #vardefine: $inclusion_property | Deck contains }}{{ #vardefine: $value_property | 2048 probability }}
  -->{{ #ifeq: {{ #var: $property }} | Deck contains
+
| drops        = {{ #vardefine: $inclusion_property | Drops        }}{{ #vardefine: $value_property | 2048 probability }}
    | {{ #vardefine: $use_fixed_quantities | 1 }}
+
| set          = {{ #vardefine: $inclusion_property | Set contains }}{{ #vardefine: $value_property | Rarity          }}
    }}{{ #ifeq: {{ lc: {{{type}}} }} | fixed set
+
| fixed set    = {{ #vardefine: $inclusion_property | Set contains  }}{{ #vardefine: $value_property | Amount          }}<!--
    | {{ #vardefine: $use_fixed_quantities | 1 }}
+
              -->{{ #vardefine: $default_value | 1 }}
    }}
+
| status        = {{ #vardefine: $inclusion_property | Has status    }}{{ #vardefine: $value_property | Status          }}
 +
| victory bonus = {{ #vardefine: $inclusion_property | Victory bonus }}{{ #vardefine: $value_property | Wins required    }}
 
}}<!--
 
}}<!--
  
-->{{ #vardefine: $i | 0 }}<!--
+
# Table heading
 
 
-->[[Character::{{ #var: $character }}| ]]<!--
 
-->[[Game::{{{game|}}}| ]]<!--
 
  
 
--><table class="wikitable sortable card-list" style="width: auto; clear: none;">
 
--><table class="wikitable sortable card-list" style="width: auto; clear: none;">
 
   <tr>
 
   <tr>
     <th scope="col"><abbr title="Number">#</abbr></th>
+
     {{Card probabilities/header{{ #var: $custom_column_mode }}}}
    <th scope="col">Card</th>
+
     {{ #if: {{{probability|}}}
    <th scope="col">Card type</th>{{ #if: {{ #var: $has_alignment_col }} |
+
     |
     <th scope="col">Alignment</th>
+
      <th scope="col"><abbr title="Chance out of 100">%</abbr></th>
}}{{ #if: {{ #var: $has_summon_col }} |
+
      {{ #ifeq: {{{probability}}} | 100 ||
    <th scope="col">Summon</th>
+
        {{ #vardefine: $extra_percent_column | 1 }}
}}
+
        <th scope="col"><abbr title="Chance out of {{{probability}}}">{{{probability}}}th</abbr></th>
     <th scope="col">Type</th>{{ #if: {{ #var: $has_level_col }} |
+
      }}
    <th scope="col">Level</th>
+
     |
}}
+
      <th scope="col">{{ #if: {{{column|}}} | {{{column}}} | <abbr title="Quantity">Qty</abbr> }}</th>
    <th scope="col">ATK</th>
+
    }}
    <th scope="col">DEF</th>
+
   </tr><!--
{{ #if: {{ #var: $is_victory_bonus }}
+
-->{{ #arrayprint: $cards
|
 
    <th scope="col">Wins</th>
 
| {{ #if: {{ #var: $use_fixed_quantities }}
 
  |
 
    <th scope="col"><abbr title="Quantity">Qty</abbr></th>
 
  |
 
    <th scope="col"><abbr title="Chance out of 100">%</abbr></th>
 
     <th scope="col"><abbr title="Chance out of 2048">2048th</abbr></th>
 
  }}
 
}}
 
   </tr>
 
{{ #arrayprint: $cards
 
 
|&#32;
 
|&#32;
 
| $row
 
| $row
 
| <!--
 
| <!--
   -->{{ #vardefine: $i               | {{ padleft: {{ #expr: {{ #var: $i }} + 1 }} | 4 | 0 }} }}<!--
+
   -->{{ #vardefine: $i         | {{ padleft: {{ #expr: {{ #var: $i }} + 1 }} | 4 | 0 }} }}<!--
   -->{{ #vardefine: $card             | {{ #explode: $row | ; }} }}<!--
+
   -->{{ #vardefine: $card       | {{ #explode: $row | ; }} }}<!--
   -->{{ #vardefine: $card-strip       | {{ #replace: {{ #var: $card }} | # }} }}<!--
+
   -->{{ #vardefine: $card-strip | {{ #replace: {{ #var: $card }} | # }} }}<!--
   -->{{ #vardefine: $card_name       | {{ #show: {{ #var: $card-strip }} |?English name }} }}<!--
+
   -->{{ #vardefine: $card_name | {{ #show: {{ #var: $card-strip }} |?English name }} }}<!--
   -->{{ #vardefine: $artwork         | {{ #explode: $row | artwork:: | 1 }} }}<!--
+
   -->{{ #vardefine: $artwork   | {{ #explode: $row | artwork:: | 1 }} }}<!--
 
+
   -->{{ #vardefine: $value      | {{ #explode: {{ #explode: $row; {{ #var: $default_value }} | ; | 1 }} | // }} }}<!--
   -->{{ #if: {{ #var: $is_victory_bonus }}
+
  -->{{ #if: {{ #var: $extra_percent_column }}
  | {{ #vardefine: $wins_required| {{ #explode: $row | ; | 1 }} }}
+
  | {{ #vardefine: $percentage | {{ #expr: {{ #var: $value }} / {{{probability}}} * 100 round 2 }} }}
  | {{ #if: {{ #var: $use_fixed_quantities }}
 
    | {{ #vardefine: $quantity | {{ #explode: $row ; 1 | ; | 1 }} }}
 
    | <!--
 
      -->{{ #vardefine: $2048_probability | {{ #explode: {{ #explode: $row | ; | 1 }} | // | 0 }} }}<!--
 
      -->{{ #vardefine: $probability      | {{ #if: {{ #var: $2048_probability }} | {{ #expr: {{ #var: $2048_probability }} / 2048 * 100 round 2 }} }} }}
 
    }}
 
 
   }}<!--
 
   }}<!--
  
   -->{{ #subobject: {{ #var: $property }}<!--
+
   -->{{ #subobject: {{ #var: $inclusion_property }}<!--
     -->{{ #ifeq: {{ #var: ${{ #var: $property }}-counter }} | 0 || -{{ #var: ${{ #var: $property }}-counter }} }}<!--
+
     -->{{ #ifeq: {{ #var: ${{ #var: $inclusion_property }}-counter }} | 0 || -{{ #var: ${{ #var: $inclusion_property }}-counter }} }}<!--
 
     -->-{{ #var: $i }}
 
     -->-{{ #var: $i }}
   | {{ #var: $property }} = {{ #var: $card-strip }}
+
   | {{ #var: $inclusion_property }} = {{ #var: $card-strip }}
   | Owner                = {{ #var: $character }}
+
   | {{ #var: $value_property }}    = {{ #var: $value }}
   | Owner name           = {{ #if: {{{character_name|}}} | {{{character_name|}}} | {{ #explode: {{ #var: $character }} | ( }} }}
+
  | Link        = {{ #var: $link }}
   | Probability          = {{ #var: $probability }}
+
   | English name = {{ #if: {{{name|}}} | {{{name|}}} | {{ #explode: {{ #var: $link }} | ( }} }}
   | 2048th probability    = {{ #var: $2048_probability }}
+
   | Percentage   = {{ #var: $percentage }}
  | Wins required        = {{ #var: $wins_required }}
 
  | Amount                = {{ #var: $quantity }}
 
 
   }}
 
   }}
 
   <tr>
 
   <tr>
     <td>{{ #if: {{ #var: $artwork }}
+
     {{Card probabilities/row{{ #var: $custom_column_mode }}}}
      | {{ #show: {{ #var: $card-strip }}#artwork_{{ #var: $artwork }} |?Card number }}
+
     {{ #if: {{ #var: $extra_percent_column }} | <td>{{ #var: $percentage }}</td> }}
      | {{ #show: {{ #var: $card-strip }} |?Card number }}
+
     <td>{{ #if: {{{autolink|}}} | {{autolink|{{ #var: $value }}}} | {{ #var: $value }} }}</td>
      }}</td>
 
    <td>[[{{ #var: $card-strip }}|{{ #var: $card_name | {{ #explode: {{ #var: $card }} | ( }} }}]]</td>
 
     <td>{{ #show: {{ #var: $card-strip }} |?Card type (short) }}</td>{{ #if: {{ #var: $has_alignment_col }}{{ #var: $has_summon_col }} |
 
    <td>{{ #show: {{ #var: $card-strip }} |?Alignment (local) }}</td>
 
}}
 
     <td>{{ #show: {{ #var: $card-strip }} |?Type }}</td>{{ #if: {{ #var: $has_level_col }} |
 
    <td>{{ #show: {{ #var: $card-strip }} |?Level# }}</td>
 
}}
 
    <td>{{ #show: {{ #var: $card-strip }} |?ATK string }}</td>
 
    <td>{{ #show: {{ #var: $card-strip }} |?DEF string }}</td>
 
  {{ #if: {{ #var: $is_victory_bonus }}
 
  |
 
    <td>{{ #var: $wins_required }}</td>
 
  | {{ #if: {{ #var: $use_fixed_quantities }}
 
    |
 
    <td>{{ #var: $quantity }}</td>
 
    |
 
    <td>{{ #var: $probability }}</td>
 
    <td>{{ #var: $2048_probability }}</td>
 
    }}
 
  }}
 
 
   </tr>
 
   </tr>
 
}}
 
}}
Line 132: Line 77:
  
 
# Reset variables before the next transclusion
 
# Reset variables before the next transclusion
-->{{ #vardefine: $has_alignment_col  | }}<!--
+
-->{{ #vardefine: $extra_percent_column | }}
-->{{ #vardefine: $has_summon_col      | }}<!--
 
-->{{ #vardefine: $has_level_col      | }}<!--
 
-->{{ #vardefine: $use_fixed_quantities| }}
 

Revision as of 13:46, 3 January 2020

# Card Card type Type Level ATK DEF Qty