Vorlage:Karte/Layout: Unterschied zwischen den Versionen

aus FreewarWiki, der Referenz für Freewar
Zur Navigation springen Zur Suche springen
(zu früh abgespeichert)
(+ APPARAT)
 
(12 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:


  Variablen, die hier genutzt, aber nicht hier definiert werden (falls nicht anders angegeben, werden die Variablen in [[Vorlage:Karte]] definiert):
  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 (LocateRegion/Data)
   - {{#var:name}}: (interner) Name des darzustellenden Gebietes
  - {{#var:map_bergfelder}}: + (plus) wenn Bergfelder angezeigt werden sollen, wenn nicht - (minus)
   - {{#var:locateRegion_needFieldData}}: 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):
  Variablen des Typs {{#var:mapxAyB_.+}} 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)
  (falls nicht anders angegeben, werden die Variablen in [[Vorlage:Feldzusammenfassung/Layout]] definiert)
   - {{#var:_gebiet}}: Gebietsname des Feldes
   - {{#var:_gebiet}}: Gebietsname des Feldes
Zeile 33: Zeile 34:
  Bestimme absolute Koordinaten anhand der übergebenen relativen Koordinaten
  Bestimme absolute Koordinaten anhand der übergebenen relativen Koordinaten


-->{{#vardefine:X|{{#expr:{{#var:{{#var:name}}TopLeftX}} + {{{1}}} {{#ifeq:{{#var:map_koord}}|-|+ 1}}}}}}<!--
-->{{#vardefine:X|{{#expr:{{#var:{{#var:name}}TopLeftX}} + {{{1}}} {{#if:{{#ifeq:{{#var:map_bergfelder}}|-|1|{{#ifeq:{{#var:left_extrarow}}|0|1}}}}|+ 1}}}}}}<!--
-->{{#vardefine:Y|{{#expr:{{#var:{{#var:name}}TopLeftY}} + {{{2}}} {{#ifeq:{{#var:map_koord}}|-|+ 1}}}}}}<!--
-->{{#vardefine:Y|{{#expr:{{#var:{{#var:name}}TopLeftY}} + {{{2}}} {{#if:{{#ifeq:{{#var:map_bergfelder}}|-|1|{{#ifeq:{{#var:top_extrarow}}|0|1}}}}|+ 1}}}}}}<!--


  Prüfe ob aktuelles Feld zum Gebiet gehört
  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:locateRegion_needFieldData}}|<!--


  Aktuelles Feld gehört zum Gebiet
  Aktuelles Feld gehört zum Gebiet
Zeile 84: Zeile 85:
  Dieses Regex wird bei bei N=2 genutzt; es extrahiert den ersten NPC-Link (Form: [[.+]])
  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}/}}|
       {{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]+*\K[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|




Zeile 92: Zeile 93:


       {{#regex:
       {{#regex:
         {{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){1}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|
         {{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){1}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|
         /[\x5B]{2}([^\x5D]+)[\x5D]{2}$/
         /[\x5B]{2}([^\x5D]+)[\x5D]{2}$/
       }}|
       }}|
Zeile 127: Zeile 128:
   -->|2=<!--
   -->|2=<!--
   -->{{#ifexpr:{{#var:map_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]*\K[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->|Alt=<!--
   -->|Alt=<!--
Zeile 133: Zeile 134:
   -->|3=<!--
   -->|3=<!--
   -->{{#ifexpr:{{#var:map_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]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){1}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->|Alt2=<!--
   -->|Alt2=<!--
Zeile 139: Zeile 140:
   -->|4=<!--
   -->|4=<!--
   -->{{#ifexpr:{{#var:map_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]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){2}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->|Alt3=<!--
   -->|Alt3=<!--
Zeile 145: Zeile 146:
   -->|5=<!--
   -->|5=<!--
   -->{{#ifexpr:{{#var:map_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]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){3}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->|Alt4=<!--
   -->|Alt4=<!--
Zeile 151: Zeile 152:
   -->|6=<!--
   -->|6=<!--
   -->{{#ifexpr:{{#var:map_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]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){4}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
   -->|Alt5=<!--
   -->|Alt5=<!--
Zeile 166: Zeile 167:
     |SPIEL = <!-- nichts...?! -->
     |SPIEL = <!-- nichts...?! -->
     |REIKAN = {{Karte/Portalpunkt}}
     |REIKAN = {{Karte/Portalpunkt}}
    |APPARAT = {{Karte/Apparatpunkt}}
    |SCHIFF= {{Karte/Schiffpunkt}}
     |SCHWARZ = {{Karte/Kugelpunkt|black}}<!--
     |SCHWARZ = {{Karte/Kugelpunkt|black}}<!--
  -->}}<!--
  -->}}<!--
Zeile 183: Zeile 186:
                           Der Passagen''text'' ist bei Zufall ein ?, sonst ►
                           Der Passagen''text'' ist bei Zufall ein ?, sonst ►


   13 * N - 1
   12 * (N - 1)
       ^
       ^
   Vertikale entfernung vom unteren Felderrand
   Vertikale entfernung vom unteren Felderrand
Zeile 193: Zeile 196:
  -->}}<!--
  -->}}<!--
  -->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 2|<!--
  -->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 2|<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}|zufall|&nbsp;'''?'''|►}}|25}}<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}|zufall|&nbsp;'''?'''|►}}|24}}<!--
  -->}}<!--
  -->}}<!--
  -->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 3|<!--
  -->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 3|<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}|zufall|&nbsp;'''?'''|►}}|38}}<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}|zufall|&nbsp;'''?'''|►}}|36}}<!--
  -->}}<!--
  -->}}<!--
  -->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 4|<!--
  -->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 4|<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|zufall|&nbsp;'''?'''|►}}|51}}<!--
   -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|zufall|&nbsp;'''?'''|►}}|48}}<!--
  -->}}<!--
  -->}}<!--


Zeile 205: Zeile 208:


  -->{{#if:{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_quest}}|<!--
  -->{{#if:{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_quest}}|<!--
   -->{{Karte/Questpassage/Basis|{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_quest}}|/^(Quest:)/|}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_gebiet}}|{{#expr:12 + 13 * {{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_quest_count|0}}}}}}<!--
   -->{{Karte/Questpassage/Basis|{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_quest}}|/^(Quest:)/|}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_gebiet}}|{{#expr:12 + 12 * {{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}}}}}}<!--
  -->}}<!--
  -->}}<!--


Zeile 211: Zeile 214:


  -->{{#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/Basis|{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_quest}}|/^(Quest:)/|}}|{{#expr:12 {{#if:{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_quest}}|* 2}} + 12 * {{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}}}}}}<!--
  -->}}<!--
  -->}}<!--


Zeile 237: Zeile 240:
  Das Feld ist unbetretbar und hat ein extra Bildchen: binde [[Vorlage:Karte/Grenzfeld]] mit Bild ein
  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}}<!--
 
-->|<!--


  Das Feld ist entweder inexistent oder nicht zu diesem Gebiet gehörend
  Das Feld ist entweder inexistent oder nicht zu diesem Gebiet gehörend
Zeile 245: Zeile 250:
  Prüfe ob ein Feld dieses Gebietes umliegend ist (in den 8 Feldern rundherum)
  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}}%}}<!--
   -->{{#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}}|%{{#regexquote:{{#var:name}}|%}}%}}<!--


  Oder ob ein unbetretbares Feld umliegend ist (in den 8 Feldern rundherum)
  Oder ob ein unbetretbares Feld umliegend ist (in den 8 Feldern rundherum)
Zeile 258: Zeile 263:
  Es gibt hier anscheinend kein Feld, also inkludiere in Dungeons [[Vorlage:Karte/Leer]] und in Oberflächengebieten [[Vorlage:Karte/Berg]]
  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_bergfelder}}|+|Berg|Leer}}}}<!--
   -->}}|<!--
   -->}}|<!--


  Wenn nichts umliegend ist, nichts (also ein leeres Feld) anzeigen
  Wenn nichts umliegend ist, nichts (also ein leeres Feld) anzeigen


   -->{{Karte/{{#if:1|Leer}}}}<!--
   -->{{Karte/Leer}}<!--
   -->}}<!--
   -->}}<!--
  -->}}<!--
  -->}}<!--
-->}}<!--
-->}}<!--
--><noinclude>{{Dokumentation}}[[Kategorie:Kartenvorlagen|L]]</noinclude>
--><noinclude>{{Dokumentation}}[[Kategorie:Kartenvorlagen|L]]</noinclude>

Aktuelle Version vom 11. April 2022, 11:31 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[Bearbeiten]

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

Parameter[Bearbeiten]

  • 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