<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://gswiki.play.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SDANIEL</id>
	<title>GemStone IV Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://gswiki.play.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SDANIEL"/>
	<link rel="alternate" type="text/html" href="https://gswiki.play.net/Special:Contributions/SDANIEL"/>
	<updated>2026-04-04T23:41:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.12</generator>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Ruby&amp;diff=234005</id>
		<title>Ruby</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Ruby&amp;diff=234005"/>
		<updated>2025-02-23T02:10:57Z</updated>

		<summary type="html">&lt;p&gt;SDANIEL: /* List of Rubies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Rubies&#039;&#039;&#039; are very similar to [[sapphire]]s, the only difference being the impurity that causes the ruby to become red rather than the various other hues of a sapphire.  Like the sapphire, a ruby is comprised primarily of a compound of aluminum oxide, or corundum.  The impurity that imparts the red color to ruby is chromium.&lt;br /&gt;
&lt;br /&gt;
= Ruby Material =&lt;br /&gt;
{{material&lt;br /&gt;
 | image = &lt;br /&gt;
 | bonus = -10&lt;br /&gt;
 | str = 69&lt;br /&gt;
 | dur = 665&lt;br /&gt;
 | weight = 100%&lt;br /&gt;
 | use = Weapons, Armor&lt;br /&gt;
 | rarity = Uncommon&lt;br /&gt;
 | special = Non-Metallic&lt;br /&gt;
 | color = Red&lt;br /&gt;
 | dye = No&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Ruby&#039;&#039;&#039; is an uncommon material that can be used for combat gear. It is one of the custom material options available via the standard weapon shop [[Verb:ORDER|ORDER]] system. Until April of 2024 &#039;&#039;&#039;ruby&#039;&#039;&#039; was also a custom material option for the standard armor shop [[Verb:ORDER|ORDER]] system, but has since been removed.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[:Category:Materials|Materials Category]]&lt;br /&gt;
*[[Material/saved posts|Material saved posts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Materials]]&lt;br /&gt;
[[Category:Metals]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Ruby Gemstones =&lt;br /&gt;
[[Image:Ruby cristal.jpg|right|thumb|A ruby crystal prior to being cut.]]&lt;br /&gt;
Asterism, a rare property sometimes exhibited in rubies when cut in cabochon, causes a visible six or twelve pointed star to appear within a ruby when viewed in light.  This property, due to its rarity, makes a ruby more valuble, however, this is not the case in the world of [[Elanthia]].&amp;lt;sup&amp;gt;[http://en.wikipedia.org/wiki/Ruby]&amp;lt;/sup&amp;gt;&lt;br /&gt;
== List of Rubies ==&lt;br /&gt;
{{Gem disclaimer}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = a dragon&#039;s-tear ruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = &lt;br /&gt;
|location = [[Elven Nations]]&lt;br /&gt;
|description = This octagonal piece of stone has not been polished,but even the pitting and pocking of its exteriorcannot hide its value and beauty. The translucent gem glistens with the same dark red as a coagulating drop of blood. When light glances over its exterior, it reflects back in a startling sky-blue shade rather than white, but the fire that blazes in the jewel&#039;s dark heart is of an unmistakable crimson hue.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = a dwarf-cut ruby&lt;br /&gt;
|rarity = Common&lt;br /&gt;
|value = 4500&lt;br /&gt;
|location = Northern Caravansary&lt;br /&gt;
|description = Minute flecks of golden imflass contaminate the ruby, but, rather than detracting from the deep red gem&#039;s beauty, they enhance it -- for each fleck is shaped like a tiny fern frond, and the miniscule golden shapes swirl like a whirlwind around the incandescent heart of the jewel.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = a faceted blood red sandruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = &lt;br /&gt;
|location = [[Sanctum of Scales]]&lt;br /&gt;
|description = A constellation of golden motes flashes like fire in the core of the ruby.  The dark red hue of the gem is enhanced by swirls of sunny yellow that drift through it like veils of sand blown by a desert breeze.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = a flickering snowfire ruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = 5000&lt;br /&gt;
|location = [[Icemule Trace]]&lt;br /&gt;
|description = The snowfire ruby sparkles with flickers of frosty iridescence, as if its heart were a flame frozen in crystalline form.  Intricately cut, the gem is graced with hints of cobalt blue along the edges of its facets, lending complexity to its rich color.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = an impure blood red ruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = &lt;br /&gt;
|location = [[Sanctum of Scales]]&lt;br /&gt;
|description = Blackish impurities cloud the interior of the ruby, swirling like a sky in storm.  They lend a tenebrous darkness to the jewel&#039;s predominant bloody hue.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = a pale pink mistvein ruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = &lt;br /&gt;
|location = [[Isle of the Four Winds]]&lt;br /&gt;
|description = The small chunk of cloudy pink ruby is laced with shimmering strands of misty silver.  Each metallic inclusion is composed of hundreds of miniscule flecks that reflect light like a hazy web of tiny dewdrops.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = a star ruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = 1200 &amp;lt;!-- 1152, 1260 --&amp;gt;&lt;br /&gt;
|location = Any&lt;br /&gt;
|description = Cut into a simple cabochon, the top of this ruby displays a silvery six-legged star that follows the light and appears to hover above the surface of the gem. The stone itself is dark pink, and only partially translucent due to the rutile needles that create the stunning asterism.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = an uncut ruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = 2700&lt;br /&gt;
|location = Any&lt;br /&gt;
|description = A deep, pigeon blood red, the ruby is a barrel-shaped hexagon with tiny parallel grooves on all surfaces. A stream-polished spot on one side reveals the translucency of the gem&#039;s interior.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = a sylvarraend ruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = 3800 - 4300&lt;br /&gt;
|location = [[Elven Nations]]&lt;br /&gt;
|description = Minute flecks of golden imflass contaminate the ruby, but, rather than detracting from the deep red gem&#039;s beauty, they enhance it -- for each fleck is shaped like a tiny fern frond, and the miniscule golden shapes swirl like a whirlwind around the incandescent heart of the jewel.}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
{{Gem&lt;br /&gt;
|name = a vinous gigasblood ruby&lt;br /&gt;
|rarity = &lt;br /&gt;
|value = 4900&lt;br /&gt;
|location = [[Hinterwilds]]&lt;br /&gt;
|description = Roughly the size of a giantman&#039;s fist, the ruby is a deep red of fine wine.  Though its hue is surpassingly dark, the jewel is surprisingly clear, its facets collecting ambient light to suffuse its core with incarnadine fire.}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*[https://www.play.net/gs4/info/gems/gem8.asp#ruby Ruby on Play.net]&lt;/div&gt;</summary>
		<author><name>SDANIEL</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Talk:Realm_Weapon&amp;diff=233382</id>
		<title>Talk:Realm Weapon</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Talk:Realm_Weapon&amp;diff=233382"/>
		<updated>2025-02-09T22:01:14Z</updated>

		<summary type="html">&lt;p&gt;SDANIEL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just as a note because this has been reported a few times: The flares are set when you GET the weapon, not when you swing it.  So it you GET the weapon on Four Winds, it will be set to steam flares.  If you then transport back to your original town, you will still have the steam flare unless you store and re-equip the weapon.  Same if you use the Chronomage or walk to a different realm.  This is a feature, not a bug.  [[User:GS4-VANAH|GameMaster Vanah]] ([[User talk:GS4-VANAH|talk]]) 13:58, 28 April 2016 (CDT)&lt;br /&gt;
&lt;br /&gt;
For UAC gloves and boots, its also set when you JAB, PUNCH, GRAPPLE, and KICK. [[User:HAZADO22|HAZADO22]] ([[User talk:HAZADO22|talk]]) 14:07, 28 April 2016 (CDT)&lt;br /&gt;
&amp;lt;pre{{log2}}&amp;gt;&lt;br /&gt;
Pulled out in Landing.&lt;br /&gt;
&lt;br /&gt;
You get a pair of rolaren-studded gauntlets from inside your shredded-edged greatcloak.  &#039;&#039;&#039;They emit a low, rumbling tone.&#039;&#039;&#039;&lt;br /&gt;
You get a pair of rolaren-toed boots from inside your shredded-edged greatcloak.  &#039;&#039;&#039;They emit a low, rumbling tone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JAB and KICK in Solhaven.&lt;br /&gt;
&lt;br /&gt;
You concentrate intently, focusing all your energies.&lt;br /&gt;
With instinctive motions, you weave to and fro striking with deliberate and unrelenting fury!&lt;br /&gt;
You attempt to jab a werebear!&lt;br /&gt;
&#039;&#039;&#039;Your rolaren-studded gauntlets emit a high-pitched thrumming sound.&#039;&#039;&#039;&lt;br /&gt;
You have decent positioning against a werebear.&lt;br /&gt;
  UAF: 96 vs UDF: 85 = 1.129 * MM: 93 + d100: 9 = 114&lt;br /&gt;
  ... and hit for 1 point of damage!&lt;br /&gt;
  Lackluster jab to the mid-back.&lt;br /&gt;
You attempt to jab a werebear!&lt;br /&gt;
You have decent positioning against a werebear.&lt;br /&gt;
  UAF: 96 vs UDF: 85 = 1.129 * MM: 100 + d100: 33 = 145&lt;br /&gt;
  ... and hit for 4 points of damage!&lt;br /&gt;
  Downward-swinging jab lands a swift blow against the right ankle!&lt;br /&gt;
  Strike leaves foe vulnerable to a followup jab attack!&lt;br /&gt;
Your series of strikes and ripostes leaves you off-balance and out of position.&lt;br /&gt;
You are beginning to feel a little fatigued.&lt;br /&gt;
Roundtime: 7 sec.&lt;br /&gt;
Roundtime changed to 3 seconds.&lt;br /&gt;
&lt;br /&gt;
You attempt to kick a werebear!&lt;br /&gt;
&#039;&#039;&#039;Your rolaren-toed boots emit a high-pitched thrumming sound.&#039;&#039;&#039;&lt;br /&gt;
You have excellent positioning against a werebear.&lt;br /&gt;
  UAF: 96 vs UDF: 85 = 1.129 * MM: 101 + d100: 1 = 115&lt;br /&gt;
  ... and hit for 5 points of damage!&lt;br /&gt;
  Fast kick to chest doesn&#039;t even make the werebear blink.&lt;br /&gt;
Roundtime: 4 sec.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Realm Flaring weapons can&#039;t be blessed, article needs to be updated. [[User:HAZADO22|HAZADO22]] ([[User talk:HAZADO22|talk]]) 14:29, 28 April 2016 (CDT)&lt;br /&gt;
&amp;lt;pre{{log2}}&amp;gt;&lt;br /&gt;
You deeply say, &amp;quot;These are realm flaring.&amp;quot;&lt;br /&gt;
You deeply say, &amp;quot;So not sure it will work.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A wave of power flows out of Dirvy towards a pair of rolaren-studded gauntlets.&lt;br /&gt;
A soft white glow surrounds the gauntlets.  Suddenly you are blinded by a brilliant flash of light as the gauntlets is forcibly wrenched from the hand of Dirvy, sending it clattering to the ground where it returns to its original color.&lt;br /&gt;
&lt;br /&gt;
Dirvy softly says, &amp;quot;That would be no.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You nod.&lt;br /&gt;
&lt;br /&gt;
Dirvy picks up a pair of rolaren-studded gauntlets.  They emit a cloud of heated steam.&lt;br /&gt;
Dirvy offers you a pair of rolaren-studded gauntlets.  Click ACCEPT to accept the offer or DECLINE to decline it.  The offer will expire in 30 seconds.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The blessing aspect comes directly from a Tamuz post, which I may have misread.  [[User:VANKRASN39|VANKRASN39]] ([[User talk:VANKRASN39|talk]]) 16:25, 28 April 2016 (CDT)&lt;br /&gt;
&lt;br /&gt;
In addition to not being blessable, realm flare weapons are VERY hard to ensorcell. I (level 48 sorcerer) tried and it &amp;quot;would require a miracle to do so&amp;quot;. Womp womp. --[[User:SDANIEL|SDANIEL]] ([[User talk:SDANIEL|talk]]) 16:00, 9 February 2025 (CST)&lt;/div&gt;</summary>
		<author><name>SDANIEL</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Lich:Profanity&amp;diff=232142</id>
		<title>Lich:Profanity</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Lich:Profanity&amp;diff=232142"/>
		<updated>2025-01-13T23:01:20Z</updated>

		<summary type="html">&lt;p&gt;SDANIEL: /* The power of scripting */ commas are not good for bash arrays&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{3rd-party}}&lt;br /&gt;
[[File:Profanity-screenshot.png|thumb|right|Screenshot of Profanity with ;narost]]&lt;br /&gt;
&#039;&#039;&#039;Profanity&#039;&#039;&#039; is a lightweight, unofficial front end (FE) written in Ruby by Tillmen.  Its name likely reflects the author&#039;s sense of humor, or possibly the response of most people the first time they encounter it.  Snarky speculation aside, it remains a fact that &#039;&#039;&#039;Profanity&#039;&#039;&#039; relies on the [https://en.wikipedia.org/wiki/Curses_(programming_library) curses library], perhaps being the true origin of the name.  That is important, because the user will need a Ruby gem for curses to run &#039;&#039;&#039;Profanity&#039;&#039;&#039; (e.g., &amp;quot;gem install curses&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Updated: https://github.com/elanthia-online/ProfanityFE&lt;br /&gt;
* Original: https://github.com/matt-lowe/ProfanityFE (not maintained)&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The main features and advantages of Profanity compared to other FEs are generally:&lt;br /&gt;
*Free software (the user can freely see and modify all code)&lt;br /&gt;
*Lightweight with a minimalist look-and-feel (i.e. no graphics)&lt;br /&gt;
*Runs natively in most operating systems&lt;br /&gt;
*Regular expression highlighting&lt;br /&gt;
*Easily launched by other programs (e.g. for bots)&lt;br /&gt;
*Optimized screen real-estate usage&lt;br /&gt;
&lt;br /&gt;
Because Profanity is a script and not compiled software, &#039;&#039;it can easily be run on any computer&#039;&#039; which has a proper version of the Ruby interpreter installed.  Anyone using [[Lich (software)|Lich]] will already have most if not all the necessary tools available on their computer.  This is important because Simutronics only releases FEs for Windows and macOS; thus, Profanity is particularly popular among users of other operating systems, such as GNU/Linux.  It it also used by player-created robots, such as [[TownCrier]] and the [https://twitter.com/GSIVDeathLog GSIVDeathLog], owing to the minimal resources it consumes as well as the ease with which it can be launched from a [https://en.wikipedia.org/wiki/Command-line_interface command-line interface] (e.g. directly from another program or script written by the author).  It is also one of the easiest interfaces to play via a tablet or smartphone because it does not waste screen real-estate with bells and whistles; Profanity automatically resolves the dimensions of the window it is called from, for instance automagically moving death messaging directly into the main game feed if the screen is under a certain size.  To play via a smartphone, the best approach would be running Lich and Profanity remotely (such as on one&#039;s home PC) and then accessing the game via [https://en.wikipedia.org/wiki/Secure_Shell ssh].&lt;br /&gt;
&lt;br /&gt;
Owing to its minimalist approach, Profanity could be considered slightly more difficult to install and configure than other FEs.  Another possible disadvantage is that it is not officially supported, thus some game defaults give blind errors (the user can tell there is a problem but there is no feedback to indicate what went wrong) or simply behave in an unusual manner.  Conversely, as free software, any person can improve it unlike official FEs which are only developed by a small number of Simutronics contractors and/or employees.  At present, this article assumes some basic familiarity with the command line and UNIX-like operating systems, but it may be expanded in the future with clear instructions even for a novice who has never used the command line before.&lt;br /&gt;
&lt;br /&gt;
==Launching Profanity==&lt;br /&gt;
Profanity is not a full FE itself as it requires Lich to be installed.  Lich is used to login to GemStone, as well as for many of the features such as scripting, logging, squelching, etc.  Profanity might be best thought of as an add-on to Lich which together create a full FE.  Profanity must be downloaded first as outlined in the [[Lich (software)/Installation|Lich installation]] page. &lt;br /&gt;
&lt;br /&gt;
===Saving login data with Lich===&lt;br /&gt;
[[File:Lich-login.png|thumb|right|Lich Game Entry]]&lt;br /&gt;
*&#039;&#039;&#039;Because Profanity cannot login to GemStone, one must login via Lich&#039;s Game Entry and &#039;&#039;save&#039;&#039; the information.&#039;&#039;&#039;  &lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
ruby ~/lich5/lich.rbw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A graphical interface will pop up (shown on the right), and one should navigate to the Game Entry tab at the top, enter their Simutronics user name and password, and hit &#039;Connect&#039;.  Assuming the user name and password are correct, the list will then be populated with the player&#039;s characters to choose from.  &#039;&#039;The most important step is to check the box &#039;Save this info for quick game entry&#039;&#039;&#039;.  It doesn&#039;t matter what is done with the radio buttons for Wizard / Stormfront (we won&#039;t be using either one) nor the &#039;Custom launch command&#039;.  The present step is only done once, simply to tell Lich (and thus Profanity) how to login a character, not to actually perform said login.  As the Wizard radio button is selected by default, it is assumed the user simply leaves it as it is.  Once these things are done, simply hit &#039;Play&#039; and the pop-up will close, saving your login details.&lt;br /&gt;
&lt;br /&gt;
This step must be done for each character a player wishes to play.  &#039;&#039;Note that the login data are saved only based on the character&#039;s name and not the game instance (Prime, Platinum, Shattered, Test); thus if a player has characters with the same name in different instances&amp;amp;mdash;which is always the case for the Test server&amp;amp;mdash;the above login step must be performed each time the player wants to switch game instances.&lt;br /&gt;
&lt;br /&gt;
===Logging in===&lt;br /&gt;
To log in the character Rinualdo, one would firstly issue a command like:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
ruby ~/lich5/lich.rbw --login Rinualdo --without-frontend --detachable-client=8000 &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A default installation will need a template. Two default templates are provided. Make sure to rename your template after your character name ProfanityFE/templates/charname.xml and is not empty. If you do not have a template, it will default to load the default.xml template. You can copy the template tysong.xml file with the character name you are logging in as:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
cp ~/ProfanityFE/templates/tysong.xml ~/ProfanityFE/templates/rinualdo.xml &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After which, one can now launch Profanity to connect to the previously previously ran Lich login:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
ruby ~/ProfanityFE/profanity.rb --port=8000 --char=Rinualdo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see any existing running Lich sessions prior to launching Profanity to connect to one, use the following:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
ps aux | grep ruby&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above command might not connect, depending on whether or not the game entry was completed in the previous step or not, thus one either needs to wait a few seconds, or simply issue the command until a game connection is established.&lt;br /&gt;
&lt;br /&gt;
Of course, one probably does not want to type all the above commands in full every time s/he wants to play.  Thus it can be easily scripted.  One can create executables somewhere in their PATH.&lt;br /&gt;
&lt;br /&gt;
To perform the game login, one might create a script called &#039;&#039;gsiv.sh&#039;&#039; as follows:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
# Script to automate login to Tillmen&#039;s lich in detached mode&lt;br /&gt;
# Author: daid&lt;br /&gt;
&lt;br /&gt;
character=&amp;quot;$1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$character&amp;quot; ];then&lt;br /&gt;
  echo &amp;quot;Usage: $0 character_name&amp;quot;&lt;br /&gt;
  exit&lt;br /&gt;
fi&lt;br /&gt;
echo &amp;quot;Logging in $character in detached mode.&amp;quot;&lt;br /&gt;
echo &amp;quot;call profanity in another terminal&amp;quot;&lt;br /&gt;
ruby $HOME/lich5/lich.rbw --login $character --without-frontend --detachable-client=8000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To launch Profanity repeatedly until a connection is established, one can create a script called &#039;&#039;profanity.sh&#039;&#039;:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
# Profanity login wrapper&lt;br /&gt;
# Author: daid&lt;br /&gt;
&lt;br /&gt;
character=&amp;quot;$1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$character&amp;quot; ];then&lt;br /&gt;
  echo &amp;quot;Usage: $0 character_name&amp;quot;&lt;br /&gt;
  exit&lt;br /&gt;
fi&lt;br /&gt;
    &lt;br /&gt;
$(exit 1)&lt;br /&gt;
until ruby $HOME/ProfanityFE/profanity.rb --port=8000 --char=$character 2&amp;gt; /dev/null ;do&lt;br /&gt;
  printf &amp;quot;.&amp;quot;&lt;br /&gt;
  sleep 1&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{top}}&lt;br /&gt;
&lt;br /&gt;
==Features and Customization==&lt;br /&gt;
All of Profanity&#039;s macros and highlights are controlled with XML in a file called $HOME/.profanity.xml which will be created with some defaults the first time you launch Profanity.  One can use the default examples to create their own.&lt;br /&gt;
&lt;br /&gt;
===Status Displays===&lt;br /&gt;
As Profanity runs through a terminal emulator, all information is displayed via ASCII (unless a lich script popout is used), including the character&#039;s status.  Numerical data are underlayed with a color bar graph for:&lt;br /&gt;
*[[Stance]] (&#039;stance&#039;)&lt;br /&gt;
*[[Experience]] (&#039;mind&#039;)&lt;br /&gt;
*[[Hitpoint]]s (&#039;health&#039;)&lt;br /&gt;
*[[Spirit]] (&#039;spirit&#039;)&lt;br /&gt;
*[[Mana]] (&#039;mana&#039;)&lt;br /&gt;
*[[Stamina]] (&#039;stam&#039;)&lt;br /&gt;
*[[Encumbrance]] (&#039;load&#039;)&lt;br /&gt;
*[[Stun]] (&#039;stun&#039;)&lt;br /&gt;
*[[Roundtime]] and [[Cast roundtime]] (&#039;rndtime&#039; as different colors)&lt;br /&gt;
&lt;br /&gt;
====Health====&lt;br /&gt;
&lt;br /&gt;
[[Wounds]] are displayed in different colors as a stick figure framed with indicators for specialized locations as well as general ailments such as [[disease]]d, [[poison]]ed and [[bleeding]].  Even with perfect [[health]], the indicator characters will be displayed by default in a dark grey as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=60%}}&amp;gt;&lt;br /&gt;
 e   e  ns &lt;br /&gt;
   O       &lt;br /&gt;
  /|\   nk &lt;br /&gt;
 o | o     &lt;br /&gt;
  / \   bk &lt;br /&gt;
 o   o     &lt;br /&gt;
dis psn bld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Minor injuries appear in yellow with more severe injuries progressing into light and dark red, respectively.  Scars appear in light to deeper shades of blue.  It should be noted that nervous system scars and injuries are sent through the game data stream in the same manner, so Profanity does not distinguish between an injury and a scar and a nervous scar always appears in the color of an injury.  All of these characters and colors are fully customizable in .profanity.xml.&lt;br /&gt;
&lt;br /&gt;
As a silly example, why have &amp;quot;dis psn bld&amp;quot; when it can read &amp;quot;113 114 !!!&amp;quot;.  It can be fun to customize for yourself.  We have matched the character length and replaced it with the issue.  Ideally back-highlighted (rather than foreground highlighting) with eye-bleeding read.  We can see the problem and also the solution straight up!&lt;br /&gt;
&lt;br /&gt;
====Directional Movements====&lt;br /&gt;
A directional compass indicator displays what movements are available from the current room, normally in yellow:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=60%}}&amp;gt;&lt;br /&gt;
 ^   * ^ * &lt;br /&gt;
 o   &amp;lt;   &amp;gt; &lt;br /&gt;
 v   * v * &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A sample customization, where slashes and backslashes are used for the diagonal directions (ne, se, sw, &amp;amp; nw) would look like:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=60%}}&amp;gt;&lt;br /&gt;
 ^   \ ^ / &lt;br /&gt;
 o   &amp;lt;   &amp;gt; &lt;br /&gt;
 v   / v \&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Macros and Key Shortcuts===&lt;br /&gt;
Macros in Profanity work much the same as in other FEs, and the default XML config file shows examples.  It should be noted, however, that many terminal emulators have their own hot-keys which, by default, would override or get mixed up with Profanity&#039;s own macros.  These will vary somewhat based on one&#039;s terminal program and operating system.  There may be ways to disable said terminal hot keys, but this would disable them for all terminal instances, so one either would want a dedicated terminal program for Profanity or to create a profile.  Another alternative is to avoid macros on said keys.  A third option is to mix and match them in an interesting way.&lt;br /&gt;
&lt;br /&gt;
A few examples of common terminal macros are:&lt;br /&gt;
&lt;br /&gt;
*Shift+Insert: This will paste the normal paste buffer (since Ctrl+V doesn&#039;t usually work)&lt;br /&gt;
*Ctrl+U: This normally clears the line, much like the GSIV down arrow&lt;br /&gt;
*Ctrl+I: This is the same as the Tab key (ordinarily used for auto-completion).  This is an interesting feature since it means we can make a macro on the Tab key by mapping a macro to Ctrl+I, such as [[TARGET (verb)|TARGET NEXT]].  However, note that the Tab key is ordinarily used in Profanity to switch the focus of the scrollbar (e.g. from the game feed to thought window)&lt;br /&gt;
*Ctrl+Z: This will suspend the program.&lt;br /&gt;
*Ctrl+C: This will kill the program (i.e. quit Profanity!)&lt;br /&gt;
&lt;br /&gt;
===Highlights===&lt;br /&gt;
One of the beauties of Profanity is not only that regular expression highlighting is supported, but sharing highlights with friends is as easy as copy and pasting XML into the config file.  As it is in XML, it even allows for comments to explain the purpose or origin of the highlights, which can be readily grouped into sensible blocks.  Below are some common examples.&lt;br /&gt;
&lt;br /&gt;
====Herbs====&lt;br /&gt;
Ever move to a new location and don&#039;t recognize what items are herbs?  Click on [&amp;lt;font color=blue&amp;gt;Expand&amp;lt;/font&amp;gt;] to the right!&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: none; text-align:left; background: #FFF; padding: 0px 10px; margin: 0px 5px; background: #FFF;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible-content&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- common herbs --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;399900&#039;&amp;gt; bolmara potion| brostheras potion| bur-clover potion| rose-marrow potion| talneo potion| wingstem potion| acantha leaf| aloeas stem| ambrominas leaf| basal moss| calamia fruit| cothinar flower| cactacae spine| cuctucae berry| ephlox moss| strigae cactus| haphip root| marallis berry| pothinir grass| sovyn clove| spearmint leaf| torban leaf| tkaro root| wolifrew lichen| yabathilium fruit| woth flower&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- FWI herbs --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;399900&#039;&amp;gt;a crystalline rose-marrow elixir|a crystalline talneo elixir|a crystalline brostheras elixir|a crystalline bolmara elixir|a crystalline wingstem elixir|a crystalline bur-clover elixir&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- IMT herbs --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;399900&#039;&amp;gt; flower-shaped tart| iceberry tart| Leaftoe&#039;s lichen tart| musk ox tart| Dabbings Family special tart| gelatinous elk fat tart| elk fat gel| frog&#039;s bone porridge| Ma Leaftoe&#039;s spiced torban tart| polar bear fat soup| ram&#039;s bladder| sparrowhawk pie| walrus blubber| earthworm potion| elk horn potion| rock lizard potion| snowflake elixir| starfish potion| tundra grass| rock ptarmigan feathers| arctic moss&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Teras herbs --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;399900&#039;&amp;gt; olak&#039;s Ol&#039;style ale| bloody Krolvin ale| orc&#039;s head ale| kenar&#039;s dropjaw ale| miner&#039;s muddy ale| dacra&#039;s Dream ale| lost dogwater ale| golden goose ale| bearded ladies&#039; ale| mad mutt frothy ale| captn&#039; Pegleg&#039;s ale| mama dwarf&#039;s ale| aged schooner ale| gert&#039;s homemade ale| wort&#039;s winter ale| volcano vision ale| semak&#039;s smooth ale| dark swampwater ale| agrak&#039;s amber ale| reaper&#039;s red ale&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pinefar herbs --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;399900&#039;&amp;gt; acantha leaf tea| sassafras tea| red lichen tea| red lichen potion| valerian root tea| valerian root potion| sweetfern tea| sweetfern potion| manroot tea| manroot potion| angelica root potion| gingko nut tea| gingko nut potion| wyrmwood tea| wyrmwood potion| daggit root potion| feverfew tea| feverfew potion| pennyroyal tea| pennyroyal potion&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- alchemy tinctures --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;399900&#039;&amp;gt; tincture of acantha| tincture of rose-marrow| tincture of tkaro| tincture of bolmara| tincture of aloeas| tincture of ambrominas| tincture of basal| tincture of cactacae| tincture of calamia| tincture of cothinar| tincture of cuctucae| tincture of ephlox| tincture of haphip| tincture of pothinir| tincture of sovyn| tincture of torban| tincture of wolifrew| tincture of talneo| tincture of woth| tincture of yabathilium| tincture of brostheras| tincture of bur-clover| tincture of wingstem&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Zul herbs --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;399900&#039;&amp;gt; grey mushroom potion| green mushroom potion| thick foggy ale| glowing mold tea| dark frothing ale| stalagmite brew| bubbling brown ale| crushed cavegrass tea| spotted toadstool ale| stalactite brew| grainy black potion| chunky black ale| roasted ratweed tea| brown weedroot ale| dirty crevice brew| dirty rat fur potion| resty red ale| sticky lichen tea| dull crimson ale| stone soot brew&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
====Buff spells falling====&lt;br /&gt;
Want (nearly) all the [[buff spells]] highlighted in red when they drop?  Blue for positive effects?  Click on [&amp;lt;font color=blue&amp;gt;Expand&amp;lt;/font&amp;gt;] to the right!&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border: none; text-align:left; background: #FFF; padding: 0px 10px; margin: 0px 5px; background: #FFF;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;mw-collapsible-content&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;source lang=&#039;xml&#039;&amp;gt;&lt;br /&gt;
&amp;lt;!-- raising dead w/ 318 --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;0000ff&#039;&amp;gt;^The feeling of weakness leaves you.  Your spirits are somewhat rejuvenated\.$&amp;lt;/highlight&amp;gt;  &lt;br /&gt;
&amp;lt;!-- meditation --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;0000ff&#039;&amp;gt;^You wake from your meditation, yet a deep feeling of relaxation remains present\.$&amp;lt;/highlight&amp;gt;  &lt;br /&gt;
&amp;lt;!-- invisible person teleports to room --&amp;gt;&lt;br /&gt;
&amp;lt;highlight bg=&#039;ff0000&#039;&amp;gt;There is a soft pulse in the essence\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- 203 or 215 --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;0000ff&#039;&amp;gt;^You feel more refreshed\.$&amp;lt;/highlight&amp;gt;  &lt;br /&gt;
&amp;lt;!-- meditation --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^The lingering effects of your meditation fade away\.$&amp;lt;/highlight&amp;gt;  &lt;br /&gt;
&amp;lt;!-- Massies --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;0000ff&#039;&amp;gt;^Your form blurs\.$|^You seem to blend into the surroundings better\.$|^A brilliant luminescence surrounds you\.$&amp;lt;/highlight&amp;gt;  &lt;br /&gt;
&amp;lt;!-- MnS --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^The (light|deep) blue glow leaves you\.$|^Deep blue motes swirl away from you and fade\.$|^The air calms down around you\.$|^The (powerful|very powerful) look leaves you\.$|^You lose your extra internal fortitude\.$|^You notice your blood flow go back to normal\.$|^The misty halo fades from you\.$|^The dull golden nimbus fades from around you\.$|^The guiding force leaves you\.$|^The white light leaves you\.$|^The wall of force disappears from around you\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- 117 lore --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;0000ff&#039;&amp;gt;^The invisible force draws back to guide you once more\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- MjS --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^The dim aura fades from around you\.$|^The replenishing effect fades, but you are left with a feeling of well-being\.$|^You feel less secure\.$|^You feel the knowledge of the treatment of injuries dissipate\.$|^Your breathing becomes more shallow\.$|^You feel less confident\.$|^The brilliant aura fades away from you\.$|^The opalescent aura fades from around you\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Cleric, 313 missing --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^A white glow rushes away from you\.$|^Your .* returns to normal\.$|^Your sense of faith and conviction wanes\.  You are less sure of yourself\.$|^You suddenly feel less protected\.$|^You feel the protection of your deity&#039;s influence fade\.$|^An ethereal golden collection bowl drifts out of your body, then vanishes\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- MnE --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^The (silvery|bright|brilliant) luminescence fades from around you\.$|^Your senses are no longer as sharp\.$|^The scintillating light fades from your hands\.$|^The focused look leaves you\.$|^You feel less confident than before\.$|^The tingling sensation and sense of security leaves you\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- MjE, 540 missing --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^The glowing specks of energy surrounding you suddenly shoot off in all directions, then quickly fade away\.$|^You suddenly feel less light-footed\.$|^You feel a slight tingling as the shimmering field fades away\.$|^You feel your extra magical awareness leave you\.$|^You feel your extra strength departing\.$|^You no longer bristle with energy\.$|^The layer of raw elemental energy surrounding you dissipates\.$|^You notice that things have returned to their normal speed\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ranger, 650 missing, updated for 2021 --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^You return to normal color\.$|^The air about you stops shimmering\.$|^You feel less in tune with your natural surroundings\.$|^You feel your vision return to normal\.$|^You feel less nimble\.$|^The knobby layer of bark on you creaks and twists briefly before disintegrating\.$|^You feel the inner strength leave you\.$|^The swirling breeze around you finally settles\.$|^Nature\&#039;s blessing of vitality departs as your arcane prowess returns to normal\.$|^You feel the aura of confidence leave you\.$|^You are no longer moving silently\.$|^You no longer feel so dextrous\.$|^You feel the gathering of nature\&#039;s power leave you\.$|^You seem to lose the thorny barrier that surrounds you\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;0000ff&#039;&amp;gt;^Vital energy infuses you, hastening your arcane reflexes|is buffeted by a sudden gust of wind&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Sorcerer --&amp;gt;&lt;br /&gt;
&amp;lt;highlight bg=&#039;ff0000&#039;&amp;gt;^A dark shadow seems to detach itself from your body, swiftly dissipating into the air\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^Your body pulses momentarily into semi transparency and then returns to normal\.$|^Your murky complexion fades away, and you feel less deft\.$|^You exhale the last of a virulent green mist\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;0000ff&#039;&amp;gt;^You are seized by a sudden premonition of his demise\.$|^You acquire a certain murky complexion, and you feel more deft\.$|^Your complexion grows murkier\.$|^You feel refreshed enough to sacrifice another animus\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;00ffff&#039;&amp;gt;^The blood red haze dissipates from around&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;00ffff&#039;&amp;gt;^The mana about you is temporarily disrupted as your magic starts to falter\.\.\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Wizard --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^Your .* stops glowing\.$|^The shimmering multicolored sphere fades from around you\.$|^Faint ripples in the floor beneath you become apparent before quickly dissipating\.$|^You become solid again\.$|^A luminescent aura fades from around you\.$|^The translucent sphere fades from around you\.|it is not well suited for duplicating\.$|It is currently tempering&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Tempering --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;0000ff&#039;&amp;gt;It is currently tempered and ready to be enchanted\.|You feel a soft pulse in the essence around you\.&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Enhancive depletion warning --&amp;gt;&lt;br /&gt;
&amp;lt;highlight bg=&#039;ff0000&#039;&amp;gt;faintly pulses with light and you sense its enhancive magic will be depleted soon&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Bard, 1006,1010,... missing --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^You no longer feel a sense of confidence\.$|^You no longer feel a sense of protection\.$|^Your spirits are no longer lifted by stories of Kai&#039;s Triumphs\.$|^The mirror images surrounding you undulate and fade away\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Empath, 1130 missing --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^Your mind&#039;s keen focus fades away\.$|^Your aura of resolve dissipates\.$|^You release your pinpoint focus on your healing energies and allow their stimulated flow to settle to normal rates\.$|^Your heart staggers briefly before slowing to a more regular speed\. Dark red droplets seep out of your skin and evaporate as the influence of Troll&#039;s Blood leaves you\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- MnM, 1220 missing --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^You feel the tension in your skin ease and notice that your complexion returns to normal\.$|^Like sand through an hourglass, your visions of the future slip away and fade from your mind\.$|^You feel your forehead pulse as your mind relaxes\.$|^The scales covering your hands turn brittle and flake away\.$|^You feel your muscles begin to strain for an instant\. The sense of body control has left you\.$|^The thick plates of bone around your forearms begin to crack, then shatter into a fine white dust\.$|^Darkness punctuated by a constellation of starry pinpoints wells up to the surface of your skin and splinters away with a sound like shattering crystal\.$|^The barrier of force around you dissipates\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Paladin --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^The dully illuminated mantle protecting you begins to falter, then completely fades away\.$|^Your sense of clarity fades\.$|^The subdued warmth embracing you fades along with the spiritual force surrounding your arms\.$|^Your boosted confidence and fearlessness fade\.$|^Your skin grows slightly numb for a moment as the warm glow fades from around you\.$|^You lose a bit of focus as the knowledge of future battles drifts from your mind\.$|^You feel your abilities diminish as the energy provided by your patron fades from around you\.$|^The dim celadon wisps about your hands flare up once more and fade completely away\.$|^The subdued warmth embracing you fades along with the spiritual force surrounding your arms\.$|^You feel slightly weakened as the blood in your veins thins\.$|^You feel less resolved as the divine urging subsides, fading into obscurity\.$|^Your bolstered defenses fade with the soft glow about you\.$|^The divine force surrounding you slowly fades away\.$|^The muted pale blue sphere surrounding you flickers once and shudders before fading completely\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;The dully illuminated mantle protecting .* begins to falter, then completely fades away.&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- Arcane, 1720 missing --&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;ff0000&#039;&amp;gt;^The brilliant, rapidly shifting aura around you shimmers and flickers briefly before fading\.$|^The brilliant, rapidly shifting aura around you shimmers and bursts in a bright flash!$|^The licks of blue flame surrounding you flare up one last time before vanishing with a staticky crackle\.$|^Like a faint wisp of a barely-remembered dream, your brief, enhanced comprehension of arcane mysteries slips away\.$|^A faint silvery glow fades from around you\.$&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
&lt;br /&gt;
==Special Commands==&lt;br /&gt;
&lt;br /&gt;
A series of commands specific to Profanity are built in.  They are accessed beginning the command with a period (&#039;.&#039;).  Below is a list of known Profanity commands and their function:&lt;br /&gt;
&lt;br /&gt;
*.arrow : Switches between the two arrow modes.  By default, up and down arrows scroll the command history.  The alternate mode is to scroll the active feed.&lt;br /&gt;
*.copy : (Does nothing.  Has fixme note in code.)&lt;br /&gt;
*.fixcolor : Related with loading CUSTOM_COLORS which are not set by default.&lt;br /&gt;
*.layout $1 : Loads the layout $1.&lt;br /&gt;
*.quit : Quits Profanity (but does not exit the game).&lt;br /&gt;
*.reload : Reloads highlights only.  Can sometimes fix buffer issues.&lt;br /&gt;
*.resync : Forces a synchronization between Lich server and Profanity.&lt;br /&gt;
&lt;br /&gt;
==Common problems==&lt;br /&gt;
As mentioned above, because Profanity is not an official FE nor widely used, there are some quirks which should be considered.  &lt;br /&gt;
&lt;br /&gt;
===Dialogs===&lt;br /&gt;
Some aspects of the game use pop-up dialogs.  However, the game will silently fail if your FE does not support dialogs; that is, if dialogs are enabled, and you happen to issue a command that has dialog support, literally nothing will happen at all.  There is no failure message because the game apparently does not detect if a dialog was launched successfully or not, nor even if your FE can even support them.  &#039;&#039;&#039;To make matters worse, this feature is enabled by default for all characters.&#039;&#039;&#039;  An example of such a command is [[PROFILE (verb)|Profile]].  To fix this, issue the game command&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
&amp;gt;[[FLAG]] Dialogs Off&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Training===&lt;br /&gt;
Training via the traditional means of going to a local inn and [[CHECK IN (verb)|check in]] works fine.  However, if one instead wishes to use the modern web-browser approach offered by [[GOALS (verb)|GOALS]] then sometimes Profanity&#039;s display will get filled with some of the feedback which does not scroll nor get cleared correctly.  To rectify this, simply quit profanity (&#039;&#039;not the game, note the preceding period below&#039;&#039;) and re-launch Profanity&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
&amp;gt;.quit&lt;br /&gt;
% profanity.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Strange markup===&lt;br /&gt;
For some reason, sometimes the game feed&#039;s markup is not handled correctly by Profanity.  A known instance of this is when the character is idle, which is sandwiched between nonsense (&#039;^G&#039;) which is probably used in official FEs to produce some sort of added emphasis.  So far there is no solution, and a Profanity user should simply know that this is SNAFU:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
^GYOU HAVE BEEN IDLE TOO LONG. PLEASE RESPOND.^G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Lich scripts with fancy output===&lt;br /&gt;
&lt;br /&gt;
Lich scripts that use the &amp;lt;tt&amp;gt;echo&amp;lt;/tt&amp;gt; call for fancy output will unfortunately output to the window which connected to GemStone not to the attached window.  Thus all such messages appear in the login window rather than the game feed.  There is no known solution, and script writers should be aware of this inconsistent behavior of the &amp;lt;tt&amp;gt;echo&amp;lt;/tt&amp;gt; call and avoid using it.  This includes [[Script Bigshot|;bigshot]] and ;zzherb for example.&lt;br /&gt;
&lt;br /&gt;
===Failure to update resource bars===&lt;br /&gt;
&lt;br /&gt;
Profanity assumes that the player has never customized the formatting of the resource bars in StormFront. This can produce failures to update mana, health, stamina, and/or spirit trackers in Profanity. A workaround is to remove all such customizations. These are literal game commands (as though _progba was a verb) that can be typed by the player or Lich scripted using a &amp;quot;put&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
_progba health 0&lt;br /&gt;
_progba stamina 0&lt;br /&gt;
_progba spirit 0&lt;br /&gt;
_progba mana 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
&lt;br /&gt;
==Useful Lich scripts==&lt;br /&gt;
Due to its simplicity, Profanity does not support common features of other FEs such as squelching and highlighting nouns.  These are instead accomplished by Lich scripts&lt;br /&gt;
&lt;br /&gt;
===Link highlighting===&lt;br /&gt;
Since Profanity is a strictly text-based, then of course the mouse is useless and one cannot click on any links to access verbs etc.  However, at least in room descriptions it is often nice to see which items are links, because it distinguishes items which can be interacted with from the flowery description, for example looking for the entrance to a hidden room.  &#039;&#039;&#039;The Lich script ;linktothefast makes this possible&#039;&#039;&#039; by wrapping links around a &amp;quot;link&amp;quot; preset, which can then be colored with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
&amp;lt;preset id=&#039;link&#039; fg=&#039;ff0000&#039;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternatively, one can use ;roomlinks, which was written for exactly this purpose.&#039;&#039;&#039;  As its default is to sandwich such nouns between % symbols (underlined font is not supported), then one can add a highlight for them:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
&amp;lt;highlight fg=&#039;88aaff&#039;&amp;gt;%.*?%&amp;lt;/highlight&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above highlight may erroneously highlight parts of links to websites, but these should generally only be occurring in [[Out of character|OOC ]] whispers and [[Script LNet|;lnet]] chats and is this not too obnoxious.  If one wishes to instead highlight all links, s/he is encouraged to check out the script ;drizzleback from which ;roomlinks was inspired.  Be warned that your eyes will probably bleed.&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
To get game logs, simply download Tillmen&#039;s ;log script from the repo and add it to the global autostart.&lt;br /&gt;
&lt;br /&gt;
===Squelching===&lt;br /&gt;
{{addmetext}}&lt;br /&gt;
&lt;br /&gt;
(In the mean time, one can check out other scripts with squelching behavior, such as ;dreavening, ;carousel2016, ;squelch, etc.  Note the ;squelch script is specifically for squelching given characters without removing the &#039;Also here&#039; line when they are in the room, which is a common problem of squelching in other FEs, and is not a generalized squelching script.)&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
&lt;br /&gt;
==The power of scripting==&lt;br /&gt;
Here we show a simple example to showcase the power of using Lich in detached mode. With the advent of [[Login Rewards]], one likely wishes to log in all their characters each day, yet this is a tedious process.  It can be easily scripted.&lt;br /&gt;
&lt;br /&gt;
Create a lich script in your scripts folder called &#039;&#039;quit.lic&#039;&#039; and fill it with something simple like:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
puts &amp;quot;#{Time.now} - #{Char.name} - Logged in successfully!&amp;quot;&lt;br /&gt;
sleep(5)&lt;br /&gt;
multifput &amp;quot;info&amp;quot;, &amp;quot;skills full&amp;quot;, &amp;quot;inventory&amp;quot;, &amp;quot;bank account&amp;quot;, &amp;quot;resource&amp;quot;, &amp;quot;ticket balance&amp;quot;, &amp;quot;boost info&amp;quot;&lt;br /&gt;
Script.run(&amp;quot;invdb&amp;quot;, &amp;quot;refresh&amp;quot;)&lt;br /&gt;
puts &amp;quot;#{Time.now} - #{Char.name} - Login finished, exiting!&amp;quot;&lt;br /&gt;
fput &amp;quot;exit&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create an shell script, for example &#039;&#039;gsiv-login.sh&#039;&#039; and simply fill the array CHAR_LIST with all the characters you want to log in. Then add that script to your crontab. With the shell script consisting of:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
port=8000&lt;br /&gt;
LICH_BIN=/home/servermc/lich5/lich.rbw&lt;br /&gt;
RUBY_BIN=/home/servermc/.rbenv/versions/3.3.3/bin/ruby&lt;br /&gt;
CHAR_LIST=(&amp;quot;Character1&amp;quot; &amp;quot;Character2&amp;quot; &amp;quot;Character3&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;Daily logins beginning!&amp;quot;&lt;br /&gt;
/bin/date&lt;br /&gt;
&lt;br /&gt;
for i in &amp;quot;${CHAR_LIST[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
    echo &amp;quot;&amp;quot;&lt;br /&gt;
    echo &amp;quot;Attempting to login as $i...&amp;quot;&lt;br /&gt;
    if ps a | \grep [d]etachable-client; then&lt;br /&gt;
        max_port=$(ps a | grep -Eo &amp;quot;\-\-detachable-client=([0-9]+)&amp;quot; | egrep -o &amp;quot;[0-9]+&amp;quot; | sort | tail -n1)&lt;br /&gt;
        port=$(expr $max_port + 1)&lt;br /&gt;
    fi&lt;br /&gt;
    echo &amp;quot;Launching with: $RUBY_BIN $LICH_BIN --login $i --detachable-client=$port --without-frontend --start-scripts=quit &amp;amp;&amp;quot;&lt;br /&gt;
    $RUBY_BIN $LICH_BIN --login $i --detachable-client=$port --without-frontend --start-scripts=quit &amp;amp;&lt;br /&gt;
    sleep 30&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;Daily logins finished.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{top}}&lt;br /&gt;
&lt;br /&gt;
==Quick and Dirty: What to do for a GUI-less VM==&lt;br /&gt;
&lt;br /&gt;
If you want to install Profanity on a VM (like an AWS EC2 machine or Google VM) without a GUI, there are a couple things you must do:&lt;br /&gt;
&lt;br /&gt;
1. Install the appropriate ruby packages and gems from the lich instructions -- HOWEVER -- do NOT install gtk2 or wine. I used the following:&lt;br /&gt;
&amp;lt;pre{{log2}}&amp;gt;&lt;br /&gt;
sudo apt-get install ruby-dev libsqlite3-dev&lt;br /&gt;
sudo gem install sqlite3 --no-ri --no-rdoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Grab lich and unzip it&lt;br /&gt;
&amp;lt;pre{{log2}}&amp;gt;&lt;br /&gt;
wget https://github.com/elanthia-online/lich-5/releases/latest/download/lich-5.zip&lt;br /&gt;
unzip lich-5.zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Grab profanity from GitHub and unzip it, and copy it into your lich folder&lt;br /&gt;
&amp;lt;pre{{log2}}&amp;gt;&lt;br /&gt;
cd ~/&lt;br /&gt;
git clone https://github.com/elanthia-online/ProfanityFE.git&lt;br /&gt;
cp ~/ProfanityFE/profanity.rb ~/lich&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. This is an important step. You will not be able to run the GUI configuration interface for lich from the VM. You &#039;&#039;&#039;MUST&#039;&#039;&#039; first run the GUI config from another computer and save your settings. Go to lichproject.org and follow the instructions and connect to the game at least once from a Windows, Mac, Linux or other computer with a GUI interface to lich.&lt;br /&gt;
&lt;br /&gt;
5. Next, you need to zip up the &#039;&#039;data&#039;&#039; folder on the GUI computer located at lich/data. Then you need to SFTP it to your VM, unzip it, and copy it over your ~/lich/data folder. I cannot give specific instructions here because everyone has a different way of doing this.&lt;br /&gt;
&lt;br /&gt;
6. Lastly, you can run lich and profanity as shown above now that you have a character profile saved in the data folder.&lt;br /&gt;
&amp;lt;pre{{log2}}&amp;gt;&lt;br /&gt;
ruby ~/lich5/lich.rb --login &amp;lt;character&amp;gt; --without-frontend --detachable-client=8000 2&amp;gt; /dev/null &amp;amp;&lt;br /&gt;
ruby ~/profanity.rb --port=8000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A couple more things:&lt;br /&gt;
&lt;br /&gt;
You&#039;ll want to modify lich because the newer version of ruby doesn&#039;t play well with lich. cd into your lich folder and run &lt;br /&gt;
&amp;lt;pre{{log2}}&amp;gt;&lt;br /&gt;
sed -i -e &#039;s/\(SAFE [&amp;lt;=]\) 3/\1 1/&#039; lich.rbw&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
to update lich.rbw.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also want to keep lich from updating itself and overwriting your updates, so in the game run  &lt;br /&gt;
&amp;lt;pre{{log2}}&amp;gt;&lt;br /&gt;
;repo unset-lich-updatable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 and also in the filesystem set lich.rbw to read-only for the everyone group.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Front Ends]]&lt;/div&gt;</summary>
		<author><name>SDANIEL</name></author>
	</entry>
</feed>