server/res/eressea.dtd
Enno Rehling c05a65b881 expat parses (most of) races.
fix canteach flag in XML.
2018-05-09 22:16:30 +02:00

190 lines
9.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- DTD generated by XMLSpy v2018 rel. 2 (x64) (http://www.altova.com) -->
<!ELEMENT ai EMPTY>
<!ATTLIST ai
splitsize (1 | 1000 | 10000 | 2 | 2000 | 20000 | 50 | 500 | 5000 | 6 | 9999 | 99999) #REQUIRED
moverandom CDATA #FIXED "yes"
learn CDATA #FIXED "yes"
killpeasants CDATA #FIXED "yes"
moveattack CDATA #FIXED "yes"
>
<!ELEMENT set ((item+, ((skill+, item*) | callback | subset+)?) | (skill+, ((item+, subset?) | callback | subset | spell+)?) | callback)?>
<!ATTLIST set
name (fam_direwolf | fam_dreamcat | fam_eagle | fam_fairy | fam_ghost | fam_hellcat | fam_imp | fam_lynx | fam_nymph | fam_owl | fam_rat | fam_songdragon | fam_tiger | fam_tunnelworm | fam_unicorn | i_bow | i_chain | i_plate | i_rustyshield | i_spear | i_sword | new_dracoid | new_orc | rand_bow | rand_crossbow | rand_desert | rand_forest | rand_glacier | rand_herbalist | rand_highland | rand_mountain | rand_plain | rand_rider | rand_spear | rand_swamp | rand_sword | rand_villagers | rising_undead | seed_aquarian | seed_braineater | seed_cat | seed_demon | seed_dragon | seed_dwarf | seed_elf | seed_goblin | seed_halfling | seed_human | seed_insect | seed_orc | seed_seaserpent | seed_troll | spo_dragon | spo_seaserpent | spo_wyrm | spo_youngdragon) #REQUIRED
chance (0.25 | 0.33 | 0.34) #IMPLIED
>
<!ELEMENT item (weapon?)>
<!ATTLIST item
name (axe | balm | bow | cart | chainmail | crossbow | dragonblood | dragonhead | fairyboot | horse | incense | jewel | money | myrrh | nestwarmth | oil | plate | roi | rustychainmail | rustyshield | rustysword | seaserpenthead | silk | spear | spice | stone | sword | wagon) #IMPLIED
amount CDATA #IMPLIED
notlost CDATA #FIXED "yes"
weight (0 | 1 | 100) #IMPLIED
use CDATA #FIXED "yes"
cursed (true | yes) #IMPLIED
score CDATA #FIXED "0"
>
<!ELEMENT race ((ai, ((skill+, attack+, familiar*) | (param, skill+, attack, familiar+) | attack+)) | attack+)>
<!ATTLIST race
name (aquarian | braineater | cat | catdragon | clone | demon | direwolf | dolphin | dracoid | dragon | dreamcat | dwarf | eagle | elf | ent | fairy | ghast | ghost | ghoul | giantturtle | gnome | goblin | halfling | hellcat | human | imp | insect | irongolem | juju | kraken | lynx | mountainguard | museumghost | nymph | orc | owl | peasant | rat | seaserpent | shadowdemon | shadowdragon | shadowknight | shadowmaster | skeleton | skeletonlord | smurf | snotling | snowman | songdragon | special | spell | stonegolem | template | tiger | toad | troll | tunnelworm | undead | unicorn | wolf | wyrm | youngdragon | zombie) #REQUIRED
magres (-0.050000 | -5 | 10 | 100 | 15 | 20 | 25 | 30 | 5 | 50 | 60 | 70 | 75 | 80 | 90 | 95 | 99) #IMPLIED
maxaura (0.000000 | 0.500000 | 1.000000 | 1.500000) #IMPLIED
regaura (0.000000 | 0.100000 | 0.500000 | 1.000000 | 1.250000 | 1.500000 | 2.000000 | 3.000000) #IMPLIED
weight (0 | 100 | 1000 | 10000 | 1600 | 18000 | 200 | 2000 | 20000 | 30000 | 500 | 5000 | 600) #REQUIRED
capacity (0 | 1000 | 10000 | 100000 | 1000000 | 1080 | 200 | 2000 | 2500 | 440 | 5000 | 540 | 600) #REQUIRED
equipment (no | yes) #IMPLIED
speed (0.000000 | 1.000000 | 1.500000 | 10.000000 | 2.000000) #REQUIRED
hp (1 | 10 | 1000 | 15 | 150 | 16 | 18 | 20 | 24 | 25 | 2700 | 30 | 300 | 40 | 50 | 6 | 60 | 600 | 80 | 9 | 900) #REQUIRED
ac (1 | 10 | 12 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #IMPLIED
damage CDATA #REQUIRED
unarmedattack (-2 | 0 | 1 | 10 | 2 | 3 | 6) #REQUIRED
unarmeddefense (-2 | 0 | 1 | 10 | 2 | 3 | 6) #REQUIRED
attackmodifier (1 | 10 | 11 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9) #IMPLIED
defensemodifier (1 | 10 | 11 | 12 | 13 | 14 | 2 | 3 | 4 | 5 | 50 | 6 | 7 | 8) #IMPLIED
fly (no | yes) #IMPLIED
walk (no | yes) #IMPLIED
canteach CDATA #FIXED "no"
getitem CDATA #FIXED "yes"
recruitcost (110 | 130 | 150 | 40 | 70 | 75 | 80 | 90) #IMPLIED
maintenance (0 | 10) #IMPLIED
playerrace (no | yes) #IMPLIED
giveperson CDATA #FIXED "yes"
giveunit CDATA #FIXED "yes"
coastal CDATA #FIXED "yes"
swim CDATA #FIXED "yes"
teach CDATA #FIXED "no"
resistpierce CDATA #FIXED "yes"
invinciblenonmagic CDATA #FIXED "yes"
scarepeasants CDATA #FIXED "yes"
unarmedguard CDATA #FIXED "yes"
cannotmove CDATA #FIXED "yes"
canlearn CDATA #FIXED "no"
noweapons CDATA #FIXED "yes"
cansail CDATA #FIXED "no"
cansteal CDATA #FIXED "no"
desert CDATA #FIXED "yes"
recruitethereal CDATA #FIXED "yes"
stonegolem CDATA #FIXED "true"
irongolem CDATA #FIXED "true"
noheal CDATA #FIXED "yes"
illusionary CDATA #FIXED "yes"
invisible CDATA #FIXED "yes"
shapeshift CDATA #FIXED "yes"
dragon CDATA #FIXED "yes"
resistbash CDATA #FIXED "yes"
undead CDATA #FIXED "yes"
shipspeed CDATA #FIXED "yes"
shapeshiftany CDATA #FIXED "yes"
recruitunlimited CDATA #FIXED "yes"
absorbpeasants CDATA #FIXED "yes"
resistcut CDATA #FIXED "yes"
noblock CDATA #FIXED "yes"
studyspeed CDATA #FIXED "-5"
>
<!ELEMENT text (#PCDATA)>
<!ATTLIST text
locale (de | en | fr) #REQUIRED
>
<!ELEMENT param EMPTY>
<!ATTLIST param
name (hunger.damage | migrants.formula | recruit_multi) #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT races (race+)>
<!ELEMENT skill EMPTY>
<!ATTLIST skill
name (alchemy | armorer | bow | building | cartmaking | catapult | crossbow | entertainment | espionage | forestry | herbalism | magic | melee | mining | perception | polearm | quarrying | riding | roadwork | sailing | shipcraft | stamina | stealth | tactics | taxation | trade | training | unarmed | weaponsmithing) #REQUIRED
level CDATA #IMPLIED
modifier (-1 | -10 | -2 | -3 | -99 | 1 | 10 | 12 | 14 | 2 | 20 | 3 | 4 | 5 | 8) #IMPLIED
>
<!ELEMENT spell (#PCDATA | resource)*>
<!ATTLIST spell
name CDATA #REQUIRED
level (1 | 12 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #IMPLIED
ship CDATA #FIXED "true"
rank (1 | 2 | 3 | 4 | 5 | 7) #IMPLIED
variable CDATA #FIXED "true"
combat (1 | 2 | 3) #IMPLIED
parameters CDATA #IMPLIED
los CDATA #FIXED "true"
far CDATA #FIXED "true"
ocean CDATA #FIXED "true"
syntax (aura | buildingtype | direction | race | spellid) #IMPLIED
regiontarget (false | true) #IMPLIED
unittarget CDATA #FIXED "false"
buildingtarget CDATA #FIXED "true"
shiptarget CDATA #FIXED "true"
globaltarget CDATA #FIXED "true"
>
<!ELEMENT attack EMPTY>
<!ATTLIST attack
type (1 | 2 | 3 | 4 | 5 | 6 | 8) #REQUIRED
damage CDATA #IMPLIED
spell (aura_of_fear | drain_skills | fiery_dragonbreath | icy_dragonbreath | powerful_dragonbreath) #IMPLIED
level (12 | 3 | 6) #IMPLIED
>
<!ELEMENT damage EMPTY>
<!ATTLIST damage
type (footman | rider) #REQUIRED
value CDATA #FIXED "3d8+8"
>
<!ELEMENT spells (spell+)>
<!ELEMENT string (text+)>
<!ATTLIST string
name (adamantium | adamantium_p | adamantiumaxe | adamantiumaxe_p | adamantiumplate | adamantiumplate_p | almond | analysedream | aoc | aoc_p | apple | artacademy | aurapotion50 | aurapotion50_p | bagpipeoffear | bagpipeoffear_p | balloon | birthdaycake | birthdaycake_p | cookie | eyeofdragon | headache | jadee_dress | jadee_dress_p | jadee_ring | jadee_ring_p | lifepotion | newbie_info_cr | nut | pavilion | portal | ring | ring_of_levitation | ring_of_levitation_p | ring_p | rm_adamantium | seaserpenthead | seaserpenthead_p | seashell | seashell_p | snowball | snowman | snowman_p | stardust | temple | wente_dress | wente_dress_p | wente_ring | wente_ring_p | xmastree) #REQUIRED
>
<!ELEMENT subset (set+)>
<!ATTLIST subset
chance (0.2 | 0.3 | 0.4 | 0.6) #IMPLIED
>
<!ELEMENT weapon (damage+, modifier+)>
<!ATTLIST weapon
bash CDATA #FIXED "true"
missile CDATA #FIXED "true"
skill CDATA #FIXED "unarmed"
offmod CDATA #FIXED "0"
defmod CDATA #FIXED "0"
reload CDATA #FIXED "0"
magres CDATA #FIXED "0.0"
>
<!ELEMENT eressea (equipment+, buildings, resources, races, strings, spells)>
<!ELEMENT strings (namespace+, string+)>
<!ELEMENT building EMPTY>
<!ATTLIST building
name (artacademy | pavilion | portal | temple) #REQUIRED
maxsize (100 | 2 | 50) #REQUIRED
maxcapacity CDATA #FIXED "2"
nobuild CDATA #FIXED "yes"
nodestroy CDATA #FIXED "yes"
unique CDATA #FIXED "yes"
auraregen CDATA #FIXED "1.00"
>
<!ELEMENT callback EMPTY>
<!ATTLIST callback
name CDATA #FIXED "equip_newunits"
>
<!ELEMENT familiar EMPTY>
<!ATTLIST familiar
race (demon | dolphin | dreamcat | eagle | fairy | ghost | giantturtle | goblin | hellcat | imp | kraken | lynx | nymph | owl | rat | songdragon | tiger | tunnelworm | unicorn | wolf) #REQUIRED
default CDATA #FIXED "yes"
>
<!ELEMENT modifier EMPTY>
<!ATTLIST modifier
type (missile_target | skill) #REQUIRED
value (-90 | 100 | 2) #REQUIRED
races CDATA #FIXED "snowman"
>
<!ELEMENT resource (item?)>
<!ATTLIST resource
name (almond | aoc | aog | apple | aura | birthdaycake | cookie | dragonblood | dragonhead | eyeofdragon | h12 | h20 | h7 | hp | iron | jadee_dress | jadee_ring | laen | laensword | lebkuchenherz | lifepotion | lmsreward | log | mallorn | money | museumexitticket | museumticket | nut | oil | p10 | peasant | permaura | questkey1 | questkey2 | ring_of_levitation | seaserpenthead | seashell | snowball | snowglobe | snowman | stardust | stone | sword | toadslime | wente_dress | wente_ring | xmastree) #REQUIRED
appearance (amulet | key | ring | vial) #IMPLIED
amount (1 | 10 | 100 | 1000 | 12 | 140 | 15 | 150 | 16 | 18 | 2 | 20 | 200 | 24 | 25 | 250 | 28 | 3 | 30 | 3000 | 30000 | 35 | 350 | 4 | 40 | 4000 | 5 | 50 | 5000 | 6 | 600 | 7 | 8 | 80 | 800 | 90) #IMPLIED
cost (fixed | level) #IMPLIED
>
<!ELEMENT buildings (building+)>
<!ELEMENT equipment (set+)>
<!ELEMENT namespace (string+)>
<!ATTLIST namespace
name (describe | iteminfo | race | shipinfo | spell | spellinfo) #REQUIRED
>
<!ELEMENT resources (resource+)>