<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://gswiki-archive.gs-game.uk/index.php?action=history&amp;feed=atom&amp;title=Wrayth_protocol</id>
	<title>Wrayth protocol - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://gswiki-archive.gs-game.uk/index.php?action=history&amp;feed=atom&amp;title=Wrayth_protocol"/>
	<link rel="alternate" type="text/html" href="https://gswiki-archive.gs-game.uk/index.php?title=Wrayth_protocol&amp;action=history"/>
	<updated>2026-11-11T21:54:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://gswiki-archive.gs-game.uk/index.php?title=Wrayth_protocol&amp;diff=17190&amp;oldid=prev</id>
		<title>imported&gt;HORIBU1: update Front Ends category to proper capitalization</title>
		<link rel="alternate" type="text/html" href="https://gswiki-archive.gs-game.uk/index.php?title=Wrayth_protocol&amp;diff=17190&amp;oldid=prev"/>
		<updated>2026-01-04T22:15:31Z</updated>

		<summary type="html">&lt;p&gt;update Front Ends category to proper capitalization&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Wrayth protocol==&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Wrayth protocol&amp;#039;&amp;#039;&amp;#039; is the XML protocol used to pass information between the GemStone IV game server and front-end clients. It is utilized by the official Wrayth client and unofficial frontends.&lt;br /&gt;
&lt;br /&gt;
==Core System Elements==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mode&amp;lt;/code&amp;gt; || Game mode indicator || id (GAME, LOGIN, CMGR)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;playerID&amp;lt;/code&amp;gt; || Player identifier || id (numeric)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;settingsInfo&amp;lt;/code&amp;gt; || Client/game settings || client, major, crc, instance&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;app&amp;lt;/code&amp;gt; || Application metadata || char, game, title&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;endSetup&amp;lt;/code&amp;gt; || Marks end of initial setup || (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;mode id=&amp;quot;GAME&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;playerID id=&amp;#039;966483&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;settingsInfo client=&amp;#039;1.0.1.28&amp;#039; major=&amp;#039;19313&amp;#039; crc=&amp;#039;3508957330&amp;#039; instance=&amp;#039;GS4&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;endSetup/&amp;gt;&amp;lt;app char=&amp;quot;Nisugi&amp;quot; game=&amp;quot;Prime&amp;quot; title=&amp;quot;GemStone IV: Nisugi [Prime]&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Stream Management==&lt;br /&gt;
Streams route text output to specific UI windows.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;streamWindow&amp;lt;/code&amp;gt; || UI window definition || id, title, subtitle, location, target, ifClosed, resident, save, scroll, timestamp&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;clearStream&amp;lt;/code&amp;gt; || Clear stream contents || id, ifClosed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pushStream&amp;lt;/code&amp;gt; || Push content to stream || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;popStream&amp;lt;/code&amp;gt; || Pop stream context || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;stream&amp;lt;/code&amp;gt; || Individual stream content line || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exposeStream&amp;lt;/code&amp;gt; || Expose/show a stream || id&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stream Window IDs===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stream ID !! Title !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| main || Story || Main game output&lt;br /&gt;
|-&lt;br /&gt;
| room || Room || Room description display&lt;br /&gt;
|-&lt;br /&gt;
| inv || My Inventory || Worn items&lt;br /&gt;
|-&lt;br /&gt;
| Spells || Spells || Available spells list&lt;br /&gt;
|-&lt;br /&gt;
| familiar || Familiar || Familiar messages&lt;br /&gt;
|-&lt;br /&gt;
| thoughts || Thoughts || ESP/telepathy&lt;br /&gt;
|-&lt;br /&gt;
| logons || Arrivals || Player arrivals&lt;br /&gt;
|-&lt;br /&gt;
| death || Deaths || Death notices&lt;br /&gt;
|-&lt;br /&gt;
| speech || Speech || Speech window&lt;br /&gt;
|-&lt;br /&gt;
| ambients || Ambients || Ambient messages&lt;br /&gt;
|-&lt;br /&gt;
| announcements || Announcements || Game announcements&lt;br /&gt;
|-&lt;br /&gt;
| bounty || Bounties || Bounty task info&lt;br /&gt;
|-&lt;br /&gt;
| society || Society Tasks || Society task info&lt;br /&gt;
|-&lt;br /&gt;
| loot || Loot || Loot window&lt;br /&gt;
|-&lt;br /&gt;
| charprofile || Character&amp;#039;s Profile || Character profile&lt;br /&gt;
|-&lt;br /&gt;
| charsheet || Character Sheet || Character sheet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;streamWindow id=&amp;#039;room&amp;#039; title=&amp;#039;Room&amp;#039; subtitle=&amp;quot; - [Icemule Trace, South Road]&amp;quot; location=&amp;#039;center&amp;#039; target=&amp;#039;drop&amp;#039; ifClosed=&amp;#039;&amp;#039; resident=&amp;#039;true&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;streamWindow id=&amp;#039;inv&amp;#039; title=&amp;#039;My Inventory&amp;#039; target=&amp;#039;wear&amp;#039; ifClosed=&amp;#039;&amp;#039; resident=&amp;#039;true&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;streamWindow id=&amp;quot;Spells&amp;quot; title=&amp;quot;Spells&amp;quot; ifClosed=&amp;quot;&amp;quot; resident=&amp;quot;true&amp;quot; scroll=&amp;quot;manual&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;clearStream id=&amp;#039;inv&amp;#039; ifClosed=&amp;#039;&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;pushStream id=&amp;#039;inv&amp;#039;/&amp;gt;Your worn items are:&lt;br /&gt;
&amp;lt;popStream/&amp;gt;&lt;br /&gt;
&amp;lt;clearStream id=&amp;quot;Spells&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stream content example (thoughts/ESP):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;pushStream id=&amp;quot;thoughts&amp;quot;/&amp;gt;You hear the faint thoughts of Nisugi echo in your mind:&lt;br /&gt;
&amp;quot;Hello everyone!&amp;quot;&lt;br /&gt;
&amp;lt;popStream/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Component System==&lt;br /&gt;
Components represent dynamic room/area content.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;compDef&amp;lt;/code&amp;gt; || Component definition || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;component&amp;lt;/code&amp;gt; || Component instance || id&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Component IDs:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* room desc - Room description&lt;br /&gt;
* room objs - Room objects&lt;br /&gt;
* room players - Players in room&lt;br /&gt;
* room exits - Available exits&lt;br /&gt;
* sprite - Player&amp;#039;s familiar/sprite&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;compDef id=&amp;#039;room players&amp;#039;&amp;gt;&amp;lt;/compDef&amp;gt;&lt;br /&gt;
&amp;lt;compDef id=&amp;#039;room exits&amp;#039;&amp;gt;Obvious paths: &amp;lt;d&amp;gt;east&amp;lt;/d&amp;gt;, &amp;lt;d&amp;gt;west&amp;lt;/d&amp;gt;&amp;lt;/compDef&amp;gt;&lt;br /&gt;
&amp;lt;compDef id=&amp;#039;sprite&amp;#039;&amp;gt;&amp;lt;/compDef&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;component id=&amp;#039;room players&amp;#039;&amp;gt;Also here: Lord &amp;lt;a exist=&amp;quot;-10939058&amp;quot; noun=&amp;quot;Huras&amp;quot;&amp;gt;Huras&amp;lt;/a&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
&amp;lt;component id=&amp;#039;room players&amp;#039;&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
&amp;lt;component id=&amp;#039;room objs&amp;#039;&amp;gt;  You also see&amp;lt;b&amp;gt; &amp;lt;pushBold/&amp;gt;a &amp;lt;a exist=&amp;quot;103330&amp;quot; noun=&amp;quot;resident&amp;quot;&amp;gt;disheveled resident&amp;lt;/a&amp;gt;&amp;lt;popBold/&amp;gt;&amp;lt;/b&amp;gt;.&amp;lt;/component&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Container/Inventory System==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;container&amp;lt;/code&amp;gt; || Container window || id, title, location, target, resident, save&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exposeContainer&amp;lt;/code&amp;gt; || Expose container || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;clearContainer&amp;lt;/code&amp;gt; || Clear container contents || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;deleteContainer&amp;lt;/code&amp;gt; || Delete container from UI || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt; || Inventory item line || id&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Looking in a container:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;container id=&amp;#039;393944944&amp;#039; title=&amp;#039;Chest&amp;#039; target=&amp;#039;#393944944&amp;#039; location=&amp;#039;right&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;clearContainer id=&amp;quot;393944944&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;inv id=&amp;#039;393944944&amp;#039;&amp;gt;In the &amp;lt;a exist=&amp;quot;393944944&amp;quot; noun=&amp;quot;chest&amp;quot;&amp;gt;chest&amp;lt;/a&amp;gt;:&amp;lt;/inv&amp;gt;&lt;br /&gt;
&amp;lt;inv id=&amp;#039;393944944&amp;#039;&amp;gt; &amp;lt;a exist=&amp;quot;393944946&amp;quot; noun=&amp;quot;coins&amp;quot;&amp;gt;some silver coins&amp;lt;/a&amp;gt;&amp;lt;/inv&amp;gt;&lt;br /&gt;
&amp;lt;inv id=&amp;#039;393944944&amp;#039;&amp;gt; a &amp;lt;a exist=&amp;quot;393944945&amp;quot; noun=&amp;quot;garnet&amp;quot;&amp;gt;dark red-violet garnet&amp;lt;/a&amp;gt;&amp;lt;/inv&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stow container (default storage):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;exposeContainer id=&amp;#039;stow&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;container id=&amp;#039;stow&amp;#039; title=&amp;quot;My Cloak&amp;quot; target=&amp;#039;#225766691&amp;#039; location=&amp;#039;right&amp;#039; save=&amp;#039;&amp;#039; resident=&amp;#039;true&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;clearContainer id=&amp;quot;stow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;inv id=&amp;#039;stow&amp;#039;&amp;gt;In the &amp;lt;a exist=&amp;quot;225766691&amp;quot; noun=&amp;quot;cloak&amp;quot;&amp;gt;cloak&amp;lt;/a&amp;gt;:&amp;lt;/inv&amp;gt;&lt;br /&gt;
&amp;lt;inv id=&amp;#039;stow&amp;#039;&amp;gt; a &amp;lt;a exist=&amp;quot;225766734&amp;quot; noun=&amp;quot;feather&amp;quot;&amp;gt;nacreous disir feather&amp;lt;/a&amp;gt;&amp;lt;/inv&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dialog System==&lt;br /&gt;
Dialogs are UI panels with controls and data.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;openDialog&amp;lt;/code&amp;gt; || Create dialog window || id, type, title, location, target, height, width, resident&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dialogData&amp;lt;/code&amp;gt; || Dialog content || id, clear&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;closeDialog&amp;lt;/code&amp;gt; || Close a dialog window || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;exposeDialog&amp;lt;/code&amp;gt; || Show a hidden dialog || id&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Dialog IDs===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Dialog ID !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| combat || Combat controls&lt;br /&gt;
|-&lt;br /&gt;
| injuries || Injury display (player)&lt;br /&gt;
|-&lt;br /&gt;
| minivitals || Health/mana/stamina bars&lt;br /&gt;
|-&lt;br /&gt;
| stance || Stance indicator&lt;br /&gt;
|-&lt;br /&gt;
| expr || Experience/level info&lt;br /&gt;
|-&lt;br /&gt;
| encum || Encumbrance&lt;br /&gt;
|-&lt;br /&gt;
| Active Spells || Active spell list&lt;br /&gt;
|-&lt;br /&gt;
| Buffs || Active buffs&lt;br /&gt;
|-&lt;br /&gt;
| Debuffs || Active debuffs&lt;br /&gt;
|-&lt;br /&gt;
| Cooldowns || Ability cooldowns&lt;br /&gt;
|-&lt;br /&gt;
| mapMaster || Map controls&lt;br /&gt;
|-&lt;br /&gt;
| mapViewMain || Map view&lt;br /&gt;
|-&lt;br /&gt;
| espMasterDialog || ESP/telepathy controls&lt;br /&gt;
|-&lt;br /&gt;
| quick || Quick action bar (main)&lt;br /&gt;
|-&lt;br /&gt;
| quick-combat || Combat quick bar&lt;br /&gt;
|-&lt;br /&gt;
| quick-simu || Information quick bar&lt;br /&gt;
|-&lt;br /&gt;
| BetrayerPanel || Blood Points tracking&lt;br /&gt;
|-&lt;br /&gt;
| befriend || Friends &amp;amp; Enemies list&lt;br /&gt;
|-&lt;br /&gt;
| bank || Banking interface&lt;br /&gt;
|-&lt;br /&gt;
| injuries-{existID} || Target character injuries appraisal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Opening and populating a dialog:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;openDialog type=&amp;#039;dynamic&amp;#039; id=&amp;#039;minivitals&amp;#039; title=&amp;#039;Stats&amp;#039; location=&amp;#039;statBar&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;dialogData id=&amp;#039;minivitals&amp;#039;&amp;gt;&amp;lt;/dialogData&amp;gt;&lt;br /&gt;
&amp;lt;/openDialog&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;openDialog type=&amp;#039;dynamic&amp;#039; id=&amp;#039;stance&amp;#039; title=&amp;#039;Stance&amp;#039; location=&amp;#039;right&amp;#039; height=&amp;#039;50&amp;#039; width=&amp;#039;190&amp;#039; resident=&amp;#039;true&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;dialogData id=&amp;#039;stance&amp;#039;&amp;gt;&lt;br /&gt;
    &amp;lt;progressBar id=&amp;#039;pbarStance&amp;#039; value=&amp;#039;100&amp;#039; text=&amp;#039;defensive (100%)&amp;#039; top=&amp;#039;5&amp;#039; left=&amp;#039;-5&amp;#039; height=&amp;#039;16&amp;#039; width=&amp;#039;160&amp;#039; align=&amp;#039;n&amp;#039; tooltip=&amp;#039;Percent of stance contributing to defense&amp;#039;/&amp;gt;&lt;br /&gt;
  &amp;lt;/dialogData&amp;gt;&lt;br /&gt;
&amp;lt;/openDialog&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Updating dialog data:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;dialogData id=&amp;#039;combat&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;progressBar id=&amp;#039;pbarStance&amp;#039; value=&amp;#039;100&amp;#039; text=&amp;#039;defensive (100%)&amp;#039; top=&amp;#039;51&amp;#039; width=&amp;#039;130&amp;#039; height=&amp;#039;16&amp;#039; left=&amp;#039;0&amp;#039; align=&amp;#039;n&amp;#039; tooltip=&amp;#039;Percent of stance contributing to defense&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/dialogData&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Banking dialog:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;dialogData id=&amp;#039;bank&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;link id=&amp;#039;depositallLnk&amp;#039; value=&amp;#039;Deposit All&amp;#039; cmd=&amp;#039;deposit all&amp;#039; align=&amp;#039;w&amp;#039; top=&amp;#039;30&amp;#039; left=&amp;#039;0&amp;#039; height=&amp;#039;30&amp;#039; width=&amp;#039;90&amp;#039; echo=&amp;#039;deposit all&amp;#039;/&amp;gt;&lt;br /&gt;
  &amp;lt;link id=&amp;#039;wealthnotesLnk&amp;#039; value=&amp;#039;Check Notes&amp;#039; cmd=&amp;#039;wealth notes&amp;#039; align=&amp;#039;e&amp;#039; top=&amp;#039;30&amp;#039; left=&amp;#039;0&amp;#039; height=&amp;#039;30&amp;#039; width=&amp;#039;90&amp;#039; echo=&amp;#039;wealth notes&amp;#039;/&amp;gt;&lt;br /&gt;
  &amp;lt;closeButton id=&amp;#039;closeMe&amp;#039; value=&amp;#039;Close&amp;#039; cmd=&amp;#039;&amp;#039; align=&amp;#039;s&amp;#039; left=&amp;#039;0&amp;#039; top=&amp;#039;0&amp;#039; width=&amp;#039;80&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/dialogData&amp;gt;&lt;br /&gt;
&amp;lt;exposeDialog id=&amp;#039;bank&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;closeDialog id=&amp;quot;bank&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Target Injuries Appraisal Dialog===&lt;br /&gt;
When you &amp;lt;code&amp;gt;appraise&amp;lt;/code&amp;gt; another character, a dynamic injuries dialog opens showing their wounds:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;openDialog type=&amp;#039;dynamic&amp;#039; id=&amp;#039;injuries-10070682&amp;#039; title=&amp;#039;Dicate&amp;amp;apos;s Injuries&amp;#039; location=&amp;#039;right&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;dialogData id=&amp;#039;injuries&amp;#039;&amp;gt;&lt;br /&gt;
    &amp;lt;skin id=&amp;#039;injuredSkin&amp;#039; name=&amp;#039;InjuriesPanel&amp;#039;&lt;br /&gt;
          controls=&amp;#039;nsys,leftArm,rightArm,rightLeg,leftLeg,head,rightFoot,leftFoot,rightHand,leftHand,rightEye,leftEye,back,neck,chest,abdomen&amp;#039;/&amp;gt;&lt;br /&gt;
    &amp;lt;closeButton id=&amp;#039;cancel&amp;#039; value=&amp;#039;Close&amp;#039; cmd=&amp;#039;&amp;#039;/&amp;gt;&lt;br /&gt;
  &amp;lt;/dialogData&amp;gt;&lt;br /&gt;
&amp;lt;/openDialog&amp;gt;&lt;br /&gt;
&amp;lt;dialogData id=&amp;quot;injuries-10070682&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;image id=&amp;quot;head&amp;quot; name=&amp;quot;Injury1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;image id=&amp;quot;neck&amp;quot; name=&amp;quot;Injury2&amp;quot; cmd=&amp;quot;tend Dicate neck&amp;quot; tooltip=&amp;quot;tend Dicate&amp;#039;s neck&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;image id=&amp;quot;rightArm&amp;quot; name=&amp;quot;Injury3&amp;quot; cmd=&amp;quot;tend Dicate right arm&amp;quot;/&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/dialogData&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Key Elements:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Dialog ID: injuries-{existID} where existID is the target&amp;#039;s object ID&lt;br /&gt;
* Body part images with injury levels: Injury1 (minor), Injury2 (moderate), Injury3 (severe)&lt;br /&gt;
* Clickable cmd attributes for tending wounds&lt;br /&gt;
* Body parts tracked: head, neck, rightArm, leftArm, rightLeg, leftLeg, rightHand, leftHand, chest, abdomen, back, rightEye, leftEye, rightFoot, leftFoot, nsys&lt;br /&gt;
&lt;br /&gt;
==UI Control Elements==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;progressBar&amp;lt;/code&amp;gt; || Progress indicator || id, value, text, customText, top, left, height, width&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cmdButton&amp;lt;/code&amp;gt; || Command button || id, value, cmd, echo, tooltip&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dropDownBox&amp;lt;/code&amp;gt; || Dropdown selector || id, value, cmd, content_text, content_value&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;upDownEditBox&amp;lt;/code&amp;gt; || Numeric input || id, value, min, max&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt; || Text label || id, value, justify&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;link&amp;lt;/code&amp;gt; || Clickable link || id, value, cmd, echo, URL&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;menuLink&amp;lt;/code&amp;gt; || Menu link || id, value, exist, noun&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; || UI image/button || id, name, cmd, echo, tooltip&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;radio&amp;lt;/code&amp;gt; || Radio button || id, value, text, cmd, group&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt; || UI skin/theme || id, name, controls&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;closeButton&amp;lt;/code&amp;gt; || Close button || id, value, cmd&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sep&amp;lt;/code&amp;gt; || Separator || (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Progress Bar IDs===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ProgressBar ID !! Dialog !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| health || minivitals || Health bar (main)&lt;br /&gt;
|-&lt;br /&gt;
| health2 || injuries || Health bar (injuries)&lt;br /&gt;
|-&lt;br /&gt;
| mana || minivitals || Mana bar&lt;br /&gt;
|-&lt;br /&gt;
| spirit || minivitals || Spirit bar&lt;br /&gt;
|-&lt;br /&gt;
| stamina || minivitals || Stamina bar&lt;br /&gt;
|-&lt;br /&gt;
| pbarStance || combat/stance || Stance indicator&lt;br /&gt;
|-&lt;br /&gt;
| encumlevel || encum || Encumbrance level&lt;br /&gt;
|-&lt;br /&gt;
| mindState || expr || Mind state (experience absorption)&lt;br /&gt;
|-&lt;br /&gt;
| nextLvlPB || expr || Progress to next level&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Progress bars (vitals):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;progressBar id=&amp;#039;health&amp;#039; value=&amp;#039;100&amp;#039; text=&amp;#039;health 223/223&amp;#039; customText=&amp;#039;t&amp;#039; left=&amp;#039;0%&amp;#039; top=&amp;#039;0%&amp;#039; width=&amp;#039;25%&amp;#039; height=&amp;#039;100%&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;progressBar id=&amp;#039;mana&amp;#039; value=&amp;#039;98&amp;#039; text=&amp;#039;mana 426/431&amp;#039; left=&amp;#039;25%&amp;#039; customText=&amp;#039;t&amp;#039; top=&amp;#039;0%&amp;#039; width=&amp;#039;25%&amp;#039; height=&amp;#039;100%&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;progressBar id=&amp;#039;spirit&amp;#039; value=&amp;#039;100&amp;#039; text=&amp;#039;spirit 10/10&amp;#039; left=&amp;#039;50%&amp;#039; customText=&amp;#039;t&amp;#039; top=&amp;#039;0%&amp;#039; width=&amp;#039;25%&amp;#039; height=&amp;#039;100%&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;progressBar id=&amp;#039;stamina&amp;#039; value=&amp;#039;100&amp;#039; text=&amp;#039;stamina 112/112&amp;#039; left=&amp;#039;75%&amp;#039; customText=&amp;#039;t&amp;#039; top=&amp;#039;0%&amp;#039; width=&amp;#039;25%&amp;#039; height=&amp;#039;100%&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;progressBar id=&amp;#039;encumlevel&amp;#039; value=&amp;#039;0&amp;#039; text=&amp;#039;None&amp;#039; top=&amp;#039;5&amp;#039; left=&amp;#039;-5&amp;#039; align=&amp;#039;n&amp;#039; width=&amp;#039;160&amp;#039; height=&amp;#039;15&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Command buttons:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;cmdButton id=&amp;#039;cmdDefStance&amp;#039; value=&amp;#039;defense&amp;#039; cmd=&amp;#039;_stance defensive&amp;#039; tooltip=&amp;#039;Assume a Defensive Stance&amp;#039; echo=&amp;#039;stance defensive&amp;#039; height=&amp;#039;20&amp;#039; width=&amp;#039;55&amp;#039; top=&amp;#039;70&amp;#039; left=&amp;#039;0&amp;#039; align=&amp;#039;nw&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;cmdButton id=&amp;#039;cmdTarget&amp;#039; value=&amp;#039;target&amp;#039; cmd=&amp;#039;target random&amp;#039; tooltip=&amp;#039;Select a Random Target&amp;#039; height=&amp;#039;20&amp;#039; width=&amp;#039;55&amp;#039; top=&amp;#039;93&amp;#039; left=&amp;#039;0&amp;#039; align=&amp;#039;nw&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;cmdButton id=&amp;#039;cmdAttack&amp;#039; value=&amp;#039;attack&amp;#039; cmd=&amp;#039;attack&amp;#039; height=&amp;#039;20&amp;#039; width=&amp;#039;50&amp;#039; left=&amp;#039;0&amp;#039; top=&amp;#039;93&amp;#039; tooltip=&amp;#039;Attack Current Target&amp;#039; align=&amp;#039;ne&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dropdown box:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;dropDownBox id=&amp;#039;dDBStance&amp;#039; value=&amp;quot;defensive&amp;quot; cmd=&amp;#039;_stance %dDBStance%&amp;#039; content_text=&amp;#039;offensive,advance,forward,neutral,guarded,defensive&amp;#039; content_value=&amp;#039;offensive,advance,forward,neutral,guarded,defensive&amp;#039; align=&amp;#039;n&amp;#039; top=&amp;#039;70&amp;#039; left=&amp;#039;0&amp;#039; height=&amp;#039;20&amp;#039; width=&amp;#039;80&amp;#039; tooltip=&amp;#039;Stance Selection&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Labels:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;label id=&amp;#039;encumblurb&amp;#039; value=&amp;#039;You are not encumbered enough to notice.&amp;#039; top=&amp;#039;10&amp;#039; left=&amp;#039;0&amp;#039; align=&amp;#039;n&amp;#039; width=&amp;#039;160&amp;#039; height=&amp;#039;50&amp;#039; justify=&amp;#039;0&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Navigation Elements==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nav&amp;lt;/code&amp;gt; || Navigation/room info || rm (room ID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;compass&amp;lt;/code&amp;gt; || Compass container || (contains dir elements)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; || Direction indicator || value (n, s, e, w, ne, nw, se, sw, up, down, out)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nav rm=&amp;#039;12345&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;compass&amp;gt;&amp;lt;dir value=&amp;quot;e&amp;quot;/&amp;gt;&amp;lt;dir value=&amp;quot;out&amp;quot;/&amp;gt;&amp;lt;/compass&amp;gt;&lt;br /&gt;
&amp;lt;compass&amp;gt;&amp;lt;dir value=&amp;quot;n&amp;quot;/&amp;gt;&amp;lt;dir value=&amp;quot;s&amp;quot;/&amp;gt;&amp;lt;dir value=&amp;quot;e&amp;quot;/&amp;gt;&amp;lt;dir value=&amp;quot;w&amp;quot;/&amp;gt;&amp;lt;/compass&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Interactive/Link Elements==&lt;br /&gt;
===Hyperlink Element (&amp;lt;code&amp;gt;&amp;lt;a&amp;gt;&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Creates clickable links for objects, players, and coordinates.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Attribute !! Description&lt;br /&gt;
|-&lt;br /&gt;
| exist || Game object ID (numeric, can be negative)&lt;br /&gt;
|-&lt;br /&gt;
| noun || Object noun/type&lt;br /&gt;
|-&lt;br /&gt;
| coord || Click coordinates (x,y format)&lt;br /&gt;
|-&lt;br /&gt;
| char || Character name (for player links)&lt;br /&gt;
|-&lt;br /&gt;
| game || Game code (GSIV, GST)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;a exist=&amp;quot;225766824&amp;quot; noun=&amp;quot;bandolier&amp;quot;&amp;gt;leather bandolier&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;a exist=&amp;quot;-11225598&amp;quot; noun=&amp;quot;Ludge&amp;quot;&amp;gt;Ludge&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;a exist=&amp;quot;103330&amp;quot; noun=&amp;quot;resident&amp;quot;&amp;gt;disheveled resident&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;a exist=&amp;quot;-10939058&amp;quot; noun=&amp;quot;Huras&amp;quot;&amp;gt;Huras&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Direct Command Link Element (&amp;lt;code&amp;gt;&amp;lt;d&amp;gt;&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Creates clickable command links in text. When clicked, executes the command specified in the &amp;lt;code&amp;gt;cmd&amp;lt;/code&amp;gt; attribute (or the tag contents if &amp;lt;code&amp;gt;cmd&amp;lt;/code&amp;gt; is omitted). Commonly used for compass directions but works for any command.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Attribute !! Description&lt;br /&gt;
|-&lt;br /&gt;
| cmd || Command to execute (optional - if omitted, executes tag contents as the command)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Compass directions (no cmd attribute - executes tag contents):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;compDef id=&amp;#039;room exits&amp;#039;&amp;gt;Obvious paths: &amp;lt;d&amp;gt;east&amp;lt;/d&amp;gt;, &amp;lt;d&amp;gt;west&amp;lt;/d&amp;gt;&amp;lt;/compDef&amp;gt;&lt;br /&gt;
&amp;lt;compDef id=&amp;#039;room exits&amp;#039;&amp;gt;Obvious exits: &amp;lt;d&amp;gt;northeast&amp;lt;/d&amp;gt;, &amp;lt;d&amp;gt;out&amp;lt;/d&amp;gt;&amp;lt;/compDef&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Movement message (with cmd attribute):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Lord &amp;lt;a exist=&amp;quot;-10939058&amp;quot; noun=&amp;quot;Huras&amp;quot;&amp;gt;Huras&amp;lt;/a&amp;gt; just went &amp;lt;d cmd=&amp;#039;go west&amp;#039;&amp;gt;west&amp;lt;/d&amp;gt;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Store commands:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  shield: &amp;lt;d cmd=&amp;quot;store SHIELD clear&amp;quot;&amp;gt;an &amp;lt;a exist=&amp;quot;412277454&amp;quot; noun=&amp;quot;buckler&amp;quot;&amp;gt;old krodera buckler&amp;lt;/a&amp;gt;&amp;lt;/d&amp;gt; (&amp;lt;d cmd=&amp;#039;store set&amp;#039;&amp;gt;put in sheath&amp;lt;/d&amp;gt;)&lt;br /&gt;
  weapon: &amp;lt;d cmd=&amp;quot;store WEAPON clear&amp;quot;&amp;gt;a &amp;lt;a exist=&amp;quot;412277485&amp;quot; noun=&amp;quot;baselard&amp;quot;&amp;gt;sleek gleaming steel baselard&amp;lt;/a&amp;gt;&amp;lt;/d&amp;gt; (&amp;lt;d cmd=&amp;#039;store set&amp;#039;&amp;gt;put in sheath&amp;lt;/d&amp;gt;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Character State Elements==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;indicator&amp;lt;/code&amp;gt; || Status indicator || id, visible (y/n)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;spell&amp;lt;/code&amp;gt; || Current prepared spell || (text content)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;left&amp;lt;/code&amp;gt; || Left hand item || exist, noun&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;right&amp;lt;/code&amp;gt; || Right hand item || exist, noun&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;prompt&amp;lt;/code&amp;gt; || Command prompt || time (unix timestamp)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;roundTime&amp;lt;/code&amp;gt; || Action round time || value (seconds)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;castTime&amp;lt;/code&amp;gt; || Spell cast time || value (seconds)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Indicator IDs===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Indicator ID !! Status&lt;br /&gt;
|-&lt;br /&gt;
| IconKNEELING || Kneeling&lt;br /&gt;
|-&lt;br /&gt;
| IconPRONE || Prone&lt;br /&gt;
|-&lt;br /&gt;
| IconSITTING || Sitting&lt;br /&gt;
|-&lt;br /&gt;
| IconSTANDING || Standing&lt;br /&gt;
|-&lt;br /&gt;
| IconSTUNNED || Stunned&lt;br /&gt;
|-&lt;br /&gt;
| IconHIDDEN || Hidden&lt;br /&gt;
|-&lt;br /&gt;
| IconINVISIBLE || Invisible&lt;br /&gt;
|-&lt;br /&gt;
| IconDEAD || Dead&lt;br /&gt;
|-&lt;br /&gt;
| IconWEBBED || Webbed&lt;br /&gt;
|-&lt;br /&gt;
| IconJOINED || Joined group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Character state elements:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;indicator id=&amp;#039;IconSTANDING&amp;#039; visible=&amp;#039;y&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;indicator id=&amp;#039;IconHIDDEN&amp;#039; visible=&amp;#039;y&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;indicator id=&amp;#039;IconHIDDEN&amp;#039; visible=&amp;#039;n&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;indicator id=&amp;#039;IconSTUNNED&amp;#039; visible=&amp;#039;y&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;indicator id=&amp;#039;IconINVISIBLE&amp;#039; visible=&amp;#039;n&amp;#039;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;spell&amp;gt;None&amp;lt;/spell&amp;gt;&lt;br /&gt;
&amp;lt;spell&amp;gt;Fire Spirit (111)&amp;lt;/spell&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;left exist=&amp;quot;394466807&amp;quot; noun=&amp;quot;bow&amp;quot;&amp;gt;ghezyte long bow&amp;lt;/left&amp;gt;&lt;br /&gt;
&amp;lt;left exist=&amp;quot;&amp;quot; noun=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;right exist=&amp;quot;417169523&amp;quot; noun=&amp;quot;arrows&amp;quot;&amp;gt;glowbark arrows&amp;lt;/right&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;prompt time=&amp;quot;1767310975&amp;quot;&amp;gt;&amp;amp;gt;&amp;lt;/prompt&amp;gt;&lt;br /&gt;
&amp;lt;roundTime value=&amp;#039;1767333503&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;castTime value=&amp;#039;1767250287&amp;#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Text Formatting Elements==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pushBold&amp;lt;/code&amp;gt; || Start bold text || (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;popBold&amp;lt;/code&amp;gt; || End bold text || (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; || Bold wrapper || (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;output&amp;lt;/code&amp;gt; || Output formatting/font switch || class&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;style&amp;lt;/code&amp;gt; || Text style || id (roomName, roomDesc, etc.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;preset&amp;lt;/code&amp;gt; || Styled action text || id (speech, whisper, thought)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Output Class Values===&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;output class=&amp;quot;mono&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; - Switch to monospace font&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;output class=&amp;quot;&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; - Switch back to normal font&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Bold text (monster highlighting):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; &amp;lt;pushBold/&amp;gt;a &amp;lt;a exist=&amp;quot;103330&amp;quot; noun=&amp;quot;resident&amp;quot;&amp;gt;disheveled resident&amp;lt;/a&amp;gt;&amp;lt;popBold/&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Room styling:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;popBold/&amp;gt;&amp;lt;resource picture=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;style id=&amp;quot;roomName&amp;quot; /&amp;gt;[Cobblestone Path]&lt;br /&gt;
&amp;lt;style id=&amp;quot;roomDesc&amp;quot;/&amp;gt;The narrow cobblestone path winds between aged buildings...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Speech/whisper preset:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;preset id=&amp;quot;whisper&amp;quot;&amp;gt;(OOC) You whisper,&amp;lt;/preset&amp;gt; &amp;quot;Rallying at 0d7d2dc1.&amp;quot; to your group.&lt;br /&gt;
&amp;lt;preset id=&amp;quot;whisper&amp;quot;&amp;gt;(OOC) &amp;lt;a exist=&amp;quot;-10070682&amp;quot; noun=&amp;quot;Dicate&amp;quot;&amp;gt;Dicate&amp;#039;s&amp;lt;/a&amp;gt; player whispers to the group,&amp;lt;/preset&amp;gt; &amp;quot;Joined cluster group 0d7d2dc1.&amp;quot;&lt;br /&gt;
&amp;lt;preset id=&amp;quot;speech&amp;quot;&amp;gt;Nisugi says,&amp;lt;/preset&amp;gt; &amp;quot;Hello!&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Font switching:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;output class=&amp;quot;mono&amp;quot;/&amp;gt;&lt;br /&gt;
   Name                            Mana     Known/Cast&lt;br /&gt;
   Minor Elemental Edge (902)        1          Yes&lt;br /&gt;
   Elemental Defense I (401)         1          Yes&lt;br /&gt;
&amp;lt;output class=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Menu System==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;menu&amp;lt;/code&amp;gt; || Menu container || id, path, cat_list&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mi&amp;lt;/code&amp;gt; || Menu item || coord&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;menuImage&amp;lt;/code&amp;gt; || Image in menu || (for quick bar menus)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Settings/Flags System==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; || Player setting flag || id, status (on/off), desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example flags:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Player Log On, Player Log Off, Player Disconnect&lt;br /&gt;
* Room Names, Room Descriptions, Brief Room Description&lt;br /&gt;
* Monster Bold, Default Group Open&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Player Log On&amp;quot; status=&amp;#039;off&amp;#039; desc=&amp;quot;Show logon messages.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Player Log Off&amp;quot; status=&amp;#039;off&amp;#039; desc=&amp;quot;Show logoff messages.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Player Disconnect&amp;quot; status=&amp;#039;off&amp;#039; desc=&amp;quot;Show disconnection messages.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Room Names&amp;quot; status=&amp;#039;on&amp;#039; desc=&amp;quot;Display the name of the room in which you are located.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Room Descriptions&amp;quot; status=&amp;#039;on&amp;#039; desc=&amp;quot;Display room descriptions.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Brief Room Description&amp;quot; status=&amp;#039;off&amp;#039; desc=&amp;quot;Display room descriptions in shortened form.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Monster Bold&amp;quot; status=&amp;#039;on&amp;#039; desc=&amp;quot;Highlight monster names.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Default Group Open&amp;quot; status=&amp;#039;on&amp;#039; desc=&amp;quot;Allow others to join your group.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Automatically Activate ESP Amulets&amp;quot; status=&amp;#039;on&amp;#039; desc=&amp;quot;Activate items for THINKing automatically.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;flag id=&amp;quot;Automatically Gather Coins&amp;quot; status=&amp;#039;on&amp;#039; desc=&amp;quot;Gather coins when searching your kills.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Client Settings (stgupd)==&lt;br /&gt;
Used within &amp;lt;code&amp;gt;&amp;amp;lt;!-- CLIENT --&amp;amp;gt;&amp;lt;/code&amp;gt; markers for client-side settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- CLIENT --&amp;gt;&amp;lt;stgupd&amp;gt;&amp;lt;panels&amp;gt;...&amp;lt;/panels&amp;gt;&amp;lt;!-- ENDCLIENT --&amp;gt;&lt;br /&gt;
&amp;lt;!-- CLIENT --&amp;gt;&amp;lt;stgupd&amp;gt;&amp;lt;stream&amp;gt;...&amp;lt;/stream&amp;gt;&amp;lt;!-- ENDCLIENT --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Nested Elements in stgupd===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description&lt;br /&gt;
|-&lt;br /&gt;
| panels || Panel layout configuration&lt;br /&gt;
|-&lt;br /&gt;
| stream || Stream window settings&lt;br /&gt;
|-&lt;br /&gt;
| misc || Miscellaneous settings&lt;br /&gt;
|-&lt;br /&gt;
| toggles || Toggle settings&lt;br /&gt;
|-&lt;br /&gt;
| group || Group container (id: Left, Right)&lt;br /&gt;
|-&lt;br /&gt;
| w || Window configuration&lt;br /&gt;
|-&lt;br /&gt;
| m || Setting value&lt;br /&gt;
|-&lt;br /&gt;
| s || Toggle state&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==UI State Control==&lt;br /&gt;
===Monopolize Element===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;monopolize&amp;lt;/code&amp;gt; || Game takes exclusive control of a stream&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;code&amp;gt;monopolize id=&amp;quot;main&amp;quot;&amp;lt;/code&amp;gt; is set, the game blocks all other text/streams until released with &amp;lt;code&amp;gt;monopolize id=&amp;quot;&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;monopolize id=&amp;quot;main&amp;quot;/&amp;gt;You get a room key from the innkeeper and wander off to your room...&lt;br /&gt;
... (inn rest sequence) ...&lt;br /&gt;
&amp;lt;indicator id=&amp;#039;IconINVISIBLE&amp;#039; visible=&amp;#039;n&amp;#039;/&amp;gt;&amp;lt;monopolize id=&amp;quot;&amp;quot;/&amp;gt;&amp;lt;output class=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous Elements==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Element !! Description !! Key Attributes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;switchQuickBar&amp;lt;/code&amp;gt; || Switch active quick bar || id&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;updateverbs&amp;lt;/code&amp;gt; || Update available verbs || default&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cmdlist&amp;lt;/code&amp;gt; || Command list || (none)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cmdtimestamp&amp;lt;/code&amp;gt; || Command timestamp || data&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pushInputState&amp;lt;/code&amp;gt; || Input state control || state&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;popInputState&amp;lt;/code&amp;gt; || Pop input state || (none)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;switchQuickBar id=&amp;quot;quick&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;switchQuickBar id=&amp;quot;quick-simu&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;switchQuickBar id=&amp;quot;quick-combat&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Special Behaviors==&lt;br /&gt;
===Newline Suppression===&lt;br /&gt;
Tags followed by newlines suppress newline output &amp;#039;&amp;#039;&amp;#039;except&amp;#039;&amp;#039;&amp;#039; for:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;a&amp;gt;&amp;lt;/code&amp;gt; (hyperlinks)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;pushBold&amp;gt;&amp;lt;/code&amp;gt; (bold start)&lt;br /&gt;
&lt;br /&gt;
===Mixed Content===&lt;br /&gt;
Output contains both XML tags and plain text on the same lines. Parsers must handle interleaved content.&lt;br /&gt;
&lt;br /&gt;
===Negative Exist IDs===&lt;br /&gt;
Room/NPC objects often have negative exist values (e.g., -11225598).&lt;br /&gt;
&lt;br /&gt;
==Common Attributes Reference==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Category !! Attributes&lt;br /&gt;
|-&lt;br /&gt;
| Layout || top, left, height, width, align, anchor_top, anchor_left, anchor_right, justify, location&lt;br /&gt;
|-&lt;br /&gt;
| Identity || id, exist, noun&lt;br /&gt;
|-&lt;br /&gt;
| Behavioral || cmd, echo, value, visible, resident, ifClosed&lt;br /&gt;
|-&lt;br /&gt;
| Content || title, subtitle, text, tooltip, content_text, content_value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Complete Element Summary==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Total Unique Elements: 60+&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Category !! Count !! Elements&lt;br /&gt;
|-&lt;br /&gt;
| Core || 5 || mode, playerID, settingsInfo, app, endSetup&lt;br /&gt;
|-&lt;br /&gt;
| Streams || 6 || streamWindow, clearStream, pushStream, popStream, stream, exposeStream&lt;br /&gt;
|-&lt;br /&gt;
| Components || 2 || compDef, component&lt;br /&gt;
|-&lt;br /&gt;
| Containers || 5 || container, exposeContainer, clearContainer, deleteContainer, inv&lt;br /&gt;
|-&lt;br /&gt;
| Dialogs || 4 || openDialog, dialogData, closeDialog, exposeDialog&lt;br /&gt;
|-&lt;br /&gt;
| Controls || 12 || progressBar, cmdButton, dropDownBox, upDownEditBox, label, link, menuLink, image, radio, skin, closeButton, sep&lt;br /&gt;
|-&lt;br /&gt;
| Navigation || 3 || nav, compass, dir&lt;br /&gt;
|-&lt;br /&gt;
| Interactive || 2 || a, d&lt;br /&gt;
|-&lt;br /&gt;
| Character State || 7 || indicator, spell, left, right, prompt, roundTime, castTime&lt;br /&gt;
|-&lt;br /&gt;
| Formatting || 6 || pushBold, popBold, b, output, style, preset&lt;br /&gt;
|-&lt;br /&gt;
| Menu || 3 || menu, mi, menuImage&lt;br /&gt;
|-&lt;br /&gt;
| Settings || 1 || flag&lt;br /&gt;
|-&lt;br /&gt;
| Miscellaneous || 7 || switchQuickBar, updateverbs, cmdlist, cmdtimestamp, pushInputState, popInputState, monopolize&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Front Ends]]&lt;/div&gt;</summary>
		<author><name>imported&gt;HORIBU1</name></author>
	</entry>
</feed>