Template:SemanticMonsterData: Difference between revisions

From Auranogi
(Created page for SemanticMonsterData template. Despite what the documentation said, I've made some edits to remove newer content data. In the event that this doesn't work properly, I will attempt to revise this template using an older version found on MWW. Some stuff here may currently be broken since some of the templates that THIS template uses do not exist yet.)
 
(Modified template to match a previous version used on MWW.)
 
Line 20: Line 20:
|Monster type={{{Type|}}}
|Monster type={{{Type|}}}
|Monster section type={{{Section|}}}
|Monster section type={{{Section|}}}
|Monster missions list={{{MissionsList|}}}|+sep=,
|Monster missions list={{{MissionsList|}}}
|Monster mainstream={{{Mainstream|}}}
|Monster mainstream={{{Mainstream|}}}
|Monster field boss={{{FieldBoss|}}}
|Monster field boss={{{FieldBoss|}}}
|Monster skills={{#arraymap:{{{Skills|}}}|,|@@@@|@@@@}}|+sep=,<!--dfoplayer. After mapping array out, tell semantic that there is a separatation between items using ',' -->}}
|Monster skills={{#arraymap:{{{Skills|}}}|,|@@@@|@@@@}}|+sep=,<!--dfoplayer. After mapping array out, tell semantic that there is a separatation between items using ',' -->}}
{{#parameterstohash:Data}}{{#css:
{{#parameterstohash:Data}}[[Category:SemanticMonsters]]</includeonly>
.image > .image > img {
max-height:200px !important;
width:auto !important;
}
}}{{#if:{{#hashvalue:Data|topText|}}|{{#hashvalue:Data|topText|}}<br>|}}{{#ifeq:{{#hashvalue:Data|Name}}|{{PAGENAME}}|{{#if:{{#hashvalue:Data|Family}}|For a list of the {{#replace:{{#hashvalue:Data|Family}}|(Family)|}} family, [[{{#ifeq:{{#hashvalue:Data|Family}}|Bat|Bat (Family)|{{#hashvalue:Data|Family}}}}|see here]].|}} <!-- Adds link to family page if it exists and PAGENAME matches monster name. Also omits "(Family)" from wording. -->
 
|}}<h3>{{#ifeq:{{#hashvalue:Data|Mainstream|}}|Yes <!-- Gets the appropriate icon depending on the monster type. Mainstream icon takes priority. -->
| [[File:Chapter 1 2 Mainstream Icon.png|Quest Monster|link=]]
| {{#ifeq:{{#hashvalue:Data|FieldBoss|}}|Yes|[[File:Fomor_Command_Scroll.png|20px|Field Boss|link=]]
|{{#switch:{{#hashvalue:Data|Type}}
|Normal=[[File:StyleMonsterIcon.png|Normal Monster|link=]]
|Shadow=[[File:Shadow Mission Icon.png|Shadow Monster|link=]]
}}
}}
}} {{#hashvalue:Data|Name}}</h3>
{| class="mabitable" style="max-width: 1000px; font-family:Tahoma, Arial, Helvetica, sans-serif; font-size:12px;" <!-- Start monster table -->
| {{#switch:{{#hashvalue:Data|Type}}|Raid|Normal=rowspan="3"|#default=rowspan="4"}} class="image" | [[Image:{{#hashvalue:Data|Image|{{#ifexist:Media:{{#hashvalue:Data|Name}}.{{#hashvalue:Data|Ext|jpg}}|{{#hashvalue:Data|Name}}.{{#hashvalue:Data|Ext|jpg}}{{!}}Picture of {{#hashvalue:Data|Name}}|No File.png{{!}}link=http://wiki.mabinogiworld.com/index.php?title=Special:Upload&wpDestFile={{urlencode|{{#hashvalue:Data|Name}}}}.{{#hashvalue:Data|Ext|jpg}}{{!}}Upload a picture for {{#hashvalue:Data|Name}}}}}}{{#if:{{#hashvalue:Data|Image}}|.{{#hashvalue:Data|Ext|jpg}}|}}|160px]]<br><span class="editsection plainlinks">[[Special:FormEdit/Monster/{{urlencode|{{#hashvalue:Data|Name}}}}|Edit]] {{#ifeq:{{#hashvalue:Data|Name}}|{{PAGENAME}}||[[{{#hashvalue:Data|Name}}|Link]]}}</span>
{{#switch:{{#hashvalue:Data|Type}}|Normal=|Raid=|#default=! colspan="2" {{!}}{{#switch:{{#hashvalue:Data|Type}}<!-- Create new row for missions if not a normal monster -->
  |Shadow=[[Shadow Mission]]
  |Location}}
{{!}} colspan="5" id="text-left" {{!}}<div style="max-height: 150px; overflow: auto;"><ul>{{#arraymap:{{#hashvalue:Data|MissionsList|}}|,|@@@@|<li>@@@@</li>|\s}}</ul></div><!-- split mission list by comma and add LI for html list-->
{{!}}-}}
! style="width:90px;" |  Melee Hits
! style="width:90px;" | Running Speed
! style="width:90px;" | Detection Speed
! style="width:90px;" | Detection Range
! style="width:90px;" | Aggressive
! style="width:90px;" | [[Aggro|Aggression]]
! style="width:90px;" | Element
|-
| {{#hashvalue:Data|MeleeHits|?}}
| {{#hashvalue:Data|Speed|Unknown}}
| {{#switch: {{#hashvalue:Data|Aggro}}
|No|false=<nowiki>-</nowiki>
|{{#hashvalue:Data|AggroSpeed|Unknown}}
}}
| {{#switch: {{#hashvalue:Data|Aggro}}
|No|false=<nowiki>-</nowiki>
|{{#hashvalue:Data|AggroRange|Unknown}}
}}
| {{#switch: {{#hashvalue:Data|Aggro}}
|Yes|true={{MouseoverBox|Trigger=Yes|Content=Will attack unprovoked}}
|No|false={{MouseoverBox|Trigger=No|Content=Will not attack unprovoked}}
|Unknown
}}
| {{#switch: {{#hashvalue:Data|MultiAggro}}
|n=<nowiki>-</nowiki>
|1=Single
|2=Double
|3=Triple
|4=Quadruple
|5=Quintuple
|y=Multi
|Unknown
}}
| {{#switch:{{#hashvalue:Data|Element}}
  |Fire=[[File:Fire_Elemental.png]]
  |Lightning=[[File:Lightning_Elemental.png]]
  |Ice=[[File:Ice_Elemental.png]]|}} {{#switch:{{#hashvalue:Data|Element}}
  |Fire=Fire
  |Lightning=Lightning
  |Ice=Ice
  |None=None
  |Unknown}}
|-
! Skills
| colspan="6" style="height: 34px;" |{{#arraymap:{{#hashvalue:Data|Skills|}}|,|@@@@|{{SkillIcon|@@@@}}|\s}} {{#if:{{#hashvalue:Data|SkillHeavyStander}} | {{SkillIcon|Heavy Stander|{{#hashvalue:Data|SkillHeavyStander}}}}}} {{#if:{{#hashvalue:Data|SkillManaDeflector}} | {{SkillIcon|Mana Deflector|{{#hashvalue:Data|SkillManaDeflector}}}}}} {{#if:{{#hashvalue:Data|SkillNaturalShield}} | {{SkillIcon|Natural Shield (Monster)|{{#hashvalue:Data|SkillNaturalShield}}}}}}
|-
! style="max-width:200px;" | {{ #switch:{{#hashvalue:Data|Type}}<!-- Set column title based on monster type -->
|Normal=Location
|Shadow=[[Shadow Mission|Mission Difficulty]]
|Difficulty}}
! style="width:90px;" | [[Hit Points]]
! style="width:90px;" | Melee Damage
! style="width:90px;" | Ranged Damage
! style="width:90px;" | [[Stats#Defense/Protection|Def.]] ([[Stats#Defense/Protection|Prot.]])
! style="width:90px;" | [[Experience]]
! style="width:90px;" | [[Gold]]
! style="width:90px;" | [[Combat Power]]
{{#ask:<!-- Fetching all difficulty stats for the monster -->
[[Monster difficulty parent::{{#hashvalue:Data|Name|}}]]
|format=plainlist
|template=RenderSemanticMonsterDifficulty
|?Monster difficulty
|?Monster hp
|?Monster melee damage
|?Monster ranged damage
|?Monster def
|?Monster prot
|?Monster exp
|?Monster gold min
|?Monster gold max
|?Monster cp
|?Monster field locations list
|?-has subobject.Monster missions list
|default=Stats lookup failed
}}
|-
| colspan="9" style="padding: 0;" |
{| class="collapsible collapsed" style="width: calc(100% + 2px); margin: -1px; background-color: inherit;" <!-- Start Drops table -->
! colspan="2" | Drops
|-
| style="padding: 0;" |
{| class="mabitable marginless" style="width: calc(100% + 2px); margin: -1px; " <!-- Start Misc/Equip table -->
! style="width: 20%" | {{#switch:{{#hashvalue:Data|Type}}
|Normal=Location
|Difficulty}}
! style="width: 40%" | Equipment
! style="width: 40%" | Misc.
|- id="text-left"
{{#ask:<!-- Fetching all difficulty drops monster -->
[[Monster difficulty parent::{{#hashvalue:Data|Name|}}]]
|format=plainlist
|template=RenderSemanticMonsterDrops
|?Monster difficulty
|?Monster field locations list
|?Monster drops equip list
|?Monster drops misc list
|default=Drops lookup failed
}}
{{#if:{{#hashvalue:Data|DropEquipCommon|}}
|{{!}}-
{{!}} '''All'''
{{!}} id="text-left" {{!}}
{{#hashvalue:Data|DropEquipCommon|*None}}
{{!}} id="text-left" {{!}}
{{#hashvalue:Data|DropMiscCommon|*None}}
|{{#if:{{#hashvalue:Data|DropMiscCommon|}}
|{{!}}-
{{!}} '''All'''
{{!}} id="text-left" {{!}}
{{#hashvalue:Data|DropEquipCommon|*None}}
{{!}} id="text-left" {{!}}
{{#hashvalue:Data|DropMiscCommon|*None}}|}}}}
|}
|}
|-
| colspan="9" style="padding: 0;" |
{| class="collapsible collapsed" style="width: calc(100% + 2px); margin: -1px; background-color: inherit;" <!-- Start Notes/Advice table -->
! colspan="2" | Notes & Advice
|-
! style="width:114px;" | Notes
| id="text-left" style="width: 85%;" | {{#if:{{#hashvalue:Data|Notes}}|{{#hashvalue:Data|Notes}}|*None}}
{{#if: {{#hashvalue:Data|ExplosiveDamage}} |* This monster explodes, resulting in {{#hashvalue:Data|ExplosiveDamage}} damage}}
|-
! Advice
| id="text-left" style="width: 85%;" | {{#if:{{#hashvalue:Data|Advice}}|{{#hashvalue:Data|Advice}}|*None}}
|}<!-- End Notes/Advice table -->
|}<!-- End monster table -->
<!-- Categories -->
{{#ifeq:{{#hashvalue:Data|Mainstream|}}|Yes|[[Category:Mainstream Bosses]]|}}
{{#ifeq:{{#hashvalue:Data|FieldBoss|}}|Yes|[[Category:Field Boss]]|}}
{{ #switch: {{#hashvalue:Data|Type}}
|Shadow=[[Category:Shadow Monsters]]
|}}[[Category:SemanticMonsters]]</includeonly>

Latest revision as of 02:09, 2 March 2023

[edit]Template Documentation

This template sets semantic monster data to the page and renders the page layout.

Template properties:

name
family
file ext
field locations list
dungeon locations list
speed
element
melee hits
explosive damage
aggro
multi aggro
aggro range
aggro speed
drops equip list common
drops misc list common
heavy stander
mana deflector
natural shield
type
section type
missions list
mainstream
field boss
skills

For editing this template

Tips

  • Avoid cleaning up the code to avoid unintended bugs. (unless you're very familiar with mediawiki)
    • Especially newlines and indenting.
  • There is a lot of conditional statements mixed into the tables.
    • It's recommended to copy and edit in a third party code editor to help with highlighting.
  • #css is used to resize the images.
  • Rows and columns are changed depending on {{#hashvalue:Data|Type}}.
    • Normal omits the top "location" field.
  • Monster categories are handled at the bottom.
  • Please take into account {{#hashvalue:Data|Type}} (the different monster types) when making any edits.