XML Format: Unterschied zwischen den Versionen
Zeile 128: | Zeile 128: | ||
<unit id="unit_mag3" faction="faction_Lotr"/> | <unit id="unit_mag3" faction="faction_Lotr"/> | ||
<name ...> | <name ...> | ||
<descr .. | <descr xml:lang="de">Er schützt die Region.</descr> | ||
<race . | <descr xml:lang="en">He protects the region.</descr> | ||
<descr type="private">Botschafter (1234) ist ein parteigetarnter Spion der xxx</descr> | |||
<persons race="race.daemons">1</persons> | |||
<status type="guard"/> | <status type="guard"/> | ||
<status type="fight">front</status> | <status type="fight">front</status> | ||
Zeile 139: | Zeile 141: | ||
<skilllevel>14</skilllevel> | <skilllevel>14</skilllevel> | ||
</camouflage> | </camouflage> | ||
<magic area="Gwyrrd"> | |||
<spell type="spelltype.xxx"/> | |||
<spell type="spelltype.xxy"/> | |||
</magic> | |||
<item type="itemtype.laen">14</item> | <item type="itemtype.laen">14</item> | ||
<item type="itemtype.wood">44</item> | <item type="itemtype.wood">44</item> | ||
Zeile 147: | Zeile 153: | ||
<message ...> | <message ...> | ||
</unit> | </unit> | ||
|Bei camouflage bin ich mir unsicher. Wichtig ist, Man kann sich sinnigerweise nur als eine Rasse, eine Partei oder mit einer bestimmten Stufe tarnen. | | | ||
* Bei camouflage bin ich mir unsicher. Wichtig ist, Man kann sich sinnigerweise nur als eine Rasse, eine Partei oder mit einer bestimmten Stufe tarnen. | |||
* Ebenso unklar ist, wie man den ganzen Magiebereich flexibel abbildet. Magier haben bei Eressea ein Magiegebiet, bei anderen Spielen ggf. mehrere. Sprüche gehören zu einem Magiegebiet. Vertraute bei Eressea haben eventuell Sprüche, ohne diese aber einem Magiegebiet zuzuordnen. Bei Eressea gibt es Aura und Maximale Aura (prinzipiell ~ permanente Aura). Das kann man als Gegenstände auffassen, diese lassen sich aber in ihrer Menge nicht wie üblich übergeben. Trefferpunkte sind auch in diesem Bereich anzusiedeln. Sie werden aber nur durch einen Gesundheitsstatus grob ausgedrückt. Also modellieren wir das alles einzeln oder lassen wir uns was allgemeines einfallen? | |||
|- | |- | ||
|colspan="2"| | |colspan="2"| |
Version vom 21. April 2008, 14:21 Uhr
Anstatt sofort einen DTD zu definieren (die Dinger kann eh kaum jemand lesen) arbeiten wir hier ein Beispiel-Dokument aus, und diskutieren darüber.
Beispiel Report
Header und Serverinfos | |
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-report.dtd"> <?xml version="1.0" encoding="UTF-8"?> <atlantis rules="eressea"> <server> <uri>mailto:eressea-server@eressea.kn-bremen.de</uri> <subject>ERESSEA BEFEHLE</subject> </server> |
|
Allianzen | |
<alliance/> |
|
Parteien | |
<faction id="faction_Lotr"> <name>xxxxx</name> <descr>dsfsf sdf sdf</descr> <race>aquarians</race> <magic>Gwyrrd</magic> <age>60</age> 12345 |
|
Messages | |
<message id="message_123456" type="messagetype_23423546"> <rendered> Irgendwer (1234) segelt von Irgendwo (1,2) nach Nirgendwo (99,99). Dabei wurden Ozean (1,3), Ozean (1,4) ... und Ozean (98,99) durchquert. </rendered> <attribute name="unit"><unitref ref="unit_1234"/></attribute> <attribute name="from"><regionref ref="region_653456"/></attribute> <attribute name="to"><regionref ref="region_653567"/></attribute> <attribute name="through"> <regionref ref="region_953456"/> <regionref ref="region_68656"/> ... <regionref ref="region_114562"/> </attribute> |
|
Regionen | |
<region id="region_126788> <coordinate x="14" y="27"/> <name>xxxxx</name> <descr>dsfsf sdf sdf</descr> <terrain>plain</terrain> |
Regionen, hier versehen mit einer Koordinate. Wie wir verschiedene Ebenen Kennzeichen müssen wir noch diskutieren. |
Regionsresourcen | |
<resources> <resource type="resourcetype.mallorntrees">50</resource> <resource type="resourcetype.mallornsaplings">10</resource> <resource type="resourcetype.laen"> <level depth="33">10</level> <level depth="34">12</level> </resource> <resource type="resourcetype.silver">10000</resource> <resource type="resourcetype.peasant">1000</resource> <resource type="resourcetype.elvendear" quantity="many"/> <resource type="resourcetype.elvendear">many</resource> </resource> </resources> |
|
Handel | |
<trade amount="10"> <buy type="balm">5</buyitem> <sell type="spice">35</sellitem> <offer> <get><item>balm</item><amount>1</amount></get> <give><item>silver</item><amount>5</amount></give> </offer> </trade> |
|
Einheiten | |
<unit id="unit_mag3" faction="faction_Lotr"/> <name ...> <descr xml:lang="de">Er schützt die Region.</descr> <descr xml:lang="en">He protects the region.</descr> <descr type="private">Botschafter (1234) ist ein parteigetarnter Spion der xxx</descr> <persons race="race.daemons">1</persons> <status type="guard"/> <status type="fight">front</status> <status type="health">wounded</status> <status type="hungry"/> <camouflage> <factionref ref="faction_3243/> <race ref="race.aquarians"/> <skilllevel>14</skilllevel> </camouflage> <magic area="Gwyrrd"> <spell type="spelltype.xxx"/> <spell type="spelltype.xxy"/> </magic> <item type="itemtype.laen">14</item> <item type="itemtype.wood">44</item> <skill type="skilltype.camouflage"><level>17</level></skill> <skill type="skilltype.camouflage"><level>17</level><days>4567</days></skill> <effect><keytext key="ew34" xml:lang="de">Die Einheit fühlt sich sehr stark.</keytext></effect> <effect><item type="itemtype.sevenmilestea">7</item></effect> <message ...> </unit> |
|
Gebäude | |
<building id="building_h0us" type="academy"> <name>xxxxx</name> <descr>dsfsf sdf sdf</descr> <size>25</size> |
Name und Beschreibung sind klar #PCDATA. Typ und Grösse sind zumindest bei Eressea etwas das jedes Gebäude als Eigenschaft hat. Den Typ würde ich lieber als Attribut auslegen, da man dann ggf. auf einen Gebäudetyp referenzieren kann. In dem Fall muss es aber wieder global eindeutig sein. Also doch wieder sowas wie type="buildingtype.academy". Leider kann man ja nicht klar stellen, dass type auf einen buildingtype referenziert. Die Grösse hingegen würde ich als Element angeben - warum - keine Ahnung. |
Schiffe | |
<ship id="ship_ttnc"/> |
|
</region> |
|
Messagetypen | |
<messagetype id="msgtype_5673456873"> <section>travel</section> <pattern locale="de"> <attribute name="unit"/> segelt von <attribute name="from"/> nach <attribute name="to"/>. Dabei wurden <function type="regions"><attribute name="through"></function> durchquert. </pattern> </messagetype> |
So richtig gefällt mir das hier noch nicht.
Man sollte anhand der Pattern bereits den Typ des jeweiligen Attributs erkennen. Vermutlich müsste jede $xyz() die es derzeit gibt, als extra Elementtyp in der (Eressea)-DTD definiert werden. |
</atlantis> |
Regelset
Und noch ein Dokument fuer eine Spiel-Definition
<!DOCTYPE atlantis PUBLIC "-//PBEM//DTD Atlantis 1.0//EN" "http://eressea.de/atlantis-ruleset.dtd"> <?xml version="1.0" encoding="UTF-8"?> <atlantis> <item/> <race/> <plane/> <terrain/> <skill/> <building/> <ship/> <command/> </atlantis>