<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://elanthipedia.play.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HAZADO22</id>
	<title>Elanthipedia - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://elanthipedia.play.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HAZADO22"/>
	<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/Special:Contributions/HAZADO22"/>
	<updated>2026-05-07T22:02:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.12</generator>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Currency&amp;diff=506630</id>
		<title>Currency</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Currency&amp;diff=506630"/>
		<updated>2019-08-21T22:04:26Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: Dokoras to kronar exchange rate was wrong&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete|Needs premium banks listed out}}&lt;br /&gt;
{{RTOC}}&lt;br /&gt;
There are three types of &#039;&#039;&#039;currency&#039;&#039;&#039; in [[Elanthia]]: Kronar, Lirum, and Dokora, as well as one obsolete currency called the Dira.&lt;br /&gt;
&lt;br /&gt;
==Currency Types==&lt;br /&gt;
Each province uses one currency type for all official and shop transactions.&lt;br /&gt;
&lt;br /&gt;
===Kronars===&lt;br /&gt;
Kronars are used in the province of [[Zoluren]], and are the only coin accepted at [[vault]]s regardless of location.&lt;br /&gt;
&lt;br /&gt;
The KRONAR is a round coin, with no edges. The circumference of the coin slopes downward, giving the edge of the entire coin a sharp, almost weapon-like look to it. On one side, a minuscule map of the contiguous landmass with the words ZOHLU REN underneath. The reverse shows the broad, patient face of an ox - symbolizing Elanthia as Truffenyi&#039;s planet.&lt;br /&gt;
&lt;br /&gt;
===Lirums===&lt;br /&gt;
Lirums are used in the provinces of [[Therengia]] and [[Qi&#039;Reshalia]].&lt;br /&gt;
&lt;br /&gt;
Named after [[Lirum (person)|Lirum]], the wife of [[Akroeg]].&lt;br /&gt;
&lt;br /&gt;
Shaped like a diamond with rounded edges, the LIRUM is the only coin of Elanthia to feature the likeness of a person. Along the corners on both sides of the coin, tiny roses have been stamped. One side features a stoic looking human woman with her hair in a bun. Centered under the portrait is the name LIRUM. On the reverse side, a simple seven-pointed star is situated in the middle with the words FEAS, KHALOR, HALEEN around the coin.&lt;br /&gt;
&lt;br /&gt;
===Dokoras===&lt;br /&gt;
Dokoras are the coin of the realm in [[Ilithi]] and [[Forfedhdar]].&lt;br /&gt;
&lt;br /&gt;
Oblong in shape, the DOKORA is the heaviest of the Elanthian currencies because of the weighted raised edges it possesses. These weighted edges exist to counterbalance a square hole in the middle of each DOKORA. The origins of the DOKORA are in Ilithi, although the coin is used elsewhere, and so one side shows two lotus blooms flanking the square hole, while the other side depicts a single cloud above and the words &amp;quot;Ylosh Sampul&amp;quot; below.&lt;br /&gt;
&lt;br /&gt;
==Denominations==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Coin !! Copper !! Bronze !! Silver !! Gold !! Platinum&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Copper&#039;&#039;&#039; || &#039;&#039;&#039;1&#039;&#039;&#039; || 1/10 || 1/100 || 1/1,000 || 1/10,000&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Bronze&#039;&#039;&#039; || 10 || &#039;&#039;&#039;1&#039;&#039;&#039; || 1/10 || 1/100 || 1/1,000&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Silver&#039;&#039;&#039; || 100 || 10 || &#039;&#039;&#039;1&#039;&#039;&#039; || 1/10 || 1/100&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Gold&#039;&#039;&#039; || 1,000 || 100 || 10 || &#039;&#039;&#039;1&#039;&#039;&#039; || 1/10&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Platinum&#039;&#039;&#039; || 10,000 || 1,000 || 100 || 10 || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Exchange Rates==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Currency !! Kronar !! Lirum !! Dokoras &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Kronar&#039;&#039;&#039; || &#039;&#039;&#039;1&#039;&#039;&#039; || 0.800 || 0.7216&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Lirum&#039;&#039;&#039; || 1.250 || &#039;&#039;&#039;1&#039;&#039;&#039; || 0.902&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &#039;&#039;&#039;Dokoras&#039;&#039;&#039; || 1.385808991 || 1.108646953 || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
For example, 1000 Lirums is equivalent to 1250 Kronars or to 902 Dokoras.&lt;br /&gt;
&lt;br /&gt;
[[Estate Holder]]s may use their [[bank book]]s to calculate exchange rates while in-game.&lt;br /&gt;
&lt;br /&gt;
==Banks and Exchange Fees==&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT NOTE ABOUT AMOUNT YOU MAY KEEP IN EACH INDIVIDUAL BANK BRANCH&#039;&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
Attempting to put anything more than 212k platinum in any one bank may cause your account in that bank to rollover, that is -- cause your money to disappear.  To prevent this, keep any money over this amount in other banks.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Different Banks charge different fees for exchanging currency, ranging from 3%-13%.&amp;lt;br&amp;gt;&lt;br /&gt;
Money-changers in Elanthia will only handle transactions for 1,000 platinum and under.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Sortable table&lt;br /&gt;
|-&lt;br /&gt;
!City!! Province!!Fee!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap1|Crossing]]||Zoluren||5%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap1|Crossing (Strand Communal Center)]]||Zoluren||3%||Premium-only. Can withdraw from any bank.&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap61|Leth Deriel]]||Zoluren||5%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap13|Dirge]]||Zoluren||10%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap112|Ilaya Taipa]]||Zoluren||10%||deposit-only bank that ties into Leth Deriel; charges a 7% fee&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap42|Therenborough]]||Therengia||5%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap30|Riverhaven]]||Therengia||7%|||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap30|Riverhaven (Armiger&#039;s Mansion)]]||Therengia||3%||Premium-only. Can withdraw from any bank.&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap41|El Bain&#039;s Stop (Bank Under the Roots)]]||Therengia||3%|||Premium-only. Ties into Therenborough.&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap35|Throne City]]||Therengia||7%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap47|Muspar&#039;i (foreigner)]]||Therengia||10%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap47|Muspar&#039;i (citizen)]]||Therengia||7%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap34a|Rossman&#039;s Landing]]||Therengia||9%||ties into Riverhaven&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap67|Shard]]||Ilithi||5%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap150|Fang Cove]]||Ilithi||3%||Premium-only&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap64a|Chyolvea Tayeu&#039;a]]||Ilithi||8%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap90|Ratha (1st Tier)]]||Qi&#039;Reshalia||7%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap90|Ratha (3rd Tier)]]||Qi&#039;Reshalia||3%||Premium-only&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap99|Aesry]]||Qi&#039;Reshalia||9%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap107|Mer&#039;Kresh]]||Qi&#039;Reshalia||9%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap107|Mer&#039;Kresh (Estate Holders Club)]]||Qi&#039;Reshalia||3%||Premium-only. &lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap106|Hara&#039;jaal]]||Qi&#039;Reshalia||13%||&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap117|Hibarnhvidar (Inner)]]||Forfedhdar||5%||same account as bank in Outer Hibarnhvidar&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap116|Hibarnhvidar (Outer)]]||Forfedhdar||7%||same account as bank in Inner Hibarnhvidar&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap117|Hibarnhvidar (Stoney Hub)]]||Forfedhdar||3%||Premium-only;  ties into Hibarnhvidar&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap121|Boar Clan]]||Forfedhdar||8%||Ranger- and Cleric-only; ties into Hibarnhvidar&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap114|Ain Ghazal]]||Forfedhdar||9%||Premium-only; ties into Hibarnhvidar&lt;br /&gt;
|-&lt;br /&gt;
|[[RanikMap127|Raven&#039;s Point]]||Forfedhdar||9%||ties into Hibarnhvidar&lt;br /&gt;
|-&lt;br /&gt;
|First Arachnid Bank||Forfedhdar||5%||[[Hollow Eve Festival]] bank; ties into Hibarnhvidar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Monetary coins are a special type of item.  When held normally, they do not count against your total [[inventory]], but do have weight and will impact your [[encumbrance]] if carrying a large amount.  They are also susceptible to [[Stealing|theft]].  &lt;br /&gt;
&lt;br /&gt;
Dropping coins will create coin items on the ground.  Coins may be placed in and retrieved from [[moneybelt]]s to protect them from thieves.&lt;br /&gt;
&lt;br /&gt;
==Non-Standard Currency==&lt;br /&gt;
Non-standard currencies are former or current forms of currency that are treated as items and not accepted as payment at most locations.&lt;br /&gt;
&lt;br /&gt;
===Dira===&lt;br /&gt;
Dira were the currency of the [[Empire of the Seven-Pointed Star]], but are no longer valued as money. Instead, they are considered collector&#039;s items. See [[Dira]] for more information.&lt;br /&gt;
&lt;br /&gt;
Each Emperor minted a coin of his or her predecessor, with their likeness and name along with the dates of rule. DIRA were minted in pure silver with high raised edges which was then surrounded by a thin band of the metal of the denomination of the DIRA. Much like present day currency, the DIRA came in copper, bronze, silver or gold. Platinum was not yet needed. Unfortunately, over the passage of time, the thin bands of these denomination markers have either worn off the coins or been removed, leaving most DIRA today as only the plain silver &amp;quot;internal&amp;quot; coin.&amp;lt;br /&amp;gt;&#039;&#039;Note: For reference, this means the coin was minted in silver, then an additional band of copper, bronze, silver, or gold was added to the outside to note the denomination.&lt;br /&gt;
&lt;br /&gt;
===Oravir Slivers===&lt;br /&gt;
The [[vykathi]] of [[the Hive]] use {{Ilink|i|oravir sliver|slivers of oravir}} as some form of currency. While not used by any other race, some researchers are willing to exchange them for more common coins.&lt;br /&gt;
&lt;br /&gt;
Oravir slivers are just that. They are not uniform in shape or size (although larger ones are not used or broken down into smaller slivers for storage purposes) and have no markings on them whatsoever.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[Protect command|PROTECT COIN]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Dira]]&lt;br /&gt;
*[[Currency Converter (script)]]: Genie script that converts between Elanthian currencies&lt;br /&gt;
*[[Currency Exchange Calculator (script)]]: Genie script that tells you how much money is needed to convert from one currency to another, including the exchange fee.&lt;br /&gt;
&lt;br /&gt;
{{Cat|Concepts}}&lt;br /&gt;
[[page type is::concept| ]]&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Item:Flash_trinket_(crafted)&amp;diff=506139</id>
		<title>Item:Flash trinket (crafted)</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Item:Flash_trinket_(crafted)&amp;diff=506139"/>
		<updated>2019-08-15T00:50:12Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Item&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
{{CraftTemplate|itype=flash trinket|noun=&amp;lt;various&amp;gt;|type=misc|mat=sigil|dif=2|vol=1|matdetail=induction|tech=Basic Artificing Principles|||}}&lt;br /&gt;
&lt;br /&gt;
This item will reflect the base component used to create it, so the base noun and measurements will vary.  If the base component was &#039;&#039;a balsa cougar bead&#039;&#039;, the finished item will also be &#039;&#039;a balsa cougar bead&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Focus==&lt;br /&gt;
An example {{com|focus}} for this item:&lt;br /&gt;
:You sense a matrix formed using Life mana, commonly referred to as the Flash Glamour Trinket enchantment.&lt;br /&gt;
&lt;br /&gt;
:The enchantment appears of above-average quality, has great potency, demonstrates central complexity, and is abstract.  This enchantment is of Lesser grade, and was modified to bonus durability.  The matrix originally supported &#039;&#039;&amp;lt;number&amp;gt;&#039;&#039; charges, and has &#039;&#039;&amp;lt;number&amp;gt;&#039;&#039; charges remaining.&lt;br /&gt;
:You believe this item can be activated with rub.&lt;br /&gt;
==Standard==&lt;br /&gt;
&#039;&#039;Use balsa wood as a base for reference.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Material !! Mat. Capacity !! Mat. Durability !! Speed !! Tool Durability !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Balsa|| 70 || 3 || - || - ||   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Variations==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Material !! Mat. Capacity !! Mat. Durability !! Speed !! Tool Durability !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Verbs==&lt;br /&gt;
* {{com|rub}}: You rub your thumb across the totem, causing your eyes to flash with a powerful blue light!&lt;br /&gt;
&lt;br /&gt;
{{RefAl|p=-|a=y}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Empathic_shock&amp;diff=505850</id>
		<title>Empathic shock</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Empathic_shock&amp;diff=505850"/>
		<updated>2019-08-12T23:24:53Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: add message for max shock level&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RTOC}}&lt;br /&gt;
&#039;&#039;&#039;Shock&#039;&#039;&#039; is the temporary loss of guild abilities that [[Empath]]s suffer when they perform violent acts.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Shock Theory==&lt;br /&gt;
Every sentient creature in [[Elanthia]] is born with innate empathy for the life forces of other living things. But for most, this sense is dulled and suppressed by a lifetime of the tiny (or not so tiny) harmful actions that are usually necessary for survival. Empaths, in contrast, strengthen and focus this natural sense into a highly refined sense, but to do so they must entirely avoid violence.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
When a non-Empath does harm, the suppression of natural empathy means they experience no ill effects. When an Empath attempts harm, it clashes violently with their finely-honed sensitivity to the life forces around them and causes shock.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Contrary to popular belief, shock is not a punishment for breaching a moral code of pacifism. Rather, it is an automatic physiological reaction. Borrowing a player&#039;s analogy, Salvur made the following comparison:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;If you dwelt in a cave for a year and a day, and then wandered out into the noonday sun, the bright light would hurt your eyes, and you would be temporarily blinded. This is much like Empathic shock, which is pain followed by a temporary insensitivity that is caused by over-stimulation of one&#039;s empathic senses.&amp;lt;/blockquote&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is no inherent moral component to shock, although many Empaths view shock as a highly personal issue and will only discuss it with their closest friends and family.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;SimuCon 2003 Empath Guild Seminar&#039;&#039;&#039;: Why can an Empath not hunt, or not swing a sword without getting shock even if they don&#039;t actually hit anything? (Note: this is partially obsolete, as you must actually cause injury to experience empathic shock; intent is irrelevant.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
When people are born today, over many generations, people have been developing the skill that will be empathy. As that power/ability developed, the suppression of it also developed. Everyone is capable of becoming an Empath. Those who make the choice to be combat oriented learn to suppress empathy. Empathy and the suppression of empathy are reflexive mental actions. When someone joins the Empath guild, suppression is not developed much if at all, but the empathy instinct is primed. The skill for suppression is suppressed and empathy is enhanced when a person joins the guild. Empathic shock is something done to the self when the suppression is suddenly activated to the empathy part of the brain. It is the natural suppression reflex which has been suppressed kicking in and kicking hard.&lt;br /&gt;
&lt;br /&gt;
==Causes of Shock==&lt;br /&gt;
&lt;br /&gt;
Empathic shock is primarily caused by directly harming living beings. Examples of actions that cause shock:&lt;br /&gt;
*injuring another creature or adventurer with weapons or damaging magic (as opposed to an unsuccessful attempt)&lt;br /&gt;
*fishing&lt;br /&gt;
*healing a [[Necromancer]] with sufficient [[Divine Outrage]]&lt;br /&gt;
&lt;br /&gt;
The only surefire way to avoid empathic shock is to never attempt a shock-causing action.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Shock will not happen when an Empath causes &#039;&#039;indirect&#039;&#039; harm, for example by hiring an assassin or firing a mangonel at a boat. Generally speaking, shock-causing actions require the Empath to be the &#039;&#039;&#039;primary, direct, and deliberate causative agent&#039;&#039;&#039; of harm. In the case of mangonels, the Empath is absolved since the direct target is an inanimate object (the boat) and not a living being. Finding a way to directly harm other characters without receiving shock is warnable as [[mechanics abuse]], and shock may be applied retroactively by a GM.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Shock wears off with time as long as you are not &amp;quot;perma-shocked&amp;quot; or completely insensitive, but its duration can be considerable. Generally speaking, the more harm that was caused, the longer the length of shock. Merely punching or kicking someone will incur only perhaps an hour or two of shock, but it might take many days of being logged in for your empathy to recover from murder. Once you reach &amp;quot;perma-shock&amp;quot; or complete insensitivity, the [[Shock Quest|quest]] must be performed to jump-start the recovery process. The details of the quest are an in-game secret, so try discreetly asking other Empaths.&lt;br /&gt;
&lt;br /&gt;
==Shock Levels==&lt;br /&gt;
Empaths can use a cassava root to determine their shock levels by {{tt|TOUCH}}ing it.&lt;br /&gt;
* Your [item]&#039;s life force is brimming with unblemished vigor!&lt;br /&gt;
* Your [item]&#039;s life force remains unblemished save for a single, tiny deadened speck.&lt;br /&gt;
* Your [item]&#039;s life force remains largely robust, though several small deadened areas have formed.&lt;br /&gt;
* Your [item]&#039;s life force is still mostly strong, though it shows more than the occasional deadened area.&lt;br /&gt;
* Your [item]&#039;s life force displays interwoven strands connecting each of the deadened areas within.&lt;br /&gt;
* Your [item]&#039;s life force is pulsing between vigor and numbness.&lt;br /&gt;
* Your [item]&#039;s life force is waning, the strands connecting its deadened areas growing more numerous.&lt;br /&gt;
* Your [item]&#039;s life force is significantly weakened, with large portions of it numbed and deadened completely.&lt;br /&gt;
* Your [item]&#039;s life force is imperceptible.&lt;br /&gt;
* You thumb your [item].&lt;br /&gt;
&lt;br /&gt;
==Consequences of Shock==&lt;br /&gt;
The first consequence of getting shock is a short stun. Empaths who have significantly deadened their Empathic sensitivity will have significantly shorter stuns than more sensitive Empaths. That is, the more shocked you are, the shorter your shock stun will be. Shock is granular, and as you accrue more shock, you will gradually weaken many of your abilities, and your effective skill with empathy may be penalized. For example, a partially shocked Empath will cast self-healing spells with less efficiency, and will not be able to perceive life as far as an unshocked Empath of equal skill. When you reach complete insensitivity (&amp;quot;perma-shock&amp;quot;), many of your abilities will not work at all or will only function at reduced power.&amp;lt;ref&amp;gt;[[Post:Shock Rewrite - 07/21/2012 - 21:22]]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;The amount of shock an empath has will automatically drain as long as the Empath is both online and not currently permashocked/completely insensitive.&#039;&#039;&#039; If the Empath is completely insensitive the [[Shock Quest Walkthrough|shock quest]] must be performed to start the recovery process. The quest can also be performed before being completely insensitive to reduce recovery time.&lt;br /&gt;
The following abilities and spells will &#039;&#039;&#039;not work&#039;&#039;&#039; for the Empath who is completely insensitive (&amp;quot;perma-shocked&amp;quot;):&amp;lt;br&amp;gt;&lt;br /&gt;
*[[Empath Healing|healing others]]&lt;br /&gt;
*[[Link ability|link]]&lt;br /&gt;
*[[Perceive Health|perceive health]]&lt;br /&gt;
*[[Manipulate ability|manipulate]]&lt;br /&gt;
*[[Shift ability|shift]]&lt;br /&gt;
*[[Scholarship skill|teaching or listening to classes]] on empathy&lt;br /&gt;
*[[Fountain of Creation]]&lt;br /&gt;
*[[Guardian Spirit]]&lt;br /&gt;
*[[Heart Link]]&lt;br /&gt;
*[[Regenerate]]&lt;br /&gt;
*[[Circle of Sympathy]]&lt;br /&gt;
*Additionally, you will appear to be a non-Empath to Empaths who [[Perceive Health|perceive health]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For playability reasons, the following &amp;quot;bread-and-butter&amp;quot; healing spells will still work but at &#039;&#039;&#039;reduced power/efficiency&#039;&#039;&#039;:&amp;lt;br&amp;gt;&lt;br /&gt;
*[[Cure Disease]]&lt;br /&gt;
*[[Flush Poisons]]&lt;br /&gt;
*[[Heal Scars]]&lt;br /&gt;
*[[Heal Wounds]]&lt;br /&gt;
*[[Heal]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
These spells continue to work at full power while completely insensitive:&lt;br /&gt;
*[[Refresh]]&lt;br /&gt;
*[[Blood Staunching]]&lt;br /&gt;
*[[Vitality Healing]]&lt;br /&gt;
*[[Awaken]]&lt;br /&gt;
*[[Mental Focus]]&lt;br /&gt;
*[[Tranquility]]&lt;br /&gt;
*[[Compel]]&lt;br /&gt;
*[[Vigor]]&lt;br /&gt;
*[[Aggressive Stance]]&lt;br /&gt;
*[[Iron Constitution]]&lt;br /&gt;
*[[Paralysis]]&lt;br /&gt;
*[[Lethargy]]&lt;br /&gt;
*[[Aesandry Darlaeth]]&lt;br /&gt;
*[[Perseverance of Peri&#039;el]]&lt;br /&gt;
*[[Gift of Life]]&lt;br /&gt;
*[[Innocence]]&lt;br /&gt;
*[[Nissa&#039;s Binding]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, this spell cannot be learned or cast &#039;&#039;without&#039;&#039; a minimum amount of shock:&lt;br /&gt;
*[[Icutu Zaharenela]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Empathic shock scars the Empath who first experienced it. Although the scar is permanent and perceptible (to other Empaths who touch you), there is no lingering mechanical effect once the shock wears off. &#039;&#039;&#039;You cannot get a scar by sharing shock from another Empath.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; The creatures that spawn from the [[Ranger]] spell [[Awaken Forest]] are NOT constructs. Attacking them as an [[Empath]] WILL result in Empathic [[Shock]].&lt;br /&gt;
&lt;br /&gt;
==Sharing Shock==&lt;br /&gt;
At 10th circle, other Empaths can {{tt|TAKE}} a portion of the shock to reduce the amount of time you are affected by it, but by doing so, they will become shocked themselves. Each time an Empath shares shock from a guildmate, he/she takes approximately half of the remaining shock, leaving half behind. &#039;&#039;&#039;Sharing shock from a guildmate does not cause stunning.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The most efficient way to reduce shock is by organizing a &#039;&#039;&#039;Shock Circle&#039;&#039;&#039;. Since shock is reduced by half each time it is shared, you can benefit from this geometric reduction by setting up several tiers of Empaths to repeatedly take the shock in a hierarchical tree-like progression. A properly organized circle can quickly reduce shock since it will be worked off by many Empaths simultaneously. Shock circles are not easy to set up, since ideally you need five or more Empaths who are all willing to sacrifice their skills for several [[Elanthian Time|anlaen]] in order to help.&lt;br /&gt;
&lt;br /&gt;
==Shock Quest==&lt;br /&gt;
Empaths also have the ability now to complete a lengthy quest to help reduce the time it takes to manage shock. A trip to the [[Adder&#039;s Coil]] in [[Forfedhdar]] will start the shocked Empath on the road to restoring their empathic senses.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The following link contains spoilers about the quest:&lt;br /&gt;
* [[Shock Quest Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
{{RefAl}}&lt;br /&gt;
[[guild association is::Empath| ]]&lt;br /&gt;
[[page type is::definition| ]]&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Item:Solid_cambrinth_bracer_clasped_with_a_rearing_silver_dragon&amp;diff=505131</id>
		<title>Item:Solid cambrinth bracer clasped with a rearing silver dragon</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Item:Solid_cambrinth_bracer_clasped_with_a_rearing_silver_dragon&amp;diff=505131"/>
		<updated>2019-07-24T06:16:28Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Item&lt;br /&gt;
|name=a solid cambrinth bracer clasped with a rearing silver dragon&lt;br /&gt;
|noun=bracer&lt;br /&gt;
|look=Scorch marks mar the dragon clasp&#039;s formerly polished surface.&lt;br /&gt;
|MTag=metal&lt;br /&gt;
|type=cambrinth&lt;br /&gt;
|wearloc=upper arm&lt;br /&gt;
|weight=5&lt;br /&gt;
|appcost=18750&lt;br /&gt;
|sourcetype=-&lt;br /&gt;
|maxcharge=48&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Item:Miniature_ruined_keep_carved_from_granite&amp;diff=505130</id>
		<title>Item:Miniature ruined keep carved from granite</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Item:Miniature_ruined_keep_carved_from_granite&amp;diff=505130"/>
		<updated>2019-07-24T04:53:02Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Item&lt;br /&gt;
|noun=keep&lt;br /&gt;
|look=This customization can be used with any normal freestanding home type home.&lt;br /&gt;
&lt;br /&gt;
Example of what this customization could look like...&lt;br /&gt;
&lt;br /&gt;
A nice freestanding home standing amidst a field of scattered rubble.&lt;br /&gt;
&lt;br /&gt;
[To use this customization, PUT keep ON {HOME}.]&lt;br /&gt;
|appcost=125000&lt;br /&gt;
|sourcetype=-&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Item:Miniature_ruined_keep_carved_from_granite&amp;diff=505129</id>
		<title>Item:Miniature ruined keep carved from granite</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Item:Miniature_ruined_keep_carved_from_granite&amp;diff=505129"/>
		<updated>2019-07-24T04:52:41Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: Created page with &amp;quot;{{Item |noun=keep |look=This customization can be used with any normal freestanding home type home.    Example of what this customization could look like...  A nice freestandi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Item&lt;br /&gt;
|noun=keep&lt;br /&gt;
|look=This customization can be used with any normal freestanding home type home.&lt;br /&gt;
&lt;br /&gt;
Example of what this customization could look like...&lt;br /&gt;
A nice freestanding home standing amidst a field of scattered rubble.&lt;br /&gt;
[To use this customization, PUT keep ON {HOME}.]&lt;br /&gt;
|appcost=125000&lt;br /&gt;
|sourcetype=-&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Item:Miniature_oak_tree_growing_from_within_ruined_walls&amp;diff=505128</id>
		<title>Item:Miniature oak tree growing from within ruined walls</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Item:Miniature_oak_tree_growing_from_within_ruined_walls&amp;diff=505128"/>
		<updated>2019-07-24T04:49:57Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Item&lt;br /&gt;
|noun=tree&lt;br /&gt;
|look=This customization can be used with any normal tree type home.&lt;br /&gt;
&lt;br /&gt;
Example of what this customization could look like...&lt;br /&gt;
A nice tree growing among ruined granite walls.&lt;br /&gt;
[To use this customization, PUT tree ON {HOME}.]&lt;br /&gt;
|appcost=125000&lt;br /&gt;
|sourcetype=-&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Armor:Blackened_steel_gloves_wrought_with_decorative_scorched_silversteel_claws&amp;diff=505127</id>
		<title>Armor:Blackened steel gloves wrought with decorative scorched silversteel claws</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Armor:Blackened_steel_gloves_wrought_with_decorative_scorched_silversteel_claws&amp;diff=505127"/>
		<updated>2019-07-24T04:48:23Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Armor&lt;br /&gt;
|newarmorapp=No&lt;br /&gt;
|noun=gloves&lt;br /&gt;
|look=Set at the end of each fingertip, the fire-blasted silversteel claws are a discreet but menacing addition to the overall design.&lt;br /&gt;
|type=chain armor&lt;br /&gt;
|area=hands&lt;br /&gt;
|hindrance=insignificant&lt;br /&gt;
|stealth=insignificant&lt;br /&gt;
|puncture=good&lt;br /&gt;
|punctureab=very great&lt;br /&gt;
|slice=very good&lt;br /&gt;
|sliceab=very great&lt;br /&gt;
|impact=good&lt;br /&gt;
|impactab=very great&lt;br /&gt;
|fire=moderate&lt;br /&gt;
|fireab=good&lt;br /&gt;
|cold=moderate&lt;br /&gt;
|coldab=good&lt;br /&gt;
|electric=low&lt;br /&gt;
|electricab=fair&lt;br /&gt;
|construction=highly protected&lt;br /&gt;
|metal=yes&lt;br /&gt;
|weight=48&lt;br /&gt;
|appcost=905625&lt;br /&gt;
|sourcetype=-&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Armor:Blackened_steel_gloves_wrought_with_decorative_scorched_silversteel_claws&amp;diff=505126</id>
		<title>Armor:Blackened steel gloves wrought with decorative scorched silversteel claws</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Armor:Blackened_steel_gloves_wrought_with_decorative_scorched_silversteel_claws&amp;diff=505126"/>
		<updated>2019-07-24T04:48:03Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Armor&lt;br /&gt;
|newarmorapp=No&lt;br /&gt;
|noun=gloves&lt;br /&gt;
|look=Set at the end of each fingertip, the fire-blasted silversteel claws are a discreet but menacing addition to the overall design.&lt;br /&gt;
|type=chain armor&lt;br /&gt;
|hindrance=insignificant&lt;br /&gt;
|stealth=insignificant&lt;br /&gt;
|puncture=good&lt;br /&gt;
|punctureab=very great&lt;br /&gt;
|slice=very good&lt;br /&gt;
|sliceab=very great&lt;br /&gt;
|impact=good&lt;br /&gt;
|impactab=very great&lt;br /&gt;
|fire=moderate&lt;br /&gt;
|fireab=good&lt;br /&gt;
|cold=moderate&lt;br /&gt;
|coldab=good&lt;br /&gt;
|electric=low&lt;br /&gt;
|electricab=fair&lt;br /&gt;
|construction=highly protected&lt;br /&gt;
|metal=yes&lt;br /&gt;
|weight=48&lt;br /&gt;
|appcost=905625&lt;br /&gt;
|sourcetype=-&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Item:Length_of_dreamweave_fabric&amp;diff=505125</id>
		<title>Item:Length of dreamweave fabric</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Item:Length_of_dreamweave_fabric&amp;diff=505125"/>
		<updated>2019-07-24T04:46:29Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Item&lt;br /&gt;
|noun=fabric&lt;br /&gt;
|look=The deep purple fabric has a subtle whorled appearance and displays slight variations in sheen across its surface when hit by light.&lt;br /&gt;
|MTag=dreamweave&lt;br /&gt;
|wearloc=head, chest, shoulders, legs&lt;br /&gt;
|sourcetype=-&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;br /&gt;
You study your dreamweave fabric.  The rectangular piece of cloth is big enough to wrap around you in a variety of ways.  You&#039;re sure you can TURN it to determine how it is worn, as well as FOLD and UNFOLD it to lengthen or shorten it.&lt;br /&gt;
&lt;br /&gt;
Currently the fabric may be worn around your torso as a bandeau/sleeveless vest (folded) or dress/toga (unfolded).&lt;br /&gt;
&lt;br /&gt;
Currently the fabric may be worn on your head as a turban (folded) or headdress (unfolded).&lt;br /&gt;
&lt;br /&gt;
Currently the fabric may be worn over your shoulders as a shawl (folded) or cape (unfolded).&lt;br /&gt;
&lt;br /&gt;
Currently the fabric may be worn around your hips as a short sarong or loincloth (folded) or a calf-length sarong (unfolded).&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Item:Length_of_dreamweave_fabric&amp;diff=505124</id>
		<title>Item:Length of dreamweave fabric</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Item:Length_of_dreamweave_fabric&amp;diff=505124"/>
		<updated>2019-07-24T04:45:52Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: Created page with &amp;quot;{{Item |noun=fabric |look=The deep purple fabric has a subtle whorled appearance and displays slight variations in sheen across its surface when hit by light. |MTag=dreamweave...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Item&lt;br /&gt;
|noun=fabric&lt;br /&gt;
|look=The deep purple fabric has a subtle whorled appearance and displays slight variations in sheen across its surface when hit by light.&lt;br /&gt;
|MTag=dreamweave&lt;br /&gt;
|wearloc=head, chest, shoulders, legs&lt;br /&gt;
|sourcetype=-&lt;br /&gt;
|fname=No&lt;br /&gt;
}}&lt;br /&gt;
You study your dreamweave fabric.  The rectangular piece of cloth is big enough to wrap around you in a variety of ways.  You&#039;re sure you can TURN it to determine how it is worn, as well as FOLD and UNFOLD it to lengthen or shorten it.&lt;br /&gt;
&lt;br /&gt;
Currently the fabric may be worn around your torso as a bandeau/sleeveless vest (folded) or dress/toga (unfolded).&lt;br /&gt;
Currently the fabric may be worn on your head as a turban (folded) or headdress (unfolded).&lt;br /&gt;
Currently the fabric may be worn over your shoulders as a shawl (folded) or cape (unfolded).&lt;br /&gt;
Currently the fabric may be worn around your hips as a short sarong or loincloth (folded) or a calf-length sarong (unfolded).&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Lich_mapping_reference&amp;diff=505112</id>
		<title>Lich mapping reference</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Lich_mapping_reference&amp;diff=505112"/>
		<updated>2019-07-23T16:04:51Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: Adding identical room mapping instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Introduction to Mapping==&lt;br /&gt;
This guide is inspired by Tillmens posts on lrn2map: http://forum.gsplayers.com/showthread.php?57828-lrn2map (Note: ignore any mentions of mapmap, this script does not apply to Dragonrealms)&lt;br /&gt;
&lt;br /&gt;
The map is a database that is downloaded to your lich directory each time you login to the game. The database consists of rooms. All rooms need to have a wayto and a timeto. A wayto describes the movement to get to the room. The timeto describes how long it takes to get there (0.2 seconds is the default). &amp;lt;code&amp;gt;;automap&amp;lt;/code&amp;gt; handles adding this data automatically in most cases. If you map a room manually without &amp;lt;code&amp;gt;;automap&amp;lt;/code&amp;gt; then you need to be sure that you include both the timeto and the wayto, forgetting one will break ;go2&#039;s ability to navigate to that room.&lt;br /&gt;
&lt;br /&gt;
=== Updating Your Database ===&lt;br /&gt;
To fetch the latest version of the map database run these commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;repository download-mapdb&lt;br /&gt;
;e Map.reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checking out the Database ===&lt;br /&gt;
&lt;br /&gt;
Check out the map database. This will replace your current map database with the remote. This means that any changes you have made will be erased! This does not include anything like &amp;lt;code&amp;gt;;go2&amp;lt;/code&amp;gt; saved rooms.&lt;br /&gt;
&lt;br /&gt;
You need to have a password on file to check out the mapdb. This password is stored in plain text locally, so don&#039;t make it anything important.&lt;br /&gt;
&lt;br /&gt;
When you checkout the map db, you own the database for 24 hours. This means that no one else can check it out until you upload or release it. Please, for the love of god, don&#039;t forget this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ;repository checkout-mapdb&lt;br /&gt;
[repository: success;  running download-mapdb now...]                                       &lt;br /&gt;
[repository: map database is up-to-date]                                                    &lt;br /&gt;
[repository: done]                                                                          &lt;br /&gt;
[repository: edit your map database and     ;repository upload-mapdb     within 24 hours.]  &lt;br /&gt;
--- Lich: repository has exited.                                                            &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== I Screwed Up ===&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t have the map db checked out, but want to erase some local changes you made:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;repository download-mapdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All changes are local until you upload the database. If you checked it out but didn&#039;t upload it, you can RELEASE it which will erase your changes since your checkout and allow others to check out the mapdb again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;repository release-mapdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Referencing Rooms ===&lt;br /&gt;
Rooms can be referenced in two ways: &amp;lt;code&amp;gt;Map.list[&amp;lt;i&amp;gt;room_id&amp;lt;/i&amp;gt;]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Room[&amp;lt;i&amp;gt;room_id&amp;lt;/i&amp;gt;]&amp;lt;/code&amp;gt;. There are some idiosyncrasies between the two, but in most cases either will work fine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Room.current&amp;lt;/code&amp;gt; refers to your current room. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Map.list[room_id]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Room[room_id]&amp;lt;/code&amp;gt; refers to any room with the given id&lt;br /&gt;
&lt;br /&gt;
=== Re-routing a path by changing timeto ===&lt;br /&gt;
You can change a path if there is an obstacle that you want to avoid, like a wall that might be too difficult to climb for younger adventurers!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ;e Room.current.timeto[&amp;quot;5665&amp;quot;] = 10.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Useful Aliases ===&lt;br /&gt;
If you are using the Dependency suite of scripts, please run &amp;lt;code&amp;gt;;setupaliases&amp;lt;/code&amp;gt; to install these some of these useful mapping aliases. It will not install all of them, currently.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ;alias add lr = ;e echo Room[Room.current.id].inspect&lt;br /&gt;
 ;alias add lfr = ;e echo Room[\?].inspect&lt;br /&gt;
 ;alias add ad = ;e Room[\?].description.push(XMLData.room_description) # Usage: ad roomnumber&lt;br /&gt;
 ;alias add snip = ;e Room.current.timeto.delete(&amp;quot;\?&amp;quot;)\r;e Room.current.wayto.delete(&amp;quot;\?&amp;quot;); # Usage: snip roomnumber&lt;br /&gt;
 ;alias add ids = ;e echo &amp;quot;#{Room.current.id}:#{Room.current.wayto}&amp;quot;&lt;br /&gt;
 ;alias add tag = ;e Room.current.tags.push(&amp;quot;\?&amp;quot;) # Add tag to current room, Usage: tag cleric&lt;br /&gt;
 ;alias add pop = ;e echo Room.current.tags.pop  #deletes the last tag from the room you are in and displays it to you!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note: Genie users must use slight variations for these commands. For instance, a comma instead of a semicolon, and double backward slashes where there is a backward slash.&lt;br /&gt;
For example:&lt;br /&gt;
,alias add lfr = ,e echo Room[\\?\].inspect&lt;br /&gt;
&lt;br /&gt;
=== Useful commands === &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;e echo Room.current.inspect # This is the lr alias&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;e echo Room.current.wayto&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== When You Are Done ===&lt;br /&gt;
&lt;br /&gt;
Run this command to merge your database with the server. Players that are logged in will not receive this update, they will have to execute the commands given above, or re-login to the game.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;repository upload-mapdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common Mapping Techniques ==&lt;br /&gt;
&lt;br /&gt;
=== Adding New Rooms ===&lt;br /&gt;
====Example====&lt;br /&gt;
&lt;br /&gt;
In this room there&#039;s an archway that is unmapped. Using the &amp;lt;code&amp;gt;ids&amp;lt;/code&amp;gt; alias, its shown as unmapped.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Inner Hibarnhvidar, Upper Cavern]&lt;br /&gt;
The generations of skilled Dwarven craftsmen that cleaved this cavern out of the living rock of the mountain let their imaginations run free in the carvings surrounding the arches leading to the shops and work-caverns.  One is surrounded by flowing rock-hewn ribbons pleated in an intricate pattern, others are studded with cabochon gems or tiny carvings in minute detail.  You also see a stone arch inscribed with the MAMAS Company logo.&lt;br /&gt;
Obvious exits: north, northeast, east, southeast.&lt;br /&gt;
Room Number: 3812&lt;br /&gt;
&amp;gt;ids&lt;br /&gt;
--- Lich: exec1 active.&lt;br /&gt;
[exec1: 3812:{&amp;quot;3815&amp;quot;=&amp;gt;&amp;quot;northeast&amp;quot;, &amp;quot;3811&amp;quot;=&amp;gt;&amp;quot;north&amp;quot;, &amp;quot;3813&amp;quot;=&amp;gt;&amp;quot;southeast&amp;quot;, &amp;quot;3814&amp;quot;=&amp;gt;&amp;quot;east&amp;quot;}]&lt;br /&gt;
--- Lich: exec1 has exited.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Walk through the arch to check the movement command and see if the room has an id (it doesn&#039;t).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;go arch&lt;br /&gt;
[MAMAS Hibarnhvidar, Main Office]&lt;br /&gt;
Several small work stations ring the large cavern of the Merchant Adventurers&#039; Mapping, Assay, and Survey Company&#039;s primary office in Forfedhdar.  Tools and survey instruments lie stacked at the various stations, soon to be available for purchase by adventurers needing the latest in mining equipment.  At the end of the cavern, a lone clerk stands by a counter with a set of small scales used to weigh individual items and stones of valuable minerals.  You also see a sign.&lt;br /&gt;
Obvious exits: out.&lt;br /&gt;
&amp;gt;out&lt;br /&gt;
You stroll out.&lt;br /&gt;
[Inner Hibarnhvidar, Upper Cavern]&lt;br /&gt;
The generations of skilled Dwarven craftsmen that cleaved this cavern out of the living rock of the mountain let their imaginations run free in the carvings surrounding the arches leading to the shops and work-caverns.  One is surrounded by flowing rock-hewn ribbons pleated in an intricate pattern, others are studded with cabochon gems or tiny carvings in minute detail.  You also see a stone arch inscribed with the MAMAS Company logo.&lt;br /&gt;
Obvious exits: north, northeast, east, southeast.&lt;br /&gt;
Room Number: 3812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Check out the map database &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;;repository checkout-mapdb&lt;br /&gt;
--- Lich: repository active.&lt;br /&gt;
[repository: success;  running download-mapdb now...]&lt;br /&gt;
[repository: downloading map database...]&lt;br /&gt;
[repository: deleting old map databases...]&lt;br /&gt;
[repository: loading map database...]&lt;br /&gt;
[repository: done]&lt;br /&gt;
[repository: edit your map database and     ;repository upload-mapdb     within 12 hours.]&lt;br /&gt;
--- Lich: repository has exited.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run automap&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;;automap&lt;br /&gt;
--- Lich: automap active.&lt;br /&gt;
Starting&lt;br /&gt;
**Mapping (abort to cancel, stop to finish)**&lt;br /&gt;
Your feet are still soaked.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Move through the path to be mapped and map the path back. Moving a direction does not map the reverse direction, you need to do the reverse direction as well. This means a room with 8 exits will need 16 steps, one forward, one backward. Wait for the &amp;quot;**Mapping&amp;quot; text before moving again. Using a typeahead line will not map the direction correctly.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;go stone arch&lt;br /&gt;
[MAMAS Hibarnhvidar, Main Office]&lt;br /&gt;
Several small work stations ring the large cavern of the Merchant Adventurers&#039; Mapping, Assay, and Survey Company&#039;s primary office in Forfedhdar.  Tools and survey instruments lie stacked at the various stations, soon to be available for purchase by adventurers needing the latest in mining equipment.  At the end of the cavern, a lone clerk stands by a counter with a set of small scales used to weigh individual items and stones of valuable minerals.  You also see a sign.&lt;br /&gt;
Obvious exits: out.&lt;br /&gt;
**Mapping (abort to cancel, stop to finish)**&lt;br /&gt;
&amp;gt;out&lt;br /&gt;
You stroll out.&lt;br /&gt;
[Inner Hibarnhvidar, Upper Cavern]&lt;br /&gt;
The generations of skilled Dwarven craftsmen that cleaved this cavern out of the living rock of the mountain let their imaginations run free in the carvings surrounding the arches leading to the shops and work-caverns.  One is surrounded by flowing rock-hewn ribbons pleated in an intricate pattern, others are studded with cabochon gems or tiny carvings in minute detail.  You also see a stone arch inscribed with the MAMAS Company logo.&lt;br /&gt;
Obvious exits: north, northeast, east, southeast.&lt;br /&gt;
Room Number: 3812&lt;br /&gt;
**Mapping (abort to cancel, stop to finish)**&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Done mapping. Double check with the &amp;lt;code&amp;gt;ids&amp;lt;/code&amp;gt; alias.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;ids&lt;br /&gt;
--- Lich: exec1 active.&lt;br /&gt;
[exec1: 3812:{&amp;quot;3815&amp;quot;=&amp;gt;&amp;quot;northeast&amp;quot;, &amp;quot;3811&amp;quot;=&amp;gt;&amp;quot;north&amp;quot;, &amp;quot;3813&amp;quot;=&amp;gt;&amp;quot;southeast&amp;quot;, &amp;quot;3814&amp;quot;=&amp;gt;&amp;quot;east&amp;quot;, &amp;quot;12182&amp;quot;=&amp;gt;&amp;quot;go stone arch&amp;quot;}]&lt;br /&gt;
--- Lich: exec1 has exited.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kill automap&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;;k automap&lt;br /&gt;
--- Lich: automap has exited.&lt;br /&gt;
&amp;gt;go arch&lt;br /&gt;
[MAMAS Hibarnhvidar, Main Office]&lt;br /&gt;
Several small work stations ring the large cavern of the Merchant Adventurers&#039; Mapping, Assay, and Survey Company&#039;s primary office in Forfedhdar.  Tools and survey instruments lie stacked at the various stations, soon to be available for purchase by adventurers needing the latest in mining equipment.  At the end of the cavern, a lone clerk stands by a counter with a set of small scales used to weigh individual items and stones of valuable minerals.  You also see a sign.&lt;br /&gt;
Obvious exits: out.&lt;br /&gt;
Room Number: 12182&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Upload the map database with &amp;lt;code&amp;gt;;repository upload-mapdb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Delete a room ===&lt;br /&gt;
Go to each surrounding room and perform the following, where &amp;quot;roomid&amp;quot; is the id of the room you are going to delete. It must be enclosed in quotation marks. This is the same as the &#039;snip&#039; alias above.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;e Room.current.wayto.delete(&amp;quot;roomid&amp;quot;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;e Room.current.timeto.delete(&amp;quot;roomid&amp;quot;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, remove the room. Roomid is NOT quoted here. Enter it as a number.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;e Map.list[roomid] = nil&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Advanced Movements with StringProcs ===&lt;br /&gt;
Complicated actions ones which require multiple movements to get to the target room. A complex action is not just go, move, climb, etc... but involving searching to discover the path, or pushing an object to open a door. Use a stringproc to add these. Note: these actions require approval from the mapdb admin, and will lock the mapdatabase until they are approved/rejected. Do not add them without testing them.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;e Room.current.wayto[&#039;1220&#039;] = StringProc.new(“fput &#039;search&#039;; move &#039;go path&#039;”)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Calling Bescort with StringProcs ====&lt;br /&gt;
Certain actions like navigating mazes and ferry crossings are more smoothly handled by a separate script. Rather than create a complicated StringProc, its preferred to use &amp;lt;code&amp;gt;bescort&amp;lt;/code&amp;gt;. Modify &amp;lt;code&amp;gt;bescort.lic&amp;lt;/code&amp;gt; to handle the navigation and then start it in the desired room using a StringProc. &lt;br /&gt;
&lt;br /&gt;
Here is an example of a StringProc to call bescort to take the sea mammoth from Ratha to Fang Cove.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
StringProc.new(&amp;quot;start_script(&#039;bescort&#039;, [&#039;mammoth&#039;, &#039;fang&#039;]);wait_while{running?(&#039;bescort&#039;)};&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also suggested that you get some sort of accurate estimate of the crossing time! Don&#039;t use the default 0.2 seconds for the timeto if it takes minutes. Timing impacts the route &amp;lt;code&amp;gt;go2&amp;lt;/code&amp;gt; decides to take.&lt;br /&gt;
&lt;br /&gt;
=== Update Rooms with multiple descriptions === &lt;br /&gt;
Go2 uses room descriptions part of determining what room you&#039;re in. If the room has multiple descriptions, the room you are in may appear to be unmapped during some seasonal/time change. To correct this, add the room description to the correct room. Do not remap the room.&lt;br /&gt;
&lt;br /&gt;
This assumes you are standing in the target room with its new description and you know the roomid. You can find the roomid by going to a connecting room and looking at the room number for the direction of the room without a number.&lt;br /&gt;
&lt;br /&gt;
If you have not already, you need to run &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;;alias add ad = ;e Room[\?].description.push(XMLData.room_description)&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
then&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;repository checkout-mapdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ad roomnumber-it-should-be&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;repository upload-mapdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
The first room in the log below doesn&#039;t have a room ID. This could either be unmapped or missing a description. To find out, we&#039;ll visit a neighboring room and check its exits using the &#039;ids&#039; alias. If the exits point to the missing room then we know its room ID and just have to update the description. When we know the room ID we walk back and use the &#039;ad ####&#039; alias to update the given roomid with the description of the room we are standing in. To verify it was updated, we re-enter the room and see that it now has a room id.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Boar Clan, Split-Log Path]&lt;br /&gt;
The sounds of the forest permeate the palisade wall and wash over the sleeping village.  Each breath of wind rustles the trees that stir the night air and conduct the arboreal symphony.  Chirping insects and the deep throaty calls of frogs keep the rhythm while high-pitched animal cries weave a soprano&#039;s song with a melody only nature could compose.&lt;br /&gt;
Obvious paths: northeast, west.&lt;br /&gt;
&amp;gt;ne&lt;br /&gt;
You stroll northeast.                                                                                                                                                                                             &lt;br /&gt;
[Boar Clan, Split-Log Path]                                                                                                                                                                                       &lt;br /&gt;
A tall palisade wall of thick iron-banded tree trunks embraces the small village of thatched longhouses and bark-covered huts.  Split log walkways snake between the structures.  One rutted dirt path leads from the gate to a squarish building with deep eaves that shelters stacks of crates and barrels piled outside the door.  You also see a palisade gate, the stable doors and a long log nestled underneath a nearby tree.                                                                                                                                                                                                           &lt;br /&gt;
Obvious paths: northeast, southwest.                                                                                                                                                                              &lt;br /&gt;
Room Number: 4106                                                                                                                                                                                                 &lt;br /&gt;
&amp;gt;;repo checkout-mapdb                                                                                                                                                                                             &lt;br /&gt;
--- Lich: repository active.                                                                                                                                                                                      &lt;br /&gt;
[repository: success;  running download-mapdb now...]                                                                                                                                                             &lt;br /&gt;
[repository: map database is up-to-date]                                                                                                                                                                          &lt;br /&gt;
[repository: done]                                                                                                                                                                                                &lt;br /&gt;
[repository: edit your map database and     ;repository upload-mapdb     within 24 hours.]                                                                                                                        &lt;br /&gt;
--- Lich: repository has exited.                                                                                                                                                                                  &lt;br /&gt;
&amp;gt;ids                                                                                                                                                                                                              &lt;br /&gt;
--- Lich: exec1 active.                                                                                                                                                                                           &lt;br /&gt;
[exec1: 4106:{&amp;quot;4105&amp;quot;=&amp;gt;&amp;quot;go gate&amp;quot;, &amp;quot;4107&amp;quot;=&amp;gt;&amp;quot;southwest&amp;quot;, &amp;quot;4109&amp;quot;=&amp;gt;&amp;quot;northeast&amp;quot;}]                                                                                                                                       &lt;br /&gt;
--- Lich: exec1 has exited.                                                                                                                                                                                       &lt;br /&gt;
&amp;gt;sw                                                                                                                                                                                                               &lt;br /&gt;
You stroll southwest.                                                                                                                                                                                             &lt;br /&gt;
[Boar Clan, Split-Log Path]                                                                                                                                                                                       &lt;br /&gt;
The sounds of the forest permeate the palisade wall and wash over the sleeping village.  Each breath of wind rustles the trees that stir the night air and conduct the arboreal symphony.  Chirping insects and the deep throaty calls of frogs keep the rhythm while high-pitched animal cries weave a soprano&#039;s song with a melody only nature could compose.                                                                 &lt;br /&gt;
Obvious paths: northeast, west.                                                                                                                                                                                   &lt;br /&gt;
&amp;gt;                                                                                                                                                                                                                 &lt;br /&gt;
Your body below the waist is dripping with water.  Pools of it are forming all around you.                                                                                                                        &lt;br /&gt;
&amp;gt;                                                                                                                                                                                                                 &lt;br /&gt;
You&#039;ve gained a new rank in your knowledge of sorcery.                                                                                                                                                            &lt;br /&gt;
&amp;gt;ad 4107                                                                                                                                                                                                          &lt;br /&gt;
--- Lich: exec1 active.                                                                                                                                                                                           &lt;br /&gt;
--- Lich: exec1 has exited.                                                                                                                                                                                       &lt;br /&gt;
&amp;gt;ne                                                                                                                                                                                                               &lt;br /&gt;
&amp;gt;sw                                                                                                                                                                                                               &lt;br /&gt;
You stroll northeast.                                                                                                                                                                                             &lt;br /&gt;
[Boar Clan, Split-Log Path]                                                                                                                                                                                       &lt;br /&gt;
A tall palisade wall of thick iron-banded tree trunks embraces the small village of thatched longhouses and bark-covered huts.  Split log walkways snake between the structures.  One rutted dirt path leads from the gate to a squarish building with deep eaves that shelters stacks of crates and barrels piled outside the door.  You also see a palisade gate, the stable doors and a long log nestled underneath a nearby tree.                                                                                                                                                                                                           &lt;br /&gt;
Obvious paths: northeast, southwest.                                                                                                                                                                              &lt;br /&gt;
Room Number: 4106                                                                                                                                                                                                 &lt;br /&gt;
&amp;gt;                                                                                                                                                                                                                 &lt;br /&gt;
You stroll southwest.                                                                                                                                                                                             &lt;br /&gt;
[Boar Clan, Split-Log Path]                                                                                                                                                                                       &lt;br /&gt;
The sounds of the forest permeate the palisade wall and wash over the sleeping village.  Each breath of wind rustles the trees that stir the night air and conduct the arboreal symphony.  Chirping insects and the deep throaty calls of frogs keep the rhythm while high-pitched animal cries weave a soprano&#039;s song with a melody only nature could compose.                                                                 &lt;br /&gt;
Obvious paths: northeast, west.                                                                                                                                                                                   &lt;br /&gt;
Room Number: 4107                                                                                                                                                                                                 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Adding identical rooms ===&lt;br /&gt;
Taken from [http://forum.gsplayers.com/showthread.php?57828-lrn2map&amp;amp;p=1826134#post1826134]&lt;br /&gt;
&lt;br /&gt;
Fixing this sort of thing requires more knowledge of how the map database works than your standard mapping procedure. If it wasn&#039;t in River&#039;s Rest, I could run over to the room and give it a look and either fix it or give you some useful pointers, but since it&#039;s in River&#039;s Rest and I&#039;m lazy, you&#039;re screwed.&lt;br /&gt;
&lt;br /&gt;
My assumption is that there are two rooms that are in different places but have the same room title/description/paths. There are several ways to deal with this, and they are mostly terrible.&lt;br /&gt;
&lt;br /&gt;
First, go to each of the identical rooms and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;e echo Room.current_or_new&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one of them shows up with a new room number, everything is good and right in the world (this isn&#039;t going to happen).&lt;br /&gt;
&lt;br /&gt;
Second, perhaps someone used &amp;quot;;mapmap fix&amp;quot; incorrectly (they didn&#039;t, because no one uses that, even though it&#039;s in the instructions). To check if this is the case, go to each of the identical rooms and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;e echo Room.current.desc.length&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the map database, rooms can have more than one description. This is mostly to deal with different night/day descriptions for the same room, but it can rarely have other uses. When using &amp;quot;;mapmap fix&amp;quot;, the script tests existing paths to see if you end up in the expected room. If you don&#039;t, it&#039;ll ask you if the rooms are the same. If you tell it they&#039;re the same, it&#039;ll combine them so they both have the same room number. If not, it will delete the path and create a new one to the different room. Someone may have said yes when they shouldn&#039;t have, which would add two unrelated room descriptions (and/or titles/paths) to the same room id. If the above command says &amp;quot;1&amp;quot;, then this is not the case. If it&#039;s more than one, then it might be the case, but I won&#039;t go into it further because it&#039;s too unlikely.&lt;br /&gt;
&lt;br /&gt;
So now we need to differentiate between the two horrible rooms. The best way to do this is with the room_objects tag. If there&#039;s something that shows up in the &amp;quot;You also see&amp;quot; line that is permanent, such as an arch or a door or something, and it&#039;s in one room but not the other, then all is good and right in the world (unlikely). Type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;e echo DRRoom.room_objs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to see the exact object name, and then type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;e Room.current.room_objects = [ &#039;whatever&#039; ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
replacing whatever with the object name. Now, the room that has that object should keep the room number, and the room without the object should either be unknown, or might still tell you it knows the room id because of fuzzy room lookups. Either way, go to the other room and do a:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;e echo Room.current_or_new&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and there should be two room ids. Then you can go over the whole area with a &amp;quot;;mapmap map&amp;quot; and a &amp;quot;;mapmap fix&amp;quot; and it should be good.&lt;br /&gt;
&lt;br /&gt;
If room_objects isn&#039;t an option, you can use a peer tag, which causes Lich to peer into the next room in order to discriminate between two rooms. This is nice because it lets you use either room as a target for go2, but it&#039;s terrible because it has to peer if you walk through the room with narost running.&lt;br /&gt;
&lt;br /&gt;
If the title/description/paths of each adjacent room is identical in each identical room (unlikely but actually has happened more than once), then you&#039;re stuck with treating the two rooms as one. You would need to create some creative StringProcs paths from each room to each adjacent room that will be sucessful regardless of which of identical room it&#039;s started in.&lt;br /&gt;
&lt;br /&gt;
I left out the location verb property because it sounds like these rooms are in the same location.&lt;br /&gt;
&lt;br /&gt;
=== Adding a new map image ===&lt;br /&gt;
Lets add a new map image!&lt;br /&gt;
&lt;br /&gt;
Copied from lrn2map:&lt;br /&gt;
&lt;br /&gt;
Step 6: Add to narost (if needed or wanted)&lt;br /&gt;
&lt;br /&gt;
6a. Add the image to the map database. Narost will only display images that are already in the map database. If the image is already in the map database because it&#039;s used by other rooms, move on to 6b. If not, save the image in the lich\maps directory, go to a room that will use the image, and type ;e Room.current.image = &#039;filename&#039; # substitute the actual filename of the image, including the file extension, but without the path. Name the file is all lowercase with the formatting province-mapnumber-name-timestamp.whatever. You can get the timestamp by typing date +%s in a linux environment. If you leave a timestamp off there is no way to overwrite the map with a newer version without uploading a new file name. Make absolutely sure not to include apostrophes in the name.&lt;br /&gt;
&lt;br /&gt;
6b. Start narost in fix mode (;type ;narost fix)&lt;br /&gt;
&lt;br /&gt;
6c. Bring up the image in narost. Right-click in the narost window, click on “view map” in the popup menu, and click on the image name that you&#039;ll be adding to.&lt;br /&gt;
&lt;br /&gt;
6d. Move the image around to find where your current room goes.&lt;br /&gt;
&lt;br /&gt;
6e. Hold down the Shift and Ctrl keys, click on the top left and bottom right corners of the room on the image, let go of Shift and Ctrl.&lt;br /&gt;
&lt;br /&gt;
6f. If there are more rooms to add, move to the next room in game, go to step 6d.&lt;br /&gt;
&lt;br /&gt;
6g. Save the map database (type ;e Map.save). While the mapmap script saves the map database every time it closes, narost does not. You can save the map database as often as you like if you are worried about losing your progress.&lt;br /&gt;
&lt;br /&gt;
[[Category: Lich scripts]]&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Lich_script_development&amp;diff=504724</id>
		<title>Lich script development</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Lich_script_development&amp;diff=504724"/>
		<updated>2019-07-13T03:37:31Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: /* sorter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RTOC}}&lt;br /&gt;
&lt;br /&gt;
== Lich script libraries ==&lt;br /&gt;
&lt;br /&gt;
These are lich scripts, but do not accomplish a task. Rather, they provide functionality that other scripts can take advantage of.&lt;br /&gt;
&lt;br /&gt;
=== bootstrap ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=You can turn on debug mode with &amp;lt;code&amp;gt;;e UserVars.bootstrap_debug = true&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions shared by many scripts.&lt;br /&gt;
|usage=&lt;br /&gt;
Probably the single most useful function in this file is &amp;lt;code&amp;gt;bput&amp;lt;/code&amp;gt; (short for &#039;blocking put&#039;).&lt;br /&gt;
&lt;br /&gt;
bput is designed to be a more robust version of fput in situations where you know the desired response from the game. Unlike fput which will resend the same command repeatedly until it sees the desired message first from the game, bput only sends a given command one time (unless round time or type ahead errors occur) and then waits for the desired response. if the desired response isn&#039;t seen bput will eventually time out and echo debugging information.&lt;br /&gt;
&lt;br /&gt;
This would never work because the game sends a response line &amp;quot;You search around...&amp;quot; before &amp;quot;Roundtime&amp;quot; is encountered:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;fput &amp;quot;forage grass&amp;quot;, &#039;Roundtime&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly a command that can only succeed once can cause fput to hang. In this case, you have to deal with the failure case and just spam the command until failure in a noisy room with fput:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;fput &amp;quot;get box&amp;quot;, &#039;you pick up&#039;, &#039;get what?&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lets you know with confidence if a box was picked up or if the item was missing:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;bput &amp;quot;get box&amp;quot;, &#039;you pick up&#039;, &#039;get what?&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-arcana ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to spell casting, ability activation, etc.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-crafting ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to crafting.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-healing ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to health, wounds, and healing.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-items ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to manipulating items.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-money ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to money and coins.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-summoning ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to summoning weapons.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-travel ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to travel.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== dependency ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=&lt;br /&gt;
For first time setup, see the Getting Started section of the repository README: https://github.com/rpherbig/dr-scripts/blob/master/README.md&lt;br /&gt;
&lt;br /&gt;
You&#039;ll want to remove any of our scripts that you replace with this from the auto start so they aren&#039;t getting run twice.&lt;br /&gt;
&lt;br /&gt;
Useful helpers:&lt;br /&gt;
* &amp;lt;code&amp;gt;get_script(&#039;name&#039;)&amp;lt;/code&amp;gt; - fetch the script and start tracking it&lt;br /&gt;
* &amp;lt;code&amp;gt;get_yaml(&#039;filename&#039;)&amp;lt;/code&amp;gt; - download the specified yaml file to your profiles directory&lt;br /&gt;
* &amp;lt;code&amp;gt;list_autostarts&amp;lt;/code&amp;gt; - show all scripts that are started automatically&lt;br /&gt;
* &amp;lt;code&amp;gt;autostart(script)&amp;lt;/code&amp;gt; - add a script to the autostart list&lt;br /&gt;
* &amp;lt;code&amp;gt;remove_autostart(script)&amp;lt;/code&amp;gt; - remove a script from the autostart list&lt;br /&gt;
* &amp;lt;code&amp;gt;list_tracked_scripts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can turn on debug mode by passing &#039;debug&#039; as an argument with &amp;lt;code&amp;gt;;dependency debug&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== drinfomon ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=Updated info tracking for use in other scripts in DragonRealms&lt;br /&gt;
|usage=&lt;br /&gt;
* skill tracking - name/rank/xp&lt;br /&gt;
* info tracking - everything listed under info other than debt wealth and birthdate&lt;br /&gt;
&lt;br /&gt;
Provides some additional commands to the user:&lt;br /&gt;
* &amp;lt;code&amp;gt;;banks&amp;lt;/code&amp;gt; - Tracks your money and converts copper strings to plat format. Not all locations tracked.&lt;br /&gt;
* &amp;lt;code&amp;gt;;vault&amp;lt;/code&amp;gt; - Tracks vault contents and location. -not all location included&lt;br /&gt;
&lt;br /&gt;
Display experience gain in your Field Experience window:&lt;br /&gt;
* &amp;lt;code&amp;gt;;e UserVars.track_exp=true&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== events ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=Flags are simple true/false string detectors.&lt;br /&gt;
|usage=&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&amp;lt;key&amp;gt;, &amp;lt;trigger&amp;gt;|[&amp;lt;trigger1,...,triggerN])&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;test&#039;, &#039;exp help&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;another&#039;, [&#039;exp help&#039;, &#039;a second message&#039;])&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    This creates a new flag &amp;quot;test&amp;quot;, which will return the matched string any time you see a message containing &amp;quot;exp help&amp;quot;. Note that&lt;br /&gt;
    the message will be treated as a regular expression and is case insensitive (google for more info) so be careful with&lt;br /&gt;
    special characters, remember to use single quote strings if you&#039;re going to use special characters.&lt;br /&gt;
    Calling add with the same key will overwrite any previous matchers and reset the flag.&lt;br /&gt;
    Alternatively you can add an array with multiple matchers. If multiple messages match the flag will be set to the first match found.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;skillexp&#039;, &#039;(\w[^:\(\)]+):\s+(\d+)\s\d+\.\d+%[^\(\)]*\((\d+)\/\d+\)&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    This example will add a flag watching for the results of an exp message, specifically &amp;quot;exp skillname&amp;quot;.&lt;br /&gt;
    After sending &amp;quot;exp mech&amp;quot; to the game Flags[&#039;skillexp&#039;] would contain...&lt;br /&gt;
&lt;br /&gt;
    [&amp;quot;Mechanical Lore:    146 16.82% focused       (20/34)&amp;quot;, &amp;quot;Mechanical Lore&amp;quot;, &amp;quot;146&amp;quot;, &amp;quot;20&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
    You can see the array containing entire matched string and the three capture groups containing&lt;br /&gt;
    skill name, ranks, and mind state.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags[&#039;test&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Returns the match if you&#039;ve seen any message matching after you called add (or reset); false otherwise&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags[&#039;test&#039;] = false&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.reset(&#039;test&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Both of these commands have the same effect, reseting a flag as if it hasn&#039;t been seen yet.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.delete(&#039;test&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Removes a flag, stopping any tracking of it.&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== sorter ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A script that converts inventories into sorted categories.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings={{Lich setting|name=width|desc=&amp;lt;nowiki&amp;gt;(0-9999)&amp;lt;/nowiki&amp;gt; Specify how many characters wide your game window is, and the script will display container contents in columns.}}^{{Lich setting|name=mute_old_inventory|desc=&amp;lt;nowiki&amp;gt;(True|False)&amp;lt;/nowiki&amp;gt; Will mute the normal output for inventory, so you don&#039;t get sorted version and the normal output}}^{{Lich setting|name=sort_inv_command|desc=&amp;lt;nowiki&amp;gt;(True|False)&amp;lt;/nowiki&amp;gt; Sorts the output from command &amp;quot;inventory&amp;quot;}}^{{Lich setting|name=sort_look_others|desc=&amp;lt;nowiki&amp;gt;(True|False)&amp;lt;/nowiki&amp;gt; Sorts the output looking at other players}}^{{Lich setting|name=sort_look_items_command|desc=&amp;lt;nowiki&amp;gt;(True|False)&amp;lt;/nowiki&amp;gt; Sorts the output from command &amp;quot;look item&amp;quot;}}^{{Lich setting|name=ignore_categories|desc=Categories from base-items.yaml to ignore. Enter in regex format. Default is &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lootables|trash&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;}}&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===spellmonitor===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=&lt;br /&gt;
* &amp;lt;code&amp;gt;DRSpells.prep_spell&amp;lt;/code&amp;gt; - returns the string name of the currently preparing spell or nil&lt;br /&gt;
* &amp;lt;code&amp;gt;DRSpells.active_spells&amp;lt;/code&amp;gt; - returns hash of spells keyed to duration e.g. &amp;lt;code&amp;gt;{&amp;quot;Bless&amp;quot;=&amp;gt;5, &amp;quot;Minor Physical Protection&amp;quot;=&amp;gt;12}&amp;lt;/code&amp;gt;&lt;br /&gt;
** 0 means fading, removed from the hash is worn off&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Development tools ==&lt;br /&gt;
&lt;br /&gt;
=== create_symlinks.bat ===&lt;br /&gt;
Useful if you are doing development on Windows. Set the LICH_SCRIPTS environment variable to the path to your &amp;lt;code&amp;gt;lich/scripts/&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
=== create_symlinks.sh ===&lt;br /&gt;
Useful if you are doing development on OSX or Linux. Pass it an argument of the path to your &amp;lt;code&amp;gt;lich/scripts/&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
=== util/calculate_new_loot.rb ===&lt;br /&gt;
Compares &amp;lt;code&amp;gt;profiles/*-setup.yaml&amp;lt;/code&amp;gt; files against &amp;lt;code&amp;gt;profiles/base.yaml&amp;lt;/code&amp;gt; to determine proper loot_additions and loot_subtractions settings.&lt;br /&gt;
&lt;br /&gt;
{{cat|Lich scripts}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Lich_script_development&amp;diff=504680</id>
		<title>Lich script development</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Lich_script_development&amp;diff=504680"/>
		<updated>2019-07-11T01:43:41Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: /* sorter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RTOC}}&lt;br /&gt;
&lt;br /&gt;
== Lich script libraries ==&lt;br /&gt;
&lt;br /&gt;
These are lich scripts, but do not accomplish a task. Rather, they provide functionality that other scripts can take advantage of.&lt;br /&gt;
&lt;br /&gt;
=== bootstrap ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=You can turn on debug mode with &amp;lt;code&amp;gt;;e UserVars.bootstrap_debug = true&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions shared by many scripts.&lt;br /&gt;
|usage=&lt;br /&gt;
Probably the single most useful function in this file is &amp;lt;code&amp;gt;bput&amp;lt;/code&amp;gt; (short for &#039;blocking put&#039;).&lt;br /&gt;
&lt;br /&gt;
bput is designed to be a more robust version of fput in situations where you know the desired response from the game. Unlike fput which will resend the same command repeatedly until it sees the desired message first from the game, bput only sends a given command one time (unless round time or type ahead errors occur) and then waits for the desired response. if the desired response isn&#039;t seen bput will eventually time out and echo debugging information.&lt;br /&gt;
&lt;br /&gt;
This would never work because the game sends a response line &amp;quot;You search around...&amp;quot; before &amp;quot;Roundtime&amp;quot; is encountered:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;fput &amp;quot;forage grass&amp;quot;, &#039;Roundtime&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly a command that can only succeed once can cause fput to hang. In this case, you have to deal with the failure case and just spam the command until failure in a noisy room with fput:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;fput &amp;quot;get box&amp;quot;, &#039;you pick up&#039;, &#039;get what?&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lets you know with confidence if a box was picked up or if the item was missing:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;bput &amp;quot;get box&amp;quot;, &#039;you pick up&#039;, &#039;get what?&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-arcana ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to spell casting, ability activation, etc.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-crafting ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to crafting.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-healing ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to health, wounds, and healing.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-items ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to manipulating items.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-money ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to money and coins.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-summoning ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to summoning weapons.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-travel ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to travel.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== dependency ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=&lt;br /&gt;
For first time setup, see the Getting Started section of the repository README: https://github.com/rpherbig/dr-scripts/blob/master/README.md&lt;br /&gt;
&lt;br /&gt;
You&#039;ll want to remove any of our scripts that you replace with this from the auto start so they aren&#039;t getting run twice.&lt;br /&gt;
&lt;br /&gt;
Useful helpers:&lt;br /&gt;
* &amp;lt;code&amp;gt;get_script(&#039;name&#039;)&amp;lt;/code&amp;gt; - fetch the script and start tracking it&lt;br /&gt;
* &amp;lt;code&amp;gt;get_yaml(&#039;filename&#039;)&amp;lt;/code&amp;gt; - download the specified yaml file to your profiles directory&lt;br /&gt;
* &amp;lt;code&amp;gt;list_autostarts&amp;lt;/code&amp;gt; - show all scripts that are started automatically&lt;br /&gt;
* &amp;lt;code&amp;gt;autostart(script)&amp;lt;/code&amp;gt; - add a script to the autostart list&lt;br /&gt;
* &amp;lt;code&amp;gt;remove_autostart(script)&amp;lt;/code&amp;gt; - remove a script from the autostart list&lt;br /&gt;
* &amp;lt;code&amp;gt;list_tracked_scripts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can turn on debug mode by passing &#039;debug&#039; as an argument with &amp;lt;code&amp;gt;;dependency debug&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== drinfomon ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=Updated info tracking for use in other scripts in DragonRealms&lt;br /&gt;
|usage=&lt;br /&gt;
* skill tracking - name/rank/xp&lt;br /&gt;
* info tracking - everything listed under info other than debt wealth and birthdate&lt;br /&gt;
&lt;br /&gt;
Provides some additional commands to the user:&lt;br /&gt;
* &amp;lt;code&amp;gt;;banks&amp;lt;/code&amp;gt; - Tracks your money and converts copper strings to plat format. Not all locations tracked.&lt;br /&gt;
* &amp;lt;code&amp;gt;;vault&amp;lt;/code&amp;gt; - Tracks vault contents and location. -not all location included&lt;br /&gt;
&lt;br /&gt;
Display experience gain in your Field Experience window:&lt;br /&gt;
* &amp;lt;code&amp;gt;;e UserVars.track_exp=true&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== events ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=Flags are simple true/false string detectors.&lt;br /&gt;
|usage=&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&amp;lt;key&amp;gt;, &amp;lt;trigger&amp;gt;|[&amp;lt;trigger1,...,triggerN])&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;test&#039;, &#039;exp help&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;another&#039;, [&#039;exp help&#039;, &#039;a second message&#039;])&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    This creates a new flag &amp;quot;test&amp;quot;, which will return the matched string any time you see a message containing &amp;quot;exp help&amp;quot;. Note that&lt;br /&gt;
    the message will be treated as a regular expression and is case insensitive (google for more info) so be careful with&lt;br /&gt;
    special characters, remember to use single quote strings if you&#039;re going to use special characters.&lt;br /&gt;
    Calling add with the same key will overwrite any previous matchers and reset the flag.&lt;br /&gt;
    Alternatively you can add an array with multiple matchers. If multiple messages match the flag will be set to the first match found.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;skillexp&#039;, &#039;(\w[^:\(\)]+):\s+(\d+)\s\d+\.\d+%[^\(\)]*\((\d+)\/\d+\)&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    This example will add a flag watching for the results of an exp message, specifically &amp;quot;exp skillname&amp;quot;.&lt;br /&gt;
    After sending &amp;quot;exp mech&amp;quot; to the game Flags[&#039;skillexp&#039;] would contain...&lt;br /&gt;
&lt;br /&gt;
    [&amp;quot;Mechanical Lore:    146 16.82% focused       (20/34)&amp;quot;, &amp;quot;Mechanical Lore&amp;quot;, &amp;quot;146&amp;quot;, &amp;quot;20&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
    You can see the array containing entire matched string and the three capture groups containing&lt;br /&gt;
    skill name, ranks, and mind state.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags[&#039;test&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Returns the match if you&#039;ve seen any message matching after you called add (or reset); false otherwise&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags[&#039;test&#039;] = false&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.reset(&#039;test&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Both of these commands have the same effect, reseting a flag as if it hasn&#039;t been seen yet.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.delete(&#039;test&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Removes a flag, stopping any tracking of it.&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== sorter ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A script that converts inventories into sorted categories.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings={{Lich setting|name=width|desc=&amp;lt;nowiki&amp;gt;(0-9999)&amp;lt;/nowiki&amp;gt; Specify how many characters wide your game window is, and the script will display container contents in columns.}}^{{Lich setting|name=mute_old_inventory|desc=&amp;lt;nowiki&amp;gt;(True|False)&amp;lt;/nowiki&amp;gt; Will mute the normal output for inventory, so you don&#039;t get sorted version and the normal output}}^{{Lich setting|name=sort_inv_command|desc=&amp;lt;nowiki&amp;gt;(True|False)&amp;lt;/nowiki&amp;gt; Sorts the output from command &amp;quot;inventory&amp;quot;}}^{{Lich setting|name=sort_look_items_command|desc=&amp;lt;nowiki&amp;gt;(True|False)&amp;lt;/nowiki&amp;gt; Sorts the output from command &amp;quot;look item&amp;quot;}}^{{Lich setting|name=ignore_categories|desc=Categories from base-items.yaml to ignore. Enter in regex format. Default is &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;lootables|trash&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;}}&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===spellmonitor===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=&lt;br /&gt;
* &amp;lt;code&amp;gt;DRSpells.prep_spell&amp;lt;/code&amp;gt; - returns the string name of the currently preparing spell or nil&lt;br /&gt;
* &amp;lt;code&amp;gt;DRSpells.active_spells&amp;lt;/code&amp;gt; - returns hash of spells keyed to duration e.g. &amp;lt;code&amp;gt;{&amp;quot;Bless&amp;quot;=&amp;gt;5, &amp;quot;Minor Physical Protection&amp;quot;=&amp;gt;12}&amp;lt;/code&amp;gt;&lt;br /&gt;
** 0 means fading, removed from the hash is worn off&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Development tools ==&lt;br /&gt;
&lt;br /&gt;
=== create_symlinks.bat ===&lt;br /&gt;
Useful if you are doing development on Windows. Set the LICH_SCRIPTS environment variable to the path to your &amp;lt;code&amp;gt;lich/scripts/&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
=== create_symlinks.sh ===&lt;br /&gt;
Useful if you are doing development on OSX or Linux. Pass it an argument of the path to your &amp;lt;code&amp;gt;lich/scripts/&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
=== util/calculate_new_loot.rb ===&lt;br /&gt;
Compares &amp;lt;code&amp;gt;profiles/*-setup.yaml&amp;lt;/code&amp;gt; files against &amp;lt;code&amp;gt;profiles/base.yaml&amp;lt;/code&amp;gt; to determine proper loot_additions and loot_subtractions settings.&lt;br /&gt;
&lt;br /&gt;
{{cat|Lich scripts}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Lich_script_development&amp;diff=504679</id>
		<title>Lich script development</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Lich_script_development&amp;diff=504679"/>
		<updated>2019-07-10T16:04:37Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: Adding info for sorter.lic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RTOC}}&lt;br /&gt;
&lt;br /&gt;
== Lich script libraries ==&lt;br /&gt;
&lt;br /&gt;
These are lich scripts, but do not accomplish a task. Rather, they provide functionality that other scripts can take advantage of.&lt;br /&gt;
&lt;br /&gt;
=== bootstrap ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=You can turn on debug mode with &amp;lt;code&amp;gt;;e UserVars.bootstrap_debug = true&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions shared by many scripts.&lt;br /&gt;
|usage=&lt;br /&gt;
Probably the single most useful function in this file is &amp;lt;code&amp;gt;bput&amp;lt;/code&amp;gt; (short for &#039;blocking put&#039;).&lt;br /&gt;
&lt;br /&gt;
bput is designed to be a more robust version of fput in situations where you know the desired response from the game. Unlike fput which will resend the same command repeatedly until it sees the desired message first from the game, bput only sends a given command one time (unless round time or type ahead errors occur) and then waits for the desired response. if the desired response isn&#039;t seen bput will eventually time out and echo debugging information.&lt;br /&gt;
&lt;br /&gt;
This would never work because the game sends a response line &amp;quot;You search around...&amp;quot; before &amp;quot;Roundtime&amp;quot; is encountered:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;fput &amp;quot;forage grass&amp;quot;, &#039;Roundtime&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly a command that can only succeed once can cause fput to hang. In this case, you have to deal with the failure case and just spam the command until failure in a noisy room with fput:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;fput &amp;quot;get box&amp;quot;, &#039;you pick up&#039;, &#039;get what?&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lets you know with confidence if a box was picked up or if the item was missing:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;bput &amp;quot;get box&amp;quot;, &#039;you pick up&#039;, &#039;get what?&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-arcana ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to spell casting, ability activation, etc.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-crafting ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to crafting.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-healing ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to health, wounds, and healing.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-items ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to manipulating items.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-money ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to money and coins.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-summoning ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to summoning weapons.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== common-travel ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A large set of helper functions for common actions related to travel.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== dependency ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=&lt;br /&gt;
For first time setup, see the Getting Started section of the repository README: https://github.com/rpherbig/dr-scripts/blob/master/README.md&lt;br /&gt;
&lt;br /&gt;
You&#039;ll want to remove any of our scripts that you replace with this from the auto start so they aren&#039;t getting run twice.&lt;br /&gt;
&lt;br /&gt;
Useful helpers:&lt;br /&gt;
* &amp;lt;code&amp;gt;get_script(&#039;name&#039;)&amp;lt;/code&amp;gt; - fetch the script and start tracking it&lt;br /&gt;
* &amp;lt;code&amp;gt;get_yaml(&#039;filename&#039;)&amp;lt;/code&amp;gt; - download the specified yaml file to your profiles directory&lt;br /&gt;
* &amp;lt;code&amp;gt;list_autostarts&amp;lt;/code&amp;gt; - show all scripts that are started automatically&lt;br /&gt;
* &amp;lt;code&amp;gt;autostart(script)&amp;lt;/code&amp;gt; - add a script to the autostart list&lt;br /&gt;
* &amp;lt;code&amp;gt;remove_autostart(script)&amp;lt;/code&amp;gt; - remove a script from the autostart list&lt;br /&gt;
* &amp;lt;code&amp;gt;list_tracked_scripts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can turn on debug mode by passing &#039;debug&#039; as an argument with &amp;lt;code&amp;gt;;dependency debug&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== drinfomon ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=Updated info tracking for use in other scripts in DragonRealms&lt;br /&gt;
|usage=&lt;br /&gt;
* skill tracking - name/rank/xp&lt;br /&gt;
* info tracking - everything listed under info other than debt wealth and birthdate&lt;br /&gt;
&lt;br /&gt;
Provides some additional commands to the user:&lt;br /&gt;
* &amp;lt;code&amp;gt;;banks&amp;lt;/code&amp;gt; - Tracks your money and converts copper strings to plat format. Not all locations tracked.&lt;br /&gt;
* &amp;lt;code&amp;gt;;vault&amp;lt;/code&amp;gt; - Tracks vault contents and location. -not all location included&lt;br /&gt;
&lt;br /&gt;
Display experience gain in your Field Experience window:&lt;br /&gt;
* &amp;lt;code&amp;gt;;e UserVars.track_exp=true&amp;lt;/code&amp;gt;&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== events ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=Flags are simple true/false string detectors.&lt;br /&gt;
|usage=&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&amp;lt;key&amp;gt;, &amp;lt;trigger&amp;gt;|[&amp;lt;trigger1,...,triggerN])&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;test&#039;, &#039;exp help&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;another&#039;, [&#039;exp help&#039;, &#039;a second message&#039;])&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    This creates a new flag &amp;quot;test&amp;quot;, which will return the matched string any time you see a message containing &amp;quot;exp help&amp;quot;. Note that&lt;br /&gt;
    the message will be treated as a regular expression and is case insensitive (google for more info) so be careful with&lt;br /&gt;
    special characters, remember to use single quote strings if you&#039;re going to use special characters.&lt;br /&gt;
    Calling add with the same key will overwrite any previous matchers and reset the flag.&lt;br /&gt;
    Alternatively you can add an array with multiple matchers. If multiple messages match the flag will be set to the first match found.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.add(&#039;skillexp&#039;, &#039;(\w[^:\(\)]+):\s+(\d+)\s\d+\.\d+%[^\(\)]*\((\d+)\/\d+\)&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    This example will add a flag watching for the results of an exp message, specifically &amp;quot;exp skillname&amp;quot;.&lt;br /&gt;
    After sending &amp;quot;exp mech&amp;quot; to the game Flags[&#039;skillexp&#039;] would contain...&lt;br /&gt;
&lt;br /&gt;
    [&amp;quot;Mechanical Lore:    146 16.82% focused       (20/34)&amp;quot;, &amp;quot;Mechanical Lore&amp;quot;, &amp;quot;146&amp;quot;, &amp;quot;20&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
    You can see the array containing entire matched string and the three capture groups containing&lt;br /&gt;
    skill name, ranks, and mind state.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags[&#039;test&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Returns the match if you&#039;ve seen any message matching after you called add (or reset); false otherwise&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags[&#039;test&#039;] = false&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.reset(&#039;test&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Both of these commands have the same effect, reseting a flag as if it hasn&#039;t been seen yet.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Flags.delete(&#039;test&#039;)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
    Removes a flag, stopping any tracking of it.&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== sorter ===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=A script that converts inventories into sorted categories.&lt;br /&gt;
|usage=&lt;br /&gt;
|args=&lt;br /&gt;
|settings={{Lich setting|name=width|desc=Specify how many characters wide your game window is, and the script will display container contents in columns.}}^{{Lich setting|name=ignore|desc=Categories from base-items.yaml to ignore. Enter in regex format. Default is &amp;lt;nowiki&amp;gt;lootables|trash&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===spellmonitor===&lt;br /&gt;
{{Lich script&lt;br /&gt;
|description=&lt;br /&gt;
|usage=&lt;br /&gt;
* &amp;lt;code&amp;gt;DRSpells.prep_spell&amp;lt;/code&amp;gt; - returns the string name of the currently preparing spell or nil&lt;br /&gt;
* &amp;lt;code&amp;gt;DRSpells.active_spells&amp;lt;/code&amp;gt; - returns hash of spells keyed to duration e.g. &amp;lt;code&amp;gt;{&amp;quot;Bless&amp;quot;=&amp;gt;5, &amp;quot;Minor Physical Protection&amp;quot;=&amp;gt;12}&amp;lt;/code&amp;gt;&lt;br /&gt;
** 0 means fading, removed from the hash is worn off&lt;br /&gt;
|args=&lt;br /&gt;
|settings=&lt;br /&gt;
|uservars=&lt;br /&gt;
|children=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Development tools ==&lt;br /&gt;
&lt;br /&gt;
=== create_symlinks.bat ===&lt;br /&gt;
Useful if you are doing development on Windows. Set the LICH_SCRIPTS environment variable to the path to your &amp;lt;code&amp;gt;lich/scripts/&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
=== create_symlinks.sh ===&lt;br /&gt;
Useful if you are doing development on OSX or Linux. Pass it an argument of the path to your &amp;lt;code&amp;gt;lich/scripts/&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
=== util/calculate_new_loot.rb ===&lt;br /&gt;
Compares &amp;lt;code&amp;gt;profiles/*-setup.yaml&amp;lt;/code&amp;gt; files against &amp;lt;code&amp;gt;profiles/base.yaml&amp;lt;/code&amp;gt; to determine proper loot_additions and loot_subtractions settings.&lt;br /&gt;
&lt;br /&gt;
{{cat|Lich scripts}}&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
	<entry>
		<id>https://elanthipedia.play.net/index.php?title=Zombie_goblin&amp;diff=426880</id>
		<title>Zombie goblin</title>
		<link rel="alternate" type="text/html" href="https://elanthipedia.play.net/index.php?title=Zombie_goblin&amp;diff=426880"/>
		<updated>2015-11-05T15:53:19Z</updated>

		<summary type="html">&lt;p&gt;HAZADO22: You can&amp;#039;t skill these anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Critter&lt;br /&gt;
|Critter Name=Zombie [[race is::Goblin]]&lt;br /&gt;
|MinCap=5&lt;br /&gt;
|MaxCap=32&lt;br /&gt;
|BodyType=Biped&lt;br /&gt;
|new=No&lt;br /&gt;
|Skinnable=no&lt;br /&gt;
|Has Coins=yes&lt;br /&gt;
|Has Gems=yes&lt;br /&gt;
|Has Boxes=yes&lt;br /&gt;
|Evil=undead&lt;br /&gt;
|Construct=no&lt;br /&gt;
|Corporeal=yes&lt;br /&gt;
|BackStabbable=yes&lt;br /&gt;
|Casts Spells=no&lt;br /&gt;
|Stealthy=no&lt;br /&gt;
|Special=no&lt;br /&gt;
|Attack Range=Melee&lt;br /&gt;
|Province=Therengia, Zoluren&lt;br /&gt;
|City=Riverhaven, Tiger Clan&lt;br /&gt;
|MapList=*{{rmap|31f|Northeast Wilds (31f)}}&lt;br /&gt;
|MapList2=*{{rmap|4 | Woodland Path (4)}}&lt;br /&gt;
|hasskin=Yes&lt;br /&gt;
|Skin Name=&lt;br /&gt;
|Skin Weight=&lt;br /&gt;
|haspart=Yes&lt;br /&gt;
|Part Name=&lt;br /&gt;
|Part Weight=&lt;br /&gt;
|hasbone=Yes&lt;br /&gt;
|Bone Name=&lt;br /&gt;
|Bone Weight=&lt;br /&gt;
|RequiredRanks=&lt;br /&gt;
|MaxVal=&lt;br /&gt;
|MaxArrangedVal=&lt;br /&gt;
|Manipulated=no&lt;br /&gt;
|mskill1=&lt;br /&gt;
|mskill2=&lt;br /&gt;
|mcap=&lt;br /&gt;
}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The zombie goblin at first appears to just be a normal goblin, but flesh is peeling off of its body and its equipment is missing or in dire need of repair.  Unfortunately, this just makes it smell even worse than a normal goblin.  Its eyes glow a dim red with some sort of weak unholy power, and its  limbs twitch in jerky movement due to its rigor mortis.  It seems to be scanning the area looking for live meat to consume.&lt;br /&gt;
&lt;br /&gt;
==In Depth==&lt;br /&gt;
If they defeat another monster, they eat their brain:&amp;lt;br /&amp;gt;&lt;br /&gt;
The zombie goblin crouches next to a brown burrower&#039;s body and rips into its head to devour the brains within.&amp;lt;br /&amp;gt;&lt;br /&gt;
North of Riverhaven they tend to swarm.&amp;lt;br&amp;gt;&lt;br /&gt;
Significantly easier than Crossing goblins.&lt;br /&gt;
&lt;br /&gt;
===Equipment/Loot===&lt;br /&gt;
*It is wearing a {{cloot|a|rotting leather coat}}.&lt;br /&gt;
*It is carrying a {{cloot|w|rusty scimitar}}.&lt;br /&gt;
The coat and scimitar will crumble into a fine ash if a player interacts with them.&lt;/div&gt;</summary>
		<author><name>HAZADO22</name></author>
	</entry>
</feed>