khanat-code-old/code/ryzom/common/data_common/database.xml
2014-02-06 20:16:18 +01:00

1665 lines
51 KiB
XML

<database_description>
<!-- Define bank superclass -->
<bank_superclass>
<bank name="PLR"
class="CCDBSynchronised" />
<bank name="GUILD"
class="CCDBGroup"
dbAccessor=".Database">
<include file="game_share/far_position.h" />
<verbatime>inline void _setProp(CCDBSynchronised &amp;db,
ICDBStructNode *node, TCharConnectionState value, bool
forceSending = false) { db.x_setProp(node, uint64(value),
forceSending); } inline void _getProp(const CCDBSynchronised
&amp;db, ICDBStructNode *node, TCharConnectionState
&amp;value) { value =
(TCharConnectionState)db.x_getProp(node); }</verbatime>
</bank>
<bank name="OUTPOST"
class="CCDBGroup"
dbAccessor=".Database" />
</bank_superclass>
<!-- Bank must be set for all and only first-level branches -->
<!-- For the client to work, this branch MUST remain at the top -->
<branch name="Entities"
bank="PLR"
clientonly="1">
<branch name="E"
count="256">
<leaf name="P"
count="28"
type="I64" />
</branch>
</branch>
<branch name="GameTime"
bank="PLR">
<leaf name="Hours"
type="I16" />
</branch>
<branch name="INTERFACES"
bank="PLR">
<leaf name="FLAGS"
type="I64" />
<leaf name="NB_BONUS_LANDMARKS"
type="I16" />
</branch>
<branch name="USER"
bank="PLR"
atom="1">
<leaf name="HAIR_TYPE"
type="I8" />
<leaf name="HAIR_COLOR"
type="I3" />
<leaf name="DEATH_XP_MALUS"
type="I8" />
<leaf name="IN_DUEL"
type="I1" />
<leaf name="IN_PVP_CHALLENGE"
type="I1" />
<leaf name="MOUNT_WALK_SPEED"
type="I16" />
<leaf name="MOUNT_RUN_SPEED"
type="I16" />
<leaf name="TEAM_MEMBER"
type="I1" />
<leaf name="TEAM_LEADER"
type="I1" />
<leaf name="OUTPOST_ADMIN"
type="I1" />
<leaf name="BERSERK"
type="I1" />
<leaf name="ACT_TSTART"
type="I32" />
<leaf name="ACT_TEND"
type="I32" />
<leaf name="ACT_TYPE"
type="I4" />
<leaf name="ACT_NUMBER"
type="I8" />
<leaf name="ACT_REFUSED_NUM"
type="I8" />
<leaf name="ACT_CANCELED_NUM"
type="I8" />
<leaf name="SPEED_FACTOR"
type="I8" />
<leaf name="SKILL_POINTS"
type="I32" />
<branch name="SKILL_POINTS_"
count="4">
<leaf name="VALUE"
type="I32" />
</branch>
<branch name="FACTION_POINTS_"
count="6">
<!-- game_share/pvp_clan.h (0 is BeginClans and size is EndClans-BeginClans+1 -->
<leaf name="VALUE"
type="I32" />
</branch>
<leaf name="IS_NEWBIE"
type="I1" />
<leaf name="IS_TRIAL"
type="I1" />
<branch name="RRPS_LEVELS"
count="6">
<leaf name="VALUE"
type="I32" />
</branch>
<branch name="NPC_CONTROL"
bank="PLR">
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="RUN"
type="I32" />
<leaf name="WALK"
type="I32" />
</branch>
<leaf name="DEFAULT_WEIGHT_HANDS"
type="I32" />
<leaf name="IS_INVISIBLE"
type="I1" />
<!-- Syncrhonisation COUNTER. must be at END of an atomic branch -->
<leaf name="COUNTER"
type="I4" />
</branch>
<branch name="DEFENSE"
bank="PLR">
<leaf name="DEFENSE_MODE"
type="I1" />
<!-- 0 = dodge, 1 = parry-->
<leaf name="PROTECTED_SLOT"
type="I3" />
<!-- 0=All, 1=head, 2=chest, 3=arms, 4=hands, 5=legs, 6=feet-->
<branch name="SLOTS">
<branch name=""
count="6">
<!-- 0=head, 1=chest, 2=arms, 3=hands, 4=legs, 5=feet-->
<leaf name="MODIFIER"
type="S8" />
<!-- modifier on defense (dodge or parry) on given slot (+-127)-->
</branch>
</branch>
</branch>
<branch name="FLAGS"
bank="PLR"
atom="1">
<branch name="BRICK_TICK_RANGE">
<!-- tick range for each power -->
<branch name=""
count="64">
<leaf name="TICK_RANGE"
type="I64" />
<!-- 32b for start tick and 32b for end tick -->
</branch>
</branch>
<leaf name="CRITICAL"
type="I8" />
<!-- counter to display flying texts : critical hit -->
<leaf name="PARRY"
type="I8" />
<!-- counter to display flying texts : parry -->
<leaf name="DODGE"
type="I8" />
<!-- counter to display flying texts : dodge -->
</branch>
<branch name="TARGET"
bank="PLR">
<!-- Don't put the whole TARGET branch atomic, because it will takes 34 extra bits each time a bar value change -->
<branch name="BARS"
atom="1">
<!-- Entity Unique Identifier. Put in the atomic branch for consistency -->
<!-- NB a UID invalid doesn't mean no target. It may be a Forage source -->
<leaf name="UID"
type="I20" />
<leaf name="HP"
type="S8" />
<leaf name="SAP"
type="I7" />
<leaf name="STA"
type="I7" />
<leaf name="FOCUS"
type="I7" />
<leaf name="PLAYER_LEVEL"
type="I8" />
<!-- for target players only (PVP) -->
</branch>
<!-- ContextMenu (Bot options etc...) -->
<branch name="CONTEXT_MENU"
atom="1">
<leaf name="PROGRAMMES"
type="I32" />
<!-- options for missions in the context menu -->
<branch name="MISSIONS_OPTIONS">
<branch name=""
count="8">
<leaf name="TITLE"
type="I32" />
<!-- a text ID of 0 means there's no action. Text ID are reseted when a new character is targeted -->
<leaf name="PLAYER_GIFT_NEEDED"
type="I1" />
<!-- want a player gift ? -->
<leaf name="PRIORITY"
type="I2" />
<!-- priority of the option : the higher it is, the higher the option will be displayed in the menu -->
</branch>
</branch>
<!-- A NPC may offer to view a webpage -->
<leaf name="WEB_PAGE_TITLE"
type="I32" />
<!-- a text ID of 0 means there's no WebPage -->
<leaf name="WEB_PAGE_URL"
type="I32" />
<!-- the URL text ID of the web page -->
<leaf name="OUTPOST"
type="I32"
cppType="NLMISC::CSheetId" />
<!-- outpost this bot give access to (sheet id inside) -->
<!-- Mission rings -->
<branch name="MISSION_RING">
<branch name=""
count="4">
<leaf name="TITLE"
type="I32" />
<!-- a text ID of 0 means there's no action. Text ID are reseted when a new character is targeted -->
<leaf name="ID"
type="I32" />
<!-- the id of the action if selected -->
</branch>
</branch>
<!-- Syncrhonisation COUNTER. must be at END of an atomic branch -->
<leaf name="COUNTER"
type="I4" />
</branch>
<leaf name="CONTEXT_VAL"
type="I16" />
<leaf name="AGGRESSIVE"
type="I3" />
<leaf name="FORCE_RATIO"
type="I4" />
<!-- TODO: remove this, use ForceRegion/ForceLevel in client creature sheets instead -->
</branch>
<branch name="GROUP"
bank="PLR">
<branch name=""
count="8"
atom="1">
<!-- Atomic, for correct Bar Management on client -->
<leaf name="PRESENT"
type="I1" />
<leaf name="UID"
type="I20" />
<!-- Entity Unique Identifier -->
<leaf name="NAME"
type="I32" />
<leaf name="HP"
type="S8" />
<leaf name="SAP"
type="I7" />
<leaf name="STA"
type="I7" />
<leaf name="POS"
type="I64" />
</branch>
<leaf name="LEADER_INDEX"
type="I4" />
<leaf name="SUCCESSOR_INDEX"
type="I4" />
<branch name="MISSIONS"
bank="PLR">
<branch name=""
count="15">
<!-- see game_share/mission_desc.h TMissionType -->
<leaf name="TYPE"
type="I2" />
<leaf name="ICON"
type="I32"
cppType="NLMISC::CSheetId" />
<!-- sheet id of a .mission_icon sheet -->
<leaf name="TITLE"
type="I32" />
<leaf name="DETAIL_TEXT"
type="I32" />
<!-- begin date in tick -->
<leaf name="BEGIN_DATE"
type="I32" />
<!-- end date in tick -->
<leaf name="END_DATE"
type="I32" />
<!-- true if the step are "OR" -->
<leaf name="OR_STEPS"
type="I1" />
<branch name="GOALS">
<branch name=""
count="20">
<leaf name="TEXT"
type="I32" />
<leaf name="NPC_ALIAS"
type="I32" />
</branch>
</branch>
<!-- Targets -->
<branch name="TARGET"
count="8"
atom="1">
<leaf name="TITLE"
type="I32" />
<leaf name="X"
type="I32" />
<leaf name="Y"
type="I32" />
</branch>
<!-- Indicate if the mission is finished (0-not 1-success 2-failed) -->
<leaf name="FINISHED"
type="I2" />
<!-- Indicate if the mission is abandonnable -->
<leaf name="ABANDONNABLE"
type="I1" />
<!-- Indicate if the mission is paused (player set as 'sleeping' in a queue) -->
<leaf name="SLEEP"
type="I1" />
<!-- Historic -->
<branch name="HISTO">
<branch name=""
count="30">
<leaf name="TEXT"
type="I32" />
</branch>
</branch>
</branch>
</branch>
</branch>
<!-- Common Item Data : For correct HELP, all items must have this structure:
<leaf name="SHEET" type="I32"/>
<leaf name="QUALITY" type="I10"/>
<leaf name="QUANTITY" type="I10"/>
<leaf name="USER_COLOR" type="I3"/>
<leaf name="LOCKED" type="I10"/>
<leaf name="WEIGHT" type="I16"/>
<leaf name="NAMEID" type="I32"/>
<leaf name="INFO_VERSION" type="I8"/>
<leaf name="ENCHANT" type="I10"/>
<leaf name="RM_CLASS_TYPE" type="I3"/> RM_CLASS_TYPE enum
<leaf name="RM_FABER_STAT_TYPE" type="I5"/> RM_FABER_STAT_TYPE enum
<leaf name="PREREQUISIT_VALID" type="I11"/>
-->
<!-- gift from animator (dm) to player -->
<branch name="DM_GIFT"
bank="PLR">
<leaf name="TEXT"
type="I32" />
<!-- caption of the gift window -->
</branch>
<!-- player trade & gift to bot -->
<branch name="EXCHANGE"
bank="PLR">
<leaf name="TEXT"
type="I32" />
<leaf name="ID"
type="I8" />
<leaf name="BEGUN"
type="I1" />
<leaf name="ACCEPTED"
type="I1" />
<leaf name="MONEY"
type="I64" />
<branch name="GIVE">
<branch name=""
count="8">
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I10" />
<leaf name="QUANTITY"
type="I10" />
<leaf name="USER_COLOR"
type="I3" />
<!-- <leaf name="LOCKED" type="I10"/> No longer needed -->
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
</branch>
</branch>
<branch name="RECEIVE">
<branch name=""
count="8">
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I10" />
<leaf name="QUANTITY"
type="I10" />
<leaf name="USER_COLOR"
type="I3" />
<!-- <leaf name="LOCKED" type="I10"/> No longer needed -->
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE-->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
</branch>
</branch>
<leaf name="FORCE_REFUSE"
type="I4" />
<!-- Syncrhonisation COUNTER. Should be at END of an atomic branch!!! but still works fine -->
<leaf name="COUNTER"
type="I4" />
</branch>
<branch name="INVENTORY"
bank="PLR">
<branch name="HAND">
<branch name=""
count="2">
<!-- 0 Right 1 Left -->
<leaf name="INDEX_IN_BAG"
type="I9" />
<!-- 0 nothing 1-500 index in bag from 0 to 499 -->
</branch>
</branch>
<branch name="BAG"
clientonly="1">
<branch name=""
count="500">
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I10" />
<leaf name="QUANTITY"
type="I10" />
<leaf name="USER_COLOR"
type="I3" />
<leaf name="LOCKED"
type="I10" />
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE-->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
<leaf name="PRICE"
type="I32" />
<leaf name="RESALE_FLAG"
type="I2" />
<!-- TBotChatResaleFlag -->
<leaf name="WORNED"
type="I1" />
<!-- true if item is worned (show a red cross) -->
</branch>
</branch>
<!-- MAX_INVENTORY_ANIMAL -->
<branch name="PACK_ANIMAL"
count="4"
clientonly="1">
<branch name=""
count="500">
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I10" />
<leaf name="QUANTITY"
type="I10" />
<leaf name="USER_COLOR"
type="I3" />
<leaf name="LOCKED"
type="I10" />
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE-->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
<leaf name="PRICE"
type="I32" />
<leaf name="RESALE_FLAG"
type="I2" />
<!-- TBotChatResaleFlag -->
</branch>
</branch>
<branch name="EQUIP">
<!-- jewelry + armor -->
<branch name=""
count="19">
<leaf name="INDEX_IN_BAG"
type="I9" />
<!-- same as hand -->
</branch>
</branch>
<branch name="TEMP">
<!-- used for harvest loot and bag full -->
<leaf name="TYPE"
type="I8" />
<!-- Type of temp inv see temp_inventory_mode in game_share -->
<branch name=""
count="16">
<!-- client/inventory_manager.h MAX_TEMPINV_ENTRIES and egs/player_inv_temp.h TempInvSize -->
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I12" />
<!-- for forage progress, max QL409 x10 -->
<leaf name="QUANTITY"
type="I12" />
<!-- for forage progress, max x409 x10 -->
<leaf name="USER_COLOR"
type="I3" />
<!-- No LOCKED state -->
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE-->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
</branch>
<leaf name="ENABLE_TAKE"
type="I1" />
<!-- Used only in forage -->
</branch>
<!-- used to share items between team members (up to 8 players)
DO NOT FORGET if you modify this to do the the same modification in local database file -->
<branch name="SHARE">
<leaf name="SESSION"
type="I8" />
<!-- session id -->
<branch name=""
count="16">
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I10" />
<leaf name="QUANTITY"
type="I10" />
<leaf name="USER_COLOR"
type="I3" />
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE-->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
<!-- Additionnal info -->
<leaf name="NB_MEMBER"
type="I4" />
<!-- Number of team member who wants this item or phrase -->
<leaf name="WANTED"
type="I1" />
<!-- Does the player wants this item or phrase ? -->
<leaf name="CHANCE"
type="I7" />
<!-- Chance in percentage the player has to obtain this item -->
</branch>
<branch name="TM_"
count="8">
<!-- all the team members -->
<leaf name="NAME"
type="TEXT" />
<leaf name="VALID"
type="I1" />
<!-- is the team member has validated its own selection ? -->
</branch>
</branch>
<branch name="ROOM">
<leaf name="SESSION"
type="I16" />
<leaf name="BULK_MAX"
type="I32" />
<leaf name="MONEY"
type="I64" />
<branch name=""
count="1000"
clientonly="1">
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I10" />
<leaf name="QUANTITY"
type="I10" />
<leaf name="USER_COLOR"
type="I3" />
<leaf name="LOCKED"
type="I10" />
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE-->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
</branch>
</branch>
<leaf name="MONEY"
type="I64" />
<!-- Synchronisation COUNTER. Should be at END of an atomic branch!!! but still works fine without atomic -->
<leaf name="COUNTER"
type="I4" />
</branch>
<branch name="MODIFIERS"
bank="PLR">
<leaf name="TOTAL_MALUS_EQUIP"
type="I8" />
<!-- This is the malus ratio*50 (ie percentage/2) -->
<branch name="BONUS">
<branch name=""
count="12">
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="DISABLED"
type="I1" />
<leaf name="DISABLED_TIME"
type="I32" />
</branch>
</branch>
<branch name="MALUS">
<branch name=""
count="12">
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="DISABLED"
type="I1" />
<leaf name="DISABLED_TIME"
type="I32" />
</branch>
</branch>
</branch>
<branch name="DISABLE_CONSUMABLE"
bank="PLR">
<branch name=""
count="12">
<leaf name="FAMILY"
type="I16" />
<!-- Disable consumablel family -->
<leaf name="DISABLE_TIME"
type="I32" />
<!-- End date of diable time in tick -->
</branch>
</branch>
<!-- botchat texts -->
<branch name="BOTCHAT"
bank="PLR">
<!-- intro for player gift -->
<leaf name="PLAYER_GIFT"
type="I32" />
<!-- intro for guild creation -->
<leaf name="CREATE_GUILD"
type="I32" />
<!-- intro for trade window (pacts, action, item, or skills ..)-->
<leaf name="TRADE"
type="I32" />
<!-- intro for choose mission -->
<leaf name="CHOOSE_MISSION"
type="I32" />
<!-- intro before the reward of the mission -->
<!-- <leaf name="MISSION_END_REWARD" type="I32"/> -->
<!-- text of the mission end -->
<!-- <leaf name="MISSION_END" type="I32"/> -->
<!-- news for current bot -->
<!-- <leaf name="NEWS" type="I32"/> -->
<!-- choice dynamic missions -->
<branch name="DM_CHOICE"
count="3">
<leaf name="TITLE"
type="I32" />
<branch name=""
count="8">
<leaf name="TEXT"
type="I32" />
</branch>
</branch>
<!-- title of dynamic mission -->
<leaf name="DM_TITLE"
type="I32" />
<!-- description of dynamic mission -->
<leaf name="DM_DESCRIPTION"
type="I32" />
<!-- the rolemaster type on 2 bits -->
<leaf name="ROLEMASTER_TYPE"
type="I2" />
</branch>
<!-- Temporary structure to fill the huge list of guild to choose from in an ascensor -->
<branch name="ASCENSOR"
bank="PLR"
atom="1">
<leaf name="SESSION"
type="I16" />
<leaf name="PAGE_ID"
type="I6" />
<!-- current page ID -->
<leaf name="HAS_NEXT"
type="I1" />
<!-- are there pages left ? -->
<branch name=""
count="8">
<!--
if high order bit == 0 : guild icon : 58 low order bits - back:3 bits, symbol:6 bits, Invert:1 bit, color1&2:24 bits each
if high order bit == 1 : low order bits = entry in the LIFT_ICONS::TLiftIcon enum
-->
<leaf name="ICON"
type="I64" />
<leaf name="NAME"
type="I32" />
</branch>
</branch>
<branch name="CHOOSE_MISSIONS"
bank="PLR"
atom="1">
<leaf name="SESSION"
type="I16" />
<leaf name="PAGE_ID"
type="I6" />
<!-- current page ID -->
<leaf name="HAS_NEXT"
type="I1" />
<!-- are there pages left ? -->
<branch name=""
count="8">
<leaf name="ICON"
type="I32"
cppType="NLMISC::CSheetId" />
<!-- sheet id of a .mission_icon sheet -->
<leaf name="TEXT"
type="I32" />
<leaf name="DETAIL_TEXT"
type="I32" />
<leaf name="PREREQ_STATE"
type="I8" />
<!-- game_share/mission_desc.h/TPreReqState -->
</branch>
</branch>
<branch name="TRADING"
bank="PLR"
atom="1">
<leaf name="SESSION"
type="I16" />
<!-- current botchat session ID -->
<leaf name="PAGE_ID"
type="I7" />
<!-- current page ID -->
<leaf name="HAS_NEXT"
type="I1" />
<!-- are there pages left ? -->
<leaf name="ROLEMASTER_FLAGS"
type="I6" />
<!-- flags used to determine actions 'offered' by the rolemaster -->
<leaf name="ROLEMASTER_RACE"
type="I2" />
<!-- civ of actions offered by the rolemaster (0..3) -->
<leaf name="BUILDING_LOSS_WARNING"
type="I1" />
<!-- set if a warning saying "you're going to lose your old building" must be displayed -->
<leaf name="RAW_MATERIAL_SELLER"
type="I1" />
<!-- flag set to 1 for raw materials seller for setting appropriate filters -->
<leaf name="ITEM_TYPE_SELLER_BITFILED_0_63"
type="I64" />
<!-- bitfield define item type sell by bot, first 64 bits, cf TItemType -->
<leaf name="ITEM_TYPE_SELLER_BITFILED_64_127"
type="I64" />
<!-- bitfield define item type sell by bot, next 64 bits, cf TItemType -->
<leaf name="FAME_PRICE_FACTOR"
type="I16" />
<!-- 10000*factor to apply on item price, so if this value = 10000, factor is 1.0 -->
<branch name=""
count="8">
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I10" />
<leaf name="QUANTITY"
type="I10" />
<!-- No LOCKED state -->
<leaf name="USER_COLOR"
type="I3" />
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE-->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
<!-- Muti currency info -->
<leaf name="CURRENCY"
type="I4" />
<!-- The currency type RYMSG::TTradeCurrency -->
<leaf name="RRP_LEVEL"
type="I4" />
<!-- For rrp curency, specify the rrp level -->
<leaf name="MONEY_SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<!-- For item curency, specify the item sheet -->
<leaf name="BASE_SKILL"
type="I4" />
<!-- For skill curency, specify the base skill as in EGSPD::CSPType::TSPType -->
<leaf name="FACTION_TYPE"
type="I4" />
<!-- For price in faction point, as in game_share/pvp_clan.h -->
<leaf name="PRICE"
type="I32" />
<!-- The amount of the selected currency (dappers, number of item...) -->
<!-- Special Trade -->
<leaf name="PRICE_RETIRE"
type="I32" />
<leaf name="RESALE_TIME_LEFT"
type="I16" />
<leaf name="VENDOR_NAMEID"
type="TEXT" />
<!-- name id of player vendor -->
<leaf name="FACTION_POINT_PRICE"
type="I32" />
<!-- 0 for standard behaviour -->
<!-- 1 if the sheet id is the one of an item, and if we got a plan for that item in the slot -->
<!-- 2 if the slot is for a skill. In this case the sheet ID must be interpreted as an enum for that skill -->
<!-- These values are defined as an enum in game_share/trade_slot_type.h -->
<leaf name="SLOT_TYPE"
type="I2" />
<!-- see TBotChatSellerType -->
<leaf name="SELLER_TYPE"
type="I3" />
</branch>
</branch>
<branch name="BRICK_FAMILY"
bank="PLR">
<branch name=""
count="1024">
<leaf name="BRICKS"
type="I64" />
</branch>
</branch>
<branch name="FABER_PLANS"
bank="PLR">
<branch name=""
count="64">
<leaf name="KNOWN"
type="I64" />
</branch>
</branch>
<branch name="MISSIONS"
bank="PLR">
<branch name=""
count="15">
<!-- see game_share/mission_desc.h TMissionType -->
<leaf name="TYPE"
type="I2" />
<leaf name="ICON"
type="I32"
cppType="NLMISC::CSheetId" />
<!-- sheet id of a .mission_icon sheet -->
<leaf name="TITLE"
type="I32" />
<leaf name="DETAIL_TEXT"
type="I32" />
<!-- begin date in tick -->
<leaf name="BEGIN_DATE"
type="I32" />
<!-- end date in tick -->
<leaf name="END_DATE"
type="I32" />
<!-- true if the step are "OR" -->
<leaf name="OR_STEPS"
type="I1" />
<branch name="GOALS">
<branch name=""
count="20">
<leaf name="TEXT"
type="I32" />
<leaf name="NPC_ALIAS"
type="I32" />
</branch>
</branch>
<!-- Targets -->
<branch name="TARGET"
count="8"
atom="1">
<leaf name="TITLE"
type="I32" />
<leaf name="X"
type="I32" />
<leaf name="Y"
type="I32" />
</branch>
<!-- Indicate if the mission is finished (0-not 1-success 2-failed) -->
<leaf name="FINISHED"
type="I2" />
<!-- Indicate if the mission is abandonnable -->
<leaf name="ABANDONNABLE"
type="I1" />
<!-- Indicate if the mission is paused (player set as 'sleeping' in a queue) -->
<leaf name="SLEEP"
type="I1" />
<!-- Historic -->
<branch name="HISTO">
<branch name=""
count="30">
<leaf name="TEXT"
type="I32" />
</branch>
</branch>
</branch>
</branch>
<branch name="EXECUTE_PHRASE"
bank="PLR"
atom="1">
<!-- The index of the phrase in the spell book that is being executed right now -->
<leaf name="PHRASE"
type="I16" />
<!-- If not a phrase in the speel book, give the associated brick sheet id -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<!-- When the NEXT_COUNTER reach the one on client, reset -->
<leaf name="NEXT_COUNTER"
type="I8" />
<!-- When the CYCLE_COUNTER reach the one on client, reset -->
<leaf name="CYCLE_COUNTER"
type="I8" />
<!-- LINKS -->
<branch name="LINK">
<branch name=""
count="10"
atom="1">
<!-- The Phrase Id -->
<leaf name="PHRASE"
type="I16" />
<leaf name="COUNTER"
type="I4" />
<!-- The cost each second -->
<leaf name="HP_COST"
type="I16" />
<leaf name="SAP_COST"
type="I16" />
<leaf name="STA_COST"
type="I16" />
<!-- Entity name -->
<leaf name="TARGET_NAME"
type="TEXT" />
<!-- Entity State -->
<leaf name="TARGET_HP"
type="I7" />
<leaf name="TARGET_SAP"
type="I7" />
<leaf name="TARGET_STA"
type="I7" />
</branch>
</branch>
</branch>
<branch name="GUILD"
bank="GUILD">
<leaf name="COUNTER"
type="I8" />
<leaf name="PROXY"
type="I1" />
<!-- Flat to indicate that the guild is 'proxified' from another EGS -->
<leaf name="NAME"
type="TEXT" />
<!-- Name of the guild the local player belongs to -->
<leaf name="DESCRIPTION"
type="TEXT" />
<!-- Description of the guild -->
<leaf name="ICON"
type="I64" />
<!-- Icon of the guild (look at guild_manager) -->
<leaf name="XP"
type="I32" />
<!-- Experience of the guild -->
<leaf name="CHARGE_POINTS"
type="I32" />
<!-- charge points of the guild -->
<leaf name="VILLAGE"
type="TEXT" />
<!-- village text id -->
<leaf name="PEOPLE"
type="I8" />
<!-- people affiliated with the guild-->
<leaf name="CREATION_DATE"
type="I32" />
<!-- creation date of the guild in ticks -->
<branch name="FAME">
<leaf name="CULT_ALLEGIANCE"
type="I3" />
<!-- Guild cult allegiance (CF TPVPClan enum (pvp_clan.h) -->
<leaf name="CIV_ALLEGIANCE"
type="I3" />
<!-- Guild civilization allegiance (CF TPVPClan enum (pvp_clan.h) -->
<branch name=""
count="6">
<!-- from fame.h & cpp -->
<leaf name="VALUE"
type="S8" />
<!-- current value -->
<leaf name="THRESHOLD"
type="S8" />
<!-- max threshold -->
<leaf name="TREND"
type="I8" />
<!-- Fame trend, (CF see fame_pd.h TFameTrend ) -->
</branch>
</branch>
<branch name="MEMBERS">
<!-- Guild Members -->
<branch name=""
count="256">
<leaf name="NAME"
type="TEXT" />
<!-- player name -->
<leaf name="GRADE"
type="I3" />
<!-- player grade-->
<leaf name="ONLINE"
type="I2"
cppType="TCharConnectionState" />
<!-- enum TCharConnectionState -->
<leaf name="ENTER_DATE"
type="I32" />
<!-- tick when player entered the guild-->
</branch>
</branch>
<branch name="INVENTORY">
<leaf name="SESSION"
type="I16" />
<leaf name="BULK_MAX"
type="I32" />
<leaf name="MONEY"
type="I64" />
<branch name=""
count="1000"
clientonly="1">
<!-- Common Item Data -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="QUALITY"
type="I10" />
<leaf name="QUANTITY"
type="I10" />
<leaf name="USER_COLOR"
type="I3" />
<leaf name="LOCKED"
type="I10" />
<leaf name="WEIGHT"
type="I16" />
<!-- weight. see DB_WEIGHT_SCALE-->
<leaf name="NAMEID"
type="I32" />
<!-- 0 or special name of item -->
<leaf name="INFO_VERSION"
type="I8" />
<leaf name="ENCHANT"
type="I10" />
<!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE"
type="I3" />
<leaf name="RM_FABER_STAT_TYPE"
type="I6" />
<leaf name="PREREQUISIT_VALID"
type="I1" />
</branch>
</branch>
<branch name="OUTPOST">
<!-- true if this guild can cancel an outpost -->
<leaf name="CANDEL"
type="I1" />
<!-- outpost owned/challenged by the guild -->
<branch name="O"
count="16">
<!-- Outpost Ownage -->
<leaf name="OWNED"
type="I1" />
<!-- 1 if the outpost is owned by the guild, 0 if it is challenged -->
<!-- Outpost Desc/State -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="LEVEL"
type="I8" />
<!-- Outpost Level: 50, 100, 150 .... -->
<branch name="GUILD">
<leaf name="NAME"
type="TEXT" />
<!-- Name of the guild the outpost belongs to (or name of tribe) -->
<leaf name="ICON"
type="I64" />
<!-- Icon of the guild the outpost belongs to -->
<leaf name="TRIBE"
type="I1" />
<!-- True if the outpost is owned by a Tribe -->
<leaf name="NAME_ATT"
type="TEXT" />
<!-- Name of the guild that attacks the outpost. 0 if none -->
</branch>
<leaf name="STATUS"
type="I4" />
<!-- Outpost Status: OUTPOSTENUMS::TOutpostState -->
<leaf name="STATE_END_DATE"
type="I32" />
<!-- Server tick of the end of state -->
<leaf name="DISPLAY_CRASH"
type="I1" />
<!-- A crash has happened in the last war. Inform users -->
<leaf name="WARCOST"
type="I32" />
<!-- Dappers needed to declare war to this outpost -->
<!-- Round State -->
<leaf name="ROUND_LVL_THRESHOLD"
type="I8" />
<!-- The minimal threshold attack must exceed -->
<leaf name="ROUND_LVL_MAX_ATT"
type="I8" />
<!-- The max round level reached by attackers -->
<leaf name="ROUND_LVL_MAX_DEF"
type="I8" />
<!-- The max round level reached by defenders -->
<leaf name="ROUND_LVL_CUR"
type="I8" />
<!-- The current round level -->
<leaf name="ROUND_ID_CUR"
type="I8" />
<!-- The current round number -->
<leaf name="ROUND_ID_MAX"
type="I8" />
<!-- The max round in an attack/defense period -->
<!-- Time Setup -->
<leaf name="TIME_RANGE_DEF_WANTED"
type="I5" />
<!-- The start hour at wich the defender want to defend (0-24) -->
<leaf name="TIME_RANGE_DEF"
type="I32" />
<!-- The start time at wich the defender WILL defend (in sec from 1970, GMT) -->
<leaf name="TIME_RANGE_ATT"
type="I32" />
<!-- The start time at wich the attacker WILL attack (in sec from 1970, GMT) -->
<leaf name="TIME_RANGE_LENGTH"
type="I16" />
<!-- (In minutes). the length of an attack/defend period (120 for instance) -->
<!-- Squads -->
<branch name="SQUAD_SPAWN_ZONE">
<!-- list of zones where squads can be spawned -->
<branch name=""
count="16">
<leaf name="X"
type="S32" />
<leaf name="Y"
type="S32" />
</branch>
</branch>
<branch name="SQUAD_SHOP">
<!-- list of squad that we can buy -->
<branch name=""
count="16">
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
</branch>
</branch>
<branch name="SQUADS">
<!-- Squad -->
<!-- 24 max squads: The First 12th are the squads that spawn at start
The second 12th are the one that spawn after
-->
<branch name="SP"
count="24">
<!-- Spawned -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
</branch>
<branch name="T"
count="24">
<!-- Training -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="SPAWN"
type="I4" />
<!-- Index in SQUAD_SPAWN_ZONE list -->
</branch>
</branch>
<leaf name="SQUAD_CAPITAL"
type="I32" />
<!-- Money that can be spent by the guild -->
<!-- Buildings -->
<branch name="BUILDINGS">
<!-- list of buildings on the outpost -->
<branch name=""
count="4">
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
</branch>
</branch>
</branch>
</branch>
</branch>
<!-- The outpost selected by the user on a NPC -->
<branch name="OUTPOST_SELECTED"
bank="OUTPOST"
atom="1">
<!-- System: Use atom="1" to be sure data are relevant for the player (SHEET and other data are sync). -->
<!-- Outpost Desc/State -->
<leaf name="SHEET"
type="I32"
cppType="NLMISC::CSheetId" />
<leaf name="LEVEL"
type="I8" />
<!-- Outpost Level: 50, 100, 150 .... -->
<branch name="GUILD">
<leaf name="NAME"
type="TEXT" />
<!-- Name of the guild the outpost belongs to (or name of tribe) -->
<leaf name="ICON"
type="I64" />
<!-- Icon of the guild the outpost belongs to -->
<leaf name="TRIBE"
type="I1" />
<!-- True if the outpost is owned by a Tribe -->
<leaf name="NAME_ATT"
type="TEXT" />
<!-- Name of the guild that attacks the outpost. 0 if none -->
</branch>
<leaf name="STATUS"
type="I4" />
<!-- Outpost Status: OUTPOSTENUMS::TOutpostState -->
<leaf name="STATE_END_DATE"
type="I32" />
<!-- Server tick of the end of state -->
<leaf name="DISPLAY_CRASH"
type="I1" />
<!-- A crash has happened in the last war. Inform users -->
<leaf name="WARCOST"
type="I32" />
<!-- Dappers needed to declare war to this outpost -->
<!-- Round State -->
<leaf name="ROUND_LVL_THRESHOLD"
type="I8" />
<!-- The minimal threshold attack must exceed -->
<leaf name="ROUND_LVL_MAX_ATT"
type="I8" />
<!-- The max round level reached by attackers -->
<leaf name="ROUND_LVL_MAX_DEF"
type="I8" />
<!-- The max round level reached by defenders -->
<leaf name="ROUND_LVL_CUR"
type="I8" />
<!-- The current round level -->
<leaf name="ROUND_ID_CUR"
type="I8" />
<!-- The current round number -->
<leaf name="ROUND_ID_MAX"
type="I8" />
<!-- The max round in an attack/defense period -->
<!-- Time Setup -->
<leaf name="TIME_RANGE_DEF_WANTED"
type="I5" />
<!-- The start hour at wich the defender want to defend (0-24) -->
<leaf name="TIME_RANGE_DEF"
type="I32" />
<!-- The start time at wich the defender WILL defend (in sec from 1970, GMT) -->
<leaf name="TIME_RANGE_ATT"
type="I32" />
<!-- The start time at wich the attacker WILL attack (in sec from 1970, GMT) -->
<leaf name="TIME_RANGE_LENGTH"
type="I16" />
<!-- (In minutes). the length of an attack/defend period (120 for instance) -->
</branch>
<branch name="CHARACTER_INFO"
bank="PLR">
<branch name="CHARACTERISTICS"
count="8">
<leaf name="VALUE"
type="I12" />
</branch>
<branch name="SCORES"
count="4">
<leaf name="Base"
type="I24" />
<leaf name="Max"
type="I24" />
<leaf name="BaseRegen"
type="I24" />
<leaf name="Regen"
type="I24" />
</branch>
<branch name="MAGIC_RESISTANCE">
<leaf name="MaxResistanceBonus"
type="I9" />
<branch name=""
count="5">
<leaf name="VALUE"
type="I9" />
</branch>
</branch>
<branch name="MAGIC_PROTECTION">
<leaf name="MaxProtectionClampValue"
type="I9" />
<leaf name="MaxAbsorptionFactor"
type="I9" />
<branch name=""
count="7">
<leaf name="VALUE"
type="I9" />
</branch>
</branch>
<branch name="DODGE">
<leaf name="Base"
type="I9" />
<leaf name="Current"
type="I9" />
</branch>
<branch name="PARRY">
<leaf name="Base"
type="I9" />
<leaf name="Current"
type="I9" />
</branch>
<branch name="SKILLS">
<branch name=""
count="225">
<leaf name="SKILL"
type="I12" />
<leaf name="BaseSKILL"
type="I12" />
<leaf name="PROGRESS_BAR"
type="I8" />
</branch>
</branch>
<branch name="XP_CATALYSER">
<leaf name="Level"
type="I12" />
<leaf name="Count"
type="I12" />
</branch>
<branch name="RING_XP_CATALYSER">
<leaf name="Level"
type="I12" />
<leaf name="Count"
type="I12" />
</branch>
<branch name="PVP_FACTION_TAG">
<leaf name="TAG_PVP"
type="I1" />
<leaf name="ACTIVATION_TIME"
type="I32" />
<leaf name="FLAG_PVP_TIME_LEFT"
type="I32" />
<leaf name="COUNTER"
type="I8" />
</branch>
<branch name="PVP_OUTPOST">
<leaf name="FLAG_PVP"
type="I1" />
<!-- 1 if the player is in a PVP outpost -->
<leaf name="RIGHT_TO_BANISH"
type="I1" />
<!-- 1 if the player has right to banish other players -->
<leaf name="ROUND_LVL_CUR"
type="I32" />
<!-- Current Round Level -->
<leaf name="ROUND_END_DATE"
type="I32" />
<!-- Server tick of the end of the round. 0 if there is no active Round -->
<leaf name="FLAG_PVP_TIME_END"
type="I32" />
<!-- Server tick of the end of the Outpost PVP activation. 0 if there is no counter (player in zone) -->
</branch>
<branch name="SUCCESS_MODIFIER">
<leaf name="DODGE"
type="S16" />
<leaf name="PARRY"
type="S16" />
<leaf name="CRAFT"
type="S16" />
<leaf name="MELEE"
type="S16" />
<leaf name="RANGE"
type="S16" />
<leaf name="MAGIC"
type="S16" />
<branch name="ECO">
<branch name=""
count="7">
<leaf name="FORAGE"
type="S16" />
</branch>
</branch>
</branch>
</branch>
<branch name="PACK_ANIMAL"
bank="PLR">
<!-- beasts -->
<!-- MAX_INVENTORY_ANIMAL -->
<branch name="BEAST"
count="4"
atomic="1">
<!-- Atomic, for correct Bar Management on client -->
<leaf name="UID"
type="I20" />
<!-- Entity Unique Identifier -->
<leaf name="TYPE"
type="I4" />
<!-- see ANIMAL_TYPE -->
<leaf name="STATUS"
type="I4" />
<!-- see ANIMAL_STATUS -->
<leaf name="HP"
type="I7" />
<leaf name="BULK_MAX"
type="I32" />
<leaf name="POS"
type="I64" />
<!-- X uint32 << 32 | Y uint32 -->
<leaf name="HUNGER"
type="I5" />
<leaf name="DESPAWN"
type="I7" />
</branch>
</branch>
<branch name="DEBUG_INFO"
bank="PLR">
<leaf name="Ping"
type="I32" />
</branch>
<!-- MP Exotic Evaluation -->
<branch name="MP_EVAL"
bank="PLR">
<leaf name="COST"
type="I32" />
<!-- Normal Success -->
<branch name="RESULT">
<leaf name="VALID"
type="I1" />
<leaf name="SMALL_SEED"
type="I32" />
<leaf name="MEDIUM_SEED"
type="I32" />
<leaf name="BIG_SEED"
type="I32" />
<leaf name="VERY_BIG_SEED"
type="I32" />
<leaf name="EXPIRY_DATE"
type="I32" />
</branch>
<!-- Critical Success -->
<branch name="RESULT_CRITICAL">
<leaf name="VALID"
type="I1" />
<leaf name="SMALL_SEED"
type="I32" />
<leaf name="MEDIUM_SEED"
type="I32" />
<leaf name="BIG_SEED"
type="I32" />
<leaf name="VERY_BIG_SEED"
type="I32" />
<leaf name="EXPIRY_DATE"
type="I32" />
</branch>
</branch>
<!-- Compass coordinates -->
<branch name="COMPASS"
bank="PLR">
<leaf name="HOME_POINT"
type="I64" />
<!-- X uint32 << 32 | Y uint32 -->
<leaf name="BIND_POINT"
type="I64" />
<!-- X uint32 << 32 | Y uint32 -->
<leaf name="TARGET"
type="I64" />
<!-- X uint32 << 32 | Y uint32 -->
</branch>
<!-- Fames values -->
<branch name="FAME"
bank="PLR">
<leaf name="CULT_ALLEGIANCE"
type="I3" />
<!-- Character cult allegiance (CF TPVPClan enum (pvp_clan.h) -->
<leaf name="CIV_ALLEGIANCE"
type="I3" />
<!-- Character civilization allegiance (CF TPVPClan enum (pvp_clan.h) -->
<leaf name="THRESHOLD_TRADE"
type="S8" />
<!-- value where trade doesn't work anymore -->
<leaf name="THRESHOLD_KOS"
type="S8" />
<!-- value where the guards kill you on sight -->
<branch name="PLAYER"
count="6">
<!-- from fame.h & cpp -->
<leaf name="VALUE"
type="S8" />
<!-- current value -->
<leaf name="THRESHOLD"
type="S8" />
<!-- max threshold -->
<leaf name="TREND"
type="I8" />
<!-- Fame trend, (CF see fame_pd.h TFameTrend ) -->
</branch>
<branch name="TRIBE"
count="53">
<leaf name="VALUE"
type="S8" />
<!-- current value -->
<leaf name="THRESHOLD"
type="S8" />
<!-- max threshold -->
<leaf name="TREND"
type="I8" />
<!-- Fame trend, (CF see fame_pd.h TFameTrend ) -->
</branch>
</branch>
<!-- Static general data -->
<branch name="STATIC_DATA"
bank="PLR">
<leaf name="BAG_BULK_MAX"
type="I32" />
</branch>
<!-- DynChat channels -->
<branch name="DYN_CHAT"
bank="PLR">
<branch name="CHANNEL"
count="8"
atom="1">
<leaf name="NAME"
type="I32" />
<!-- channel not available if anme is 0 -->
<leaf name="ID"
type="I64" />
<!-- unique ID of channel (eid) -->
<leaf name="WRITE_RIGHT"
type="I1" />
</branch>
</branch>
<!-- PvP Effects -->
<branch name="PVP_EFFECTS"
bank="PLR">
<!-- Faction points for PvP -->
<branch name="PVP_FACTION_POINTS">
<leaf name="CIV"
type="I8" />
<leaf name="CIV_POINTS"
type="I32" />
<leaf name="CULT"
type="I8" />
<leaf name="CULT_POINTS"
type="I32" />
</branch>
<!-- Bonus and malus for regions -->
<branch name=""
count="59">
<leaf name="ID"
type="I32" />
<leaf name="ISBONUS"
type="I1" />
<leaf name="PARAM"
type="I32" />
</branch>
</branch>
<!-- Weather -->
<branch name="WEATHER"
bank="PLR">
<leaf name="VALUE"
type="I16" />
</branch>
</database_description>