<?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+)>