<?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=IPITTMAN</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=IPITTMAN"/>
	<link rel="alternate" type="text/html" href="https://gswiki.play.net/Special:Contributions/IPITTMAN"/>
	<updated>2026-05-04T08:40:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.12</generator>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Huge_mein_golem&amp;diff=213043</id>
		<title>Huge mein golem</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Huge_mein_golem&amp;diff=213043"/>
		<updated>2024-01-21T23:25:59Z</updated>

		<summary type="html">&lt;p&gt;IPITTMAN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature start2 &amp;lt;!-- See Help:Creatures for full instructions on editing creature pages and copy/paste code. Copy/pasting code from an existing creature page may result in missing fields --&amp;gt;&lt;br /&gt;
| picture = Huge_mein_golem_Colored.jpg&lt;br /&gt;
| level = 37&amp;lt;!-- This will also be used at the end of the page in the Near level creature template --&amp;gt;&lt;br /&gt;
| family = Golem&amp;lt;!-- Add creature to family page list, which will be linked on preview/save --&amp;gt;&lt;br /&gt;
| type = Biped&amp;lt;!-- Creature body type --&amp;gt;&lt;br /&gt;
| otherclass = Magical&amp;lt;!-- Other classification limited to corporeal undead, non-corporeal undead, elemental, extra planar, magical; insert otherclass2= for 2nd classification (up to 3) --&amp;gt;&lt;br /&gt;
| otherclass2 = &lt;br /&gt;
| area = Darkstone Castle&amp;lt;!-- For multiple areas, add area2, area3, area4 (through 8) fields if needed --&amp;gt;&lt;br /&gt;
| area2 = &lt;br /&gt;
| area3 = &lt;br /&gt;
| area4 = &lt;br /&gt;
| area5 = &lt;br /&gt;
| area6 = &lt;br /&gt;
| area7 = &lt;br /&gt;
| bcs = Yes &amp;lt;!-- All new creatures are BCS --&amp;gt;&lt;br /&gt;
| hitpoints = &lt;br /&gt;
| roundtime = &amp;lt;!-- Creature speed --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature attack attributes2 &amp;lt;!-- ALL WEAPONS, SPELLS AND COMBAT MANEUVERS WILL LINK AUTOMATICALLY.  --&amp;gt;&lt;br /&gt;
| PA1 = &amp;lt;!-- Physical attacks insert up to PA10 and corresponding value/range up to PAJ --&amp;gt;&lt;br /&gt;
| PAA = &lt;br /&gt;
| PA2 = &lt;br /&gt;
| PAB = &lt;br /&gt;
| PA3 = &lt;br /&gt;
| PAC = &lt;br /&gt;
| BT1 = &amp;lt;!-- Bolt spells insert up to BT10 and corresponding value/range up to BTJ --&amp;gt;&lt;br /&gt;
| BTA = &lt;br /&gt;
| WD1 = &amp;lt;!-- Warding spells insert up to WD10 and corresponding value/range up to WDJ --&amp;gt;&lt;br /&gt;
| WDA = &lt;br /&gt;
| WD2 = &lt;br /&gt;
| WDB = &lt;br /&gt;
| WD3 = &lt;br /&gt;
| WDC = &lt;br /&gt;
| OS1 = &amp;lt;!-- Miscellaneous offensive spells (non-bolt and non-warding) insert up to OS10 --&amp;gt;&lt;br /&gt;
| MN1 = &amp;lt;!-- Combat Maneuvers insert up to MN10 --&amp;gt;&lt;br /&gt;
| MN2 = &lt;br /&gt;
| AB1 = &amp;lt;!-- Special abilities insert up to AB10, include creature maneuvers here, manually link if appropriate --&amp;gt;&lt;br /&gt;
| ABA = &amp;lt;!-- Special abilities right column, use respective corresponding right column as needed for misc info --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature defense attributes2 &amp;lt;!-- Replace ? with value or range, but do not include when the creature is under the effects of disabling statuses (stun/knockdown/interference/curse/etc.) --&amp;gt;&lt;br /&gt;
| asg = &amp;lt;!-- Insert asg # and template will automatically convert to include type of armor --&amp;gt;&lt;br /&gt;
| IMM1 = &amp;lt;!-- add IMM2 (up to 15) for additional immunities --&amp;gt;&lt;br /&gt;
| Melee = 267&lt;br /&gt;
| Ranged = &lt;br /&gt;
| Bolt = 85 - 125&lt;br /&gt;
| UDF = &lt;br /&gt;
| BarTD = &lt;br /&gt;
| CleTD = &lt;br /&gt;
| EmpTD = &lt;br /&gt;
| PalTD = &lt;br /&gt;
| RanTD = &lt;br /&gt;
| SorTD = &lt;br /&gt;
| WizTD = &lt;br /&gt;
| MjETD = &lt;br /&gt;
| MnETD = &lt;br /&gt;
| MjSTD = &lt;br /&gt;
| MnSTD = &lt;br /&gt;
| MnMTD = &lt;br /&gt;
| DSP1 = &amp;lt;!-- Defensive spells insert up to DSP15, they will automatically link --&amp;gt;&lt;br /&gt;
| DSP2 = &lt;br /&gt;
| DSP3 = &lt;br /&gt;
| DSP4 = &lt;br /&gt;
| DSP5 = &lt;br /&gt;
| SDA1 =  &amp;lt;!-- Special defensive abilities list insert up to SDA10, these will not link automatically --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature treasure&lt;br /&gt;
 | coins = &lt;br /&gt;
 | magic items = &lt;br /&gt;
 | gems = &lt;br /&gt;
 | boxes = &lt;br /&gt;
 | other = mein shards&lt;br /&gt;
 | skin = None&lt;br /&gt;
}}&lt;br /&gt;
{{Creature end}}&lt;br /&gt;
&lt;br /&gt;
A towering, animated, glass-like creature, the huge mein golem is comprised entirely of mein.  Taller than a giantman by half again and nearly as wide as tall, the mein golem displays a barrel chest, massive legs and arms, and a flattened, cylindrical head with almost no neck apparent.  Animated by someone with a unique sense of humor, the huge mein golem contains many surprises for the unwary adventurer.&lt;br /&gt;
&lt;br /&gt;
==Hunting strategies==&lt;br /&gt;
Seems impossible or very difficult to knock over.  Tremors(909) and E-Wave(410) seemed to have no effect.&lt;br /&gt;
&lt;br /&gt;
It has an SMR attack, stomp, that knocks you prone with roundtime but no damage.&lt;br /&gt;
&lt;br /&gt;
It often does two attacks at once, left fist and right fist.&lt;br /&gt;
&lt;br /&gt;
Seems immune to [[Minor Shock (901)]], [[Minor Water (903)]], [[Minor Fire (906)]], and probably other minor bolts. (Message says it &amp;quot;reflects&amp;quot; the attack, but it doesn&#039;t actually go back to you.) Other bolt spells such as [[Major Fire (908)]] worked fine and they have low bolt DS.&lt;br /&gt;
&lt;br /&gt;
It is immune to electrical stun from [[Mage Armor (520)]].&lt;br /&gt;
&lt;br /&gt;
Searching will cause it to explode in a maneuver attack a couple of seconds later, leaving behind &amp;quot;a mein shard&amp;quot; worth about 500 at the gemshop. No treasure.&lt;br /&gt;
&lt;br /&gt;
Seems immune to crits.&lt;br /&gt;
==Other information==&lt;br /&gt;
* Puncture resistant&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://www.play.net/gs4/info/bestiary/creature.asp?creature=1463 Huge mein golem on Play.net bestiary]&lt;br /&gt;
&lt;br /&gt;
{{Nearlevel&lt;br /&gt;
|levelm2 = 35&lt;br /&gt;
|levelm1 = 36&lt;br /&gt;
|level = 37&lt;br /&gt;
|levelp1 = 38&lt;br /&gt;
|levelp2 = 39&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>IPITTMAN</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Huge_mein_golem&amp;diff=213042</id>
		<title>Huge mein golem</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Huge_mein_golem&amp;diff=213042"/>
		<updated>2024-01-21T23:20:28Z</updated>

		<summary type="html">&lt;p&gt;IPITTMAN: /* Hunting strategies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature start2 &amp;lt;!-- See Help:Creatures for full instructions on editing creature pages and copy/paste code. Copy/pasting code from an existing creature page may result in missing fields --&amp;gt;&lt;br /&gt;
| picture = Huge_mein_golem_Colored.jpg&lt;br /&gt;
| level = 37&amp;lt;!-- This will also be used at the end of the page in the Near level creature template --&amp;gt;&lt;br /&gt;
| family = Golem&amp;lt;!-- Add creature to family page list, which will be linked on preview/save --&amp;gt;&lt;br /&gt;
| type = Biped&amp;lt;!-- Creature body type --&amp;gt;&lt;br /&gt;
| otherclass = Magical&amp;lt;!-- Other classification limited to corporeal undead, non-corporeal undead, elemental, extra planar, magical; insert otherclass2= for 2nd classification (up to 3) --&amp;gt;&lt;br /&gt;
| otherclass2 = &lt;br /&gt;
| area = Darkstone Castle&amp;lt;!-- For multiple areas, add area2, area3, area4 (through 8) fields if needed --&amp;gt;&lt;br /&gt;
| area2 = &lt;br /&gt;
| area3 = &lt;br /&gt;
| area4 = &lt;br /&gt;
| area5 = &lt;br /&gt;
| area6 = &lt;br /&gt;
| area7 = &lt;br /&gt;
| bcs = Yes &amp;lt;!-- All new creatures are BCS --&amp;gt;&lt;br /&gt;
| hitpoints = &lt;br /&gt;
| roundtime = &amp;lt;!-- Creature speed --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature attack attributes2 &amp;lt;!-- ALL WEAPONS, SPELLS AND COMBAT MANEUVERS WILL LINK AUTOMATICALLY.  --&amp;gt;&lt;br /&gt;
| PA1 = &amp;lt;!-- Physical attacks insert up to PA10 and corresponding value/range up to PAJ --&amp;gt;&lt;br /&gt;
| PAA = &lt;br /&gt;
| PA2 = &lt;br /&gt;
| PAB = &lt;br /&gt;
| PA3 = &lt;br /&gt;
| PAC = &lt;br /&gt;
| BT1 = &amp;lt;!-- Bolt spells insert up to BT10 and corresponding value/range up to BTJ --&amp;gt;&lt;br /&gt;
| BTA = &lt;br /&gt;
| WD1 = &amp;lt;!-- Warding spells insert up to WD10 and corresponding value/range up to WDJ --&amp;gt;&lt;br /&gt;
| WDA = &lt;br /&gt;
| WD2 = &lt;br /&gt;
| WDB = &lt;br /&gt;
| WD3 = &lt;br /&gt;
| WDC = &lt;br /&gt;
| OS1 = &amp;lt;!-- Miscellaneous offensive spells (non-bolt and non-warding) insert up to OS10 --&amp;gt;&lt;br /&gt;
| MN1 = &amp;lt;!-- Combat Maneuvers insert up to MN10 --&amp;gt;&lt;br /&gt;
| MN2 = &lt;br /&gt;
| AB1 = &amp;lt;!-- Special abilities insert up to AB10, include creature maneuvers here, manually link if appropriate --&amp;gt;&lt;br /&gt;
| ABA = &amp;lt;!-- Special abilities right column, use respective corresponding right column as needed for misc info --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature defense attributes2 &amp;lt;!-- Replace ? with value or range, but do not include when the creature is under the effects of disabling statuses (stun/knockdown/interference/curse/etc.) --&amp;gt;&lt;br /&gt;
| asg = &amp;lt;!-- Insert asg # and template will automatically convert to include type of armor --&amp;gt;&lt;br /&gt;
| IMM1 = &amp;lt;!-- add IMM2 (up to 15) for additional immunities --&amp;gt;&lt;br /&gt;
| Melee = 267&lt;br /&gt;
| Ranged = &lt;br /&gt;
| Bolt = 85 - 125&lt;br /&gt;
| UDF = &lt;br /&gt;
| BarTD = &lt;br /&gt;
| CleTD = &lt;br /&gt;
| EmpTD = &lt;br /&gt;
| PalTD = &lt;br /&gt;
| RanTD = &lt;br /&gt;
| SorTD = &lt;br /&gt;
| WizTD = &lt;br /&gt;
| MjETD = &lt;br /&gt;
| MnETD = &lt;br /&gt;
| MjSTD = &lt;br /&gt;
| MnSTD = &lt;br /&gt;
| MnMTD = &lt;br /&gt;
| DSP1 = &amp;lt;!-- Defensive spells insert up to DSP15, they will automatically link --&amp;gt;&lt;br /&gt;
| DSP2 = &lt;br /&gt;
| DSP3 = &lt;br /&gt;
| DSP4 = &lt;br /&gt;
| DSP5 = &lt;br /&gt;
| SDA1 =  &amp;lt;!-- Special defensive abilities list insert up to SDA10, these will not link automatically --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature treasure&lt;br /&gt;
 | coins = &lt;br /&gt;
 | magic items = &lt;br /&gt;
 | gems = &lt;br /&gt;
 | boxes = &lt;br /&gt;
 | other = mein shards&lt;br /&gt;
 | skin = None&lt;br /&gt;
}}&lt;br /&gt;
{{Creature end}}&lt;br /&gt;
&lt;br /&gt;
A towering, animated, glass-like creature, the huge mein golem is comprised entirely of mein.  Taller than a giantman by half again and nearly as wide as tall, the mein golem displays a barrel chest, massive legs and arms, and a flattened, cylindrical head with almost no neck apparent.  Animated by someone with a unique sense of humor, the huge mein golem contains many surprises for the unwary adventurer.&lt;br /&gt;
&lt;br /&gt;
==Hunting strategies==&lt;br /&gt;
Seems impossible or very difficult to knock over.  Tremors(909) and E-Wave(410) seemed to have no effect.&lt;br /&gt;
&lt;br /&gt;
It has an SMR attack, stomp, that knocks you prone with roundtime but no damage.&lt;br /&gt;
&lt;br /&gt;
It often does two attacks at once, left fist and right fist.&lt;br /&gt;
&lt;br /&gt;
Seems immune to [[Minor Shock (901)]], [[Minor Water (903)]], [[Minor Fire (906)]], and probably other minor bolts. (Message says it &amp;quot;reflects&amp;quot; the attack, but it doesn&#039;t actually go back to you.) Other bolt spells such as [[Major Fire (908)]] worked fine and they have low bolt DS.&lt;br /&gt;
&lt;br /&gt;
It is immune to electrical stun from [[Mage Armor (520)]].&lt;br /&gt;
&lt;br /&gt;
Searching will cause it to explode in a maneuver attack a couple of seconds later, leaving behind &amp;quot;a mein shard&amp;quot;.  (No treasure?)&lt;br /&gt;
&lt;br /&gt;
Seems immune to crits.&lt;br /&gt;
==Other information==&lt;br /&gt;
* Puncture resistant&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://www.play.net/gs4/info/bestiary/creature.asp?creature=1463 Huge mein golem on Play.net bestiary]&lt;br /&gt;
&lt;br /&gt;
{{Nearlevel&lt;br /&gt;
|levelm2 = 35&lt;br /&gt;
|levelm1 = 36&lt;br /&gt;
|level = 37&lt;br /&gt;
|levelp1 = 38&lt;br /&gt;
|levelp2 = 39&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>IPITTMAN</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Huge_mein_golem&amp;diff=213041</id>
		<title>Huge mein golem</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Huge_mein_golem&amp;diff=213041"/>
		<updated>2024-01-21T23:05:38Z</updated>

		<summary type="html">&lt;p&gt;IPITTMAN: Mention stomp and two-fisted attack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature start2 &amp;lt;!-- See Help:Creatures for full instructions on editing creature pages and copy/paste code. Copy/pasting code from an existing creature page may result in missing fields --&amp;gt;&lt;br /&gt;
| picture = Huge_mein_golem_Colored.jpg&lt;br /&gt;
| level = 37&amp;lt;!-- This will also be used at the end of the page in the Near level creature template --&amp;gt;&lt;br /&gt;
| family = Golem&amp;lt;!-- Add creature to family page list, which will be linked on preview/save --&amp;gt;&lt;br /&gt;
| type = Biped&amp;lt;!-- Creature body type --&amp;gt;&lt;br /&gt;
| otherclass = Magical&amp;lt;!-- Other classification limited to corporeal undead, non-corporeal undead, elemental, extra planar, magical; insert otherclass2= for 2nd classification (up to 3) --&amp;gt;&lt;br /&gt;
| otherclass2 = &lt;br /&gt;
| area = Darkstone Castle&amp;lt;!-- For multiple areas, add area2, area3, area4 (through 8) fields if needed --&amp;gt;&lt;br /&gt;
| area2 = &lt;br /&gt;
| area3 = &lt;br /&gt;
| area4 = &lt;br /&gt;
| area5 = &lt;br /&gt;
| area6 = &lt;br /&gt;
| area7 = &lt;br /&gt;
| bcs = Yes &amp;lt;!-- All new creatures are BCS --&amp;gt;&lt;br /&gt;
| hitpoints = &lt;br /&gt;
| roundtime = &amp;lt;!-- Creature speed --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature attack attributes2 &amp;lt;!-- ALL WEAPONS, SPELLS AND COMBAT MANEUVERS WILL LINK AUTOMATICALLY.  --&amp;gt;&lt;br /&gt;
| PA1 = &amp;lt;!-- Physical attacks insert up to PA10 and corresponding value/range up to PAJ --&amp;gt;&lt;br /&gt;
| PAA = &lt;br /&gt;
| PA2 = &lt;br /&gt;
| PAB = &lt;br /&gt;
| PA3 = &lt;br /&gt;
| PAC = &lt;br /&gt;
| BT1 = &amp;lt;!-- Bolt spells insert up to BT10 and corresponding value/range up to BTJ --&amp;gt;&lt;br /&gt;
| BTA = &lt;br /&gt;
| WD1 = &amp;lt;!-- Warding spells insert up to WD10 and corresponding value/range up to WDJ --&amp;gt;&lt;br /&gt;
| WDA = &lt;br /&gt;
| WD2 = &lt;br /&gt;
| WDB = &lt;br /&gt;
| WD3 = &lt;br /&gt;
| WDC = &lt;br /&gt;
| OS1 = &amp;lt;!-- Miscellaneous offensive spells (non-bolt and non-warding) insert up to OS10 --&amp;gt;&lt;br /&gt;
| MN1 = &amp;lt;!-- Combat Maneuvers insert up to MN10 --&amp;gt;&lt;br /&gt;
| MN2 = &lt;br /&gt;
| AB1 = &amp;lt;!-- Special abilities insert up to AB10, include creature maneuvers here, manually link if appropriate --&amp;gt;&lt;br /&gt;
| ABA = &amp;lt;!-- Special abilities right column, use respective corresponding right column as needed for misc info --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature defense attributes2 &amp;lt;!-- Replace ? with value or range, but do not include when the creature is under the effects of disabling statuses (stun/knockdown/interference/curse/etc.) --&amp;gt;&lt;br /&gt;
| asg = &amp;lt;!-- Insert asg # and template will automatically convert to include type of armor --&amp;gt;&lt;br /&gt;
| IMM1 = &amp;lt;!-- add IMM2 (up to 15) for additional immunities --&amp;gt;&lt;br /&gt;
| Melee = 267&lt;br /&gt;
| Ranged = &lt;br /&gt;
| Bolt = 85 - 125&lt;br /&gt;
| UDF = &lt;br /&gt;
| BarTD = &lt;br /&gt;
| CleTD = &lt;br /&gt;
| EmpTD = &lt;br /&gt;
| PalTD = &lt;br /&gt;
| RanTD = &lt;br /&gt;
| SorTD = &lt;br /&gt;
| WizTD = &lt;br /&gt;
| MjETD = &lt;br /&gt;
| MnETD = &lt;br /&gt;
| MjSTD = &lt;br /&gt;
| MnSTD = &lt;br /&gt;
| MnMTD = &lt;br /&gt;
| DSP1 = &amp;lt;!-- Defensive spells insert up to DSP15, they will automatically link --&amp;gt;&lt;br /&gt;
| DSP2 = &lt;br /&gt;
| DSP3 = &lt;br /&gt;
| DSP4 = &lt;br /&gt;
| DSP5 = &lt;br /&gt;
| SDA1 =  &amp;lt;!-- Special defensive abilities list insert up to SDA10, these will not link automatically --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature treasure&lt;br /&gt;
 | coins = &lt;br /&gt;
 | magic items = &lt;br /&gt;
 | gems = &lt;br /&gt;
 | boxes = &lt;br /&gt;
 | other = mein shards&lt;br /&gt;
 | skin = None&lt;br /&gt;
}}&lt;br /&gt;
{{Creature end}}&lt;br /&gt;
&lt;br /&gt;
A towering, animated, glass-like creature, the huge mein golem is comprised entirely of mein.  Taller than a giantman by half again and nearly as wide as tall, the mein golem displays a barrel chest, massive legs and arms, and a flattened, cylindrical head with almost no neck apparent.  Animated by someone with a unique sense of humor, the huge mein golem contains many surprises for the unwary adventurer.&lt;br /&gt;
&lt;br /&gt;
==Hunting strategies==&lt;br /&gt;
Seems impossible or very difficult to knock over.  Tremors(909) and E-Wave(410) seemed to have no effect.&lt;br /&gt;
&lt;br /&gt;
It has an SMR attack, stomp, that knocks you prone with roundtime but no damage.&lt;br /&gt;
&lt;br /&gt;
It often does two attacks at once, left fist and right fist.&lt;br /&gt;
&lt;br /&gt;
Seems immune to [[Minor Shock (901)]], [[Minor Water (903)]], [[Minor Fire (906)]], and probably other minor bolts. (Message says it &amp;quot;reflects&amp;quot; the attack, but it doesn&#039;t actually go back to you.) Other bolt spells such as [[Major Fire (908)]] worked fine and they have low bolt DS.&lt;br /&gt;
&lt;br /&gt;
Searching will cause it to explode in a maneuver attack a couple of seconds later, leaving behind &amp;quot;a mein shard&amp;quot;.  (No treasure?)&lt;br /&gt;
&lt;br /&gt;
Seems immune to crits.&lt;br /&gt;
==Other information==&lt;br /&gt;
* Puncture resistant&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://www.play.net/gs4/info/bestiary/creature.asp?creature=1463 Huge mein golem on Play.net bestiary]&lt;br /&gt;
&lt;br /&gt;
{{Nearlevel&lt;br /&gt;
|levelm2 = 35&lt;br /&gt;
|levelm1 = 36&lt;br /&gt;
|level = 37&lt;br /&gt;
|levelp1 = 38&lt;br /&gt;
|levelp2 = 39&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>IPITTMAN</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Huge_mein_golem&amp;diff=213040</id>
		<title>Huge mein golem</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Huge_mein_golem&amp;diff=213040"/>
		<updated>2024-01-21T23:01:44Z</updated>

		<summary type="html">&lt;p&gt;IPITTMAN: Add list of spells it&amp;#039;s immune to. Mention &amp;quot;mein shard&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Creature start2 &amp;lt;!-- See Help:Creatures for full instructions on editing creature pages and copy/paste code. Copy/pasting code from an existing creature page may result in missing fields --&amp;gt;&lt;br /&gt;
| picture = Huge_mein_golem_Colored.jpg&lt;br /&gt;
| level = 37&amp;lt;!-- This will also be used at the end of the page in the Near level creature template --&amp;gt;&lt;br /&gt;
| family = Golem&amp;lt;!-- Add creature to family page list, which will be linked on preview/save --&amp;gt;&lt;br /&gt;
| type = Biped&amp;lt;!-- Creature body type --&amp;gt;&lt;br /&gt;
| otherclass = Magical&amp;lt;!-- Other classification limited to corporeal undead, non-corporeal undead, elemental, extra planar, magical; insert otherclass2= for 2nd classification (up to 3) --&amp;gt;&lt;br /&gt;
| otherclass2 = &lt;br /&gt;
| area = Darkstone Castle&amp;lt;!-- For multiple areas, add area2, area3, area4 (through 8) fields if needed --&amp;gt;&lt;br /&gt;
| area2 = &lt;br /&gt;
| area3 = &lt;br /&gt;
| area4 = &lt;br /&gt;
| area5 = &lt;br /&gt;
| area6 = &lt;br /&gt;
| area7 = &lt;br /&gt;
| bcs = Yes &amp;lt;!-- All new creatures are BCS --&amp;gt;&lt;br /&gt;
| hitpoints = &lt;br /&gt;
| roundtime = &amp;lt;!-- Creature speed --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature attack attributes2 &amp;lt;!-- ALL WEAPONS, SPELLS AND COMBAT MANEUVERS WILL LINK AUTOMATICALLY.  --&amp;gt;&lt;br /&gt;
| PA1 = &amp;lt;!-- Physical attacks insert up to PA10 and corresponding value/range up to PAJ --&amp;gt;&lt;br /&gt;
| PAA = &lt;br /&gt;
| PA2 = &lt;br /&gt;
| PAB = &lt;br /&gt;
| PA3 = &lt;br /&gt;
| PAC = &lt;br /&gt;
| BT1 = &amp;lt;!-- Bolt spells insert up to BT10 and corresponding value/range up to BTJ --&amp;gt;&lt;br /&gt;
| BTA = &lt;br /&gt;
| WD1 = &amp;lt;!-- Warding spells insert up to WD10 and corresponding value/range up to WDJ --&amp;gt;&lt;br /&gt;
| WDA = &lt;br /&gt;
| WD2 = &lt;br /&gt;
| WDB = &lt;br /&gt;
| WD3 = &lt;br /&gt;
| WDC = &lt;br /&gt;
| OS1 = &amp;lt;!-- Miscellaneous offensive spells (non-bolt and non-warding) insert up to OS10 --&amp;gt;&lt;br /&gt;
| MN1 = &amp;lt;!-- Combat Maneuvers insert up to MN10 --&amp;gt;&lt;br /&gt;
| MN2 = &lt;br /&gt;
| AB1 = &amp;lt;!-- Special abilities insert up to AB10, include creature maneuvers here, manually link if appropriate --&amp;gt;&lt;br /&gt;
| ABA = &amp;lt;!-- Special abilities right column, use respective corresponding right column as needed for misc info --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature defense attributes2 &amp;lt;!-- Replace ? with value or range, but do not include when the creature is under the effects of disabling statuses (stun/knockdown/interference/curse/etc.) --&amp;gt;&lt;br /&gt;
| asg = &amp;lt;!-- Insert asg # and template will automatically convert to include type of armor --&amp;gt;&lt;br /&gt;
| IMM1 = &amp;lt;!-- add IMM2 (up to 15) for additional immunities --&amp;gt;&lt;br /&gt;
| Melee = 267&lt;br /&gt;
| Ranged = &lt;br /&gt;
| Bolt = 85 - 125&lt;br /&gt;
| UDF = &lt;br /&gt;
| BarTD = &lt;br /&gt;
| CleTD = &lt;br /&gt;
| EmpTD = &lt;br /&gt;
| PalTD = &lt;br /&gt;
| RanTD = &lt;br /&gt;
| SorTD = &lt;br /&gt;
| WizTD = &lt;br /&gt;
| MjETD = &lt;br /&gt;
| MnETD = &lt;br /&gt;
| MjSTD = &lt;br /&gt;
| MnSTD = &lt;br /&gt;
| MnMTD = &lt;br /&gt;
| DSP1 = &amp;lt;!-- Defensive spells insert up to DSP15, they will automatically link --&amp;gt;&lt;br /&gt;
| DSP2 = &lt;br /&gt;
| DSP3 = &lt;br /&gt;
| DSP4 = &lt;br /&gt;
| DSP5 = &lt;br /&gt;
| SDA1 =  &amp;lt;!-- Special defensive abilities list insert up to SDA10, these will not link automatically --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Creature treasure&lt;br /&gt;
 | coins = &lt;br /&gt;
 | magic items = &lt;br /&gt;
 | gems = &lt;br /&gt;
 | boxes = &lt;br /&gt;
 | other = mein shards&lt;br /&gt;
 | skin = None&lt;br /&gt;
}}&lt;br /&gt;
{{Creature end}}&lt;br /&gt;
&lt;br /&gt;
A towering, animated, glass-like creature, the huge mein golem is comprised entirely of mein.  Taller than a giantman by half again and nearly as wide as tall, the mein golem displays a barrel chest, massive legs and arms, and a flattened, cylindrical head with almost no neck apparent.  Animated by someone with a unique sense of humor, the huge mein golem contains many surprises for the unwary adventurer.&lt;br /&gt;
&lt;br /&gt;
==Hunting strategies==&lt;br /&gt;
Seems impossible or very difficult to knock over.  Tremors(909) and E-Wave(410) seemed to have no effect.&lt;br /&gt;
&lt;br /&gt;
Seems immune to [[Minor Shock (901)]], [[Minor Water (903)]], [[Minor Fire (906)]], and probably other minor bolts. (Message says it &amp;quot;reflects&amp;quot; the attack, but it doesn&#039;t actually go back to you.) Other bolt spells such as [[Major Fire (908)]] worked fine and they have low bolt DS.&lt;br /&gt;
&lt;br /&gt;
Searching will cause it to explode in a maneuver attack a couple of seconds later, leaving behind &amp;quot;a mein shard&amp;quot;.  (No treasure?)&lt;br /&gt;
&lt;br /&gt;
Seems immune to crits.&lt;br /&gt;
==Other information==&lt;br /&gt;
* Puncture resistant&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://www.play.net/gs4/info/bestiary/creature.asp?creature=1463 Huge mein golem on Play.net bestiary]&lt;br /&gt;
&lt;br /&gt;
{{Nearlevel&lt;br /&gt;
|levelm2 = 35&lt;br /&gt;
|levelm1 = 36&lt;br /&gt;
|level = 37&lt;br /&gt;
|levelp1 = 38&lt;br /&gt;
|levelp2 = 39&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>IPITTMAN</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Lich:Profanity&amp;diff=212486</id>
		<title>Lich:Profanity</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Lich:Profanity&amp;diff=212486"/>
		<updated>2024-01-12T00:47:33Z</updated>

		<summary type="html">&lt;p&gt;IPITTMAN: Ditto&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 ~/lich-5/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 ~/lich-5/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 your ~/.profanity/charname.xml file exists and is not empty.  You can copy the template tysong.xml file into your ~/.profanity directory with the character name you are logging in as:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
mkdir ~/.profanity&lt;br /&gt;
cp ~/ProfanityFE/templates/tysong.xml ~/.profanity/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/lich-5/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/lich-gs/lich.rbw&lt;br /&gt;
RUBY_BIN=/home/servermc/.rbenv/versions/3.2.2/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://lichproject.org/download/lich-4.6.44.zip&lt;br /&gt;
unzip lich-4.6.44.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/matt-lowe/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 ~/lich/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>IPITTMAN</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Lich:Profanity&amp;diff=212485</id>
		<title>Lich:Profanity</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Lich:Profanity&amp;diff=212485"/>
		<updated>2024-01-12T00:46:18Z</updated>

		<summary type="html">&lt;p&gt;IPITTMAN: Cleanup and update the gsiv.sh and profanity.sh script examples&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 ~/lich-5/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 ~/lich-5/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 your ~/.profanity/charname.xml file exists and is not empty.  You can copy the template tysong.xml file into your ~/.profanity directory with the character name you are logging in as:&lt;br /&gt;
&amp;lt;pre{{log2|margin-right=35%}}&amp;gt;&lt;br /&gt;
mkdir ~/.profanity&lt;br /&gt;
cp ~/ProfanityFE/templates/tysong.xml ~/.profanity/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;
  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/lich-5/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/lich-gs/lich.rbw&lt;br /&gt;
RUBY_BIN=/home/servermc/.rbenv/versions/3.2.2/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://lichproject.org/download/lich-4.6.44.zip&lt;br /&gt;
unzip lich-4.6.44.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/matt-lowe/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 ~/lich/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>IPITTMAN</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Lich:Software/Installation&amp;diff=212274</id>
		<title>Lich:Software/Installation</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Lich:Software/Installation&amp;diff=212274"/>
		<updated>2024-01-09T23:42:08Z</updated>

		<summary type="html">&lt;p&gt;IPITTMAN: lich-5/.ruby-version is currently at 3.3.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{3rd-party}}&lt;br /&gt;
=About=&lt;br /&gt;
&lt;br /&gt;
Lich is an add-on scripting engine that works alongside existing front ends.  The most common installation is a combination of Lich on Windows using the Wrayth or Wizard FE. Lich is also used by many on both MacOS and multiple Linux distributions.&lt;br /&gt;
&lt;br /&gt;
=Installing the Latest Stable Release=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The latest stable lich version is 5.7.0 supporting Ruby 3.2 - published Nov 17, 2023&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==In-Place Upgrade==&lt;br /&gt;
&lt;br /&gt;
If you are on an older version of Lich 5 and want to upgrade to the most current version, you can choose to either upgrade Lich5 only or both Lich 5 and Ruby. If you&#039;re currently on Lich 4, able to check by running the command &amp;lt;CODE&amp;gt;;e echo LICH_VERSION&amp;lt;/CODE&amp;gt;, go to the [[#Upgrade Installation for Lich 5 from Lich 4 (11/14/2023)|upgrade from Lich 4 section]].&lt;br /&gt;
&lt;br /&gt;
For each section, please follow the directions/commands one at a time.&lt;br /&gt;
&lt;br /&gt;
===Lich 5 Only===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Backup existing Lich 5 folder&#039;&#039;&#039;&lt;br /&gt;
# Run this command in-game &amp;lt;CODE&amp;gt;;lich5-update --library=update.rb&amp;lt;/CODE&amp;gt;&lt;br /&gt;
# Quit and restart lich.&lt;br /&gt;
# Run this command in-game &amp;lt;CODE&amp;gt;;lich5-update --update&amp;lt;/CODE&amp;gt;&lt;br /&gt;
# Quit and restart lich.&lt;br /&gt;
# Congratulations - you&#039;re now running on Lich 5.7.0&lt;br /&gt;
&lt;br /&gt;
===Ruby 3.2 &amp;amp; Lich 5===&lt;br /&gt;
This method is for Windows only. Linux and MacOS users, please do a Lich 5 only update and update Ruby manually via normal install/update methods for the OS.&lt;br /&gt;
&lt;br /&gt;
# Logout of all characters&lt;br /&gt;
# &#039;&#039;&#039;Backup existing Lich 5 folder&#039;&#039;&#039;&lt;br /&gt;
# Uninstall existing Ruby4Lich5 installs from Programs &amp;amp; Features control panel, or alternatively, rename your existing Ruby4Lich5 folder to Ruby4Lich5old. (Defaults to C:\Ruby4Lich5)&lt;br /&gt;
# Download the latest [https://github.com/elanthia-online/lich-5/releases/latest Ruby4Lich5.exe Installer]&lt;br /&gt;
# Run the installer and be sure to have both Ruby and Lich 5 option selected&lt;br /&gt;
# Congratulations - you&#039;re now running on Lich 5.7.0 &amp;amp; Ruby 3.2&lt;br /&gt;
&lt;br /&gt;
==Windows New Installation==&lt;br /&gt;
&lt;br /&gt;
{{blue|These instructions are not for DragonRealms. [[#Ecosystem Information|For those scroll to the bottom]].}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Windows 11/ 10 / 8 / 7&#039;&#039;&#039; users: you can download the [https://github.com/elanthia-online/lich-5/releases/latest Ruby4Lich5.exe Installer] and install everything you need automatically. Click on the &#039;&#039;&#039;Ruby4Lich5.exe&#039;&#039;&#039; and download it to your computer then double click on the executable in your default download folder. Note, a user may need to adjust their browser or security settings to allow download and installation.&lt;br /&gt;
If you have never played before, follow the &#039;New Installation&#039; instructions. If you have played before, and have used Lich before, follow the &#039;Upgrade Installation&#039; instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===New Installation for Lich 5 (11/14/2023)===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Please log into the game of your choice through the Simutronics website first&#039;&#039;&#039;.  Install the launcher (not SGE), and install your FrontEnd of Choice.  The Wrayth FrontEnd is presently the supported FrontEnd, but Wizard will work as well, if you are nostalgic.  After you&#039;ve logged in, log out and continue.&lt;br /&gt;
# Download and Run the [https://github.com/elanthia-online/lich-5/releases/latest Ruby4Lich5.exe  Installer]. You will receive the Microsoft Warning because this is not distributed through the MS Store.  Click on &#039;More Info&#039; and then select the &#039;Run Anyway&#039; button.&lt;br /&gt;
# The installation may take a few minutes, especially on non-SSD harddrives.&lt;br /&gt;
# A Lich5 folder will be placed on your desktop after the install is finished, open that folder and double click the lich.rbw file contained inside to start Lich&#039;s Game Entry window.&lt;br /&gt;
# Use your existing Simutronics Account and Password and click connect.  Then select the character you wish to play, and select the FrontEnd you wish to use.  Then click the Play button.&lt;br /&gt;
# Your game FrontEnd should start, and you should see Lich5 initializing.  You will see it downloading files - these are the map files, wait for the download to finish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Upgrade Installation for Lich 5 from Lich 4 (11/14/2023)===&lt;br /&gt;
&lt;br /&gt;
This option is deprecated.  Lich 5 architectures are not compatible with Lich 4. Back up your existing Lich 4 folder, uninstall any existing Ruby executables, and then follow the instructions for a new install above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional assistance in installation can be found in the scripting channel of the GemStone [https://discord.gg/KF9Wr8u Discord].&lt;br /&gt;
&lt;br /&gt;
==Mac OS X==&lt;br /&gt;
Players with Macs can use [[Mac_Installation_-_Lich_(software) | Installing Lich on Macs]] for installation help. This process works well for Mac OS Catalina and Big Sur. If you have not updated your Mac OS yet, these instructions may work depending on your actual version.  If you run into a snag, follow the contact instructions provided.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for Parallels on ARM:&#039;&#039;&#039; By default the rubyw file in C:\Ruby4Lich5\bin is set to run in compatibility mode for windows 7.  On an ARM Mac running parallels, this causes Wrayth scripts not to run.  Turning compatibility mode off in the rubyw file fixes this issue.&lt;br /&gt;
&lt;br /&gt;
==Chromebook &amp;amp; Debian variants==&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-customtoggle-debian&amp;quot; style=&amp;quot;font-size:16px;overflow:auto;color:#0000FF&amp;quot;&amp;gt;[Click to Expand]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-debian&amp;quot;&amp;gt;&lt;br /&gt;
The following steps should install Lich and Profanity for users of Debian/Chromebooks. Profanity is a terminal-based Front-End that will let you play the game (in lieu of The Wizard or Wrayth).&lt;br /&gt;
&lt;br /&gt;
Update the list of available software and make sure some requirements are installed:&lt;br /&gt;
&amp;lt;!-- don&#039;t think I&#039;m gonna include this stuff but might as well not delete it.&lt;br /&gt;
:&amp;lt;small&amp;gt;sudo: as a super-user&amp;lt;/small&amp;gt;&lt;br /&gt;
:&amp;lt;small&amp;gt;apt-get: Debian&#039;s software repository&amp;lt;/small&amp;gt;&lt;br /&gt;
::&amp;lt;small&amp;gt;-y: answer all questions yes&amp;lt;/small&amp;gt; &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get -y update&lt;br /&gt;
sudo apt-get -y install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libsqlite3-dev git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install &#039;&#039;&#039;&amp;lt;tt&amp;gt;[https://github.com/rbenv/rbenv rbenv]&amp;lt;/tt&amp;gt;&#039;&#039;&#039;, a Ruby version manager. Add it to the &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt; so that it will work outside of its own directory, and set it up to work when you launch the shell (terminal):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/rbenv/rbenv.git ~/.rbenv&lt;br /&gt;
echo &#039;export PATH=&amp;quot;$HOME/.rbenv/bin:$PATH&amp;quot;&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;eval &amp;quot;$(rbenv init -)&amp;quot;&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the shell&#039;s launch script now to enable those two changes and get rbenv working:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Download the tools to let rbenv install Ruby on its own, then install Ruby 3.3.0 and set it to be our default version of Ruby system-wide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build&lt;br /&gt;
rbenv install 3.3.0 -v&lt;br /&gt;
rbenv global 3.3.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tell Ruby not to create documentation for its gems (plugins/packages) unless asked, because it takes a long time and they are available online. Then install the dependencies for Lich and Profanity:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;gem: --no-document&amp;quot; &amp;gt; ~/.gemrc&lt;br /&gt;
gem install ascii_charts concurrent-ruby curses gtk3 sequel sqlite3 terminal-table tomlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install Lich and Profanity:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
git clone https://github.com/elanthia-online/lich-5.git&lt;br /&gt;
git clone https://github.com/elanthia-online/ProfanityFE.git&lt;br /&gt;
mkdir lich-5/scripts&lt;br /&gt;
mkdir lich-5/data&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/alias.lic &amp;gt; lich-5/scripts/alias.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/autostart.lic &amp;gt; lich-5/scripts/autostart.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/ewaggle.lic &amp;gt; lich-5/scripts/ewaggle.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/go2.lic &amp;gt; lich-5/scripts/go2.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/jinx.lic &amp;gt; lich-5/scripts/jinx.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/lich5-update.lic &amp;gt; lich-5/scripts/lich5-update.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/log.lic &amp;gt; lich-5/scripts/log.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/map.lic &amp;gt; lich-5/scripts/map.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/repository.lic &amp;gt; lich-5/scripts/repository.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/vars.lic &amp;gt; lich-5/scripts/vars.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/version.lic &amp;gt; lich-5/scripts/version.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/effect-list.xml &amp;gt; lich-5/data/effect-list.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please refer to the &#039;&#039;&#039;[[Profanity | Profanity FE]]&#039;&#039;&#039; page for initial configuration and additional instructions.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fedora==&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-customtoggle-fedora&amp;quot; style=&amp;quot;font-size:16px;overflow:auto;color:#0000FF&amp;quot;&amp;gt;[Click to Expand]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-fedora&amp;quot;&amp;gt;&lt;br /&gt;
There are notable differences between the versions of Fedora that are commonly available:&lt;br /&gt;
&lt;br /&gt;
* Fedora 31 uses Ruby version 2.6.5 which has no compatibility issues with the base lich version or the Beta GTK3 variant.&lt;br /&gt;
* Fedora 32 uses Ruby version 2.7.1 which requires modification of scripts to match SAFE commands.  This is a minor version difference, but is notable.&lt;br /&gt;
&lt;br /&gt;
1. Update The Base Installation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo dnf -y update&lt;br /&gt;
$ sudo dnf -y install vim git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Install required Ruby and Development packages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo dnf install -y autoconf bison gcc gdbm gdbm-devel glib2-devel gobject-introspection-devel \&lt;br /&gt;
libyaml-devel libffi-devel make ncurses-devel openssl-devel readline-devel redhat-rpm-config \&lt;br /&gt;
ruby ruby-devel sqlite-devel unzip zlib-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Perform Ruby Gem Installations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gem install rake&lt;br /&gt;
$ gem update&lt;br /&gt;
$ gem install ascii_charts concurrent-ruby curses gtk3 sequel sqlite3 terminal-table tomlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Download Lich &amp;amp; Profanity:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
git clone https://github.com/elanthia-online/lich-5.git&lt;br /&gt;
git clone https://github.com/elanthia-online/ProfanityFE.git&lt;br /&gt;
mkdir lich-5/scripts&lt;br /&gt;
mkdir lich-5/data&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/alias.lic &amp;gt; lich-5/scripts/alias.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/autostart.lic &amp;gt; lich-5/scripts/autostart.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/ewaggle.lic &amp;gt; lich-5/scripts/ewaggle.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/go2.lic &amp;gt; lich-5/scripts/go2.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/jinx.lic &amp;gt; lich-5/scripts/jinx.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/lich5-update.lic &amp;gt; lich-5/scripts/lich5-update.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/log.lic &amp;gt; lich-5/scripts/log.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/map.lic &amp;gt; lich-5/scripts/map.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/repository.lic &amp;gt; lich-5/scripts/repository.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/vars.lic &amp;gt; lich-5/scripts/vars.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/version.lic &amp;gt; lich-5/scripts/version.lic&lt;br /&gt;
curl https://raw.githubusercontent.com/elanthia-online/scripts/master/scripts/effect-list.xml &amp;gt; lich-5/data/effect-list.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Popular Scripts=&lt;br /&gt;
{{#section:Lich:Script Repository|popularscripts}}&lt;br /&gt;
&lt;br /&gt;
=Ecosystem Information=&lt;br /&gt;
&lt;br /&gt;
* DragonRealms Variant - [https://elanthipedia.play.net/Lich_script_repository#Setup_and_Installation Setup and Install instructions]&lt;br /&gt;
&lt;br /&gt;
=Lich Changelog=&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-customtoggle-changelog&amp;quot; style=&amp;quot;font-size:16px;overflow:auto;color:#0000FF&amp;quot;&amp;gt;[Click to Expand]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-changelog&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;5.7.0&#039;&#039;&#039; (current)&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Supports Ruby 3.2 - security enhancements and huge speed improvements for regex&lt;br /&gt;
-o- New libraries/modules/classes: Account, HMR (Hot Module Reloading)&lt;br /&gt;
-o- GS4 Infomon now baked into Lich5 as a library, no more need to run standalone script&lt;br /&gt;
-o- New GS4 libraries/modules/classes: Ascension, Bounty, Currency, Experience, Resources, Society, Status, Warcry&lt;br /&gt;
-o- Updates to existing libraries/modules/classes: Armor, Util, Weapon, Spell, GameObj, Messaging&lt;br /&gt;
-o- Several Bugfixes for lots of things&lt;br /&gt;
-o- Lots of code cleanup&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;5.6.2&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Fix for XML errors&lt;br /&gt;
-o- Adds the DR Plat instance for Frostbite FE&lt;br /&gt;
-o- Adds ‘ball’ as the noun used for ‘ball and chain’&lt;br /&gt;
-o- Adds the movement result ‘slip in the mud and fall flat’&lt;br /&gt;
-o- Corrects stamina cost for the feature Dispel Magic&lt;br /&gt;
-o- Plus all the latest script updates from Elanthia-Online!&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;5.6.1&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Fix for XML to limit login errors (DR)&lt;br /&gt;
-o- Fix for XMLData.active_spells to properly register wizard &#039;recovery&#039; spell cooldowns&lt;br /&gt;
-o- Messaging updates to remove error in Wizard FE encodings&lt;br /&gt;
-o- Corrects for error in detecting PSM skill changes (cman) via warrior / rogue guild lessons&lt;br /&gt;
-o- Deprecates LNet script from master repository&lt;br /&gt;
-o- Miscellaneous small bug squashing&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.6.0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- (DragonRealms) Support for Genie and Frostbite frontends&lt;br /&gt;
-o- (GemStone) Changed methods to improve ;go2 speed and reduce lich.db3 calls&lt;br /&gt;
-o- (GemStone) Updates to support silver_count function&lt;br /&gt;
-o- (Both) Changed method for updating lich ecosystem&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.5.0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Support for DragonRealms&lt;br /&gt;
-o- Updated support for scripts like BigShot&lt;br /&gt;
-o- Providing the LichID and UID on Profanity&lt;br /&gt;
-o- Spell.force_incant, .force_channel, and .force_evoke&lt;br /&gt;
-o- Standardized message method for script authors&lt;br /&gt;
-o- Sundry small improvements / fixes and changes&lt;br /&gt;
-o- And the creme de la creme - a custom directory&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.4.0&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Simu Room IDs (formally called &#039;unique ID&#039; or &#039;uid&#039; for Lich) added to Map, mapDB where known, and ;go2 for navigation (courtesy Xanlin and with our thanks!) ;go2 u7120 for all you ex-GMs out there. &lt;br /&gt;
-o- Room titles will now display the Lich ID and / or the UID for the room based on user selections - default is on for both, and enabled / disabled via Lich.display_lichid or Lich.display_uid toggles that can be set to on / off or true / false. (;e Lich.display_lichid=true/false and ;e Lich.display_uid=true/false) You can remove that rnum from your autostart now! To gain the benefit of the UID deployment, be sure to ;repo download-mapdb&lt;br /&gt;
-o- REQUESTS: Drop 5 minute timeout function from Lich&lt;br /&gt;
-o- waitrt? and waitcastrt? will still pause activities, but will return TRUE or FALSE in keeping with the Ruby functionname? tradition (no more failing to get a weapon out due to RT from climbing!)&lt;br /&gt;
-o- empty_hands and fill_hands will now check to see if the character is in roundtime before trying to put away or retrieve held items&lt;br /&gt;
-o- Infomon received an update that keeps spell timers in sync with the information received from the server - no more need to immediately do a spell active in game to get the right times to display for various legacy scripts and ;magic after visiting the invoker or using an SK item&lt;br /&gt;
-o- Lich now provides a facility to get current coins on the character that is a bit more agnostic to data changes from Simu - Lich::Util.silver_count&lt;br /&gt;
-o- Various other small tidbits to help ease maintenance and future development&lt;br /&gt;
-o- PLEASE NOTE:  This update is required for the newest Bigshot (released today!) and for future eloot and eherbs scripts (release RSN)&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.3.0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Added support for Wrayth (renamed Stormfront) installations &lt;br /&gt;
-o- Converted Linux | WINE login methods to &#039;method 0&#039;, does not use Simu launcher&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.2.1&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Support for STOWing items irrespective of special item scripts&lt;br /&gt;
-o- Improved query support for Effects and CMans&lt;br /&gt;
-o- Fix Lich bug to respect the &#039;groupmovement&#039; flag in game&lt;br /&gt;
-o- Fix Lich round time calculations (more aggressive timing)&lt;br /&gt;
-o- Dark Mode is now a thing&lt;br /&gt;
-o- Lich4 Style GUI layout available&lt;br /&gt;
-o- Several file location changes to support future code change efforts&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.0.19&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Benefit: Monks with Mental Acuity (all 3 of you) rejoice - stamina casting!&lt;br /&gt;
-o- Benefit: PSM3 included, no charge. No hair remaining, either!&lt;br /&gt;
-o- Benefit: Ok, stay seated: Some of your various SF spell duration windows may work. . . better? Yes, not perfect, but better. No pictures, please!&lt;br /&gt;
-o- Updated infomon that properly detects Cloak of Shadows on those pesky sorcerers, and the Raise Dead Cooldown periods for those wondrous clerics.&lt;br /&gt;
-o- A new update process for Lich 5 - tired of having to download that script over and over just to update? Get yourself a copy of lich5-update.lic. Note, if you already have it, you&#039;re set! If not - ;jinx script install lich5-update --repo=elanthia-online&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.0.11&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
-o- Updated the method used to log onto SIMU servers.&lt;br /&gt;
-o- Added the Animalist item specifics to Lich5&#039;s empty and fill hands routines&lt;br /&gt;
-o- Improved Invoker messages for Avalon and Wizard FEs (no change for SF FE)&lt;br /&gt;
-o- Improved cleanup and store methods when player EXIT&#039;s or QUIT&#039;s game&lt;br /&gt;
-o- Crafted two new methods (stash_hands and equip_hands) for future script use&lt;br /&gt;
-o- Some behind-the-scenes cleanup to improve maintaining the Lich5 ecosystem&lt;br /&gt;
-o- Add Spell Active improvements&lt;br /&gt;
-o- Add PSM and Ranger improvements&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Resources=&lt;br /&gt;
* [[Mac Installation - Lich (software)]]&lt;br /&gt;
&lt;br /&gt;
{{Third-Party Software}}&lt;br /&gt;
[[Category:New Player]]&lt;/div&gt;</summary>
		<author><name>IPITTMAN</name></author>
	</entry>
	<entry>
		<id>https://gswiki.play.net/index.php?title=Twilight_Hall&amp;diff=127656</id>
		<title>Twilight Hall</title>
		<link rel="alternate" type="text/html" href="https://gswiki.play.net/index.php?title=Twilight_Hall&amp;diff=127656"/>
		<updated>2020-01-07T03:52:22Z</updated>

		<summary type="html">&lt;p&gt;IPITTMAN: Added RR annex&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Twilight hall.jpg|170px|thumb|right|Veiled in the darkness or aglow in the light, the magic of Twilight beckons all]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twilight Hall&#039;&#039;&#039; is located in &#039;&#039;&#039;a rune-carved fieldstone house&#039;&#039;&#039; on the northernmost block of West Ring Road in [[Wehnimer&#039;s Landing]]. It also has an annex in every major town.  The annex on [[Teras Isle]] is located on the Logging Road north of town in the ornate stone tower.  The annex near [[Ta&#039;Illistim]] is in the forest off of Gyldemar Road three rooms from the intersection with Sylvarraend Road. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The locker entrance in the Ta&#039;Illistim annex (Gyldemar Road) is behind the mosaic.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Statement of Purpose==&lt;br /&gt;
&lt;br /&gt;
Twilight Hall serves as a safe haven for those who wish to study and practice magic. Our goal is to promote the greater understanding of the magical arts through education and example. We aim to provide a politically, religiously and racially neutral home to adventurers dedicated to the study of magic in Elanthia.&lt;br /&gt;
&lt;br /&gt;
==How to Join==&lt;br /&gt;
&lt;br /&gt;
Attend a regularly scheduled tour or meeting (see calendar link below) and express a desire to join. Initiates must:&lt;br /&gt;
*be level 5&lt;br /&gt;
*not belong to any other House&lt;br /&gt;
*demonstrate a minimal knowledge of magic by casting (or singing, chanting, etc.) one spell without the use of magic items or societal powers&lt;br /&gt;
*pay an Initiation Fee of 20,000 silvers&lt;br /&gt;
*pledge an oath to the dedication of magic and to uphold the principles of Twilight Hall&lt;br /&gt;
&lt;br /&gt;
==Annexes==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!width=220; style=&amp;quot;background:#DDDDDD&amp;quot;|Name&lt;br /&gt;
!width=120; style=&amp;quot;background:#DDDDDD&amp;quot;|Location&lt;br /&gt;
|-&lt;br /&gt;
|Blackberry Room (Lich ID: 19259)&lt;br /&gt;
|[[Icemule Trace]]&lt;br /&gt;
|-&lt;br /&gt;
|Twilight Tower, Observatory (Lich ID: 23239)&lt;br /&gt;
|[[Kharam Dzu]]&lt;br /&gt;
|-&lt;br /&gt;
|Atrium Annex (Lich ID:12296)&lt;br /&gt;
|[[Mist Harbor]]&lt;br /&gt;
|-&lt;br /&gt;
|Twilight Hall Annex (Lich ID:23195)&lt;br /&gt;
|[[River&#039;s Rest]]&lt;br /&gt;
|-&lt;br /&gt;
|Twilight Lodge (Lich ID:24507)&lt;br /&gt;
|[[Ta&#039;Illistim]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Ta&#039;Vaalor]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Solhaven]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Zul Logoth]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
[[File:Twilight Hall2.jpg|900px]]&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[http://twilight.theyeti.org/ Twilight Hall Website] &lt;br /&gt;
*[http://www.google.com/calendar/embed?src=gstwilighthall@gmail.com&amp;amp;ctz=America/New_York Event Calendar]&lt;br /&gt;
*[http://forums.play.net/forums/GemStone%20IV/Cooperative%20Houses%20of%20Elanthia%20(CHE%60Great%20Houses)/Twilight%20Hall/view Officials folder]&lt;br /&gt;
*[https://ps.lichproject.org/shops/6603 The Scarlet Owl (Twilight Hall&#039;s Landing shop)]&lt;br /&gt;
*[https://ps.lichproject.org/shops/4985 Whorten&#039;s Shop (Twilight Hall&#039;s Teras shop)]&lt;br /&gt;
*[https://twilightlibrary.weebly.com/ Historical Library of Twilight Hall (Twilight Hall&#039;s Online Library)]&lt;br /&gt;
[[Category:CHE]]&lt;/div&gt;</summary>
		<author><name>IPITTMAN</name></author>
	</entry>
</feed>