Vorlage:Karte/Layout: Unterschied zwischen den Versionen

aus FreewarWiki, der Referenz für Freewar
Zur Navigation springen Zur Suche springen
(kleinen Fehler im Regex korrigiert)
(Mikrooptimizationen & INLINE-KOMMENTARE: extra für snigg und Zabuza!)
Zeile 1: Zeile 1:
{{#vardefine:X|{{#expr:{{#var:{{#var:name}}TopLeftX}} + {{{1}}} {{#ifeq:{{#var:map_koord}}|-|+ 1}}}}}}<!--
<!--
 
Variablen, die hier genutzt, aber nicht hier definiert werden (falls nicht anders angegeben, werden die Variablen in [[Vorlage:Karte]] definiert):
  - {{#var:map_koord}}: + in Oberflächengebieten; - in Dungeons
  - {{#var:name}}: (interner) Name des darzustellenden Gebietes
 
Variablen des Typs {{#var:mapAyB_.+}} werden auch nicht hier definiert, beziehen sich aber immer auf ein bestimmtes Feld mit den Koordinaten A und B (der Einfachheit halber wird in den Beschreibungen das Präfix weg gelassen):
(falls nicht anders angegeben, werden die Variablen in [[Vorlage:Feldzusammenfassung/Layout]] definiert)
  - {{#var:_gebiet}}: Gebietsname des Feldes
  - {{#var:_bild}} (_auch_ aus [[Vorlage:Karte/Unbetretbar]]): URL des Feldbildes
  - {{#var:_npc}}: Eine kommaseparierte Liste aller auf dem Feld existierenden NPCs, in Linkform
  - {{#var:_teleport}}: Hierher kann man per Stab oder Kugel springen; die möglichen Parameter sind im Quellcode von [[Vorlage:Feldzusammenfassung/Teleportziel]] bestens erklärt
  - {{#var:_passagen_count}}: Anzahl an Passagen auf dem Feld
  - {{#var:_passage_N}} (N >= 1): Eine Passage des Feldes führt in dieses Gebiet
  - {{#var:_quest}}: Auf diesem Feld gibt es eine Quest
  - {{#var:_wiedergeburt}}: Dieses Feld ist ein Wiedergeburtsort dieser Rasse
  - {{#var:_ort}}: Dieses Feld hat einen extra Feldartikel
  - {{#var:_unbetretbar}} (aus [[Vorlage:Karte/Unbetretbar]]): Dieses Feld ist unbetretbar, hat jedoch ein extra Feldbildchen
 
Variablen, die hier genutzt und definiert werden:
  - {{#var:X}}: Absolute X-Koordinate dieses Feldes
  - {{#var:Y}}: Absolute Y-Koordinate dieses Feldes
  - {{#var:map_NPCs}}: maximale Anzahl an NPCs auf diesem Feld
  - {{#var:map_npc}}: NPC-Link eines NPCs
  -
 
Regex-Hinweis:
  - \x5B == [
  - \x5D == ]
Diese umständliche Umschreibung der eckigen Klammern ist notwendig, da der regex-Parser hier irgendwie nicht richtig mit denen klar kommt
 
--><!--
 
Bestimme absolute Koordinaten anhand der übergebenen relativen Koordinaten
 
-->{{#vardefine:X|{{#expr:{{#var:{{#var:name}}TopLeftX}} + {{{1}}} {{#ifeq:{{#var:map_koord}}|-|+ 1}}}}}}<!--
-->{{#vardefine:Y|{{#expr:{{#var:{{#var:name}}TopLeftY}} + {{{2}}} {{#ifeq:{{#var:map_koord}}|-|+ 1}}}}}}<!--
-->{{#vardefine:Y|{{#expr:{{#var:{{#var:name}}TopLeftY}} + {{{2}}} {{#ifeq:{{#var:map_koord}}|-|+ 1}}}}}}<!--
Prüfe ob aktuelles Feld zum Gebiet gehört
-->{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_gebiet}}|{{#var:name}}|<!--
-->{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_gebiet}}|{{#var:name}}|<!--
  -->{{#vardefine:NPCs|<!--
 
Aktuelles Feld gehört zum Gebiet
 
--><!--
 
Wie viele NPCs gibt es auf diesem Feld? Resultat wird in {{#var:map_NPCs}} gespeichert
Wenn es keine NPCs gibt, ist {{#var:_npc}} leer.
Sonst ist es die Anzahl an NPCs = 1 + Anzahl(Kommas in {{#var:_npc}})
 
  -->{{#vardefine:map_NPCs|<!--
   -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_npc}}|<!--
   -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_npc}}|<!--
Das innere Regex entfernt alles innerhalb der [[…]], damit Kommas in NPC-Namen nicht mitgezählt werden
Das äußere Regex entfernt alles außer den Kommas, um diese zählen zu können
   -->{{#switch:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}/|}}|/[^,]/|}}
   -->{{#switch:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}/|}}|/[^,]/|}}
       |,,,, = 5
       |,,,, = 5
Zeile 13: Zeile 64:
   -->}}<!--
   -->}}<!--
  -->}}<!--
  -->}}<!--
Das Feld an sich mit den NPCs (nutzt [[Vorlage:Karte/Feld]])
Der erste Parameter ist das Feldbild; die folgenden Parameter sind die sich dort befindlichen NPCs, wobei |N= der Artikelname des NPCs ist und |Alt(N-1)= der eigentliche Name des NPCs
Der Parameter ist N>=2
  |N=
Nur wenn es mehr als N-2 NPCs auf diesem Feld gibt (NPC Anzahl in {{#var:map_NPCs}})
  {{#ifexpr:{{#var:map_NPCs|0}} > (N-2)|
    {{#regex:
{{#vardefineecho}} definiert eine Variable und gibt sie direkt wieder zurück. Hier wird {{#var:map_npc}} definiert mit dem aktuellen NPC-Link, um Redundanz zu vermeiden (spätere Nutzung)
    {{#vardefineecho:map_npc|
      {{#regex:
Dieses Regex wird bei bei N=2 genutzt; es extrahiert den ersten NPC-Link (Form: [[.+]])
      {{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|
Dieses Regex wird bei N>=2 genutzt.
Das innere Regex extrahiert alle NPC-Links bis zu dem gewünschten NPC-Link.
Das äußere Regex extrahiert den letzten NPC-Link.
      {{#regex:
        {{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){1}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|
        /[\x5B]{2}([^\x5D]+)[\x5D]{2}$/
      }}|
Dieses Regex entfernt die [[ und ]] vom NPC-Link
      /([\x5B\x5D]){2}/|
      }}
    }}|
Der erste Teil eines NPC-Links wird herausgefiltert
  v          v
.+|.+ oder .+
    /(.+)(\{{!}}.+)/|$1}}
Gibt es nicht so viele NPCs, so ist der Defaultparameter zu nutzen: none
    |none}}
Bei N=2, heißt der Parameter nur "Alt", ab N=3 heißt der Parameter "Alt(N-1)
  |Alt(N-1)=
Der letzte Teil eines NPC-Links wird herausgefiltert
    v      v
.+|.+ oder .+
  {{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}
  -->{{Karte/Feld<!--
  -->{{Karte/Feld<!--
   -->|1=<!--
   -->|1=<!--
   -->{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}<!--
   -->{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}<!--
   -->|2=<!--
   -->|2=<!--
   -->{{#ifexpr:{{#var:NPCs|0}} > 0|{{#regex:{{#vardefineecho:map_npc|<!--
   -->{{#ifexpr:{{#var:map_NPCs|0}} > 0|{{#regex:{{#vardefineecho:map_npc|<!--
     -->{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/([\x5B\x5D]){2}/|}}<!--
     -->{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
Zeile 23: Zeile 133:
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->|3=<!--
   -->|3=<!--
   -->{{#ifexpr:{{#var:NPCs|0}} > 1|{{#regex:{{#vardefineecho:map_npc|<!--
   -->{{#ifexpr:{{#var:map_NPCs|0}} > 1|{{#regex:{{#vardefineecho:map_npc|<!--
     -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){1}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
     -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){1}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
Zeile 29: Zeile 139:
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->|4=<!--
   -->|4=<!--
   -->{{#ifexpr:{{#var:NPCs|0}} > 2|{{#regex:{{#vardefineecho:map_npc|<!--
   -->{{#ifexpr:{{#var:map_NPCs|0}} > 2|{{#regex:{{#vardefineecho:map_npc|<!--
     -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){2}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
     -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){2}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
Zeile 35: Zeile 145:
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->|5=<!--
   -->|5=<!--
   -->{{#ifexpr:{{#var:NPCs|0}} > 3|{{#regex:{{#vardefineecho:map_npc|<!--
   -->{{#ifexpr:{{#var:map_NPCs|0}} > 3|{{#regex:{{#vardefineecho:map_npc|<!--
     -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){3}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
     -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){3}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
Zeile 41: Zeile 151:
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->|6=<!--
   -->|6=<!--
   -->{{#ifexpr:{{#var:NPCs|0}} > 4|{{#regex:{{#vardefineecho:map_npc|<!--
   -->{{#ifexpr:{{#var:map_NPCs|0}} > 4|{{#regex:{{#vardefineecho:map_npc|<!--
     -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){4}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
     -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){4}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
Zeile 47: Zeile 157:
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
   -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
  -->}}<!--
  -->}}<!--
  -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_teleport}}|<!--
 
  -->{{#switch:{{#var:mapx{{#var:X}}y{{#var:Y}}_teleport}}
  Eventuelle Stab- oder Kugelpunkte (geht davon aus dass maximal einer davon am selben Feld landet)
      |KLEIN = {{Karte/Kugelpunkt|blue}}
 
      |GELB = {{Karte/Kugelpunkt|gold}}
-->{{#switch:{{#var:mapx{{#var:X}}y{{#var:Y}}_teleport}}
      |SAND = {{Karte/Ringpunkt|green}}
    |KLEIN = {{Karte/Kugelpunkt|blue}}
      |HANDEL = {{Karte/Stabpunkt|green}}
    |GELB = {{Karte/Kugelpunkt|gold}}
      |SPIEL = <!-- nichts...?! -->
    |SAND = {{Karte/Ringpunkt|green}}
      |REIKAN = {{Karte/Portalpunkt}}
    |HANDEL = {{Karte/Stabpunkt|green}}
      |SCHWARZ = {{Karte/Kugelpunkt|black}}<!--
    |SPIEL = <!-- nichts...?! -->
  -->}}<!--
    |REIKAN = {{Karte/Portalpunkt}}
    |SCHWARZ = {{Karte/Kugelpunkt|black}}<!--
  -->}}<!--
  -->}}<!--
Passagen (Zufallspassagen sowie normale Passagen)
{{Karte/Passage/Basis|
            ^
Grundvorlage für alle Passagen
  {{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_N}}|random|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_N}}}}|
                        ^                                ^            ^                                ^                                                                                             
              Wohin geht die Passage?            Zufallsoberflächenkartenartikel              Link zum Kartenartikel
  {{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_N}}|random|&nbsp;'''?'''|►}}|
                                                          ^        ^        ^
                          Der Passagen''text'' ist bei Zufall ein ?, sonst ►
  13 * N - 1
      ^
  Vertikale entfernung vom unteren Felderrand
}}
  -->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 1|<!--
  -->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 1|<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}|random|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}|random|&nbsp;'''?'''|►}}|12}}<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}|random|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}|random|&nbsp;'''?'''|►}}|12}}<!--
Zeile 70: Zeile 202:
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|random|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|random|&nbsp;'''?'''|►}}|51}}<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|random|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|random|&nbsp;'''?'''|►}}|51}}<!--
  -->}}<!--
  -->}}<!--
Quest: {{#var:_quest}} enthält bereits das Prefix ''Quest:'' weswegen es per Regex herausgefiltert werden muss
  -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_quest}}|<!--
  -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_quest}}|<!--
   -->{{Karte/Quest|{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_quest}}|/^(Quest:)/|}}}}<!--
   -->{{Karte/Quest|{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_quest}}|/^(Quest:)/|}}}}<!--
  -->}}<!--
  -->}}<!--
Ist Wiedergeburtsort?
  -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_wiedergeburt}}|<!--
  -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_wiedergeburt}}|<!--
   -->{{Karte/Wiedergeburt|{{#var:mapx{{#var:X}}y{{#var:Y}}_wiedergeburt}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_ort}}}}|<!--
   -->{{Karte/Wiedergeburt|{{#var:mapx{{#var:X}}y{{#var:Y}}_wiedergeburt}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_ort}}}}|<!--
Die Wiedergeburtsvorlage inkludiert bereits [[Vorlage:Karte/Ort]], weswegen diese dann nicht mehr eingebunden werden muss
Sonst prüfe ob für dieses Feld ein spezieller Ortsartikel existiert
   -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_ort}}|<!--
   -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_ort}}|<!--
   -->{{Karte/Ort|{{#var:mapx{{#var:X}}y{{#var:Y}}_ort}}}}<!--
   -->{{Karte/Ort|{{#var:mapx{{#var:X}}y{{#var:Y}}_ort}}}}<!--
   -->}}<!--
   -->}}<!--
  -->}}|<!--
  -->}}|<!--
  -->{{#if:{{#var:mapx{{#var:X}}y{{#var:Y}}_unbetretbar|}}|<!--
 
Aktuelles Feld gehört nicht zum Gebiet
 
--><!--
 
Prüfe ob das Feld unbetretbar ist und ein extra Bildchen hat (nur dann ist {{#var:_unbetretbar}} ausgefüllt)
 
  -->{{#if:{{#var:mapx{{#var:X}}y{{#var:Y}}_unbetretbar}}|<!--
 
Das Feld ist unbetretbar und hat ein extra Bildchen: binde [[Vorlage:Karte/Grenzfeld]] mit Bild ein
   -->{{Karte/Grenzfeld|{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}|none}}|<!--
   -->{{Karte/Grenzfeld|{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}|none}}|<!--
   -->{{#if:{{#regex:{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#var:X}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#var:Y}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#var:Y}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}+1}}_gebiet}}{{#var:mapx{{#var:X}}y{{#expr:{{#var:Y}}+1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}+1}}_gebiet}}|%{{#var:name}}%}}<!--
 
Das Feld ist entweder inexistent oder nicht zu diesem Gebiet gehörend
 
   -->{{#if:<!--
 
Prüfe ob ein Feld dieses Gebietes umliegend ist (in den 8 Feldern rundherum)
 
  -->{{#regex:{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#var:X}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#var:Y}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#var:Y}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}+1}}_gebiet}}{{#var:mapx{{#var:X}}y{{#expr:{{#var:Y}}+1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}+1}}_gebiet}}|%{{#var:name}}%}}<!--
 
Oder ob ein unbetretbares Feld umliegend ist (in den 8 Feldern rundherum)
 
   -->{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#var:X}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#var:Y}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#var:Y}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}{{#varexists:mapx{{#var:X}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}|<!--
   -->{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#var:X}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#var:Y}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#var:Y}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}{{#varexists:mapx{{#var:X}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}|<!--
Es ist etwas umliegend: zeige ein Feldbildchen an
   -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_gebiet}}|<!--
   -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_gebiet}}|<!--
     -->{{Karte/Grenzfeld|{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_gebiet}}}}|<!--
     -->{{Karte/Grenzfeld|{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_gebiet}}}}|<!--
Es gibt hier anscheinend kein Feld, also inkludiere in Dungeons [[Vorlage:Karte/Leer]] und in Oberflächengebieten [[Vorlage:Karte/Berg]]
     -->{{Karte/{{#ifeq:{{#var:map_koord}}|+|Berg|Leer}}}}<!--
     -->{{Karte/{{#ifeq:{{#var:map_koord}}|+|Berg|Leer}}}}<!--
   -->}}|<!--
   -->}}|<!--
Wenn nichts umliegend ist, nichts (also ein leeres Feld) anzeigen
   -->{{Karte/Leer}}<!--
   -->{{Karte/Leer}}<!--
   -->}}<!--
   -->}}<!--

Version vom 25. August 2013, 23:15 Uhr


[Bearbeiten] Dokumentation

Diese Vorlage liefert die entsprechende Kartenvorlage (Vorlage:Karte/Feld, Vorlage:Karte/Leer, Vorlage:Karte/Berg oder Vorlage:Karte/Grenzfeld) zurück, ausgefüllt mit den aus dem Felderartikel eingetragenen Daten.

Verwendung

Diese Vorlage wird mit {{Karte/Layout|relative X-Koordinate|relative Y-Koordinate}} eingebunden.

Parameter

  • relative X-Koordinate: Die X-Koordinate des Feldes minus die X-Koordinate des Feldes in der linken oberen Ecke
  • relative Y-Koordinate: Die Y-Koordinate des Feldes minus die Y-Koordinate des Feldes in der linken oberen Ecke