Template talk:VFG/Time/Code

From StrategyWiki, the video game walkthrough and strategy guide wiki

Below is the code of this template in a readable format. Comments might be added later, but for now you'll have to figure out what it means by yourself.

{{#vardefine:leap|
  0
}}

{{#vardefine:old|
  {{#switch:{{{month}}}
    |01=0
    |02=31
    |03=59
    |04=90
    |05=120
    |06=151
    |07=181
    |08=211
    |09=242
    |10=272
    |11=303
    |333
  }}
}}

{{#vardefine:a|
  {{#ifeq:{{#expr:{{{month}}}>2}}|1
    |0
    |-30
  }}
}}

{{#vardefine:a|
  {{#ifeq:{{#expr:{{{year}}} mod 400}}|0
    |{{#expr:{{#var:a}}+2}}
    |{{#var:a}}
  }}
}}

{{#vardefine:a|{{#ifeq:{{#expr:{{{year}}} mod 100}}|0
    |{{#expr:{{#var:a}}+4}}
    |{{#var:a}}
  }}
}}

{{#vardefine:a|
  {{#ifeq:{{#expr:{{{year}}} mod 4}}|0
    |{{#expr:{{#var:a}}+8}}
    |{{#var:a}}
  }}
}}

{{#vardefine:old|
  {{#switch:{{#var:a}}
    |2|6|8|10|14={{#expr:{{#var:old}}+1}}
      {{#vardefine:leap|
        1
      }}
    |{{#var:old}}
  }}
}}

{{#vardefine:current|
  {{#switch:{{CURRENTMONTH}}
    |01=0
    |02=31
    |03=59
    |04=90
    |05=120
    |06=151
    |07=181
    |08=211
    |09=242
    |10=272
    |11=303
    |333
  }}
}}

{{#vardefine:b|
  {{#ifeq:{{#expr:{{CURRENTMONTH}}>2}}|1
    |0
    |-30
  }}
}}

{{#vardefine:b|
  {{#ifeq:{{#expr:{{CURRENTYEAR}} mod 400}}|0
    |{{#expr:{{#var:b}}+2}}
    |{{#var:b}}
  }}
}}

{{#vardefine:b|
  {{#ifeq:{{#expr:{{CURRENTYEAR}} mod 100}}|0
    |{{#expr:{{#var:b}}+4}}
    |{{#var:b}}
  }}
}}

{{#vardefine:b|
  {{#ifeq:{{#expr:{{CURRENTYEAR}} mod 4}}|0
    |{{#expr:{{#var:b}}+8}}
    |{{#var:b}}
  }}
}}

{{#vardefine:current|
  {{#switch:{{#var:b}}
    |2|6|8|10|14={{#expr:{{#var:current}}+1}}
    |{{#var:current}}
  }}
}}

{{#vardefine:current|
  {{#expr:{{#var:current}}+({{CURRENTYEAR}}-{{{year}}})*364}}
}}

{{#vardefine:current|
  {{#ifeq:{{#expr:{{CURRENTYEAR}}-{{{year}}}!=0 and {{#var:leap}}=1}}|1
    |{{#expr:{{#var:current}}+1}}
    |{{#var:current}}
  }}
}}

{{#vardefine:old|
  {{#expr:{{{day}}}+{{#var:old}}}}
}}

{{#vardefine:current|
  {{#expr:{{CURRENTDAY}}+{{#var:current}}}}
}}

{{#vardefine:shade|
  {{#expr:{{#var:current}}-{{#var:old}}}}
}}

{{#switch:{{#var:shade}}
  |1=FAFAFA
  |2=F5F5F5
  |3=EFEFEF
  |4=EAEAEA
  |5=E5E5E5
  |6=DFDFDF
  |7=DADADA
  |8=D5D5D5
  |9=CFCFCF
  |10=CACACA
  |11=C5C5C5
  |12=BFBFBF
  |13=BABABA
  |14=B5B5B5
  |15=AFAFAF
  |16=AAAAAA
  |17=A5A5A5
  |18=9F9F9F
  |19=9A9A9A
  |20=959595
  |21=8F8F8F
  |22=8A8A8A
  |23=858585
  |24=7F7F7F style="color:#FFFFF"
  |25=7A7A7A style="color:#FFFFF"
  |26=757575 style="color:#FFFFF"
  |27=6F6F6F style="color:#FFFFF"
  |28=6A6A6A style="color:#FFFFF"
  |29=656565 style="color:#FFFFF"
  |30=5F5F5F style="color:#FFFFF"
  |31=5A5A5A style="color:#FFFFF"
  |32=555555 style="color:#FFFFF"
  |33=4F4F4F style="color:#FFFFF"
  |34=4A4A4A style="color:#FFFFF"
  |35=454545 style="color:#FFFFF"
  |36=3F3F3F style="color:#FFFFF"
  |37=3A3A3A style="color:#FFFFF"
  |38=353535 style="color:#FFFFF"
  |39=2F2F2F style="color:#FFFFF"
  |40=2A2A2A style="color:#FFFFF"
  |41=252525 style="color:#FFFFF"
  |42=1F1F1F style="color:#FFFFF"
  |43=1A1A1A style="color:#FFFFF"
  |44=151515 style="color:#FFFFF"
  |45=0F0F0F style="color:#FFFFF"
  |46=0A0A0A style="color:#FFFFF"
  |47=050505 style="color:#FFFFF"
  |48=000000 style="color:#FFFFF"
  |49=000011 style="color:#FFFFF"
  |50=000022 style="color:#FFFFF"
  |51=000033 style="color:#FFFFF"
  |52=000044 style="color:#FFFFF"
  |53=000055 style="color:#FFFFF"
  |54=000066 style="color:#FFFFF"
  |55=000077 style="color:#FFFFF"
  |56=000088
  |57=000099
  |58=0000AA
  |59=0000BB
  |60=0000CC
  |61=0000DD
  |62=0000EE
  |63=0000FF
  |64=1111FF
  |65=2222FF
  |66=3333FF
  |67=4444FF
  |68=5555FF
  |69=6666FF
  |70=7777FF
  |71=8888FF
  |72=9999FF
  |73=AAAAFF
  |74=BBBBFF
  |75=CCCCFF
  |76=DDDDFF
  |77=EEEEFF
  |FFFFFF
}}